HTML Report for https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/
This tool is an ongoing experiment in better HTML checking, and its behavior remains subject to changeShowing results for https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/
You can view the notes...
view-source:https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/
| # | results |
|---|---|
| 1 |
Error
On line 1, column 9 <https://www.ph |
| 2 |
Error
On line 1, column 10 <https://www.phi |
| 3 |
Error
On line 1, column 28 <https://www.phillymag.com/wp-json |
| 4 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 5 |
Info
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 6 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 7 |
Error
On line 2, column 15 /wp-json/>; rel="https://api.w.org/" link: <https://www.ph |
| 8 |
Error
On line 2, column 16 <https://www.phi |
| 9 |
Error
On line 2, column 34 <https://www.phillymag.com/wp-json |
| 10 |
Error
On line 2, column 42 ymag.com/wp-json/wp/v2/p |
| 11 |
Error
On line 2, column 45 /wp-json/wp/v2/post |
| 12 |
Error
On line 2, column 48 -json/wp/v2/posts/4 |
| 13 |
Error
On line 2, column 54 on/wp/v2/posts/4044402 |
| 14 |
Info
On line 2, column 61 v2/posts/4044402>; rel= |
| 15 |
Info
On line 2, column 61 v2/posts/4044402>; rel= |
| 16 |
Error
On line 3, column 15 s/4044402>; rel="alternate"; type="application/json" link: <https://www.ph |
| 17 |
Error
On line 3, column 16 <https://www.phi |
| 18 |
Error
On line 3, column 34 <https://www.phillymag.com/?p=4044 |
| 19 |
Info
On line 3, column 44 ymag.com/?p=4044402>; rel= |
| 20 |
Info
On line 3, column 44 ymag.com/?p=4044402>; rel= |
| 21 |
Error
On line 18, column 15 p=4044402>; rel=shortlink access-control-allow-origin: * x-cache-key: https://_desktop_www.phillymag.comGET/news/2024/04/08/philadelphia-crime-shootings-homicide/prestitial x-zephr-cache: miss set-cookie: blaize_session=6405cb3b-b526-4927-8851-97a3c7630116; Expires=Wed, 28 Aug 2024 08:14:18 GMT; Path=/; set-cookie: blaize_tracking_id=5020791d-3930-4b4e-990f-ac4f294e618b; Expires=Tue, 12 Aug 3023 08:14:18 GMT; Path=/; cache-control: no-store, no-transform content-encoding: gzip vary: Accept-Encoding,Cookie x-cache: Miss from cloudfront via: 1.1 993b1e19626e26dffb3354fed271b3a2.cloudfront.net (CloudFront) x-amz-cf-pop: WAW51-P3 alt-svc: h3=":443"; ma=86400 x-amz-cf-id: c_FK5Q5rIPymQo3ns0T_sMvoipTu4gJQ5VZltJB0e45ogXBvG5YJeA== <!doctype html> <html |
| 22 |
Error
On line 19, column 19 type html> <html lang="en-US"> <hea |
| 23 |
Error
On line 20, column 7 g="en-US"> <head> <me |
| 24 |
Error
On line 248, column 8 "> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta content="text/html;charset=utf-8" http-equiv="Content-Type"> <meta content="utf-8" http-equiv="encoding"> <link rel="preconnect" href="https://securepubads.g.doubleclick.net"><link rel="preconnect" href="https://www.googleadservices.com"><link rel="preconnect" href="https://s.ntv.io"><link rel="preconnect" href="https://ib.adnxs.com"><link rel="preconnect" href="https://ap.lijit.com"><link rel="preconnect" href="https://static.criteo.net"><link rel="preconnect" href="https://cdn10.bostonmagazine.com/"><link rel="preconnect" href="https://s.ntv.io/"><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"> <!-- This site is optimized with the Yoast SEO Premium plugin v21.7 (Yoast SEO v21.7) - https://yoast.com/wordpress/plugins/seo/ --> <title>Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels</title> <meta name="description" content="While crime remains a problem in Philadelphia, data shows us that shootings and homicides in Philadelphia have fallen to pre-pandemic levels."> <link rel="canonical" href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"> <meta property="og:title" content="Philly Today: Shootings Have Plummeted to Pre-Pandemic Levels"> <meta property="og:description" content="Plus, Cecily Tynan tries her best to clear up eclipse misinformation."> <meta property="og:url" content="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> <meta property="og:site_name" content="Philadelphia Magazine"> <meta property="article:author" content="https://www.facebook.com/victor.fiorillo.5"> <meta property="article:published_time" content="2024-04-08T20:18:37+00:00"> <meta property="article:modified_time" content="2024-04-08T23:24:01+00:00"> <meta property="og:image" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/1200-trev-adams-11531154.jpg"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta property="og:image:type" content="image/jpeg"> <meta name="author" content="Victor Fiorillo"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Philly Today: Shootings Have Plummeted to Pre-Pandemic Levels"> <meta name="twitter:description" content="Plus, Cecily Tynan tries her best to clear up eclipse misinformation."> <meta name="twitter:image" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/1200-trev-adams-11531154.jpg"> <meta name="twitter:creator" content="@VictorFiorillo"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Victor Fiorillo"> <meta name="twitter:label2" content="Est. reading time"> <meta name="twitter:data2" content="4 minutes"> <!-- / Yoast SEO Premium plugin. --> <link rel="dns-prefetch" href="//securepubads.g.doubleclick.net"> <link rel="dns-prefetch" href="//static.criteo.net"> <link rel="dns-prefetch" href="//s.ntv.io"> <link rel="dns-prefetch" href="//cloud.typography.com"> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/cdn10.phillymag.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.3"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c\udfff","\ud83e\udef1\ud83c\udffb\u200b\ud83e\udef2\ud83c\udfff")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id="wp-emoji-styles-inline-css" type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <style id="classic-theme-styles-inline-css" type="text/css"> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id="global-styles-inline-css" type="text/css"> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel="stylesheet" id="phillymag-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/css/philly.min.css?ver=87" type="text/css" media="all"> <link rel="stylesheet" id="phillymag-countdown-css-css" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.css?ver=0.4.37" type="text/css" media="all"> <script type="text/javascript" id="gpt-js-extra"> /* <![CDATA[ */ var mcAds = {"advertiserSlug":"","currentSite":"phillymag","doPrebid":"true","gptNetworkID":"\/307442\/a.site195.tmus\/","hasBannerThree":"false","isArchive":"false","isGeodir":"false","isSingle":"1","postType":"post","prebidTimeout":"2000","prebidFailsafeTimeout":"3000","slots":{"banner-1":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [320, 50], [970, 90]]","id":"banner-1","mapping":"bannerOneMapping","hasSettings":true,"isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"},"isLazy":"false"},"banner-2":{"adUnit":"banner","adSizes":"[[728, 90], [320, 100], [970, 250], [300, 250], [320, 50], [970, 90]]","id":"banner-2","mapping":"bannerMapping","hasSettings":true,"isLazy":"true","isRefresh":"true","isPrebid":"true","targeting":{"pos":"2"}},"native_related":{"adUnit":"native_related","adSizes":"fluid","id":"native_related","targeting":{"pos":"2"}},"directory_edl-1":{"adUnit":"directory_edl","adSizes":"fluid","id":"directory_edl-1","targeting":{"pos":"1"}},"directory_edl-2":{"adUnit":"directory_edl","adSizes":"fluid","id":"directory_edl-2","targeting":{"pos":"2"}},"curated_module-1":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-1","hasSettings":true,"isLazy":"true","targeting":{"pos":"1"},"isRefresh":"false","isPrebid":"false"},"curated_module-2":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-2","hasSettings":true,"isLazy":"true","targeting":{"pos":"2"},"isRefresh":"false","isPrebid":"false"},"curated_module-3":{"adUnit":"curated_module","adSizes":"fluid","id":"curated_module-3","hasSettings":true,"isLazy":"true","targeting":{"pos":"3"},"isRefresh":"false","isPrebid":"false"},"rail-1":{"adUnit":"rail","adSizes":"[[320, 100], [320, 50], [300, 250], [300, 600], [1,1]]","id":"rail-1","mapping":"railMapping","hasSettings":true,"isLazy":"true","isPrebid":"true","isRefresh":"true","targeting":{"pos":"1"}},"toprailsponsor-1":{"adUnit":"toprailsponsor","adSizes":"[[300, 150], [300, 90], [1,1]]","id":"toprailsponsor-1","mapping":"toprailMapping","targeting":{"pos":"1"}},"interstitial":{"adUnit":"interstitial","id":"interstitial","outOfPage":true},"skin":{"adUnit":"skin","adSizes":"[1, 1]","id":"skin"},"teads-video-oop":{"adUnit":"teads-video-oop","id":"teads-video-oop","outOfPage":true},"in_content":{"adUnit":"in_content","adSizes":"fluid","id":"in_content"},"in_content_2":{"adUnit":"in_content_2","adSizes":"fluid","id":"in_content_2"},"native_sidebar":{"adUnit":"native_sidebar","adSizes":"fluid","id":"native_sidebar","targeting":{"pos":"1"}},"ad-reveal":{"adUnit":"ad-reveal","adSizes":"[[1300, 500], [780, 300], [360, 585]]","id":"ad-reveal","hasSettings":true,"mapping":"adrevealMapping","isPrebid":"false","isRefresh":"false","isLazy":"false"},"bottom-anchor":{"adUnit":"BOTTOM_ANCHOR","id":"bottom-anchor","isMobile":true,"isRefresh":"true","outOfPage":true,"outOfPageFormat":"BOTTOM_ANCHOR","targeting":{"test":"outofpage"}}},"slotsFired":[],"slotsViewed":[],"slotsPrebid":[],"targeting":{"vertical":"news","post_ID":"4044402","cat":["news","cecily-tynan","city-living","crime"],"environment":"production","post_type":"article"},"debug":""}; /* ]]> */ </script> <script type="text/javascript" id="gpt-js-before"> /* <![CDATA[ */ /* prebid.js v6.23.0 Updated : 2022-05-06*/ /*! For license information please see prebid-core.js.LICENSE.txt */ !function(){var e,n={4877:function(e,n,t){"use strict";t.d(n,{Pd:function(){return s},Th:function(){return u},_U:function(){return d}});var r=t(6996),i=t(9853),o=t(265),a=t(1879),c="outstream";function u(e){var n=this,t=e.url,o=e.config,a=e.id,u=e.callback,s=e.loaded,d=e.adUnitCode;this.url=t,this.config=o,this.handlers={},this.id=a,this.loaded=s,this.cmd=[],this.push=function(e){"function"==typeof e?n.loaded?e.call():n.cmd.push(e):(0,i.logError)("Commands given to Renderer.push must be wrapped in a function")},this.callback=u||function(){n.loaded=!0,n.process()},this.render=function(){var e=this,n=arguments,o=function(){e._render?e._render.apply(e,n):(0,i.logWarn)("No render function was provided, please use .setRender on the renderer")};f(d)?((0,i.logWarn)("External Js not loaded by Renderer since renderer url and callback is already defined on adUnit ".concat(d)),o()):(this.cmd.unshift(o),(0,r.B)(t,c,this.callback,this.documentContext))}.bind(this)}function s(e){return!(!e||!e.url)}function d(e,n,t){var r=null;e.config&&e.config.documentResolver&&(r=e.config.documentResolver(n,document,t)),r||(r=document),e.documentContext=r,e.render(n,e.documentContext)}function f(e){var n=pbjs.adUnits,t=(0,a.sE)(n,(function(n){return n.code===e}));if(!t)return!1;var r=(0,o.Z)(t,"renderer"),i=!!(r&&r.url&&r.render),c=(0,o.Z)(t,"mediaTypes.video.renderer"),u=!!(c&&c.url&&c.render);return!!(i&&!0!==r.backupOnly||u&&!0!==c.backupOnly)}u.install=function(e){return new u({url:e.url,config:e.config,id:e.id,callback:e.callback,loaded:e.loaded,adUnitCode:e.adUnitCode})},u.prototype.getConfig=function(){return this.config},u.prototype.setRender=function(e){this._render=e},u.prototype.setEventHandlers=function(e){this.handlers=e},u.prototype.handleVideoEvent=function(e){var n=e.id,t=e.eventName;"function"==typeof this.handlers[t]&&this.handlers[t](),(0,i.logMessage)("Prebid Renderer event for id ".concat(n," type ").concat(t))},u.prototype.process=function(){for(;this.cmd.length>0;)try{this.cmd.shift().call()}catch(e){(0,i.logError)("Error processing Renderer command: ",e)}}},7263:function(e,n,t){"use strict";t.d(n,{f:function(){return a}});var r=t(265),i={};function o(e,n,t){var r=function(e,n){var t=i[e]=i[e]||{bidders:{}};return n?t.bidders[n]=t.bidders[n]||{}:t}(e,t);return r[n]=(r[n]||0)+1,r[n]}var a={incrementRequestsCounter:function(e){return o(e,"requestsCounter")},incrementBidderRequestsCounter:function(e,n){return o(e,"requestsCounter",n)},incrementBidderWinsCounter:function(e,n){return o(e,"winsCounter",n)},getRequestsCounter:function(e){return(0,r.Z)(i,"".concat(e,".requestsCounter"))||0},getBidderRequestsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".requestsCounter"))||0},getBidderWinsCounter:function(e,n){return(0,r.Z)(i,"".concat(e,".bidders.").concat(n,".winsCounter"))||0}}},2801:function(e,n,t){"use strict";function r(e){var n=e;return{callBids:function(){},setBidderCode:function(e){n=e},getBidderCode:function(){return n}}}t.d(n,{Z:function(){return r}})},7602:function(e,n,t){"use strict";t.d(n,{qJ:function(){return G},VP:function(){return X},ZP:function(){return re},JO:function(){return Y},rp:function(){return J},uV:function(){return ee},Ct:function(){return ne},nX:function(){return Q}});var r=t(9853),i=t(265),o=t(1269),a=t(9017),c=t(1609),u=t(5755),s=t(8962),d=t(3494),f=t(1879),l=t(7263),g=t(2661);function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}function v(e,n){if("function"!=typeof n&&null!==n)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(n&&n.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),n&&y(e,n)}function y(e,n){return y=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e},y(e,n)}function b(e){var n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var t,r=m(e);if(n){var i=m(this).constructor;t=Reflect.construct(r,arguments,i)}else t=r.apply(this,arguments);return h(this,t)}}function h(e,n){if(n&&("object"===p(n)||"function"==typeof n))return n;if(void 0!==n)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function m(e){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},m(e)}function E(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function S(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function A(e,n,t){return n&&S(e.prototype,n),t&&S(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function T(e,n,t){!function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,n),n.set(e,t)}function I(e,n){return function(e,n){return n.get?n.get.call(e):n.value}(e,w(e,n,"get"))}function C(e,n,t){return function(e,n,t){if(n.set)n.set.call(e,t);else{if(!n.writable)throw new TypeError("attempted to set read only private field");n.value=t}}(e,w(e,n,"set"),t),t}function w(e,n,t){if(!n.has(e))throw new TypeError("attempted to "+t+" private field on non-instance");return n.get(e)}var O=new WeakMap,B=new WeakMap,_=new WeakMap,U=new WeakMap,R=new WeakMap,D=function(){function e(){var n,t;E(this,e),T(this,O,{writable:!0,value:void 0}),T(this,B,{writable:!0,value:void 0}),T(this,_,{writable:!0,value:void 0}),T(this,U,{writable:!0,value:void 0}),T(this,R,{writable:!0,value:void 0}),t=void 0,(n="generatedTime")in this?Object.defineProperty(this,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):this[n]=t,this.reset()}return A(e,[{key:"reset",value:function(){var e=this;C(this,_,new Promise((function(n){C(e,U,(function(t){C(e,R,!0),C(e,B,t),n(t)}))}))),C(this,O,!1),C(this,B,null),C(this,R,!1),this.generatedTime=null}},{key:"enable",value:function(){C(this,O,!0)}},{key:"enabled",get:function(){return I(this,O)}},{key:"ready",get:function(){return I(this,R)}},{key:"promise",get:function(){return I(this,R)?Promise.resolve(I(this,B)):(I(this,O)||I(this,U).call(this,null),I(this,_))}},{key:"setConsentData",value:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,r.timestamp)();this.generatedTime=n,I(this,U).call(this,e)}},{key:"getConsentData",value:function(){return I(this,B)}}]),e}(),k=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&this.generatedTime)return{usp:e,generatedAt:this.generatedTime}}}]),t}(D),j=function(e){v(t,e);var n=b(t);function t(){return E(this,t),n.apply(this,arguments)}return A(t,[{key:"getConsentMeta",value:function(){var e=this.getConsentData();if(e&&e.vendorData&&this.generatedTime)return{gdprApplies:e.gdprApplies,consentStringSize:(0,r.isStr)(e.vendorData.tcString)?e.vendorData.tcString.length:0,generatedAt:this.generatedTime,apiVersion:e.apiVersion}}}]),t}(D);function N(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function P(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?N(Object(t),!0).forEach((function(n){q(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):N(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function x(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function q(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function M(){return M=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},M.apply(this,arguments)}var G={CLIENT:"client",SERVER:"server"},W=t(5644),F=t(2319),z={},L=z.bidderRegistry={},K=z.aliasRegistry={},V=[];s.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(V=(0,r.isArray)(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])}));var H={},Z=(0,d.z3)("sync",(function(e){var n=e.bidderCode,t=e.auctionId,o=e.bidderRequestId,a=e.adUnits,c=e.src;return a.reduce((function(e,a){return e.push(a.bids.filter((function(e){return e.bidder===n})).reduce((function(e,n){var u=null==(n=M({},n,(0,r.getDefinedParams)(a,["nativeParams","ortb2Imp","mediaType","renderer","storedAuctionResponse"]))).mediaTypes?a.mediaTypes:n.mediaTypes;return(0,r.isValidMediaTypes)(u)?n=M({},n,{mediaTypes:u}):(0,r.logError)("mediaTypes is not correctly configured for adunit ".concat(a.code)),e.push(M({},n,{adUnitCode:a.code,transactionId:a.transactionId,sizes:(0,i.Z)(u,"banner.sizes")||(0,i.Z)(u,"video.playerSize")||[],bidId:n.bid_id||(0,r.getUniqueIdentifierStr)(),bidderRequestId:o,auctionId:t,src:c,bidRequestsCount:l.f.getRequestsCounter(a.code),bidderRequestsCount:l.f.getBidderRequestsCounter(a.code,n.bidder),bidderWinsCount:l.f.getBidderWinsCounter(a.code,n.bidder)})),e}),[])),e}),[]).reduce(r.flatten,[]).filter((function(e){return""!==e}))}),"getBids"),Y=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.getS2SBidders,i=void 0===r?ee:r;if(null==n)return e;var o=i(n);return e.filter((function(e){return o.has(e.bidder)}))}),"filterBidsForAdUnit"),J=new j,Q=new k,X={getCoppa:function(){return!!s.vc.getConfig("coppa")}},$=(0,d.z3)("sync",(function(e,n){return(0,o.UB)(e,n)}),"setupAdUnitMediaTypes");function ee(e){(0,r.isArray)(e)||(e=[e]);var n=new Set([null]);return e.filter((function(e){return e&&e.enabled})).flatMap((function(e){return e.bidders})).forEach((function(e){return n.add(e)})),n}var ne=(0,d.z3)("sync",(function(e,n){var t,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=i.getS2SBidders,a=void 0===o?ee:o,c=a(n);return(0,r.getBidderCodes)(e).reduce((function(e,n){return e[c.has(n)?G.SERVER:G.CLIENT].push(n),e}),(q(t={},G.CLIENT,[]),q(t,G.SERVER,[]),t))}),"partitionBidders");function te(e,n,t){try{var i=L[e].getSpec();i&&i[n]&&"function"==typeof i[n]&&((0,r.logInfo)("Invoking ".concat(e,".").concat(n)),s.vc.runWithBidder(e,r.bind.call(i[n],i,t)))}catch(t){(0,r.logWarn)("Error calling ".concat(n," of ").concat(e))}}z.makeBidRequests=(0,d.z3)("sync",(function(e,n,t,i,o){F.emit(W.EVENTS.BEFORE_REQUEST_BIDS,e),(0,a.Fb)(e),e=$(e,o);var c=ne(e,V),u=c[G.CLIENT],d=c[G.SERVER];s.vc.getConfig("bidderSequence")===s.FD&&(u=(0,r.shuffle)(u));var l=(0,g.n)(),p=[];V.forEach((function(i){if(i&&i.enabled){var o=function(e,n){var t=(0,r.deepClone)(e);return t.forEach((function(e){e.bids=Y(e.bids,n).map((function(e){return e.bid_id=(0,r.getUniqueIdentifierStr)(),e}))})),t.filter((function(e){return 0!==e.bids.length}))}(e,i),a=(0,r.generateUUID)();d.forEach((function(e){var c=(0,r.getUniqueIdentifierStr)(),u={bidderCode:e,auctionId:t,bidderRequestId:c,uniquePbsTid:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:c,adUnits:(0,r.deepClone)(o),src:W.S2S.SRC}),auctionStart:n,timeout:i.timeout,src:W.S2S.SRC,refererInfo:l};0!==u.bids.length&&p.push(u)})),o.forEach((function(e){var n=e.bids.filter((function(e){return(0,f.sE)(p,(function(n){return(0,f.sE)(n.bids,(function(n){return n.bidId===e.bid_id}))}))}));e.bids=n})),p.forEach((function(e){void 0===e.adUnitsS2SCopy&&(e.adUnitsS2SCopy=o.filter((function(e){return e.bids.length>0})))}))}}));var v=function(e){var n=(0,r.deepClone)(e);return n.forEach((function(e){e.bids=Y(e.bids,null)})),n.filter((function(e){return 0!==e.bids.length}))}(e);return u.forEach((function(e){var a=(0,r.getUniqueIdentifierStr)(),c={bidderCode:e,auctionId:t,bidderRequestId:a,bids:Z({bidderCode:e,auctionId:t,bidderRequestId:a,adUnits:(0,r.deepClone)(v),labels:o,src:"client"}),auctionStart:n,timeout:i,refererInfo:l},u=L[e];u||(0,r.logError)("Trying to make a request for bidder that does not exist: ".concat(e)),u&&c.bids&&0!==c.bids.length&&p.push(c)})),J.getConsentData()&&p.forEach((function(e){e.gdprConsent=J.getConsentData()})),Q.getConsentData()&&p.forEach((function(e){e.uspConsent=Q.getConsentData()})),p}),"makeBidRequests"),z.callBids=function(e,n,t,i,o,a,c){if(n.length){var d=(y=n.reduce((function(e,n){return e[Number(void 0!==n.src&&n.src===W.S2S.SRC)].push(n),e}),[[],[]]),b=2,function(e){if(Array.isArray(e))return e}(y)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(y,b)||function(e,n){if(e){if("string"==typeof e)return x(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?x(e,n):void 0}}(y,b)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),f=d[0],l=d[1],g=[];l.forEach((function(e){for(var n=-1,t=0;t<g.length;++t)if(e.uniquePbsTid===g[t].uniquePbsTid){n=t;break}n<=-1&&g.push(e)}));var p=0,v=(0,r.generateUUID)();V.forEach((function(e){if(e&&g[p]&&ee(e).has(g[p].bidderCode)){var n=(0,u.O)(a,o?{request:o.request.bind(null,"s2s"),done:o.done}:void 0),c=e.bidders,s=L[e.adapter],d=g[p].uniquePbsTid,f=g[p].adUnitsS2SCopy,y=l.filter((function(e){return e.uniquePbsTid===d}));if(s){var b={tid:v,ad_units:f,s2sConfig:e};if(b.ad_units.length){var h=y.map((function(e){return e.start=(0,r.timestamp)(),i.bind(e)})),m=(0,r.getBidderCodes)(b.ad_units).filter((function(e){return c.includes(e)}));(0,r.logMessage)("CALLING S2S HEADER BIDDERS ==== ".concat(m.length>0?m.join(", "):'No bidder specified, using "ortb2Imp" definition(s) only')),y.forEach((function(e){F.emit(W.EVENTS.BID_REQUESTED,P(P({},e),{},{tid:v}))})),s.callBids(b,l,t,(function(){return h.forEach((function(e){return e()}))}),n)}}else(0,r.logError)("missing "+e.adapter);p++}})),f.forEach((function(e){e.start=(0,r.timestamp)();var n=L[e.bidderCode];s.vc.runWithBidder(e.bidderCode,(function(){(0,r.logMessage)("CALLING BIDDER"),F.emit(W.EVENTS.BID_REQUESTED,e)}));var d=(0,u.O)(a,o?{request:o.request.bind(null,e.bidderCode),done:o.done}:void 0),f=i.bind(e);try{s.vc.runWithBidder(e.bidderCode,r.bind.call(n.callBids,n,e,t,f,d,c,s.vc.callbackWithBidder(e.bidderCode)))}catch(n){(0,r.logError)("".concat(e.bidderCode," Bid Adapter emitted an uncaught error when parsing their bidRequest"),{e:n,bidRequest:e}),f()}}))}else(0,r.logWarn)("callBids executed with no bidRequests. Were they filtered by labels or sizing?");var y,b},z.videoAdapters=[],z.registerBidAdapter=function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=t.supportedMediaTypes,o=void 0===i?[]:i;e&&n?"function"==typeof e.callBids?(L[n]=e,(0,f.q9)(o,"video")&&z.videoAdapters.push(n),(0,f.q9)(o,"native")&&a.Sg.push(n)):(0,r.logError)("Bidder adaptor error for bidder code: "+n+"bidder must implement a callBids() function"):(0,r.logError)("bidAdapter or bidderCode not specified")},z.aliasBidAdapter=function(e,n,t){if(void 0===L[n]){var i=L[e];if(void 0===i){var o=[];V.forEach((function(t){if(t.bidders&&t.bidders.length){var r=t&&t.bidders;t&&(0,f.q9)(r,n)?K[n]=e:o.push(e)}})),o.forEach((function(e){(0,r.logError)('bidderCode "'+e+'" is not an existing bidder.',"adapterManager.aliasBidAdapter")}))}else try{var u,s=function(e){var n=[];return(0,f.q9)(z.videoAdapters,e)&&n.push("video"),(0,f.q9)(a.Sg,e)&&n.push("native"),n}(e);if(i.constructor.prototype!=Object.prototype)(u=new i.constructor).setBidderCode(n);else{var d=i.getSpec(),l=t&&t.gvlid,g=t&&t.skipPbsAliasing;u=(0,c.newBidder)(M({},d,{code:n,gvlid:l,skipPbsAliasing:g})),K[n]=e}z.registerBidAdapter(u,n,{supportedMediaTypes:s})}catch(n){(0,r.logError)(e+" bidder does not currently support aliasing.","adapterManager.aliasBidAdapter")}}else(0,r.logMessage)('alias name "'+n+'" has been already specified.')},z.registerAnalyticsAdapter=function(e){var n=e.adapter,t=e.code,i=e.gvlid;n&&t?"function"==typeof n.enableAnalytics?(n.code=t,H[t]={adapter:n,gvlid:i}):(0,r.logError)('Prebid Error: Analytics adaptor error for analytics "'.concat(t,'"\n analytics adapter must implement an enableAnalytics() function')):(0,r.logError)("Prebid Error: analyticsAdapter or analyticsCode not specified")},z.enableAnalytics=function(e){(0,r.isArray)(e)||(e=[e]),(0,r._each)(e,(function(e){var n=H[e.provider];n&&n.adapter?n.adapter.enableAnalytics(e):(0,r.logError)("Prebid Error: no analytics adapter found in registry for '".concat(e.provider,"'."))}))},z.getBidAdapter=function(e){return L[e]},z.getAnalyticsAdapter=function(e){return H[e]},z.callTimedOutBidders=function(e,n,t){n=n.map((function(n){return n.params=(0,r.getUserConfiguredParams)(e,n.adUnitCode,n.bidder),n.timeout=t,n})),n=(0,r.groupBy)(n,"bidder"),Object.keys(n).forEach((function(e){te(e,"onTimeout",n[e])}))},z.callBidWonBidder=function(e,n,t){n.params=(0,r.getUserConfiguredParams)(t,n.adUnitCode,n.bidder),l.f.incrementBidderWinsCounter(n.adUnitCode,n.bidder),te(e,"onBidWon",n)},z.callSetTargetingBidder=function(e,n){te(e,"onSetTargeting",n)},z.callBidViewableBidder=function(e,n){te(e,"onBidViewable",n)},z.callBidderError=function(e,n,t){te(e,"onBidderError",{error:n,bidderRequest:t})};var re=z},1609:function(e,n,t){"use strict";t.r(n),t.d(n,{getIabSubCategory:function(){return D},isValid:function(){return j},newBidder:function(){return B},preloadBidderMappingFile:function(){return R},processBidderRequests:function(){return _},registerBidder:function(){return O},registerSyncInner:function(){return U},storage:function(){return C}});var r=t(2801),i=t(7602),o=t(8962),a=t(1477),c=t(7112),u=t(9017),s=t(1929),d=t(5644),f=t(2319),l=t(1879),g=t(5755),p=t(9853),v=t(265),y=t(8265),b=t(3494),h=t(5849),m=t(4766),E=t(9624);function S(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return A(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?A(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function A(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function T(e){return T="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},T(e)}function I(){return I=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},I.apply(this,arguments)}var C=(0,h.eA)("bidderFactory"),w=["cpm","ttl","creativeId","netRevenue","currency"];function O(e){var n=Array.isArray(e.supportedMediaTypes)?{supportedMediaTypes:e.supportedMediaTypes}:void 0;function t(e){var t=B(e);i.ZP.registerBidAdapter(t,e.code,n)}t(e),Array.isArray(e.aliases)&&e.aliases.forEach((function(n){var r,o,a=n;(0,p.isPlainObject)(n)&&(a=n.code,r=n.gvlid,o=n.skipPbsAliasing),i.ZP.aliasRegistry[a]=e.code,t(I({},e,{code:a,gvlid:r,skipPbsAliasing:o}))}))}function B(e){return I(new r.Z(e.code),{getSpec:function(){return Object.freeze(e)},registerSyncs:n,callBids:function(r,c,u,s,l,g){if(Array.isArray(r.bids)){var v={},y=[],b=r.bids.filter(t);if(0!==b.length){var h={};b.forEach((function(e){h[e.bidId]=e,e.adUnitCode||(e.adUnitCode=e.placementCode)})),_(e,b,r,s,g,{onRequest:function(e){return f.emit(d.EVENTS.BEFORE_BIDDER_HTTP,r,e)},onResponse:function(n){l(e.code),y.push(n)},onError:function(n,t){l(e.code),i.ZP.callBidderError(e.code,t,r),f.emit(d.EVENTS.BIDDER_ERROR,{error:t,bidderRequest:r}),(0,p.logError)("Server call for ".concat(e.code," failed: ").concat(n," ").concat(t.status,". Continuing without bids."))},onBid:function(n){var t,r,i,o,u=h[n.requestId];if(u){if(n.adapterCode=u.bidder,t=n.bidderCode,r=u.bidder,i=E.S.get(r,"allowAlternateBidderCodes"),o=E.S.get(r,"allowedAlternateBidderCodes"),t&&r&&r!==t&&(void 0!==i&&!i||(0,p.isArray)(o)&&"*"!==o[0]&&!o.includes(t)))return void(0,p.logWarn)("".concat(n.bidderCode," is not a registered partner or known bidder of ").concat(u.bidder,", hence continuing without bid. If you wish to support this bidder, please mark allowAlternateBidderCodes as true in bidderSettings."));n.originalCpm=n.cpm,n.originalCurrency=n.currency,n.meta=n.meta||I({},n[u.bidder]);var s=I((0,a.m)(d.STATUS.GOOD,u),n);!function(e,n){v[e]=!0,j(e,n)&&c(e,n)}(u.adUnitCode,s)}else(0,p.logWarn)("Bidder ".concat(e.code," made bid for unknown request ID: ").concat(n.requestId,". Ignoring."))},onCompletion:m})}else m()}function m(){u(),o.vc.runWithBidder(e.code,(function(){f.emit(d.EVENTS.BIDDER_DONE,r),n(y,r.gdprConsent,r.uspConsent)}))}}});function n(n,t,r){U(e,n,t,r)}function t(n){return!!e.isBidRequestValid(n)||((0,p.logWarn)("Invalid bid sent to bidder ".concat(e.code,": ").concat(JSON.stringify(n))),!1)}}var _=(0,b.z3)("sync",(function(e,n,t,r,i,o){var a=o.onRequest,c=o.onResponse,u=o.onError,s=o.onBid,d=o.onCompletion,f=e.buildRequests(n,t);if(f&&0!==f.length){Array.isArray(f)||(f=[f]);var l=(0,p.delayExecution)(d,f.length);f.forEach((function(n){var t,o=i((function(t,r){try{t=JSON.parse(t)}catch(e){}var i;t={body:t,headers:{get:r.getResponseHeader.bind(r)}},c(t);try{i=e.interpretResponse(t,n)}catch(n){return(0,p.logError)("Bidder ".concat(e.code," failed to interpret the server's response. Continuing without bids"),null,n),void l()}i&&((0,p.isArray)(i)?i.forEach(s):s(i)),l()})),d=i((function(e,n){u(e,n),l()}));switch(a(n),n.method){case"GET":r("".concat(n.url).concat((t=n.data)?"?".concat("object"===T(t)?(0,p.parseQueryStringParameters)(t):t):""),{success:o,error:d},void 0,I({method:"GET",withCredentials:!0},n.options));break;case"POST":r(n.url,{success:o,error:d},"string"==typeof n.data?n.data:JSON.stringify(n.data),I({method:"POST",contentType:"text/plain",withCredentials:!0},n.options));break;default:(0,p.logWarn)("Skipping invalid request from ".concat(e.code,". Request type ").concat(n.type," must be GET or POST")),l()}}))}else d()}),"processBidderRequests"),U=(0,b.z3)("async",(function(e,n,t,r){var a=o.vc.getConfig("userSync.aliasSyncEnabled");if(e.getUserSyncs&&(a||!i.ZP.aliasRegistry[e.code])){var u=o.vc.getConfig("userSync.filterSettings"),s=e.getUserSyncs({iframeEnabled:!(!u||!u.iframe&&!u.all),pixelEnabled:!(!u||!u.image&&!u.all)},n,t,r);s&&(Array.isArray(s)||(s=[s]),s.forEach((function(n){c.k_.registerSync(n.type,e.code,n.url)})))}}),"registerSyncs");function R(e,n){if(!o.vc.getConfig("adpod.brandCategoryExclusion"))return e.call(this,n);n.filter((function(e){return(0,v.Z)(e,"mediaTypes.video.context")===y.Oh})).map((function(e){return e.bids.map((function(e){return e.bidder}))})).reduce(p.flatten,[]).filter(p.uniques).forEach((function(e){var n=i.ZP.getBidAdapter(e);if(n.getSpec().getMappingFileInfo){var t=n.getSpec().getMappingFileInfo(),r=t.refreshInDays?t.refreshInDays:1,o=t.localStorageKey?t.localStorageKey:n.getSpec().code,a=C.getDataFromLocalStorage(o);try{(!(a=a?JSON.parse(a):void 0)||(0,p.timestamp)()>a.lastUpdated+24*r*60*60*1e3)&&(0,g.h)(t.url,{success:function(n){try{n=JSON.parse(n);var t={lastUpdated:(0,p.timestamp)(),mapping:n.mapping};C.setDataInLocalStorage(o,JSON.stringify(t))}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}},error:function(){(0,p.logError)("Failed to load ".concat(e," bidder translation file"))}})}catch(n){(0,p.logError)("Failed to parse ".concat(e," bidder translation mapping file"))}}})),e.call(this,n)}function D(e,n){var t=i.ZP.getBidAdapter(e);if(t.getSpec().getMappingFileInfo){var r=t.getSpec().getMappingFileInfo(),o=r.localStorageKey?r.localStorageKey:t.getBidderCode(),a=C.getDataFromLocalStorage(o);if(a){try{a=JSON.parse(a)}catch(n){(0,p.logError)("Failed to parse ".concat(e," mapping data stored in local storage"))}return a.mapping[n]?a.mapping[n]:null}}}function k(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;if((n.width||0===parseInt(n.width,10))&&(n.height||0===parseInt(n.height,10)))return n.width=parseInt(n.width,10),n.height=parseInt(n.height,10),!0;var o=i.getBidRequest(n),a=i.getMediaTypes(n),c=o&&o.sizes||a&&a.banner&&a.banner.sizes,u=(0,p.parseSizesInput)(c);if(1===u.length){var s=u[0].split("x"),d=S(s,2),f=d[0],l=d[1];return n.width=parseInt(f,10),n.height=parseInt(l,10),!0}return!1}function j(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.index,i=void 0===r?m.K.index:r;function o(){var e=Object.keys(n);return w.every((function(t){return(0,l.q9)(e,t)&&!(0,l.q9)([void 0,null],n[t])}))}function a(e){return"Invalid bid from ".concat(n.bidderCode,". Ignoring bid: ").concat(e)}return e?n?o()?"native"!==n.mediaType||(0,u.r4)(n,{index:i})?"video"!==n.mediaType||(0,s.Dn)(n,{index:i})?!("banner"===n.mediaType&&!k(e,n,{index:i})&&((0,p.logError)(a("Banner bids require a width and height")),1)):((0,p.logError)(a("Video bid does not have required vastUrl or renderer property")),!1):((0,p.logError)(a("Native bid missing some required properties.")),!1):((0,p.logError)(a("Bidder ".concat(n.bidderCode," is missing required params. Check http://prebid.org/dev-docs/bidder-adapter-1.html for list of params."))),!1):((0,p.logWarn)("Some adapter tried to add an undefined bid for ".concat(e,".")),!1):((0,p.logWarn)("No adUnitCode was supplied to addBidResponse."),!1)}(0,b.v5)("checkAdUnitSetup").before(R)},6996:function(e,n,t){"use strict";t.d(n,{B:function(){return c}});var r=t(1879),i=t(9853),o=new WeakMap,a=["adloox","criteo","outstream","adagio","browsi","brandmetrics","justtag"];function c(e,n,t,c){if(n&&e){if((0,r.q9)(a,n)){c||(c=document);var u=f(c,e);if(u)return t&&"function"==typeof t&&(u.loaded?t():u.callbacks.push(t)),u.tag;var s=o.get(c)||{},d={loaded:!1,tag:null,callbacks:[]};return s[e]=d,o.set(c,s),t&&"function"==typeof t&&d.callbacks.push(t),(0,i.logWarn)("module ".concat(n," is loading external JavaScript")),function(n,t,r){r||(r=document);var o=r.createElement("script");o.type="text/javascript",o.async=!0;var a=f(r,e);return a&&(a.tag=o),o.readyState?o.onreadystatechange=function(){"loaded"!==o.readyState&&"complete"!==o.readyState||(o.onreadystatechange=null,t())}:o.onload=function(){t()},o.src=n,(0,i.insertElement)(o,r),o}(e,(function(){d.loaded=!0;try{for(var e=0;e<d.callbacks.length;e++)d.callbacks[e]()}catch(e){(0,i.logError)("Error executing callback","adloader.js:loadExternalScript",e)}}),c)}(0,i.logError)("".concat(n," not whitelisted for loading external JavaScript"))}else(0,i.logError)("cannot load external script without url and moduleCode");function f(e,n){var t=o.get(e);return t&&t[n]?t[n]:null}}},5755:function(e,n,t){"use strict";t.d(n,{O:function(){return u},h:function(){return c}});var r=t(8962),i=t(9853);function o(){return o=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},o.apply(this,arguments)}function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var c=u();function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3e3,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.request,c=n.done;return function(n,u,s){var d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};try{var f,l=d.method||(s?"POST":"GET"),g=document.createElement("a");g.href=n;var p="object"===a(u)&&null!==u?u:{success:function(){(0,i.logMessage)("xhr success")},error:function(e){(0,i.logError)("xhr error",null,e)}};if("function"==typeof u&&(p.success=u),(f=new window.XMLHttpRequest).onreadystatechange=function(){if(4===f.readyState){"function"==typeof c&&c(g.origin);var e=f.status;e>=200&&e<300||304===e?p.success(f.responseText,f):p.error(f.statusText,f)}},r.vc.getConfig("disableAjaxTimeout")||(f.ontimeout=function(){(0,i.logError)(" xhr timeout after ",f.timeout,"ms")}),"GET"===l&&s){var v=(0,i.parseUrl)(n,d);o(v.search,s),n=(0,i.buildUrl)(v)}f.open(l,n,!0),r.vc.getConfig("disableAjaxTimeout")||(f.timeout=e),d.withCredentials&&(f.withCredentials=!0),(0,i._each)(d.customHeaders,(function(e,n){f.setRequestHeader(n,e)})),d.preflight&&f.setRequestHeader("X-Requested-With","XMLHttpRequest"),f.setRequestHeader("Content-Type",d.contentType||"text/plain"),"function"==typeof t&&t(g.origin),"POST"===l&&s?f.send(s):f.send()}catch(e){(0,i.logError)("xhr construction",e),"object"===a(u)&&null!==u&&u.error(e)}}}},4892:function(e,n,t){"use strict";t.d(n,{D$:function(){return N},LX:function(){return W},RH:function(){return q},Yt:function(){return _},Yw:function(){return T},dg:function(){return M},e0:function(){return U},lU:function(){return k},mv:function(){return I},sq:function(){return D},vO:function(){return B}});var r=t(9853),i=t(265),o=t(5553),a=t(9017),c=t(905),u=t(4877),s=t(8962),d=t(7112),f=t(3494),l=t(1879),g=t(1929),p=t(8265),v=t(4766),y=t(9624);function b(e){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},b(e)}function h(){return h=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},h.apply(this,arguments)}var m=d.k_.syncUsers,E=t(7602).ZP,S=t(2319),A=t(5644),T="inProgress",I="completed";S.on(A.EVENTS.BID_ADJUSTMENT,(function(e){!function(e){var n=e.bidderCode,t=e.cpm,i=y.S.get(n||null,"bidCpmAdjustment");if(i&&"function"==typeof i)try{t=i(e.cpm,h({},e))}catch(e){(0,r.logError)("Error during bid adjustment","bidmanager.js",e)}t>=0&&(e.cpm=t)}(e)}));var C={},w={},O=[];function B(e){var n,t,i,o,a=e.adUnits,c=e.adUnitCodes,u=e.callback,d=e.cbTimeout,f=e.labels,g=e.auctionId,p=a,y=f,b=c,h=[],B=[],D=[],N=g||(0,r.generateUUID)(),x=u,q=d,M=[],G=new Set;function W(){return{auctionId:N,timestamp:n,auctionEnd:t,auctionStatus:i,adUnits:p,adUnitCodes:b,labels:y,bidderRequests:h,noBids:D,bidsReceived:B,winningBids:M,timeout:q}}function F(e,n){if(n&&clearTimeout(o),void 0===t){var c=[];e&&((0,r.logMessage)("Auction ".concat(N," timedOut")),u=G,(c=h.map((function(e){return(e.bids||[]).filter((function(e){return!u.has(e.bidder)}))})).reduce(r.flatten,[])).length&&S.emit(A.EVENTS.BID_TIMEOUT,c)),i=I,t=Date.now(),S.emit(A.EVENTS.AUCTION_END,W()),R(p,(function(){try{if(null!=x){var n=b,t=B.filter(r.bind.call(r.adUnitsFilter,this,n)).reduce(z,{});x.apply(pbjs,[t,e,N]),x=null}}catch(e){(0,r.logError)("Error executing bidsBackHandler",null,e)}finally{c.length&&E.callTimedOutBidders(a,c,q);var i=s.vc.getConfig("userSync")||{};i.enableOverride||m(i.syncDelay)}}))}var u}function L(){s.vc.resetBidder(),(0,r.logInfo)("Bids Received for Auction with id: ".concat(N),B),i=I,F(!1,!0)}function K(e){G.add(e)}function V(e){var n=this;e.forEach((function(e){var n;n=e,h=h.concat(n)}));var t={},a={bidRequests:e,run:function(){var a,d;a=F.bind(null,!0),d=setTimeout(a,q),o=d,i=T,S.emit(A.EVENTS.AUCTION_INIT,W());var f=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,i=void 0===t?v.K.index:t,o=0,a=!1,c=new Set,u={},d={};function f(e,n){null==d[e]&&(d[e]=Promise.resolve()),d[e]=d[e].then((function(){return Promise.resolve(n).catch((function(){}))}))}function g(e,t){var r=e.timeout;(null==r||r>n.getTimeout())&&(r=n.getTimeout());var i=n.getAuctionStart()+r-Date.now(),o=d[e.bidderRequestId],a=d[""];(null!=o||null!=a)&&i>0?Promise.race([new Promise((function(e){return setTimeout(e,i)})),Promise.resolve(a).then((function(){return o}))]).then(t):t()}function p(){o--,a&&0===o&&e()}function y(e,t){u[t.requestId]=!0,o++;var r=P({adUnitCode:e,bid:t,auctionId:n.getAuctionId()});"video"===r.mediaType?j(n,r,p):(k(n,r),p())}function b(){var t=n.getBidRequests(),i=s.vc.getConfig("auctionOptions");if(c.add(this),i&&!(0,r.isEmpty)(i)){var d=i.secondaryBidders;d&&!t.every((function(e){return(0,l.q9)(d,e.bidderCode)}))&&(t=t.filter((function(e){return!(0,l.q9)(d,e.bidderCode)})))}a=t.every((function(e){return c.has(e)})),this.bids.forEach((function(e){u[e.bidId]||(n.addNoBid(e),S.emit(A.EVENTS.NO_BID,e))})),a&&0===o&&e()}return{addBidResponse:function(e,n){var t=i.getBidderRequest(n);f(t&&t.bidderRequestId||"",_.call({dispatch:y},e,n))},adapterDone:function(){g(this,b.bind(this))}}}(L,n);E.callBids(p,e,f.addBidResponse,f.adapterDone,{request:function(e,n){u(C,n),u(t,e),w[e]||(w[e]={SRA:!0,origin:n}),t[e]>1&&(w[e].SRA=!1)},done:function(e){C[e]--,O[0]&&c(O[0])&&O.shift()}},q,K)}};function c(e){var n=!0,t=s.vc.getConfig("maxRequestsPerOrigin")||4;return e.bidRequests.some((function(e){var r=1,i=void 0!==e.src&&e.src===A.S2S.SRC?"s2s":e.bidderCode;return w[i]&&(!1===w[i].SRA&&(r=Math.min(e.bids.length,t)),C[w[i].origin]+r>t&&(n=!1)),!n})),n&&e.run(),n}function u(e,n){void 0===e[n]?e[n]=1:e[n]++}c(a)||((0,r.logWarn)("queueing auction due to limited endpoint capacity"),O.push(a))}return{addBidReceived:function(e){B=B.concat(e)},addNoBid:function(e){D=D.concat(e)},executeCallback:F,callBids:function(){i="started",n=Date.now();var e=E.makeBidRequests(p,n,N,q,y);(0,r.logInfo)("Bids Requested for Auction with id: ".concat(N),e),e.length<1?((0,r.logWarn)("No valid bid requests returned for auction"),L()):U.call({dispatch:V,context:this},e)},addWinningBid:function(e){M=M.concat(e),E.callBidWonBidder(e.bidder,e,a)},setBidTargeting:function(e){E.callSetTargetingBidder(e.bidder,e)},getWinningBids:function(){return M},getAuctionStart:function(){return n},getTimeout:function(){return q},getAuctionId:function(){return N},getAuctionStatus:function(){return i},getAdUnits:function(){return p},getAdUnitCodes:function(){return b},getBidRequests:function(){return h},getBidsReceived:function(){return B},getNoBids:function(){return D}}}var _=(0,f.z3)("sync",(function(e,n){this.dispatch.call(null,e,n)}),"addBidResponse"),U=(0,f.z3)("sync",(function(e){this.dispatch.call(this.context,e)}),"addBidderRequests"),R=(0,f.z3)("async",(function(e,n){n&&n()}),"bidsBackCallback");function D(e,n){n.timeToRespond>e.getTimeout()+s.vc.getConfig("timeoutBuffer")&&e.executeCallback(!0)}function k(e,n){var t,r,i;t=n,i=!0===y.S.get(t.bidderCode,"allowZeroCpmBids")?t.cpm>=0:t.cpm>0,t.bidderCode&&(i||t.dealId)&&(r=function(e,n){var t=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).index,r=void 0===t?v.K.index:t;if(!n)return{};var i=r.getBidRequest(n),o={},c=W(n.mediaType,e);return F(o,c,n,i),e&&y.S.getOwn(e,A.JSON_MAPPING.ADSERVER_TARGETING)&&(F(o,y.S.ownSettingsFor(e),n,i),n.sendStandardTargeting=y.S.get(e,"sendStandardTargeting")),n.native&&(o=h({},o,(0,a.Ur)(n))),o}(t.bidderCode,t)),t.adserverTargeting=h(t.adserverTargeting||{},r),S.emit(A.EVENTS.BID_RESPONSE,n),e.addBidReceived(n),D(e,n)}function j(e,n,t){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},a=o.index,c=void 0===a?v.K.index:a,u=!0,d=(0,i.Z)(c.getMediaTypes({requestId:n.originalRequestId||n.requestId,transactionId:n.transactionId}),"video"),f=d&&(0,i.Z)(d,"context");s.vc.getConfig("cache.url")&&f!==g.gZ&&(!n.videoCacheKey||s.vc.getConfig("cache.ignoreBidderCacheKey")?(u=!1,N(e,n,t,d)):n.vastUrl||((0,r.logError)("videoCacheKey specified but not required vastUrl for video bid"),u=!1)),u&&(k(e,n),t())}var N=(0,f.z3)("async",(function(e,n,t,i){(0,c.h)([n],(function(i,o){i?((0,r.logWarn)("Failed to save to the video cache: ".concat(i,". Video bid must be discarded.")),D(e,n)):""===o[0].uuid?((0,r.logWarn)("Supplied video cache key was already in use by Prebid Cache; caching attempt was rejected. Video bid must be discarded."),D(e,n)):(n.videoCacheKey=o[0].uuid,n.vastUrl||(n.vastUrl=(0,c.z)(n.videoCacheKey)),k(e,n),t())}))}),"callPrebidCache");function P(e){var n=e.adUnitCode,t=e.bid,i=e.auctionId,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=a.index,d=void 0===c?v.K.index:c,f=d.getBidderRequest(t),l=f&&f.start||t.requestTimestamp,g=h({},t,{auctionId:i,responseTimestamp:(0,r.timestamp)(),requestTimestamp:l,cpm:parseFloat(t.cpm)||0,bidder:t.bidderCode,adUnitCode:n});g.timeToRespond=g.responseTimestamp-g.requestTimestamp,S.emit(A.EVENTS.BID_ADJUSTMENT,g);var p=d.getAdUnit(g).renderer,y=g.mediaType,m=d.getMediaTypes(g),E=m&&m[y],T=E&&E.renderer,I=null;T&&T.url&&T.render&&(!0!==T.backupOnly||!t.renderer)?I=T:p&&p.url&&p.render&&(!0!==p.backupOnly||!t.renderer)&&(I=p),I&&(g.renderer=u.Th.install({url:I.url,config:I.options}),g.renderer.setRender(I.render));var C=x(t.mediaType,m,s.vc.getConfig("mediaTypePriceGranularity")),w=(0,o.D)(g.cpm,"object"===b(C)?C:s.vc.getConfig("customPriceBucket"),s.vc.getConfig("currency.granularityMultiplier"));return g.pbLg=w.low,g.pbMg=w.med,g.pbHg=w.high,g.pbAg=w.auto,g.pbDg=w.dense,g.pbCg=w.custom,g}function x(e,n,t){if(e&&t){if(e===p.pX){var r=(0,i.Z)(n,"".concat(p.pX,".context"),"instream");if(t["".concat(p.pX,"-").concat(r)])return t["".concat(p.pX,"-").concat(r)]}return t[e]}}var q=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?v.K.index:t,i=x(e.mediaType,r.getMediaTypes(e),s.vc.getConfig("mediaTypePriceGranularity")),o="string"==typeof e.mediaType&&i?"string"==typeof i?i:"custom":s.vc.getConfig("priceGranularity");return o},M=function(e){return function(n){var t=e||q(n);return t===A.GRANULARITY_OPTIONS.AUTO?n.pbAg:t===A.GRANULARITY_OPTIONS.DENSE?n.pbDg:t===A.GRANULARITY_OPTIONS.LOW?n.pbLg:t===A.GRANULARITY_OPTIONS.MEDIUM?n.pbMg:t===A.GRANULARITY_OPTIONS.HIGH?n.pbHg:t===A.GRANULARITY_OPTIONS.CUSTOM?n.pbCg:void 0}};function G(e,n){return{key:e,val:"function"==typeof n?function(e,t){return n(e,t)}:function(e){return(0,r.getValue)(e,n)}}}function W(e,n){var t=A.TARGETING_KEYS,o=h({},y.S.settingsFor(null));if(o[A.JSON_MAPPING.ADSERVER_TARGETING]||(o[A.JSON_MAPPING.ADSERVER_TARGETING]=function(){var e=A.TARGETING_KEYS;return[G(e.BIDDER,"bidderCode"),G(e.AD_ID,"adId"),G(e.PRICE_BUCKET,M()),G(e.SIZE,"size"),G(e.DEAL,"dealId"),G(e.SOURCE,"source"),G(e.FORMAT,"mediaType"),G(e.ADOMAIN,(function(e){return e.meta&&e.meta.advertiserDomains&&e.meta.advertiserDomains.length>0?e.meta.advertiserDomains[0]:""}))]}()),"video"===e){var a=o[A.JSON_MAPPING.ADSERVER_TARGETING].slice();if(o[A.JSON_MAPPING.ADSERVER_TARGETING]=a,[t.UUID,t.CACHE_ID].forEach((function(e){void 0===(0,l.sE)(a,(function(n){return n.key===e}))&&a.push(G(e,"videoCacheKey"))})),s.vc.getConfig("cache.url")&&(!n||!1!==y.S.get(n,"sendStandardTargeting"))){var c=(0,r.parseUrl)(s.vc.getConfig("cache.url"));void 0===(0,l.sE)(a,(function(e){return e.key===t.CACHE_HOST}))&&a.push(G(t.CACHE_HOST,(function(e){return(0,i.Z)(e,"adserverTargeting.".concat(t.CACHE_HOST))?e.adserverTargeting[t.CACHE_HOST]:c.hostname})))}}return o}function F(e,n,t,i){var o=n[A.JSON_MAPPING.ADSERVER_TARGETING];return t.size=t.getSize(),(0,r._each)(o,(function(o){var a=o.key,c=o.val;if(e[a]&&(0,r.logWarn)("The key: "+a+" is being overwritten"),(0,r.isFn)(c))try{c=c(t,i)}catch(e){(0,r.logError)("bidmanager","ERROR",e)}(void 0===n.suppressEmptyKeys||!0!==n.suppressEmptyKeys)&&a!==A.TARGETING_KEYS.DEAL||!(0,r.isEmptyStr)(c)&&null!=c?e[a]=c:(0,r.logInfo)("suppressing empty key '"+a+"' from adserver targeting")})),e}function z(e,n){return e[n.adUnitCode]||(e[n.adUnitCode]={bids:[]}),e[n.adUnitCode].bids.push(n),e}},4766:function(e,n,t){"use strict";t.d(n,{K:function(){return s}});var r=t(9853),i=t(4892),o=t(1879);function a(){return a=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},a.apply(this,arguments)}function c(e){a(this,{getAuction:function(n){var t=n.auctionId;if(null!=t)return e().find((function(e){return e.getAuctionId()===t}))},getAdUnit:function(n){var t=n.transactionId;if(null!=t)return e().flatMap((function(e){return e.getAdUnits()})).find((function(e){return e.transactionId===t}))},getMediaTypes:function(e){var n=e.transactionId,t=e.requestId;if(null!=t){var r=this.getBidRequest({requestId:t});if(null!=r&&(null==n||r.transactionId===n))return r.mediaTypes}else if(null!=n){var i=this.getAdUnit({transactionId:n});if(null!=i)return i.mediaTypes}},getBidderRequest:function(n){var t=n.requestId,r=n.bidderRequestId;if(null!=t||null!=r){var i=e().flatMap((function(e){return e.getBidRequests()}));return null!=r&&(i=i.filter((function(e){return e.bidderRequestId===r}))),null==t?i[0]:i.find((function(e){return e.bids&&null!=e.bids.find((function(e){return e.bidId===t}))}))}},getBidRequest:function(n){var t=n.requestId;if(null!=t)return e().flatMap((function(e){return e.getBidRequests()})).flatMap((function(e){return e.bids})).find((function(e){return e&&e.bidId===t}))}})}var u=t(5644),s=function(){var e=[],n={addWinningBid:function(n){var t=(0,o.sE)(e,(function(e){return e.getAuctionId()===n.auctionId}));t?(n.status=u.BID_STATUS.RENDERED,t.addWinningBid(n)):(0,r.logWarn)("Auction not found when adding winning bid")},getAllWinningBids:function(){return e.map((function(e){return e.getWinningBids()})).reduce(r.flatten,[])},getBidsRequested:function(){return e.map((function(e){return e.getBidRequests()})).reduce(r.flatten,[])},getNoBids:function(){return e.map((function(e){return e.getNoBids()})).reduce(r.flatten,[])},getBidsReceived:function(){return e.map((function(e){if(e.getAuctionStatus()===i.mv)return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e}))},getAllBidsForAdUnitCode:function(n){return e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]).filter((function(e){return e&&e.adUnitCode===n}))},getAdUnits:function(){return e.map((function(e){return e.getAdUnits()})).reduce(r.flatten,[])},getAdUnitCodes:function(){return e.map((function(e){return e.getAdUnitCodes()})).reduce(r.flatten,[]).filter(r.uniques)},createAuction:function(n){var t=n.adUnits,r=n.adUnitCodes,o=n.callback,a=n.cbTimeout,c=n.labels,u=n.auctionId,s=(0,i.vO)({adUnits:t,adUnitCodes:r,callback:o,cbTimeout:a,labels:c,auctionId:u});return function(n){e.push(n)}(s),s},findBidByAdId:function(n){return(0,o.sE)(e.map((function(e){return e.getBidsReceived()})).reduce(r.flatten,[]),(function(e){return e.adId===n}))},getStandardBidderAdServerTargeting:function(){return(0,i.LX)()[u.JSON_MAPPING.ADSERVER_TARGETING]},setStatusForBids:function(t,r){var i=n.findBidByAdId(t);if(i&&(i.status=r),i&&r===u.BID_STATUS.BID_TARGETING_SET){var a=(0,o.sE)(e,(function(e){return e.getAuctionId()===i.auctionId}));a&&a.setBidTargeting(i)}},getLastAuctionId:function(){return e.length&&e[e.length-1].getAuctionId()},clearAllAuctions:function(){e.length=0}};return n.index=new c((function(){return e})),n}()},9624:function(e,n,t){"use strict";t.d(n,{S:function(){return f}});var r=t(265),i=t(9853),o=t(2528);function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,n,t){if(!n.has(e))throw new TypeError("attempted to get private field on non-instance");return t}var u=t(5644),s=new WeakSet;function d(e){return null==e?this.defaultScope:e}var f=new(function(){function e(n,t){var r,i;!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,n){if(n.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(r=this,i=s),i.add(r),this.getSettings=n,this.defaultScope=t}var n,t;return n=e,(t=[{key:"get",value:function(e,n){var t=this.getOwn(e,n);return void 0===t&&(t=this.getOwn(null,n)),t}},{key:"getOwn",value:function(e,n){return e=c(this,s,d).call(this,e),(0,r.Z)(this.getSettings(),"".concat(e,".").concat(n))}},{key:"getScopes",value:function(){var e=this;return Object.keys(this.getSettings()).filter((function(n){return n!==e.defaultScope}))}},{key:"settingsFor",value:function(e){return(0,i.mergeDeep)({},this.ownSettingsFor(null),this.ownSettingsFor(e))}},{key:"ownSettingsFor",value:function(e){return e=c(this,s,d).call(this,e),this.getSettings()[e]||{}}}])&&a(n.prototype,t),Object.defineProperty(n,"prototype",{writable:!1}),e}())((function(){return(0,o.R)().bidderSettings||{}}),u.JSON_MAPPING.BD_SETTING_STANDARD)},1477:function(e,n,t){"use strict";t.d(n,{m:function(){return o}});var r=t(9853);function i(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.src,i=void 0===t?"client":t,o=n.bidder,a=void 0===o?"":o,c=n.bidId,u=n.transactionId,s=n.auctionId,d=i,f=e||0;function l(){switch(f){case 0:return"Pending";case 1:return"Bid available";case 2:return"Bid returned empty or error response";case 3:return"Bid timed out"}}this.bidderCode=a,this.width=0,this.height=0,this.statusMessage=l(),this.adId=(0,r.getUniqueIdentifierStr)(),this.requestId=c,this.transactionId=u,this.auctionId=s,this.mediaType="banner",this.source=d,this.getStatusCode=function(){return f},this.getSize=function(){return this.width+"x"+this.height},this.getIdentifiers=function(){return{src:this.source,bidder:this.bidderCode,bidId:this.requestId,transactionId:this.transactionId,auctionId:this.auctionId}}}function o(e,n){return new i(e,n)}},8962:function(e,n,t){"use strict";t.d(n,{FD:function(){return v},vc:function(){return m}});var r=t(5553),i=t(1879),o=t(9853),a=t(265),c=["fpd"];function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function d(e){return d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},d(e)}function f(){return f=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},f.apply(this,arguments)}var l=t(5644),g="TRUE"===(0,o.getParameterByName)(l.DEBUG_MODE).toUpperCase(),p=window.location.origin,v="random",y={};y[v]=!0,y.fixed=!0;var b=v,h={LOW:"low",MEDIUM:"medium",HIGH:"high",AUTO:"auto",DENSE:"dense",CUSTOM:"custom"},m=function(){var e,n,t,l=[],v=null;function m(){e={};var a={_debug:g,get debug(){return this._debug},set debug(e){this._debug=e},_bidderTimeout:3e3,get bidderTimeout(){return this._bidderTimeout},set bidderTimeout(e){this._bidderTimeout=e},_publisherDomain:p,get publisherDomain(){return this._publisherDomain},set publisherDomain(e){this._publisherDomain=e},_priceGranularity:h.MEDIUM,set priceGranularity(e){u(e)&&("string"==typeof e?this._priceGranularity=c(e)?e:h.MEDIUM:(0,o.isPlainObject)(e)&&(this._customPriceBucket=e,this._priceGranularity=h.CUSTOM,(0,o.logMessage)("Using custom price granularity")))},get priceGranularity(){return this._priceGranularity},_customPriceBucket:{},get customPriceBucket(){return this._customPriceBucket},_mediaTypePriceGranularity:{},get mediaTypePriceGranularity(){return this._mediaTypePriceGranularity},set mediaTypePriceGranularity(e){var n=this;this._mediaTypePriceGranularity=Object.keys(e).reduce((function(t,r){return u(e[r])?"string"==typeof e?t[r]=c(e[r])?e[r]:n._priceGranularity:(0,o.isPlainObject)(e)&&(t[r]=e[r],(0,o.logMessage)("Using custom price granularity for ".concat(r))):(0,o.logWarn)("Invalid price granularity for media type: ".concat(r)),t}),{})},_sendAllBids:!0,get enableSendAllBids(){return this._sendAllBids},set enableSendAllBids(e){this._sendAllBids=e},_useBidCache:!1,get useBidCache(){return this._useBidCache},set useBidCache(e){this._useBidCache=e},_deviceAccess:!0,get deviceAccess(){return this._deviceAccess},set deviceAccess(e){this._deviceAccess=e},_bidderSequence:b,get bidderSequence(){return this._bidderSequence},set bidderSequence(e){y[e]?this._bidderSequence=e:(0,o.logWarn)("Invalid order: ".concat(e,". Bidder Sequence was not set."))},_timeoutBuffer:400,get timeoutBuffer(){return this._timeoutBuffer},set timeoutBuffer(e){this._timeoutBuffer=e},_disableAjaxTimeout:!1,get disableAjaxTimeout(){return this._disableAjaxTimeout},set disableAjaxTimeout(e){this._disableAjaxTimeout=e},_maxNestedIframes:10,get maxNestedIframes(){return this._maxNestedIframes},set maxNestedIframes(e){this._maxNestedIframes=e},_auctionOptions:{},get auctionOptions(){return this._auctionOptions},set auctionOptions(e){(function(e){if(!(0,o.isPlainObject)(e))return(0,o.logWarn)("Auction Options must be an object"),!1;for(var n=0,t=Object.keys(e);n<t.length;n++){var r=t[n];if("secondaryBidders"!==r&&"suppressStaleRender"!==r)return(0,o.logWarn)("Auction Options given an incorrect param: ".concat(r)),!1;if("secondaryBidders"===r){if(!(0,o.isArray)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type Array")),!1;if(!e[r].every(o.isStr))return(0,o.logWarn)("Auction Options ".concat(r," must be only string")),!1}else if("suppressStaleRender"===r&&!(0,o.isBoolean)(e[r]))return(0,o.logWarn)("Auction Options ".concat(r," must be of type boolean")),!1}return!0})(e)&&(this._auctionOptions=e)}};function c(e){return(0,i.sE)(Object.keys(h),(function(n){return e===h[n]}))}function u(e){if(!e)return(0,o.logError)("Prebid Error: no value passed to `setPriceGranularity()`"),!1;if("string"==typeof e)c(e)||(0,o.logWarn)("Prebid Warning: setPriceGranularity was called with invalid setting, using `medium` as default.");else if((0,o.isPlainObject)(e)&&!(0,r.t)(e))return(0,o.logError)("Invalid custom price value passed to `setPriceGranularity()`"),!1;return!0}n&&C(Object.keys(n).reduce((function(e,t){return n[t]!==a[t]&&(e[t]=a[t]||{}),e}),{})),n=a,t={}}function E(){if(v&&t&&(0,o.isPlainObject)(t[v])){var e=t[v],r=new Set(Object.keys(n).concat(Object.keys(e)));return(0,i.Oc)(r).reduce((function(t,r){return void 0===e[r]?t[r]=n[r]:void 0===n[r]?t[r]=e[r]:(0,o.isPlainObject)(e[r])?t[r]=(0,o.mergeDeep)({},n[r],e[r]):t[r]=e[r],t}),{})}return f({},n)}function S(e){var n={};return Object.keys(e).forEach((function(t){var r="context"===t?"site":t;n[r]="site"===r||"user"===r?Object.keys(e[t]).reduce((function(n,r){return"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}function A(e){var n={};return Object.keys(e).filter((function(e){return"context"===e})).forEach((function(t){Object.keys(e[t]).forEach((function(r){"data"===r?(0,o.mergeDeep)(n,{ext:{data:e[t][r]}}):"object"!==d(e[t][r])||Array.isArray(e[t][r])?(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),e[t][r])}}):Object.keys(e[t][r]).forEach((function(i){(0,o.mergeDeep)(n,{ext:{data:s({},r.toLowerCase(),s({},i.toLowerCase(),e[t][r][i]))}})}))}))})),n}function T(t){if((0,o.isPlainObject)(t)){var r=Object.keys(t),i={};r.forEach((function(r){var a="fpd"===r?"ortb2":r,c="fpd"===r?S(t[r]):t[r];(0,o.isPlainObject)(e[a])&&(0,o.isPlainObject)(c)&&(c=f({},e[a],c)),i[a]=n[a]=c})),C(i)}else(0,o.logError)("setConfig options must be an object")}function I(e,n){var t=n;if("string"!=typeof e&&(t=e,e="*"),"function"==typeof t){var r={topic:e,callback:t};return l.push(r),function(){l.splice(l.indexOf(r),1)}}(0,o.logError)("listener must be a function")}function C(e){var n=Object.keys(e);l.filter((function(e){return(0,i.q9)(n,e.topic)})).forEach((function(n){n.callback(s({},n.topic,e[n.topic]))})),l.filter((function(e){return"*"===e.topic})).forEach((function(n){return n.callback(e)}))}function w(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{r(e),e.bidders.forEach((function(r){t[r]||(t[r]={}),Object.keys(e.config).forEach((function(i){var a="fpd"===i?"ortb2":i,c="fpd"===i?S(e.config[i]):e.config[i];if((0,o.isPlainObject)(c)){var u=n?o.mergeDeep:Object.assign;t[r][a]=u({},t[r][a]||{},c)}else t[r][a]=c}))}))}catch(e){(0,o.logError)(e)}function r(e){if(!(0,o.isPlainObject)(e))throw"setBidderConfig bidder options must be an object";if(!Array.isArray(e.bidders)||!e.bidders.length)throw"setBidderConfig bidder options must contain a bidders list with at least 1 bidder";if(!(0,o.isPlainObject)(e.config))throw"setBidderConfig bidder options must contain a config object"}}function O(e,n){v=e;try{return n()}finally{B()}}function B(){v=null}return m(),{getCurrentBidder:function(){return v},resetBidder:B,getConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0];return e?(0,a.Z)(E(),e):E()}return I.apply(void 0,arguments)},readConfig:function(){if(arguments.length<=1&&"function"!=typeof(arguments.length<=0?void 0:arguments[0])){var e=arguments.length<=0?void 0:arguments[0],n=(0,o.deepClone)(E());return e?(0,a.Z)(n,e):n}return I.apply(void 0,arguments)},setConfig:T,mergeConfig:function(e){if((0,o.isPlainObject)(e)){var n=Object.keys(e).reduce((function(n,t){var r=E()[t]||{};return n[t]=(0,o.mergeDeep)(r,e[t]),n}),{});return T(function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){s(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}({},n)),n}(0,o.logError)("mergeConfig input must be an object")},setDefaults:function(t){(0,o.isPlainObject)(e)?(f(e,t),f(n,t)):(0,o.logError)("defaults must be an object")},resetConfig:m,runWithBidder:O,callbackWithBidder:function(e){return function(n){return function(){if("function"==typeof n){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return O(e,o.bind.call.apply(o.bind,[n,this].concat(r)))}(0,o.logWarn)("config.callbackWithBidder callback is not a function")}}},setBidderConfig:w,getBidderConfig:function(){return t},mergeBidderConfig:function(e){return w(e,!0)},convertAdUnitFpd:function(e){var n=[];return e.forEach((function(e){var t;e.fpd?(e.ortb2Imp?(0,o.mergeDeep)(e.ortb2Imp,A(e.fpd)):e.ortb2Imp=A(e.fpd),n.push(((t=e).fpd,function(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},o=Object.keys(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)t=o[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}(t,c)))):n.push(e)})),n},getLegacyFpd:function(e){if("object"===d(e)){var n={};return Object.keys(e).forEach((function(t){var r="site"===t?"context":t;n[r]="context"===r||"user"===r?Object.keys(e[t]).filter((function(e){return"data"!==e})).reduce((function(n,r){return"ext"===r?(0,o.mergeDeep)(n,e[t][r]):(0,o.mergeDeep)(n,s({},r,e[t][r])),n}),{}):e[t]})),n}},getLegacyImpFpd:function(e){if("object"===d(e)){var n={};return(0,a.Z)(e,"ext.data")&&Object.keys(e.ext.data).forEach((function(t){"pbadslot"===t?(0,o.mergeDeep)(n,{context:{pbAdSlot:e.ext.data[t]}}):"adserver"===t?(0,o.mergeDeep)(n,{context:{adServer:e.ext.data[t]}}):(0,o.mergeDeep)(n,{context:{data:s({},t,e.ext.data[t])}})})),n}}}}()},5553:function(e,n,t){"use strict";t.d(n,{D:function(){return d},t:function(){return l}});var r=t(1879),i=t(9853),o={buckets:[{max:5,increment:.5}]},a={buckets:[{max:20,increment:.1}]},c={buckets:[{max:20,increment:.01}]},u={buckets:[{max:3,increment:.01},{max:8,increment:.05},{max:20,increment:.5}]},s={buckets:[{max:5,increment:.05},{max:10,increment:.1},{max:20,increment:.5}]};function d(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=parseFloat(e);return isNaN(r)&&(r=""),{low:""===r?"":f(e,o,t),med:""===r?"":f(e,a,t),high:""===r?"":f(e,c,t),auto:""===r?"":f(e,s,t),dense:""===r?"":f(e,u,t),custom:""===r?"":f(e,n,t)}}function f(e,n,t){var i="";if(!l(n))return i;var o=n.buckets.reduce((function(e,n){return e.max>n.max?e:n}),{max:0}),a=0,c=(0,r.sE)(n.buckets,(function(n){if(e>o.max*t){var r=n.precision;void 0===r&&(r=2),i=(n.max*t).toFixed(r)}else{if(e<=n.max*t&&e>=a*t)return n.min=a,n;a=n.max}}));return c&&(i=function(e,n,t){var r=void 0!==n.precision?n.precision:2,i=n.increment*t,o=n.min*t,a=Math.pow(10,r+2),c=(e*a-o*a)/(i*a),u=Math.floor(c)*i+o;return(u=Number(u.toFixed(10))).toFixed(r)}(e,c,t)),i}function l(e){if((0,i.isEmpty)(e)||!e.buckets||!Array.isArray(e.buckets))return!1;var n=!0;return e.buckets.forEach((function(e){e.max&&e.increment||(n=!1)})),n}},3636:function(e,n,t){"use strict";t.d(n,{$8:function(){return A},JI:function(){return l},gF:function(){return g},wt:function(){return T}});var r,i,o=t(8962),a=t(4892),c=t(3494),u=(0,t(9853).prefixLog)("DEBUG:"),s=u.logWarn,d=u.logMessage,f="pbjs:debugging",l=[function(e){p(),function(e){r=E.bind(e),a.Yt.before(r,5),i=S.bind(e),a.e0.before(i,5)}(e)}],g=[p];function p(){a.Yt.getHooks({hook:r}).remove(),a.e0.getHooks({hook:i}).remove()}function v(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o.vc.setConfig({debug:!0}),l.forEach((function(n){return n(e)})),d("bidder overrides enabled".concat(n?" from session":""))}function y(){g.forEach((function(e){return e()})),d("bidder overrides disabled")}function b(e,n,t){return!(!e.bidder||e.bidder===n)||!(!e.adUnitCode||e.adUnitCode===t)}function h(e,n){return Array.isArray(e)&&-1===e.indexOf(n)}function m(e,n,t){return Object.keys(e).filter((function(e){return-1===["adUnitCode","bidder"].indexOf(e)})).reduce((function(n,r){return d("bidder overrides changed '".concat(n.adUnitCode,"/").concat(n.bidderCode,"' ").concat(t,".").concat(r," from '").concat(n[r],".js' to '").concat(e[r],"'")),n[r]=e[r],n.isDebug=!0,n}),n)}function E(e,n,t){var r=this;h(r.bidders,t.bidderCode)?s("bidder '".concat(t.bidderCode,"' excluded from auction by bidder overrides")):(Array.isArray(r.bids)&&r.bids.forEach((function(e){b(e,t.bidderCode,n)||m(e,t,"bidder")})),e(n,t))}function S(e,n){var t=this,r=n.filter((function(e){return!h(t.bidders,e.bidderCode)||(s("bidRequest '".concat(e.bidderCode,"' excluded from auction by bidder overrides")),!1)}));Array.isArray(t.bidRequests)&&r.forEach((function(e){t.bidRequests.forEach((function(n){e.bids.forEach((function(t){b(n,e.bidderCode,t.adUnitCode)||m(n,t,"bidRequest")}))}))})),e(r)}var A=(0,c.z3)("sync",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.sessionStorage,r=void 0===t?window.sessionStorage:t;if(e.enabled)try{r.setItem(f,JSON.stringify(e))}catch(e){}else try{r.removeItem(f)}catch(e){}}));function T(e){var n;try{e=e||window.sessionStorage,n=JSON.parse(e.getItem(f))}catch(e){}n&&v(n,!0)}o.vc.getConfig("debugging",(function(e){return function(e){var n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).sessionStorage,t=void 0===n?window.sessionStorage:n;A(e,{sessionStorage:t}),e.enabled?v(e):y()}(e.debugging)}))},2319:function(e,n,t){"use strict";function r(){return r=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},r.apply(this,arguments)}t.r(n),t.d(n,{emit:function(){return y},get:function(){return p},getEvents:function(){return v},off:function(){return g},on:function(){return l}});var i=t(9853),o=t(5644),a=Array.prototype.slice,c=Array.prototype.push,u=i._map(o.EVENTS,(function(e){return e})),s=o.EVENT_ID_PATHS,d=[],f=function(){var e={},n={};function t(n,t){i.logMessage("Emitting event for: "+n);var r=t[0]||{},o=r[s[n]],a=e[n]||{que:[]},u=i._map(a,(function(e,n){return n})),f=[];d.push({eventType:n,args:r,id:o,elapsedTime:i.getPerformanceNow()}),o&&i.contains(u,o)&&c.apply(f,a[o].que),c.apply(f,a.que),i._each(f,(function(e){if(e)try{e.apply(null,t)}catch(e){i.logError("Error executing handler:","events.js",e)}}))}return n.on=function(n,t,r){if(function(e){return i.contains(u,e)}(n)){var o=e[n]||{que:[]};r?(o[r]=o[r]||{que:[]},o[r].que.push(t)):o.que.push(t),e[n]=o}else i.logError("Wrong event name : "+n+" Valid event names :"+u)},n.emit=function(e){var n=a.call(arguments,1);t(e,n)},n.off=function(n,t,r){var o=e[n];i.isEmpty(o)||i.isEmpty(o.que)&&i.isEmpty(o[r])||r&&(i.isEmpty(o[r])||i.isEmpty(o[r].que))||(r?i._each(o[r].que,(function(e){var n=o[r].que;e===t&&n.splice(n.indexOf(e),1)})):i._each(o.que,(function(e){var n=o.que;e===t&&n.splice(n.indexOf(e),1)})),e[n]=o)},n.get=function(){return e},n.getEvents=function(){var e=[];return i._each(d,(function(n){var t=r({},n);e.push(t)})),e},n}(),l=f.on,g=f.off,p=f.get,v=f.getEvents,y=f.emit},3494:function(e,n,t){"use strict";t.d(n,{Bx:function(){return l},bA:function(){return f},o0:function(){return s},v5:function(){return u},z3:function(){return c}});var r=t(1432),i=t.n(r);function o(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return a(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?a(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var c=i()({ready:i().SYNC|i().ASYNC|i().QUEUE}),u=c.get;function s(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:15,r=e.getHooks({hook:n});0===r.length&&e.before(n,t)}var d={};function f(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.postInstallAllowed,i=void 0!==r&&r;c("async",(function(t){t.forEach((function(e){return n.apply(void 0,o(e))})),i&&(d[e]=n)}),e)([])}function l(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];var i=d[e];if(i)return i.apply(void 0,t);u(e).before((function(e,n){n.push(t),e(n)}))}},8265:function(e,n,t){"use strict";t.d(n,{B5:function(){return r},Mk:function(){return o},Oh:function(){return a},pX:function(){return i}});var r="native",i="video",o="banner",a="adpod"},9017:function(e,n,t){"use strict";t.d(n,{Fb:function(){return v},JL:function(){return E},Sg:function(){return l},Ur:function(){return h},e6:function(){return b},eK:function(){return m},r4:function(){return y},xc:function(){return g}});var r=t(265),i=t(9853),o=t(1879),a=t(4766);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function u(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?u(Object(t),!0).forEach((function(n){d(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):u(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function d(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}var f=t(5644),l=[],g=Object.keys(f.NATIVE_KEYS).map((function(e){return f.NATIVE_KEYS[e]})),p={image:{image:{required:!0},title:{required:!0},sponsoredBy:{required:!0},clickUrl:{required:!0},body:{required:!1},icon:{required:!1}}};function v(e){e.forEach((function(e){var n,t,a=e.nativeParams||(0,r.Z)(e,"mediaTypes.native");a&&(e.nativeParams=(n=a)&&n.type&&((t=n.type)&&(0,o.q9)(Object.keys(p),t)||((0,i.logError)("".concat(t," nativeParam is not supported")),0))?p[n.type]:n)}))}function y(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t;if(!(0,r.Z)(e,"native.clickUrl"))return!1;var c=i.getAdUnit(e).nativeParams;if(!c)return!0;var u=Object.keys(c).filter((function(e){return c[e].required})),s=Object.keys(e.native).filter((function(n){return e.native[n]}));return u.every((function(e){return(0,o.q9)(s,e)}))}function b(e,n){var t;return"click"===e.action?t=n.native&&n.native.clickTrackers:(t=n.native&&n.native.impressionTrackers,n.native&&n.native.javascriptTrackers&&(0,i.insertHtmlIntoIframe)(n.native.javascriptTrackers)),(t||[]).forEach(i.triggerPixel),e.action}function h(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?a.K.index:t,o={},c=i.getAdUnit(e);(0,r.Z)(c,"nativeParams.rendererUrl")?e.native.rendererUrl=S(c.nativeParams.rendererUrl):(0,r.Z)(c,"nativeParams.adTemplate")&&(e.native.adTemplate=S(c.nativeParams.adTemplate));var u=!1!==(0,r.Z)(c,"nativeParams.sendTargetingKeys"),d=A(c),f=s(s({},e.native),e.native.ext);return delete f.ext,Object.keys(f).forEach((function(n){var t=d[n],i=S(e.native[n])||S((0,r.Z)(e,"native.ext.".concat(n)));if("adTemplate"!==n&&t&&i){var a=(0,r.Z)(c,"nativeParams.".concat(n,".sendId"));"boolean"!=typeof a&&(a=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendId"))),a&&(i="".concat(t,":").concat(e.adId));var s=(0,r.Z)(c,"nativeParams.".concat(n,".sendTargetingKeys"));"boolean"!=typeof s&&(s=(0,r.Z)(c,"nativeParams.ext.".concat(n,".sendTargetingKeys"))),("boolean"==typeof s?s:u)&&(o[t]=i)}})),o}function m(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return n.native.hasOwnProperty("adTemplate")&&(t.adTemplate=S(n.native.adTemplate)),n.native.hasOwnProperty("rendererUrl")&&(t.rendererUrl=S(n.native.rendererUrl)),e.assets.forEach((function(e){var r=(0,i.getKeyByValue)(f.NATIVE_KEYS,e),o=S(n.native[r]);t.assets.push({key:r,value:o})})),t}function E(e,n){var t={message:"assetResponse",adId:e.adId,assets:[]};return Object.keys(n.native).forEach((function(e,r){if("adTemplate"===e&&n.native[e])t.adTemplate=S(n.native[e]);else if("rendererUrl"===e&&n.native[e])t.rendererUrl=S(n.native[e]);else if("ext"===e)Object.keys(n.native[e]).forEach((function(r){if(n.native[e][r]){var i=S(n.native[e][r]);t.assets.push({key:r,value:i})}}));else if(n.native[e]&&f.NATIVE_KEYS.hasOwnProperty(e)){var i=S(n.native[e]);t.assets.push({key:e,value:i})}})),t}function S(e){return"object"===c(e)&&e.url?e.url:e}function A(e){var n={};return(0,r.Z)(e,"nativeParams.ext")&&Object.keys(e.nativeParams.ext).forEach((function(e){n[e]="hb_native_".concat(e)})),s(s({},f.NATIVE_KEYS),n)}},1879:function(e,n,t){"use strict";function r(e,n,t){return e&&e.includes(n,t)||!1}function i(){return Array.from.apply(Array,arguments)}function o(e,n,t){return e&&e.find(n,t)}function a(e,n,t){return e&&e.findIndex(n,t)}t.d(n,{Oc:function(){return i},cx:function(){return a},q9:function(){return r},sE:function(){return o}})},2786:function(e,n,t){"use strict";t.d(n,{zh:function(){return oe},O5:function(){return ae}});var r=t(2528),i=t(9853),o=t(265),a=t(2319),c=t(9017),u=t(5644),s=t(4766),d=t(1879),f=t(4877),l=t(8962),g=u.EVENTS,p=g.AD_RENDER_FAILED,v=g.AD_RENDER_SUCCEEDED;function y(e){var n=e.reason,t=e.message,r=e.bid,o=e.id,c={reason:n,message:t};r&&(c.bid=r),o&&(c.adId=o),(0,i.logError)(t),a.emit(p,c)}function b(e){var n=e.doc,t=e.bid,r=e.id,i={doc:n};t&&(i.bid=t),r&&(i.adId=r),a.emit(v,i)}var h=u.EVENTS.BID_WON,m=u.EVENTS.STALE_RENDER,E={"Prebid Request":function(e,n,t){if(null!=t){if(t.status!==u.BID_STATUS.RENDERED||((0,i.logWarn)("Ad id ".concat(t.adId," has been rendered before")),a.emit(m,t),!(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender"))){try{!function(e,n){var t=e.adId,r=e.ad,o=e.adUrl,a=e.width,c=e.height,u=e.renderer,s=e.cpm,d=e.originalCpm;(0,f.Pd)(u)?(0,f._U)(u,e):t&&(A(e),n({message:"Prebid Response",ad:(0,i.replaceAuctionPrice)(r,d||s),adUrl:(0,i.replaceAuctionPrice)(o,d||s),adId:t,width:a,height:c}))}(t,e)}catch(e){return void y({reason:u.AD_RENDER_FAILED_REASON.EXCEPTION,message:e.message,id:n.adId,bid:t})}s.K.addWinningBid(t),a.emit(h,t)}}else y({reason:u.AD_RENDER_FAILED_REASON.CANNOT_FIND_AD,message:"Cannot find ad '".concat(n.adId,"' for cross-origin render request"),id:n.adId})},"Prebid Native":function(e,n,t){if(null!=t)switch(n.action){case"assetRequest":e((0,c.eK)(n,t));break;case"allAssetRequest":e((0,c.JL)(n,t));break;case"resizeNativeHeight":t.height=n.height,t.width=n.width,A(t);break;default:if("click"===(0,c.e6)(n,t))return;s.K.addWinningBid(t),a.emit(h,t)}else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))},"Prebid Event":function(e,n,t){if(null!=t)if(t.status===u.BID_STATUS.RENDERED)switch(n.event){case u.EVENTS.AD_RENDER_FAILED:y({bid:t,id:n.adId,reason:n.info.reason,message:n.info.message});break;case u.EVENTS.AD_RENDER_SUCCEEDED:b({doc:null,bid:t,id:n.adId});break;default:(0,i.logError)("Received x-origin event request for unsupported event: '".concat(n.event,"' (adId: '").concat(n.adId,"')"))}else(0,i.logWarn)("Received x-origin event request without corresponding render request for ad '".concat(n.adId,"'"));else(0,i.logError)("Cannot find ad '".concat(n.adId,"' for x-origin event request"))}};function S(e){var n=e.message?"message":"data",t={};try{t=JSON.parse(e[n])}catch(e){return}if(t&&t.adId&&t.message){var r=(0,d.sE)(s.K.getBidsReceived(),(function(e){return e.adId===t.adId}));E.hasOwnProperty(t.message)&&E[t.message](function(e){return null==e.origin&&0===e.ports.length?function(){var e="Cannot post message to a frame with null origin. Please update creatives to use MessageChannel, see https://github.com/prebid/Prebid.js/issues/7870";throw(0,i.logError)(e),new Error(e)}:e.ports.length>0?function(n){e.ports[0].postMessage(JSON.stringify(n))}:function(n){e.source.postMessage(JSON.stringify(n),e.origin)}}(e),t,r)}}function A(e){var n=e.adId,t=e.adUnitCode,r=e.width,o=e.height;["div","iframe"].forEach((function(e){var a=function(e){var r=function(e,n){return(0,i.isGptPubadsDefined)()?function(e){var n=(0,d.sE)(window.googletag.pubads().getSlots(),(function(n){return(0,d.sE)(n.getTargetingKeys(),(function(t){return(0,d.q9)(n.getTargeting(t),e)}))}));return n?n.getSlotElementId():null}(e):(0,i.isApnGetTagDefined)()?function(e){var n=window.apntag.getTag(e);return n&&n.targetId}(n):n}(n,t),o=document.getElementById(r);return o&&o.querySelector(e)}(e+':not([style*="display: none"])');if(a){var c=a.style;c.width=r+"px",c.height=o+"px"}else(0,i.logWarn)("Unable to locate matching page element for adUnitCode ".concat(t,". Can't resize it to ad's dimensions. Please review setup."))}))}var T=t(7112),I=t(9742),C=t(3494),w=t(3636),O=t(7263),B=t(1477),_=t(5849),U=t(7602);function R(e){return function(e){if(Array.isArray(e))return D(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return D(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?D(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function k(){return k=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},k.apply(this,arguments)}var j=(0,r.R)(),N=t(5644),P=t(7602).ZP,x=t(2319),q=T.k_.triggerUserSyncs,M=N.EVENTS,G=M.ADD_AD_UNITS,W=M.BID_WON,F=M.REQUEST_BIDS,z=M.SET_TARGETING,L=M.STALE_RENDER,K=N.AD_RENDER_FAILED_REASON,V=K.PREVENT_WRITING_ON_MAIN_DOCUMENT,H=K.NO_AD,Z=K.EXCEPTION,Y=K.CANNOT_FIND_AD,J=K.MISSING_DOC_OR_ADID,Q={bidWon:function(e){var n=s.K.getBidsRequested().map((function(e){return e.bids.map((function(e){return e.adUnitCode}))})).reduce(i.flatten).filter(i.uniques);if((0,i.contains)(n,e))return!0;(0,i.logError)('The "'+e+'" placement is not defined.')}};function X(e,n,t){e.defaultView&&e.defaultView.frameElement&&(e.defaultView.frameElement.width=n,e.defaultView.frameElement.height=t)}function $(e,n){var t=[];return(0,i.isArray)(e)&&(n?e.length===n:e.length>0)&&(e.every((function(e){return(0,i.isArrayOfNums)(e,2)}))?t=e:(0,i.isArrayOfNums)(e,2)&&t.push(e)),t}function ee(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.banner,r=$(t.sizes);return r.length>0?(t.sizes=r,n.sizes=r):((0,i.logError)("Detected a mediaTypes.banner object without a proper sizes field. Please ensure the sizes are listed like: [[300, 250], ...]. Removing invalid mediaTypes.banner object from request."),delete n.mediaTypes.banner),n}function ne(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.video;if(t.playerSize){var r="number"==typeof t.playerSize[0]?2:1,o=$(t.playerSize,r);o.length>0?(2===r&&(0,i.logInfo)("Transforming video.playerSize from [640,480] to [[640,480]] so it's in the proper format."),t.playerSize=o,n.sizes=o):((0,i.logError)("Detected incorrect configuration of mediaTypes.video.playerSize. Please specify only one set of dimensions in a format like: [[640, 480]]. Removing invalid mediaTypes.video.playerSize property from request."),delete n.mediaTypes.video.playerSize)}return n}function te(e){var n=(0,i.deepClone)(e),t=n.mediaTypes.native;return t.image&&t.image.sizes&&!Array.isArray(t.image.sizes)&&((0,i.logError)("Please use an array of sizes for native.image.sizes field. Removing invalid mediaTypes.native.image.sizes property from request."),delete n.mediaTypes.native.image.sizes),t.image&&t.image.aspect_ratios&&!Array.isArray(t.image.aspect_ratios)&&((0,i.logError)("Please use an array of sizes for native.image.aspect_ratios field. Removing invalid mediaTypes.native.image.aspect_ratios property from request."),delete n.mediaTypes.native.image.aspect_ratios),t.icon&&t.icon.sizes&&!Array.isArray(t.icon.sizes)&&((0,i.logError)("Please use an array of sizes for native.icon.sizes field. Removing invalid mediaTypes.native.icon.sizes property from request."),delete n.mediaTypes.native.icon.sizes),n}function re(e,n){var t=(0,o.Z)(e,"mediaTypes.".concat(n,".pos"));if(!(0,i.isNumber)(t)||isNaN(t)||!isFinite(t)){var r="Value of property 'pos' on ad unit ".concat(e.code," should be of type: Number");(0,i.logWarn)(r),x.emit(N.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:r}),delete e.mediaTypes[n].pos}return e}function ie(e){var n=function(n){return"adUnit.code '".concat(e.code,"' ").concat(n)},t=e.mediaTypes,r=e.bids;return null==r||(0,i.isArray)(r)?null==r&&null==e.ortb2Imp?((0,i.logError)(n("has no 'adUnit.bids' and no 'adUnit.ortb2Imp'. Removing adUnit from auction")),null):t&&0!==Object.keys(t).length?(null==e.ortb2Imp||null!=r&&0!==r.length||(e.bids=[{bidder:null}],(0,i.logMessage)(n("defines 'adUnit.ortb2Imp' with no 'adUnit.bids'; it will be seen only by S2S adapters"))),e):((0,i.logError)(n("does not define a 'mediaTypes' object. This is a required field for the auction, so this adUnit has been removed.")),null):((0,i.logError)(n("defines 'adUnit.bids' that is not an array. Removing adUnit from auction")),null)}(0,w.wt)(),j.bidderSettings=j.bidderSettings||{},j.libLoaded=!0,j.version="v6.23.0",(0,i.logInfo)("Prebid.js v6.23.0 loaded"),j.installedModules=j.installedModules||[],j.adUnits=j.adUnits||[],j.triggerUserSyncs=q;var oe={validateAdUnit:ie,validateBannerMediaType:ee,validateVideoMediaType:ne,validateNativeMediaType:te,validateSizes:$},ae=(0,C.z3)("sync",(function(e){var n=[];return e.forEach((function(e){if(null!=(e=ie(e))){var t,r,i,o=e.mediaTypes;o.banner&&(t=ee(e),o.banner.hasOwnProperty("pos")&&(t=re(t,"banner"))),o.video&&(r=ne(t||e),o.video.hasOwnProperty("pos")&&(r=re(r,"video"))),o.native&&(i=te(r||t||e));var a=k({},t,r,i);n.push(a)}})),n}),"checkAdUnitSetup");function ce(e){var n=s.K[e]().filter(i.bind.call(i.adUnitsFilter,this,s.K.getAdUnitCodes())),t=s.K.getLastAuctionId();return n.map((function(e){return e.adUnitCode})).filter(i.uniques).map((function(e){return n.filter((function(n){return n.auctionId===t&&n.adUnitCode===e}))})).filter((function(e){return e&&e[0]&&e[0].adUnitCode})).map((function(e){return n={},r={bids:e},(t=e[0].adUnitCode)in n?Object.defineProperty(n,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[t]=r,n;var n,t,r})).reduce((function(e,n){return k(e,n)}),{})}function ue(e,n,t){var r=n.querySelector(t);e.parentNode&&e.parentNode===r||(0,i.insertElement)(e,n,t)}j.getAdserverTargetingForAdUnitCodeStr=function(e){if((0,i.logInfo)("Invoking pbjs.getAdserverTargetingForAdUnitCodeStr",arguments),e){var n=j.getAdserverTargetingForAdUnitCode(e);return(0,i.transformAdServerTargetingObj)(n)}(0,i.logMessage)("Need to call getAdserverTargetingForAdUnitCodeStr with adunitCode")},j.getHighestUnusedBidResponseForAdUnitCode=function(e){if(e){var n=s.K.getAllBidsForAdUnitCode(e).filter(I.u8.isUnusedBid).filter(I.u8.isBidNotExpired);return n.length?n.reduce(i.getHighestCpm):{}}(0,i.logMessage)("Need to call getHighestUnusedBidResponseForAdUnitCode with adunitCode")},j.getAdserverTargetingForAdUnitCode=function(e){return j.getAdserverTargeting(e)[e]},j.getAdserverTargeting=function(e){return(0,i.logInfo)("Invoking pbjs.getAdserverTargeting",arguments),I.q0.getAllTargeting(e)},j.getConsentMetadata=function(){return(0,i.logInfo)("Invoking pbjs.getConsentMetadata"),{gdpr:U.rp.getConsentMeta(),usp:U.nX.getConsentMeta(),coppa:!!l.vc.getConfig("coppa")}},j.getNoBids=function(){return(0,i.logInfo)("Invoking pbjs.getNoBids",arguments),ce("getNoBids")},j.getNoBidsForAdUnitCode=function(e){return{bids:s.K.getNoBids().filter((function(n){return n.adUnitCode===e}))}},j.getBidResponses=function(){return(0,i.logInfo)("Invoking pbjs.getBidResponses",arguments),ce("getBidsReceived")},j.getBidResponsesForAdUnitCode=function(e){return{bids:s.K.getBidsReceived().filter((function(n){return n.adUnitCode===e}))}},j.setTargetingForGPTAsync=function(e,n){if((0,i.logInfo)("Invoking pbjs.setTargetingForGPTAsync",arguments),(0,i.isGptPubadsDefined)()){var t=I.q0.getAllTargeting(e);I.q0.resetPresetTargeting(e,n),I.q0.setTargetingForGPT(t,n),Object.keys(t).forEach((function(e){Object.keys(t[e]).forEach((function(n){"hb_adid"===n&&s.K.setStatusForBids(t[e][n],N.BID_STATUS.BID_TARGETING_SET)}))})),x.emit(z,t)}else(0,i.logError)("window.googletag is not defined on the page")},j.setTargetingForAst=function(e){(0,i.logInfo)("Invoking pbjs.setTargetingForAn",arguments),I.q0.isApntagDefined()?(I.q0.setTargetingForAst(e),x.emit(z,I.q0.getAllTargeting())):(0,i.logError)("window.apntag is not defined on the page")},j.renderAd=(0,C.z3)("async",(function(e,n,t){if((0,i.logInfo)("Invoking pbjs.renderAd",arguments),(0,i.logMessage)("Calling renderAd with adId :"+n),e&&n)try{var r=s.K.findBidByAdId(n);if(r){var a=!0;if(r&&r.status===N.BID_STATUS.RENDERED&&((0,i.logWarn)("Ad id ".concat(r.adId," has been rendered before")),x.emit(L,r),(0,o.Z)(l.vc.getConfig("auctionOptions"),"suppressStaleRender")&&(a=!1)),a){if(r.ad=(0,i.replaceAuctionPrice)(r.ad,r.originalCpm||r.cpm),r.adUrl=(0,i.replaceAuctionPrice)(r.adUrl,r.originalCpm||r.cpm),t&&t.clickThrough){var c=t.clickThrough;r.ad=(0,i.replaceClickThrough)(r.ad,c),r.adUrl=(0,i.replaceClickThrough)(r.adUrl,c)}s.K.addWinningBid(r),x.emit(W,r);var u=r.height,d=r.width,g=r.ad,p=r.mediaType,v=r.adUrl,h=r.renderer,m=document.createComment("Creative ".concat(r.creativeId," served by ").concat(r.bidder," Prebid.js Header Bidding"));if((0,i.insertElement)(m,e,"html"),(0,f.Pd)(h))(0,f._U)(h,r,e),ue(m,e,"html"),b({doc:e,bid:r,id:n});else if(e===document&&!(0,i.inIframe)()||"video"===p){var E="Error trying to write ad. Ad render call ad id ".concat(n," was prevented from writing to the main document.");y({reason:V,message:E,bid:r,id:n})}else if(g)e.write(g),e.close(),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n});else if(v){var S=(0,i.createInvisibleIframe)();S.height=u,S.width=d,S.style.display="inline",S.style.overflow="hidden",S.src=v,(0,i.insertElement)(S,e,"body"),X(e,d,u),ue(m,e,"html"),(0,i.callBurl)(r),b({doc:e,bid:r,id:n})}else{var A="Error trying to write ad. No ad for bid response id: ".concat(n);y({reason:H,message:A,bid:r,id:n})}}}else{var T="Error trying to write ad. Cannot find ad by given id : ".concat(n);y({reason:Y,message:T,id:n})}}catch(e){var I="Error trying to write ad Id :".concat(n," to the page:").concat(e.message);y({reason:Z,message:I,id:n})}else{var C="Error trying to write ad Id :".concat(n," to the page. Missing document or adId");y({reason:J,message:C,id:n})}})),j.removeAdUnit=function(e){(0,i.logInfo)("Invoking pbjs.removeAdUnit",arguments),e?((0,i.isArray)(e)?e:[e]).forEach((function(e){for(var n=j.adUnits.length-1;n>=0;n--)j.adUnits[n].code===e&&j.adUnits.splice(n,1)})):j.adUnits=[]},j.requestBids=(0,C.z3)("async",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.bidsBackHandler,t=e.timeout,r=e.adUnits,o=e.adUnitCodes,a=e.labels,c=e.auctionId;x.emit(F);var u=t||l.vc.getConfig("bidderTimeout");r=r&&l.vc.convertAdUnitFpd((0,i.isArray)(r)?r:[r])||j.adUnits,(0,i.logInfo)("Invoking pbjs.requestBids",arguments);var f=[],g=[];if(l.vc.getConfig("s2sConfig",(function(e){e&&e.s2sConfig&&(f=Array.isArray(e.s2sConfig)?e.s2sConfig:[e.s2sConfig])})),f.forEach((function(e){g.push.apply(g,R(e.bidders))})),r=ae(r),o&&o.length?r=r.filter((function(e){return(0,d.q9)(o,e.code)})):o=r&&r.map((function(e){return e.code})),r.forEach((function(e){var n=Object.keys(e.mediaTypes||{banner:"banner"}),t=e.bids.map((function(e){return e.bidder})),r=P.bidderRegistry,o=g?t.filter((function(e){return!(0,d.q9)(g,e)})):t;e.transactionId=(0,i.generateUUID)(),o.forEach((function(t){var o=r[t],a=o&&o.getSpec&&o.getSpec(),c=a&&a.supportedMediaTypes||["banner"];n.some((function(e){return(0,d.q9)(c,e)}))?O.f.incrementBidderRequestsCounter(e.code,t):((0,i.logWarn)((0,i.unsupportedBidderMessage)(e,t)),e.bids=e.bids.filter((function(e){return e.bidder!==t})))})),O.f.incrementRequestsCounter(e.code)})),r&&0!==r.length){var p=s.K.createAuction({adUnits:r,adUnitCodes:o,callback:n,cbTimeout:u,labels:a,auctionId:c}),v=r.length;v>15&&(0,i.logInfo)("Current auction ".concat(p.getAuctionId()," contains ").concat(v," adUnits."),r),o.forEach((function(e){return I.q0.setLatestAuctionForAdUnit(e,p.getAuctionId())})),p.callBids()}else if((0,i.logMessage)("No adUnits configured. No bids requested."),"function"==typeof n)try{n()}catch(e){(0,i.logError)("Error executing bidsBackHandler",null,e)}})),j.requestBids.before((function(e,n){function t(e){for(var n;n=e.shift();)n()}t(_.Ld),t(se),e.call(this,n)}),49),j.addAdUnits=function(e){(0,i.logInfo)("Invoking pbjs.addAdUnits",arguments),j.adUnits.push.apply(j.adUnits,l.vc.convertAdUnitFpd((0,i.isArray)(e)?e:[e])),x.emit(G)},j.onEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.onEvent",arguments),(0,i.isFn)(n)?!t||Q[e].call(null,t)?x.on(e,n,t):(0,i.logError)('The id provided is not valid for event "'+e+'" and no handler was set.'):(0,i.logError)('The event handler provided is not a function and was not set on event "'+e+'".')},j.offEvent=function(e,n,t){(0,i.logInfo)("Invoking pbjs.offEvent",arguments),t&&!Q[e].call(null,t)||x.off(e,n,t)},j.getEvents=function(){return(0,i.logInfo)("Invoking pbjs.getEvents"),x.getEvents()},j.registerBidAdapter=function(e,n){(0,i.logInfo)("Invoking pbjs.registerBidAdapter",arguments);try{P.registerBidAdapter(e(),n)}catch(e){(0,i.logError)("Error registering bidder adapter : "+e.message)}},j.registerAnalyticsAdapter=function(e){(0,i.logInfo)("Invoking pbjs.registerAnalyticsAdapter",arguments);try{P.registerAnalyticsAdapter(e)}catch(e){(0,i.logError)("Error registering analytics adapter : "+e.message)}},j.createBid=function(e){return(0,i.logInfo)("Invoking pbjs.createBid",arguments),(0,B.m)(e)};var se=[],de=(0,C.z3)("async",(function(e){e&&!(0,i.isEmpty)(e)?((0,i.logInfo)("Invoking pbjs.enableAnalytics for: ",e),P.enableAnalytics(e)):(0,i.logError)("pbjs.enableAnalytics should be called with option {}")}),"enableAnalyticsCb");function fe(e){e.forEach((function(e){if(void 0===e.called)try{e.call(),e.called=!0}catch(e){(0,i.logError)("Error processing command :","prebid.js",e)}}))}j.enableAnalytics=function(e){se.push(de.bind(this,e))},j.aliasBidder=function(e,n,t){(0,i.logInfo)("Invoking pbjs.aliasBidder",arguments),e&&n?P.aliasBidAdapter(e,n,t):(0,i.logError)("bidderCode and alias must be passed as arguments","pbjs.aliasBidder")},j.getAllWinningBids=function(){return s.K.getAllWinningBids()},j.getAllPrebidWinningBids=function(){return s.K.getBidsReceived().filter((function(e){return e.status===N.BID_STATUS.BID_TARGETING_SET}))},j.getHighestCpmBids=function(e){return I.q0.getWinningBids(e)},j.markWinningBidAsUsed=function(e){var n=[];e.adUnitCode&&e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId&&n.adUnitCode===e.adUnitCode})):e.adUnitCode?n=I.q0.getWinningBids(e.adUnitCode):e.adId?n=s.K.getBidsReceived().filter((function(n){return n.adId===e.adId})):(0,i.logWarn)("Improper use of markWinningBidAsUsed. It needs an adUnitCode or an adId to function."),n.length>0&&(n[0].status=N.BID_STATUS.RENDERED)},j.getConfig=l.vc.getConfig,j.readConfig=l.vc.readConfig,j.mergeConfig=l.vc.mergeConfig,j.mergeBidderConfig=l.vc.mergeBidderConfig,j.setConfig=l.vc.setConfig,j.setBidderConfig=l.vc.setBidderConfig,j.que.push((function(){window.addEventListener("message",S,!1)})),j.cmd.push=function(e){if("function"==typeof e)try{e.call()}catch(e){(0,i.logError)("Error processing command :",e.message,e.stack)}else(0,i.logError)("Commands written into pbjs.cmd.push must be wrapped in a function")},j.que.push=j.cmd.push,j.processQueue=function(){C.z3.ready(),fe(j.que),fe(j.cmd)}},2528:function(e,n,t){"use strict";function r(){return window.pbjs}t.d(n,{R:function(){return r}}),window.pbjs=window.pbjs||{},window.pbjs.cmd=window.pbjs.cmd||[],window.pbjs.que=window.pbjs.que||[],window._pbjsGlobals=window._pbjsGlobals||[],window._pbjsGlobals.push("pbjs")},2661:function(e,n,t){"use strict";t.d(n,{n:function(){return o}});var r=t(8962),i=t(9853),o=function(e){function n(e){var n=r.vc.getConfig("pageUrl");if(n)return n;try{var t=e.querySelector("link[rel='canonical']");if(null!==t)return t.href}catch(e){}return null}return function(){var t,o,a,c=[],u=function(e){try{if(!e.location.ancestorOrigins)return;return e.location.ancestorOrigins}catch(e){}}(e),s=r.vc.getConfig("maxNestedIframes"),d=!1,f=0,l=!1,g=!1;do{var p=t,v=g,y=void 0,b=!1,h=null;g=!1,t=t?t.parent:e;try{y=t.location.href||null}catch(e){b=!0}if(b)if(v){var m=p.context;try{o=h=m.sourceUrl,l=!0,t===e.top&&(d=!0),m.canonicalUrl&&(a=m.canonicalUrl)}catch(e){}}else{(0,i.logWarn)("Trying to access cross domain iframe. Continuing without referrer and location");try{var E=p.document.referrer;E&&(h=E,t===e.top&&(d=!0))}catch(e){}!h&&u&&u[f-1]&&(h=u[f-1]),h&&!l&&(o=h)}else{if(y&&(o=h=y,l=!1,t===e.top)){d=!0;var S=n(t.document);S&&(a=S)}t.context&&t.context.sourceUrl&&(g=!0)}c.push(h),f++}while(t!==e.top&&f<s);return c.reverse(),{referer:o||null,reachedTop:d,isAmp:l,numIframes:f-1,stack:c,canonicalUrl:a||null}}}(window)},1269:function(e,n,t){"use strict";t.d(n,{UB:function(){return g},lO:function(){return d}});var r=t(8962),i=t(9853),o=t(265),a=t(1879);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var u=[];function s(e,n){return e.labelAll?{labelAll:!0,labels:e.labelAll,activeLabels:n}:{labelAll:!1,labels:e.labelAny,activeLabels:n}}function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u,t=l(n);return!t.shouldFilter||!!t.sizesSupported[e]}function f(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.labels,t=void 0===n?[]:n,r=e.labelAll,c=void 0!==r&&r,s=e.activeLabels,d=void 0===s?[]:s,f=arguments.length>1?arguments[1]:void 0,g=arguments.length>2?arguments[2]:void 0,p=arguments.length>3&&void 0!==arguments[3]?arguments[3]:u,v=l(p);f=(0,i.isPlainObject)(f)?(0,i.deepClone)(f):g?{banner:{sizes:g}}:{};var y=(0,o.Z)(f,"banner.sizes");v.shouldFilter&&y&&(f.banner.sizes=y.filter((function(e){return v.sizesSupported[e]})));var b=Object.keys(f),h={active:b.every((function(e){return"banner"!==e}))||b.some((function(e){return"banner"===e}))&&(0,o.Z)(f,"banner.sizes.length")>0&&(0===t.length||!c&&(t.some((function(e){return v.labels[e]}))||t.some((function(e){return(0,a.q9)(d,e)})))||c&&t.reduce((function(e,n){return e?v.labels[n]||(0,a.q9)(d,n):e}),!0)),mediaTypes:f};return y&&y.length!==f.banner.sizes.length&&(h.filterResults={before:y,after:f.banner.sizes}),h}function l(e){return e.reduce((function(e,n){if("object"===c(n)&&"string"==typeof n.mediaQuery&&n.mediaQuery.length>0){var t=!1;try{t=(0,i.getWindowTop)().matchMedia(n.mediaQuery).matches}catch(e){(0,i.logWarn)("Unfriendly iFrame blocks sizeConfig from being correctly evaluated"),t=matchMedia(n.mediaQuery).matches}t&&(Array.isArray(n.sizesSupported)&&(e.shouldFilter=!0),["labels","sizesSupported"].forEach((function(t){return(n[t]||[]).forEach((function(n){return e[t][n]=!0}))})))}else(0,i.logWarn)('sizeConfig rule missing required property "mediaQuery"');return e}),{labels:{},sizesSupported:{},shouldFilter:!1})}function g(e,n){return e.reduce((function(e,t){var r=f(s(t,n),t.mediaTypes,t.sizes),o=r.active,a=r.mediaTypes,c=r.filterResults;return o?(c&&(0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" banner sizes from '),c.before,"to ",c.after),t.mediaTypes=a,t.bids=t.bids.reduce((function(e,r){var o=f(s(r,n),t.mediaTypes),a=o.active,c=o.mediaTypes,u=o.filterResults;return a?(u&&((0,i.logInfo)('Size mapping filtered adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'" banner sizes from '),u.before,"to ",u.after),r.mediaTypes=c),e.push(r)):(0,i.logInfo)('Size mapping deactivated adUnit "'.concat(t.code,'" bidder "').concat(r.bidder,'"')),e}),[]),e.push(t)):(0,i.logInfo)('Size mapping disabled adUnit "'.concat(t.code,'"')),e}),[])}r.vc.getConfig("sizeConfig",(function(e){return function(e){u=e}(e.sizeConfig)}))},5849:function(e,n,t){"use strict";t.d(n,{Ld:function(){return u},S6:function(){return d},df:function(){return l},eA:function(){return f}});var r=t(3494),i=t(9853),o=t(1879),a=t(9624),c=["core","prebid-module"],u=[];function s(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode,s=e.moduleType,f=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=f.bidderSettings,g=void 0===l?a.S:l;function p(){if(null==r)return!1;var e=g.get(r,"storageAllowed");return null!=e&&!e}function v(e){return(0,o.q9)(c,s)?e({valid:!0}):p()?((0,i.logInfo)("bidderSettings denied access to device storage for bidder '".concat(r,"'")),e({valid:!1})):(d(n,r||t,{hasEnforcementHook:!1},(function(n){if(n&&n.hasEnforcementHook)a=e(n);else{var t={hasEnforcementHook:!1,valid:(0,i.hasDeviceAccess)()};a=e(t)}})),a);var a}var y=function(e,n,t,r,i,o){var a=function(o){if(o&&o.valid){var a=i&&""!==i?" ;domain=".concat(encodeURIComponent(i)):"",c=t&&""!==t?" ;expires=".concat(t):"",u=null!=r&&"none"==r.toLowerCase()?"; Secure":"";document.cookie="".concat(e,"=").concat(encodeURIComponent(n)).concat(c,"; path=/").concat(a).concat(r?"; SameSite=".concat(r):"").concat(u)}};if(!o||"function"!=typeof o)return v(a);u.push((function(){var e=v(a);o(e)}))},b=function(e,n){var t=function(n){if(n&&n.valid){var t=window.document.cookie.match("(^|;)\\s*"+e+"\\s*=\\s*([^;]*)\\s*(;|$)");return t?decodeURIComponent(t[2]):null}return null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},h=function(e){var n=function(e){if(e&&e.valid)try{return localStorage.setItem("prebid.cookieTest","1"),"1"===localStorage.getItem("prebid.cookieTest")}catch(e){}finally{try{localStorage.removeItem("prebid.cookieTest")}catch(e){}}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},m=function(e){var n=function(e){return!(!e||!e.valid||!(0,i.checkCookieSupport)()&&(window.document.cookie="prebid.cookieTest",-1===window.document.cookie.indexOf("prebid.cookieTest")))};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},E=function(e,n,t){var r=function(t){t&&t.valid&&T()&&window.localStorage.setItem(e,n)};if(!t||"function"!=typeof t)return v(r);u.push((function(){var e=v(r);t(e)}))},S=function(e,n){var t=function(n){return n&&n.valid&&T()?window.localStorage.getItem(e):null};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},A=function(e,n){var t=function(n){n&&n.valid&&T()&&window.localStorage.removeItem(e)};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))},T=function(e){var n=function(e){if(e&&e.valid)try{return!!window.localStorage}catch(e){(0,i.logError)("Local storage api disabled")}return!1};if(!e||"function"!=typeof e)return v(n);u.push((function(){var t=v(n);e(t)}))},I=function(e,n){var t=function(n){if(n&&n.valid){var t=[];if((0,i.hasDeviceAccess)())for(var r=document.cookie.split(";");r.length;){var o=r.pop(),a=o.indexOf("=");a=a<0?o.length:a,decodeURIComponent(o.slice(0,a).replace(/^\s+/,"")).indexOf(e)>=0&&t.push(decodeURIComponent(o.slice(a+1)))}return t}};if(!n||"function"!=typeof n)return v(t);u.push((function(){var e=v(t);n(e)}))};return{setCookie:y,getCookie:b,localStorageIsEnabled:h,cookiesAreEnabled:m,setDataInLocalStorage:E,getDataFromLocalStorage:S,removeDataFromLocalStorage:A,hasLocalStorage:T,findSimilarCookies:I}}var d=(0,r.z3)("async",(function(e,n,t,r){r(t)}),"validateStorageEnforcement");function f(e){return s({moduleName:e,moduleType:"core"})}function l(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.gvlid,t=e.moduleName,r=e.bidderCode;if(arguments.length>1||arguments.length>0&&!(0,i.isPlainObject)(arguments[0]))throw new Error("Invalid invocation for getStorageManager");return s({gvlid:n,moduleName:t,bidderCode:r})}},9742:function(e,n,t){"use strict";t.d(n,{bP:function(){return C},ol:function(){return I},q0:function(){return w},u8:function(){return T}});var r=t(9853),i=t(265),o=t(8962),a=t(9017),c=t(4766),u=t(1269),s=t(8265),d=t(3494),f=t(9624),l=t(1879);function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function v(e){return function(e){if(Array.isArray(e))return y(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(e){if("string"==typeof e)return y(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?y(e,n):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function y(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var b=t(5644),h=[],m="targetingControls.allowTargetingKeys",E="targetingControls.addTargetingKeys",S='Only one of "'.concat(m,'" or "').concat(E,'" can be set'),A=Object.keys(b.TARGETING_KEYS).map((function(e){return b.TARGETING_KEYS[e]})),T={isBidNotExpired:function(e){return e.responseTimestamp+1e3*e.ttl-1e3>(0,r.timestamp)()},isUnusedBid:function(e){return e&&(e.status&&!(0,l.q9)([b.BID_STATUS.RENDERED],e.status)||!e.status)}},I=(0,d.z3)("sync",(function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(!i){var a=[],c=o.vc.getConfig("sendBidsControl.dealPrioritization"),u=(0,r.groupBy)(e,"adUnitCode");return Object.keys(u).forEach((function(e){var i=[],o=(0,r.groupBy)(u[e],"bidderCode");Object.keys(o).forEach((function(e){return i.push(o[e].reduce(n))})),t>0?(i=c?i.sort(C(!0)):i.sort((function(e,n){return n.cpm-e.cpm})),a.push.apply(a,v(i.slice(0,t)))):a.push.apply(a,v(i))})),a}return e}));function C(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(n,t){return void 0!==n.adserverTargeting.hb_deal&&void 0===t.adserverTargeting.hb_deal?-1:void 0===n.adserverTargeting.hb_deal&&void 0!==t.adserverTargeting.hb_deal?1:e?t.cpm-n.cpm:t.adserverTargeting.hb_pb-n.adserverTargeting.hb_pb}}var w=function(e){var n={},t={};function c(e,n){return e.adserverTargeting&&n&&((0,r.isArray)(n)&&(0,l.q9)(n,e.adUnitCode)||"string"==typeof n&&e.adUnitCode===n)}function d(e,n){if(!0===o.vc.getConfig("targetingControls.alwaysIncludeDeals")){var t=A.concat(a.xc);return I(n,r.getHighestCpm).map((function(n){if(n.dealId&&c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]}))))})).filter((function(e){return e}))}return[]}function y(e,n){var t=g({},b.TARGETING_KEYS,b.NATIVE_KEYS),i=Object.keys(t),o={};(0,r.logInfo)("allowTargetingKeys - allowed keys [ ".concat(n.map((function(e){return t[e]})).join(", ")," ]")),e.map((function(e){var r=Object.keys(e)[0],a=e[r].filter((function(e){var r=Object.keys(e)[0],a=0===i.filter((function(e){return 0===r.indexOf(t[e])})).length||(0,l.sE)(n,(function(e){var n=t[e];return 0===r.indexOf(n)}));return o[r]=!a,a}));e[r]=a}));var a=Object.keys(o).filter((function(e){return o[e]}));return(0,r.logInfo)("allowTargetingKeys - removed keys [ ".concat(a.join(", ")," ]")),e.filter((function(e){return e[Object.keys(e)[0]].length>0}))}function w(e,n){var t=(0,r.deepClone)(e);return Object.keys(t).map((function(e){return{adUnitCode:e,adserverTargeting:t[e]}})).sort(C()).reduce((function(e,i,o,a){var c,u=(c=i.adserverTargeting,Object.keys(c).reduce((function(e,n){return e+"".concat(n,"%3d").concat(encodeURIComponent(c[n]),"%26")}),""));o+1===a.length&&(u=u.slice(0,-3));var s=i.adUnitCode,d=u.length;return d<=n?(n-=d,(0,r.logInfo)("AdUnit '".concat(s,"' auction keys comprised of ").concat(d," characters. Deducted from running threshold; new limit is ").concat(n),t[s]),e[s]=t[s]):(0,r.logWarn)("The following keys for adUnitCode '".concat(s,"' exceeded the current limit of the 'auctionKeyMaxChars' setting.\nThe key-set size was ").concat(d,", the current allotted amount was ").concat(n,".\n"),t[s]),o+1===a.length&&0===Object.keys(e).length&&(0,r.logError)("No auction targeting keys were permitted due to the setting in setConfig(targetingControls.auctionKeyMaxChars). Please review setup and consider adjusting."),e}),{})}function O(e){var n=e.map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].map((function(e){return p({},Object.keys(e)[0],e[Object.keys(e)[0]].join(","))})).reduce((function(e,n){return g(n,e)}),{}))})).reduce((function(e,n){var t=Object.keys(n)[0];return e[t]=g({},e[t],n[t]),e}),{});return n}function B(n){return"string"==typeof n?[n]:(0,r.isArray)(n)?n:e.getAdUnitCodes()||[]}function _(){var n=e.getBidsReceived();if(o.vc.getConfig("useBidCache")){var a=o.vc.getConfig("bidCacheFilterFunction");"function"==typeof a&&(n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId||!!a(e)})))}else n=n.filter((function(e){return t[e.adUnitCode]===e.auctionId}));return n=n.filter((function(e){return(0,i.Z)(e,"video.context")!==s.Oh})).filter((function(e){return"banner"!==e.mediaType||(0,u.lO)([e.width,e.height])})).filter(T.isUnusedBid).filter(T.isBidNotExpired),I(n,r.getOldestHighestCpmBid)}function U(e,t){var r=n.getWinningBids(e,t),i=R();return r=r.map((function(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter((function(n){return void 0===e.sendStandardTargeting||e.sendStandardTargeting||-1===i.indexOf(n)})).reduce((function(n,t){var r=[e.adserverTargeting[t]],i=p({},t.substring(0,20),r);if(t===b.TARGETING_KEYS.DEAL){var o=p({},"".concat(t,"_").concat(e.bidderCode).substring(0,20),r);return[].concat(v(n),[i,o])}return[].concat(v(n),[i])}),[]))})),r}function R(){return e.getStandardBidderAdServerTargeting().map((function(e){return e.key})).concat(A).filter(r.uniques)}function D(e,n,t,i){return Object.keys(n.adserverTargeting).filter(k()).forEach((function(t){e.length&&e.filter(function(e){return function(t){return t.adUnitCode===n.adUnitCode&&t.adserverTargeting[e]}}(t)).forEach(function(e){return function(t){(0,r.isArray)(t.adserverTargeting[e])||(t.adserverTargeting[e]=[t.adserverTargeting[e]]),t.adserverTargeting[e]=t.adserverTargeting[e].concat(n.adserverTargeting[e]).filter(r.uniques),delete n.adserverTargeting[e]}}(t))})),e.push(n),e}function k(){var e=R().concat(a.xc);return function(n){return-1===e.indexOf(n)}}function j(e){return p({},e.adUnitCode,Object.keys(e.adserverTargeting).filter(k()).map((function(n){return p({},n.substring(0,20),[e.adserverTargeting[n]])})))}function N(e,n){return n.filter((function(n){return(0,l.q9)(e,n.adUnitCode)})).map((function(e){return g({},e)})).reduce(D,[]).map(j).filter((function(e){return e}))}function P(e,n){var t=A.concat(a.xc),i=o.vc.getConfig("sendBidsControl.bidLimit"),u=I(n,r.getHighestCpm,i),s=o.vc.getConfig("targetingControls.allowSendAllBidsTargetingKeys"),d=s?s.map((function(e){return b.TARGETING_KEYS[e]})):t;return u.map((function(n){if(c(n,e))return p({},n.adUnitCode,x(n,t.filter((function(e){return void 0!==n.adserverTargeting[e]&&-1!==d.indexOf(e)}))))})).filter((function(e){return e}))}function x(e,n){return n.map((function(n){return p({},"".concat(n,"_").concat(e.bidderCode).substring(0,20),[e.adserverTargeting[n]])}))}function q(n){function t(e){return(0,i.Z)(e,b.JSON_MAPPING.ADSERVER_TARGETING)}return e.getAdUnits().filter((function(e){return(0,l.q9)(n,e.code)&&t(e)})).map((function(e){return p({},e.code,function(e){var n=t(e);return Object.keys(n).map((function(e){return(0,r.isStr)(n[e])&&(n[e]=n[e].split(",").map((function(e){return e.trim()}))),(0,r.isArray)(n[e])||(n[e]=[n[e]]),p({},e,n[e])}))}(e))}))}return n.setLatestAuctionForAdUnit=function(e,n){t[e]=n},n.resetPresetTargeting=function(n,t){if((0,r.isGptPubadsDefined)()){var i=B(n),o=e.getAdUnits().filter((function(e){return(0,l.q9)(i,e.code)})),a=h.reduce((function(e,n){return e[n]=null,e}),{});window.googletag.pubads().getSlots().forEach((function(e){var n=(0,r.isFn)(t)&&t(e);o.forEach((function(t){(t.code===e.getAdUnitPath()||t.code===e.getSlotElementId()||(0,r.isFn)(n)&&n(t.code))&&e.updateTargetingFromMap(a)}))}))}},n.resetPresetTargetingAST=function(e){B(e).forEach((function(e){var n=window.apntag.getTag(e);if(n&&n.keywords){var t=Object.keys(n.keywords),r={};t.forEach((function(e){(0,l.q9)(h,e.toLowerCase())||(r[e]=n.keywords[e])})),window.apntag.modifyTag(e,{keywords:r})}}))},n.getAllTargeting=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e),i=U(t,n).concat(N(t,n)).concat(o.vc.getConfig("enableSendAllBids")?P(t,n):d(t,n)).concat(q(t));i.map((function(e){Object.keys(e).map((function(n){e[n].map((function(e){-1===h.indexOf(Object.keys(e)[0])&&(h=Object.keys(e).concat(h))}))}))}));var a=Object.keys(g({},b.DEFAULT_TARGETING_KEYS,b.NATIVE_KEYS)),c=o.vc.getConfig(m),u=o.vc.getConfig(E);if(null!=u&&null!=c)throw new Error(S);c=null!=u?a.concat(u):c||a,Array.isArray(c)&&c.length>0&&(i=y(i,c)),i=O(i);var s=o.vc.getConfig("targetingControls.auctionKeyMaxChars");return s&&((0,r.logInfo)("Detected 'targetingControls.auctionKeyMaxChars' was active for this auction; set with a limit of ".concat(s," characters. Running checks on auction keys...")),i=w(i,s)),t.forEach((function(e){i[e]||(i[e]={})})),i},o.vc.getConfig("targetingControls",(function(e){null!=(0,i.Z)(e,m)&&null!=(0,i.Z)(e,E)&&(0,r.logError)(S)})),n.setTargetingForGPT=function(e,n){window.googletag.pubads().getSlots().forEach((function(t){Object.keys(e).filter(n?n(t):(0,r.isAdUnitCodeMatchingSlot)(t)).forEach((function(n){Object.keys(e[n]).forEach((function(t){var r=e[n][t];"string"==typeof r&&-1!==r.indexOf(",")&&(r=r.split(",")),e[n][t]=r})),(0,r.logMessage)("Attempting to set targeting-map for slot: ".concat(t.getSlotElementId()," with targeting-map:"),e[n]),t.updateTargetingFromMap(e[n])}))}))},n.getWinningBids=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:_(),t=B(e);return n.filter((function(e){return(0,l.q9)(t,e.adUnitCode)})).filter((function(e){return!0===f.S.get(e.bidderCode,"allowZeroCpmBids")?e.cpm>=0:e.cpm>0})).map((function(e){return e.adUnitCode})).filter(r.uniques).map((function(e){return n.filter((function(n){return n.adUnitCode===e?n:null})).reduce(r.getHighestCpm)}))},n.setTargetingForAst=function(e){var t=n.getAllTargeting(e);try{n.resetPresetTargetingAST(e)}catch(e){(0,r.logError)("unable to reset targeting for AST"+e)}Object.keys(t).forEach((function(e){return Object.keys(t[e]).forEach((function(n){if((0,r.logMessage)("Attempting to set targeting for targetId: ".concat(e," key: ").concat(n," value: ").concat(t[e][n])),(0,r.isStr)(t[e][n])||(0,r.isArray)(t[e][n])){var i={};n.search(/pt[0-9]/)<0?i[n.toUpperCase()]=t[e][n]:i[n]=t[e][n],window.apntag.setKeywords(e,i,{overrideKeyValue:!0})}}))}))},n.isApntagDefined=function(){if(window.apntag&&(0,r.isFn)(window.apntag.setKeywords))return!0},n}(c.K)},7112:function(e,n,t){"use strict";t.d(n,{k_:function(){return l}});var r=t(9853),i=t(8962),o=t(1879),a=t(5849);function c(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(e,n)||function(e,n){if(e){if("string"==typeof e)return u(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?u(e,n):void 0}}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function u(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function s(){return s=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},s.apply(this,arguments)}i.vc.setDefaults({userSync:(0,r.deepClone)({syncEnabled:!0,filterSettings:{image:{bidders:"*",filter:"include"}},syncsPerBidder:5,syncDelay:3e3,auctionDelay:0})});var d=(0,a.eA)("usersync"),f=!(0,r.isSafariBrowser)()&&d.cookiesAreEnabled(),l=function(e){var n={},t={image:[],iframe:[]},a=new Set,u={},d={image:!0,iframe:!1},f=e.config;function l(){if(f.syncEnabled&&e.browserSupportsCookies){try{d.iframe&&g(t.iframe,(function(e){var n=c(e,2),i=n[0],o=n[1];(0,r.logMessage)("Invoking iframe user sync for bidder: ".concat(i)),(0,r.insertUserSyncIframe)(o),function(e,n){e.image=e.image.filter((function(e){return e[0]!==n}))}(t,i)})),d.image&&g(t.image,(function(e){var n=c(e,2),t=n[0],i=n[1];(0,r.logMessage)("Invoking image pixel user sync for bidder: ".concat(t)),(0,r.triggerPixel)(i)}))}catch(e){return(0,r.logError)("Error firing user syncs",e)}t={image:[],iframe:[]}}}function g(e,n){(0,r.shuffle)(e).forEach((function(e){n(e),a.add(e[0])}))}return i.vc.getConfig("userSync",(function(e){if(e.userSync){var n=e.userSync.filterSettings;(0,r.isPlainObject)(n)&&(n.image||n.all||(e.userSync.filterSettings.image={bidders:"*",filter:"include"}))}f=s(f,e.userSync)})),n.registerSync=function(e,i,o){return a.has(i)?(0,r.logMessage)('already fired syncs for "'.concat(i,'", ignoring registerSync call')):f.syncEnabled&&(0,r.isArray)(t[e])?i?0!==f.syncsPerBidder&&Number(u[i])>=f.syncsPerBidder?(0,r.logWarn)('Number of user syncs exceeded for "'.concat(i,'"')):n.canBidderRegisterSync(e,i)?(t[e].push([i,o]),void(u=function(e,n){return e[n]?e[n]+=1:e[n]=1,e}(u,i))):(0,r.logWarn)('Bidder "'.concat(i,'" not permitted to register their "').concat(e,'" userSync pixels.')):(0,r.logWarn)("Bidder is required for registering sync"):(0,r.logWarn)('User sync type "'.concat(e,'" not supported'))},n.syncUsers=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(e)return setTimeout(l,Number(e));l()},n.triggerUserSyncs=function(){f.enableOverride&&n.syncUsers()},n.canBidderRegisterSync=function(e,n){return!f.filterSettings||!function(e,n){var t=f.filterSettings;if(function(e,n){if(e.all&&e[n])return(0,r.logWarn)('Detected presence of the "filterSettings.all" and "filterSettings.'.concat(n,'" in userSync config. You cannot mix "all" with "iframe/image" configs; they are mutually exclusive.')),!1;var t=e.all?e.all:e[n],i=e.all?"all":n;if(!t)return!1;var o=t.filter,a=t.bidders;return o&&"include"!==o&&"exclude"!==o?((0,r.logWarn)('UserSync "filterSettings.'.concat(i,".filter\" setting '").concat(o,"' is not a valid option; use either 'include' or 'exclude'.")),!1):!!("*"===a||Array.isArray(a)&&a.length>0&&a.every((function(e){return(0,r.isStr)(e)&&"*"!==e})))||((0,r.logWarn)('Detected an invalid setup in userSync "filterSettings.'.concat(i,".bidders\"; use either '*' (to represent all bidders) or an array of bidders.")),!1)}(t,e)){d[e]=!0;var i=t.all?t.all:t[e],a="*"===i.bidders?[n]:i.bidders,c={include:function(e,n){return!(0,o.q9)(e,n)},exclude:function(e,n){return(0,o.q9)(e,n)}};return c[i.filter||"include"](a,n)}return!d[e]}(e,n)},n}({config:i.vc.getConfig("userSync"),browserSupportsCookies:f})},9853:function(e,n,t){"use strict";t.r(n),t.d(n,{_each:function(){return de},_map:function(){return le},adUnitsFilter:function(){return xe},bind:function(){return _},buildUrl:function(){return Sn},callBurl:function(){return be},checkCookieSupport:function(){return Ve},chunk:function(){return pn},cleanObj:function(){return un},compareOn:function(){return bn},contains:function(){return fe},convertCamelToUnderscore:function(){return cn},convertTypes:function(){return fn},createInvisibleIframe:function(){return $},createTrackPixelHtml:function(){return Ee},createTrackPixelIframeHtml:function(){return Se},cyrb53Hash:function(){return In},debugTurnedOn:function(){return X},deepAccess:function(){return c.Z},deepClone:function(){return qe},deepEqual:function(){return An},deepSetValue:function(){return u.Z},delayExecution:function(){return He},fill:function(){return gn},flatten:function(){return Ie},formatQS:function(){return mn},generateUUID:function(){return D},getAdUnitSizes:function(){return x},getBidIdParameter:function(){return k},getBidRequest:function(){return Ce},getBidderCodes:function(){return _e},getDNT:function(){return $e},getDefinedParams:function(){return Ye},getGptSlotInfoForAdUnitCode:function(){return rn},getHighestCpm:function(){return De},getKeyByValue:function(){return Be},getKeys:function(){return we},getLatestHighestCpmBid:function(){return je},getMaxValueFromArray:function(){return yn},getMinValueFromArray:function(){return vn},getOldestHighestCpmBid:function(){return ke},getOrigin:function(){return Xe},getParameterByName:function(){return ee},getPerformanceNow:function(){return Le},getPrebidInternal:function(){return w},getUniqueIdentifierStr:function(){return R},getUserConfiguredParams:function(){return Qe},getValue:function(){return Oe},getValueString:function(){return Ae},getWindowFromDocument:function(){return Cn},getWindowLocation:function(){return L},getWindowSelf:function(){return z},getWindowTop:function(){return F},groupBy:function(){return Ze},hasConsoleLogger:function(){return Q},hasDeviceAccess:function(){return Ke},hasOwn:function(){return ge},inIframe:function(){return Me},insertElement:function(){return pe},insertHtmlIntoIframe:function(){return he},insertUserSyncIframe:function(){return me},internal:function(){return I},isA:function(){return ne},isAdUnitCodeMatchingSlot:function(){return nn},isApnGetTagDefined:function(){return Re},isArray:function(){return ie},isArrayOfNums:function(){return ln},isBoolean:function(){return ce},isEmpty:function(){return ue},isEmptyStr:function(){return se},isFn:function(){return te},isGptPubadsDefined:function(){return Ue},isInteger:function(){return an},isNumber:function(){return oe},isPlainObject:function(){return ae},isSafariBrowser:function(){return Ge},isSlotMatchingAdUnitCode:function(){return tn},isStr:function(){return re},isValidMediaTypes:function(){return Je},logError:function(){return Z},logInfo:function(){return V},logMessage:function(){return K},logWarn:function(){return H},mergeDeep:function(){return Tn},parseGPTSingleSizeArray:function(){return M},parseGPTSingleSizeArrayToRtbSize:function(){return G},parseQS:function(){return hn},parseQueryStringParameters:function(){return N},parseSizesInput:function(){return q},parseUrl:function(){return En},pick:function(){return sn},prefixLog:function(){return Y},replaceAuctionPrice:function(){return We},replaceClickThrough:function(){return Fe},shuffle:function(){return Pe},timestamp:function(){return ze},transformAdServerTargetingObj:function(){return P},transformBidderParamKeywords:function(){return dn},triggerPixel:function(){return ye},tryAppendQueryString:function(){return j},uniques:function(){return Te},unsupportedBidderMessage:function(){return on},waitForElementToLoad:function(){return ve}});var r=t(8962),i=t(7079),o=t.n(i),a=t(1879),c=t(265),u=t(4806);function s(e){return function(e){if(Array.isArray(e))return f(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,n){if(e){if("string"==typeof e)return f(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?f(e,n):void 0}}function f(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function l(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function g(){return g=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])}return e},g.apply(this,arguments)}function p(e){return p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},p(e)}var v,y=t(5644),b=Object.prototype.toString,h=Boolean(window.console),m=Boolean(h&&window.console.log),E=Boolean(h&&window.console.info),S=Boolean(h&&window.console.warn),A=Boolean(h&&window.console.error),T=function(){return null==v&&(v=t(2319)),v.emit.apply(v,arguments)},I={checkCookieSupport:Ve,createTrackPixelIframeHtml:Se,getWindowSelf:z,getWindowTop:F,getWindowLocation:L,insertUserSyncIframe:me,insertElement:pe,isFn:te,triggerPixel:ye,logError:Z,logWarn:H,logMessage:K,logInfo:V,parseQS:hn,formatQS:mn,deepEqual:An},C={};function w(){return C}var O,B={},_=function(e,n){return n}.bind(null,1,B)()===B?Function.prototype.bind:function(e){var n=this,t=Array.prototype.slice.call(arguments,1);return function(){return n.apply(e,t.concat(Array.prototype.slice.call(arguments)))}},U=(O=0,function(){return++O});function R(){return U()+Math.random().toString(16).substr(2)}function D(e){return e?(e^(window&&window.crypto&&window.crypto.getRandomValues?crypto.getRandomValues(new Uint8Array(1))[0]%16:16*Math.random())>>e/4).toString(16):([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,D)}function k(e,n){return n&&n[e]?n[e]:""}function j(e,n,t){return t?e+n+"="+encodeURIComponent(t)+"&":e}function N(e){var n="";for(var t in e)e.hasOwnProperty(t)&&(n+=t+"="+encodeURIComponent(e[t])+"&");return n.replace(/&$/,"")}function P(e){return e&&Object.getOwnPropertyNames(e).length>0?we(e).map((function(n){return"".concat(n,"=").concat(encodeURIComponent(Oe(e,n)))})).join("&"):""}function x(e){if(e){var n=[];if(e.mediaTypes&&e.mediaTypes.banner&&Array.isArray(e.mediaTypes.banner.sizes)){var t=e.mediaTypes.banner.sizes;Array.isArray(t[0])?n=t:n.push(t)}else Array.isArray(e.sizes)&&(Array.isArray(e.sizes[0])?n=e.sizes:n.push(e.sizes));return n}}function q(e){var n=[];if("string"==typeof e){var t=e.split(","),r=/^(\d)+x(\d)+$/i;if(t)for(var i in t)ge(t,i)&&t[i].match(r)&&n.push(t[i])}else if("object"===p(e)){var o=e.length;if(o>0)if(2===o&&"number"==typeof e[0]&&"number"==typeof e[1])n.push(M(e));else for(var a=0;a<o;a++)n.push(M(e[a]))}return n}function M(e){if(W(e))return e[0]+"x"+e[1]}function G(e){if(W(e))return{w:e[0],h:e[1]}}function W(e){return ie(e)&&2===e.length&&!isNaN(e[0])&&!isNaN(e[1])}function F(){return window.top}function z(){return window.self}function L(){return window.location}function K(){X()&&m&&console.log.apply(console,J(arguments,"MESSAGE:"))}function V(){X()&&E&&console.info.apply(console,J(arguments,"INFO:"))}function H(){X()&&S&&console.warn.apply(console,J(arguments,"WARNING:")),T(y.EVENTS.AUCTION_DEBUG,{type:"WARNING",arguments:arguments})}function Z(){X()&&A&&console.error.apply(console,J(arguments,"ERROR:")),T(y.EVENTS.AUCTION_DEBUG,{type:"ERROR",arguments:arguments})}function Y(e){function n(n){return function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];n.apply(void 0,[e].concat(r))}}return{logError:n(Z),logWarn:n(H),logMessage:n(K),logInfo:n(V)}}function J(e,n){e=[].slice.call(e);var t=r.vc.getCurrentBidder();return n&&e.unshift(n),t&&e.unshift(i("#aaa")),e.unshift(i("#3b88c3")),e.unshift("%cPrebid"+(t?"%c".concat(t):"")),e;function i(e){return"display: inline-block; color: #fff; background: ".concat(e,"; padding: 1px 4px; border-radius: 3px;")}}function Q(){return m}function X(){return!!r.vc.getConfig("debug")}function $(){var e=document.createElement("iframe");return e.id=R(),e.height=0,e.width=0,e.border="0px",e.hspace="0",e.vspace="0",e.marginWidth="0",e.marginHeight="0",e.style.border="0",e.scrolling="no",e.frameBorder="0",e.src="about:blank",e.style.display="none",e}function ee(e){return hn(L().search)[e]||""}function ne(e,n){return b.call(e)==="[object "+n+"]"}function te(e){return ne(e,"Function")}function re(e){return ne(e,"String")}function ie(e){return ne(e,"Array")}function oe(e){return ne(e,"Number")}function ae(e){return ne(e,"Object")}function ce(e){return ne(e,"Boolean")}function ue(e){if(!e)return!0;if(ie(e)||re(e))return!(e.length>0);for(var n in e)if(hasOwnProperty.call(e,n))return!1;return!0}function se(e){return re(e)&&(!e||0===e.length)}function de(e,n){if(!ue(e)){if(te(e.forEach))return e.forEach(n,this);var t=0,r=e.length;if(r>0)for(;t<r;t++)n(e[t],t,e);else for(t in e)hasOwnProperty.call(e,t)&&n.call(this,e[t],t)}}function fe(e,n){if(ue(e))return!1;if(te(e.indexOf))return-1!==e.indexOf(n);for(var t=e.length;t--;)if(e[t]===n)return!0;return!1}function le(e,n){if(ue(e))return[];if(te(e.map))return e.map(n);var t=[];return de(e,(function(r,i){t.push(n(r,i,e))})),t}function ge(e,n){return e.hasOwnProperty?e.hasOwnProperty(n):void 0!==e[n]&&e.constructor.prototype[n]!==e[n]}function pe(e,n,t,r){var i;n=n||document,i=t?n.getElementsByTagName(t):n.getElementsByTagName("head");try{if((i=i.length?i:n.getElementsByTagName("body")).length){i=i[0];var o=r?null:i.firstChild;return i.insertBefore(e,o)}}catch(e){}}function ve(e,n){var t=null;return new Promise((function(r){var i=function n(){e.removeEventListener("load",n),e.removeEventListener("error",n),null!=t&&window.clearTimeout(t),r()};e.addEventListener("load",i),e.addEventListener("error",i),null!=n&&(t=window.setTimeout(i,n))}))}function ye(e,n,t){var r=new Image;n&&I.isFn(n)&&ve(r,t).then(n),r.src=e}function be(e){var n=e.source,t=e.burl;n===y.S2S.SRC&&t&&I.triggerPixel(t)}function he(e){if(e){var n=document.createElement("iframe");n.id=R(),n.width=0,n.height=0,n.hspace="0",n.vspace="0",n.marginWidth="0",n.marginHeight="0",n.style.display="none",n.style.height="0px",n.style.width="0px",n.scrolling="no",n.frameBorder="0",n.allowtransparency="true",I.insertElement(n,document,"body"),n.contentWindow.document.open(),n.contentWindow.document.write(e),n.contentWindow.document.close()}}function me(e,n,t){var r=I.createTrackPixelIframeHtml(e,!1,"allow-scripts allow-same-origin"),i=document.createElement("div");i.innerHTML=r;var o=i.firstChild;n&&I.isFn(n)&&ve(o,t).then(n),I.insertElement(o,document,"html",!0)}function Ee(e){return e?'<div style="position:absolute;left:0px;top:0px;visibility:hidden;">'+'<img src="'+encodeURI(e)+'"></div>':""}function Se(e){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e?(n&&(e=encodeURI(e)),t&&(t='sandbox="'.concat(t,'"')),"<iframe ".concat(t,' id="').concat(R(),'"\n frameborder="0"\n allowtransparency="true"\n marginheight="0" marginwidth="0"\n width="0" hspace="0" vspace="0" height="0"\n style="height:0px;width:0px;display:none;"\n scrolling="no"\n src="').concat(e,'">\n </iframe>')):""}function Ae(e,n,t){return null==n?t:re(n)?n:oe(n)?n.toString():void I.logWarn("Unsuported type for param: "+e+" required type: String")}function Te(e,n,t){return t.indexOf(e)===n}function Ie(e,n){return e.concat(n)}function Ce(e,n){var t;if(e)return n.some((function(n){var r=(0,a.sE)(n.bids,(function(n){return["bidId","adId","bid_id"].some((function(t){return n[t]===e}))}));return r&&(t=r),r})),t}function we(e){return Object.keys(e)}function Oe(e,n){return e[n]}function Be(e,n){for(var t in e)if(e.hasOwnProperty(t)&&e[t]===n)return t}function _e(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:pbjs.adUnits;return e.map((function(e){return e.bids.map((function(e){return e.bidder})).reduce(Ie,[])})).reduce(Ie,[]).filter(Te)}function Ue(){if(window.googletag&&te(window.googletag.pubads)&&te(window.googletag.pubads().getSlots))return!0}function Re(){if(window.apntag&&te(window.apntag.getTag))return!0}var De=Ne("timeToRespond",(function(e,n){return e>n})),ke=Ne("responseTimestamp",(function(e,n){return e>n})),je=Ne("responseTimestamp",(function(e,n){return e<n}));function Ne(e,n){return function(t,r){return t.cpm===r.cpm?n(t[e],r[e])?r:t:t.cpm<r.cpm?r:t}}function Pe(e){for(var n=e.length;n>0;){var t=Math.floor(Math.random()*n),r=e[--n];e[n]=e[t],e[t]=r}return e}function xe(e,n){return(0,a.q9)(e,n&&n.adUnitCode)}function qe(e){return o()(e)}function Me(){try{return I.getWindowSelf()!==I.getWindowTop()}catch(e){return!0}}function Ge(){return/^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent)}function We(e,n){if(e)return e.replace(/\$\{AUCTION_PRICE\}/g,n)}function Fe(e,n){if(e&&n&&"string"==typeof n)return e.replace(/\${CLICKTHROUGH}/g,n)}function ze(){return(new Date).getTime()}function Le(){return window.performance&&window.performance.now&&window.performance.now()||0}function Ke(){return!1!==r.vc.getConfig("deviceAccess")}function Ve(){if(window.navigator.cookieEnabled||document.cookie.length)return!0}function He(e,n){if(n<1)throw new Error("numRequiredCalls must be a positive number. Got ".concat(n));var t=0;return function(){++t===n&&e.apply(this,arguments)}}function Ze(e,n){return e.reduce((function(e,t){return(e[t[n]]=e[t[n]]||[]).push(t),e}),{})}function Ye(e,n){return n.filter((function(n){return e[n]})).reduce((function(n,t){return g(n,l({},t,e[t]))}),{})}function Je(e){var n=["banner","native","video"];return!!Object.keys(e).every((function(e){return(0,a.q9)(n,e)}))&&(!e.video||!e.video.context||(0,a.q9)(["instream","outstream","adpod"],e.video.context))}function Qe(e,n,t){return e.filter((function(e){return e.code===n})).map((function(e){return e.bids})).reduce(Ie,[]).filter((function(e){return e.bidder===t})).map((function(e){return e.params||{}}))}function Xe(){return window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")}function $e(){return"1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack}var en=function(e,n){return e.getAdUnitPath()===n||e.getSlotElementId()===n};function nn(e){return function(n){return en(e,n)}}function tn(e){return function(n){return en(n,e)}}function rn(e){var n;return Ue()&&(n=(0,a.sE)(window.googletag.pubads().getSlots(),tn(e))),n?{gptSlot:n.getAdUnitPath(),divId:n.getSlotElementId()}:{}}function on(e,n){var t=Object.keys(e.mediaTypes||{banner:"banner"}).join(", ");return"\n ".concat(e.code," is a ").concat(t," ad unit\n containing bidders that don't support ").concat(t,": ").concat(n,".\n This bidder won't fetch demand.\n ")}function an(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}function cn(e){return e.replace(/(?:^|\.?)([A-Z])/g,(function(e,n){return"_"+n.toLowerCase()})).replace(/^_/,"")}function un(e){return Object.keys(e).reduce((function(n,t){return void 0!==e[t]&&(n[t]=e[t]),n}),{})}function sn(e,n){return"object"!==p(e)?{}:n.reduce((function(t,r,i){if("function"==typeof r)return t;var o=r,a=r.match(/^(.+?)\sas\s(.+?)$/i);a&&(r=a[1],o=a[2]);var c=e[r];return"function"==typeof n[i+1]&&(c=n[i+1](c,t)),void 0!==c&&(t[o]=c),t}),{})}function dn(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"keywords",t=[];return de(e,(function(e,r){if(ie(e)){var i=[];de(e,(function(e){((e=Ae(n+"."+r,e))||""===e)&&i.push(e)})),e=i}else{if(!re(e=Ae(n+"."+r,e)))return;e=[e]}t.push({key:r,value:e})})),t}function fn(e,n){return Object.keys(e).forEach((function(t){var r,i;n[t]&&(te(e[t])?n[t]=e[t](n[t]):n[t]=(r=e[t],i=n[t],"string"===r?i&&i.toString():"number"===r?Number(i):i),isNaN(n[t])&&delete n.key)})),n}function ln(e,n){return ie(e)&&(!n||e.length===n)&&e.every((function(e){return an(e)}))}function gn(e,n){for(var t=[],r=0;r<n;r++){var i=ae(e)?qe(e):e;t.push(i)}return t}function pn(e,n){for(var t=[],r=0;r<Math.ceil(e.length/n);r++){var i=r*n,o=i+n;t.push(e.slice(i,o))}return t}function vn(e){return Math.min.apply(Math,s(e))}function yn(e){return Math.max.apply(Math,s(e))}function bn(e){return function(n,t){return n[e]<t[e]?1:n[e]>t[e]?-1:0}}function hn(e){return e?e.replace(/^\?/,"").split("&").reduce((function(e,n){var t,r,i=(t=n.split("="),r=2,function(e){if(Array.isArray(e))return e}(t)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,i,o=[],a=!0,c=!1;try{for(t=t.call(e);!(a=(r=t.next()).done)&&(o.push(r.value),!n||o.length!==n);a=!0);}catch(e){c=!0,i=e}finally{try{a||null==t.return||t.return()}finally{if(c)throw i}}return o}}(t,r)||d(t,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=i[0],a=i[1];return/\[\]$/.test(o)?(e[o=o.replace("[]","")]=e[o]||[],e[o].push(a)):e[o]=a||"",e}),{}):{}}function mn(e){return Object.keys(e).map((function(n){return Array.isArray(e[n])?e[n].map((function(e){return"".concat(n,"[]=").concat(e)})).join("&"):"".concat(n,"=").concat(e[n])})).join("&")}function En(e,n){var t=document.createElement("a");n&&"noDecodeWholeURL"in n&&n.noDecodeWholeURL?t.href=e:t.href=decodeURIComponent(e);var r=n&&"decodeSearchAsString"in n&&n.decodeSearchAsString;return{href:t.href,protocol:(t.protocol||"").replace(/:$/,""),hostname:t.hostname,port:+t.port,pathname:t.pathname.replace(/^(?!\/)/,"/"),search:r?t.search:I.parseQS(t.search||""),hash:(t.hash||"").replace(/^#/,""),host:t.host||window.location.host}}function Sn(e){return(e.protocol||"http")+"://"+(e.host||e.hostname+(e.port?":".concat(e.port):""))+(e.pathname||"")+(e.search?"?".concat(I.formatQS(e.search||"")):"")+(e.hash?"#".concat(e.hash):"")}function An(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.checkTypes,i=void 0!==r&&r;if(e===n)return!0;if("object"!==p(e)||null===e||"object"!==p(n)||null===n||i&&e.constructor!==n.constructor)return!1;if(Object.keys(e).length!==Object.keys(n).length)return!1;for(var o in e){if(!n.hasOwnProperty(o))return!1;if(!An(e[o],n[o],{checkTypes:i}))return!1}return!0}function Tn(e){for(var n=arguments.length,t=new Array(n>1?n-1:0),r=1;r<n;r++)t[r-1]=arguments[r];if(!t.length)return e;var i=t.shift();if(ae(e)&&ae(i)){var o=function(n){ae(i[n])?(e[n]||g(e,l({},n,{})),Tn(e[n],i[n])):ie(i[n])?e[n]?ie(e[n])&&i[n].forEach((function(t){for(var r=1,i=0;i<e[n].length;i++)if(An(e[n][i],t)){r=0;break}r&&e[n].push(t)})):g(e,l({},n,s(i[n]))):g(e,l({},n,i[n]))};for(var a in i)o(a)}return Tn.apply(void 0,[e].concat(t))}function In(e){for(var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=function(e,n){if(te(Math.imul))return Math.imul(e,n);var t=(4194303&e)*(n|=0);return 4290772992&e&&(t+=(4290772992&e)*n|0),0|t},i=3735928559^t,o=1103547991^t,a=0;a<e.length;a++)i=r(i^(n=e.charCodeAt(a)),2654435761),o=r(o^n,1597334677);return i=r(i^i>>>16,2246822507)^r(o^o>>>13,3266489909),(4294967296*(2097151&(o=r(o^o>>>16,2246822507)^r(i^i>>>13,3266489909)))+(i>>>0)).toString()}function Cn(e){return e?e.defaultView:null}},1929:function(e,n,t){"use strict";t.d(n,{Dn:function(){return d},LD:function(){return s},gZ:function(){return u},hD:function(){return f}});var r=t(265),i=t(9853),o=t(8962),a=t(3494),c=t(4766),u="outstream",s="instream";function d(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,i=void 0===t?c.K.index:t,o=(0,r.Z)(i.getMediaTypes(e),"video"),a=o&&(0,r.Z)(o,"context"),u=i.getAdUnit(e);return f(e,u,o,a)}var f=(0,a.z3)("sync",(function(e,n,t,r){return t&&r!==u?o.vc.getConfig("cache.url")||!e.vastXml||e.vastUrl?!(!e.vastUrl&&!e.vastXml):((0,i.logError)('\n This bid contains only vastXml and will not work when a prebid cache url is not specified.\n Try enabling prebid cache with pbjs.setConfig({ cache: {url: "..."} });\n '),!1):r!==u||!!(e.renderer||n&&n.renderer||t.renderer)}),"checkVideoBidSetup")},905:function(e,n,t){"use strict";t.d(n,{h:function(){return u},z:function(){return s}});var r=t(5755),i=t(8962),o=t(4766);function a(e,n){var t=n?"<![CDATA[".concat(n,"]]]]><![CDATA[>"):"";return'<VAST version="3.0">\n <Ad>\n <Wrapper>\n <AdSystem>prebid.org wrapper</AdSystem>\n <VASTAdTagURI><![CDATA['.concat(e,"]]]]><![CDATA[></VASTAdTagURI>\n <Impression>").concat(t,"</Impression>\n <Creatives></Creatives>\n </Wrapper>\n </Ad>\n </VAST>")}function c(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=n.index,r=void 0===t?o.K.index:t,c=e.vastXml?e.vastXml:a(e.vastUrl,e.vastImpUrl),u=r.getAuction(e),s={type:"xml",value:c,ttlseconds:Number(e.ttl)};return i.vc.getConfig("cache.vasttrack")&&(s.bidder=e.bidder,s.bidid=e.requestId,s.aid=e.auctionId),null!=u&&(s.timestamp=u.getAuctionStart()),"string"==typeof e.customCacheKey&&""!==e.customCacheKey&&(s.key=e.customCacheKey),s}function u(e,n){var t={puts:e.map(c)};(0,r.h)(i.vc.getConfig("cache.url"),function(e){return{success:function(n){var t;try{t=JSON.parse(n).responses}catch(n){return void e(n,[])}t?e(null,t):e(new Error("The cache server didn't respond with a responses property."),[])},error:function(n,t){e(new Error("Error storing video ad in the cache: ".concat(n,": ").concat(JSON.stringify(t))),[])}}}(n),JSON.stringify(t),{contentType:"text/plain",withCredentials:!0})}function s(e){return"".concat(i.vc.getConfig("cache.url"),"?uuid=").concat(e)}},265:function(e,n,t){"use strict";function r(e,n,t,r,i){for(n=n.split?n.split("."):n,r=0;r<n.length;r++)e=e?e[n[r]]:i;return e===i?t:e}t.d(n,{Z:function(){return r}})},4806:function(e,n,t){"use strict";function r(e,n,t){n.split&&(n=n.split("."));for(var r,i=0,o=n.length,a=e;i<o;++i)r=a[n[i]],a=a[n[i]]=i===o-1?t:null!=r?r:!~n[i+1].indexOf(".")&&+n[i+1]>-1?[]:{}}t.d(n,{Z:function(){return r}})},1432:function(e){a.SYNC=1,a.ASYNC=2,a.QUEUE=4;var n=Object.freeze({useProxy:!0,ready:0}),t=new WeakMap,r="2,1,0"===[1].reduce((function(e,n,t){return[e,n,t]}),2).toString()?Array.prototype.reduce:function(e,n){var t,r=Object(this),i=r.length>>>0,o=0;if(n)t=n;else{for(;o<i&&!(o in r);)o++;t=r[o++]}for(;o<i;)o in r&&(t=e(t,r[o],o,r)),o++;return t};function i(e,n){return Array.prototype.slice.call(e,n)}var o=Object.assign||function(e){return r.call(i(arguments,1),(function(e,n){return n&&Object.keys(n).forEach((function(t){e[t]=n[t]})),e}),e)};function a(e){var c,u={},s=[];function d(e,n){return"function"==typeof e?p.call(null,"sync",e,n):"string"==typeof e&&"function"==typeof n?p.apply(null,arguments):"object"==typeof e?f.apply(null,arguments):void 0}function f(e,n,t){var r=!0;void 0===n&&(n=Object.getOwnPropertyNames(e),r=!1);var i={},o=["constructor"];do{(n=n.filter((function(n){return!("function"!=typeof e[n]||-1!==o.indexOf(n)||n.match(/^_/))}))).forEach((function(n){var r=n.split(":"),o=r[0],a=r[1]||"sync";if(!i[o]){var c=e[o];i[o]=e[o]=p(a,c,t?[t,o]:void 0)}})),e=Object.getPrototypeOf(e)}while(r&&e);return i}function l(e){var n=Array.isArray(e)?e:e.split(".");return r.call(n,(function(t,r,i){var o=t[r],a=!1;return o||(i===n.length-1?(c||s.push((function(){a||console.warn("fun-hooks: referenced '"+e+"' but it was never created")})),t[r]=g((function(e){t[r]=e,a=!0}))):t[r]={})}),u)}function g(e){var n=[],r=[],i=function(){},a={before:function(e,t){return u.call(this,n,"before",e,t)},after:function(e,n){return u.call(this,r,"after",e,n)},getHooks:function(e){var t=n.concat(r);"object"==typeof e&&(t=t.filter((function(n){return Object.keys(e).every((function(t){return n[t]===e[t]}))})));try{o(t,{remove:function(){return t.forEach((function(e){e.remove()})),this}})}catch(e){console.error("error adding `remove` to array, did you modify Array.prototype?")}return t},removeAll:function(){return this.getHooks().remove()}},c={install:function(t,o,a){this.type=t,i=a,a(n,r),e&&e(o)}};return t.set(a.after,c),a;function u(e,t,o,a){var c={hook:o,type:t,priority:a||10,remove:function(){var t=e.indexOf(c);-1!==t&&(e.splice(t,1),i(n,r))}};return e.push(c),e.sort((function(e,n){return n.priority-e.priority})),i(n,r),this}}function p(n,r,u){var d=r.after&&t.get(r.after);if(d){if(d.type!==n)throw"fun-hooks: recreated hookable with different type";return r}var f,p,v=u?l(u):g(),y={get:function(e,n){return v[n]||Reflect.get.apply(Reflect,arguments)}};return c||s.push(b),e.useProxy&&"function"==typeof Proxy&&Proxy.revocable?p=new Proxy(r,y):(p=function(){return y.apply?y.apply(r,this,i(arguments)):r.apply(this,arguments)},o(p,v)),t.get(p.after).install(n,p,(function(e,t){var r,o=[];function a(e){o.push(e.hook)}e.length||t.length?(e.forEach(a),r=o.push(void 0)-1,t.forEach(a),f=function(e,t,a){var c,u=0,s="async"===n&&"function"==typeof a[a.length-1]&&a.pop();function d(e){"sync"===n?c=e:s&&s.apply(null,arguments)}function f(e){if(o[u]){var r=i(arguments);return f.bail=d,r.unshift(f),o[u++].apply(t,r)}"sync"===n?c=e:s&&s.apply(null,arguments)}return o[r]=function(){var r=i(arguments,1);"async"===n&&s&&(delete f.bail,r.push(f));var o=e.apply(t,r);"sync"===n&&f(o)},f.apply(null,a),c}):f=void 0,b()})),p;function b(){!c&&("sync"!==n||e.ready&a.SYNC)&&("async"!==n||e.ready&a.ASYNC)?"sync"!==n&&e.ready&a.QUEUE?y.apply=function(){var e=arguments;s.push((function(){p.apply(e[1],e[2])}))}:y.apply=function(){throw"fun-hooks: hooked function not ready"}:y.apply=f}}return(e=o({},n,e)).ready?d.ready=function(){c=!0,function(e){for(var n;n=e.shift();)n()}(s)}:c=!0,d.get=l,d}e.exports=a},7079:function(e){e.exports=function e(n){var t=Array.isArray(n)?[]:{};for(var r in n){var i=n[r];t[r]=i&&"object"==typeof i?e(i):i}return t}},5644:function(e){"use strict";e.exports=JSON.parse('{"JSON_MAPPING":{"PL_CODE":"code","PL_SIZE":"sizes","PL_BIDS":"bids","BD_BIDDER":"bidder","BD_ID":"paramsd","BD_PL_ID":"placementId","ADSERVER_TARGETING":"adserverTargeting","BD_SETTING_STANDARD":"standard"},"DEBUG_MODE":"pbjs_debug","STATUS":{"GOOD":1,"NO_BID":2},"CB":{"TYPE":{"ALL_BIDS_BACK":"allRequestedBidsBack","AD_UNIT_BIDS_BACK":"adUnitBidsBack","BID_WON":"bidWon","REQUEST_BIDS":"requestBids"}},"EVENTS":{"AUCTION_INIT":"auctionInit","AUCTION_END":"auctionEnd","BID_ADJUSTMENT":"bidAdjustment","BID_TIMEOUT":"bidTimeout","BID_REQUESTED":"bidRequested","BID_RESPONSE":"bidResponse","NO_BID":"noBid","BID_WON":"bidWon","BIDDER_DONE":"bidderDone","BIDDER_ERROR":"bidderError","SET_TARGETING":"setTargeting","BEFORE_REQUEST_BIDS":"beforeRequestBids","BEFORE_BIDDER_HTTP":"beforeBidderHttp","REQUEST_BIDS":"requestBids","ADD_AD_UNITS":"addAdUnits","AD_RENDER_FAILED":"adRenderFailed","AD_RENDER_SUCCEEDED":"adRenderSucceeded","TCF2_ENFORCEMENT":"tcf2Enforcement","AUCTION_DEBUG":"auctionDebug","BID_VIEWABLE":"bidViewable","STALE_RENDER":"staleRender","BILLABLE_EVENT":"billableEvent"},"AD_RENDER_FAILED_REASON":{"PREVENT_WRITING_ON_MAIN_DOCUMENT":"preventWritingOnMainDocument","NO_AD":"noAd","EXCEPTION":"exception","CANNOT_FIND_AD":"cannotFindAd","MISSING_DOC_OR_ADID":"missingDocOrAdid"},"EVENT_ID_PATHS":{"bidWon":"adUnitCode"},"GRANULARITY_OPTIONS":{"LOW":"low","MEDIUM":"medium","HIGH":"high","AUTO":"auto","DENSE":"dense","CUSTOM":"custom"},"TARGETING_KEYS":{"BIDDER":"hb_bidder","AD_ID":"hb_adid","PRICE_BUCKET":"hb_pb","SIZE":"hb_size","DEAL":"hb_deal","SOURCE":"hb_source","FORMAT":"hb_format","UUID":"hb_uuid","CACHE_ID":"hb_cache_id","CACHE_HOST":"hb_cache_host","ADOMAIN":"hb_adomain"},"DEFAULT_TARGETING_KEYS":{"BIDDER":"hb_bidder","AD_ID":"hb_adid","PRICE_BUCKET":"hb_pb","SIZE":"hb_size","DEAL":"hb_deal","FORMAT":"hb_format","UUID":"hb_uuid","CACHE_HOST":"hb_cache_host"},"NATIVE_KEYS":{"title":"hb_native_title","body":"hb_native_body","body2":"hb_native_body2","privacyLink":"hb_native_privacy","privacyIcon":"hb_native_privicon","sponsoredBy":"hb_native_brand","image":"hb_native_image","icon":"hb_native_icon","clickUrl":"hb_native_linkurl","displayUrl":"hb_native_displayurl","cta":"hb_native_cta","rating":"hb_native_rating","address":"hb_native_address","downloads":"hb_native_downloads","likes":"hb_native_likes","phone":"hb_native_phone","price":"hb_native_price","salePrice":"hb_native_saleprice","rendererUrl":"hb_renderer_url","adTemplate":"hb_adTemplate"},"S2S":{"SRC":"s2s","DEFAULT_ENDPOINT":"https://prebid.adnxs.com/pbs/v1/openrtb2/auction","SYNCED_BIDDERS_KEY":"pbjsSyncs"},"BID_STATUS":{"BID_TARGETING_SET":"targetingSet","RENDERED":"rendered","BID_REJECTED":"bidRejected"}}')}},t={};function r(e){var i=t[e];if(void 0!==i)return i.exports;var o=t[e]={exports:{}};return n[e].call(o.exports,o,o.exports,r),o.exports}r.m=n,e=[],r.O=function(n,t,i,o){if(!t){var a=1/0;for(d=0;d<e.length;d++){t=e[d][0],i=e[d][1],o=e[d][2];for(var c=!0,u=0;u<t.length;u++)(!1&o||a>=o)&&Object.keys(r.O).every((function(e){return r.O[e](t[u])}))?t.splice(u--,1):(c=!1,o<a&&(a=o));if(c){e.splice(d--,1);var s=i();void 0!==s&&(n=s)}}return n}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[t,i,o]},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,{a:n}),n},r.d=function(e,n){for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={5602:0};r.O.j=function(n){return 0===e[n]};var n=function(n,t){var i,o,a=t[0],c=t[1],u=t[2],s=0;if(a.some((function(n){return 0!==e[n]}))){for(i in c)r.o(c,i)&&(r.m[i]=c[i]);if(u)var d=u(r)}for(n&&n(t);s<a.length;s++)o=a[s],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(d)},t=self.pbjsChunk=self.pbjsChunk||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))}();var i=r(2786);i=r.O(i)}(); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[3188],{4475:function(e,t,n){var r=n(9853),o=n(1609),s=n(5849);function a(e){return a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a(e)}var i="concert",d={code:i,isBidRequestValid:function(e){return!!e.params.partnerId||((0,r.logWarn)("Missing partnerId bid parameter"),!1)},buildRequests:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n={meta:{prebidVersion:"6.23.0",pageUrl:t.refererInfo.referer,screen:[window.screen.width,window.screen.height].join("x"),debug:(0,r.debugTurnedOn)(),uid:u(t),optedOut:p(),adapterVersion:"1.1.1",uspConsent:t.uspConsent,gdprConsent:t.gdprConsent}};return n.slots=e.map((function(e){return{name:e.adUnitCode,bidId:e.bidId,transactionId:e.transactionId,sizes:e.params.sizes||e.sizes,partnerId:e.params.partnerId,slotType:e.params.slotType,adSlot:e.params.slot||e.adUnitCode,placementId:e.params.placementId||"",site:e.params.site||t.refererInfo.referer}})),(0,r.logMessage)(n),{method:"POST",url:"".concat("https://bids.concert.io","/bids/prebid"),data:JSON.stringify(n)}},interpretResponse:function(e,t){(0,r.logMessage)(e),(0,r.logMessage)(t);var n,o=e.body;return o&&"object"===a(o)?(n=o.bids.map((function(e){return{requestId:e.bidId,cpm:e.cpm,width:e.width,height:e.height,ad:e.ad,ttl:e.ttl,meta:{advertiserDomains:e&&e.adomain?e.adomain:[]},creativeId:e.creativeId,netRevenue:e.netRevenue,currency:e.currency}})),(0,r.debugTurnedOn)()&&o.debug&&(0,r.logMessage)("CONCERT",o.debug),(0,r.logMessage)(n),n):[]},getUserSyncs:function(e,t,n,r){var o=[];if(e.iframeEnabled&&!p()){var s=[];n&&"boolean"==typeof n.gdprApplies&&s.push("gdpr_applies=".concat(n.gdprApplies?"1":"0")),n&&"string"==typeof n.consentString&&s.push("gdpr_consent=".concat(n.consentString)),r&&"string"==typeof r&&s.push("usp_consent=".concat(r)),o.push({type:"iframe",url:"https://cdn.concert.io/lib/bids/sync.html"+(s.length>0?"?".concat(s.join("&")):"")})}return o},onTimeout:function(e){(0,r.logMessage)("concert bidder timed out"),(0,r.logMessage)(e)},onBidWon:function(e){(0,r.logMessage)("concert bidder won bid"),(0,r.logMessage)(e)}};(0,o.registerBidder)(d);var c=(0,s.df)({bidderCode:i});function u(e){if(p()||!function(e){return!("string"===e.uspConsent&&"1YY"===e.uspConsent.toUpperCase().substring(0,2))}(e))return!1;var t="c_uid",n=c.getDataFromLocalStorage(t);return n||(n=(0,r.generateUUID)(),c.setDataInLocalStorage(t,n)),n}function p(){return"true"===c.getDataFromLocalStorage("c_nap")}window.pbjs.installedModules.push("concertBidAdapter")}},function(e){e(e.s=4475)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[1266],{1654:function(n,e,t){var o=t(9853),a=t(8962),r=t(7602),i=t(1879);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}function s(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(n);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),t.push.apply(t,o)}return t}function l(n){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?s(Object(t),!0).forEach((function(e){d(n,e,t[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(t,e))}))}return n}function d(n,e,t){return e in n?Object.defineProperty(n,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):n[e]=t,n}var u,f,p,g,v,m={value:!0,definedInConfig:!1},b=0,C=!1,y={iab:function(n){var e=n.onSuccess,t=n.onError,a=n.width,r=n.height;function c(n,a){(0,o.logInfo)("Received a response from CMP",n),a?!1!==n.gdprApplies&&"tcloaded"!==n.eventStatus&&"useractioncomplete"!==n.eventStatus||D(n,{onSuccess:e,onError:t}):t("CMP unable to register callback function. Please check CMP setup.")}var s=function(){var n={};function a(){n.getConsentData&&n.getVendorConsents&&((0,o.logInfo)("Received all requested responses from CMP",n),D(n,{onSuccess:e,onError:t}))}return{consentDataCallback:function(e){n.getConsentData=e,a()},vendorConsentsCallback:function(e){n.getVendorConsents=e,a()}}}(),l={},u=function(){for(var n,e,t=window;!n;){try{if("function"==typeof t.__tcfapi||"function"==typeof t.__cmp){"function"==typeof t.__tcfapi?(b=2,e=t.__tcfapi):(b=1,e=t.__cmp),n=t;break}}catch(n){}try{if(t.frames.__tcfapiLocator){b=2,n=t;break}}catch(n){}try{if(t.frames.__cmpLocator){b=1,n=t;break}}catch(n){}if(t===window.top)break;t=t.parent}return{cmpFrame:n,cmpFunction:e}}(),f=u.cmpFrame,p=u.cmpFunction;if(!f)return t("CMP not found.");function g(n,e){window.$sf.ext.register(a,r,(function(t,o){if("cmpReturn"===t){var a="getConsentData"===n?o.vendorConsentData:o.vendorConsents;e(a)}})),window.$sf.ext.cmp(n)}function v(n,e,t){var o=2===b?"__tcfapi":"__cmp",a="".concat(o,"Call");function r(n){var e="".concat(o,"Return"),t="string"==typeof n.data&&(0,i.q9)(n.data,e)?JSON.parse(n.data):n.data;if(t[e]&&t[e].callId){var a=t[e];void 0!==l[a.callId]&&l[a.callId](a.returnValue,a.success)}}2===b?(window[o]=function(n,t,o,r){var i=Math.random()+"",c=d({},a,{command:n,version:t,parameter:r,callId:i});l[i]=o,e.postMessage(c,"*")},window.addEventListener("message",r,!1),window[o](n,b,t)):(window[o]=function(n,t,o){var r=Math.random()+"",i=d({},a,{command:n,parameter:t,callId:r});l[r]=o,e.postMessage(i,"*")},window.addEventListener("message",r,!1),window[o](n,void 0,t))}(0,o.isFn)(p)?((0,o.logInfo)("Detected CMP API is directly accessible, calling it now..."),1===b?(p("getConsentData",null,s.consentDataCallback),p("getVendorConsents",null,s.vendorConsentsCallback)):2===b&&p("addEventListener",b,c)):1===b&&window.$sf&&window.$sf.ext&&"function"==typeof window.$sf.ext.cmp?((0,o.logInfo)("Detected Prebid.js is encased in a SafeFrame and CMP is registered, calling it now..."),g("getConsentData",s.consentDataCallback),g("getVendorConsents",s.vendorConsentsCallback)):((0,o.logInfo)("Detected CMP is outside the current iframe where Prebid.js is located, calling it now..."),1===b?(v("getConsentData",f,s.consentDataCallback),v("getVendorConsents",f,s.vendorConsentsCallback)):2===b&&v("addEventListener",f,c))},static:function(n){var e=n.onSuccess,t=n.onError;D(g,{onSuccess:e,onError:t})}};function w(n){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=!1,a=null;function c(e,t,i){if(null!=a&&clearTimeout(a),o=!0,r.rp.setConsentData(e),null!=n){for(var c=arguments.length,s=new Array(c>3?c-3:0),l=3;l<c;l++)s[l-3]=arguments[l];n.apply(void 0,[t,i].concat(s))}}if((0,i.q9)(Object.keys(y),u)){var s={onSuccess:function(n){return c(n,!1)},onError:function(n){var e=null,t=!0;m.value&&1===b&&(e=P(void 0),t=!1);for(var o=arguments.length,a=new Array(o>1?o-1:0),r=1;r<o;r++)a[r-1]=arguments[r];c.apply(void 0,[e,t,n].concat(a))}};y[u](l({width:e,height:t},s)),o||(0===f?D(void 0,s):a=setTimeout((function(){2===b?c(P(void 0),!1,"No response from CMP, continuing auction..."):s.onError("CMP workflow exceeded timeout threshold.")}),f))}else c(null,!1,"CMP framework (".concat(u,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function h(n,e){!function(){if(v)return(0,o.logInfo)("User consent information already known. Pulling internally stored information..."),function(n){n(!1)};var n=e.adUnits||pbjs.adUnits,t=1,a=1;if(Array.isArray(n)&&n.length>0){var r,i,c=(0,o.getAdUnitSizes)(n[0]);t=(null==c||null===(r=c[0])||void 0===r?void 0:r[0])||1,a=(null==c||null===(i=c[0])||void 0===i?void 0:i[1])||1}return function(n){w(n,t,a)}}()((function(t,a){if(a){var r=o.logWarn;1!==b||t?t&&(r=o.logError,a="".concat(a," Canceling auction as per consentManagement config.")):a="".concat(a," 'allowAuctionWithoutConsent' activated.");for(var i=arguments.length,c=new Array(i>2?i-2:0),s=2;s<i;s++)c[s-2]=arguments[s];r.apply(void 0,[a].concat(c))}t?"function"==typeof e.bidsBackHandler?e.bidsBackHandler():(0,o.logError)("Error executing bidsBackHandler"):n.call(this,e)}))}function D(n,e){var t=e.onSuccess,a=e.onError;"static"===u&&2==(b=n.getConsentData?1:n.getTCData?2:0)&&(n=n.getTCData);var r=1===b?function(n){var e=n&&n.getConsentData&&n.getConsentData.gdprApplies;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(n.getConsentData.consentData)&&(0,o.isPlainObject)(n.getVendorConsents)&&Object.keys(n.getVendorConsents).length>1))}:2===b?function(){var e=n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p,t=n&&n.tcString;return!("boolean"==typeof e&&(!0!==e||(0,o.isStr)(t)))}:null;(0,o.isFn)(r)?r(n)?a("CMP returned unexpected value during lookup process.",n):t(P(n)):a("Unable to derive CMP version to process data. Consent object does not conform to TCF v1 or v2 specs.",n)}function P(n){return 1===b?v={consentString:n?n.getConsentData.consentData:void 0,vendorData:n?n.getVendorConsents:void 0,gdprApplies:n?n.getConsentData.gdprApplies:p}:(v={consentString:n?n.tcString:void 0,vendorData:n||void 0,gdprApplies:n&&"boolean"==typeof n.gdprApplies?n.gdprApplies:p},n&&n.addtlConsent&&(0,o.isStr)(n.addtlConsent)&&(v.addtlConsent=n.addtlConsent)),v.apiVersion=b,v}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&(n.gdpr||n.usp?n.gdpr:n))&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?u=n.cmpApi:(u="iab",(0,o.logInfo)("consentManagement config did not specify cmp. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?f=n.timeout:(f=1e4,(0,o.logInfo)("consentManagement config did not specify timeout. Using system default setting (".concat(1e4,")."))),"boolean"==typeof n.allowAuctionWithoutConsent&&(m.value=n.allowAuctionWithoutConsent,m.definedInConfig=!0),p=!0===n.defaultGdprScope,(0,o.logInfo)("consentManagement module has been activated..."),"static"===u&&((0,o.isPlainObject)(n.consentData)?(g=n.consentData,f=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),C||pbjs.requestBids.before(h,50),C=!0,r.rp.enable(),w(),m.definedInConfig&&2===b?(0,o.logWarn)("'allowAuctionWithoutConsent' ignored for TCF 2"):m.definedInConfig||1!==b||(0,o.logInfo)("'allowAuctionWithoutConsent' using system default: (".concat(!0,")."))):(0,o.logWarn)("consentManagement config not defined, exiting consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagement")}},function(n){n(n.s=1654)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5160],{1366:function(n,t,e){var o=e(9853),a=e(8962),i=e(7602);function c(n){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},c(n)}var s,r,u,l,p=!1,f={iab:function(n){var t,e=n.onSuccess,a=n.onError,i=(t={},{consentDataCallback:function(n,o){o&&n.uspString&&(t.usPrivacy=n.uspString),t.usPrivacy?m(t,{onSuccess:e,onError:a}):a("Unable to get USP consent string.")}}),c={},s=function(){for(var n,t,e=window;!n;){try{if("function"==typeof e.__uspapi){t=e.__uspapi,n=e;break}}catch(n){}try{if(e.frames.__uspapiLocator){n=e;break}}catch(n){}if(e===window.top)break;e=e.parent}return{uspapiFrame:n,uspapiFunction:t}}(),r=s.uspapiFrame,u=s.uspapiFunction;if(!r)return a("USP CMP not found.");(0,o.isFn)(u)?((0,o.logInfo)("Detected USP CMP is directly accessible, calling it now..."),u("getUSPData",1,i.consentDataCallback)):((0,o.logInfo)("Detected USP CMP is outside the current iframe where Prebid.js is located, calling it now..."),function(n,t,e){window.__uspapi=function(n,e,o){var a=Math.random()+"",i={__uspapiCall:{command:n,version:e,callId:a}};c[a]=o,t.postMessage(i,"*")},window.addEventListener("message",(function(n){var t=n&&n.data&&n.data.__uspapiReturn;t&&t.callId&&void 0!==c[t.callId]&&(c[t.callId](t.returnValue,t.success),delete c[t.callId])}),!1),window.__uspapi("getUSPData",1,e)}(0,r,i.consentDataCallback))},static:function(n){var t=n.onSuccess,e=n.onError;m(u,{onSuccess:t,onError:e})}};function d(n){var t=null,e=!1;function o(o,a){if(null!=t&&clearTimeout(t),e=!0,i.nX.setConsentData(o),null!=n){for(var c=arguments.length,s=new Array(c>2?c-2:0),r=2;r<c;r++)s[r-2]=arguments[r];n.apply(void 0,[a].concat(s))}}if(f[s]){var a={onSuccess:o,onError:function(n){for(var t=arguments.length,e=new Array(t>1?t-1:0),a=1;a<t;a++)e[a-1]=arguments[a];o.apply(void 0,[null,"".concat(n," Resuming auction without consent data as per consentManagement config.")].concat(e))}};f[s](a),e||(0===r?m(void 0,a):t=setTimeout(a.onError.bind(null,"USPAPI workflow exceeded timeout threshold."),r))}else o(null,"USP framework (".concat(s,") is not a supported framework. Aborting consentManagement module and resuming auction."))}function g(n,t){var e=this;d((function(a){if(null!=a){for(var i=arguments.length,c=new Array(i>1?i-1:0),s=1;s<i;s++)c[s-1]=arguments[s];o.logWarn.apply(void 0,[a].concat(c))}n.call(e,t)}))}function m(n,t){var e=t.onSuccess,o=t.onError;n&&n.usPrivacy?(function(n){n&&n.usPrivacy&&(l=n.usPrivacy)}(n),e(l)):o("USPAPI returned unexpected value during lookup process.",n)}a.vc.getConfig("consentManagement",(function(n){return function(n){(n=n&&n.usp)&&"object"===c(n)?((0,o.isStr)(n.cmpApi)?s=n.cmpApi:(s="iab",(0,o.logInfo)("consentManagement.usp config did not specify cmpApi. Using system default setting (".concat("iab",")."))),(0,o.isNumber)(n.timeout)?r=n.timeout:(r=50,(0,o.logInfo)("consentManagement.usp config did not specify timeout. Using system default setting (".concat(50,")."))),(0,o.logInfo)("USPAPI consentManagement module has been activated..."),"static"===s&&((0,o.isPlainObject)(n.consentData)&&(0,o.isPlainObject)(n.consentData.getUSPData)?(n.consentData.getUSPData.uspString&&(u={usPrivacy:n.consentData.getUSPData.uspString}),r=0):(0,o.logError)("consentManagement config with cmpApi: 'static' did not specify consentData. No consents will be available to adapters.")),p||pbjs.requestBids.before(g,50),p=!0,i.nX.enable(),d()):(0,o.logWarn)("consentManagement.usp config not defined, exiting usp consent manager")}(n.consentManagement)})),window.pbjs.installedModules.push("consentManagementUsp")}},function(n){n(n.s=1366)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8806],{2235:function(e,n,t){var i=t(9853),o=t(3494),r=t(2661),c=t(5849),d={},a=window===window.top?window:window.top,m=(0,c.eA)("enrichmentFpd");function u(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.hostname;if(!m.cookiesAreEnabled())return e;var n,t,o=e.split(".");if(2==o.length)return e;var r=-2,c="_rdc".concat(Date.now()),d="writeable";do{n=o.slice(r).join(".");var a=new Date((0,i.timestamp)()+1e4).toUTCString();m.setCookie(c,d,a,"Lax",n,void 0);var u=m.getCookie(c,void 0);u===d?(t=!1,m.setCookie(c,"","Thu, 01 Jan 1970 00:00:01 GMT",void 0,n,void 0)):(r+=-1,t=Math.abs(r)<=o.length)}while(t);return n}var l={name:"enrichments",queue:2,init:function(e,n){return d={},e.skipEnrichments?n:(0,i.mergeDeep)(((0,r.n)().referer&&(0,i.mergeDeep)(d,{site:{ref:(0,r.n)().referer}}),(0,r.n)().canonicalUrl&&(0,i.mergeDeep)(d,{site:{page:(0,r.n)().canonicalUrl}}),(t=function(e){if(e&&"string"==typeof e&&0!==e.length){var n=e.match(/^(?:https?:\/\/)?(?:www\.)?(.*?(?=(\?|\#|\/|$)))/i);return n&&n[1]}}((0,r.n)().canonicalUrl))&&((0,i.mergeDeep)(d,{site:{domain:t}}),(0,i.mergeDeep)(d,{site:{publisher:{domain:u(t)}}})),function(){var e,n;try{e=a.innerWidth||a.document.documentElement.clientWidth||a.document.body.clientWidth,n=a.innerHeight||a.document.documentElement.clientHeight||a.document.body.clientHeight}catch(t){e=window.innerWidth||window.document.documentElement.clientWidth||window.document.body.clientWidth,n=window.innerHeight||window.document.documentElement.clientHeight||window.document.body.clientHeight}(0,i.mergeDeep)(d,{device:{w:e,h:n}})}(),function(){var e;try{e=a.document.querySelector("meta[name='keywords']")}catch(n){e=window.document.querySelector("meta[name='keywords']")}e&&e.content&&(0,i.mergeDeep)(d,{site:{keywords:e.content.replace(/\s/g,"")}})}(),d),n);var t}};(0,o.Bx)("firstPartyData",l),window.pbjs.installedModules.push("enrichmentFpdModule")}},function(e){e(e.s=2235)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7910],{8303:function(t,e,n){var o=n(8962),s=n(3494),u=n(2528),i=n(4892),f=[];function r(t,e){var n,s;n=o.vc.getConfig("firstPartyData")||{},s=o.vc.getConfig("ortb2")||{},f.sort((function(t,e){return(t.queue||1)-(e.queue||1)})).forEach((function(t){s=t.init(n,s)})),o.vc.setConfig({ortb2:s}),t.call(this,e),i.e0.getHooks({hook:r}).remove()}function c(){(0,s.v5)("addBidderRequests").before(r)}(0,s.bA)("firstPartyData",(function(t){f.push(t)})),c(),(0,u.R)().refreshFpd=c,window.pbjs.installedModules.push("fpdModule")}},function(t){t(t.s=8303)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[7083],{1489:function(e,r,n){var t=n(265),o=n(9853),i=n(8962),a=n(7602),c=n(1879),s=n(1609),l=n(3494),p=n(5849),u=n(2319),f=n(5644);function d(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function v(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?d(Object(n),!0).forEach((function(r){g(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):d(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function g(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function b(){return b=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},b.apply(this,arguments)}function y(e){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},y(e)}var h,m,O,E,P={purpose1:{id:1,name:"storage"},purpose2:{id:2,name:"basicAds"},purpose7:{id:7,name:"measurement"}},j=[{purpose:"storage",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]},{purpose:"basicAds",enforcePurpose:!0,enforceVendor:!0,vendorExceptions:[]}],C=[],A=[],D=[],w=!1,S=function(e){var r=null;if(e=e||i.vc.getCurrentBidder()){var n=a.ZP.getBidAdapter(e);n&&n.getSpec&&(r=n.getSpec().gvlid)}return r},k=function(e){return"object"===y(e)?e.gvlid:null},V=function(e){return a.ZP.getAnalyticsAdapter(e)&&(a.ZP.getAnalyticsAdapter(e).gvlid||null)};function T(e){var r=null;if(e){var n=i.vc.getConfig("gvlMapping"),t="string"==typeof e?e:e.name;if(n&&n[t])return n[t];r=S(t)||k(e)||V(t)}return r}function B(e,r,n,o){var i=P[Object.keys(P).filter((function(r){return P[r].name===e.purpose}))[0]].id;if((0,c.q9)(e.vendorExceptions||[],n))return!0;var a=(0,t.Z)(r,"vendorData.purpose.consents.".concat(i)),s=(0,t.Z)(r,"vendorData.vendor.consents.".concat(o)),l=(0,t.Z)(r,"vendorData.purpose.legitimateInterests.".concat(i)),p=!1===e.enforcePurpose||!0===a,u=!1===e.enforceVendor||!0===s;return 2===i?p&&u||!0===l:p&&u}function Z(e,r,n,t){if(t=b({},{hasEnforcementHook:!0}),(0,o.hasDeviceAccess)()){var c=a.rp.getConsentData();if(c&&c.gdprApplies)if(2===c.apiVersion){var s=i.vc.getCurrentBidder();r=s&&s!=n&&a.ZP.aliasRegistry[s]===n?T(s):T(n)||r;var l=n||s;B(h,c,l,r)?(t.valid=!0,e.call(this,r,n,t)):(l&&(0,o.logWarn)("TCF2 denied device access for ".concat(l)),t.valid=!1,C.push(l),e.call(this,r,n,t))}else t.valid=!0,e.call(this,r,n,t);else t.valid=!0,e.call(this,r,n,t)}else(0,o.logWarn)("Device access is disabled by Publisher"),t.valid=!1,e.call(this,r,n,t)}function W(e){for(var r=a.rp.getConsentData(),n=arguments.length,t=new Array(n>1?n-1:0),c=1;c<n;c++)t[c-1]=arguments[c];if(r&&r.gdprApplies)if(2===r.apiVersion){var s=i.vc.getCurrentBidder(),l=T(s),p=B(h,r,s,l);p?e.call.apply(e,[this].concat(t)):((0,o.logWarn)("User sync not allowed for ".concat(s)),C.push(s))}else e.call.apply(e,[this].concat(t));else e.call.apply(e,[this].concat(t))}function F(e,r,n){if(n&&n.gdprApplies)if(2===n.apiVersion){var t=r.map((function(e){var r=T(e.submodule),t=e.submodule.name;if(B(h,n,t,r))return e;(0,o.logWarn)("User denied permission to fetch user id for ".concat(t," User id module")),C.push(t)})).filter((function(e){return e}));e.call(this,t,v(v({},n),{},{hasValidated:!0}))}else e.call(this,r,n);else e.call(this,r,n)}function N(e,r){for(var n=a.rp.getConsentData(),t=arguments.length,i=new Array(t>2?t-2:0),s=2;s<t;s++)i[s-2]=arguments[s];n&&n.gdprApplies&&2===n.apiVersion?(r.forEach((function(e){e.bids=e.bids.filter((function(e){var r=e.bidder,t=T(r);if((0,c.q9)(A,r))return!1;var i=!!B(m,n,r,t);return i||((0,o.logWarn)("TCF2 blocked auction for ".concat(r)),A.push(r)),i}))})),e.call.apply(e,[this,r].concat(i))):e.call.apply(e,[this,r].concat(i))}function M(e,r){var n=a.rp.getConsentData();n&&n.gdprApplies&&2===n.apiVersion?((0,o.isArray)(r)||(r=[r]),r=r.filter((function(e){var r=e.provider,t=T(r),i=!!B(O,n,r,t);return i||(D.push(r),(0,o.logWarn)("TCF2 blocked analytics adapter ".concat(e.provider))),i})),e.call(this,r)):e.call(this,r)}u.on(f.EVENTS.AUCTION_END,(function(){var e=function(e){return e.filter((function(r,n){return null!==r&&e.indexOf(r)===n}))},r={storageBlocked:e(C),biddersBlocked:e(A),analyticsBlocked:e(D)};u.emit(f.EVENTS.TCF2_ENFORCEMENT,r)}));var x=function(e){return e.purpose===P.purpose1.name},U=function(e){return e.purpose===P.purpose2.name},q=function(e){return e.purpose===P.purpose7.name};i.vc.getConfig("consentManagement",(function(e){return function(e){var r=(0,t.Z)(e,"gdpr.rules");r?E=r:((0,o.logWarn)("TCF2: enforcing P1 and P2 by default"),E=j),h=(0,c.sE)(E,x),m=(0,c.sE)(E,U),O=(0,c.sE)(E,q),h||(h=j[0]),m||(m=j[1]),h&&!w&&(w=!0,p.S6.before(Z,49),s.registerSyncInner.before(W,48),(0,l.v5)("validateGdprEnforcement").before(F,47)),m&&(0,l.v5)("makeBidRequests").before(N),O&&(0,l.v5)("enableAnalyticsCb").before(M)}(e.consentManagement)})),window.pbjs.installedModules.push("gdprEnforcement")}},function(e){e(e.s=1489)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[5296],{7652:function(t,e,o){var n=o(9853),r=o(265),a=o(8962),d=o(3494),i=o(1879),u=void 0,c={},s=!1,f=function(t){var e=c.customGptSlotMatching;if((0,n.isGptPubadsDefined)()){var o=t.reduce((function(t,e){return t[e.code]=e,t}),{});window.googletag.pubads().getSlots().forEach((function(t){var r=(0,i.sE)(Object.keys(o),e?e(t):(0,n.isAdUnitCodeMatchingSlot)(t));if(r){var a=o[r];a.ortb2Imp=a.ortb2Imp||{},a.ortb2Imp.ext=a.ortb2Imp.ext||{},a.ortb2Imp.ext.data=a.ortb2Imp.ext.data||{};var d=a.ortb2Imp.ext.data;d.adserver=d.adserver||{},d.adserver.name="gam",d.adserver.adslot=p(t.getAdUnitPath())}}))}},p=function(t){return(a.vc.getConfig("gptPreAuction")||{}).mcmEnabled?t.replace(/(^\/\d*),\d*\//,"$1/"):t},l=function(t,e){var o=t.ortb2Imp.ext.data;if(o.pbadslot)return o.pbadslot;if((0,n.isGptPubadsDefined)()){var r=window.googletag.pubads().getSlots().filter((function(t){return t.getAdUnitPath()===e}));if(0!==r.length)return 1===r.length?e:"".concat(e,"#").concat(t.code)}},b=function(t){var e=t.ortb2Imp.ext.data,o=c.customPbAdSlot;if(!e.pbadslot)if(o)e.pbadslot=o(t.code,(0,r.Z)(e,"adserver.adslot"));else{try{var n=document.getElementById(t.code);if(n.dataset.adslotid)return void(e.pbadslot=n.dataset.adslotid)}catch(t){}if(!(0,r.Z)(e,"adserver.adslot"))return e.pbadslot=t.code,!0;e.pbadslot=e.adserver.adslot}},g=function(t,e){f(e);var o=c,n=o.useDefaultPreAuction,a=o.customPreAuction;e.forEach((function(t){t.ortb2Imp=t.ortb2Imp||{},t.ortb2Imp.ext=t.ortb2Imp.ext||{},t.ortb2Imp.ext.data=t.ortb2Imp.ext.data||{};var e=t.ortb2Imp.ext;if(a||n){var o,d=(0,r.Z)(e,"data.adserver.adslot");a?o=a(t,d):n&&(o=l(t,d)),o&&(e.gpid=e.data.pbadslot=o)}else{var i=b(t);e.gpid||i||(e.gpid=e.data.pbadslot)}}));for(var d=arguments.length,i=new Array(d>2?d-2:0),s=2;s<d;s++)i[s-2]=arguments[s];return t.call.apply(t,[u,e].concat(i))},m=function(t){(c=(0,n.pick)(t,["enabled",function(t){return!1!==t},"customGptSlotMatching",function(t){return"function"==typeof t&&t},"customPbAdSlot",function(t){return"function"==typeof t&&t},"customPreAuction",function(t){return"function"==typeof t&&t},"useDefaultPreAuction",function(t){return!0===t}])).enabled?s||((0,d.v5)("makeBidRequests").before(g),s=!0):((0,n.logInfo)("".concat("GPT Pre-Auction",": Turning off module")),c={},(0,d.v5)("makeBidRequests").getHooks({hook:g}).remove(),s=!1)};a.vc.getConfig("gptPreAuction",(function(t){return m(t.gptPreAuction)})),m({}),window.pbjs.installedModules.push("gptPreAuction")}},function(t){t(t.s=7652)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[6312],{7890:function(e,t,r){var n=r(9853),o=r(265),i=r(1609),a=r(8962),u=r(8265),c=r(2224);function s(e){return s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s(e)}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function p(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?p(Object(r),!0).forEach((function(t){y(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):p(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function y(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var f="sharethrough",m="https://btlr.sharethrough.com/universal/v1?supply_id=".concat("WYu2BXv1"),g=function(){return window.location.protocol},b={code:f,supportedMediaTypes:[u.pX,u.Mk],gvlid:80,isBidRequestValid:function(e){return!!e.params.pkey&&e.bidder===f},buildRequests:function(e,t){var r,i,u,s=a.vc.getConfig("bidderTimeout"),p=a.vc.getConfig("ortb2")||{},y=g().indexOf("http")<0||g().indexOf("https")>-1,f={id:(0,n.generateUUID)(),at:1,cur:["USD"],tmax:s,site:l({domain:window.location.hostname,page:window.location.href,ref:(0,o.Z)(t,"refererInfo.referer")},p.site),device:{ua:navigator.userAgent,language:navigator.language,js:1,dnt:"1"===navigator.doNotTrack?1:0,h:window.screen.height,w:window.screen.width},regs:{coppa:!0===a.vc.getConfig("coppa")?1:0,ext:{}},source:{ext:{version:"6.23.0",str:"4.1.0",schain:e[0].schain}},bcat:e[0].params.bcat||[],badv:e[0].params.badv||[],test:0};if(f.user=h(p.user,{}),f.user.ext||(f.user.ext={}),f.user.ext.eids=(r=e[0],i=(0,c.HQ)((0,o.Z)(r,"userId"))||[],(u=(0,o.Z)(r,"userId.flocId"))&&u.id&&u.version&&i.push({source:"chrome.com",uids:[{id:u.id,atype:1,ext:{ver:u.version}}]}),i),t.gdprConsent){var b=!0===t.gdprConsent.gdprApplies;f.regs.ext.gdpr=b?1:0,b&&(f.user.ext.consent=t.gdprConsent.consentString)}return t.uspConsent&&(f.regs.ext.us_privacy=t.uspConsent),e.map((function(e){var t={},r=(0,o.Z)(e,"ortb2Imp.ext.data.pbadslot");r&&(t.ext={gpid:r});var i,a,u,c,s,p,f=(0,o.Z)(e,"mediaTypes.video");if(f){var m=640,g=360;if(f.playerSize&&f.playerSize[0]&&f.playerSize[1]){var b=(s=f.playerSize,p=2,function(e){if(Array.isArray(e))return e}(s)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i=[],a=!0,u=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){u=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(u)throw o}}return i}}(s,p)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(s,p)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}());m=b[0],g=b[1]}t.video={pos:h(f.pos,0),topframe:(0,n.inIframe)()?0:1,skip:h(f.skip,0),linearity:h(f.linearity,1),minduration:h(f.minduration,5),maxduration:h(f.maxduration,60),playbackmethod:f.playbackmethod||[2],api:(u=f,c=u.api,c&&Array.isArray(c)&&c.length>0?c:[2]),mimes:f.mimes||["video/mp4"],protocols:(i=f,a=i.protocols,a&&Array.isArray(a)&&a.length>0?a:[2,3,5,6,7,8]),w:m,h:g,startdelay:h(f.startdelay,0),skipmin:h(f.skipmin,0),skipafter:h(f.skipafter,0),placement:"instream"===f.context?1:+(0,o.Z)(f,"placement",4)},f.delivery&&(t.video.delivery=f.delivery),f.companiontype&&(t.video.companiontype=f.companiontype),f.companionad&&(t.video.companionad=f.companionad)}else t.banner={pos:(0,o.Z)(e,"mediaTypes.banner.pos",0),topframe:(0,n.inIframe)()?0:1,format:e.sizes.map((function(e){return{w:+e[0],h:+e[1]}}))};return l({id:e.bidId,tagid:String(e.params.pkey),secure:y?1:0,bidfloor:v(e)},t)})).filter((function(e){return!!e})).map((function(e){return{method:"POST",url:m,data:l(l({},f),{},{imp:[e]})}}))},interpretResponse:function(e,t){var r=e.body;return r&&r.seatbid&&0!==r.seatbid.length&&r.seatbid[0].bid&&0!==r.seatbid[0].bid.length?r.seatbid[0].bid.map((function(e){var n={requestId:e.impid,width:+e.w,height:+e.h,cpm:+e.price,creativeId:e.crid,dealId:e.dealid||null,mediaType:t.data.imp[0].video?u.pX:u.Mk,currency:r.cur||"USD",netRevenue:!0,ttl:360,ad:e.adm,nurl:e.nurl,meta:{advertiserDomains:e.adomain||[]}};return n.mediaType===u.pX&&(n.ttl=3600,n.vastXml=e.adm),n})):[]},getUserSyncs:function(e,t,r,n){var o=n?"&us_privacy=".concat(n):"",i=[];return e.pixelEnabled&&t.length>0&&t[0].body&&t[0].body.cookieSyncUrls&&t[0].body.cookieSyncUrls.forEach((function(e){i.push({type:"image",url:e+o})})),i},onTimeout:function(e){},onBidWon:function(e){},onSetTargeting:function(e){}};function v(e){var t=null;if("function"==typeof e.getFloor){var r=e.getFloor({currency:"USD",mediaType:e.mediaTypes&&e.mediaTypes.video?"video":"banner",size:e.sizes.map((function(e){return{w:e[0],h:e[1]}}))});"object"!==s(r)||"USD"!==r.currency||isNaN(parseFloat(r.floor))||(t=parseFloat(r.floor))}return null!==t?t:e.params.floor}function h(e,t){return null==e?t:e}(0,i.registerBidder)(b),window.pbjs.installedModules.push("sharethroughBidAdapter")},2224:function(e,t,r){r.d(t,{HQ:function(){return u},Pv:function(){return c},UR:function(){return i}});var n=r(9853),o=r(265),i={trustpid:{source:"trustpid.com",atype:1,getValue:function(e){return e}},intentIqId:{source:"intentiq.com",atype:1},naveggId:{source:"navegg.com",atype:1},justId:{source:"justtag.com",atype:1},pubcid:{source:"pubcid.org",atype:1},tdid:{source:"adserver.org",atype:1,getUidExt:function(){return{rtiPartner:"TDID"}}},id5id:{getValue:function(e){return e.uid},source:"id5-sync.com",atype:1,getUidExt:function(e){if(e.ext)return e.ext}},ftrackId:{source:"flashtalking.com",atype:1,getValue:function(e){return e.uid},getUidExt:function(e){if(e.ext)return e.ext}},parrableId:{source:"parrable.com",atype:1,getValue:function(e){return e.eid?e.eid:e.ccpaOptout?"":null},getUidExt:function(e){var t=(0,n.pick)(e,["ibaOptout","ccpaOptout"]);if(Object.keys(t).length)return t}},idl_env:{source:"liveramp.com",atype:3},lipb:{getValue:function(e){return e.lipbid},source:"liveintent.com",atype:3,getEidExt:function(e){if(Array.isArray(e.segments)&&e.segments.length)return{segments:e.segments}}},britepoolid:{source:"britepool.com",atype:3},dmdId:{source:"hcn.health",atype:3},lotamePanoramaId:{source:"crwdcntrl.net",atype:1},criteoId:{source:"criteo.com",atype:1},merkleId:{source:"merkleinc.com",atype:3,getValue:function(e){return e.id},getUidExt:function(e){return e&&e.keyID?{keyID:e.keyID}:void 0}},netId:{source:"netid.de",atype:1},IDP:{source:"zeotap.com",atype:1},hadronId:{source:"audigent.com",atype:1},haloId:{source:"audigent.com",atype:1},quantcastId:{source:"quantcast.com",atype:1},nextrollId:{source:"nextroll.com",atype:1},idx:{source:"idx.lat",atype:1},connectid:{source:"verizonmedia.com",atype:3},fabrickId:{source:"neustar.biz",atype:1},mwOpenLinkId:{source:"mediawallahscript.com",atype:1},tapadId:{source:"tapad.com",atype:1},novatiq:{getValue:function(e){return e.snowflake},source:"novatiq.com",atype:1},uid2:{source:"uidapi.com",atype:3,getValue:function(e){return e.id}},dapId:{source:"akamai.com",atype:1},deepintentId:{source:"deepintent.com",atype:3},admixerId:{source:"admixer.net",atype:3},adtelligentId:{source:"adtelligent.com",atype:3},amxId:{source:"amxrtb.com",atype:1},publinkId:{source:"epsilon.com",atype:3},kpuid:{source:"kpuid.com",atype:3},imuid:{source:"intimatemerger.com",atype:1},connectId:{source:"yahoo.com",atype:3},qid:{source:"adquery.io",atype:1},dacId:{source:"impact-ad.jp",atype:1},"33acrossId":{source:"33across.com",atype:1,getValue:function(e){return e.envelope}}};function a(e,t){var r=i[t];if(r&&e){var o={};o.source=r.source;var a=(0,n.isFn)(r.getValue)?r.getValue(e):e;if((0,n.isStr)(a)){var u={id:a,atype:r.atype};if((0,n.isFn)(r.getUidExt)){var c=r.getUidExt(e);c&&(u.ext=c)}if(o.uids=[u],(0,n.isFn)(r.getEidExt)){var s=r.getEidExt(e);s&&(o.ext=s)}return o}}return null}function u(e){var t=[];for(var r in e)if(e.hasOwnProperty(r))if("pubProvidedId"===r)t=t.concat(e.pubProvidedId);else{var n=a(e[r],r);n&&t.push(n)}return t}function c(e){var t=[];return e.filter((function(e){return(0,n.isPlainObject)(e.idObj)&&Object.keys(e.idObj).length})).forEach((function(e){Object.keys(e.idObj).forEach((function(r){(0,o.Z)(e,"config.bidders")&&Array.isArray(e.config.bidders)&&(0,o.Z)(i,r+".source")&&t.push({source:i[r].source,bidders:e.config.bidders})}))})),t}}},function(e){e(e.s=7890)}]); "use strict";(self.pbjsChunk=self.pbjsChunk||[]).push([[8029],{8973:function(e,r,t){var n=t(9853),i=t(265),a=t(1609),o=t(5849);function s(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function d(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?s(Object(t),!0).forEach((function(r){p(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):s(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function p(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}var c="teads",u=(0,o.df)({gvlid:132,bidderCode:c}),f={code:c,gvlid:132,supportedMediaTypes:["video","banner"],isBidRequestValid:function(e){var r=!1;if(void 0!==e.params){var t=v((0,n.getValue)(e.params,"placementId")),i=v((0,n.getValue)(e.params,"pageId"));r=t&&i}return r||(0,n.logError)("Teads placementId and pageId parameters are required. Bid aborted."),r},buildRequests:function(e,r){var t,n,a=e.map(y),o=d(d(d({referrer:g(r),pageReferrer:document.referrer,networkBandwidth:(n=window.navigator,n&&n.connection&&n.connection.downlink>=0?n.connection.downlink.toString():""),timeToFirstByte:l(window),data:a,deviceWidth:screen.width,hb_version:"6.23.0"},function(e){if(!e)return{};var r=e.id?{cohortId:e.id}:{},t=e.version?{cohortVersion:e.version}:{};return d(d({},r),t)}((0,i.Z)(e,"0.userId.flocId"))),(t=(0,i.Z)(e,"0.userId.uid2"))?{unifiedId2:t.id}:{}),function(){if(!u.cookiesAreEnabled())return{};var e=u.getCookie("_tfpvi");return e?{firstPartyCookieTeadsId:e}:{}}());e[0].schain&&(o.schain=e[0].schain);var s=r.gdprConsent;if(r&&s){var p="boolean"==typeof s.gdprApplies,c="string"==typeof s.consentString,f=p?function(e,r,t){var n=12;return e?function(e,r){return e&&1===r?e.hasGlobalScope||e.hasGlobalConsent:!(!e||2!==r||e.isServiceSpecific)}(r,t)&&(n=11):n=0,n}(s.gdprApplies,s.vendorData,s.apiVersion):22;o.gdpr_iab={consent:c?s.consentString:"",status:f,apiVersion:s.apiVersion}}return r&&r.uspConsent&&(o.us_privacy=r.uspConsent),{method:"POST",url:"https://a.teads.tv/hb/bid-request",data:JSON.stringify(o)}},interpretResponse:function(e,r){var t=[];return(e=e.body).responses&&e.responses.forEach((function(e){var r={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&&(r.dealId=e.dealId),t.push(r)})),t}};function g(e){var r="";return e&&e.refererInfo&&e.refererInfo.referer&&(r=e.refererInfo.referer),r}function l(e){var r=e.performance||e.webkitPerformance||e.msPerformance||e.mozPerformance,t=r&&"function"==typeof r.getEntriesByType&&"[object Function]"===Object.prototype.toString.call(r.getEntriesByType)&&r.getEntriesByType("navigation")[0]&&r.getEntriesByType("navigation")[0].responseStart&&r.getEntriesByType("navigation")[0].requestStart&&r.getEntriesByType("navigation")[0].responseStart>0&&r.getEntriesByType("navigation")[0].requestStart>0&&Math.round(r.getEntriesByType("navigation")[0].responseStart-r.getEntriesByType("navigation")[0].requestStart);if(t)return t.toString();var n=r&&r.timing.responseStart&&r.timing.requestStart&&r.timing.responseStart>0&&r.timing.requestStart>0&&r.timing.responseStart-r.timing.requestStart;return n?n.toString():""}function y(e){var r={},t=(0,n.getValue)(e.params,"placementId"),a=(0,n.getValue)(e.params,"pageId"),o=(0,i.Z)(e,"ortb2Imp.ext.gpid");return r.sizes=function(e){return(0,n.parseSizesInput)(function(e){var r=(0,i.Z)(e,"mediaTypes.video.playerSize"),t=(0,i.Z)(e,"mediaTypes.video.sizes"),a=(0,i.Z)(e,"mediaTypes.banner.sizes");return(0,n.isArray)(a)||(0,n.isArray)(r)||(0,n.isArray)(t)?[a,t,r].reduce((function(e,r){return(0,n.isArray)(r)&&((0,n.isArray)(r[0])?r.forEach((function(r){e.push(r)})):e.push(r)),e}),[]):e.sizes}(e))}(e),r.bidId=(0,n.getBidIdParameter)("bidId",e),r.bidderRequestId=(0,n.getBidIdParameter)("bidderRequestId",e),r.placementId=parseInt(t,10),r.pageId=parseInt(a,10),r.adUnitCode=(0,n.getBidIdParameter)("adUnitCode",e),r.auctionId=(0,n.getBidIdParameter)("auctionId",e),r.transactionId=(0,n.getBidIdParameter)("transactionId",e),o&&(r.gpid=o),r}function v(e){return parseInt(e)>0}(0,a.registerBidder)(f),window.pbjs.installedModules.push("teadsBidAdapter")}},function(e){e(e.s=8973)}]); pbjs.processQueue(); !function(){"use strict";var e={709:function(){var e=e||{};e.que=e.que||[]},427:function(){window.innerWidth>768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[620,366]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]}]),window.innerWidth>768&&"true"===window.mcAds.hasBannerThree&&window.adUnits.push({code:"banner-3",mediaTypes:{banner:{sizes:[[728,90],[970,90],[970,250],[620,366]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:110831,pageId:102392}}]})},591:function(){window.innerWidth<=768&&(window.adUnits=[{code:"banner-1",mediaTypes:{banner:{sizes:[[320,50],[320,100]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"teads",params:{placementId:142225,pageId:129517}}]},{code:"banner-2",mediaTypes:{banner:{sizes:[[320,50],[320,100],[300,250],[325,204],[325,508],[325,204]]}},bids:[{bidder:"teads",params:{placementId:142225,pageId:129517}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-1",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]},{code:"rail-2",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"rail-3",mediaTypes:{banner:{sizes:[[300,250],[300,600],[320,100],[320,50],[325,204],[325,508],[325,204]]}},bids:[{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}},{bidder:"concert",params:{partnerId:"phillymagazine"}}]},{code:"mobile_sticky",mediaTypes:{banner:{sizes:[[320,50],[325,204],[1,2]]}},bids:[{bidder:"concert",params:{partnerId:"phillymagazine"}},{bidder:"sharethrough",params:{pkey:"kmKwq9T16wzAfZvjzoFhDLco"}}]}])}},r={};function a(d){var i=r[d];if(void 0!==i)return i.exports;var n=r[d]={exports:{}};return e[d](n,n.exports,a),n.exports}a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,{a:r}),r},a.d=function(e,r){for(var d in r)a.o(r,d)&&!a.o(e,d)&&Object.defineProperty(e,d,{enumerable:!0,get:r[d]})},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a(427),a(591),a(709)}(); /* ]]> */ </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></script> <script type="text/javascript" id="gpt-js-after"> /* <![CDATA[ */ !function(){var e={909:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){mcAds.mapping={},mcAds.mapping.bannerOneMapping=googletag.sizeMapping().addSize([0,0],[[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.bannerMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90]]).addSize([1050,200],[[728,90],[970,90],[970,250]]).build(),mcAds.mapping.railMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[300,250],[300,600]]).addSize([1050,200],[[300,250],[300,600]]).build(),mcAds.mapping.toprailMapping=googletag.sizeMapping().addSize([0,0],[[300,150],[300,90]]).addSize([768,200],[[300,150],[300,90]]).addSize([1050,200],[[300,150],[300,90]]).build(),mcAds.mapping.inlineMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,50],[320,100]]).addSize([768,200],[[300,250],[320,50],[320,100]]).addSize([1050,200],[[300,250],[320,50],[320,100]]).build(),mcAds.mapping.searchMapping=googletag.sizeMapping().addSize([0,0],[[300,250],[320,100],[320,50]]).addSize([768,200],[[728,90],[300,250]]).addSize([1050,200],[[728,90],[970,90],[970,250],[300,250]]).build(),mcAds.mapping.adrevealMapping=googletag.sizeMapping().addSize([0,0],[[360,585]]).addSize([650,200],[[780,300]]).addSize([1050,200],[[1300,500]]).build()}))},786:function(){const e=parseInt(mcAds.prebidTimeout,10)||1e3,t=parseInt(mcAds.prebidFailsafeTimeout,10)||3e3;window.pbjs=window.pbjs||{},pbjs.que=pbjs.que||[],pbjs.que.push((function(){if("undefined"===typeof window.adUnits)return void(mcAds.debug&&console.log("Aborting prebid, window.adUnits is undefined."));const t=[];for(let e=window.adUnits.length-1;e>=0;e--)window.mcAds.slots.hasOwnProperty(window.adUnits[e].code)&&window.mcAds.slots[window.adUnits[e].code].hasOwnProperty("isPrebid")&&"true"===window.mcAds.slots[window.adUnits[e].code].isPrebid&&t.push(window.adUnits[e]);0!==t.length?(pbjs.addAdUnits(t),pbjs.requestBids({bidsBackHandler:i,timeout:e})):mcAds.debug&&console.log("Aborting prebid, filteredAdUnits is empty.")}));var i=function(){pbjs.adserverRequestSent||(pbjs.adserverRequestSent=!0,googletag.cmd.push((function(){pbjs.que.push((function(){window.gtpMaybeMoveRailOneSlot(),pbjs.setTargetingForGPTAsync();for(const e in mcAds.slotsFired)-1!==mcAds.slotsPrebid.indexOf(e)&&(googletag.display(e),mcAds.slots[e].isLazy&&"true"===mcAds.slots[e].isLazy||(googletag.pubads().refresh([mcAds.slotsFired[e]]),mcAds.debug&&console.log("Initial refresh for prebid slot:",e)))}))})))};setTimeout((function(){i()}),t)},90:function(){gtpMaybeMoveRailOneSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcAds&&mcAds.isSingle){var e=document.querySelector(".sidebar");if(e){var t=document.getElementById("rail-1");if(t){var i=e.children.length;e.insertBefore(t,e.children[i]),window.stickyAds&&window.stickyAds.update()}}}},gptDirectoryMaybeRepositionBannerSlot=function(){if(!(window.innerWidth<=768)&&"undefined"!==typeof mcgdVars&&"isSingle"in mcgdVars&&"true"===mcgdVars.isSingle){var e=document.getElementById("banner-1"),t=document.getElementById("geodir-wrapper-content").querySelector(".listing-profile");e&&t&&t.insertBefore(e,t.lastChild.nextSibling)}}},547:function(){window.googletag=window.googletag||{},googletag.cmd=googletag.cmd||[],googletag.cmd.push((function(){if(mcAds.slots){window.gptDirectoryMaybeRepositionBannerSlot();var e=window.innerWidth<=768;if("targeting"in mcAds&&"object"===typeof mcAds.targeting&&null!==mcAds.targeting)for(var t in mcAds.targeting)googletag.pubads().setTargeting(t,mcAds.targeting[t]);for(var i in mcAds.slots){var s;if((!("isMobile"in mcAds.slots[i])||!mcAds.slots[i].isMobile||e)&&((!("isDesktop"in mcAds.slots[i]&&mcAds.slots[i].isDesktop&&e)||document.getElementById("bestof-nav-wrapper"))&&document.getElementById(i))){if("outOfPage"in mcAds.slots[i]&&mcAds.slots[i].outOfPage){var d=mcAds.slots[i].id;"outOfPageFormat"in mcAds.slots[i]&&(d=googletag.enums.OutOfPageFormat[mcAds.slots[i].outOfPageFormat]),s=googletag.defineOutOfPageSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,d)}else{var o=mcAds.slots[i].adSizes;0===o.lastIndexOf("[",0)&&(o=JSON.parse(o)),s=googletag.defineSlot(mcAds.gptNetworkID+mcAds.slots[i].adUnit,o,mcAds.slots[i].id)}if("mapping"in mcAds&&"mapping"in mcAds.slots[i]&&mcAds.slots[i].mapping in mcAds.mapping&&s.defineSizeMapping(mcAds.mapping[mcAds.slots[i].mapping]),"targeting"in mcAds.slots[i]&&"object"===typeof mcAds.slots[i].targeting&&null!==mcAds.slots[i].targeting)for(var n in mcAds.slots[i].targeting)s.setTargeting(n,mcAds.slots[i].targeting[n]);s.addService(googletag.pubads()),"doPrebid"in mcAds&&"true"===mcAds.doPrebid&&"isPrebid"in mcAds.slots[i]&&"true"===mcAds.slots[i].isPrebid&&mcAds.slotsPrebid.push(mcAds.slots[i].id),mcAds.slotsFired[mcAds.slots[i].id]=s}}for(var a in googletag.pubads().enableAsyncRendering(),googletag.pubads().collapseEmptyDivs(),googletag.pubads().disableInitialLoad(),googletag.pubads().enableSingleRequest(),googletag.enableServices(),mcAds.slotsFired)-1===mcAds.slotsPrebid.indexOf(a)&&("undefined"===typeof mcAds.slots[a].outOfPageFormat&&googletag.display(a),mcAds.slots[a].isLazy&&"true"===mcAds.slots[a].isLazy||googletag.pubads().refresh([mcAds.slotsFired[a]]));document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsFired[t]&&(googletag.pubads().refresh([mcAds.slotsFired[t]]),mcAds.debug&&console.log("Initial refreshing for lazy loaded slot:",t))})),googletag.pubads().addEventListener("slotRenderEnded",(function(t){var i=t.slot.getSlotElementId();t.isEmpty||(mcAds.debug&&console.log("Calling stickyAds.update() after slotRenderEnded:",i),window.stickyAds&&window.stickyAds.update());var s=String(t.size);if(!t.isEmpty&&"1,1"===s&&["banner-1","banner-3","adslot_0","adslot_1","adslot_2","native_related","rail-1","rail-2","rail-3","toprailsponsor-1"].indexOf(i)){var d=document.getElementById(i);if(d)if("banner-1"===i&&"true"===mcAds.isGeodir)d.style.visibility="hidden";else document.getElementById("bestof-nav-wrapper")||(d.style.height="1px",d.style.overflow="hidden",d.style.marginTop="-8px")}if(!t.isEmpty&&"ad-reveal"===i){document.body.classList.add("has-reveal");var o=document.getElementById("ad-reveal"),n=o.clientHeight,a=document.getElementsByTagName("body")[0],l=document.body,g=document.documentElement,r=Math.max(l.scrollHeight,l.offsetHeight,g.clientHeight,g.scrollHeight,g.offsetHeight),c=document.getElementById("under-reveal"),p=document.getElementById("wpadminbar");p&&(p.style.position="absolute",p.style.top=0),c.style.height=r+"px";var m=n,u=(m-0)/60,f=0,b=!1,A=setInterval((function(){if((f+=u)>=m)return clearInterval(A),a.style.marginTop=m+"px",c.style.top=m+"px",p&&(p.style.top=m+"px"),b=!0,void("undefined"!==window.stickyHeader&&window.mcStickyHeader.update());a.style.marginTop=f+"px",c.style.top=f+"px",p&&(p.style.top=f+"px")}),1e3/60);document.addEventListener("scroll",(function(t){if(b)if(window.pageYOffset>n){var i=document.getElementById("js-mobile-sticky");e&&(i.style.display="block"),p&&(p.style.position="fixed",p.style.top=0),o.style.visibility="hidden"}else p&&(p.style.position="absolute",p.style.top=m+"px"),o.style.visibility="visible"}))}}))}})),document.addEventListener("lazybeforeunveil",(function(e){var t=e.target.getAttribute("data-ad");t&&mcAds.slotsPrebid.indexOf(t)&&(mcAds.slots[t].isLazy=!1,mcAds.debug&&console.log("Ad slot unveiled early:",t))}))},193:function(){window.addEventListener("message",(function(e){if("initdfp"===e.data){if(!e.source)return;var t=window.innerWidth||document.body.clientWidth,i="tiny";t>=1400?i="x-large":t>=1024?i="large":t>=970?i="fullmenu":t>=768?i="medium":t>=560?i="small-medium":t>=320&&(i="small");var s="breakpoint:"+i+"-mc";e.source.postMessage(s,"*")}}),!1)}},t={};function i(s){var d=t[s];if(void 0!==d)return d.exports;var o=t[s]={exports:{}};return e[s](o,o.exports,i),o.exports}i.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(t,{a:t}),t},i.d=function(e,t){for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";i(90),i(909),i(547),i(786),i(193)}()}(); /* ]]> */ </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link rel="alternate" type="application/json" href="https://www.phillymag.com/wp-json/wp/v2/posts/4044402"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta name="generator" content="WordPress 6.4.3"> <link rel="shortlink" href="https://www.phillymag.com/?p=4044402"> <meta property="og:published_time" content="2024-04-08T20:18:37+00:00"> <meta property="og:modified_time" content="2024-04-08T23:24:01+00:00"> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regular-v11-woff-eot/Noe-Text-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-regularitalic-v11-woff-eot/Noe-Text-Regular-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibold-v11-woff-eot/Noe-Text-Semibold.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://www.phillymag.com/wp-content/themes/metrocorp/dist/fonts/noetext-semibolditalic-v11-woff-eot/Noe-Text-Semibold-Italic.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/fonts/TypeTrustWebFonts17080803686/heroiccondweb-bold.ttf" as="font" type="font/ttf" crossorigin> <script type="application/ld+json">{ "@context": "http:\/\/schema.org", "@type": "NewsArticle", "publisher": { "@type": "Organization", "name": "Philadelphia Magazine", "logo": { "@type": "ImageObject", "url": "https:\/\/www.phillymag.com\/wp-content\/themes\/metrocorp-phillymag\/images\/logo-philadelphia.png" } }, "mainEntityOfPage": { "@type": "WebPage", "@id": "https:\/\/www.phillymag.com\/news\/2024\/04\/08\/philadelphia-crime-shootings-homicide\/" }, "headline": "Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels", "datePublished": "2024-04-08T16:18:37-04:00", "dateModified": "2024-04-08T19:24:01-04:00", "author": [ { "@type": "Person", "name": "Victor Fiorillo" } ], "image": { "@type": "ImageObject", "url": "https:\/\/www.phillymag.com\/wp-content\/uploads\/sites\/3\/2024\/04\/philly-trev-adams-11531154.jpg", "height": 600, "width": 900 }, "keywords": "Cecily Tynan,City Living,Crime", "articleSection": "News" }</script><meta name="google-site-verification" content="jaT6k5odH6wQbrXb-WKQeHiEFFkfePsGXSELOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta name="msapplication-TileImage" content="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-270x270.png"> <script>dataLayer = [{"post_id":4044402,"content_type":"blog","category":"news","tag":"cecily-tynan city-living crime","author":"Victor Fiorillo"}];gtmLoaded=true;</script><!-- Google Tag Manager --> <noscript> &lt;iframe src="//www.googletagmanager.com/ns.html?id=GTM-PLKVN8" height="0" width="0" style="display:none;visibility:hidden"&gt;</noscript> <script> window.dataLayer = window.dataLayer || []; if ( typeof dataLayer[0].gaReferer === 'undefined' ) { var referrer = document.referrer, siteURL = window.location.origin; if ( ! referrer || referrer.indexOf( siteURL ) === 0 ) { dataLayer[0].gaReferer = null; } else { dataLayer[0].gaReferer = referrer; } } dataLayer.push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></script><!-- End Google Tag Manager --> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window, document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '907137196060410'); fbq('track', 'PageView'); </script> <noscript>&lt;img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=907137196060410&amp;amp;ev=PageView&amp;amp;noscript=1"&gt;</noscript> <!-- End Facebook Pixel Code --> <!-- Facebook --> <script> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); </script> <!-- End Facebook Tag --> <!-- Start of HubSpot Embed Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></script> <!-- End of HubSpot Embed Code --> <!-- Start of Teads Embed Code --> <script async src="https://a.teads.tv/analytics/tag.js"></script> <script> window.teads_analytics = window.teads_analytics || {}; window.teads_analytics.analytics_tag_id = "PUB_14921"; window.teads_analytics.share = window.teads_analytics.share || function() { (window.teads_analytics.shared_data = window.teads_analytics.shared_data || []).push(arguments); }; </script> <!-- End of Teads Embed Code --> <script type="text/javascript"> _linkedin_partner_id = "1153130"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id); </script><script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> &lt;img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=1153130&amp;amp;fmt=gif"&gt; </noscript> </head> <bod |
| 25 |
Error
On line 249, column 117 > </head> <body class="post-template-default single single-post postid-4044402 single-format-standard current-site-phillymag"> < |
| 26 |
Error
On line 651, column 120 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> <div class="container"> <hr class="double"> </div> <div id="banner-1" class="gpt-ad advertisement container"></div> <div class="container" role="main"> <div class="list-post" style="display:none"> <a href="https://www.phillymag.com/scrapertrap" class="post-image-link"><img width="400" height="250" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="attachment-image-list size-image-list wp-post-image" alt=""></a> <div class="list-post-card"> <a href="https://www.phillymag.com/scrapertrap" class="post-slug">I'm a scraper</a> <div class="post-title"> <a href="https://www.phillymag.com/scrapertrap">This search result is here to prevent scraping</a> </div> <div class="post-excerpt"> <p>If you're a human and see this, please ignore it. If you're a scraper, please click the link below :-) Note that clicking the link below will block access to this site for 24 hours.</p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/scrapertrap" class="byline">I'm a scraper</a></span> </div> </div> <div class="content-with-sidebar"> <div class="wysiwyg post-article-wrapper"> <article id="post-4044402" class="post-article"> <div> <a href="https://www.phillymag.com/category/news/" class="post-slug" id="post-rubric" itemprop="articleSection">News</a><br> <h1 class="post-title" itemprop="headline">Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels</h1> <div class="post-excerpt"><p>And homicides are headed that way as well. Plus, Cecily Tynan tried her best to clear up eclipse misinformation.</p> </div> <div class="byline-wrapper"> <div class="author-date-wrapper"> By <span itemprop="author"><a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline" itemprop="url"><span itemprop="name">Victor Fiorillo</span></a></span><span id="byline-dot">·</span> <span itemprop="datePublished"> <time datetime="2024-04-08" pubdate> 4/8/2024, 4:18 p.m. </time> </span> </div> <div class="social-sharing"> </div> </div> <div class="container post-article-container"> <hr class="double"> <div class="newsletter"> <h2 class="newsletter-title"> Get a compelling long read and must-have lifestyle tips in your inbox every Sunday morning — great with coffee! </h2> <div class="newsletter-inner"> <div class="hbspt-form js-hubspot-newsletter"></div> </div> </div> </div> <div id="attachment_4044528" style="width: 910px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-4044528" class="size-full wp-image-4044528" src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154.jpg" alt="" width="900" height="600" srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154.jpg 900w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-600x400.jpg 600w" sizes="(max-width: 900px) 100vw, 900px"><p id="caption-attachment-4044528" class="wp-caption-text">The skyline of Philadelphia, where shootings and homicides have dropped to pre-pandemic levels / Photograph by Trev Adams</p></div><p><em>Check phillymag.com each morning Monday through Thursday for the latest edition of Philly Today. And if you have a news tip for our hardworking Philly Mag reporters, please direct it <a href="https://www.phillymag.com/tips">here</a>. You can also use that form to send us reader mail. We love reader mail!</em></p><h3>Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels</h3><p>Let’s talk about data for a moment. You know, actual facts.</p><p>Though Philadelphia is constantly presented in the media — both local and national — as this lawless, hopeless place where you can’t walk for a quart of milk without getting shot, the truth is actually much, much different.</p><div id="in_content" class="gpt-ad in-content-ad"></div><div id="in_content_2" class="gpt-ad in-content-ad"></div><p>For many months, we’ve been monitoring what’s known as the “rolling shooting average” in Philadelphia. That is the total number of shootings — both fatal and not — in the last 365 days. It’s a useful measurement of how things really are in Philadelphia, what the trends are like.</p><p>As of Monday afternoon, the rolling shooting average in Philadelphia is 1,474. That means that 1,474 people have been shot in Philadelphia between April 9, 2023, and April 8, 2024. That’s obviously far too many people. But consider this: the rolling shooting average in Philadelphia on July 23, 2021, was 2,544. That was its peak. Today, the rolling shooting average is the lowest it has been since January 10, 2020.</p><p>Looking at year-to-date data, the outlook is also much different than the narrative. More than three months into the year, we’ve had 46 percent fewer shooting victims than we did during the same time period last year. About a month ago, homicides were down 30 percent as of that date. As of Monday, homicides are down 35 percent. Should that trend remain — and let’s hope and pray that it does — we would close out the year with the fewest homicides in a decade.</p><p>Just the facts, man. You can send me hate mail about it via the tip form linked above. And for more about how public safety in Philadelphia is improving, <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/">read this</a>.</p><h3>Cecily Tynan Tried Her Darnedest to School People on Eclipse Misinformation</h3><p>A lot of people in the Philly area seemed to think that it was going to get dark or at least dark-ish during Monday afternoon’s eclipse. We heard about events being canceled due to the darkness. And apparently 6ABC meteorologist Cecily Tynan heard about those cancelations as well.</p><p>On Sunday night, Tynan took to social media to try to school her viewers about what they could <em>actually</em> expect during the eclipse. “I’m hearing of events being canceled Monday afternoon and people being worried about letting their dogs out due to the ‘darkness.’ But outside of the path of totality, it won’t get dark during the solar eclipse, just a bit dull, like during an overcast day. There will be … no behavioral changes in animals … Life can go on as normal.”</p><p>In a separate post, she wrote: “IT WILL NOT GET DARK HERE” I love it when Cecily uses all caps!</p><p>Personally, I’m glad the whole eclipse thing is over with. Was a bit of a snooze. If you weren’t in the path of totality, I don’t want to hear from you.</p><h3>Local Talent</h3><p>Because of <em>course</em> Jason Kelce had to become the talk-of-the-town at <em>WrestleMania</em>. For that and so much more from another overhyped event, we turn to our official <em>WrestleMania</em> correspondent Laura Swartz, <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/">who delivers some of the best <em>WrestleMania</em> moments</a>.</p><p>And huge congrats to Philly’s own Dawn Staley, who just coached South Carolina’s women’s basketball team to the <a href="https://www.espn.com/womens-college-basketball/story/_/id/39895531/south-carolina-claims-ncaa-championship-clark-iowa">NCAA tournament championship</a>.</p><h3>By the Numbers: Eclipse Edition</h3><p><strong>55: </strong>Years you’ll need to wait if you live in Southeastern Pennsylvania and want to be in the path of totality without leaving your yard. Mark the date: <a href="https://eclipse.gsfc.nasa.gov/SEplot/SEplot2051/SE2079May01T.GIF" target="_blank" rel="noopener">May 1, 2079</a>.</p><p><strong>95 percent: </strong>Amount of the sun’s light that was blocked in Philadelphia during an eclipse in May of 1984. Alas, it was a cloudy day and didn’t make for great eclipse viewing.</p><p><strong>2: </strong>People I know who thought that combination of last week’s minor earthquake and Monday’s total solar eclipse might be a sign of the End Times (no, really!) even though the world sees about 500,000 earthquakes of that magnitude each year and in spite of the fact that not a single place that felt the earthquake is in the path of totality. But logic and sound thinking are overrated these days.</p><h3>And from the Eclipsed-by-the-Eclipse Sports Desk</h3><p>There is no Sports Desk today. This is because my esteemed colleague Sandy Hingston, who covers all things sports for Philly Today, was talked into driving up to Niagara Falls to see the damn thing. Enjoy the traffic, Sandy!</p><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['article'] = { featureLabel: 'Philly/Boston Paywall Experience', outcomeId: 'transformation/5', outcomeLabel: 'show article' }; </script> <div class="pagination"> </div></div> <div class="post-tags"> <span class="post-subtitle"> Read More About: </span> <ul itemprop="keywords"> <li><a href="https://www.phillymag.com/tag/cecily-tynan/" class="button">Cecily Tynan</a></li> <li><a href="https://www.phillymag.com/tag/city-living/" class="button">City Living</a></li> <li><a href="https://www.phillymag.com/tag/crime/" class="button">Crime</a></li> </ul> <div id="rail-1" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-1"></div> </div> <hr class="double"> <div class="author-module" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="#" class="author-module-avatar"><img width="170" height="170" class="avatar avatar-170 photo lazyload wp-post-image" alt="" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-170x170.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-170x170.jpg 170w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-360x360.jpg 360w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-100x100.jpg 100w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-50x50.jpg 50w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-95x95.jpg 95w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar.jpg 400w" data-sizes="(max-width: 170px) 100vw, 170px"></a> <div class="author-module-card"> <span class="author-module-name post-subtitle"> <a href="https://www.phillymag.com/author/victor-fiorillo/" itemprop="url"><span itemprop="name">Victor Fiorillo</span></a> </span> <span class="author-module-position">Senior Reporter at Philadelphia Magazine</span> <a href="https://twitter.com/phillyvictor" class="author-module-twitter author-social"><svg class="mc-icon twitter" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-twitter"></use></svg> @phillyvictor</a> <br> <a href="http://facebook.com/https://www.facebook.com/VictorKnowsPhilly/" class="author-module-facebook author-social"><svg class="mc-icon facebook" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-facebook"></use></svg>https://www.facebook.com/VictorKnowsPhilly/</a> <br> <a href="mailto:[email protected]" class="author-module-email author-social"><svg class="mc-icon email" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-email"></use></svg>[email protected]</a> </div> </div> <hr class="solid"> <div id="related-posts" class="related-module"> <span class="post-subtitle">You Might Also Like</span> <div class="grid-content small-gutter six-mods"> <div class="grid-post"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-politics-future/" data-gtm-title="10 Philly Voices That Give Us Hope for the Future of City Politics"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>10 Philly Voices That Give Us Hope for the Future of City Politics</p> </span> </a> </div> <div id="directory_edl-1" class="gpt-ad"></div> <div id="native_related" class="gpt-ad"></div> <div id="directory_edl-2" class="gpt-ad"></div> <div class="grid-post"> <a href="https://www.phillymag.com/news/dating-in-philly/" data-gtm-title="How Philly Dates Now"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>How Philly Dates Now</p> </span> </a> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2023/06/03/dating-apps-guide/" data-gtm-title="A 2023 User's Manual to Dating Apps"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p><span class="ui-provider gs b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">A 2023 User’s Manual to Dating Apps</span></p> </span> </a> </div> <div class="grid-post nativo1"></div> <div class="grid-post nativo2"></div> <div class="grid-post nativo3"></div> </div> </div> </article> </div><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['all-access-page'] = { featureLabel: 'All Access Pages', outcomeId: 'transformation/3', outcomeLabel: 'Remove' }; </script> <div class="sidebar"> <div class="trending-widget"> <div id="toprailsponsor-1" class="gpt-ad toprail-bewell"></div> <h2 class="title-line">Trending</h2> <ol> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"> SEPTA’s New “High-Tech” Fare Gates Are Very, Very Easy to Beat </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"> 10 Bonkers Things That Happened at WrestleMania 40 </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Why Allan Domb Is Upbeat About Philadelphia’s Economy </a> </h3> </li> </ol> </div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> |
| 27 |
Info
On line 651, column 55 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> <div class="container"> <hr class="double"> </div> <div id="banner-1" class="gpt-ad advertisement container"></div> <div class="container" role="main"> <div class="list-post" style="display:none"> <a href="https://www.phillymag.com/scrapertrap" class="post-image-link"><img width="400" height="250" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="attachment-image-list size-image-list wp-post-image" alt=""></a> <div class="list-post-card"> <a href="https://www.phillymag.com/scrapertrap" class="post-slug">I'm a scraper</a> <div class="post-title"> <a href="https://www.phillymag.com/scrapertrap">This search result is here to prevent scraping</a> </div> <div class="post-excerpt"> <p>If you're a human and see this, please ignore it. If you're a scraper, please click the link below :-) Note that clicking the link below will block access to this site for 24 hours.</p> </div> <span class="byline-wrapper">By <a href="https://www.phillymag.com/scrapertrap" class="byline">I'm a scraper</a></span> </div> </div> <div class="content-with-sidebar"> <div class="wysiwyg post-article-wrapper"> <article id="post-4044402" class="post-article"> <div> <a href="https://www.phillymag.com/category/news/" class="post-slug" id="post-rubric" itemprop="articleSection">News</a><br> <h1 class="post-title" itemprop="headline">Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels</h1> <div class="post-excerpt"><p>And homicides are headed that way as well. Plus, Cecily Tynan tried her best to clear up eclipse misinformation.</p> </div> <div class="byline-wrapper"> <div class="author-date-wrapper"> By <span itemprop="author"><a href="https://www.phillymag.com/author/victor-fiorillo/" class="byline" itemprop="url"><span itemprop="name">Victor Fiorillo</span></a></span><span id="byline-dot">·</span> <span itemprop="datePublished"> <time datetime="2024-04-08" pubdate> 4/8/2024, 4:18 p.m. </time> </span> </div> <div class="social-sharing"> </div> </div> <div class="container post-article-container"> <hr class="double"> <div class="newsletter"> <h2 class="newsletter-title"> Get a compelling long read and must-have lifestyle tips in your inbox every Sunday morning — great with coffee! </h2> <div class="newsletter-inner"> <div class="hbspt-form js-hubspot-newsletter"></div> </div> </div> </div> <div id="attachment_4044528" style="width: 910px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-4044528" class="size-full wp-image-4044528" src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154.jpg" alt="" width="900" height="600" srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154.jpg 900w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/philly-trev-adams-11531154-600x400.jpg 600w" sizes="(max-width: 900px) 100vw, 900px"><p id="caption-attachment-4044528" class="wp-caption-text">The skyline of Philadelphia, where shootings and homicides have dropped to pre-pandemic levels / Photograph by Trev Adams</p></div><p><em>Check phillymag.com each morning Monday through Thursday for the latest edition of Philly Today. And if you have a news tip for our hardworking Philly Mag reporters, please direct it <a href="https://www.phillymag.com/tips">here</a>. You can also use that form to send us reader mail. We love reader mail!</em></p><h3>Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels</h3><p>Let’s talk about data for a moment. You know, actual facts.</p><p>Though Philadelphia is constantly presented in the media — both local and national — as this lawless, hopeless place where you can’t walk for a quart of milk without getting shot, the truth is actually much, much different.</p><div id="in_content" class="gpt-ad in-content-ad"></div><div id="in_content_2" class="gpt-ad in-content-ad"></div><p>For many months, we’ve been monitoring what’s known as the “rolling shooting average” in Philadelphia. That is the total number of shootings — both fatal and not — in the last 365 days. It’s a useful measurement of how things really are in Philadelphia, what the trends are like.</p><p>As of Monday afternoon, the rolling shooting average in Philadelphia is 1,474. That means that 1,474 people have been shot in Philadelphia between April 9, 2023, and April 8, 2024. That’s obviously far too many people. But consider this: the rolling shooting average in Philadelphia on July 23, 2021, was 2,544. That was its peak. Today, the rolling shooting average is the lowest it has been since January 10, 2020.</p><p>Looking at year-to-date data, the outlook is also much different than the narrative. More than three months into the year, we’ve had 46 percent fewer shooting victims than we did during the same time period last year. About a month ago, homicides were down 30 percent as of that date. As of Monday, homicides are down 35 percent. Should that trend remain — and let’s hope and pray that it does — we would close out the year with the fewest homicides in a decade.</p><p>Just the facts, man. You can send me hate mail about it via the tip form linked above. And for more about how public safety in Philadelphia is improving, <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-crime-public-safety/">read this</a>.</p><h3>Cecily Tynan Tried Her Darnedest to School People on Eclipse Misinformation</h3><p>A lot of people in the Philly area seemed to think that it was going to get dark or at least dark-ish during Monday afternoon’s eclipse. We heard about events being canceled due to the darkness. And apparently 6ABC meteorologist Cecily Tynan heard about those cancelations as well.</p><p>On Sunday night, Tynan took to social media to try to school her viewers about what they could <em>actually</em> expect during the eclipse. “I’m hearing of events being canceled Monday afternoon and people being worried about letting their dogs out due to the ‘darkness.’ But outside of the path of totality, it won’t get dark during the solar eclipse, just a bit dull, like during an overcast day. There will be … no behavioral changes in animals … Life can go on as normal.”</p><p>In a separate post, she wrote: “IT WILL NOT GET DARK HERE” I love it when Cecily uses all caps!</p><p>Personally, I’m glad the whole eclipse thing is over with. Was a bit of a snooze. If you weren’t in the path of totality, I don’t want to hear from you.</p><h3>Local Talent</h3><p>Because of <em>course</em> Jason Kelce had to become the talk-of-the-town at <em>WrestleMania</em>. For that and so much more from another overhyped event, we turn to our official <em>WrestleMania</em> correspondent Laura Swartz, <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/">who delivers some of the best <em>WrestleMania</em> moments</a>.</p><p>And huge congrats to Philly’s own Dawn Staley, who just coached South Carolina’s women’s basketball team to the <a href="https://www.espn.com/womens-college-basketball/story/_/id/39895531/south-carolina-claims-ncaa-championship-clark-iowa">NCAA tournament championship</a>.</p><h3>By the Numbers: Eclipse Edition</h3><p><strong>55: </strong>Years you’ll need to wait if you live in Southeastern Pennsylvania and want to be in the path of totality without leaving your yard. Mark the date: <a href="https://eclipse.gsfc.nasa.gov/SEplot/SEplot2051/SE2079May01T.GIF" target="_blank" rel="noopener">May 1, 2079</a>.</p><p><strong>95 percent: </strong>Amount of the sun’s light that was blocked in Philadelphia during an eclipse in May of 1984. Alas, it was a cloudy day and didn’t make for great eclipse viewing.</p><p><strong>2: </strong>People I know who thought that combination of last week’s minor earthquake and Monday’s total solar eclipse might be a sign of the End Times (no, really!) even though the world sees about 500,000 earthquakes of that magnitude each year and in spite of the fact that not a single place that felt the earthquake is in the path of totality. But logic and sound thinking are overrated these days.</p><h3>And from the Eclipsed-by-the-Eclipse Sports Desk</h3><p>There is no Sports Desk today. This is because my esteemed colleague Sandy Hingston, who covers all things sports for Philly Today, was talked into driving up to Niagara Falls to see the damn thing. Enjoy the traffic, Sandy!</p><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['article'] = { featureLabel: 'Philly/Boston Paywall Experience', outcomeId: 'transformation/5', outcomeLabel: 'show article' }; </script> <div class="pagination"> </div></div> <div class="post-tags"> <span class="post-subtitle"> Read More About: </span> <ul itemprop="keywords"> <li><a href="https://www.phillymag.com/tag/cecily-tynan/" class="button">Cecily Tynan</a></li> <li><a href="https://www.phillymag.com/tag/city-living/" class="button">City Living</a></li> <li><a href="https://www.phillymag.com/tag/crime/" class="button">Crime</a></li> </ul> <div id="rail-1" class="gpt-ad lazyload sticky-single-ad" data-ad="rail-1"></div> </div> <hr class="double"> <div class="author-module" itemprop="author" itemscope itemtype="http://schema.org/Person"> <a href="#" class="author-module-avatar"><img width="170" height="170" class="avatar avatar-170 photo lazyload wp-post-image" alt="" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-170x170.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-170x170.jpg 170w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-360x360.jpg 360w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-100x100.jpg 100w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-50x50.jpg 50w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar-95x95.jpg 95w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2018/05/fiorillo-avatar.jpg 400w" data-sizes="(max-width: 170px) 100vw, 170px"></a> <div class="author-module-card"> <span class="author-module-name post-subtitle"> <a href="https://www.phillymag.com/author/victor-fiorillo/" itemprop="url"><span itemprop="name">Victor Fiorillo</span></a> </span> <span class="author-module-position">Senior Reporter at Philadelphia Magazine</span> <a href="https://twitter.com/phillyvictor" class="author-module-twitter author-social"><svg class="mc-icon twitter" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-twitter"></use></svg> @phillyvictor</a> <br> <a href="http://facebook.com/https://www.facebook.com/VictorKnowsPhilly/" class="author-module-facebook author-social"><svg class="mc-icon facebook" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-facebook"></use></svg>https://www.facebook.com/VictorKnowsPhilly/</a> <br> <a href="mailto:[email protected]" class="author-module-email author-social"><svg class="mc-icon email" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-email"></use></svg>[email protected]</a> </div> </div> <hr class="solid"> <div id="related-posts" class="related-module"> <span class="post-subtitle">You Might Also Like</span> <div class="grid-content small-gutter six-mods"> <div class="grid-post"> <a href="https://www.phillymag.com/news/2024/04/06/philadelphia-politics-future/" data-gtm-title="10 Philly Voices That Give Us Hope for the Future of City Politics"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2024/04/900-pols-key-web.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>10 Philly Voices That Give Us Hope for the Future of City Politics</p> </span> </a> </div> <div id="directory_edl-1" class="gpt-ad"></div> <div id="native_related" class="gpt-ad"></div> <div id="directory_edl-2" class="gpt-ad"></div> <div class="grid-post"> <a href="https://www.phillymag.com/news/dating-in-philly/" data-gtm-title="How Philly Dates Now"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/05/900-Dating_01.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p>How Philly Dates Now</p> </span> </a> </div> <div class="grid-post"> <a href="https://www.phillymag.com/news/2023/06/03/dating-apps-guide/" data-gtm-title="A 2023 User's Manual to Dating Apps"> <div class="grid-post-image"> <img width="300" height="200" class="attachment-thumbnail size-thumbnail lazyload" alt="" decoding="async" loading="lazy" data-src="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-300x200.jpg" data-srcset="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-300x200.jpg 300w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-605x403.jpg 605w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-115x77.jpg 115w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06-600x400.jpg 600w, https://cdn10.phillymag.com/wp-content/uploads/sites/3/2023/06/F-Dating_06.jpg 900w" data-sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 969px) calc( ( ( 100vw - 30px ) / 3 ) - 35px ), 605px"> </div> <span class="post-title"> <p><span class="ui-provider gs b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak" dir="ltr">A 2023 User’s Manual to Dating Apps</span></p> </span> </a> </div> <div class="grid-post nativo1"></div> <div class="grid-post nativo2"></div> <div class="grid-post nativo3"></div> </div> </div> </article> </div><script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; if (!window.Zephr.outcomes) window.Zephr.outcomes = {}; window.Zephr.outcomes['all-access-page'] = { featureLabel: 'All Access Pages', outcomeId: 'transformation/3', outcomeLabel: 'Remove' }; </script> <div class="sidebar"> <div class="trending-widget"> <div id="toprailsponsor-1" class="gpt-ad toprail-bewell"></div> <h2 class="title-line">Trending</h2> <ol> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/05/septa-fare-evasion-gates/"> SEPTA’s New “High-Tech” Fare Gates Are Very, Very Easy to Beat </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> Philadelphia Shootings Have Plummeted to Pre-Pandemic Levels </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/08/wrestlemania-40-philadelphia/"> 10 Bonkers Things That Happened at WrestleMania 40 </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/optimist-guide-philadelphia-future/"> An Optimist’s Guide to Philadelphia </a> </h3> </li> <li> <h3 class="trending-post-title post-title"> <a href="https://www.phillymag.com/news/2024/04/06/allan-domb-philadelphia-economy/"> Why Allan Domb Is Upbeat About Philadelphia’s Economy </a> </h3> </li> </ol> </div> <div id="native_sidebar" class="gpt-ad native_sidebar"></div> |
| 28 |
Error
On line 729, column 40 _sidebar"></div> </div> </div> </div><!-- .col-main --> <div class="three-column-module container"> <h2 class="title-line">IN THIS SECTION</h2> <div class="grid-content with-separator"> <div class="grid-post"><div id="curated_module-1" class="gpt-ad lazyload" data-ad="curated_module-1"></div></div><div class="grid-post"><div id="curated_module-2" class="gpt-ad lazyload" data-ad="curated_module-2"></div></div><div class="grid-post"><div id="curated_module-3" class="gpt-ad lazyload" data-ad="curated_module-3"></div></div> </div> </div> <div id="banner-2" class="gpt-ad lazyload advertisement container" data-ad="banner-2"></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div class="footer-navigation"><ul id="menu-footer" class="menu-footer-main container"><li id="menu-item-1312111" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1312111"><a href="https://www.phillymag.com/about-philadelphia-magazine/">About</a></li> <li id="menu-item-1172051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1172051"><a href="https://phillymag.com/contact/">Contact</a></li> <li id="menu-item-3545622" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3545622"><a href="https://www.phillymag.com/issues/">Magazine</a></li> <li id="menu-item-1359951" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1359951"><a href="https://www.phillymag.com/subscribe-to-philadelphia/">Subscribe</a></li> <li id="menu-item-900141" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-900141"><a href="/philadelphia-magazine-media-kit/">Advertise</a></li> <li id="menu-item-3966784" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3966784"><a href="https://metrocorp.cloud.buysub.com/login">Customer Service</a></li> <li id="menu-item-3358026" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358026"><a href="https://www.phillymag.com/careers/">Careers</a></li> <li id="menu-item-3358028" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358028"><a href="https://www.phillymag.com/privacy-policy/">Privacy Policy</a></li> </ul></div> <div class="site-footer-inner container"> <a href="https://www.phillymag.com" class="footer-logo"> <span><svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg></span> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <ul id="menu-social-menu-2" class="menu-footer-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> <p class="footer-copyright">2024 © Metro Corp. All Rights Reserved.</p> </div> </footer> <div class="container" id="gutter-container"></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <![CDATA[ */ var mcZephr = {"ajaxurl":"https:\/\/www.phillymag.com\/wp-admin\/admin-ajax.php","pageslug":"philadelphia-crime-shootings-homicide","hbpageurl":"https:\/\/www.phillymag.com\/news\/2024\/04\/08\/philadelphia-crime-shootings-homicide\/","hbpagename":"Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels","hbportalid":"510637","formId":{"register":"bcb5c500-550a-47a6-bd37-ca98e1557872","meter":"5abdf84d-a6ba-444c-bdc7-8ce82290ccae"},"nonce":{"register":"c2b9b6612d","meter":"5fd0d64bac"},"pushArray":"[]"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></script> <script type="text/javascript" id="metrocorp-js-extra"> /* <![CDATA[ */ var mcGlobal = {"isSingle":"1","directoryName":"Philadelphia Magazine"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-philly-best-restaurants.js?ver=1.0.0" id="mc-datalayer-js" defer></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-yaml.js?ver=1.0.0" id="mc-datalayer-yaml-js"></script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></script> <!--[if if lte IE 8]> <script type="text/javascript" src="//js.hsforms.net/forms/v2-legacy.js?ver=1.0.0" id="mc-integrations-hubspot-legacy-js"></script> <![endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <![CDATA[ */ var mcHubSpot = {"portalId":"510637","formId":"1eb0cd17-b648-4155-bc2f-9026b5cbb937","isSingle":"true","title":"Shootings in Philadelphia Have Plummeted to Pre-Pandemic Levels","vertical":"City Life"}; /* ]]> */ </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></script> <!-- Start of AdCellerant Embed Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></script> <script type="text/javascript"> ttd_dom_ready( function() { if (typeof TTDUniversalPixelApi === 'function') { var universalPixelApi = new TTDUniversalPixelApi(); universalPixelApi.init("1qqfa0h", ["g7kke2y"], "https://insight.adsrvr.org/track/up"); } }); </script> <!-- End of AdCellerant Embed Code --> <link rel="stylesheet" href="//cloud.typography.com/6851996/6329192/css/fonts.css" type="text/css" media="print" onload="this.media='all'"> <div id="bottom-anchor" class="gpt-ad"></div> |
| 29 |
Info
On line 464, column 167 hillymag"> <div id="ad-reveal" class="gpt-ad"></div><div id="under-reveal"></div><div class="header-navigation-spacer"></div> <div class="header-navigation js-header-menu-full" id="js-header-navigation"> <div class="container header-navigation-inner"> <div class="navigation-logo"> <a href="//www.phillymag.com"> <svg class="mc-icon phillymag-logo" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-logo"></use></svg> </a> </div> <button id="js-mobile-menu-toggle" class="mobile-menu-toggle" aria-hidden="true"> <svg class="mc-icon hamburger" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-hamburger"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> <div class="header-menu-wrapper" id="js-header-navigation-wrapper"> <div class="header-menu"><ul id="menu-primary-menu" class="menu-header-main"><li id="menu-item-3441760" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li id="menu-item-3441764" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li id="menu-item-3441765" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li id="menu-item-3556438" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li id="menu-item-3441767" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li id="menu-item-3441776" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li id="menu-item-3570068" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li id="menu-item-3869015" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li id="menu-item-3869012" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li id="menu-item-3357928" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li id="menu-item-3701551" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li id="menu-item-3357931" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li id="menu-item-3358386" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li id="menu-item-3358357" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li id="menu-item-3357976" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li id="menu-item-3358644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li id="menu-item-3357934" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li id="menu-item-3357978" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li id="menu-item-3357983" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li id="menu-item-3358174" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li id="menu-item-3357984" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li id="menu-item-3357987" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li id="menu-item-3358017" class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li id="menu-item-3357997" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li id="menu-item-3357998" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li id="menu-item-3358019" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li id="menu-item-3570077" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li id="menu-item-3870342" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li id="menu-item-3358000" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li id="menu-item-3357999" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li id="menu-item-3358002" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li id="menu-item-3358004" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li id="menu-item-3358006" class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li id="menu-item-3358022" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li id="menu-item-4031702" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li id="menu-item-3358008" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div class="header-tablet-elements"> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left" class="menu-header-subscribe js-menu-zephr"><li id="menu-item-921051" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li id="menu-item-3821020" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li id="menu-item-3703713" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu" class="menu-header-social"><li id="menu-item-3357935" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li id="menu-item-3357936" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li id="menu-item-3357939" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> </div> </div> <div class="header-search"> <div class="search-form-wrapper" id="js-search-form-wrapper" aria-hidden="true"> <form role="search" method="get" class="search-form" action="https://www.phillymag.com/"> <label> <span class="screen-reader-text">Search for:</span> <input type="search" class="search-field" placeholder="Search …" value="" name="s" title="Search for:"> </label> <button type="submit"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <span class="screen-reader-text">Search</span> </button> </form> </div> <button id="js-toggle-search" aria-expanded="false" aria-controls="js-search-form-wrapper"> <svg class="mc-icon icon-search" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-icon-search"></use></svg> <svg class="mc-icon close" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-close"></use></svg> </button> </div> </div> </div> <header class="site-header" role="banner" id="js-header"> <div class="site-header-inner container"> <div class="header-social"> <div class="thin-line"> <span class="screen-reader-text">Follow</span> <svg class="mc-icon phillymag-follow" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-follow"></use></svg> </div> <ul id="menu-social-menu-1" class="menu-header-social"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357935"><a target="_blank" rel="noopener" href="https://www.facebook.com/philadelphiamagazine"><span class="screen-reader-text">Facebook</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357936"><a target="_blank" rel="noopener" href="https://www.instagram.com/phillymag/"><span class="screen-reader-text">Instagram</span></a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357939"><a target="_blank" rel="noopener" href="https://twitter.com/phillymag"><span class="screen-reader-text">Twitter</span></a></li> </ul> </div> <div class="header-logo"> <div itemscope itemtype="https://schema.org/Organization"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> <span class="screen-reader-text">Philadelphia Magazine</span> </a> <span class="section-front-tagline"></span></div> </div> <div class="header-subscribe"> <div class="thin-line"> <span class="screen-reader-text">Subscribe</span> <svg class="mc-icon phillymag-subscribe" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-subscribe"></use></svg> </div> <ul id="menu-sitenav_left-1" class="menu-header-subscribe js-menu-zephr"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-921051"><a href="/all-access/">All Access</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3821020"><a href="/newsletters">Newsletters</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3703713"><a href="/loginphilly">Sign In</a></li> </ul> </div> </div> </header> <div class="mobile-section-front"> <a href="https://www.phillymag.com/news"> <svg class="mc-icon phillymag-section-news" aria-hidden="true"><use xlink:href="/wp-content/themes/metrocorp/images/sprite.svg?ver=87#mc-icon-phillymag-section-news"></use></svg> </a> <span class="section-front-tagline"> </span> </div> <div class="header-navigation-secondary container"><ul id="menu-primary-menu-1" class="menu-topics"><li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-3441760"><a href="/find-it-philly-search/">Find It/Philly</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441764"><a href="/find-a-doctor/">Doctors</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441765"><a href="/dentists/">Dentists</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3556438"><a href="/home-design/">Home Design Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441767"><a href="/senior-living/">Senior Living</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3441776"><a href="/weddings/">Wedding Experts</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570068"><a href="/real-estate-agents/">Real Estate Agents</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869015"><a href="/private-schools">Private Schools</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3869012"><a href="/mortgage-lenders">Mortgage Professionals</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-has-children menu-item-3357928"><a href="https://www.phillymag.com/news">City Life</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical current-post-ancestor current-menu-parent current-post-parent menu-item-3701551"><a href="https://www.phillymag.com/news">The Latest</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357931"><a href="https://www.phillymag.com/foobooz">Restaurants</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358386"><a href="https://www.phillymag.com/foobooz">Foobooz</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358357"><a href="https://www.phillymag.com/foobooz/50-best-restaurants/">50 Best Restaurants</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357976"><a href="https://www.phillymag.com/restaurant-finder/">Restaurant Finder</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358644"><a href="https://www.phillymag.com/foobooz/philadelphia-restaurant-jobs/">Jobs</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357934"><a href="https://www.phillymag.com/be-well-philly">Health</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357978"><a href="https://www.phillymag.com/be-well-philly">Be Well Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357983"><a href="https://www.phillymag.com/dentists/">Find a Dentist</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358174"><a href="https://www.phillymag.com/find-a-doctor/">Find a Doctor</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3357984"><a href="https://www.phillymag.com/senior-living/">Senior Living</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357987"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a> <ul class="sub-menu"> <li class="hide-on-desktop menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358017"><a href="https://www.phillymag.com/life-style">Life &amp; Style</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3357997"><a href="https://www.phillymag.com/property">Real Estate &amp; Home</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357998"><a href="https://www.phillymag.com/property">Properties &amp; News</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358019"><a href="/home-design/">Find a Home &amp; Design Pro</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3570077"><a href="/real-estate-agents/">Find a Real Estate Agent</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3870342"><a href="/mortgage-lenders">Find a Mortgage Professional</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358000"><a href="https://www.phillymag.com/things-to-do">Things To Do</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3357999"><a href="https://www.phillymag.com/things-to-do">Events in Philly</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358002"><a href="https://www.phillymag.com/events">Philly Mag Events</a></li> </ul> </li> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-has-children menu-item-3358004"><a href="https://www.phillymag.com/philadelphia-wedding">Wedding</a> <ul class="sub-menu"> <li class="menu-item menu-item-type-taxonomy menu-item-object-mc-tax-vertical menu-item-3358006"><a href="https://www.phillymag.com/philadelphia-wedding">Guides &amp; Advice</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358022"><a href="https://www.phillymag.com/weddings/">Find a Wedding Expert</a></li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-4031702"><a href="/bubblybrunch">Bubbly Brunch Event</a></li> </ul> </li> <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-3358008"><a href="https://www.phillymag.com/best-of-philly/">Best of Philly</a></li> </ul></div> <div style="width:1px;height:1px;margin:-1px 0 0 0;padding:0;display:block;"> <div id="skin" class="gpt-ad"></div> </div> <div id="interstitial" class="gpt-ad out-of-page"></div><div id="teads-video-oop" class="gpt-ad out-of-page"></div><div id="bottom-anchor" class="gpt-ad out-of-page"></div> |
| 30 |
Error
On line 855, column 7 ="gpt-ad"></div> <script type="text/javascript"> window.Zephr = window.Zephr || {}; window.Zephr.includeOutcomes = true; window.Zephr.outcomesAsEvents = true; window.Zephr.groupFields = false; (function() { var xhr = new(XMLHttpRequest || ActiveXObject)('MSXML2.XMLHTTP.3.0'); xhr.open('GET', '/blaize/datalayer', true); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { var response; try { response = JSON.parse(xhr.response); } catch (e) { response = xhr.response; } if (xhr.status === 200) { for (var dataLayerFieldName in response) { if (!(dataLayerFieldName in window)) window[dataLayerFieldName] = []; var pageView = response[dataLayerFieldName]; var events = []; if (window.Zephr && window.Zephr.includeOutcomes && window.Zephr.outcomes) { pageView.zephrOutcomes = window.Zephr.outcomes; if (window.Zephr.outcomesAsEvents) { Object.keys(window.Zephr.outcomes || []).forEach(function(outcomeKey) { var outcomeEvent = { event: "zephr-outcome-" + outcomeKey, featureId: outcomeKey, featureLabel: window.Zephr.outcomes[outcomeKey].featureLabel, outcomeId: window.Zephr.outcomes[outcomeKey].outcomeId, outcomeLabel: window.Zephr.outcomes[outcomeKey].outcomeLabel, }; events.push(outcomeEvent); }); } } if (window.Zephr && window.Zephr.accessDetails) { Object.keys((window.Zephr.accessDetails.trials || {})).forEach(function(trialId){ var trial = window.Zephr.accessDetails.trials[trialId] if(trial.reportInDataLayer){ var usedCredits = trial.totalCredits - trial.remainingCredits if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (trial.dataLayerCreditsUsedKey) { target[trial.dataLayerCreditsUsedKey] = usedCredits; } if (trial.dataLayerCreditsRemainingKey) { target[trial.dataLayerCreditsRemainingKey] = trial.remainingCredits; } } }); (window.Zephr.accessDetails.trialTrackingDetails || []).forEach(function(details) { var type = details.entitlementType === 'credits' ? 'credits' : 'meters'; var trial = (window.Zephr.accessDetails[type] || {})[details.entitlementId]; if (!trial) return; if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; if (details.creditsRemainingKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsRemainingKey] = trial.remainingCredits; } else { pageView[details.creditsRemainingKey] = trial.remainingCredits; } } if (details.creditsUsedKey) { if (window.Zephr.groupFields) { pageView.zephrTrials[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } else { pageView[details.creditsUsedKey] = trial.totalCredits - trial.remainingCredits; } } }); try { (Object.keys(window.Zephr.accessDetails.timeTrials || {})).forEach(function(timeTrialId) { var timeTrial = window.Zephr.accessDetails.timeTrials[timeTrialId] if(timeTrial.reportInDataLayer){ if (window.Zephr.groupFields && !pageView.zephrTrials) pageView.zephrTrials = {}; var target = window.Zephr.groupFields ? pageView.zephrTrials : pageView if (timeTrial.dataLayerTrialDurationKey) { target[timeTrial.dataLayerTrialDurationKey] = timeTrial.trialDuration; } if (timeTrial.dataLayerTrialDurationUnitsKey) { target[timeTrial.dataLayerTrialDurationUnitsKey] = timeTrial.trialDurationUnits; } if (timeTrial.dataLayerTrackerEntryTimeKey) { target[timeTrial.dataLayerTrackerEntryTimeKey] = timeTrial.entryTime; } if (timeTrial.dataLayerTrackerHitsKey) { target[timeTrial.dataLayerTrackerHitsKey] = timeTrial.trackerHits; } if (timeTrial.dataLayerTrialTimeRemainingKey) { target[timeTrial.dataLayerTrialTimeRemainingKey] = timeTrial.timeRemainingInTrial; } } }); } catch (err) { console.error("Error aggregating Zephr time trials", err); } } if (Object.keys(pageView).length) { pageView.event = "zephr-pageview"; events.unshift(pageView); } if (!events.length) continue; events.forEach(function(event) { window[dataLayerFieldName].push(event); }); } var readyEvent = document.createEvent('Event'); readyEvent.initEvent('zephr.dataLayerReady', true, true); document.dispatchEvent(readyEvent); } } } xhr.send({}); })(); </script> <script type="text/javascript"> if (!window.Zephr) window.Zephr = {}; window.Zephr.accessDetails = {"isAuthenticated":false,"accessDecisions":{"M3A9uZ":true},"entitlements":{},"credits":{},"meters":{"M3A9uZ":{"isUsedInDecision":true,"isDecrementedInDecision":true,"totalCredits":3,"remainingCredits":2},"yd5xCQ":{"isUsedInDecision":false,"isDecrementedInDecision":false,"totalCredits":3,"remainingCredits":3}},"trials":{},"timeTrials":{},"trialTrackingDetails":[{"creditsUsedKey":"BOSregisteredTrialUsed","creditsRemainingKey":"BOSregisteredTrialRemaining","entitlementId":"8PkFKn","entitlementType":"meter"},{"creditsUsedKey":"PHIunRegisteredTrialUsed","creditsRemainingKey":"PHIunRegisteredTrialRemaining","entitlementId":"M3A9uZ","entitlementType":"meter"},{"creditsUsedKey":"PHIregisteredTrialUsed","creditsRemainingKey":"PHIregisteredTrialRemaining","entitlementId":"X8GVUi","entitlementType":"meter"},{"creditsUsedKey":"BOSunRegisteredTrialUsed","creditsRemainingKey":"BOSunRegisteredTrialRemaining","entitlementId":"yd5xCQ","entitlementType":"meter"}],"testGroups":{"a92a3049-5eae-42b9-a584-32c777aeb20f":"A","3b01d163-59e0-4572-93b2-2ccaee467b4c":"A","a866aafc-5caa-4bfc-968d-3be9056b2733":"B","e00c1d35-cbaa-4515-bdea-241356f6f120":"B"},"activeProducts":[]}; </script> </body> </htm |
| 31 |
Error
On line 3, column 44 ymag.com/?p=4044402>; rel= |
| 32 |
Error
On line 2, column 61 v2/posts/4044402>; rel= |
| 33 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 34 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 35 |
Error
On line 1, column 36 ymag.com/wp-json/>; rel= |
| 36 |
Error
On line 29, column 111 evels."> <link rel="canonical" href="https://www.phillymag.com/news/2024/04/08/philadelphia-crime-shootings-homicide/"> <met |
| 37 |
Info
On line 60, column 31 phy.com"> <script type="text/javascript"> /* <! |
| 38 |
Info
On line 67, column 55 </script> <style id="wp-emoji-styles-inline-css" style="background-color: #ffff80;">type="text/css"> img |
| 39 |
Info
On line 81, column 60 </style> <style id="classic-theme-styles-inline-css" style="background-color: #ffff80;">type="text/css"> /*! T |
| 40 |
Info
On line 85, column 53 </style> <style id="global-styles-inline-css" style="background-color: #ffff80;">type="text/css"> body{ |
| 41 |
Error
On line 86, column 2801 .is-layout-flex){gap: 0.5em;}: |
| 42 |
Error
On line 86, column 2837 .is-layout-grid){gap: 0.5em;}b |
| 43 |
Error
On line 86, column 2918 -inline-start: 0;margin-inline |
| 44 |
Error
On line 86, column 2941 line-end: 2em;}body |
| 45 |
Error
On line 86, column 3015 ne-start: 2em;margi |
| 46 |
Error
On line 86, column 3036 in-inline-end: 0;}body .is-lay |
| 47 |
Error
On line 86, column 3209 -inline-start: 0;margin-inline |
| 48 |
Error
On line 86, column 3232 line-end: 2em;}body |
| 49 |
Error
On line 86, column 3313 ne-start: 2em;margi |
| 50 |
Error
On line 86, column 3334 in-inline-end: 0;}body .is-lay |
| 51 |
Error
On line 86, column 3526 not(.alignfull)){max-width: va |
| 52 |
Error
On line 86, column 3968 .is-layout-flex){gap: 2em;}:wh |
| 53 |
Error
On line 86, column 4019 .is-layout-grid){gap: 2em;}:wh |
| 54 |
Error
On line 86, column 4076 .is-layout-flex){gap: 1.25em;} |
| 55 |
Error
On line 86, column 4136 .is-layout-grid){gap: 1.25em;} |
| 56 |
Error
On line 87, column 54 element-button)){color: inheri |
| 57 |
Error
On line 88, column 46 .is-layout-flex){gap: 1.25em;} |
| 58 |
Error
On line 88, column 106 .is-layout-grid){gap: 1.25em;} |
| 59 |
Error
On line 89, column 40 .is-layout-flex){gap: 2em;}:wh |
| 60 |
Error
On line 89, column 91 .is-layout-grid){gap: 2em;} .w |
| 61 |
Info
On line 94, column 49 ia="all"> <script type="text/javascript" id="gpt-js-extra"> /* <! |
| 62 |
Info
On line 99, column 50 </script> <script type="text/javascript" id="gpt-js-before"> /* <! |
| 63 |
Info
On line 119, column 108 </script> <script type="text/javascript" src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" id="gpt-js" async></scri |
| 64 |
Info
On line 120, column 49 </script> <script type="text/javascript" id="gpt-js-after"> /* <! |
| 65 |
Info
On line 125, column 116 </script> <script type="text/javascript" src="https://static.criteo.net/js/ld/publishertag.js?ver=6.4.3" id="criteo-js" async></scri |
| 66 |
Info
On line 126, column 98 </script> <script type="text/javascript" src="https://s.ntv.io/serve/load.js" id="nativo-tracking-js" async></scri |
| 67 |
Info
On line 127, column 180 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp-phillymag/countdown-clock/countdown.js?ver=0.4.37" id="phillymag-countdown-js-js" async></scri |
| 68 |
Error
On line 128, column 73 </script> <link rel="https://api.w.org/" href="https://www.phillymag.com/wp-json/"><link |
| 69 |
Error
On line 128, column 180 wp-json/"><link rel="alternate" type="application/json" href="https://www.phillymag.com/wp-json/wp/v2/posts/4044402"><link |
| 70 |
Error
On line 128, column 287 /4044402"><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.phillymag.com/xmlrpc.php?rsd"> <meta |
| 71 |
Error
On line 130, column 66 s 6.4.3"> <link rel="shortlink" href="https://www.phillymag.com/?p=4044402"> < |
| 72 |
Error
On line 171, column 239 LOChSybY"><link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-32x32.png" sizes="32x32"> <link |
| 73 |
Error
On line 172, column 141 ="32x32"> <link rel="icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-192x192.png" sizes="192x192"> <link |
| 74 |
Error
On line 173, column 137 192x192"> <link rel="apple-touch-icon" href="https://cdn10.phillymag.com/wp-content/uploads/sites/3/2017/10/cropped-phillymag-favicon-180x180.png"> <meta |
| 75 |
Info
On line 194, column 97 </script> <script async type="text/javascript" src="https://www.googletagmanager.com/gtm.js?id=GTM-PLKVN8"></scri |
| 76 |
Info
On line 222, column 101 Code --> <script type="text/javascript" id="hs-script-loader" async defer src="//js.hs-scripts.com/510637.js"></scri |
| 77 |
Info
On line 234, column 31 Code --> <script type="text/javascript"> _link |
| 78 |
Info
On line 238, column 40 tner_id); </script><script type="text/javascript"> (func |
| 79 |
Info
On line 362, column 59 div> <header class="site-header" role="banner" id="js-header"> < |
| 80 |
Info
On line 515, column 6427 ic, Sandy!</p><script type="text/javascript"> if |
| 81 |
Info
On line 601, column 39 rticle> </div><script type="text/javascript"> if |
| 82 |
Info
On line 666, column 62 "></div> <footer class="site-footer" role="contentinfo" id="js-footer"> <div |
| 83 |
Info
On line 689, column 169 "></div> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/blaize-front-end-sdk.min.js?ver=1.0.4" id="blaize-sdk-js" defer></scri |
| 84 |
Info
On line 690, column 61 </script> <script type="text/javascript" id="metrocorp-zephr-js-extra"> /* <! |
| 85 |
Info
On line 695, column 165 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-zephr/js/metrocorp-zephr.js?ver=1.0.4" id="metrocorp-zephr-js" defer></scri |
| 86 |
Info
On line 696, column 192 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-breakingnewsbanner/assets/js/breaking-news-bar.js?ver=1" id="mc-breaking-news-banner-script-js"></scri |
| 87 |
Info
On line 697, column 55 </script> <script type="text/javascript" id="metrocorp-js-extra"> /* <! |
| 88 |
Info
On line 702, column 149 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp.min.js?ver=87" id="metrocorp-js" defer></scri |
| 89 |
Info
On line 703, column 169 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/themes/metrocorp/dist/js/metrocorp-secondary.min.js?ver=87" id="metrocorp-secondary-js" defer></scri |
| 90 |
Info
On line 704, column 200 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-philly-best-restaurants.js?ver=1.0.0" id="mc-datalayer-js" defer></scri |
| 91 |
Info
On line 705, column 180 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-google-tag-manager/assets/js/datalayer-yaml.js?ver=1.0.0" id="mc-datalayer-yaml-js"></scri |
| 92 |
Info
On line 706, column 200 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-ads//dist/js/metrocorp-ads-secondary.js?ver=842a0c154e5d9bc4a95b" id="metrocorp-ads-secondary-js" defer></scri |
| 93 |
Info
On line 710, column 108 endif]--> <script type="text/javascript" src="//js.hsforms.net/forms/v2.js?ver=1.0.0" id="mc-integrations-hubspot-js"></scri |
| 94 |
Info
On line 711, column 74 </script> <script type="text/javascript" id="mc-hubspot-subscription-form-js-extra"> /* <! |
| 95 |
Info
On line 716, column 204 </script> <script type="text/javascript" src="https://cdn10.phillymag.com/wp-content/mu-plugins/metrocorp-hubspot/assets/js/metrocorp-hubspot-subscription-form.js?ver=87" id="mc-hubspot-subscription-form-js" defer></scri |
| 96 |
Info
On line 718, column 78 Code --> <script src="https://js.adsrvr.org/up_loader.1.1.0.js" type="text/javascript"></scri |
| 97 |
Info
On line 719, column 31 </script> <script type="text/javascript"> ttd_ |
| 98 |
Info
On line 730, column 31 d"></div> <script type="text/javascript"> win |
| 99 |
Info
On line 851, column 31 </script> <script type="text/javascript"> if |
| 100 |
Error
On line 494, column 127 <a href="https://www.phillymag.com/category/news/" class="post-slug" id="post-rubric" itemprop="articleSection">News</ |
β