[]
MSN s.delete(e),has:e=>s.has(e)});function c(){return!(“undefined”==typeof window||!window.document||!window.document.createElement||window.isRenderServiceEnv)}function l(e){let t,n=!1;const o=function(){return n||(n=!0,t=e()),t};return o.cache={clear:()=>{n=!1,t=void 0}},o}const d=”OnOOutlookMobile”,u=”OnOStartApp”,h=”xmweather-“,p=”launcherntp”,g=”launcherInterests”,w=”swiftKey”,m=”superappdhp”,f=”cp_msn_cmc”,v=”_ocidIsomorphicKey”,b=()=>(a.get(v)||a.set(v,R(“ocid”).toLowerCase()),a.get(v)),y=”_platformFlagKey”,S=”_hostAppNameKey”,C=”_clientTypeKey”,k=()=>(a.get(y)||a.set(y,R(“chpltfm”)),a.get(y)),_=()=>{if(!a.get(S)){const e=k();a.set(S,e.toLowerCase().split(“-“)[0])}return a.get(S)},I=()=>{if(!a.get(C)){const e=k();a.set(C,e.toLowerCase().split(“-“)[1])}return a.get(C)};function A(){if(!c()||q())return!1;const e=window.sapphireWebViewBridge,t=window.webkit,n=e&&e.send,o=t&&t.messageHandlers&&t.messageHandlers.send&&t.messageHandlers.send.postMessage;return!(!n&&!o)}function E(){return window&&!!window._isCopilotBridge||”copilot”===R(“MBApp”)}function N(){const e=k()&&”outlook”===_()&&[“ios”,”android”,”ipados”].includes(I()),t=b()===d.toLowerCase();return e||t}function T(){return!(!c()||q())&&(A()||b()===u.toLowerCase()||b()===m.toLowerCase())}function x(){const e=R(“edge”);return(“emmx”===_()||”1″===e)&&T()||”mmx”===b()}function L(){return”3rdp”===_()||b().startsWith(h)||q()}function O(){return[p.toLowerCase(),g.toLowerCase()].includes(b())&&T()}function q(){return b().toLowerCase()===w.toLowerCase()||”swiftkey”==_().toLowerCase()}const W=l((()=>A()||N()||T()||b()===”weather-app-win”.toLowerCase()||b()===”finance-app-win”.toLowerCase()||x()||L()||O()||q()||-1!==window.location.href.indexOf(“metaos=true”)||E()||!!c()&&b()===f&&”true”===R(“hasBridge”)));function R(e){try{return new URL(location.href).searchParams.get(e)||””}catch(e){return””}}function P(e,t,n){const o=n&&”phone”===n.toLowerCase(),i=t&&”enterprise”===t;let r=”Edge”;q()?r=”swiftKey”:O()?r=”Launcher”:function(){var e;if(!c())return!1;if(“bingHomepageMobile”===(null===(e=window._clientSettings)||void 0===e?void 0:e.pagetype))return!0;{var t;const e=null===(t=document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===t?void 0:t.getAttribute(“data-client-settings”);if(e){const t=JSON.parse(e);return t&&t.pagetype&&”bingHomepageMobile”===t.pagetype}return!1}}()&&(r=”bingHomepageMobile”);return{bingHomepage:”binghomepage”,mmx:”emmx”,edge:”spartan”,edgeChromium:i?”entnews”:”anaheim”,hybrid:”spartan”,hub:o?”prime_mobile”:”prime”,microsoftNews:”msnews”,office:”entnews”,views:o?”prime_mobile”:”prime”,homePage:o?”prime_mobile”:”prime”,windowsShell:”windowsshell”,edgeMobile:r}[e]}const M={homePage:{vertical:”homepage”,category:””,id:””,domainId:”13041″,title:”undefined”!=typeof document?document.title:””}};function D(e){let t=e;switch(e){case”windowsshellhp”:t=”dhp”;break;case”video”:t=”watch”;break;case”EdgeMobile”:t=x()?”ntp”:”dhp”}return t}function F(){try{var e;const t={};return null===(e=Error.captureStackTrace)||void 0===e||e.call(Error,t,F),t.stack}catch(e){return(new Error).stack}}function U(e){try{return decodeURIComponent(e)}catch(e){}}let $,j;function B(e,t){if(!e)return null;if(t)return function(e){var t;const n=null===(t=document.cookie)||void 0===t?void 0:t.match(`\b${e}=([^;]*)`);return n?U(n[1]):null}(e);if(!$){const e=”undefined”!=typeof document&&document.cookie.split(“; “);$={};const t=e&&e.length;for(let n=0;n0&&void 0!==arguments[0]?arguments[0]:20;this.maxLength=e,this.list=[]}push(e){this.list.push(e),this.list.length>this.maxLength&&this.list.shift()}get data(){return this.list}};function G(e,t,n){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:J.Alert,s=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0;try{const l=function(){if(!o){const e=document.head.getAttribute(“data-client-settings”);e&&(o=JSON.parse(e))}return o}(),d=r(),u=function(e){if(e){const{pcsInfo:t,pageGenTime:n}=e,o=new Date(n).getTime(),i=!t||[“prod”,”prod-ssr”,”prod-ssrntp”].includes(t.env);j=i?”browser.events.data.msn.com”:”events-sandbox.data.msn.com”;return{cors:”true”,”content-type”:”application/x-json-stream”,”client-id”:”NO_AUTH”,”client-version”:”1DS-Web-JS-2.2.2″,apikey:i?”0ded60c75e44443aa3484c42c1c43fe8-9fc57d3f-fdac-4bcf-b927-75eafe60192e-7279″:”f8857dedc6f54ca8962cfb713e01e7d7-e9250191-fe0b-446f-95ae-07516262f98c-7028″,”upload-time”:o,w:”0″,anoncknm:”app_anon”}}return null}(l);let h=””;u&&u.apikey&&””!==u.apikey&&(h=function(e){if(e){const t=e.indexOf(“-“);if(t>0)return e.substring(0,t)}return””}(u.apikey));const p=function(e,t,n,o,i,r){let s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:J.Alert,a=arguments.length>7&&void 0!==arguments[7]?arguments[7]:””;if(n){i=i||{};const{aid:u,apptype:h,audienceMode:p,pagetype:g,pageGenTime:w,bundleInfo:m,deviceFormFactor:f=””,fd_muid:v,os:b,static_page:y}=n;i.pageGenTime=w,i.build=m&&m.v,i.appType=h,i.pageVisible=document.visibilityState;const S=P(h,p,f),C=S||h,k=document.getElementsByTagName(“html”)[0].getAttribute(“lang”);let _,I=””,A=”muid”;try{if(“edgeChromium”===h&&”object”==typeof window&&window.location&&window.location.search){const e=new URLSearchParams(window.location.search);_=e.has(“startpage”)?”msedgdhp”:”msedgntp”,”enterprise”===p?_=”entnewsntp”:”xbox”===b&&(_=”xboxntp”)}window&&window.getCookieConsentRequired&&”function”==typeof window.getCookieConsentRequired&&window.getCookieConsentRequired()||(I=(null===(l=window)||void 0===l||null===(l=l.__SSRUserConfigEarlyLog)||void 0===l?void 0:l.consistentMuid)||(null===(d=window)||void 0===d?void 0:d.__muid)||B(“muid”))}catch{}I||(I=n.aid,A=”aid”);const E={name:”MS.News.Web.AppError”,time:w,ver:”4.0″,iKey:`o:${o}`,data:{baseData:{},baseType:”MS.News.Web.Base”,page:{name:”default”,product:C,type:D(g),content:M[h]??{category:”standaloneError”},ocid:_,url:location.href,isStatic:y},browser:{clientId:I,clientIdType:A},flight:{id:r,tmpl:a},request:{activityId:u,requestId:u,afdMuid:v},locale:{mkt:k},extSchema:{id:e,severity:s,pb:i,message:t}}};var c;if(I&&”muid”===A)E.ext={…null==E?void 0:E.ext,user:{…null==E||null===(c=E.ext)||void 0===c?void 0:c.user,localId:`t:${I}`}};return”object”==typeof window&&(window.isSSREnabled&&(E.data.flight.tmpl+=”;ssr-enabled:1″),window.isSSRCompleted&&(E.data.flight.tmpl+=”;ssr-completed:1″)),E?JSON.stringify(E):null}var l,d;return null}(t,e,l,h,n,d,i,c);if(a&&!function(e){if(null==e)return!1;return e.startsWith(“1”)||e.startsWith(“2”)||e.startsWith(“3”)||e.startsWith(“4″)}(null==l?void 0:l.aid))return console.error(p),void console.error(`This App error Id: ${t} will not be sent due to app error sampling!`);if(u&&p){console.error(p),K.push(p);const e=”https://”+j+”/OneCollector/1.0″+function(e){return”?”+Object.keys(e).map((function(t){return t+”=”+encodeURIComponent(e[t])})).join(“&”)}(u);if(s&&!performance.getEntriesByType(“visibility-state”).some((e=>”visible”===e.name))){const t=()=>{“visible”===document.visibilityState&&navigator.sendBeacon(e,p)};document.addEventListener(“visibilitychange”,t,{once:!0})}else navigator.sendBeacon(e,p)}}catch{}}function V(e){G(“Error when loading bundle: “+e,20202,{…arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}})}function X(e,t,n,o,i){const r=(i&&i.stack)??F(),s={source:t,customMessage:e??(null==i?void 0:i.message),line:n,column:o,stack:r};G(“JS Exception”+(s.customMessage?`- ${s.customMessage.substring(0,60)}`:””),20203,s)}function z(e){const t={customMessage:e&&e.reason&&e.reason.message,stack:(e&&e.reason&&e.reason.stack)??F()};G(“JS Exception on unhandled promise rejection”+(t.customMessage?`- ${t.customMessage.substring(0,60)}`:””),20203,t)}const Y=”experience”,Q=[“common-monthly”],Z=Object.create(null),ee=2;function te(e,t){if(t=t||Array.from(document.scripts).find((t=>t.src.indexOf(`/${e}.`)>-1)),!t)return;const n=function(e,t){const n=document.createElement(“script”);return n.type=”text/javascript”,n.crossOrigin=”anonymous”,n.src=e,n.onerror=()=>{let e=Z[t]||0;Z[t]=++e,e{delete Z[t];const e=window._pageTimings.retriedBundles;window._pageTimings.retriedBundles=e?`${e},${t}`:t,oe()},n}((o=t.src,Z[e],o),e);var o;setTimeout((()=>t.replaceWith(n)),100)}function ne(){const[e={}]=performance.getEntriesByType(“navigation”);return e.type}function oe(){if(!Object.values(Z).every((e=>e===ee)))return;let e=””;Object.keys(Z).forEach((t=>{e=e?`${e},${t}`:t,delete Z[t]})),e&&G(`Error when loading bundle(s): ${e}`,20202,{timeElapsed:Math.round(performance.now()),navType:ne()})}function ie(e){try{if(e)return JSON.parse(e)}catch(e){}return null}”undefined”!=typeof window&&window.document&&window.document.createElement&&(window._pageTimings=window._pageTimings||{},window.requestIdleCallback=window.requestIdleCallback||window.setTimeout);const re=”Authorization”;var se,ae;!function(e){e.Presentation=”presentation”}(se||(se={})),function(e){e.Unknown=”Unknown”,e.Portrait=”Portrait”,e.Landscape=”Landscape”}(ae||(ae={}));var ce,le;!function(e){e[e.Undefined=0]=”Undefined”,e[e.Basic=1]=”Basic”,e[e.Advanced=2]=”Advanced”,e[e.Premium=3]=”Premium”}(ce||(ce={})),function(e){e.Init=”init”,e.Config=”config”,e.Targeted=”targeted”,e.Sticky=”sticky”,e.NoSticky=”no_sticky”,e.Admin=”admin”,e.Forced=”forced”,e.Manual=”manual”}(le||(le={}));const de=new Set([“finance-app-win”,”weather-app-win”,”winpstoreapp”]),ue=new Set([“hpmsn”]);new Set([“chromentpnews”]);function he(){var e;return c()?(window._clientSettings=window._clientSettings||ie(document.head.dataset.clientSettings||(null===(e=document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===e?void 0:e.getAttribute(“data-client-settings”))),window._clientSettings):null}const pe=”feed/personalize/settings”;function ge(e,t){const n=t.replace(/[[]]/g,”\$&”),o=new RegExp(“[?&]”+n+”(=([^&#]*)|&|#|$)”).exec(e);if(!o)return null;const i=o[2];return decodeURIComponent(i.replace(/+/g,” “))||””}let we=new class{constructor(){c()?(this.isDebugEnabled=(ge(window.location.href,”debug”)||””).toLowerCase()in{1:1,true:1}||”vp”===(ge(window.location.href,”reqsrc”)||””).toLowerCase(),this.isDebugEnabled&&!n.g.TEST_ENV&&(window.webpackRequire=n)):this.isDebugEnabled=!1}getLoggingService(){return null}isDebug(){return this.isDebugEnabled}setDebug(e){this.isDebugEnabled=e}setTags(e){}log(e,t){this.isDebug()&&console.info(e)}logError(e){console.error(e)}logCallback(e){this.isDebug()&&console.info(e())}logObjects(){this.isDebug()&&console.log(…arguments)}logSingleObject(e,t){this.isDebug()&&console.log(e)}};class me{get supported(){return!!this.storage}constructor(e){this.storage=e}getItem(e){if(this.supported)return this.storage.getItem(e)}getObject(e,t){const n=this.getItem(e);if(null!=n){const e=ie(n);if(null!=e)return e}return t}key(e){if(this.supported&&e>=0)return this.storage.key(e)}keys(){return this.supported?Object.keys(this.storage):[]}setObject(e,t){void 0!==t?this.setItem(e,JSON.stringify(t)):this.removeItem(e)}removeObject(e){const t=this.removeItem(e);if(null!=t)return ie(t)}setItem(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(this.supported)try{if(!t)throw”Attempted to store null/undefined value: “+t;this.storage.setItem(e,t)}catch(e){if(!n)throw e;we.logError(e)}else if(!n)throw new Error(“WebStorage not supported”)}get length(){if(this.supported)return this.storage.length}removeItem(e){if(this.supported){const t=this.getItem(e);return this.storage.removeItem(e),t}}clear(){this.supported&&this.storage.clear()}removeSubstringKeys(e){if(!this.supported||!e)return;const t=[];for(let n=0;n!!B(_e)));const Ee=”__RequestDataInstance__”;class Ne{constructor(e,t){if(this.url=new URL(e.href),this.innerHeight=e.innerHeight,this.devicePixelRatio=e.devicePixelRatio,this.canUseCssGrid=e.canUseCssGrid,this.requestId=e.requestId,this.cookie=e.cookie,this.referer=e.referer,this.userAgent=e.userAgent,this.clientData=e.clientData,this.vpCetoToken=e.vpCetoToken,this.oneServiceHeaders=xe(e.oneServiceHeaders)||{},this.isPssrMode=t,t){const e=Te(“OSATE”,this.cookie),t=!!e&&”1″===e,n=Te(“OSAT”,this.cookie);if(t&&n||!e&&!n)return this.msalAuthReady=!0,void(n&&(this.oneServiceHeaders.Authorization=`Bearer ${n}`));this.msalAuthReady=!1,this.pssrRejectedReason=e&&!t?”interactiveLogin”:e&&!n?”missOSAT”:”missOSATE”}}static getInstance(){const e=a.get(Ee);return e||(n.g.TEST_ENV?Le({href:”http://localhost:8080/”,innerHeight:768,devicePixelRatio:1,canUseCssGrid:!1,requestId:”0″,cookie:””,userAgent:””,referer:””,oneServiceHeaders:””,vpCetoToken:””}):Le({href:”http://localhost:8080/”,innerHeight:0,devicePixelRatio:0,canUseCssGrid:!1,requestId:”0″,cookie:””,userAgent:””,referer:””,oneServiceHeaders:””,vpCetoToken:””}))}static resetInstance(e){const t=new Ne(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1]);return a.set(Ee,t),t}}function Te(e,t){if(t&&e){const n=new RegExp(“\b”+e+”\s*=\s*([^;]*)”,”i”).exec(t);return n&&n.length>1?n[1]:null}return null}function xe(e){try{if(e)return JSON.parse(e)}catch(e){}}const Le=Ne.resetInstance,Oe=()=>Ne.getInstance();function qe(){return c()?window.location.search:Oe().url.search}function We(){try{return localStorage}catch(e){return null}}const Re=”__PageExperimentInstance__”;function Pe(e){a.set(Re,e)}function Me(e){if(!a.has(Re)&&c()){var t;Pe(De(document.head.dataset.info||(null===(t=window.document.getElementsByClassName(“peregrine-widget-settings”)[0])||void 0===t||null===(t=t.dataset)||void 0===t?void 0:t.info)||””))}const n=a.get(Re);return n&&n.has(e)}function De(e){const t=(e||””).replace(/(^f:|;.*$)/g,””).split(“,”);return new Set(t)}const Fe=”uxlogin”,Ue=”uxlogout”,$e=”uxedit”,je=”useRedirect”,Be=”uxswitch”,He=l((()=>{const e=We();return e&&”1″===e.getItem(Fe)||c()&&location.search&&location.search.includes(`${Fe}=1`)}));const Je=l((()=>{const e=function(){try{return sessionStorage}catch(e){return null}}();return e&&!!e.getItem(Ue)}));const Ke=l((()=>{const e=We();return e&&”1″===e.getItem($e)}));const Ge=l((()=>{const e=We();return!Me(“prg-noredirect”)&&e&&”1″===e.getItem(je)&&function(){const{browser:e}=window._clientSettings||{},{browserType:t=””}=e||{};return!!/safari/i.test(t)}()}));const Ve=l((()=>{const e=We();return e&&”1″===e.getItem(Be)}));const Xe=he()||{};const ze={winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,distribution:1,superApp:1,channelmobile:1,edgeMobile:1},Ye={edgeChromium:1},Qe={winWidgets:1,webWidgets:1},Ze={edgeChromium:1,shopping:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,msn:1},et={edgeChromium:1,channelmobile:1,cgHomePage:1,distribution:1,winWidgets:1,webWidgets:1,windowsShell:1,windowsShellV2:1,superApp:1,edgeMobile:1},tt=l((()=>Xe&&Xe.apptype)),nt=(l((()=>c()&&tt()in Qe)),l((()=>c()&&!W()&&!(tt()in ze)&&!rt()&&!st()))),ot=l((()=>nt()&&!(tt()in Ye)));l((()=>nt()&&(!(tt()in Ye)||!Ae()))),l((()=>nt()&&!ct()&&!lt()));const it=l((()=>lt()||ct())),rt=l((()=>{const e=!(tt()in Ze)&&dt()&&function(){if(“homePage”==tt())return!0;const e=new URLSearchParams(qe()).get(“ocid”)||(null==Xe?void 0:Xe.ocid),t=null==e?void 0:e.toLowerCase();if(ue.has(t))return!0;return!de.has(t)}()&&!function(){const e=”homePage”==tt()&&”hp”==(Xe&&Xe.pagetype)&&(c()?window.location.href:Oe().url.href).includes(`${pe}`);return e}();return e}));const st=()=>c()&&document&&document.body&&document.body.getElementsByClassName(“peregrine-widgets”).length>0;l((()=>tt()in et||rt()));function at(){if(Se)return Se;const e=Ce();return e||void 0}function ct(){return ot()&&He()||function(){const e=ot()&&!ut()&&!He()&&Ie()&&(“expired”==function(){if(ye=ke(),!ye)return”notAvailable”;const e=ye.expiresOn,t=new Date(e),n=”expired”;return t.getTime()&&t>new Date?”valid”:n}()||Ke());return e}()||Je()||Ge()}function lt(){return ot()&&!Ie()&&Ve()}const dt=l((()=>{const{browser:e}=Xe,{browserType:t=””,detected:n={}}=e||{},{browserType:o=””}=n||{};return/edgeChromium/i.test(t)||/edgeAndroid/i.test(t)||/edgeiOS/i.test(t)||/edge/i.test(o)}));l((()=>ot()&&!rt()));const ut=()=>{const e=Ie();if(!e)return!1;let t;switch(e.account_type){case”MSA”:t=ot()?”ace”:”aace”;break;case”AAD”:t=ot()?”WID”:”APP_WID”;break;default:return!1}return!!B(t)};const ht=”__core_auth_authHeaderPromiseParts__”,pt=()=>a.get(ht);let gt;function wt(){return gt}!function(){let e;const t=new Promise((t=>e=t)),n={promise:t,resolver:e};a.set(ht,n)}();const mt=l((()=>ie(B(“AL_STATE”,!0))));var ft,vt;!function(e){e.Weather=”Weather”,e.Weather_Nowcast=”Weather_Nowcast”,e.Weather_TeaserRain=”Weather_TeaserRain”,e.Sports=”Sports”,e.Finance=”Finance”,e.CasualGame=”CasualGame”,e.Shopping=”Shopping”,e.DailyBrief=”DailyBrief”,e.DailyMoment=”DailyMoment”,e.CreatorSpotlight=”CreatorSpotlight”}(ft||(ft={})),function(e){e.Weather_SevereWeather=”Weather_SevereWeather”,e.News_CatchUpStack=”News_CatchUpStack”,e.News_TopStories=”News_TopStories”,e.News_TrendingNow=”News_TrendingNow”,e.News_SaveForLater=”News_SaveForLater”,e.News_CopilotDaily=”News_CopilotDaily”,e.News_BreakingNews=”News_BreakingNews”,e.News_ForYouNews=”News_ForYouNews”,e.Finance_PriceMovement=”Finance_PriceMovement”,e.Sports_SportsMatch=”Sports_ScoreUpdates”,e.MomentInTime=”MomentInTime”,e.News_CreatorSpotlight=”News_CreatorSpotlight”,e.News_DailyWonder=”News_DailyWonder”,e.News_WatchGoldShorts=”News_WatchGoldShorts”}(vt||(vt={}));Object.freeze([{id:”watch”,localizationKey:”watchText”,href:”https://www.msn.com/video”},{id:”weather”,localizationKey:”weatherText”,href:”https://www.msn.com/weather”},{id:”money”,localizationKey:”moneyText”,href:”https://www.msn.com/money”},{id:”games”,localizationKey:”gamesText”,href:”https://www.msn.com/play”}]);class bt{constructor(){this.childCookieName=”child”,this.command=”command”,this.domInfo=document.head.dataset.info,this.canvasInfo=document.head.dataset.canvasInfo||””}init(e,t){this.clientSettings=e||he(),this.authCookieName=wt()||window._authCookieName||””,this.bundle=window._webWorkerBundle||””,t=t||{};const n=this.buildWebWorkerUrl(this.clientSettings,t),o=window.webWorker=this.createWebWorkerInstance(n);o?this.initCore(o):console.warn(“Error while initializing the web worker.”)}initCore(e){const t=window.webWorkerMessages=[];e.onmessage=e=>{t.push(e.data)};const n=window.webWorkerErrors=[];e.onerror=e=>{n.push(e)},it()&&pt().promise.then((t=>e.postMessage({id:”AuthHeaders”,type:this.command,payload:t||{}})))}createWebWorkerInstance(e){return new Worker(e,{name:”web-worker”})}shouldFetchAppAnonCookie(){return!0}getAudienceMode(e){const t=B(this.authCookieName),n=B(this.childCookieName),{child:o}=t&&JSON.parse(t)||{};return t&&(1===o||n)?”kids”:e.audienceMode||”adult”}buildWebWorkerUrl(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1?arguments[1]:void 0;return(this.bundle||””)+”#”+this.qsFromDocument()+this.qsFromCookies()+this.qsFromDataAttribute(e||this.clientSettings)+this.qsMisc(t)+this.qsAuth(e||this.clientSettings)+this.qsFromUrl()+this.qsFromServiceWorker()+this.qsSelectedPivot()+this.qsXboxXToken()}qs(e,t,n){return e?t+”=”+(n||e)+”&”:””}qsFromDocument(){var e;return this.qs(document.getElementsByTagName(“html”)[0].getAttribute(“lang”),”lang”)+this.qs(encodeURIComponent(window.location.href),”adsReferer”)+this.qs(null===(e=c()?window.devicePixelRatio:Oe().devicePixelRatio)||void 0===e?void 0:e.toString(),”devicePixelRatio”)}qsFromServiceWorker(){if(!navigator.serviceWorker||!navigator.serviceWorker.controller)return””;const e=navigator.serviceWorker.controller;if(“activated”!==e.state||!e.scriptURL)return””;if(e.scriptURL){const t=new URL(e.scriptURL).searchParams.toString();return t?”&”+t+”&”:””}return””}qsFromCookies(){return this.qs(H(this.authCookieName),”aace”,”1″)+this.qs(H(“muid”),”muid”)+this.qs(H(this.childCookieName),”child”)+this.qs(H(“cbypass”),”cbypass”)+this.qs(this.cookieBannerConsentRequired().toString(),”ccRequired”)+this.qs(H(“ecasession”),”ecasession”)+this.qs(H(“TOptOut”),”browserOptOut”)}qsFromDataAttributeHelper(e,t,n){var o;e&&e.featureFlags&&e.featureFlags.wpoEnabled&&t&&!t.includes(“remwpofltww”)&&(t=this.appendWpoFlightsToInfo(e,t));const i=(null===(o=e.modes)||void 0===o?void 0:o.uxMode)||void 0;return this.qs(e.pcsInfo&&e.pcsInfo.env||e.env,”env”)+this.qs(e.aid,”aid”)+this.qs(e.apptype,”apptype”)+this.qs(e.pagetype,”pagetype”)+this.qs(e.audienceMode,”audienceMode”)+this.qs(e.configIndexDocId,”configIndexDocId”)+this.qs(e.deviceFormFactor,”deviceFormFactor”)+this.qs(e.domain,”domain”)+this.qs(e.configRootUrl,”configRootUrl”)+this.qs(this.getHighestCbid(e.cbid,e.apptype),”cbid”)+this.qs(e.ocid,”ocid”)+this.qs(e.os,”os”)+this.qs(JSON.stringify(e.locale),”locale”)+this.qs(e.geo_lat,”lat”)+this.qs(e.geo_long,”long”)+this.qs(JSON.stringify(e.featureFlags),”featureFlags”)+this.qs(JSON.stringify(e.browser),”browser”)+this.qs(JSON.stringify(e.servicesEndpoints),”servicesEndpoints”)+this.qs(e.bundleInfo&&e.bundleInfo.v||””,”buildVersion”)+this.qs(t,”dataInfo”)+this.qs(n,”canvasInfo”)+this.qs(i,”uxmode”)}qsSelectedPivot(){const e=”selectedPivot”;let t;try{const n=We();n&&(t=n.getItem(e))}catch(e){console.warn(“Error getting pivot id from local storage. “+e)}return this.qs(t,e)}qsXboxXToken(){const e=”xboxXTokenId”;let t;try{const n=We();n&&(t=n.getItem(e))}catch(e){console.warn(“Error getting xbox XToken from local storage. “+e)}return this.qs(t,e)}appendWpoFlightsToInfo(e,t){const n=this.getWpoFlightsFromLocalStorage(e);if(n&&n.length){const e=”;”,o=t.split(e);for(let e=0;ee.id))}}catch(e){console.warn(`Error getting wpo flights from ls for ${o} Error:${e}`)}return null}getHighestCbid(e,t){try{const n=We(),o=parseInt(e),i=parseInt(JSON.parse(n.getItem(`cbid_${t||””}`)));let r;if(o&&!isNaN(o)&&i&&!isNaN(i)&&(r=o>i?o:i),r=r||o||i,r)return window._cbid=r.toString()}catch(e){console.warn(“Error getting highest CBID”+e)}}qsFromDataAttribute(e){let t,n,o;const i=We();if(i){const o=JSON.parse(i.getItem(“shd_”+e.pagetype)||null);o&&o.clientSettings&&o.info&&(t={…o.clientSettings,bundleInfo:e.bundleInfo},n=o.info)}return(!t||!n||e.pageGenTime>=t.pageGenTime)&&(t=e,n=this.domInfo,o=this.canvasInfo),t.audienceMode=this.getAudienceMode(t),this.qsFromDataAttributeHelper(t,n,o)}qsFromUrl(){const e=location.search;return e&&e.length?e.substring(1,e.length):””}qsMisc(e){return this.qs(performance.timeOrigin&&performance.timeOrigin.toString(),”mainTimeOrigin”)+this.qs(e.disableWWConfig&&”1″,”disableWWConfig”)}qsAuth(e){let t=this.qs(ot()&&”1″,”disableWWAuth”);if(!it()){const e=ot()&&at()||{};t+=this.qs(encodeURIComponent(JSON.stringify(function(e){const t={};return e&&(t[re]=`Bearer ${e}`),t}(e.accessToken))),”authHeaders”)}return t+=this.qs(function(e){const t=e||wt()||”al_app_anon”,n=mt();return!(!n||!([“anon”,”al_anon”].includes(t)&&n.AL_ANON||[“app_anon”,”al_app_anon”].includes(t)&&n.AL_APP_ANON))}()&&”1″,”isAccountLinked”),t+=this.qs(this.shouldFetchAppAnonCookie()&&”1″,”fetchAppAnonCookie”),t}cookieBannerConsentRequired(){const e=null!=document.getElementById(“consent-banner-container”)&&null===B(“MSCC”),t=null!=document.getElementById(“onetrust-sdk”)&&null===B(“eupubconsent-v2″);return e||t}}function yt(e){return new Promise((t=>setTimeout(t,e)))}var St,Ct;!function(e){e.Anon=”ANON”,e.AppAnon=”APP_ANON”,e.Unknown=””}(St||(St={})),function(e){e.AnonCookieExists=”ace”,e.AppAnonCookieExists=”aace”}(Ct||(Ct={}));const kt=”child”;function _t(e,t){if(e){const n=new RegExp(“\b”+t+”\s*=\s*([^;]*)”,”i”).exec(e);return n&&n.length>1?n[1]:null}return null}const It=”prg-pr2-“,At=”prg-pw-“,Et=”prg-“,Nt=”prg-1sw-“;function Tt(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Et;const n=t.length,o=[];return e&&e.length&&(e.forEach((e=>{const i=e&&e.trim();i&&i.length>=n&&i.substring(0,n).toLowerCase()===t&&o.push(i.toLowerCase())})),o.sort()),o}function xt(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:””,n=Et;var o,i;return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?n=At:t.toLocaleLowerCase()===”windowsShell”.toLocaleLowerCase()||t.toLocaleLowerCase()===”windowsShellV2″.toLocaleLowerCase()?n=Nt:t.toLocaleLowerCase()!==”winWidgets”.toLocaleLowerCase()||(null===(o=window)||void 0===o||null===(o=o.location)||void 0===o||null===(o=o.search)||void 0===o?void 0:o.includes(“reqsrc=vp”))||null!==(i=window)&&void 0!==i&&null!==(i=i.location)&&void 0!==i&&null!==(i=i.search)&&void 0!==i&&i.includes(“vptest”)||(n=It),n}function Lt(e){var t;return document.head.dataset[e]||(null===(t=qt())||void 0===t?void 0:t.dataset[e])}let Ot;function qt(){return void 0===Ot&&(Ot=document.getElementsByClassName(“peregrine-widget-settings”)[0]||null),Ot}function Wt(e){var t;if(!e||!e.startsWith(“f:”))return;const n=(e.match(/f:s*([^;]+)/i)||[])[1];return n?null===(t=n.toLowerCase().split(“,”))||void 0===t?void 0:t.sort():[]}var Rt;!function(e){e.DesktopL1=”weatherdesktopl1″,e.DesktopL2=”weatherdesktopl2″,e.PWA=”weatherpwa”,e.EdgeFeatured=”edgefeatured”,e.WINAPP=”weather-app-win”,e.Weather_Mobile_App=”weather-app-mobile”,e.XIAOMI=”xiaomi”,e.OPPO=”oppowx”,e.XIAOMI_ANDROID_GO=”xmweather-gominus1″,e.XIAOMI_BROWSER=”xmweather-browser”,e.WINDOWS_HEADER_PREFIX=”win”,e.EDGE_ARTICLE_PREFIX=”msnar”,e.SuperApp=”weather-super-app”}(Rt||(Rt={}));new Set([“msedgdhphdr”,”msedgntphdr”,”msedgntp”,”msedgdhp”,”entnewsntp”]);const Pt=new Set([“entnewsdhp”,”entnewsntp”,”msedgdhp”,”msedgntp”,”msedgdhphdr”,”msedgntphdr”]);const Mt=Symbol.for(“@ts-pattern/matcher”),Dt=Symbol.for(“@ts-pattern/isVariadic”),Ft=”@ts-pattern/anonymous-select-key”,Ut=e=>Boolean(e&&”object”==typeof e),$t=e=>e&&!!e[Mt],jt=(e,t,n)=>{if($t(e)){const o=e[Mt](),{matched:i,selections:r}=o.match(t);return i&&r&&Object.keys(r).forEach((e=>n(e,r[e]))),i}if(Ut(e)){if(!Ut(t))return!1;if(Array.isArray(e)){if(!Array.isArray(t))return!1;let o=[],i=[],r=[];for(const t of e.keys()){const n=e[t];$t(n)&&n[Dt]?r.push(n):r.length?i.push(n):o.push(n)}if(r.length){if(r.length>1)throw new Error(“Pattern error: Using `…P.array(…)` several times in a single pattern is not allowed.”);if(t.lengthjt(t,e[o],n)))&&i.every(((e,t)=>jt(e,s[t],n)))&&(0===r.length||jt(r[0],a,n))}return e.length===t.length&&e.every(((e,o)=>jt(e,t[o],n)))}return Object.keys(e).every((o=>{const i=e[o];return(o in t||$t(r=i)&&”optional”===r[Mt]().matcherType)&&jt(i,t[o],n);var r}))}return Object.is(t,e)},Bt=e=>{var t,n,o;return Ut(e)?$t(e)?null!=(t=null==(n=(o=e[Mt]()).getSelectionKeys)?void 0:n.call(o))?t:[]:Array.isArray(e)?Ht(e,Bt):Ht(Object.values(e),Bt):[]},Ht=(e,t)=>e.reduce(((e,n)=>e.concat(t(n))),[]);function Jt(e){return Object.assign(e,{optional:()=>Kt(e),and:t=>Gt(e,t),or:t=>Vt(e,t),select:t=>void 0===t?zt(e):zt(t,e)})}function Kt(e){return Jt({[Mt]:()=>({match:t=>{let n={};const o=(e,t)=>{n[e]=t};return void 0===t?(Bt(e).forEach((e=>o(e,void 0))),{matched:!0,selections:n}):{matched:jt(e,t,o),selections:n}},getSelectionKeys:()=>Bt(e),matcherType:”optional”})})}function Gt(…e){return Jt({[Mt]:()=>({match:t=>{let n={};const o=(e,t)=>{n[e]=t};return{matched:e.every((e=>jt(e,t,o))),selections:n}},getSelectionKeys:()=>Ht(e,Bt),matcherType:”and”})})}function Vt(…e){return Jt({[Mt]:()=>({match:t=>{let n={};const o=(e,t)=>{n[e]=t};return Ht(e,Bt).forEach((e=>o(e,void 0))),{matched:e.some((e=>jt(e,t,o))),selections:n}},getSelectionKeys:()=>Ht(e,Bt),matcherType:”or”})})}function Xt(e){return{[Mt]:()=>({match:t=>({matched:Boolean(e(t))})})}}function zt(…e){const t=”string”==typeof e[0]?e[0]:void 0,n=2===e.length?e[1]:”string”==typeof e[0]?void 0:e[0];return Jt({[Mt]:()=>({match:e=>{let o={[null!=t?t:Ft]:e};return{matched:void 0===n||jt(n,e,((e,t)=>{o[e]=t})),selections:o}},getSelectionKeys:()=>[null!=t?t:Ft].concat(void 0===n?[]:Bt(n))})})}function Yt(e){return”number”==typeof e}function Qt(e){return”string”==typeof e}function Zt(e){return”bigint”==typeof e}Jt(Xt((function(e){return!0})));const en=e=>Object.assign(Jt(e),{startsWith:t=>{return en(Gt(e,(n=t,Xt((e=>Qt(e)&&e.startsWith(n))))));var n},endsWith:t=>{return en(Gt(e,(n=t,Xt((e=>Qt(e)&&e.endsWith(n))))));var n},minLength:t=>en(Gt(e,(e=>Xt((t=>Qt(t)&&t.length>=e)))(t))),maxLength:t=>en(Gt(e,(e=>Xt((t=>Qt(t)&&t.length{return en(Gt(e,(n=t,Xt((e=>Qt(e)&&e.includes(n))))));var n},regex:t=>{return en(Gt(e,(n=t,Xt((e=>Qt(e)&&Boolean(e.match(n)))))));var n}}),tn=(en(Xt(Qt)),e=>Object.assign(Jt(e),{between:(t,n)=>tn(Gt(e,((e,t)=>Xt((n=>Yt(n)&&e=n)))(t,n))),lt:t=>tn(Gt(e,(e=>Xt((t=>Yt(t)&&ttn(Gt(e,(e=>Xt((t=>Yt(t)&&t>e)))(t))),lte:t=>tn(Gt(e,(e=>Xt((t=>Yt(t)&&ttn(Gt(e,(e=>Xt((t=>Yt(t)&&t>=e)))(t))),int:()=>tn(Gt(e,Xt((e=>Yt(e)&&Number.isInteger(e))))),finite:()=>tn(Gt(e,Xt((e=>Yt(e)&&Number.isFinite(e))))),positive:()=>tn(Gt(e,Xt((e=>Yt(e)&&e>0)))),negative:()=>tn(Gt(e,Xt((e=>Yt(e)&&e<0))))})),nn=(tn(Xt(Yt)),e=>Object.assign(Jt(e),{between:(t,n)=>nn(Gt(e,((e,t)=>Xt((n=>Zt(n)&&e=n)))(t,n))),lt:t=>nn(Gt(e,(e=>Xt((t=>Zt(t)&&tnn(Gt(e,(e=>Xt((t=>Zt(t)&&t>e)))(t))),lte:t=>nn(Gt(e,(e=>Xt((t=>Zt(t)&&tnn(Gt(e,(e=>Xt((t=>Zt(t)&&t>=e)))(t))),positive:()=>nn(Gt(e,Xt((e=>Zt(e)&&e>0)))),negative:()=>nn(Gt(e,Xt((e=>Zt(e)&&e<0))))}));nn(Xt(Zt)),Jt(Xt((function(e){return"boolean"==typeof e}))),Jt(Xt((function(e){return"symbol"==typeof e}))),Jt(Xt((function(e){return null==e})));new Set(["wind_spot_2","wind_spot_desktop","widgetonlockscreen","widgetonlockscreenwin10","winp2fpwidgetboard"]),new Set(["wind_spot_2","wind_spot_desktop"]);!function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t={};try{var n,o,i;if(!c())return t;const r=ie(Lt(“clientSettings”))||{};let s=null===(n=r.apptype)||void 0===n?void 0:n.toLocaleLowerCase();const a=e.crsOptions||{};”winwidgets”!==s&&”homepage”!==s&&”travel”!==s||(a.crsPrefetch=!0),null!==(o=r.widgetAttributes)&&void 0!==o&&null!==(o=o.clientPerf)&&void 0!==o&&o.earlyCRSCall&&(a.crsPrefetch=!0),”edgechromium”===s&&(s=”edgechr”);const l=!(null===(i=r.widgetAttributes)||void 0===i||null===(i=i.clientPerf)||void 0===i||!i.shouldUsePWOnlyFlights),{all:d,prg:u}=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:””;const n=Wt(Lt(“info”))||[];let o=Wt(Lt(“canvasInfo”));if(!o){o=Tt(n,xt(n,e,t))}return{all:n,prg:o}}(l,s);(a.crsPrefetch||d.includes(“inlinecrscall”)||d.includes(`icrscall-${s}`))&&(!function(e,t,n){const o=function(e,t){let n;const o=decodeURIComponent(_t(e,”aace”)),{child:i}=o&&ie(o)||{},r=_t(e,kt);var s;return n=o&&(1===i||r)?”kids”:(null===(s=t.modes)||void 0===s?void 0:s.audienceMode)||t.audienceMode||”adult”,n}(document.cookie,e),{apptype:i,browser:r,domain:s,bundleInfo:{v:a}={},deviceFormFactor:l,locale:{content:d,display:u}={},ocid:h,os:p,modes:g,pagetype:w,servicesEndpoints:{crs:m}={}}=e,f=(qt()?c()?window.location.hostname:Oe().url.hostname:s)||””;if(!i||!a||!m)return;const v={audienceMode:o,uxMode:null==g?void 0:g.uxMode},b={audienceMode:o,browser:r,deviceFormFactor:l,domain:f,locale:{content:d,display:u},ocid:h,os:p,modes:v,platform:”web”,pageType:w,pageExperiments:t},y=new URLSearchParams([[“expType”,”AppConfig”],[“expInstance”,”default”],[“apptype”,i],[“v”,a]]),S=qe(),C=S.includes(“?item=”)||S.includes(“&item=”)?”&citem=dev:true&instance=Int1″:””,k=`${m.path}${m.v}/config/?${y}&targetScope=${JSON.stringify(b)}${C}`,_=e=>{const t=new URL(`https://${e}${k}`),{timeout:o=5e3}=n;let i;if(window.crsRequestData={url:t.toString()},o>=0){const e=new AbortController;setTimeout((()=>e.abort()),o),i=e.signal}return fetch(t,{signal:i})},I=”msn.”+(function(e,t){return!!(e.hostname.toLowerCase().endsWith(“.cn”)||t.isChinaCompliance||t.useCnDomain||e.search.match(/isChinaBuild=true/i)||e.search.match(/item=revip:cn/))}(location,e)?”cn”:”com”),{domain:A}=m,E=A&&new URL(A).host;let N=_(E||`assets.${I}`);n.disableFallback||(N=N.catch((()=>{const{hostname:e}=location,t=e.match(/.msn.(com|cn)$/)?e:`www.${I}`;return _(t)})));n.silenceUnhandledError&&(N=N.catch((e=>{console.error(“InlineHeadCommon: CRS fetch error in silence”,e)})));window.crsPromise=N}(r,u,a),t.inlineCRS=!0)}catch(e){console.error(“InlineHeadCommon: “+e)}}();const on=document.head.attributes[“data-info”].value;let rn;if(on){const e=on.split(“;”).find((e=>e.startsWith(“f:”)));e&&(rn=e.substring(2),rn.indexOf(“1sw-pcsreturnhp”)>-1&&G(“PCS returned. Executing inline JS.”,8e4,{customMessage:location.href},J.Deprecated))}function sn(e){var t;const n=(null===(t=document.head)||void 0===t||null===(t=t.getAttribute(“data-info”))||void 0===t?void 0:t.split(“;”).find((e=>e.startsWith(“f:”))))||””;return n.includes(e)}sn(“hp-noww”)||(new bt).init(),window.onerror=X,void 0!==window.onunhandledrejection&&(window.onunhandledrejection=z),window.onErrorHandler=V,function(e){const t=[“vendors”,”microsoft”,”common”];e&&t.push(…Q),window.addEventListener(“load”,(()=>{window._pageTimings.navType=ne(),window.requestIdleCallback((()=>{const e=function(e){const t=window.homePageWebpackChunks;if(!t)return[…e,Y];if(t.length>e.length)return[];t.forEach((t=>e.splice(e.indexOf(t[0][0]),1))),t.push===Array.prototype.push&&e.push(Y);return e}(t);e.length&&e.forEach((e=>te(e)))}))}),{once:!0})}(),sn(“prg-hp-fvrf”)||async function(){window.apntag=window.apntag||{anq:[]},window.apntag.anq=window.apntag.anq||[],await async function(e){if(!c())return;const{src:t,id:n,async:o=!0,container:i=document.head,retryNumber:r=0,retryDelayMs:s=0}=e;try{await async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:100;if(t<=1)return e();let o,i=1;do{try{o=await e()}catch(e){if(i===t)throw e&&e.message&&(e.message=`${e.message} after ${i} attempts`),e;await yt(n)}}while(!o&&++ifunction(e,t,n){let o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];return new Promise(((i,r)=>{const s=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:”anonymous”,i=arguments.length>4?arguments[4]:void 0,r=arguments.length>5?arguments[5]:void 0;if(!c())throw new Error(“createScriptTag is unsupported server side. This call should be wrapped in canUseDOM().”);const s=document.createElement(“script”);return t&&(s.id=t),i&&s.setAttribute(“class”,i),r&&(s.onload=r),s.type=”text/javascript”,e&&(window&&window.trustedTypesURLValidation?s.src=window.trustedTypesURLValidation(e,”scriptSrcUrlPolicy”):s.src=e,s.async=n,s.crossOrigin=o),window&&window.NONCE_ID&&(s.nonce=window.NONCE_ID),s}(e,t,o,void 0,void 0,(()=>i(!0)));s.crossOrigin=void 0,s.onerror=r,n.prepend(s)}))}(t,n,i,o)),r,s)}catch(e){G(“Failed to download Static JS”,11103,{scriptId:n,scriptSrc:t},J.Alert)}}({id:”display-sdk”,src:”https://adsdk.microsoft.com/ast/ast.js”,container:document.head,retryDelayMs:200,retryNumber:5})}();const an=function(e){let t;if(e instanceof URL)t=e.searchParams;else if(e instanceof URLSearchParams)t=e;else if(“string”==typeof e)try{t=new URL(e).searchParams}catch(e){t=void 0}return function(e,t,n){if(e&&t){const o={value:e.get(t)||void 0};if(!o.value&&n&&n.length>0)for(let t=0;t{G(“Early Log – No Alert”,19018,{swURL:null==e?void 0:e.scriptURL,swState:null==e?void 0:e.state,timeToSendEarlyLog:performance.now()},J.Deprecated)}),sn(“prg-c-hp-ssr”)?60:0)}}(); ]]> {t=o,s=e}),window._idbConfigOpenPromise=(()=>{try{const d=o.open(“wwConfigs”,1);return new Promise((o,c)=>{d.onerror=(()=>{c(new Error(“Config IDB preload open failure: “+d.error))}),d.onsuccess=(()=>{r[n+”open-End”]=performance.now();const c=d.result;o(c),r[n+”getAllObjects-Start”]=performance.now();const a=c.transaction(e,”readonly”).objectStore(e).openCursor();a.onsuccess=function(){const o=this.result;o?(i[o.key]=o.value,o.continue()):(r[n+”getAllObjects-End”]=performance.now(),t())},a.onerror=(()=>{s(new Error(“Config IDB preload read failure”))})}),d.onupgradeneeded=(()=>{d.result.createObjectStore(e)})})}catch(o){return Promise.reject(new Error(“Config IDB preload open failure: “+o))}})()}preloadConfigIDB(); ]]>