1 <!DOCTYPE html> 2 <html lang="en-US"> 3 <head> 4 <link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"><meta charset="UTF-8"><meta name="application-name" id="app-name" content="sentinelandenterprise"><meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="msvalidate.01" content="4B535F7EB2971D1FCBA5D1D3E3E292C3" /> 5 <meta name="robots" content="noarchive" /> 6 <meta name="tdm-reservation" content="1" /> 7 <title>Login – Sentinel and Enterprise</title> 8<link rel='preload' as='image' fetchpriority='high' href='https://www.sentinelandenterprise.com/wp-content/uploads/2022/04/SE1.png' type='image/png' /> 9<meta name='robots' content='max-image-preview:large' />
10<script type='text/javascript'> 11/* <![CDATA[ */ 12var scriptHelpers = {"staticPath":"https:\/\/www.sentinelandenterprise.com\/wp-content\/themes\/assets\/static\/"}; 13/* ]]> */ 14</script>
vendor: 1 bytes, line 14
14
15<script id="mng_admiral_script" type="text/javascript"> 16!(function(h,_name,r,Q,i){i=function(){(i.q=i.q||[]).push(arguments)},h[_name=r(r(_name))]=h[_name]||i,h[_name].v=h[_name].v||4,h[_name].s=3+0})(window,'%25%36%31dm%25%369%72%61%6C',decodeURI);!(function(h,r,Q,i,E,e,d,x,B){e=function(r,s){return r<2&&s};try{r[Q]=r[Q]||function(h){h?d[h]=!0:e()},d=r[Q]}catch(l){return void e()}!(function y(r,Q,T,O){function c(){try{if(d[T&&T.src||Q]||d[x])return}catch(l){return void e()}T&&(T.remove(),T=null),clearTimeout(B),!r&&Q&&(Q+=(-1===Q.indexOf("?")?"?":"&")+"r=1"),(Q=e(++r,Q))&&y(r,Q)}(T=h.createElement(i)).__apNoHold=!0,O=h.getElementsByTagName(i)[0],T.async=1,T.src=Q,r>0&&(T.fetchPriority="high"),B=setTimeout(c,6e3+2e3*r),T[E]("error",c),T[E]("load",c),O.parentNode.insertBefore(T,O)})(0,x="https://thebestpaints.com/j/o3yme0x/cuk_mv.v2.js")})(document,window,"QS02OEVGQTIzNzJFODI0QTAxMTQ4Njc3MUItNjQ","script","addEventListener",{});; 17; 18!(function(h,r,Q,i,E,e,d,x,B,l,y,_name,T,O,c,v,t,S,N,p,C,n){_name=(y=function(h){return r(r(h))})('%61d%25%36%44%25%36%39%257%32%2561%256C'),T=h.localStorage,O=h.sessionStorage,c=y('_%25%361%256%34%6D%72%6C%25%363%6Bvp'),t=h.location;try{0===document.referrer.indexOf(t.origin)?(v=new URLSearchParams(t.search)).get(y('%5F%2561c%25%372%25%36%39'))?((S=v.get(y('%255%46%256%31%2563%25%374')))===y('%256%35x%25%374en%25%36%34')?N=[["admir\u0061l\u002d\u0065\u0078t\u0065\u006e\u0064ed","true"||_name]]:S===y('%25%37%33%68%256%31%257%30%65')&&(N=[["a\u0064\u006di\u0072al\u002d\u0073\u0068ap\u0065\u0064","true"||_name]]),N&&(O[c]=JSON.stringify(N))):N=JSON.parse(O[c]||"[]"):delete O[c]}catch(b){N=[]}function I(r,Q){try{r=JSON.parse(T["_aQS02OEVGQTIzNzJFODI0QTAxMTQ4Njc3MUItNjQ"]||"{}").lgk||[]}catch(b){r=[]}N&&(r=r.concat(N)),r&&r.length&&(Q=h[p].pubads())&&r.forEach((function(h){h&&h[0]&&Q.setTargeting(h[0],h[1]||"")}))}p=y('g%6F%6Fgle%74%25%36%31%2567');try{n=(C=h[p]=h[p]||{}).cmd=C.cmd||[],typeof C.pubads===Q?I():typeof n.unshift===Q?n.unshift(I):n.push(I)}catch(b){}})(window,decodeURI,"function"); 19</script>
19 20<link rel='dns-prefetch' href='//metrics.rapidedge.io' /> 21<link rel='dns-prefetch' href='//htlbid.com' /> 22<link rel='dns-prefetch' href='//cmp.osano.com' /> 23<link rel='dns-prefetch' href='//ak.sail-horizon.com' /> 24<link rel='dns-prefetch' href='//cdn.parsely.com' /> 25<link rel='dns-prefetch' href='//ajax.googleapis.com' /> 26<link rel='dns-prefetch' href='//t969.sentinelandenterprise.com' /> 27<link rel='dns-prefetch' href='//fonts.googleapis.com' /> 28<link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> 29<link rel='dns-prefetch' href='//v0.wordpress.com' /> 30<link rel="alternate" type="application/rss+xml" title="Sentinel and Enterprise » Feed" href="https://www.sentinelandenterprise.com/feed/" /> 31<link rel="alternate" type="application/rss+xml" title="Sentinel and Enterprise » Comments Feed" href="https://www.sentinelandenterprise.com/comments/feed/" /> 32<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.sentinelandenterprise.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.sentinelandenterprise.com%2Flogin%2F" /> 33<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.sentinelandenterprise.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.sentinelandenterprise.com%2Flogin%2F&format=xml" /> 34<link rel='stylesheet' id='__htl_style-css' href='https://htlbid.com/v3/sentinelandenterprise.com/htlbid.css' media='screen' /> 35<style id='__htl_style-inline-css'> 36@media screen and (max-width:1000px) { #mobile-adhesion { display: block !important; } } 37/*# sourceURL=__htl_style-inline-css */ 38</style> 39<link rel='stylesheet' id='all-css-6aea' href='https://www.sentinelandenterprise.com/_static/??/wp-content/themes/wp-mason/dist/css/styleOsanoCustom.min.css,/wp-content/client-mu-plugins/src/Sitemap/includes/style.css?m=1790798714' type='text/css' media='all' /> 40<style id='wp-emoji-styles-inline-css'> 41 42 img.wp-smiley, img.emoji { 43 display: inline !important; 44 border: none !important; 45 box-shadow: none !important; 46 height: 1em !important; 47 width: 1em !important; 48 margin: 0 0.07em !important; 49 vertical-align: -0.1em !important; 50 background: none !important; 51 padding: 0 !important; 52 } 53/*# sourceURL=wp-emoji-styles-inline-css */ 54</style> 55<link rel='stylesheet' id='digisubs_plugin_css-css' href='https://www.sentinelandenterprise.com/wp-content/plugins/mng-digisubs/static/mng-digisubs.styles.css?ver=1790890291' media='all' /> 56<link rel='stylesheet' id='all-css-2189' href='https://www.sentinelandenterprise.com/_static/??-eJx9zEEKAjEMheELGePgos5CxKPMdEIbaJMySZG5vUUQXLl4/PAWH74aRBUncYyFR6B2aKUnFsNvqyQwUsh9xcWM3DDamLZj55QdRJ0jncd5wr+i7RGfm/0qVVcuBMuWyVgFzI/yoR71PoX5EuZbmK5vSeQ+VA==' type='text/css' media='all' /> 57<link rel='stylesheet' id='mason-fonts-css' href='https://fonts.googleapis.com/css?family=Noto+Sans%3A400%2C700%2C800%7CNoto+Serif%3A400%2C400i%2C700%2C700i%2C800&display=swap&ver=6.9.9' media='all' /> 58<link rel='stylesheet' id='all-css-8ed2' href='https://www.sentinelandenterprise.com/wp-content/themes/assets/static/css/modernearthy.css?m=1790890291g' type='text/css' media='all' /> 59<link rel='stylesheet' id='dfm-accuweather-bootstrap-icons-css' href='//cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.min.css?ver=5.2.0' media='screen' /> 60<link rel='stylesheet' id='all-css-26e8' href='https://www.sentinelandenterprise.com/wp-content/plugins/dfm-ad-mods/dist/css/style.min.css?m=1790798713g' type='text/css' media='all' />
61<script src="https://metrics.rapidedge.io/gamera.js?ltv=1&audience=1&tpcs=1&partner=medianewsgroup" id="gamera-js" async data-wp-strategy="async"></script>
vendor: 1 bytes, line 61
61
62<script id="mng-ad-free-7day-js-before"> 63window.mngAdFree7DayConfig = {"flagId":"adfree-for-7-day-print-subs","cacheKey":"MNG_FF_AD_FREE_7DAY","cacheTtlMs":86400000,"userCookie":"auth0_sub","sessionKey":"__MNG_Session"}; 64//# sourceURL=mng-ad-free-7day-js-before 65</script>
vendor: 1 bytes, line 65
65
66<script id="mng-ad-free-7day-js-after"> 67 ( function () { 68 const config = window.mngAdFree7DayConfig; 69 if ( ! config ) { 70 return; 71 } 72 73 function currentUserId() { 74 const parts = document.cookie ? document.cookie.split( ';' ) : []; 75 for ( let i = 0; i < parts.length; i++ ) { 76 const pair = parts[ i ].split( '=' ); 77 if ( pair[ 0 ].trim() === config.userCookie ) { 78 try { 79 return decodeURIComponent( pair.slice( 1 ).join( '=' ) ); 80 } catch ( e ) { 81 return ''; 82 } 83 } 84 } 85 return ''; 86 } 87 88 function decodeJwtPayload( token ) { 89 try { 90 const segment = token.split( '.' )[ 1 ]; 91 if ( ! segment ) { 92 return null; 93 } 94 let b64 = segment.replace( /-/g, '+' ).replace( /_/g, '/' ); 95 while ( b64.length % 4 ) { 96 b64 += '='; 97 } 98 return JSON.parse( atob( b64 ) ); 99 } catch ( e ) { 100 return null; 101 } 102 } 103 104 function entitlementClaims() { 105 try { 106 const session = JSON.parse( 107 window.localStorage.getItem( config.sessionKey ) || '{}' 108 ); 109 return ( session.entitlementToken && 110 decodeJwtPayload( session.entitlementToken ) ) || {}; 111 } catch ( e ) { 112 return {}; 113 } 114 } 115 116 function clearCachedEnabled() { 117 try { 118 window.localStorage.removeItem( config.cacheKey ); 119 } catch ( e ) {} 120 } 121 122 // Bound to the reader it was resolved for, so it cannot outlive a 123 // logout or leak on a shared device. Positive results expire after TTL. 124 function readCachedEnabled() { 125 try { 126 const raw = window.localStorage.getItem( config.cacheKey ); 127 if ( ! raw ) { 128 return false; 129 } 130 const cached = JSON.parse( raw ); 131 const userId = currentUserId(); 132 if ( 133 ! userId || 134 cached.userId !== userId || 135 cached.enabled !== true || 136 ! cached.expiresAt || 137 Date.now() > cached.expiresAt 138 ) { 139 clearCachedEnabled(); 140 return false; 141 } 142 return true; 143 } catch ( e ) { 144 clearCachedEnabled(); 145 return false; 146 } 147 } 148 149 function writeCachedEnabled( enabled ) { 150 if ( ! enabled ) { 151 clearCachedEnabled(); 152 return; 153 } 154 try { 155 const userId = currentUserId(); 156 if ( ! userId ) { 157 clearCachedEnabled(); 158 return; 159 } 160 window.localStorage.setItem( config.cacheKey, JSON.stringify( { 161 userId: userId, 162 enabled: true, 163 expiresAt: Date.now() + config.cacheTtlMs 164 } ) ); 165 } catch ( e ) {} 166 } 167 168 function ensureLogoutClear() { 169 window.MNGAuthentication = window.MNGAuthentication || {}; 170 const callbacks = window.MNGAuthentication.logoutCallbacks; 171 if ( 172 Array.isArray( callbacks ) && 173 callbacks.indexOf( clearCachedEnabled ) === -1 174 ) { 175 callbacks.push( clearCachedEnabled ); 176 } 177 } 178 179 window.MNGAuthentication = window.MNGAuthentication || {}; 180 181 let originalIsUserAdFree = window.MNGAuthentication.isUserAdFree; 182 183 // Existing ad-free users (premium, employees, ad-free templates) 184 // must stay ad-free even if they are not in this experiment. 185 function underlyingSaysAdFree() { 186 if ( originalIsUserAdFree === true ) { 187 return true; 188 } 189 if ( typeof originalIsUserAdFree === 'function' ) { 190 return !! originalIsUserAdFree.call( window.MNGAuthentication ); 191 } 192 return false; 193 } 194 195 function isUserAdFree() { 196 return underlyingSaysAdFree() || readCachedEnabled(); 197 } 198 199 // entitlements.js may assign isUserAdFree before or after this runs. 200 Object.defineProperty( window.MNGAuthentication, 'isUserAdFree', { 201 configurable: true, 202 get: function () { 203 return isUserAdFree; 204 }, 205 set: function ( value ) { 206 originalIsUserAdFree = value; 207 } 208 } ); 209 210 // Context is passed per evaluation, so this only waits on the 211 // datafile. Still resolves after this page's ad scripts have run, 212 // so the arm applies from the next page view. 213 function resolve() { 214 ensureLogoutClear(); 215 const visor = window.mngfeatures && window.mngfeatures.visor; 216 if ( ! visor ) { 217 return; 218 } 219 const userId = currentUserId(); 220 const claims = entitlementClaims(); 221 if ( ! userId || ! claims.entitlement_level ) { 222 return; 223 } 224 const level = String( claims.entitlement_level ).trim().toLowerCase(); 225 const service = String( claims.entitlement_serviceCode || 'unknown' ).trim(); 226 227 const enabled = visor.isEnabled( config.flagId, { 228 userId: userId, 229 subscriptionLevel: level + '-' + service 230 } ); 231 writeCachedEnabled( enabled ); 232 } 233 234 ensureLogoutClear(); 235 236 // Whichever fires first: the session may land before the datafile 237 // or after it. 238 if ( window.mngfeatures && window.mngfeatures.visor ) { 239 resolve(); 240 } 241 window.addEventListener( 'mng-feature-flags-init', resolve ); 242 window.addEventListener( 'mng-feature-flags-ready', resolve ); 243 } )(); 244//# sourceURL=mng-ad-free-7day-js-after 245</script>
vendor: 1 bytes, line 245
245
246<script src="https://cmp.osano.com/16A1AnRt2Fn8i1unj/1edc45d9-1a78-48b2-9035-037b31df744a/osano.js" id="osano-js"></script>
vendor: 1 bytes, line 246
246
247<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js?ver=3.5.1" id="jquery-js"></script>
vendor: 1 bytes, line 247
247
248<script type="text/javascript" src="https://www.sentinelandenterprise.com/wp-content/client-mu-plugins/src/SSO/assets/js/sso-tools.min.js?m=1790371220g" ></script>
248<script id="mg2_loader_loader-js-extra"> 249var MG2 = {"settings":{"environment":"prod","version":"dfm","useDocumentReady":false,"xCode":"","randomURLChoosing":false,"plugins":[{"name":"FP","required":true,"initOptions":{"version":"dfm","environment":"prod"}},{"name":"DL","required":true,"initOptions":{"version":"dfm","environment":"prod","tagManager":"GTM","containerId":"GTM-NFD2QGD","collectors":["connext"]}},{"name":"NXT","required":true,"initOptions":{"environment":"prod","siteCode":"DFM","configCode":"SophiLOWFIT","clientCode":"dfm","debug":true,"silentmode":true,"attr":"SE","settingsKey":"NORCAL,SE","userAuthenticationTime":365,"authSettings":{"domain":"login.npuserlogin.com","client_id":"8ognhVhyzUP44073PTD38FrAaPLA8k4o","redirect_uri":"https://www.sentinelandenterprise.com/login"}}}],"FP_CNAME":"fp.sentinelandenterprise.com","DL_CNAME":"g2i.sentinelandenterprise.com","NXT_CNAME":"engage.sentinelandenterprise.com","CONFIG_URL":"https://loader-config.sentinelandenterprise.com/prod/dfm/loader-config.json","appInsightsKey":"8241cbc2-50a5-47c4-b91f-462506490fad"}}; 250//# sourceURL=mg2_loader_loader-js-extra 251</script>
vendor: 1 bytes, line 251
251
252<script src="https://www.sentinelandenterprise.com/wp-content/plugins/loader-wp/static/loader.min.js?ver=1.6.4" id="mg2_loader_loader-js"></script>
vendor: 1 bytes, line 252
252
253<script id="mg2_loader_loader-js-after"> 254(function( MG2, MG2Loader ) { 255 if ( 'undefined' !== typeof MG2 && 'undefined' !== typeof MG2Loader) { 256 console.log("mg2loader: not waiting"); 257 MG2Loader.init( MG2.settings ); 258 } 259})( MG2, MG2Loader ); 260//# sourceURL=mg2_loader_loader-js-after 261</script>
vendor: 1 bytes, line 261
261
262<script id="digisubs_settings-js-extra"> 263var authentication_config = {"debug":"","entitlementsEnabled":"1","oneTapEnabled":"1","useTribMainGoogle":"","googleClientId":"186687227862-jvre7ge77vo0sh91amb0vq5qmf6kap3i.apps.googleusercontent.com","gotPositionEnabled":"","gotModalPosition":"","dropdownEnabled":"1","forceLogoutOnExpiredIdToken":"","auth0Domain":"login.npuserlogin.com","auth0ClientId":"8ognhVhyzUP44073PTD38FrAaPLA8k4o","auth0RegwallUserEmail":"","sessionManagement":"1","sessionServer":"https://session.sentinelandenterprise.com","newsletterId":"385","newslettersEnabled":"","myAccountLink":"","entitlementsEndpoint":"https://user.mng-digisubs-prod.com/","entitlementsAPIKey":"DHL8Vs1UNo9u0WO52dVBzSuLi4kw2so25cXK1fy7","linaCheckOnArticles":"","serverEntitlements":"1","bcLowaSegements":"","blueconicEnabled":"1","enableReaderDashboardLink":"1","enableDashboardCancel":"","enableReaderDashboardv2":"1","enableDashboardBenefitHub":"","prosperstackClientid":"","enableUpdatePayment":"","enableUpgradeSubscription":"","enableDatadog":"","sophiOnDevice":"1","sophiSDKEnabled":"","regwallPrefId":"","cookieSize":"","whiteList":"","paywallId":"paywall-sspw-mg2pw01-fg24","articleSavingEnabled":"","articleSharingEnabled":"1","isEmbedLoginEnabled":"1","enableSocialSigninModal":"","subHeaderText":"","enableSocialAllPages":"","enableSocialHomepage":"","enableSocialArticle":"","enableSocialSection":"","isAdfreeArticle":""}; 264//# sourceURL=digisubs_settings-js-extra 265</script>
vendor: 1 bytes, line 265
265
266<script id="connext_utils-js-extra"> 267var authentication_config = {"debug":"","entitlementsEnabled":"1","oneTapEnabled":"1","useTribMainGoogle":"","googleClientId":"186687227862-jvre7ge77vo0sh91amb0vq5qmf6kap3i.apps.googleusercontent.com","gotPositionEnabled":"","gotModalPosition":"","dropdownEnabled":"1","forceLogoutOnExpiredIdToken":"","auth0Domain":"login.npuserlogin.com","auth0ClientId":"8ognhVhyzUP44073PTD38FrAaPLA8k4o","auth0RegwallUserEmail":"","sessionManagement":"1","sessionServer":"https://session.sentinelandenterprise.com","newsletterId":"385","newslettersEnabled":"","myAccountLink":"","entitlementsEndpoint":"https://user.mng-digisubs-prod.com/","entitlementsAPIKey":"DHL8Vs1UNo9u0WO52dVBzSuLi4kw2so25cXK1fy7","linaCheckOnArticles":"","serverEntitlements":"1","bcLowaSegements":"","blueconicEnabled":"1","enableReaderDashboardLink":"1","enableDashboardCancel":"","enableReaderDashboardv2":"1","enableDashboardBenefitHub":"","prosperstackClientid":"","enableUpdatePayment":"","enableUpgradeSubscription":"","enableDatadog":"","sophiOnDevice":"1","sophiSDKEnabled":"","regwallPrefId":"","cookieSize":"","whiteList":"","paywallId":"paywall-sspw-mg2pw01-fg24","articleSavingEnabled":"","articleSharingEnabled":"1","isEmbedLoginEnabled":"1","enableSocialSigninModal":"","subHeaderText":"","enableSocialAllPages":"","enableSocialHomepage":"","enableSocialArticle":"","enableSocialSection":"","isAdfreeArticle":""}; 268//# sourceURL=connext_utils-js-extra 269</script>
vendor: 1 bytes, line 269
269
270<script type="text/javascript" src="https://www.sentinelandenterprise.com/_static/??-eJydzDEOwjAMQNELkbhlgQyIC7BygKSxLFeJG8WuWm4PC1IHJtYvvQ9bc9MihmLQykosCmWJGbvbGqhF4wlQKBI+OPXYX76y+FlP8ENWIZeZWNekX3xsXtGMhdSnVXLBvz8fILjb07gcXvd6Gy9huIbhHMb5Dd4SUfE=" ></script>
270<script src="https://cdn.auth0.com/js/auth0-spa-js/1.13/auth0-spa-js.production.js?ver=6.9.9" id="auth0_sdk-js"></script>
vendor: 1 bytes, line 270
270
271<script src="https://accounts.google.com/gsi/client?ver=6.9.9" id="google_one_tap-js"></script>
vendor: 1 bytes, line 271
271
272<script type="text/javascript" src="https://www.sentinelandenterprise.com/_static/??-eJylzMEKgCAQBNAfKje7lIfoW7REVnQTdqU+P2/RtU4Dw8yDs/TbQeJJoKQakBgyhX7HgFwdA4sV3F6dyhZJuUp78ipyB1+MdiB/yV+mjVGSzy35sda86MkMsxlGo+MN3ZNVXw==" ></script>
272<script id="auth0-session-storage-js-before"> 273window.auth0WPAdminMeta = '{"auth0WPAdminMeta":{"auth0UserMeta":null,"auth0AppMeta":null}}'; 274//# sourceURL=auth0-session-storage-js-before 275</script>
vendor: 1 bytes, line 275
275
276<script src="https://www.sentinelandenterprise.com/wp-content/client-mu-plugins/src/Auth0/assets/dist/auth0-session-storage.min.js?ver=1.0.4" id="auth0-session-storage-js"></script>
vendor: 1 bytes, line 276
276
277<script src="https://t969.sentinelandenterprise.com/script.js" id="t969-js"></script>
vendor: 1 bytes, line 277
277
278<script id="hhsl-check-js-extra"> 279var DFM_AD_MODS_LEVEL = ["355"]; 280//# sourceURL=hhsl-check-js-extra 281</script>
vendor: 1 bytes, line 281
281
282<script type="text/javascript" src="https://www.sentinelandenterprise.com/wp-content/plugins/dfm-ad-mods/dist/js/hhslCheck.min.js?m=1790798713g" ></script>
282<link rel="https://api.w.org/" href="https://www.sentinelandenterprise.com/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.sentinelandenterprise.com/wp-json/wp/v2/pages/770921" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.sentinelandenterprise.com/xmlrpc.php?rsd" /> 283<meta name="generator" content="WordPress 6.9.9" /> 284<link rel='shortlink' href='https://wp.me/PaAVxL-3eyd' />
285<script id="cnx-init-script">!function(n){if(!window.cnx){window.cnx={},window.cnx.cmd=[];var t=n.createElement('iframe');t.display='none',t.onload=function(){var n=t.contentWindow.document,c=n.createElement('script');c.src='//cd.connatix.com/connatix.player.js',c.setAttribute('async','1'),c.setAttribute('type','text/javascript'),n.body.appendChild(c)},n.head.appendChild(t)}}(document);</script>
285 <style> 286 .getty.aligncenter { 287 text-align: center; 288 } 289 .getty.alignleft { 290 float: none; 291 margin-right: 0; 292 } 293 .getty.alignleft > div { 294 float: left; 295 margin-right: 5px; 296 } 297 .getty.alignright { 298 float: none; 299 margin-left: 0; 300 } 301 .getty.alignright > div { 302 float: right; 303 margin-left: 5px; 304 } 305 </style> 306 <style>img#wpstats{display:none}</style> 307
307<script type="application/ld+json" id="mng-metadata">{"@context":"https:\/\/schema.org","@type":"WebPage","headline":"Login","url":"https:\/\/www.sentinelandenterprise.com\/login\/"}</script>
307<script type="application/ld+json" id="mng-breadcrumb-0">{"@context":"https:\/\/schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/www.sentinelandenterprise.com","name":"Home"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/www.sentinelandenterprise.com\/login\/","name":"Login"}}]}</script>
307<link rel="canonical" href="https://www.sentinelandenterprise.com/login/" />
307<script> 308 var PushlySDK = window.PushlySDK || []; 309 function pushly() { PushlySDK.push(arguments) } 310 pushly('load', { 311 domainKey: decodeURIComponent("36lGkzP045YAnMC14hCvoAmOGCcNFA5yDCwe"), 312 sw: "https://www.sentinelandenterprise.com/wp-content/plugins/pushly/assets/js/pushly-sdk-worker.js.php", 313 swScope: "https://www.sentinelandenterprise.com/wp-content/plugins/pushly/" }); 314</script>
314 315 316<style id="customizer-styles"></style>
316<script>window.addEventListener('message', 317 function s2nEventCallback(a){if('s2nEvent'===a.data.type) 318 {let t={event:'SendToNews load',sendtonews_player_key: 319 a.data.playerKey};window.dataLayer.push(t), 320 window.removeEventListener('message',s2nEventCallback)}});</script>
320<!-- Google Tag Manager Data Layer -->
321<script type='text/javascript'> 322 analyticsEvent = function() {}; 323 analyticsSocial = function() {}; 324 analyticsVPV = function() {}; 325 analyticsClearVPV = function() {}; 326 analyticsForm = function() {}; 327 window.dataLayer = window.dataLayer || []; 328 dataLayer.push({ 329 'quantcast' : 'p-4ctCQwtnNBNs2', 330 'quantcast label' : 'Lowell', 331 'comscore' : '6035443', 332 'Publisher Domain' : 'sentinelandenterprise.com', 333 'Publisher Product' : 'sentinelandenterprise.com', 334 'kv' : 'page', 335 'Platform' : 'Web CMS', 336 'Release Version' : '6.9.9', 337 'Digital Publisher' : '', 338 'Section' : 'Login', 339 'Taxonomy1' : '', 340 'Taxonomy2' : '', 341 'Taxonomy3' : '', 342 'Taxonomy4' : '', 343 'Taxonomy5' : '', 344 'Publisher State' : 'MASSACHUSETTS', 345 'Page Type' : 'page', 346 'User ID' : '', 347 'SiteName' : 'Sentinel and Enterprise', 348 'Cluster' : 'MNG Boston', 349 'Mobile Presentation' : 'no', 350 'Content ID' : '770921', 351 'Publish Hour of Day' : '2021-02-24T02:08:58-05:00', 352 'Create Hour of Day' : '2021-02-24T02:08:58-05:00', 353 'Update Hour of Day' : '2021-02-24T05:10:26-05:00', 354 'Content Source' : '', 355 'Canonical URL' : 'https://www.sentinelandenterprise.com/login/', 356 'Slug' : 'login', 357 'Primary_Section' : '', 358 'Primary_Tag' : '', 359 'Associated_Tags' : '', 360 'Associated_Sections' : '', 361 'Associated_Taxonomies' : '', 362 'Byline' : 'Bob Kirkemo', 363 'Byline_Email' : '[email protected]', 364 'Affiliation' : 'no_affiliation', 365 'Content Title' : 'Login', 366 'URL' : 'https://www.sentinelandenterprise.com/login/', 367 'Page Title' : 'Login', 368 'Article Characters' : '0', 369 'Article Words' : '0', 370 'Print Export' : 'false', 371 'Paywall_Level' : 'metered', 372 'Dateline' : '', 373 'Paragraph Count' : '0', 374 'Behind Paywall' : 'true', 375 'Article Template' : '' 376 }); 377</script>
377 378<!-- End Google Tag Manager Data Layer --> 379<!-- Google Tag Manager -->
380<script>
vendor: 347 bytes, lines 380-388
380 381(function(w,d,s,l,i) { 382 w[l]=w[l]||[]; 383 w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'}); 384 var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:''; 385 j.async=true; 386 j.src='https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 387}) 388(window,document,'script','dataLayer','
388GTM-TLFP4R
vendor: 4 bytes, line 388
388');
389</script>
389<!-- End Google Tag Manager --> 390 391<!-- Jetpack Open Graph Tags --> 392<meta property="og:type" content="article" /> 393<meta property="og:title" content="Login" /> 394<meta property="og:url" content="https://www.sentinelandenterprise.com/login/" /> 395<meta property="og:description" content="Visit the post for more." /> 396<meta property="article:published_time" content="2021-02-24T07:08:58+00:00" /> 397<meta property="article:modified_time" content="2021-02-24T10:10:26+00:00" /> 398<meta property="og:site_name" content="Sentinel and Enterprise" /> 399<meta property="og:image" content="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/Sentinel-fallback-image.jpg" /> 400<meta property="og:image:width" content="1200" /> 401<meta property="og:image:height" content="630" /> 402<meta property="og:image:alt" content="" /> 403<meta property="og:locale" content="en_US" /> 404<meta name="twitter:image" content="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/Sentinel-fallback-image.jpg" /> 405<meta name="twitter:text:title" content="Login" /> 406<meta name="twitter:card" content="summary" /> 407<meta name="twitter:description" content="Visit the post for more." /> 408 409<!-- End Jetpack Open Graph Tags --> 410<link rel="icon" href="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/cropped-sentinel-site-icon1.png?w=32" sizes="32x32" /> 411<link rel="icon" href="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/cropped-sentinel-site-icon1.png?w=192" sizes="192x192" /> 412<link rel="apple-touch-icon" href="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/cropped-sentinel-site-icon1.png?w=180" /> 413<meta name="msapplication-TileImage" content="https://www.sentinelandenterprise.com/wp-content/uploads/2019/07/cropped-sentinel-site-icon1.png?w=270" /> 414 </head> 415 416 <body class="wp-singular page-template page-template-sso-login page page-id-770921 wp-custom-logo wp-theme-wp-mason wp-child-theme-scng"> 417 418 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 418-419
418 419<noscript><iframe src='https://www.googletagmanager.com/ns.html?id=
419GTM-TLFP4R
vendor: 83 bytes, line 419
419' height='0' width='0' style='display:none;visibility:hidden'></iframe></noscript>
420<!-- End Google Tag Manager (noscript) --> 421 <a href="#content" class="sr-only">Skip to content</a> 422 423 <div id="page" class="hfeed site"> 424 425 <div class="header-placeholder"></div><header class="site-header default headroom--top"> 426 <div class="nav-wrapper-primary"> 427 428 <div class="nav-wrapper-secondary "> 429 430 <div class="screen-wrapper"> 431 432 <div class="nav-primary-top"> 433 434 <div class="pushnav-flex-wrapper"> 435 <nav class="pushnav" role="navigation" aria-label="Main Menu" id="pushnav-container"><div id="menu-toggle" class="menu-toggle" role="button" aria-expanded="false" tabindex="0" aria-label="Open menu of all sections"><span class="icon-hamburger"></span><span class="menu-label">All Sections</span></div> 436 <div class="wrapper-nav pushnav"> 437 <div class="border-container"> 438 <div class="top-pushnav-container"> 439 <a href="https://checkout.sentinelandenterprise.com/?&g2i_or_o=Internet&g2i_or_p=mg2nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.sentinelandenterprise.com%252F" id="mega-subscribe-button" class="subscribe-button" > 440 <span>Subscribe Now</span> </a> 441 <div class="accuweather-wrap"> 442 <div class="weather-date"> 443 <div class='dfm_accuweather_current_conditions'> 444 <a target="_blank" href="http://www.accuweather.com/en/us/fitchburg-ma/01420/current-weather/472_pc?lang=en-us&partner=mng_41" title="Current Weather Conditions" aria-label="Current temperature is 71°F, view full weather conditions in a new window"> 445 <span>71°F</span> 446 <i class="bi-clouds" role="img" aria-label="weather icon clouds"></i> 447 </a> 448 </div> <div class="date"> 449 Thursday, October 1st 2026 <a title="Link to E-Edition opens in a new window" target="_blank" href="https://enewspaper.sentinelandenterprise.com/"> 450 <p class="e-edition">E-Edition</p> </a> 451 </div> 452 </div> 453 </div> 454 <a href="https://www.sentinelandenterprise.com" class="home-link icon-home3" title="Link to Home Page"> 455 <span>Home Page</span> 456 </a> 457 </div> 458 <ul id="pushnav" class="menu"><li id="menu-item-134" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-134 menu-large"><a href="https://www.sentinelandenterprise.com/news/" aria-expanded="false" aria-haspopup="true">News</a> 459<ul class="sub-menu"> 460 <li id="menu-item-135" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-135 menu-large"><a href="https://www.sentinelandenterprise.com/news/">News</a></li> 461 <li id="menu-item-748246" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-748246 menu-large"><a href="https://www.sentinelandenterprise.com/latest-headlines/">Latest Headlines</a></li> 462 <li id="menu-item-137" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-137 menu-large"><a href="https://www.sentinelandenterprise.com/local-news/">Local News</a></li> 463 <li id="menu-item-138" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-138 menu-large"><a href="https://www.sentinelandenterprise.com/news/crime-public-safety/">Crime and Public Safety</a></li> 464 <li id="menu-item-139" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-139 menu-large"><a href="https://www.sentinelandenterprise.com/news/politics/">Politics</a></li> 465 <li id="menu-item-141" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-141 menu-large"><a href="https://www.sentinelandenterprise.com/business/">Business</a></li> 466 <li id="menu-item-1061597" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1061597 menu-large"><a href="https://www.sentinelandenterprise.com/best-reviews/">Best Reviews</a></li> 467 <li id="menu-item-143" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-143 menu-large"><a href="https://www.sentinelandenterprise.com/contact-us/">Contact Us</a></li> 468 <li id="menu-item-1365982" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1365982 menu-large"><a href="https://www.sentinelandenterprise.com/news/health/">Health</a></li> 469 <li id="menu-item-144" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-144 menu-large"><a href="https://mng-sen.smugmug.com/">Purchase Photos</a></li> 470 <li id="menu-item-1359378" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1359378 menu-large"><a href="https://www.sentinelandenterprise.com/news/national/">National News</a></li> 471 <li id="menu-item-1365949" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1365949 menu-large"><a href="https://www.sentinelandenterprise.com/news/world/">World News</a></li> 472</ul> 473</li> 474<li id="menu-item-145" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-145 menu-large"><a href="https://www.sentinelandenterprise.com/sports/" aria-expanded="false" aria-haspopup="true">Sports</a> 475<ul class="sub-menu"> 476 <li id="menu-item-146" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-146 menu-large"><a href="https://www.sentinelandenterprise.com/sports/">Sports</a></li> 477 <li id="menu-item-147" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-147 menu-large"><a href="https://www.sentinelandenterprise.com/sports/high-school/">High School Sports</a></li> 478 <li id="menu-item-148" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-148 menu-large"><a href="https://www.sentinelandenterprise.com/sports/nfl/new-england-patriots/">New England Patriots</a></li> 479 <li id="menu-item-149" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-149 menu-large"><a href="https://www.sentinelandenterprise.com/sports/nba/boston-celtics/">Boston Celtics</a></li> 480 <li id="menu-item-150" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-150 menu-large"><a href="https://www.sentinelandenterprise.com/sports/mlb/boston-red-sox/">Boston Red Sox</a></li> 481 <li id="menu-item-151" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-151 menu-large"><a href="https://www.sentinelandenterprise.com/sports/nhl/bruins/">Boston Bruins</a></li> 482 <li id="menu-item-152" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-152 menu-large"><a href="https://www.sentinelandenterprise.com/sports/golf/">Golf</a></li> 483</ul> 484</li> 485<li id="menu-item-153" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-153 menu-large"><a href="https://www.sentinelandenterprise.com/things-to-do/entertainment/" aria-expanded="false" aria-haspopup="true">Entertainment</a> 486<ul class="sub-menu"> 487 <li id="menu-item-748228" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-748228 menu-large"><a href="https://www.sentinelandenterprise.com/things-to-do/entertainment/">Entertainment</a></li> 488 <li id="menu-item-157" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-157 menu-large"><a href="https://www.comicskingdom.com/?utm_source=dfm">Comics</a></li> 489 <li id="menu-item-158" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-158 menu-large"><a href="https://www.comicskingdom.com/puzzles?utm_source=dfm">Puzzles</a></li> 490 <li id="menu-item-905874" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-905874 menu-large"><a href="https://www.sentinelandenterprise.com/events/">Events</a></li> 491 <li id="menu-item-878959" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-878959 menu-large"><a href="https://www.sentinelandenterprise.com/fun-and-games/">Fun and Games</a></li> 492 <li id="menu-item-902324" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-902324 menu-large"><a href="https://www.sentinelandenterprise.com/special-sections/">Special Sections</a></li> 493 <li id="menu-item-902325" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-902325 menu-large"><a href="https://www.sentinelandenterprise.com/contest/">Contests</a></li> 494</ul> 495</li> 496<li id="menu-item-748229" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-748229 menu-large"><a href="https://www.sentinelandenterprise.com/things-to-do/" aria-expanded="false" aria-haspopup="true">Lifestyle</a> 497<ul class="sub-menu"> 498 <li id="menu-item-748230" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-748230 menu-large"><a href="https://www.sentinelandenterprise.com/things-to-do/">Lifestyle</a></li> 499 <li id="menu-item-748245" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-748245 menu-large"><a href="/tag/weekender">Weekender</a></li> 500 <li id="menu-item-423641" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423641 menu-large"><a href="/tag/dear-annie">Dear Annie</a></li> 501 <li id="menu-item-423642" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423642 menu-large"><a href="/tag/dream-retriever">Dream Retriever</a></li> 502 <li id="menu-item-423644" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423644 menu-large"><a href="/tag/ask-the-psychic">Ask the Psychic</a></li> 503 <li id="menu-item-423645" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423645 menu-large"><a href="/tag/hopeful-thinking">Hopeful Thinking</a></li> 504 <li id="menu-item-423646" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423646 menu-large"><a href="/tag/community-conversations">Community Conversations</a></li> 505 <li id="menu-item-624178" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-624178 menu-large"><a href="https://www.sentinelandenterprise.com/tag/parent-forward/">Parent Forward</a></li> 506</ul> 507</li> 508<li id="menu-item-952211" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-952211 menu-large"><a href="https://www.sentinelandenterprise.com/obituaries/" aria-expanded="false" aria-haspopup="true">Obituaries</a> 509<ul class="sub-menu">
510 <li id="menu-item-952212" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-952212 menu-large"><a href="https://www.sentinelandenterprise.com/obituaries/">Obituaries</a></li> 511 <li id="menu-item-952213" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-952213 menu-large"><a href="https://www.sentinelandenterprise.com/news/news-obituaries/">News Obituaries</a></li> 512 <li id="menu-item-181" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-181 menu-large"><a href="https://placeobits.rememberingma.us/nygroup-adportal/lowell-obits/index.html">Place an Obituary</a></li> 513 <li id="menu-item-180" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-180 menu-large"><a href="https://www.lowellsun.com/memoriams/">Memoriams Form</a></li> 514</ul> 515</li> 516<li id="menu-item-1759370" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1759370 menu-large"><a href="https://marketplace.newspaperclassifiedsma.com/">Classifieds</a></li> 517<li id="menu-item-183" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-183 menu-large"><a href="https://www.sentinelandenterprise.com/opinion/" aria-expanded="false" aria-haspopup="true">Opinion</a> 518<ul class="sub-menu"> 519 <li id="menu-item-184" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-184 menu-large"><a href="https://www.sentinelandenterprise.com/opinion/">Opinion</a></li> 520 <li id="menu-item-185" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-185 menu-large"><a href="https://www.sentinelandenterprise.com/opinion/editorials/">Editorials</a></li> 521 <li id="menu-item-423650" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-423650 menu-large"><a href="/tag/letters">Letters to the Editor</a></li> 522 <li id="menu-item-189" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-189 menu-large"><a href="https://www.sentinelandenterprise.com/submit-a-letter/">Submit a Letter</a></li> 523</ul> 524</li> 525<li id="menu-item-1737730" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1737730 menu-large"><a href="https://www.sentinelandenterprise.com/best-reviews/">BestReviews</a></li> 526<li id="menu-item-1317849" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-1317849 menu-large"><a href="https://www.sentinelandenterprise.com/branded-content/" aria-expanded="false" aria-haspopup="true">Branded Content</a> 527<ul class="sub-menu"> 528 <li id="menu-item-1317854" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1317854 menu-large"><a href="https://www.sentinelandenterprise.com/sponsor-content-hub/?ntv_adpz=4099">Paid Content by Brandpoint</a></li> 529</ul> 530</li> 531<li id="menu-item-855009" class="subscribe-visibility subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-855009"><a href="https://checkout.sentinelandenterprise.com/?&g2i_or_o=Internet&g2i_or_p=mg2nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.sentinelandenterprise.com%252F">Subscribe</a></li> 532<li id="menu-item-696918" class="log-in-button subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-696918"><a href="https://www.sentinelandenterprise.com/login">Log In</a></li> 533<li id="menu-item-770926" class="log-out-button menu-item menu-item-type-custom menu-item-object-custom menu-item-770926 menu-large"><a href="/logout">Logout</a></li> 534</ul> </div> 535 <div class="newsletter-nav"> 536 <div class="newsletter-simple"> 537 <div class="newsletter-item"> 538 <p class="prompt">Sign up for email newsletters</p> 539 <a class="sign-up-button" href="https://myaccount.sentinelandenterprise.com/se/preference" 540 aria-label="Click here to go to the newsletter sign up page"> 541 Sign Up</a> 542 </div> 543 </div> 544 </div> 545 </div> 546 </nav> 547 </div> 548 <div class="hidden-logo logo-display"> 549 <div class="logo custom-logo"><a href="https://www.sentinelandenterprise.com" aria-label="Sentinel and Enterprise"><img src="https://www.sentinelandenterprise.com/wp-content/uploads/2022/04/SE1.png" alt="Sentinel and Enterprise"></a></div> </div> 550 <div class="digisubs-wrapper"> 551 <nav class="digisubs-pushmenu hidden" role="navigation" aria-label="Account Menu" id="digisubs-push-container"> 552 <div id="digisubs-toggle" class="digisubs-toggle pushnav" role="button" aria-expanded="false" tabindex="0" aria-label="Open menu"> 553 <div id="mng-icon-image"> 554 <img id="pushnav-icon" alt=""> 555 <div id="blank-icon-user"> 556 <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20" viewBox="0 0 32 32"> 557 <path fill="#000000" d="M18 22.082v-1.649c2.203-1.241 4-4.337 4-7.432 0-4.971 0-9-6-9s-6 4.029-6 9c0 3.096 1.797 6.191 4 7.432v1.649c-6.784 0.555-12 3.888-12 7.918h28c0-4.030-5.216-7.364-12-7.918z"></path> 558 </svg> 559 </div> 560 <span class="icon-arrow-down"></span> 561 </div> 562 </div>
563 <div class="wrapper-nav-subs pushnav"> 564 <div class="border-container"> 565 <ul id="dfm-digisubs-push-menu" class="menu"><li id="menu-item-913861" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-913861"><a href="https://checkout.sentinelandenterprise.com/?&g2i_or_o=Internet&g2i_or_p=mg2nav&g2i_source=SB&g2i_medium=nav2&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.sentinelandenterprise.com%252F">Subscribe</a></li> 566<li id="menu-item-913862" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-913862"><a href="/login/">Login</a></li> 567</ul> <div id="push-account-content"> 568 <div class="show-digisubs-push" id="email-source-wrapper"> 569 <a class="account-link" id="push-email-link"></a> 570 <p class="logged-in-source" id="push-auth-source"></p> 571 </div> 572 <a class="show-digisubs-push account-link" id="push-account-link" data-mng-click="account-settings" data-mng-category="account-link" data-mng-action="account-settings">Account Settings</a> 573 <a class="show-digisubs-push" id="push-contact-us" href="/contact-us" data-mng-click="contact-us" data-mng-category="account-link" data-mng-action="contact-us">Contact Us</a> 574 <a class="show-digisubs-push" id="push-log-out" href="/logout" data-mng-click="log-out" data-mng-category="account-link" data-mng-action="log-out">Log Out</a> 575 <div class="show-digisubs-push marketing-slot" id="push-marketing-slot"></div> 576 <label class="user-spoof">Spoof a user</label> 577 <input id="push-user-spoof-control" class="user-spoof" type="checkbox"> 578 <ul id="newsLetterItem-push" class="newsLetterContent"></ul> 579 </div> 580 </div> 581 <div class="newsletter-nav"> 582 <div class="newsletter-simple"> 583 <div class="newsletter-item"> 584 <p class="prompt">Sign up for email newsletters</p> 585 <a class="sign-up-button" href="https://myaccount.sentinelandenterprise.com/se/preference" 586 aria-label="Click here to go to the newsletter sign up page"> 587 Sign Up</a> 588 </div> 589 </div> 590 </div> 591 </div> 592 </nav> 593 <div class="digisubs-wrapper-large" id="digisubs-wrapper-large"> 594 <ul id="dfm-digisubs-menu" class="menu"><li id="menu-item-855003" class="subscribe-visibility subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-855003"><a href="https://checkout.sentinelandenterprise.com/?&g2i_or_o=Internet&g2i_or_p=mg2nav&g2i_source=SB&g2i_medium=nav2&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.sentinelandenterprise.com%252F">Subscribe</a></li> 595<li id="menu-item-839856" class="log-in-button subscribe-special custom-button menu-item menu-item-type-custom menu-item-object-custom menu-item-839856"><a href="/login/">Login</a></li> 596</ul> </div> 597 </div> 598 <div class="search-icon-wrapper"><span class="icon-search" aria-label="Click here or hit enter to open a Search box" id="dfm-search-icon" role="button" tabindex=0 aria-expanded="false"></span></div><form class="search-form header-search" method="GET" id="search-bar" action="https://www.sentinelandenterprise.com/"> 599 600 <div class="input-wrapper"> 601 <span class="icon-search" aria-hidden="true"></span> 602 <input id="mng-search-focus" type="text" placeholder="Type your search" name="s" aria-label="Type your search"> 603 <input name="orderby" type="hidden" value="relevance"/> 604 <input name="order" type="hidden" value="desc"/> 605 <div class="search-button-container"> 606 <button class="search-button" type="submit"> 607 <span>Search</span> 608 </button> 609 </div> 610 </div> 611 612</form> 613 614 615 </div> 616 617 </div> 618 619 <div class="nav-primary-middle"> 620 621 <div class="accuweather-wrap"> 622 <div class="weather-date"> 623 <div class='dfm_accuweather_current_conditions'> 624 <a target="_blank" href="http://www.accuweather.com/en/us/fitchburg-ma/01420/current-weather/472_pc?lang=en-us&partner=mng_41" title="Current Weather Conditions" aria-label="Current temperature is 71°F, view full weather conditions in a new window"> 625 <span>71°F</span> 626 <i class="bi-clouds" role="img" aria-label="weather icon clouds"></i> 627 </a> 628 </div> <div class="date"> 629 Thursday, October 1st 2026 <a title="Link to E-Edition opens in a new window" target="_blank" href="https://enewspaper.sentinelandenterprise.com/"> 630 <p class="e-edition">E-Edition</p> </a> 631 </div> 632 </div>
633 </div> 634 <div class="hidden-logo"><div class="logo custom-logo"><a href="https://www.sentinelandenterprise.com" aria-label="Sentinel and Enterprise"><img src="https://www.sentinelandenterprise.com/wp-content/uploads/2022/04/SE1.png" alt="Sentinel and Enterprise"></a></div></div> 635 </div> 636 637 <div class="nav-primary-bottom"> 638 639 <div class="nav-primary"> 640 <ul id="subnav-log-in-menu" class="menu"><li id="menu-item-839152" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839152"><a href="https://www.sentinelandenterprise.com/news/">News</a></li> 641<li id="menu-item-839153" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839153"><a href="https://www.sentinelandenterprise.com/sports/">Sports</a></li> 642<li id="menu-item-839154" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839154"><a href="https://www.sentinelandenterprise.com/things-to-do/entertainment/">Entertainment</a></li> 643<li id="menu-item-839155" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839155"><a href="https://www.sentinelandenterprise.com/things-to-do/">Lifestyle</a></li> 644<li id="menu-item-952210" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-952210"><a href="https://www.sentinelandenterprise.com/obituaries/">Obituaries</a></li> 645<li id="menu-item-839157" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-839157"><a href="https://www.sentinelandenterprise.com/opinion/">Opinion</a></li> 646<li id="menu-item-1737731" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-1737731"><a href="https://www.sentinelandenterprise.com/best-reviews/">BestReviews</a></li> 647</ul> </div> 648 649 </div> 650 651 </div> 652 653 654 </div> 655 </header><div id="content" class="site-content"> 656 657 <div id="primary" class="content-area"><main id="main" class="site-main" role="main"> <article id="page-770921" class="post-770921 page type-page status-publish hentry"> 658 <div class="article-body"> 659 <div class="body-copy"> 660 661 <div style="text-align:center;">Redirecting ... </div> 662 663 </div> 664 </div> 665 </article><!-- #post-## --> 666 </main></div> 667 668 </div><!-- #content --> 669 670 <footer class="site-footer"> 671 672 <div class="main-footer-wrapper"> 673 674 <div class="footer-logo"> 675 676 <div class="logo custom-logo"><a href="https://www.sentinelandenterprise.com" aria-label="Sentinel and Enterprise"><img src="https://www.sentinelandenterprise.com/wp-content/uploads/2022/04/SE1.png" alt="Sentinel and Enterprise"></a></div> 677 </div> 678 679 <ul id="footer-menu" class="footer-menus"><li id="menu-item-847424" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-847424"><a href="https://checkout.sentinelandenterprise.com/?g2i_source=SB&g2i_medium=footer&g2i_campaign=nav&g2i_or_o=Internet&g2i_or_p=footer">Subscribe</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 680 681<ul class="footer-menu"> 682 <li id="menu-item-847425" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847425"><a href="https://enewspaper.sentinelandenterprise.com/">e-Edition</a></li> 683 <li id="menu-item-847426" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847426"><a href="https://myaccount.sentinelandenterprise.com/se/preference">Sign Up For Newsletters</a></li> 684 <li id="menu-item-847427" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847427"><a href="https://www.sentinelandenterprise.com/mobile-apps">Mobile Apps</a></li> 685</ul> 686</li> 687<li id="menu-item-847428" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-847428"><a href="https://www.sentinelandenterprise.com/contact-us">Contact Us</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 688 689<ul class="footer-menu"> 690 <li id="menu-item-1433989" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1433989"><a href="https://www.sentinelandenterprise.com/digital-subscription-frequently-asked-questions/">Digital Subscription FAQ</a></li> 691 <li id="menu-item-847429" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847429"><a href="https://mng-sen.smugmug.com/">Purchase Photos</a></li> 692 <li id="menu-item-847430" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847430"><a href="https://www.sentinelandenterprise.com/contest/">Contests</a></li> 693 <li id="menu-item-847431" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847431"><a href="https://myworkdaycenter.wd5.myworkdayjobs.com/MNG">Work for Us</a></li> 694 <li id="menu-item-847432" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847432"><a href="https://www.medianewsgroup.com/privacy-policy/">Privacy Policy</a></li> 695 <li id="menu-item-847433" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847433"><a href="https://www.medianewsgroup.com/accessibility-statement/">Accessibility</a></li> 696 <li id="menu-item-896552" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-896552"><a href="https://www.sentinelandenterprise.com/sitemap/">Sitemap</a></li> 697</ul> 698</li> 699<li id="menu-item-847434" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-847434"><a href="http://marketplace.newspaperclassifiedsma.com/">Classifieds</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 700 701<ul class="footer-menu"> 702 <li id="menu-item-847435" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847435"><a href="https://marketplace.newspaperclassifiedsma.com/">Public Notices</a></li> 703 <li id="menu-item-847436" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847436"><a href="https://marketplace.newspaperclassifiedsma.com/">Homes</a></li> 704 <li id="menu-item-847437" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847437"><a href="https://www.findjobsinne.com/">Jobs</a></li> 705</ul> 706</li> 707<li id="menu-item-847439" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-847439"><a href="https://www.medianewsgroup.com/advertise-with-us/">MNG Network Advertising</a><span class="expander"><a href="#" class="icon-plus" aria-label="Click here to expand the menu"></a></span> 708 709<ul class="footer-menu"> 710 <li id="menu-item-847440" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847440"><a href="https://businessdirectory.sentinelandenterprise.com/marketplace/todays_ads/">Today’s Print Ads</a></li> 711 <li id="menu-item-847441" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847441"><a href="https://www.sentinelandenterprise.com/special-sections/">Special Sections</a></li> 712 <li id="menu-item-847442" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-847442"><a href="https://www.adtaxi.com/our-approach/">Adtaxi Solutions</a></li> 713</ul> 714</li> 715<li class="mng-follow"><div class="footer-follow"></div> 716 <a href="https://checkout.sentinelandenterprise.com/?&g2i_or_o=Internet&g2i_or_p=mg2nav&g2i_source=SB&g2i_medium=side-nav&g2i_campaign=nav&returnUrl=https%253A%252F%252Fwww.sentinelandenterprise.com%252F" class="subscribe-button"> 717 <span>Subscribe Now</span> </a> 718 719 </li></ul> 720 </div> 721 722 <div class="dfm-site-info"> 723 724 <div class="colophon"> 725 726 <div class="footer-flex-menu-wrap"><ul id="footer-bottom-menu" class="menu"><li id="menu-item-214" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-214"><a href="https://www.medianewsgroup.com/terms-of-use/">Terms of Use</a></li> 727<li id="menu-item-215" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-215"><a href="https://www.medianewsgroup.com/cookie-policy/">Cookie Policy</a></li> 728<li id="menu-item-1123202" class="cookie-policy-click menu-item menu-item-type-custom menu-item-object-custom menu-item-1123202"><a href="#">Cookie Preferences</a></li> 729<li id="menu-item-877455" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-877455"><a href="https://www.medianewsgroup.com/privacy-policy/#911-notice-at-collection-the-personal-information-that-we-collect">California Notice at Collection</a></li> 730<li id="menu-item-877456" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-877456"><a href="https://www.medianewsgroup.com/privacy-policy/#916-notice-
730of-financial-incentive">Notice of Financial Incentive</a></li> 731<li id="menu-item-877457" class="cookie-policy-click menu-item menu-item-type-custom menu-item-object-custom menu-item-877457"><a href="#">Do Not Sell/Share My Personal Informatio</a></li> 732<li id="menu-item-216" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-216"><a href="https://www.medianewsgroup.com/arbitration">Arbitration</a></li> 733<li id="menu-item-217" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-217"><a href="https://www.medianewsgroup.com/">MediaNews Group</a></li> 734<li id="menu-item-218" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-218"><a href="https://vip.wordpress.com/">Powered by WordPress.com VIP</a></li> 735</ul><div class="footer-copyright-notice"><p>Copyright 2026 Sentinel and Enterprise. All rights reserved. The use of any content on this website for the purpose of training artificial intelligence systems, algorithms, machine learning models, text and data mining, or similar use is strictly prohibited without explicit written consent.</p></div> </div> 736 </div> 737 738 </div> 739 740 </footer><!-- .site-footer --> 741 742 </div><!-- #page --> 743 744
744<script> 745 (function(w) { 746 if ( null !== document.cookie.match(/^(.*;)?\s*auth0_sub\s*=\s*[^;]+(.*)?$/) ) { 747 w.PARSELY = { 748 autotrack: false, 749 onReady: function() { 750 PARSELY.updateDefaults({ 751 data: { 752 plan: "subscriber" 753 } 754 }); 755 PARSELY.beacon.trackPageView(); 756 } 757 }; 758 } 759 })(window); 760 </script>
760<div id="mobile-adhesion" class="closed"><button class="close-mobile-adhesion" onclick="closeMobileAdhesionAd()" onkeydown="keyboardHandler(event)">Close</button> 761
761<script> 762 function closeMobileAdhesionAd() { 763 document.getElementById("mobile-adhesion").classList.add("closed"); 764 } 765 766 function keyboardHandler(e) { 767 var keycode = ( e.keyCode ? e.keyCode : e.which ); 768 if (keycode == "13") { 769 closeMobileAdhesionAd(); 770 } 771 } 772 </script>
772 773 <div class="dfp-ad dfp-mobile_adhesion" id="div-gpt-ad-mobile_adhesion" style="visibility:hidden"> 774 <div class="htlad-mobile_adhesion" data-unit='sentinelandenterprise.com/login/mobile_adhesion' data-targeting=''></div> 775 </div></div>
775<script type='text/javascript'> 776/* <![CDATA[ */ 777if ( 'undefined' !== typeof _snaq ) { 778_snaq.push(['setAuthor', 'Bob Kirkemo']); 779_snaq.push(['setArticlePublishTime','2021-02-24T02:08:58-05:00']); 780_snaq.push(['setSection', 'Login']); 781} 782/* ]]> */ 783</script>
783 784<div id="mg2Widget-newsletter-container"></div>
784<script type="importmap" id="wp-importmap"> 785{"imports":{"react":"https://esm.sh/[email protected]","react/jsx-runtime":"https://esm.sh/[email protected]/jsx-runtime","react-dom":"https://esm.sh/[email protected]","react-dom/client":"https://esm.sh/[email protected]/client"}} 786</script>
vendor: 1 bytes, line 786
786
787<script type="module" src="https://www.sentinelandenterprise.com/wp-content/plugins/mng-islands/launcher-static/island-launcher.js" id="island-launcher-js-module"></script>
vendor: 1 bytes, line 787
787
788<script type="module" src="/var/www/wp-content/plugins/mng-digital-subscriber-widgets/static/assets/main-6vr_nK05.js?ver=1790890291" id="vite_js_assets_main-6vr_nK05.js-js-module"></script>
vendor: 1 bytes, line 788
788
789<script type="module" src="https://plugins.mngdigisubs.com/mng-auth.min.js?siteCode=SEProd_WP&autoInit=true&ver=6.9.9" id="mng_auth_cdn-js-module"></script>
789 790<link rel="modulepreload" href="https://esm.sh/[email protected]" id="react-js-modulepreload"> 791<link rel="modulepreload" href="https://esm.sh/[email protected]/jsx-runtime" id="react/jsx-runtime-js-modulepreload"> 792<link rel="modulepreload" href="https://esm.sh/[email protected]" id="react-dom-js-modulepreload"> 793<link rel="modulepreload" href="https://esm.sh/[email protected]/client" id="react-dom/client-js-modulepreload">
794<script src="https://www.sentinelandenterprise.com/var/www/wp-content/plugins/mng-htl/dist/js/mngHtlMods.min.js?ver=1790371222" id="__htl_mods-js"></script>
vendor: 1 bytes, line 794
794
795<script src="https://htlbid.com/v3/sentinelandenterprise.com/htlbid.js" id="__htl_script-js" data-wp-strategy="async"></script>
vendor: 1 bytes, line 795
795
796<script id="__htl_script-js-after"> 797 window.htlbid = window.htlbid || {}; 798 htlbid.cmd = htlbid.cmd || []; 799 htlbid.cmd.push( function() { 800 htlbid.layout( 'universal' ); 801 htlbid.setTargeting( "is_testing","no" ); 802 htlbid.setTargeting( "kv", ["login","page"] ); 803 htlbid.setTargeting( "page", "page" ); 804 htlbid.setTargeting( "content", [] ); 805 htlbid.setTargeting( "RPN", "139807710457" ); 806 htlbid.setTargeting( "rurl", "" ); 807 htlbid.setTargeting( "articleid", "" ); 808 window.htlbid.pubads().setPublisherProvidedId( "72ede373467a905587c9132e004c934251d52f4bdf65825a04381ced641a1728" ); 809 } ); 810//# sourceURL=__htl_script-js-after 811</script>
vendor: 1 bytes, line 811
811
812<script type="text/javascript" src="https://www.sentinelandenterprise.com/wp-content/themes/wp-mason/dist/js/osanoCustom.min.js?m=1790798714g" ></script>
812<script id="mng-dummy-flag-js-after"> 813 function checkDummyFlagAndShowBanner() { 814 if ( !window.mngfeatures || !window.mngfeatures.visor ) { 815 return; 816 } 817 var isEnabled = window.mngfeatures.visor.isEnabled( 'say-hello' ); 818 if ( isEnabled ) { 819 var banner = document.createElement( 'div' ); 820 banner.textContent = 'Hello, I\'m a dummy banner!'; 821 banner.style.cssText = 822 'position:fixed;bottom:0;left:0;right:0;padding:12px;text-align:center;' + 823 'background:#111;color:#fff;font-family:sans-serif;z-index:9999;'; 824 document.body.appendChild( banner ); 825 } 826 } 827 828 if ( window.mngfeatures && window.mngfeatures.visor ) { 829 checkDummyFlagAndShowBanner(); 830 } else { 831 window.addEventListener( 'mng-feature-flags-ready', checkDummyFlagAndShowBanner ); 832 } 833//# sourceURL=mng-dummy-flag-js-after 834</script>
vendor: 1 bytes, line 834
834
835<script type="text/javascript" src="https://www.sentinelandenterprise.com/_static/??/wp-content/plugins/photonfill/vendor/picturefill.min.js,/wp-content/plugins/photonfill/vendor/lazysizes.min.js?m=1790371222j" ></script>
835<script src="https://ak.sail-horizon.com/spm/spm.v1.min.js" id="mng-newsletters-sailthru-scout-js" data-wp-strategy="async"></script>
vendor: 1 bytes, line 835
835
836<script id="mng-newsletters-sailthru-scout-js-after"> 837Sailthru.init( {"customerId":"ca78a3a2ac950c3765168cd0547c8adb","autoTrackPageview":true,"useStoredTags":true,"excludeContent":false} ); 838//# sourceURL=mng-newsletters-sailthru-scout-js-after 839</script>
vendor: 1 bytes, line 839
839
840<script type="text/javascript" src="https://www.sentinelandenterprise.com/wp-includes/js/dist/hooks.min.js?m=1790088657g" ></script>
840<script src="https://www.sentinelandenterprise.com/wp-includes/js/dist/i18n.min.js?ver=c26c3dc7bed366793375" id="wp-i18n-js"></script>
vendor: 1 bytes, line 840
840
841<script id="wp-i18n-js-after"> 842wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 843wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 844//# sourceURL=wp-i18n-js-after 845</script>
vendor: 1 bytes, line 845
845
846<script id="wp-parsely-loader-js-before"> 847window.wpParselySiteId = 'sentinelandenterprise.com'; 848//# sourceURL=wp-parsely-loader-js-before 849</script>
vendor: 1 bytes, line 849
849
850<script src="https://www.sentinelandenterprise.com/wp-content/mu-plugins/wp-parsely-3.24/build/loader.js?ver=ecf94842061bea03d54b" id="wp-parsely-loader-js"></script>
vendor: 1 bytes, line 850
850
851<script data-parsely-site="sentinelandenterprise.com" src="https://cdn.parsely.com/keys/sentinelandenterprise.com/p.js?ver=3.24.1" id="parsely-cfg"></script>
vendor: 1 bytes, line 851
851
852<script src="https://www.sentinelandenterprise.com/wp-content/themes/wp-mason/dist/js/ads.min.js?ver=1.0" id="can-run-ads-js"></script>
vendor: 1 bytes, line 852
852
853<script type="text/javascript" src="https://www.sentinelandenterprise.com/_static/??-eJyVzkEOgkAMheELiQU2ysIYlpzAdWXKMDjtEFo13F40LlwYI9uXfHk/3MesTWIkBtYTkwKqkimooYUWBoUxxbkLMeqWg2wH3cAfiJOjSQgn6+cfblkYNQm4oPZ0MfnUsK/Npm9sjFcfRMF1nKHLlhf9oOjqV8daqaXcgqO0KjTIBc+RGkZPp+A82Zsf+VDsqnxf5WVVDA+GKIMH" ></script>
853<script id="digisubs-social-login-js-after"> 854(function () { 855 var logPrefix = '[digisubs-social-login]'; 856 var readyTimeoutMs = 10000; 857 var pendingFlag = 'mng-digisubs-regwall-social'; 858 var reloadedFlag = 'mng-digisubs-regwall-social-reloaded'; 859 var newsletterDoneFlag = 'mng-digisubs-regwall-nl-done'; 860 861 function isEmbedReady() { 862 return !!document.querySelector('#mng-modal'); 863 } 864 865 function getAuthReady() { 866 return (window.MNGAuth && window.MNGAuth.authenticationReady) 867 || (window.MNGAuthentication && window.MNGAuthentication.authenticationReady) 868 || null; 869 } 870 871 function decodeJwt(token) { 872 try { 873 var parts = token.split('.'); 874 if (parts.length < 2) { 875 return null; 876 } 877 var base64 = parts[1].replace(/-/g, '+').replace(/_/g, '/'); 878 while (base64.length % 4) { 879 base64 += '='; 880 } 881 return JSON.parse(atob(base64)); 882 } catch (e) { 883 return null; 884 } 885 } 886 887 function isAuthenticated() { 888 var ready = getAuthReady(); 889 if (ready && ready.isAuthenticated) { 890 return true; 891 } 892 return hasMngSessionIdToken(); 893 } 894 895 function getMngSession() { 896 try { 897 return JSON.parse(window.localStorage.getItem('__MNG_Session') || 'null'); 898 } catch (e) { 899 return null; 900 } 901 } 902 903 function hasMngSessionIdToken() { 904 var session = getMngSession(); 905 return !!(session && typeof session.idToken === 'string' && session.idToken.length > 20); 906 } 907 908 function waitForNativeSession() { 909 return new Promise(function (resolve) { 910 if (hasMngSessionIdToken()) { 911 resolve(true); 912 return; 913 } 914 var started = Date.now(); 915 var poll = window.setInterval(function () { 916 if (hasMngSessionIdToken()) { 917 window.clearInterval(poll); 918 console.info(logPrefix, 'native __MNG_Session is ready'); 919 resolve(true); 920 } else if (Date.now() - started > 15000) { 921 window.clearInterval(poll); 922 console.warn(logPrefix, 'timed out waiting for native __MNG_Session'); 923 resolve(false); 924 } 925 }, 100); 926 }); 927 } 928 929 function isEntitledSubscriber() { 930 var match = document.cookie.match(/(?:^|; )mng-entitlements=([^;]*)/); 931 if (!match) { 932 return false; 933 } 934 var payload = decodeJwt(decodeURIComponent(match[1])); 935 return !!(payload && payload.entitlement_entitled); 936 } 937 938 function getAuthEmail() { 939 var ready = getAuthReady(); 940 if (ready && ready.claims && ready.claims.email) { 941 return ready.claims.email; 942 } 943 if (ready && typeof ready.idToken === 'string') { 944 var claims = decodeJwt(ready.idToken); 945 if (claims && claims.email) { 946 return claims.email; 947 } 948 } 949 var session = getMngSession(); 950 if (session && session.email) { 951 return session.email; 952 } 953 if (session && session.idToken) { 954 var sessionClaims = decodeJwt(session.idToken); 955 if (sessionClaims && sessionClaims.email) { 956 return sessionClaims.email; 957 } 958 } 959 return ''; 960 } 961 962 function hideSocialLogin() { 963 document.querySelectorAll('.digisubs-social-login').forEach(function (el) { 964 el.classList.add('is-hidden'); 965 el.setAttribute('hidden', 'hidden'); 966 }); 967 } 968 969 function grantRegwallAccessCookies() { 970 var pathname = window.location.pathname; 971 document.cookie = 'entitled_via_newsletter=true; path=' + pathname + '; max-age=1800'; 972 document.cookie = 'sspw_has-nl-registration=true; path=/; max-age=604800'; 973 if (typeof demeter === 'function') { 974 demeter('userProperties', { args: { visitorType: 'registered' } }); 975 } 976 console.info(logPrefix, 'granted limited article access cookies'); 977 } 978 979 function waitForEngageSubscribe() { 980 return new Promise(function (resolve, reject) { 981 if (window.engageLibrary && typeof window.engageLibrary.sspwSuscribeToNewsletter === 'function') { 982 resolve(); 983 return; 984 } 985 var started = Date.now(); 986 var poll = window.setInterval(function () { 987 if (window.engageLibrary && typeof window.engageLibrary.sspwSuscribeToNewsletter === 'function') { 988 window.clearInterval(poll); 989 resolve(); 990 } else if (Date.now() - started > readyTimeoutMs) { 991 window.clearInterval(poll); 992 reject(new Error('engageLibrary.sspwSuscribeToNewsletter not available')); 993 } 994 }, 100); 995 }); 996 } 997 998 function subscribeRegwallNewsletter() { 999 var prefId = window.authentication_config && window.authentication_config.regwallPrefId; 1000 if (!prefId) { 1001 console.info(logPrefix, 'no regwallPrefId, skipping newsletter subscribe'); 1002 return Promise.resolve(false); 1003 } 1004 var email = getAuthEmail(); 1005 if (!email) { 1006 console.warn(logPrefix, 'no auth email, skipping newsletter subscribe'); 1007 return Promise.resolve(false); 1008 } 1009 return waitForEngageSubscribe().then(function () { 1010 console.info(logPrefix, 'subscribing', email, 'to prefId', prefId); 1011 return window.engageLibrary.sspwSuscribeToNewsletter(email, Number(prefId)); 1012 }); 1013 } 1014 1015 function waitForAuthEmail() { 1016 return new Promise(function (resolve) { 1017 var email = getAuthEmail(); 1018 if (email) { 1019 resolve(email); 1020 return; 1021 } 1022 var started = Date.now(); 1023 var poll = window.setInterval(function () { 1024 var nextEmail = getAuthEmail(); 1025 if (nextEmail) { 1026 window.clearInterval(poll); 1027 resolve(nextEmail); 1028 } else if (Date.now() - started > readyTimeoutMs) { 1029 window.clearInterval(poll); 1030 resolve(''); 1031 } 1032 }, 50); 1033 }); 1034 } 1035 1036 function urlWithoutWallOverride() { 1037 var url = new URL(window.location.href); 1038 if (!url.searchParams.has('wall_override')) { 1039 return ''; 1040 } 1041 url.searchParams.delete('wall_override'); 1042 return url.pathname + url.search + url.hash; 1043 } 1044 1045 function dropWallOverrideFromAddressBar() { 1046 var cleanPath = urlWithoutWallOverride(); 1047 if (!cleanPath) { 1048 return false;
1049 } 1050 window.history.replaceState({}, '', window.location.origin + cleanPath); 1051 console.info(logPrefix, 'removed wall_override from the URL before embed login reload'); 1052 return true; 1053 } 1054 1055 (function patchLocationReload() { 1056 try { 1057 var originalReload = window.location.reload.bind(window.location); 1058 window.location.reload = function () { 1059 if (sessionStorage.getItem(pendingFlag) === '1') { 1060 var cleanPath = urlWithoutWallOverride(); 1061 if (cleanPath) { 1062 console.info(logPrefix, 'embed login reload: dropping wall_override'); 1063 window.location.replace(window.location.origin + cleanPath); 1064 return; 1065 } 1066 } 1067 return originalReload(); 1068 }; 1069 } catch (e) {} 1070 })(); 1071 1072 var finishingSocialLogin = false; 1073 1074 function finishRegwallSocialLogin() { 1075 if (finishingSocialLogin) { 1076 return; 1077 } 1078 finishingSocialLogin = true; 1079 hideSocialLogin(); 1080 1081 waitForAuthEmail().then(function () { 1082 if (sessionStorage.getItem(newsletterDoneFlag) === '1') { 1083 return false; 1084 } 1085 return subscribeRegwallNewsletter().then(function (ok) { 1086 sessionStorage.setItem(newsletterDoneFlag, '1'); 1087 console.info(logPrefix, 'newsletter subscribe', ok ? 'succeeded' : 'skipped or failed'); 1088 return ok; 1089 }); 1090 }).catch(function (err) { 1091 console.error(logPrefix, 'newsletter subscribe error', err); 1092 }).then(function () { 1093 if (!isEntitledSubscriber()) { 1094 grantRegwallAccessCookies(); 1095 } 1096 return waitForNativeSession(); 1097 }).then(function (hasSession) { 1098 if (!hasSession) { 1099 console.warn(logPrefix, 'embed login did not persist __MNG_Session'); 1100 } 1101 dropWallOverrideFromAddressBar(); 1102 sessionStorage.removeItem(pendingFlag); 1103 sessionStorage.removeItem(reloadedFlag); 1104 sessionStorage.removeItem(newsletterDoneFlag); 1105 finishingSocialLogin = false; 1106 }); 1107 } 1108 1109 function onAuthenticated() { 1110 hideSocialLogin(); 1111 if (sessionStorage.getItem(pendingFlag) === '1') { 1112 dropWallOverrideFromAddressBar(); 1113 finishRegwallSocialLogin(); 1114 } 1115 } 1116 1117 function getAuthScriptEl() { 1118 return document.querySelector('script[src*="mng-auth"]'); 1119 } 1120 1121 function getAuthScriptSrc() { 1122 var el = getAuthScriptEl(); 1123 return el ? el.src : '(no mng-auth script tag)'; 1124 } 1125 1126 function authDiagnostics() { 1127 return [ 1128 'script=' + getAuthScriptSrc(), 1129 'MNGAuth=' + typeof window.MNGAuth, 1130 'module=' + typeof window.module, 1131 'exports=' + typeof window.exports, 1132 'define=' + typeof window.define, 1133 'define.amd=' + !!(window.define && window.define.amd) 1134 ].join(' '); 1135 } 1136 1137 function adoptMngAuth() { 1138 if (window.MNGAuth && (typeof window.MNGAuth.init === 'function' || typeof window.MNGAuth.showScreen === 'function')) { 1139 return window.MNGAuth; 1140 } 1141 var candidates = []; 1142 if (window.module && window.module.exports) { 1143 candidates.push(window.module.exports.MNGAuth || window.module.exports); 1144 } 1145 if (window.exports) { 1146 candidates.push(window.exports.MNGAuth || window.exports); 1147 } 1148 for (var i = 0; i < candidates.length; i++) { 1149 var candidate = candidates[i]; 1150 if (candidate && (typeof candidate.init === 'function' || typeof candidate.showScreen === 'function')) { 1151 window.MNGAuth = candidate; 1152 console.info(logPrefix, 'adopted MNGAuth from UMD export'); 1153 return candidate; 1154 } 1155 } 1156 return null; 1157 } 1158 1159 function waitForMngAuth() { 1160 if (window.__mngAuthReadyPromise) { 1161 return window.__mngAuthReadyPromise; 1162 } 1163 window.__mngAuthReadyPromise = new Promise(function (resolve, reject) { 1164 if (adoptMngAuth()) { 1165 resolve(); 1166 return; 1167 } 1168 1169 var settled = false; 1170 1171 function succeed() { 1172 if (settled) { 1173 return; 1174 } 1175 settled = true; 1176 resolve(); 1177 } 1178 1179 function fail(message) { 1180 if (settled) { 1181 return; 1182 } 1183 settled = true; 1184 window.__mngAuthReadyPromise = null; 1185 reject(new Error(message + ' ' + authDiagnostics())); 1186 } 1187 1188 function shadowUmdGlobals() { 1189 var saved = { 1190 module: window.module, 1191 exports: window.exports, 1192 define: window.define 1193 };
1194 try { 1195 delete window.module; 1196 delete window.exports; 1197 delete window.define; 1198 } catch (e) { 1199 window.module = undefined; 1200 window.exports = undefined; 1201 window.define = undefined; 1202 } 1203 return saved; 1204 } 1205 1206 function restoreUmdGlobals(saved) { 1207 try { 1208 if (typeof saved.module !== 'undefined') { 1209 window.module = saved.module; 1210 } 1211 if (typeof saved.exports !== 'undefined') { 1212 window.exports = saved.exports; 1213 } 1214 if (typeof saved.define !== 'undefined') { 1215 window.define = saved.define; 1216 } 1217 } catch (e) {} 1218 } 1219 1220 function loadIsolatedCopy() { 1221 var src = getAuthScriptSrc(); 1222 if (src === '(no mng-auth script tag)') { 1223 fail('mng-auth.js is not on the page'); 1224 return; 1225 } 1226 console.info(logPrefix, 'reloading mng-auth.js without UMD globals'); 1227 var saved = shadowUmdGlobals(); 1228 var script = document.createElement('script'); 1229 script.src = src; 1230 script.onload = function () { 1231 restoreUmdGlobals(saved); 1232 if (adoptMngAuth()) { 1233 succeed(); 1234 return; 1235 } 1236 fail('CDN loaded but did not expose window.MNGAuth'); 1237 }; 1238 script.onerror = function () { 1239 restoreUmdGlobals(saved); 1240 fail('mng-auth.js failed to load'); 1241 }; 1242 document.head.appendChild(script); 1243 } 1244 1245 var existing = getAuthScriptEl(); 1246 if (existing && document.readyState === 'loading') { 1247 existing.addEventListener('load', function () { 1248 if (adoptMngAuth()) { 1249 succeed(); 1250 return; 1251 } 1252 loadIsolatedCopy(); 1253 }); 1254 existing.addEventListener('error', function () { 1255 fail('existing mng-auth.js tag failed to load'); 1256 }); 1257 return; 1258 } 1259 1260 loadIsolatedCopy(); 1261 }); 1262 return window.__mngAuthReadyPromise; 1263 } 1264 1265 function waitForEmbedReady() { 1266 return new Promise(function (resolve, reject) { 1267 if (isEmbedReady()) { 1268 resolve(); 1269 return; 1270 } 1271 1272 var settled = false; 1273 var poll; 1274 1275 function cleanup() { 1276 window.clearInterval(poll); 1277 document.removeEventListener('mng.auth.onFinished', onFinished); 1278 } 1279 1280 function succeed() { 1281 if (settled) { 1282 return; 1283 } 1284 settled = true; 1285 cleanup(); 1286 resolve(); 1287 } 1288 1289 function fail(message) { 1290 if (settled) { 1291 return; 1292 } 1293 settled = true; 1294 cleanup(); 1295 reject(new Error(message)); 1296 } 1297 1298 function onFinished() { 1299 if (isEmbedReady()) { 1300 succeed(); 1301 return; 1302 } 1303 fail('mng-auth reported onFinished but #mng-modal was not created. script=' + getAuthScriptSrc()); 1304 } 1305 1306 document.addEventListener('mng.auth.onFinished', onFinished); 1307 poll = window.setInterval(function () { 1308 if (isEmbedReady()) { 1309 succeed(); 1310 } 1311 }, 100); 1312 window.setTimeout(function () { 1313 fail('timed out waiting for #mng-modal. script=' + getAuthScriptSrc()); 1314 }, readyTimeoutMs); 1315 }); 1316 } 1317 1318 function openEmbedLogin(button) { 1319 var connection = button.getAttribute('data-mng-auth-social-action'); 1320 console.info(logPrefix, 'click', button.getAttribute('data-mng-cta'), '- waiting for embed login', connection, getAuthScriptSrc()); 1321 return waitForMngAuth().then(function () { 1322 if (isEmbedReady()) { 1323 button.__mngSocialForward = true; 1324 button.click(); 1325 button.__mngSocialForward = false; 1326 console.info(logPrefix, 'forwarded social click to embed login', connection); 1327 return; 1328 } 1329 return waitForEmbedReady().then(function () { 1330 button.__mngSocialForward = true; 1331 button.click(); 1332 button.__mngSocialForward = false; 1333 console.info(logPrefix, 'forwarded social click to embed login', connection); 1334 }); 1335 }).catch(function (err) { 1336 console.error(logPrefix, 'failed to open embed login', err); 1337 }); 1338 } 1339 1340 document.addEventListener('click', function (event) { 1341 var button = event.target.closest('.digisubs-social-login__button'); 1342 if (!button || button.__mngSocialForward) { 1343 return; 1344 } 1345 sessionStorage.setItem(pendingFlag, '1'); 1346 if (isEmbedReady() && window.MNGAuth) { 1347 console.info(logPrefix, 'click', button.getAttribute('data-mng-cta'), '- letting embed login handle', button.getAttribute('data-mng-auth-social-action')); 1348 return; 1349 } 1350 event.preventDefault(); 1351 event.stopPropagation(); 1352 openEmbedLogin(button); 1353 }); 1354 1355 ['authenticationReady', 'mng-auth-check-complete', 'entitlementsReady'].forEach(function (name) { 1356 window.addEventListener(name, function () { 1357 if (isAuthenticated()) { 1358 onAuthenticated(); 1359 } 1360 }, true); 1361 }); 1362 ['mng.auth.onReady', 'mng.auth.onLogin', 'mng.auth.onAuthDetermined', 'mng.auth.onEntitlementsDetermined'].forEach(function (name) { 1363 document.addEventListener(name, function () { 1364 if (isAuthenticated()) { 1365 onAuthenticated(); 1366 } 1367 }, true); 1368 }); 1369 1370 if (window.authentication_config && window.authentication_config.debug === '1') { 1371 console.info(logPrefix, 'bridge ready', typeof window.MNGAuth, getAuthScriptSrc()); 1372 } 1373 1374 if (isAuthenticated()) { 1375 onAuthenticated(); 1376 } 1377})(); 1378//# sourceURL=digisubs-social-login-js-after 1379</script>
vendor: 1 bytes, line 1379
1379
1380<script id="mng-cache-control-js-before"> 1381window.cache_control_adminbar_support = {"rootUrl":"https:\/\/www.sentinelandenterprise.com\/wp-admin\/admin-ajax.php","rootAction":"cache_control_adminbar_action","nonce":"904eaef9a8","isSectionFront":true,"isHomepage":false} 1382//# sourceURL=mng-cache-control-js-before 1383</script>
vendor: 1 bytes, line 1383
1383
1384<script src="https://www.sentinelandenterprise.com/wp-content/plugins/mng-cache-control/Src/assets/dist/mng-cache-control-adminbar.js?ver=0.2.1" id="mng-cache-control-js"></script>
vendor: 1 bytes, line 1384
1384
1385<script id="jetpack-stats-js-before"> 1386_stq = window._stq || []; 1387_stq.push([ "view", {"v":"ext","blog":"156564369","post":"770921","tz":"-4","srv":"www.sentinelandenterprise.com","hp":"vip","j":"1:16.1.3"} ]); 1388_stq.push([ "clickTrackerInit", "156564369", "770921" ]); 1389//# sourceURL=jetpack-stats-js-before 1390</script>
vendor: 1 bytes, line 1390
1390
1391<script src="https://stats.wp.com/e-202640.js" id="jetpack-stats-js" defer data-wp-strategy="defer" fetchpriority="low"></script>
vendor: 1 bytes, line 1391
1391
1392<script async src="https://cdn.p-n.io/pushly-sdk.min.js?domain_key=36lGkzP045YAnMC14hCvoAmOGCcNFA5yDCwe&ver=6.9.9" id="pushly-sdk-js"></script>
vendor: 1 bytes, line 1392
1392
1393<script id="wp-emoji-settings" type="application/json"> 1394{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.sentinelandenterprise.com/wp-includes/js/wp-emoji-release.min.js?ver=6.9.9"}} 1395</script>
vendor: 1 bytes, line 1395
1395
1396<script type="module"> 1397/*! This file is auto-generated */ 1398var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!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!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));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(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 1399//# sourceURL=https://www.sentinelandenterprise.com/wp-includes/js/wp-emoji-loader.min.js 1400</script>
1400 1401 1402 </body> 1403 </html> 1404
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.