1<!doctype html> 2<html lang="en" class="view-grid"> 3 4<head> 5 <meta charset="utf-8">
6<script> 7var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),document.addEventListener("gform/theme/scripts_loaded",function(){gform.themeScriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,themeScriptsLoaded:!1,isFormEditor:()=>"function"==typeof InitializeEditor,callIfLoaded:function(o){return!(!gform.domLoaded||!gform.scriptsLoaded||!gform.themeScriptsLoaded&&!gform.isFormEditor()||(gform.isFormEditor()&&console.warn("The use of gform.initializeOnLoaded() is deprecated in the form editor context and will be removed in Gravity Forms 3.1."),o(),0))},initializeOnLoaded:function(o){gform.callIfLoaded(o)||(document.addEventListener("gform_main_scripts_loaded",()=>{gform.scriptsLoaded=!0,gform.callIfLoaded(o)}),document.addEventListener("gform/theme/scripts_loaded",()=>{gform.themeScriptsLoaded=!0,gform.callIfLoaded(o)}),window.addEventListener("DOMContentLoaded",()=>{gform.domLoaded=!0,gform.callIfLoaded(o)}))},hooks:{action:{},filter:{}},addAction:function(o,r,e,t){gform.addHook("action",o,r,e,t)},addFilter:function(o,r,e,t){gform.addHook("filter",o,r,e,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,r){gform.removeHook("action",o,r)},removeFilter:function(o,r,e){gform.removeHook("filter",o,r,e)},addHook:function(o,r,e,t,n){null==gform.hooks[o][r]&&(gform.hooks[o][r]=[]);var d=gform.hooks[o][r];null==n&&(n=r+"_"+d.length),gform.hooks[o][r].push({tag:n,callable:e,priority:t=null==t?10:t})},doHook:function(r,o,e){var t;if(e=Array.prototype.slice.call(e,1),null!=gform.hooks[r][o]&&((o=gform.hooks[r][o]).sort(function(o,r){return o.priority-r.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==r?t.apply(null,e):e[0]=t.apply(null,e)})),"filter"==r)return e[0]},removeHook:function(o,r,t,n){var e;null!=gform.hooks[o][r]&&(e=(e=gform.hooks[o][r]).filter(function(o,r,e){return!!(null!=n&&n!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][r]=e)}}); 8</script>
8 9 10 <meta name="viewport" content="width=device-width, initial-scale=1"> 11 <title>Contact us - Ars Technica</title> 12<link rel="preconnect" href="https://c.arstechnica.com">
13<script> 14 window.snowplowQueue = window.snowplowQueue || []; 15 window.arsSP = { 16 entities: {"site":{"org_id":"4gKgcFGUFUvCGFzHakTPfYp85Yi8","site_env":"production","site_app_version":"multi-tenant","site_data_source":"web","site_section":"infopage"},"page":[],"content":{"content_id":"b5351ac0a35142cedd4f8813","content_type":"infopage","editor_name":"Ken Fisher","author_name":"Ars Staff","date_display":"2026-09-24T05:55:12.527Z","content_source":"web","content_title":"Contact us","date_publish":"2012-04-05T20:40:53.000Z","date_last_modified":"2024-10-02T09:49:53.000Z","onsite_keywords":"infopage","content_template":"standard","content_template_type":"mt_infopage"}}, 17 config: {"SNOWPLOW_COLLECTOR":"c.arstechnica.com","AVO_API_KEY":"FTJO6mVPBIzdGhjn2Ruy","APP_ID":"ars-technica","APP_NAME":"ars-technica","APP_ENV":"production","APP_VERSION":"1.0.0","COOKIE_DOMAIN":".arstechnica.com"} 18 }; 19</script>
19<script> 20 (function () { 21 var ChannelWildcard = { 22 ALL: '*', 23 }; 24 25 function KendraEvent(historyLimit) { 26 this.listeners = new Map(); 27 this.eventHistory = []; 28 this.historyLimit = historyLimit || 10; 29 } 30 31 KendraEvent.prototype.broadcast = function (channel, value, options) { 32 var opts = options || {}; 33 var timestamp = Date.now(); 34 35 if (opts.once) { 36 if (channel === ChannelWildcard.ALL) { 37 console.warn("'once: true' is not supported with ChannelWildcard.ALL"); 38 return; 39 } 40 41 var hasBroadcasted = this.eventHistory.some(function (entry) { 42 return entry.channel === channel; 43 }); 44 45 if (hasBroadcasted) { 46 return; 47 } 48 } 49 50 var entry = { 51 timestamp: timestamp, 52 value: value, 53 channel: channel, 54 }; 55 56 this.eventHistory.push(entry); 57 58 if (this.eventHistory.length > this.historyLimit) { 59 this.eventHistory.shift(); 60 } 61 62 if (channel === ChannelWildcard.ALL) { 63 this.listeners.forEach(function (listeners) { 64 listeners.forEach(function (listener) { 65 listener(value); 66 }); 67 }); 68 return; 69 } 70 71 var listeners = this.listeners.get(channel); 72 if (listeners) { 73 listeners.forEach(function (listener) { 74 listener(value); 75 }); 76 } 77 }; 78 79 KendraEvent.prototype.on = function (channel, listener, options) { 80 var opts = options || {}; 81 var channels = Array.isArray(channel) ? channel : [channel]; 82 var event = this; 83 84 channels.forEach(function (registeredChannel) { 85 if (!event.listeners.has(registeredChannel)) { 86 event.listeners.set(registeredChannel, new Set()); 87 } 88 89 event.listeners.get(registeredChannel).add(listener); 90 91 if (opts.emitLast && registeredChannel !== ChannelWildcard.ALL) { 92 var lastValue = event.get(registeredChannel); 93 if (lastValue !== undefined) { 94 listener(lastValue); 95 } 96 } 97 }); 98 99 return { 100 off: function () { 101 channels.forEach(function (registeredChannel) { 102 var listeners = event.listeners.get(registeredChannel); 103 if (listeners) { 104 listeners.delete(listener); 105 } 106 }); 107 }, 108 }; 109 }; 110 111 KendraEvent.prototype.off = function (channel, listener) { 112 var event = this; 113 var channels = Array.isArray(channel) ? channel : [channel]; 114 115 channels.forEach(function (registeredChannel) { 116 var listeners = event.listeners.get(registeredChannel); 117 if (listeners) { 118 listeners.delete(listener); 119 } 120 }); 121 }; 122 123 KendraEvent.prototype.history = function () { 124 return this.eventHistory.slice().sort(function (a, b) { 125 return b.timestamp - a.timestamp; 126 }); 127 }; 128 129 KendraEvent.prototype.get = function (channel) { 130 var history; 131 132 if (channel) { 133 history = this.eventHistory.slice().reverse(); 134 for (var i = 0; i < history.length; i++) { 135 if (history[i].channel === channel) { 136 return history[i].value; 137 } 138 } 139 return undefined; 140 } 141 142 var lastEntry = this.eventHistory[this.eventHistory.length - 1]; 143 return lastEntry && lastEntry.value; 144 }; 145 146 function KendraOrchestrator() { 147 this.registry = {}; 148 } 149 150 KendraOrchestrator.prototype.register = function (key, event) { 151 if (this.registry[key]) { 152 return; 153 } 154 155 this.registry[key] = event; 156 157 if (!Object.prototype.hasOwnProperty.call(this, key)) { 158 Object.defineProperty(this, key, { 159 get: function () { 160 return this.registry[key]; 161 }, 162 enumerable: true, 163 configurable: false, 164 }); 165 } 166 }; 167 168 KendraOrchestrator.prototype.get = function (key) { 169 var event = this.registry[key]; 170 171 if (!event) { 172 throw new Error('Event with key ' + key + ' is not registered.'); 173 } 174 175 return event; 176 }; 177 178 KendraOrchestrator.prototype.delete = function (key) { 179 delete this.registry[key]; 180 delete this[key]; 181 }; 182 183 var kendra = 184 window.Kendra && typeof window.Kendra.register === 'function' 185 ? window.Kendra 186 : new KendraOrchestrator(); 187 188 window.Kendra = kendra; 189 190 if (!kendra.ADS) { 191 kendra.register('ADS', new KendraEvent(50)); 192 } 193 194 if (!kendra.USER_CONTEXT) { 195 kendra.register('USER_CONTEXT', new KendraEvent(5)); 196 } 197 198 window.arsTracking = window.arsTracking || {}; 199 window.arsTracking.initKendra = function () { 200 return window.Kendra; 201 }; 202 window.arsTracking.publishUserContextUpdate = 203 window.arsTracking.publishUserContextUpdate || 204 function (value) { 205 var payload = value || {}; 206 207 window.Kendra.USER_CONTEXT.broadcast('UPDATED', payload); 208 209 if (window.cnBus && typeof window.cnBus.emit === 'function') { 210 window.cnBus.emit('user.context.updated', payload); 211 } 212 }; 213 })(); 214</script>
214 215 216<!-- The SEO Framework by Sybre Waaijer --> 217<meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> 218<link rel="canonical" href="https://arstechnica.com/contact-us/" /> 219<meta property="og:type" content="website" /> 220<meta property="og:locale" content="en_US" /> 221<meta property="og:site_name" content="Ars Technica" /> 222<meta property="og:title" content="Contact us" /> 223<meta property="og:url" content="https://arstechnica.com/contact-us/" /> 224<meta property="og:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" /> 225<meta property="og:image:width" content="512" /> 226<meta property="og:image:height" content="512" /> 227<meta name="twitter:card" content="summary_large_image" /> 228<meta name="twitter:title" content="Contact us" /> 229<meta name="twitter:image" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png" />
230<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://arstechnica.com/#/schema/WebSite","url":"https://arstechnica.com/","name":"Ars Technica","description":"Serving the Technologist since 1998. News, reviews, and analysis.","inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://arstechnica.com/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@type":"Organization","@id":"https://arstechnica.com/#/schema/Organization","name":"Ars Technica","url":"https://arstechnica.com/","logo":{"@type":"ImageObject","url":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","contentUrl":"https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480.png","width":512,"height":512,"contentSize":"34417"}}},{"@type":"WebPage","@id":"https://arstechnica.com/contact-us/","url":"https://arstechnica.com/contact-us/","name":"Contact us - Ars Technica","inLanguage":"en-US","isPartOf":{"@id":"https://arstechnica.com/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://arstechnica.com/#/schema/BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":"https://arstechnica.com/","name":"Ars Technica"},{"@type":"ListItem","position":2,"name":"Contact us"}]},"potentialAction":{"@type":"ReadAction","target":"https://arstechnica.com/contact-us/"}}]}</script>
vendor: 1 bytes, line 230
230
231<script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://arstechnica.com/contact-us/"},"headline":"Contact us","datePublished":"2012-04-05T20:40:53+00:00","dateModified":"2024-10-02T09:49:53+00:00","author":{"@type":"Person","name":"Lee Aylward","url":"https://arstechnica.com/author/lee-aylward/"},"publisher":{"@type":"Organization","name":"Ars Technica","logo":{"@type":"ImageObject","url":"https://cdn.arstechnica.net/wp-content/uploads/2024/10/ars-logo-186x60.png","width":186,"height":60}}}</script>
231 232<!-- / The SEO Framework by Sybre Waaijer | 4.65ms meta | 0.12ms boot --> 233
234<script id="fides-js-loader"> 235 (function() { 236 var fidesHost = 237 "https://privacy.condenastdigital.com/fides.js"; 238 var fidesPropertyId = "FDS-MIKT8M"; 239 var fidesSrc = fidesHost + "?property_id=" + fidesPropertyId + "&"; 240 var searchParams = new URLSearchParams(location.search); 241 var debugRegion = (searchParams.get("ars_debug_region") || "").toLowerCase(); 242 var debugConsentMode = (searchParams.get("ars_debug_consent") || "").toLowerCase(); 243 var isLocalDebugHost = 244 location.hostname === "localhost" || 245 location.hostname === "127.0.0.1" || 246 location.hostname.indexOf("local.") === 0 || 247 location.hostname.indexOf(".local.") !== -1; 248 249 var gtmOptions = { 250 flag_type: "boolean", 251 non_applicable_flag_mode: "include", 252 }; 253 254 function buildDebugConsent(mode) { 255 if (mode === "accept" || mode === "all") { 256 return { 257 essential: true, 258 analytics: true, 259 functional: true, 260 sales_sharing_targeted_advertising: true, 261 social_media: true, 262 audience_measurement: true, 263 }; 264 } 265 266 return { 267 essential: true, 268 analytics: false, 269 functional: false, 270 sales_sharing_targeted_advertising: false, 271 social_media: false, 272 audience_measurement: false, 273 }; 274 } 275 276 function pushDebugFidesEvent(name, consent) { 277 window.dataLayer = window.dataLayer || []; 278 window.dataLayer.push({ 279 event: name, 280 Fides: { 281 consent: consent, 282 timestamp: Math.round(performance.now()), 283 extraDetails: { 284 consentMethod: "ars_debug_region", 285 servingComponent: "banner", 286 }, 287 }, 288 }); 289 } 290 291 function initDebugFides(region, consentMode) { 292 var body = window.document.body; 293 var initialConsentMode = consentMode || (region === "eu" ? "reject" : "accept"); 294 var initialConsent = buildDebugConsent(initialConsentMode); 295 296 window.Fides = { 297 consent: initialConsent, 298 initialized: false, 299 experience: { 300 experience_config: { 301 id: "ars-debug-region-" + region, 302 }, 303 }, 304 gtm: function(options) { 305 window.__arsDebugFidesGtmOptions = options; 306 }, 307 }; 308 309 window.arsDebugFides = { 310 region: region, 311 getConsent: function() { 312 return window.Fides.consent; 313 }, 314 setConsent: function(nextMode) { 315 var nextConsent = buildDebugConsent((nextMode || "").toLowerCase()); 316 window.Fides.consent = nextConsent; 317 pushDebugFidesEvent("FidesUpdated", nextConsent); 318 window.dispatchEvent(new Event("FidesUpdated")); 319 return nextConsent; 320 }, 321 showBanner: function() { 322 pushDebugFidesEvent("FidesUIShown", window.Fides.consent); 323 window.dispatchEvent(new Event("FidesUIShown")); 324 }, 325 }; 326 327 if (body) { 328 body.classList.add("ars-debug-region-" + region); 329 body.dataset.arsDebugRegion = region; 330 } 331 332 window.dispatchEvent(new Event("FidesInitializing")); 333 window.Fides.initialized = true; 334 window.dispatchEvent(new Event("FidesInitialized")); 335 336 if (region === "eu") { 337 window.arsDebugFides.showBanner(); 338 } 339 340 pushDebugFidesEvent("FidesUpdated", initialConsent); 341 window.dispatchEvent(new Event("FidesUpdated")); 342 } 343 344 function insertFidesScript() { 345 addEventListener("FidesInitializing", function() { 346 window.Fides.gtm(gtmOptions); 347 }); 348 addEventListener("FidesInitialized", function() { 349 try { 350 var experience = window.Fides.experience || {}; 351 var config = experience.experience_config || {}; 352 var id = config.id; 353 if (id) { 354 window.document.body.classList.add(id); 355 } 356 } catch (err) { 357 console.warn("Couldn't apply Fides experience ID to body.", err); 358 } 359 }); 360 361 if (isLocalDebugHost && (debugRegion === "eu" || debugRegion === "us")) { 362 initDebugFides(debugRegion, debugConsentMode); 363 return; 364 } 365 366 var fidesPrefix = "fides_"; 367 var fidesSearchParams = new URLSearchParams();
368 searchParams.forEach(function(key, value) { 369 if (key.startsWith(fidesPrefix)) { 370 fidesSearchParams.set( 371 key.replace(fidesPrefix, ""), 372 key === fidesPrefix + "cache_bust" ? Date.now().toString() : value 373 ); 374 } 375 }); 376 var src = fidesSrc + fidesSearchParams.toString(); 377 var script = document.createElement("script"); 378 script.async = false; 379 script.defer = false; 380 script.setAttribute("src", src); 381 script.setAttribute("id", "fides-js"); 382 script.setAttribute("type", "text/javascript"); 383 document.head.appendChild(script); 384 } 385 386 insertFidesScript(); 387 })(); 388</script>
388 389<!-- Google Tag Manager DataLayer -->
390<script> 391 window.dataLayer = window.dataLayer || []; 392 window.dataLayer.push({"event":"data-layer-loaded","user":{"ars_userId":undefined,"amg_userId":undefined,"uID":undefined,"sID":undefined,"loginStatus":false,"subscriberStatus":"none","infinityId":undefined,"registrationSource":undefined,"mdw_cnd_id":undefined,"monthlyVisits":undefined,"accessPaywall":undefined,"view":"grid","theme":"system","show_comments":undefined},"content":{"pageTemplate":"page","pageType":"page","contentCategory":undefined,"section":undefined,"subsection":undefined,"contributor":undefined,"contentID":undefined,"contentLength":undefined,"display":"Contact us","contentSource":"web","pageAssets":undefined,"uniqueContentCount":undefined,"monthlyContentCount":undefined,"publishDate":"2012-04-05T20:40:53-04:00","modifiedDate":"2024-10-02T09:49:53-04:00","keywords":undefined,"dataSource":undefined},"marketing":{"campaignName":undefined,"circCampaignId":undefined,"internalCampaignId":undefined,"brand":"Ars Technica","certified_mrc_data":undefined,"condeNastId":undefined},"page":{"pID":undefined,"syndicatorUrl":undefined,"pageURL":"https:\/\/arstechnica.com\/?p=21729","canonical":"https:\/\/arstechnica.com\/contact-us\/","canonicalPathName":"\/contact-us\/"},"search":{"facets":undefined,"searchTerms":undefined},"site":{"appVersion":"1.0.0"}}); 393</script>
393 394<!-- End Google Tag Manager DataLayer --> 395<!-- Google Tag Manager -->
396<script>
vendor: 498 bytes, lines 396-410
396 397 (function(w, d, s, l, i) { 398 w[l] = w[l] || []; 399 w[l].push({ 400 'gtm.start': new Date().getTime(), 401 event: 'gtm.js' 402 }); 403 var f = d.getElementsByTagName(s)[0], 404 j = d.createElement(s), 405 dl = l != 'dataLayer' ? '&l=' + l : ''; 406 j.async = true; 407 j.src = 408 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 409 f.parentNode.insertBefore(j, f); 410 })(window, document, 'script', 'dataLayer', '
410GTM-NLXNPCQ
vendor: 4 bytes, line 410
410');
411</script>
411 412<!-- End Google Tag Manager --> 413<style id="wp-img-auto-sizes-contain-inline-css"> 414img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 415/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 416</style> 417 418<style id="global-styles-inline-css"> 419:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
419--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
419.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 420/*# sourceURL=global-styles-inline-css */ 421</style> 422 423<link rel='stylesheet' id='ep_general_styles-css' href='https://cdn.arstechnica.net/wp-content/mu-plugins/_composer_elasticpress/dist/css/general-styles.css?ver=66295efe92a630617c00' media='all' /> 424<link rel='stylesheet' id='searchterm-highlighting-css' href='https://cdn.arstechnica.net/wp-content/mu-plugins/_composer_elasticpress/dist/css/highlighting-styles.css?ver=252562c4ed9241547293' media='all' /> 425<link rel='stylesheet' id='gform_basic-css' href='https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/css/dist/basic.min.css?ver=3.1.1.2' media='all' /> 426<link rel='stylesheet' id='gform_theme_components-css' href='https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/css/dist/theme-components.min.css?ver=3.1.1.2' media='all' /> 427<link rel='stylesheet' id='gform_theme-css' href='https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/css/dist/theme.min.css?ver=3.1.1.2' media='all' /> 428<link rel='stylesheet' id='app/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/app.111084.css' media='all' /> 429<link rel='stylesheet' id='ads/0-css' href='https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/css/ads.01e938.css' media='all' />
430<script id="jquery-core-js" src="https://cdn.arstechnica.net/wp/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 430
430
431<script data-wp-strategy="defer" defer id="aws-waf-challenge-js" src="https://8eb60cfff851.us-east-2.sdk.awswaf.com/8eb60cfff851/3d5d6f3ad3d5/challenge.js"></script>
vendor: 1 bytes, line 431
431
432<script id="gform_json-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/js/jquery.json.min.js?ver=3.1.1.2"></script>
vendor: 1 bytes, line 432
432
433<script id="gform_gravityforms-js-extra"> 434var gf_global = {"gf_currency_config":{"name":"U.S. Dollar","symbol_left":"$","symbol_right":"","symbol_padding":"","thousand_separator":",","decimal_separator":".","decimals":2,"code":"USD"},"base_url":"https://arstechnica.com/wp-content/plugins/gravityforms","number_formats":[],"version_hash":"6210b2b513a714c67bd56912579c70eb","countries":{"AF":"Afghanistan","AX":"\u00c5land Islands","AL":"Albania","DZ":"Algeria","AS":"American Samoa","AD":"Andorra","AO":"Angola","AI":"Anguilla","AQ":"Antarctica","AG":"Antigua and Barbuda","AR":"Argentina","AM":"Armenia","AW":"Aruba","AU":"Australia","AT":"Austria","AZ":"Azerbaijan","BS":"Bahamas","BH":"Bahrain","BD":"Bangladesh","BB":"Barbados","BY":"Belarus","BE":"Belgium","BZ":"Belize","BJ":"Benin","BM":"Bermuda","BT":"Bhutan","BO":"Bolivia","BQ":"Bonaire, Sint Eustatius and Saba","BA":"Bosnia and Herzegovina","BW":"Botswana","BV":"Bouvet Island","BR":"Brazil","IO":"British Indian Ocean Territory","BN":"Brunei Darussalam","BG":"Bulgaria","BF":"Burkina Faso","BI":"Burundi","CV":"Cabo Verde","KH":"Cambodia","CM":"Cameroon","CA":"Canada","KY":"Cayman Islands","CF":"Central African Republic","TD":"Chad","CL":"Chile","CN":"China","CX":"Christmas Island","CC":"Cocos Islands","CO":"Colombia","KM":"Comoros","CD":"Congo, Democratic Republic of the","CG":"Congo","CK":"Cook Islands","CR":"Costa Rica","CI":"C\u00f4te d'Ivoire","HR":"Croatia","CU":"Cuba","CW":"Cura\u00e7ao","CY":"Cyprus","CZ":"Czechia","DK":"Denmark","DJ":"Djibouti","DM":"Dominica","DO":"Dominican Republic","EC":"Ecuador","EG":"Egypt","SV":"El Salvador","GQ":"Equatorial Guinea","ER":"Eritrea","EE":"Estonia","SZ":"Eswatini","ET":"Ethiopia","FK":"Falkland Islands","FO":"Faroe Islands","FJ":"Fiji","FI":"Finland","FR":"France","GF":"French Guiana","PF":"French Polynesia","TF":"French Southern Territories","GA":"Gabon","GM":"Gambia","GE":"Georgia","DE":"Germany","GH":"Ghana","GI":"Gibraltar","GR":"Greece","GL":"Greenland","GD":"Grenada","GP":"Guadeloupe","GU":"Guam","GT":"Guatemala","GG":"Guernsey","GN":"Guinea","GW":"Guinea-Bissau","GY":"Guyana","HT":"Haiti","HM":"Heard Island and McDonald Islands","VA":"Holy See","HN":"Honduras","HK":"Hong Kong","HU":"Hungary","IS":"Iceland","IN":"India","ID":"Indonesia","IR":"Iran","IQ":"Iraq","IE":"Ireland","IM":"Isle of Man","IL":"Israel","IT":"Italy","JM":"Jamaica","JP":"Japan","JE":"Jersey","JO":"Jordan","KZ":"Kazakhstan","KE":"Kenya","KI":"Kiribati","KP":"Korea, Democratic People's Republic of","KR":"Korea, Republic of","KW":"Kuwait","KG":"Kyrgyzstan","LA":"Lao People's Democratic Republic","LV":"Latvia","LB":"Lebanon","LS":"Lesotho","LR":"Liberia","LY":"Libya","LI":"Liechtenstein","LT":"Lithuania","LU":"Luxembourg","MO":"Macao","MG":"Madagascar","MW":"Malawi","MY":"Malaysia","MV":"Maldives","ML":"Mali","MT":"Malta","MH":"Marshall Islands","MQ":"Martinique","MR":"Mauritania","MU":"Mauritius","YT":"Mayotte","MX":"Mexico","FM":"Micronesia","MD":"Moldova","MC":"Monaco","MN":"Mongolia","ME":"Montenegro","MS":"Montserrat","MA":"Morocco","MZ":"Mozambique","MM":"Myanmar","NA":"Namibia","NR":"Nauru","NP":"Nepal","NL":"Netherlands","NC":"New Caledonia","NZ":"New Zealand","NI":"Nicaragua","NE":"Niger","NG":"Nigeria","NU":"Niue","NF":"Norfolk Island","MK":"North Macedonia","MP":"Northern Mariana Islands","NO":"Norway","OM":"Oman","PK":"Pakistan","PW":"Palau","PS":"Palestine, State of","PA":"Panama","PG":"Papua New Guinea","PY":"Paraguay","PE":"Peru","PH":"Philippines","PN":"Pitcairn","PL":"Poland","PT":"Portugal","PR":"Puerto Rico","QA":"Qatar","RE":"R\u00e9union","RO":"Romania","RU":"Russian Federation","RW":"Rwanda","BL":"Saint Barth\u00e9lemy","SH":"Saint Helena, Ascension and Tristan da Cunha","KN":"Saint Kitts and Nevis","LC":"Saint Lucia","MF":"Saint Martin","PM":"Saint Pierre and Miquelon","VC":"Saint Vincent and the Grenadines","WS":"Samoa","SM":"San Marino","ST":"Sao Tome and Principe","SA":"Saudi Arabia","SN":"Senegal","RS":"Serbia","SC":"Seychelles","SL":"Sierra Leone","SG":"Singapore","SX":"Sint Maarten","SK":"Slovakia","SI":"Slovenia","SB":"Solomon Islands","SO":"Somalia","ZA":"South Africa","GS":"South Georgia and the South Sandwich Islands","SS":"South Sudan","ES":"Spain","LK":"Sri Lanka","SD":"Sudan","SR":"Suriname","SJ":"Svalbard and Jan Mayen","SE":"Sweden","CH":"Switzerland","SY":"Syria Arab Republic","TW":"Taiwan","TJ":"Tajikistan","TZ":"Tanzania, the United Republic of","TH":"Thailand","TL":"Timor-Leste","TG":"Togo","TK":"Tokelau","TO":"Tonga","TT":"Trinidad and Tobago","TN":"Tunisia","TR":"T\u00fcrkiye","TM":"Turkmenistan","TC":"Turks and Caicos Islands","TV":"Tuvalu","UG":"Uganda","UA":"Ukraine","AE":"United Arab Emirates","GB":"United Kingdom","US":"United States","UY":"Uruguay","UM":"US Minor Outlying Islands","UZ":"Uzbekistan","VU":"Vanuatu","VE":"Venezuela","VN":"Viet Nam","VG":"Virgin Islands, British","VI":"Virgin Islands, U.S.","WF":"Wallis and Futuna","EH":"Western Sahara","YE":"Yemen","ZM":"Zambia","ZW":"Zimbabwe"},"strings":{"newRowAdded":"New row added.","rowRemoved":"Row removed","formSaved":"The form has been saved. The content contains the link to return and complete the form."}}; 435var gform_i18n = {"datepicker":{"wdOffset":1,"helpTextShort":"Press F1 for help","helpText":"Press the arrow keys to navigate by day, PageUp and PageDown to navigate by month, Alt+PageUp and Alt+PageDown to navigate by year, or Escape to cancel.","openOnFocusHelpText":"Press Down arrow to browse the calendar, or Escape to close.","tooltipTxt":"Press Escape to cancel","disabledTxt":"Disabled","markedTxt":"Selected","prevTxt":"Previous","nextTxt":"Next","monthTxt":"Month","yearTxt":"Year","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"days":[{"s":"S","l":"Sunday"},{"s":"M","l":"Monday"},{"s":"T","l":"Tuesday"},{"s":"W","l":"Wednesday"},{"s":"T","l":"Thursday"},{"s":"F","l":"Friday"},{"s":"S","l":"Saturday"}]}}; 436var gf_legacy_multi = {"1":""};
437var gform_gravityforms = {"strings":{"invalid_file_extension":"This type of file is not allowed. Must be one of the following:","file_uploaded":"File uploaded","delete_file":"Delete this file","in_progress":"in progress","file_exceeds_limit":"File exceeds size limit","illegal_extension":"This type of file is not allowed.","max_reached":"Maximum number of files reached","unknown_error":"There was a problem while saving the file on the server","currently_uploading":"Please wait for the uploading to complete","cancel":"Cancel","cancel_upload":"Cancel this upload","cancelled":"Cancelled","error":"Error","message":"Message"},"vars":{"images_url":"https://arstechnica.com/wp-content/plugins/gravityforms/images"}}; 438//# sourceURL=gform_gravityforms-js-extra 439</script>
vendor: 1 bytes, line 439
439
440<script id="gform_gravityforms-js-before"> 441 442//# sourceURL=gform_gravityforms-js-before 443</script>
vendor: 1 bytes, line 443
443
444<script id="gform_gravityforms-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/js/gravityforms.min.js?ver=3.1.1.2"></script>
vendor: 1 bytes, line 444
444
445<script id="gform_conditional_logic-js-extra"> 446var gf_legacy = {"is_legacy":""}; 447//# sourceURL=gform_conditional_logic-js-extra 448</script>
vendor: 1 bytes, line 448
448
449<script id="gform_conditional_logic-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/js/conditional_logic.min.js?ver=3.1.1.2"></script>
vendor: 148 bytes, lines 449-450
449 450<script id="gform_recaptcha-js" defer='defer' src="https://www.google.com/recaptcha/api.js?hl=en&&ver=7.1#038;render=explicit"></script>
451<script id="gform_gravityforms_utils-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/js/dist/utils.min.js?ver=69a9db57304a9f86c3d1a0bea5fd2cf9"></script>
vendor: 1 bytes, line 451
451
452<script>window.ars = {"subscriber":false,"hasAdFree":false,"hasTrackerFree":false,"loggedIn":false,"level":"GUEST","0":""}</script>
vendor: 1 bytes, line 452
452
453<script> 454 const theme = "system"; 455 let darkMode = false; 456 if (theme === "dark" || (theme === "system" && (window.matchMedia("(prefers-color-scheme: dark)").matches))) { 457 darkMode = true; 458 document.documentElement.classList.add("dark"); 459 } 460 if (theme === "dusk" || (theme === "system" && (window.matchMedia("(prefers-color-scheme: light)").matches))) { 461 darkMode = false; 462 document.documentElement.classList.add("dusk"); 463 } 464 if (theme === "light") { 465 darkMode = false; 466 document.documentElement.classList.add("light"); 467 } 468 window.darkMode = darkMode; 469</script>
vendor: 1 bytes, line 469
469
470<script> 471 const settings = JSON.parse(localStorage.getItem("text-settings")) || {}; 472 const { size = "standard", links = "standard", width = "standard", position="story" } = settings; 473 474 const html = document.querySelector("html"); 475 html.classList.add(`text-settings-size-${size}`); 476 html.classList.add(`text-settings-links-${links}`); 477 html.classList.add(`text-settings-width-${width}`); 478 html.classList.add(`text-settings-position-${position}`); 479</script>
479 480<meta name="twitter:site" content="@arstechnica" /> 481<meta name="twitter:domain" content="arstechnica.com" /> 482<meta property="facebook-domain-verification" content="qptjyerza2q11uv3fe6aay6hbsncr8" /> 483<style>[x-cloak] { display: none !important; }</style> 484<link rel="preconnect" href="https://globalservices.conde.digital"> 485<link rel="preconnect" href="https://player.cnevids.com">
486<script> 487 window.permutiveCohorts = {"cached_until":"2026-09-24T06:15:38+00:00","cohorts":["bjfa","epfm","erpr","eexy","erpt"],"activations":{"target_dfp":["eexy","bjfa","erpt","erpr"]},"contextual_data":{"classifications":{"categories":[],"keywords":[],"entities":[],"sentiment":[],"emotion":[],"concepts":[]}},"gam":["eexy","bjfa","erpt","erpr"],"xandr":[],"config":{"time_to_wait_for_consent_in_millis":4000}}; 488 window.permutiveContextInfo = {"pageProperties":{"client":{"url":"https:\/\/arstechnica.com\/contact-us\/","referrer":"","type":"web","user_agent":"Mozilla\/5.0 AppleWebKit\/537.36 (KHTML, like Gecko; compatible; PageSourceSearchBot\/1.0; +https:\/\/pagesourcesearch.com\/bot) Chrome\/128.0.0.0 Safari\/537.36","domain":"arstechnica.com","title":"Contact us - Ars Technica"},"type":"site-info"},"url":"https:\/\/arstechnica.com\/contact-us\/"}; 489</script>
vendor: 1 bytes, line 489
489
490<script src="https://www.googletagservices.com/tag/js/gpt.js" id="gpt-script" async></script>
vendor: 1 bytes, line 490
490
491<script> 492 window.googletag = window.googletag || {}; 493 window.googletag.cmd = window.googletag.cmd || []; 494 window.cns = window.cns || {}; 495 window.cns.queue = []; 496 window.cns.pageContext = {"contentType":"site-info","templateType":"article","channel":"misc","subChannel":"","slug":"contact-us","server":"production","keywords":{"tags":[],"cm":[],"platform":["wordpress"],"copilotid":""}}; 497</script>
497 498 499
500<script src="https://ads-static.conde.digital/production/cns/builds/ars-technica/v6.js" async></script>
vendor: 1 bytes, line 500
500
501<script type="text/javascript">!(function(o,_name){o[_name]=o[_name]||function $(){($.q=$.q||[]).push(arguments)},o[_name].v=o[_name].v||2,o[_name].s="1";!(function(o,t,e,n,c,a,f){function i(n,c){(n=(function(t,e){try{if(e=(t=o.localStorage).getItem("_aQS01Q0IwOTY5NTEzOUM2MDU3MEU5M0VGREEtNA"))return JSON.parse(e).lgk||[];if((f=t.getItem(decodeURI(decodeURI('%2576%2534%256%31%25%36%33%25%33%31%256%35%69%5a%72%253%30'))))&&f.split(",")[4]>0)return[[_name+"-engaged","true"]]}catch(n){}})())&&typeof n.forEach===e&&(c=o[t].pubads())&&n.forEach((function(o){o&&o[0]&&c.setTargeting(o[0],o[1]||"")}))}try{(a=o[t]=o[t]||{}).cmd=a.cmd||[],typeof a.pubads===e?i():typeof a.cmd.unshift===e?a.cmd.unshift(i):a.cmd.push(i)}catch(r){}})(window,"googletag","function");;})(window,decodeURI(decodeURI('%25%36%31%64%256%64%25%36%39ra%256%63')));!(function(t,c,o,$){o=t.createElement(c),t=t.getElementsByTagName(c)[0],o.async=1,o.src="https://planebasin.com/dist/25dd01b14_8715a062a12be6f05714ee41f1a252e6e86d0.index.js",($=0)&&$(o),t.parentNode.insertBefore(o,t)})(document,"script");</script>
501 502 503<meta name="twitter:partner" content="tfwp"><!-- Start Headline A/B -->
504<script type="text/javascript"> 505 class ABTest { 506 constructor(post_id, init_method) { 507 this.post_id = post_id; 508 this.ajaxurl = '/services/ars-ajax-handler.php'; 509 this.expireDays = 1 / 48; // 30 min 510 this.group = this.getGroup(); 511 this.uid = this.getUid(); 512 this.init_method = init_method; 513 this.setTitle(); 514 515 if (this.init_method === 'click') { 516 this.click(); 517 } else { 518 this.impression(); 519 } 520 } 521 522 setCookie(name, value, days) { 523 var expires = ""; 524 if (days) { 525 var date = new Date(); 526 date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 527 expires = "; expires=" + date.toUTCString(); 528 } 529 document.cookie = name + "=" + (value || "") + expires + "; path=/; Secure"; 530 } 531 532 getCookie(name) { 533 var nameEQ = name + "="; 534 var ca = document.cookie.split(';'); 535 for (var i = 0; i < ca.length; i++) { 536 var c = ca[i]; 537 while (c.charAt(0) == ' ') c = c.substring(1, c.length); 538 if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); 539 } 540 return null; 541 } 542 543 // Retrieves a unique id for determining whether the event should be recorded 544 getUid() { 545 var uid = this.getCookie('ars_ab_' + this.post_id + '_uid'); 546 if (!uid) { 547 uid = (Math.random() + 1).toString(36).substring(2, 7); 548 this.setCookie('ars_ab_' + this.post_id + '_uid', uid, this.expireDays); 549 } 550 return uid; 551 }; 552 553 // Places the user in either A or B for this post id 554 getGroup() { 555 var group = this.getCookie('ars_ab_' + this.post_id + '_group'); 556 if (!group) { 557 group = String.fromCharCode(Math.floor(Math.random() * 2) + 65).toLowerCase(); 558 this.setCookie('ars_ab_' + this.post_id + '_group', group, this.expireDays); 559 } 560 return group; 561 }; 562 563 // Records a headline impression (from homepage or other listing) 564 impression() { 565 // Send fake ajax 566 var params = { 567 nonce: '109cee87a3', 568 action: 'ars_ab_impression', 569 id: this.post_id, 570 group: this.group, 571 uid: this.uid, 572 ts: (new Date()).getTime() 573 }; 574 var url = this.ajaxurl + '?' + this.encodeParams(params); 575 document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); 576 }; 577 578 // Records a headline click from the actual post page 579 click() { 580 // Send fake ajax 581 var params = { 582 nonce: '9403bf2c0d', 583 action: 'ars_ab_click', 584 id: this.post_id, 585 group: this.group, 586 uid: this.uid, 587 ts: (new Date()).getTime() 588 }; 589 var url = this.ajaxurl + '?' + this.encodeParams(params); 590 document.write('\x3Cscript type="text/javascript" src="' + url + '">\x3C/script>'); 591 }; 592 593 // If user is in B group, dynamically set title 594 setTitle() { 595 if (this.group == 'b') { 596 var span = document.getElementById('ars_ab_' + this.post_id); 597 var title = span.parentNode; 598 title.innerHTML = span.getAttribute('data-title-b'); 599 } 600 }; 601 602 encodeParams(data) { 603 var ret = []; 604 for (var d in data) 605 ret.push(encodeURIComponent(d) + "=" + encodeURIComponent(data[d])); 606 return ret.join("&"); 607 }; 608 609 }; 610</script>
610 611<!-- End Headline A/B --> 612<link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-60x60.png" sizes="32x32" /> 613<link rel="icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" sizes="192x192" /> 614<link rel="apple-touch-icon" href="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> 615<meta name="msapplication-TileImage" content="https://cdn.arstechnica.net/wp-content/uploads/2016/10/cropped-ars-logo-512_480-300x300.png" /> 616 617<!-- 618 generated in 0.144 seconds 619 151197 bytes batcached for 300 seconds 620 view: grid 621 theme: system 622 xf_style_id: 3 623 --> 624</head> 625 626<body class="wp-singular page-template-default page page-id-21729 wp-embed-responsive wp-theme-ars-v9 contact-us bg-white dusk:bg-gray-100 text-gray-700 dark:text-gray-250 dark:bg-gray-50 singular is-guest"> 627 <!-- Google Tag Manager (noscript) -->
vendor: 68 bytes, lines 627-628
627 628<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
628GTM-NLXNPCQ
vendor: 83 bytes, line 628
628" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
629<!-- End Google Tag Manager (noscript) --> 630 631 <div id="app"> 632 <a class="sr-only focus:not-sr-only" href="#main"> 633 Skip to content 634</a> 635 636<header 637 class="banner font-impact xxl:max-w-xxl mdl:rounded-sm sticky top-0 z-30 mx-auto flex h-14 max-w-6xl flex-row flex-nowrap items-center justify-between bg-gray-700 px-[15px] font-semibold uppercase transition-[top] duration-500 sm:px-5 md:my-5 md:h-10 lg:my-10 dark:bg-black" 638 id="site-header"> 639 <a id = "header-logo" href="https://arstechnica.com/" aria-label="Ars Technica home"> 640 <span class="sr-only">Ars Technica home</span> 641 <svg class="h-[36px] w-[109px] md:h-[65px] md:w-[197px]" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full_svg__a)"><g fill="none" clip-path="url(#ars-full_svg__b)"><path fill="#ff4e00" d="M72 0c39.8 0 72.1 32.3 72.1 72.1s-32.3 72.1-72.1 72.1S0 111.8 0 72.1 32.3 0 72 0"/><path fill="#fff" d="m46.5 94-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5s-10.5 1.7-15.3 3.8L20 52.6c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8h-6.7Zm-1.6-22.4c-16.3 1.6-19.7 6-19.7 10.6s2.4 5.9 6.6 5.9 9.4-2.4 13.1-6.2zm27.3-3.7v26H64v-44h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72 94.1 68.9 94.1 61s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2m109.4-11.1c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9z"/></g></g></svg> 642 </a> 643 644 <div class="flex flex-row flex-nowrap items-center gap-3 md:gap-5 xl:gap-4"> 645 646 <div class="xxl:hidden"> 647 <div x-data="arsDropdown()" @keydown.escape.prevent.stop="close($refs.button)" 648 @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> 649 650 <!-- Button --> 651 <button type="button" x-ref="button" 652 x-on:click=" 653 toggle(); 654 $dispatch('dropdown-opened', { panel: $refs.panel }); 655 " 656 :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" 657 class="group flex items-center focus:outline-none" arial-label="" aria-label="Open Sections menu dropdown"> 658 <svg class="group-with-selected:text-gray-200 h-5 w-5 text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:hidden" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><path fill="currentColor" d="M0 0h40v8H0zm0 16h40v8H0zm24 24H0v-8h16z"/><path fill="#04cc74" d="M23 32h17l-8 8h-.3z"/></svg> 659 <span 660 class="group-with-selected:text-gray-100 hidden flex-row flex-nowrap items-center gap-1 uppercase text-gray-300 hover:text-gray-100 group-focus:text-gray-100 sm:flex xl:text-sm"> 661 Sections 662 <svg class="h-1 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 19.3"><defs><clipPath id="arrow-down_svg__a"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath><clipPath id="arrow-down_svg__b"><path fill="none" d="M0 0h40v19.3H0z"/></clipPath></defs><g clip-path="url(#arrow-down_svg__a)"><g fill="none" clip-path="url(#arrow-down_svg__b)">
662<path fill="currentColor" d="m0 0 18.9 18.9c.6.6 1.6.6 2.2 0L40 0z"/></g></g></svg> 663 </span> 664 </button> 665 666 <!-- Panel --> 667 <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" 668 :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 xxs:max-w-[400px] absolute right-0 top-14 mt-[1px] w-full rounded-sm sm:right-auto sm:max-w-[200px] md:top-10"> 669 <nav class="topnav-sections"> 670 671 <div 672 class="flex flex-row flex-nowrap items-center justify-between bg-gray-700 px-10 py-2 sm:hidden sm:flex-col sm:items-start"> 673 <a class="text-green-400 hover:text-green-500 focus:text-green-500" href="/civis/"> 674 Forum 675 </a> 676 677 678 <div class="h-5 w-[1px] bg-gray-400"></div> 679 680 <a class="text-orange-400 hover:text-orange-500 focus:text-orange-500" href="/subscribe/"> 681 Subscribe 682 </a> 683 684 685 <div class="h-5 w-[1px] bg-gray-400"></div> 686 687 <a class="flex flex-row flex-nowrap items-center gap-2 text-gray-300 hover:text-gray-100 focus:text-gray-100" 688 href="/search/"> 689 <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> 690 Search 691 </a> 692 </div> 693 694 <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> 695 <li> 696 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 697 href="https://arstechnica.com/ai/"> 698 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-ai_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-ai_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-ai_svg__a)"><g fill="currentColor" clip-path="url(#section-ai_svg__b)"><path d="M20 2.4c9.7 0 17.6 7.9 17.6 17.6S29.7 37.6 20 37.6 2.4 29.7 2.4 20 10.3 2.4 20 2.4M20 0C9 0 0 9 0 20s9 20 20 20 20-9 20-20S31 0 20 0"/><path d="M20 13q2.85 0 5.4.9c.7.2 1.4-.1 1.6-.9l1.4-5.5C26 5.9 23.1 4.9 20 4.9s-6 .9-8.4 2.6L13 13c.2.7.9 1.1 1.6.9Q17 13 20 13M8.9 18.3c.4-.8 1-1.5 1.7-2.1l-2.2-5.7C7 12.2 6 14.1 5.5 16.3l1.3 2.1c.5.8 1.7.8 2.2 0m24.3 0 1.3-2.1c-.5-2.2-1.5-4.1-2.9-5.8l-2.2 5.7c.7.6 1.3 1.3 1.7 2.1.5.8 1.6.9 2.2 0M23.2 20c0 1.8-1.5 3.2-3.2 3.2s-3.2-1.4-3.2-3.2 1.5-3.2 3.2-3.2 3.2 1.4 3.2 3.2"/></g></g></svg> 699 AI 700 </a> 701 </li> 702 <li> 703 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 704 href="https://arstechnica.com/information-technology/"> 705 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-information-technology_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-information-technology_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-information-technology_svg__a)"><g fill="currentColor" clip-path="url(#section-information-technology_svg__b)"><path d="M35 0H5C2.2 0 0 2.2 0 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m.9 8H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.2c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2M35 30H5c-2.8 0-5 2.2-5 5s2.2 5 5 5h30c2.8 0 5-2.2 5-5s-2.2-5-5-5m-6.9 7.4c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2m6 0c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2"/></g></g></svg> 706 Biz & IT 707 </a> 708 </li> 709 <li> 710 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 711 href="https://arstechnica.com/cars/"> 712 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-cars_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-cars_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-cars_svg__a)"><g fill="none" clip-path="url(#section-cars_svg__b)">
712<path fill="currentColor" d="M39.7 23.5c.2-1.2.3-2.3.3-3.5s-.1-2.4-.3-3.5l-1.3-.4c-.1-.6-.3-1.2-.5-1.8l.9-1c-.8-2.3-2-4.3-3.5-6.1l-1.3.3c-.4-.4-.8-.9-1.3-1.3l.3-1.3a20.6 20.6 0 0 0-6.1-3.5l-1 .9c-.6-.2-1.2-.3-1.8-.5L23.7.5C22.4.1 21.2 0 20 0s-2.4.1-3.5.3l-.4 1.3c-.6.1-1.2.3-1.8.5l-1-.9C11 2 9 3.2 7.2 4.7L7.5 6c-.4.4-.9.8-1.3 1.3L4.9 7a20.6 20.6 0 0 0-3.5 6.1l.9 1c-.2.6-.3 1.2-.5 1.8l-1.3.4C.1 17.6 0 18.8 0 20s.1 2.4.3 3.5l1.3.4c.1.6.3 1.2.5 1.8l-.9 1c.8 2.3 2 4.3 3.5 6.1l1.3-.3c.4.4.8.9 1.3 1.3L7 35.1c1.8 1.5 3.9 2.7 6.1 3.5l1-.9c.6.2 1.2.3 1.8.5l.4 1.3c1.1.2 2.3.3 3.5.3s2.4-.1 3.5-.3l.4-1.3c.6-.1 1.2-.3 1.8-.5l1 .9c2.3-.8 4.3-2 6.1-3.5l-.3-1.3c.4-.4.9-.8 1.3-1.3l1.3.3c1.5-1.8 2.7-3.9 3.5-6.1l-.9-1c.2-.6.3-1.2.5-1.8l1.3-.4ZM25.9 8.2c1.3.6 2.4 1.5 3.4 2.5l-3.1 6.2-2.6.9c-.6-.9-1.5-1.6-2.6-1.9v-2.8zM22 19.9c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2M20 6.8q2.1 0 3.9.6L20 11.3l-3.9-3.9q1.8-.6 3.9-.6m-5.9 1.4 4.9 4.9v2.8c-1.1.3-2 .9-2.6 1.9l-2.6-.9-3.1-6.2c1-1 2.2-1.9 3.4-2.5m-4.8 4.2 2.5 4.9-4.9 2.5c0-2.7.9-5.3 2.4-7.4m.2 15.4 5.4-.9.9 5.4c-2.5-.9-4.7-2.5-6.3-4.5m5.7-2.9L8.4 26c-.6-1.2-1.1-2.6-1.3-4.1l6.2-3.1 2.6.9v.3c0 1 .4 2 1 2.7l-1.6 2.2Zm7 8c-.7.1-1.4.2-2.1.2s-1.4 0-2.1-.2l-1.1-6.8 1.6-2.2c.5.2 1 .3 1.6.3s1.1-.1 1.6-.3l1.6 2.2zm2.1-.5.9-5.4 5.4.9c-1.6 2.1-3.7 3.7-6.3 4.5m7.4-6.4-6.8-1.1-1.6-2.2c.6-.7 1-1.7 1-2.7v-.3l2.6-.9 6.2 3.1c-.2 1.4-.7 2.8-1.3 4.1m-3.4-8.7 2.5-4.9c1.5 2.1 2.4 4.6 2.4 7.4z"/></g></g></svg> 713 Cars 714 </a> 715 </li> 716 <li> 717 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 718 href="https://arstechnica.com/culture/"> 719 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-culture_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-culture_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-culture_svg__a)"><g fill="currentColor" clip-path="url(#section-culture_svg__b)"><path d="M19 32v7.1c0 .5.4 1 1 1s1-.4 1-1V32zm2-24V1c0-.6-.5-1-1-1s-1 .4-1 1v7.1h2m-8.3 22.6L9.6 36c-.3.5-.1 1 .3 1.3.5.3 1 .1 1.3-.3l3.3-5.7c-.5-.1-1-.3-1.5-.4-.1 0-.3 0-.4-.1M27.3 9.3 30.4 4c.3-.5.1-1-.3-1.3-.5-.3-1-.1-1.3.3l-3.3 5.7c.5.1 1 .2 1.5.4.1 0 .3 0 .4.1m-21.8 18L3 28.7c-.5.3-.6.8-.3 1.3s.8.6 1.3.3l3.5-2-.9-.6-.9-.6m28.7-14.3 2.6-1.5c.5-.3.6-.8.3-1.3s-.8-.6-1.3-.3l-3.5 2c.3.2.6.3 1 .5zm-9 18.5 3.3 5.7c.3.5.8.6 1.3.3s.6-.8.3-1.3l-3.1-5.3c-.1 0-.3 0-.4.1-.5.2-1 .3-1.5.4M14.6 8.7 11.3 3c-.3-.5-.8-.6-1.3-.3s-.6.8-.3 1.3l3.1 5.3c.1 0 .3 0 .4-.1.5-.2 1-.3 1.5-.4m17.9 19.6 3.5 2c.5.3 1 .1 1.3-.3.3-.5.1-1-.3-1.3l-2.6-1.5-.9.6-.9.6M7.4 11.6l-3.5-2c-.5-.3-1-.1-1.3.3-.3.5-.1 1 .3 1.3l2.6 1.5.9-.6.9-.6m25.2 2.4c-.6-.4-1.3-.7-1.9-1.1-1.3-.7-2.7-1.3-4.3-1.8-.6-.2-1.3-.4-1.9-.5-1.1-.3-2.3-.4-3.4-.5h-2c-1.2 0-2.3.2-3.4.5-.6.1-1.3.3-1.9.5-1.5.5-2.9 1.1-4.3 1.8-.7.3-1.3.7-1.9 1.1C2.9 16.7 0 20 0 20s2.9 3.3 7.5 6.1c.6.4 1.3.7 1.9 1.1 1.3.7 2.7 1.3 4.3 1.8.6.2 1.3.4 1.9.5 1.1.3 2.3.4 3.4.5h2c1.2 0 2.3-.2 3.4-.5.6-.1 1.3-.3 1.9-.5 1.5-.5 2.9-1.1 4.3-1.8.7-.3 1.3-.7 1.9-1.1C37.1 23.3 40 20 40 20s-2.9-3.3-7.5-6.1M20 28c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8"/><path d="M25 20c0 2.8-2.2 5-5 5s-5-2.2-5-5 2.2-5 5-5 5 2.2 5 5"/></g></g></svg> 720 Culture 721 </a> 722 </li> 723 <li> 724 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 725 href="https://arstechnica.com/gaming/"> 726 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gaming_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gaming_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gaming_svg__a)"><g fill="none" clip-path="url(#section-gaming_svg__b)">
726<path fill="currentColor" d="M30.7 39.7c-.7-1.1-1.7-1.8-2.5-2.8-.9-1.2 0-2 .8-3 .6-.9 1-1.9.8-3-.6-2.7-3.4-3.3-5.8-3.6-.7-.1-1.8-.2-2.3-.7s-.5-1.4-.5-2.1v-.4l15.5-3.6c2.3-.5 3.7-2.8 3.2-5.1l-2.8-12C36.6 1.1 34.3-.3 32 .2L3.3 6.8C1 7.4-.4 9.7.1 12l2.8 12c.5 2.3 2.8 3.7 5.1 3.2l11.1-2.6c0 1 .2 2.1.7 2.9 1.7 2.7 6 .8 7.6 3.3.8 1.2-.5 2.3-1.1 3.3-.6.9-.9 2-.4 3 .4 1.1 1.4 1.8 2.2 2.6 0 .1.2.2.3.3h2.4c0-.1-.1-.2-.2-.3m.7-28.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-6-3.7c1.3-.3 2.7.5 3 1.9.3 1.3-.5 2.7-1.9 3-1.3.3-2.7-.5-3-1.9-.3-1.3.5-2.7 1.9-3m-9.9 13.2-2.7.6-1-4.1-4.1 1-.6-2.7 4.1-1-1-4.1 2.7-.6 1 4.1 4.1-1 .6 2.7-4.1 1z"/></g></g></svg> 727 Gaming 728 </a> 729 </li> 730 <li> 731 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 732 href="https://arstechnica.com/health/"> 733 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-health_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-health_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-health_svg__a)"><g fill="currentColor" clip-path="url(#section-health_svg__b)"><path d="M10.4 21.6c-.4-.4-1-.4-1.4 0l-3.9 3.9c-.4.4-.4 1 0 1.4s1 .4 1.4 0l3.9-3.9c.4-.4.4-1 0-1.4"/><path d="M40 10.6c0-2.7-1-5.4-3.1-7.5C33.8 0 29.2-.8 25.4.8c-1.3.5-2.5 1.3-3.5 2.3L3.1 21.9c-4.2 4.2-4.2 10.9 0 15C5.2 39 7.9 40 10.6 40s5.4-1 7.5-3.1l18.7-18.7c2.1-2.1 3.1-4.8 3.1-7.5m-6.6-4c-.4-.4-.4-1 0-1.4s1-.4 1.4 0c3 3 3 7.8 0 10.8L26 24.8c-.4.4-1 .4-1.4 0s-.4-1 0-1.4l8.7-8.7c2.2-2.2 2.2-5.8 0-8M10.6 38.1c-2.3 0-4.5-.9-6.1-2.5-3.4-3.4-3.4-8.8 0-12.2l7.6-7.6c.6 2.1 2.3 4.9 4.8 7.4s5.2 4.2 7.4 4.8l-7.6 7.6c-1.6 1.6-3.8 2.5-6.1 2.5"/></g></g></svg> 734 Health 735 </a> 736 </li> 737 <li> 738 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 739 href="https://arstechnica.com/tech-policy/"> 740 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-tech-policy_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-tech-policy_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-tech-policy_svg__a)"><path fill="currentColor" d="M12.8 0 6.4 6.4 0 12.8l4 1.4L14.2 4z"/><g clip-path="url(#section-tech-policy_svg__b)"><path fill="currentColor" d="M34.8 31.7c-4.4-10.4-6.1-23.6-6.1-23.6L15.4 5.4l-9.9 10 2.7 13.3s13.2 1.6 23.6 6.1c-.4 1.4 0 2.9 1.1 4 1.4 1.4 3.6 1.6 5.2.6L18.5 19.8c-1.6 1-3.8.8-5.2-.6-1.6-1.6-1.6-4.3 0-5.9s4.3-1.6 5.9 0c1.4 1.4 1.6 3.6.6 5.2L39.3 38c1-1.6.8-3.8-.6-5.2-1.1-1.1-2.6-1.4-4-1.1"/></g></g></svg> 741 Policy 742 </a> 743 </li> 744 <li> 745 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 746 href="https://arstechnica.com/science/"> 747 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-science_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-science_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-science_svg__a)"><g fill="none" clip-path="url(#section-science_svg__b)"><path fill="currentColor" d="M39.6 34.5 28 14.6V4h1.1c.5 0 .9-.4.9-.9V.9c0-.5-.4-.9-.9-.9H10.9c-.5 0-.9.4-.9.9V3c0 .5.4.9.9.9H12v10.6L.4 34.5C-.9 37 .8 40 3.6 40h32.8c2.7 0 4.5-3 3.2-5.5M21.9 13.2c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3m-5-6c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2M4.1 36l6-10.3c.2-.3.5-.5.8-.5H13c-.1-.3-.2-.6-.2-1 0-1.7 1.3-3 3-3s3 1.3 3 3 0 .7-.2 1h4.2c0-1.1.9-2 2-2s2 .9 2 2h2.1c.3 0 .6.2.8.5l6 10.3H4.2Z"/></g></g></svg> 748 Science 749 </a> 750 </li> 751 <li> 752 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 753 href="https://arstechnica.com/security/"> 754 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-security_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-security_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-security_svg__a)"><g fill="none" clip-path="url(#section-security_svg__b)">
754<path fill="currentColor" d="M37.7 21.1C39.7 10.4 32.8 0 20.8 0h-1.6C7.2 0 .3 10.4 2.3 21.1c.5 2.6-2.3 3.5-2.3 6.6 0 3.2 3.5 4 5.9 4.1h2.8c1.3 0 1.8.5 1.8 1.6 0 1.5.2 4.1.3 5.6 0 .2.7.4 1.9.5v-3.4c0-.4.3-.8.7-.8s.8.3.8.8v3.5c.9 0 1.8.1 2.9.1v-3.6c0-.4.3-.8.8-.8s.8.3.8.8v3.7h2.9v-3.7c0-.4.3-.8.8-.8s.8.3.8.8v3.6c1 0 2 0 2.9-.1v-3.5c0-.4.3-.8.8-.8s.8.3.8.8v3.4c1.1-.1 1.8-.3 1.9-.5.1-1.5.3-4.1.3-5.6 0-1.1.5-1.7 1.8-1.6h2.8c2.4-.1 5.9-.9 5.9-4.1 0-3.1-2.8-4-2.3-6.7m-26.7 4.7c-4 0-6.6-4-4.9-7.2 1.1-2 3.1-3.2 5.2-3.7 4.1-.9 7.6 2.9 6.7 6.6-.7 2.7-3.5 3.9-7 4.2m8.6 2.1-1 3c-.2.5-.7.8-1.1.6s-.7-.8-.5-1.3l.9-3c.2-.5.7-.8 1.1-.6s.7.8.5 1.3m2.8 3.6c-.4.2-.9 0-1.1-.6l-1-3c-.2-.5 0-1.1.5-1.3.4-.2.9 0 1.1.6l.9 3c.2.5 0 1.1-.5 1.3m6.6-5.7c-3.5-.4-6.3-1.5-7-4.2-.9-3.7 2.6-7.6 6.7-6.6 2.1.5 4.1 1.7 5.2 3.7 1.8 3.2-.9 7.2-4.9 7.2"/></g></g></svg> 755 Security 756 </a> 757 </li> 758 <li> 759 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 760 href="https://arstechnica.com/space/"> 761 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-space_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-space_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-space_svg__a)"><g fill="currentColor" clip-path="url(#section-space_svg__b)"><path d="M32.9 13.1c-2.5-4.7-7.5-7.8-13.2-7.8-8.3 0-15 6.7-15 15s3.1 10.6 7.7 13.1c3.1-2.5 6.9-5.8 11-10 3.9-3.9 7-7.4 9.4-10.3M14.4 34.3c1.6.6 3.4 1 5.2 1 8.3 0 15-6.7 15-15s-.3-3.5-.9-5.2c-2.5 3-5.5 6.4-8.9 9.7-3.6 3.6-7.2 6.9-10.4 9.5"/><path d="M28.5 5.8c.6.4 1.2.8 1.7 1.2 3.5-2.7 6.1-4.2 7.6-4.8-.5 1.4-2.1 4.1-4.8 7.6-2.6 3.4-6.2 7.5-10.9 12.3s-9.6 8.9-13 11.5c-3.2 2.4-5.5 3.7-6.9 4.2.5-1.3 1.9-3.7 4.2-6.9-.4-.5-.8-1.1-1.2-1.7-4 5.4-6 9.4-4.9 10.5s5.1-.9 10.5-4.9c3.8-2.9 8.2-6.8 12.7-11.3s7.9-8.4 10.7-12c4.4-5.7 6.7-10 5.5-11.2s-5.5 1.1-11.2 5.5"/></g></g></svg> 762 Space 763 </a> 764 </li> 765 <li> 766 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 767 href="https://arstechnica.com/gadgets/"> 768 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-gadgets_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-gadgets_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-gadgets_svg__a)"><g fill="currentColor" clip-path="url(#section-gadgets_svg__b)"><path d="M38 22c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2V4h-4V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2s-2 .9-2 2v2h-6V2c0-1.1-.9-2-2-2S8 .9 8 2v2H4v4H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v6H2c-1.1 0-2 .9-2 2s.9 2 2 2h2v4h4v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h6v2c0 1.1.9 2 2 2s2-.9 2-2v-2h4v-4h2c1.1 0 2-.9 2-2s-.9-2-2-2h-2v-6zm-6 10H8V8h24z"/><path d="M24.7 17.3 20 12h-7.1c-.6 0-1 .4-1 1s.4 1 1 1h6.3l4.1 4.7L20 22h8v-8z"/><path d="m15.2 22.7 4.7 5.3H27c.6 0 1-.4 1-1s-.4-1-1-1h-6.3l-4.1-4.7 3.3-3.3h-8v8z"/></g></g></svg> 769 Tech 770 </a> 771 </li> 772 </ul> 773 774 775 <div class="mx-3 h-[1px] bg-gray-400"></div> 776 777 778 <ul class="my-3 grid grid-cols-2 sm:grid-cols-1"> 779 <li> 780 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 781 href="/features/"> 782 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 37.8"><defs><clipPath id="star_svg__a"><path fill="none" d="M0 0h40v37.8H0z"/></clipPath></defs><g fill="none" clip-path="url(#star_svg__a)">
782<path fill="currentColor" d="m20 0-6.2 12.4-13.8 2L10 24 7.6 37.8 20 31.3l12.4 6.5L30 24l10-9.6-13.8-2z"/></g></svg> 783 Feature 784 </a> 785 </li> 786 <li> 787 <a class="group flex flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 788 href="/reviews/"> 789 <svg class="mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="section-reviews_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="section-reviews_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#section-reviews_svg__a)"><g fill="currentColor" clip-path="url(#section-reviews_svg__b)"><path d="M19.3 9.4V16l4.7 4.7h6.6l4.7-4.7V9.4l-4.7-4.7H24zm10.8.5c1.6 1.6 1.6 4.1 0 5.7s-4.1 1.6-5.7 0-1.6-4.1 0-5.7 4.1-1.6 5.7 0"/><path d="M31.4 22.7h-8.3l-5.9-5.9V8.5L25.9 0H12L6.9 5.1V19L0 25.9C0 33.7 6.3 40 14.1 40l6.9-6.9h13.9L40 28V14.1z"/></g></g></svg> 790 Reviews 791 </a> 792 </li> 793 </ul> 794 </nav> 795 </div> 796 </div> 797</div> 798 799 800 801 <ul class="xxl:flex hidden gap-4 text-sm"> 802 <li> 803 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/ai/"> 804 AI 805 </a> 806 </li> 807 <li> 808 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/information-technology/"> 809 Biz & IT 810 </a> 811 </li> 812 <li> 813 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/cars/"> 814 Cars 815 </a> 816 </li> 817 <li> 818 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/culture/"> 819 Culture 820 </a> 821 </li> 822 <li> 823 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gaming/"> 824 Gaming 825 </a> 826 </li> 827 <li> 828 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/health/"> 829 Health 830 </a> 831 </li> 832 <li> 833 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/tech-policy/"> 834 Policy 835 </a> 836 </li> 837 <li> 838 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/science/"> 839 Science 840 </a> 841 </li> 842 <li> 843 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/security/"> 844 Security 845 </a> 846 </li> 847 <li> 848 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/space/"> 849 Space 850 </a> 851 </li> 852 <li> 853 <a class="text-gray-250 hover:text-green-400 focus:text-green-400" href="https://arstechnica.com/gadgets/"> 854 Tech 855 </a> 856 </li> 857 </ul> 858 859 860 <a class="hidden text-green-400 sm:block xl:text-sm" href="/civis/"> 861 Forum 862 </a> 863 864 865 <div class="hidden h-5 w-[1px] bg-gray-400 lg:block"></div> 866 867 <a class="hidden text-orange-400 lg:block xl:text-sm" href="/subscribe/"> 868 Subscribe 869 </a> 870 871 872 <div class="h-5 w-[1px] bg-gray-400"></div> 873 874 875 <div class="text-settings-dropdown-nav"> 876 <div x-data="arsDropdown()" @keydown.escape.prevent.stop="close($refs.button)" 877 @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> 878 879 <!-- Button --> 880 <button type="button" x-ref="button" 881 x-on:click=" 882 toggle(); 883 $dispatch('dropdown-opened', { panel: $refs.panel }); 884 " 885 :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }"
886 class="group flex items-center group" arial-label="" aria-label="Open text settings dropdown"> 887 <svg class="h-5 w-5 text-gray-300 group-hover:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="text-settings-open_svg__a"><path fill="none" stroke-width="0" d="M0 0h40v40H0z"/></clipPath><clipPath id="text-settings-open_svg__b"><path fill="none" stroke-width="0" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#text-settings-open_svg__a)"><g fill="currentColor" clip-path="url(#text-settings-open_svg__b)"><path d="M26.38 23.2c-.19.21-.28.49-.28.85v.58c0 .4.11.72.34.93.23.22.59.33 1.09.33.42 0 .88-.09 1.37-.27q.735-.27 1.47-.75c.06-.04.11-.09.17-.13v-1.87h-3.23q-.66.015-.93.33"/><path d="M32 0H8C3.58 0 0 3.58 0 8v24.01C0 36.42 3.58 40 8 40h24c4.42 0 8-3.58 8-8V8c0-4.42-3.58-8-8-8M17.88 28.23l-1.23-4.42h-5.77l-1.23 4.42H5.84l4.88-15.77a1.316 1.316 0 0 1 1.28-.97h3.52q.465 0 .81.27c.23.18.39.41.47.7l4.85 15.77h-3.79Zm16.28 0H31.3l-.38-1.92c-.27.33-.59.65-.98.96-.44.35-.95.64-1.53.89-.58.24-1.25.36-1.99.36s-1.38-.13-1.97-.39q-.87-.39-1.38-1.14c-.34-.5-.51-1.12-.51-1.87v-1.24c0-.95.32-1.7.97-2.23s1.54-.8 2.67-.8h4.34v-.56c0-.57-.13-.98-.4-1.24s-.77-.39-1.52-.39c-.61 0-1.38.02-2.3.06s-1.87.09-2.84.16l-.34-2.38c.58-.11 1.25-.21 2.02-.29q1.14-.12 2.28-.21t2.04-.09c1 0 1.85.13 2.55.4.69.27 1.22.72 1.59 1.36.36.64.55 1.52.55 2.63v7.91Z"/><path d="M14.26 15.09c-.06-.28-.12-.55-.17-.81h-.65c-.05.26-.1.53-.16.81s-.12.56-.21.84l-1.42 5.1h4.22l-1.42-5.1c-.07-.27-.13-.55-.19-.84"/></g></g></svg> 888 </button> 889 890 <!-- Panel --> 891 <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" 892 :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 absolute right-0 top-14 mt-[1px] min-w-[200px] rounded-sm md:top-10"> 893 <div class="text-settings"> 894 <div class="text-settings-menu bg-gray-550 w-60"> 895 <div class="flex items-center bg-gray-600 px-5 py-2"> 896 <span class="font-impact text-gray-350 text-base font-semibold uppercase">Story text</span> 897 </div> 898 899 <div class="grid grid-cols-3 items-center gap-3 px-5 py-2"> 900 <label class="font-impact w-20 text-base font-semibold uppercase text-gray-100" for="text-settings-size">Size</label> 901<select name="text-settings-size" class="text-settings-size col-span-2 bg-gray-600 text-sm text-gray-300"> 902 <option value="small">Small</option> 903 <option value="standard" selected>Standard</option> 904 <option value="large">Large</option> 905</select> 906 907 908<label class="font-impact hidden w-20 text-base font-semibold uppercase text-gray-100 md:block" 909 for="text-settings-width">Width 910 <span class="text-gray-400">*</span> 911 </label> 912<select name="text-settings-width" 913 class="text-settings-width col-span-2 hidden bg-gray-600 text-sm text-gray-300 md:block"> 914 <option value="standard" selected>Standard</option> 915 <option value="wide">Wide</option> 916</select> 917 918 919<label class="font-impact w-20 text-base font-semibold uppercase text-gray-100" for="text-settings-links">Links</label> 920<select name="text-settings-links" class="text-settings-links col-span-2 bg-gray-600 text-sm text-gray-300"> 921 <option value="standard" selected>Standard</option> 922 <option value="orange">Orange</option> 923</select> 924 925 926 <div class="font-impact col-span-3 hidden text-sm font-semibold uppercase text-gray-400 md:block"> 927 <span class="mb-0 italic">* Subscribers only</span><br> 928 <a href="/store/product/subscriptions/" class="text-green-400">Learn more</a> 929 </div> 930 931 932 <button 933 class="font-impact text-settings-position col-span-3 mx-auto my-3 block rounded-sm border-2 border-green-400 px-3 py-1 text-base font-semibold uppercase text-gray-100" 934 value="story"> 935 Pin to story 936 </button> 937 </div> 938 </div> 939 </div> 940 </div> 941 </div> 942</div> 943 944 945 <div class=""> 946 <div x-data="arsDropdown()" @keydown.escape.prevent.stop="close($refs.button)" 947 @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> 948 949 <!-- Button --> 950 <button type="button" x-ref="button" 951 x-on:click=" 952 toggle();
953 $dispatch('dropdown-opened', { panel: $refs.panel }); 954 " 955 :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" 956 class="group flex items-center theme-selection-active group" arial-label="" aria-label="Open Theme selection dropdown"> 957 <span class="sr-only">Theme</span> 958 959 <svg class="theme-selection-active-dark hidden h-5 w-5 text-yellow-100 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> 960 <svg class="theme-selection-active-dusk hidden h-5 w-5 text-yellow-400 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.18 40"><defs><clipPath id="theme-dusk_svg__a"><path fill="none" d="M0 0h38.18v40H0z"/></clipPath><clipPath id="theme-dusk_svg__b"><path fill="none" d="M0 0h38.18v40H0z"/></clipPath></defs><g clip-path="url(#theme-dusk_svg__a)"><g fill="currentColor" clip-path="url(#theme-dusk_svg__b)"><path d="M19.09 5.86C11.28 5.86 4.95 12.19 4.95 20s6.33 14.14 14.14 14.14S33.23 27.81 33.23 20 26.9 5.86 19.09 5.86m0 26.28C12.4 32.14 6.95 26.69 6.95 20c0-6.13 4.57-11.2 10.48-12.01a12.07 12.07 0 0 0-2.63 7.52c0 6.7 5.45 12.14 12.14 12.14.56 0 1.11-.05 1.66-.13-2.23 2.81-5.66 4.62-9.52 4.62m1.43-30.72v2.17c0 .78-.63 1.42-1.42 1.42s-1.42-.63-1.42-1.42V1.42a1.419 1.419 0 1 1 2.84 0M9.31 4.13l1.27 1.75c.46.63.32 1.52-.31 1.98s-1.52.32-1.98-.31L7.02 5.8a1.42 1.42 0 0 1 .31-1.98 1.42 1.42 0 0 1 1.98.31m-7.45 8.78 2.06.67c.74.24 1.15 1.04.91 1.79s-1.04 1.15-1.79.91l-2.06-.67a1.417 1.417 0 0 1-.91-1.78c.24-.74 1.04-1.15 1.79-.91M.98 24.39l2.06-.67c.74-.24 1.54.16 1.79.91.24.74-.17 1.54-.91 1.78l-2.06.67a1.42 1.42 0 0 1-1.79-.91c-.24-.74.17-1.54.91-1.79m6.04 9.82 1.27-1.75a1.42 1.42 0 0 1 1.98-.31c.63.46.77 1.35.31 1.98l-1.27 1.75c-.46.63-1.35.77-1.98.31a1.42 1.42 0 0 1-.31-1.98m10.65 4.38v-2.16c0-.78.63-1.42 1.42-1.42s1.42.63 1.42 1.42v2.16c0 .78-.63 1.42-1.42 1.42s-1.42-.63-1.42-1.42m11.2-2.71-1.27-1.75a1.42 1.42 0 0 1 .31-1.98 1.42 1.42 0 0 1 1.98.31l1.27 1.75c.46.63.32 1.52-.31 1.98s-1.52.32-1.98-.31m7.46-8.78-2.06-.67a1.424 1.424 0 0 1-.91-1.79c.24-.74 1.04-1.15 1.79-.91l2.06.67c.74.24 1.15 1.04.91 1.78s-1.04 1.15-1.79.91m.87-11.47-2.06.67c-.74.24-1.54-.17-1.79-.91-.24-.74.17-1.54.91-1.78l2.06-.67c.74-.24 1.54.16 1.79.91.24.74-.17 1.54-.91 1.79M31.16 5.8l-1.27 1.75c-.46.63-1.34.77-1.98.31a1.42 1.42 0 0 1-.31-1.98l1.27-1.75a1.42 1.42 0 0 1 1.98-.31c.63.46.77 1.35.31 1.98"/></g></g></svg> 961 <svg class="theme-selection-active-light hidden h-5 w-5 text-yellow-400 group-hover:text-yellow-200" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.6-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> 962 </button> 963 964 <!-- Panel --> 965 <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" 966 :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 absolute right-0 top-14 mt-[1px] min-w-[200px] rounded-sm py-3 md:top-10"> 967 <nav> 968 <ul class="theme-selection-dropdown"> 969 <li 970 class="theme-selection-item group flex w-full cursor-pointer flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 971 data-theme="light" 972 data-selected="false"> 973 <svg class="theme-selection-icon mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-inherit" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-light_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-light_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-light_svg__a)"><g fill="currentColor" clip-path="url(#theme-light_svg__b)"><path d="M30 20c0 5.5-4.5 10-10 10s-10-4.5-10-10 4.5-10 10-10 10 4.5 10 10m8.6 1.4h-2.2c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4M34.1 7.9l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2l1.5-1.5c.6-.6 1.5-.6 2 0 .6.6.6 1.5 0 2M21.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V1.4c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4M7.9 5.9l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0L5.9 7.9c-.
9736-.6-.6-1.5 0-2 .6-.6 1.5-.6 2 0M1.4 18.6h2.2c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4H1.4C.6 21.4 0 20.8 0 20s.6-1.4 1.4-1.4m4.5 13.5 1.5-1.5c.6-.6 1.4-.6 2 0s.6 1.5 0 2l-1.5 1.5c-.6.6-1.5.6-2 0-.6-.6-.6-1.5 0-2m12.7 6.5v-2.2c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4v2.2c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4m13.5-4.5-1.5-1.5c-.6-.6-.6-1.4 0-2s1.5-.6 2 0l1.5 1.5c.6.6.6 1.5 0 2-.6.6-1.5.6-2 0"/></g></g></svg> 974 HyperLight 975 </li> 976 <li 977 class="theme-selection-item group flex w-full cursor-pointer flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 978 data-theme="dusk" 979 data-selected="false"> 980 <svg class="theme-selection-icon mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-inherit" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.18 40"><defs><clipPath id="theme-dusk_svg__a"><path fill="none" d="M0 0h38.18v40H0z"/></clipPath><clipPath id="theme-dusk_svg__b"><path fill="none" d="M0 0h38.18v40H0z"/></clipPath></defs><g clip-path="url(#theme-dusk_svg__a)"><g fill="currentColor" clip-path="url(#theme-dusk_svg__b)"><path d="M19.09 5.86C11.28 5.86 4.95 12.19 4.95 20s6.33 14.14 14.14 14.14S33.23 27.81 33.23 20 26.9 5.86 19.09 5.86m0 26.28C12.4 32.14 6.95 26.69 6.95 20c0-6.13 4.57-11.2 10.48-12.01a12.07 12.07 0 0 0-2.63 7.52c0 6.7 5.45 12.14 12.14 12.14.56 0 1.11-.05 1.66-.13-2.23 2.81-5.66 4.62-9.52 4.62m1.43-30.72v2.17c0 .78-.63 1.42-1.42 1.42s-1.42-.63-1.42-1.42V1.42a1.419 1.419 0 1 1 2.84 0M9.31 4.13l1.27 1.75c.46.63.32 1.52-.31 1.98s-1.52.32-1.98-.31L7.02 5.8a1.42 1.42 0 0 1 .31-1.98 1.42 1.42 0 0 1 1.98.31m-7.45 8.78 2.06.67c.74.24 1.15 1.04.91 1.79s-1.04 1.15-1.79.91l-2.06-.67a1.417 1.417 0 0 1-.91-1.78c.24-.74 1.04-1.15 1.79-.91M.98 24.39l2.06-.67c.74-.24 1.54.16 1.79.91.24.74-.17 1.54-.91 1.78l-2.06.67a1.42 1.42 0 0 1-1.79-.91c-.24-.74.17-1.54.91-1.79m6.04 9.82 1.27-1.75a1.42 1.42 0 0 1 1.98-.31c.63.46.77 1.35.31 1.98l-1.27 1.75c-.46.63-1.35.77-1.98.31a1.42 1.42 0 0 1-.31-1.98m10.65 4.38v-2.16c0-.78.63-1.42 1.42-1.42s1.42.63 1.42 1.42v2.16c0 .78-.63 1.42-1.42 1.42s-1.42-.63-1.42-1.42m11.2-2.71-1.27-1.75a1.42 1.42 0 0 1 .31-1.98 1.42 1.42 0 0 1 1.98.31l1.27 1.75c.46.63.32 1.52-.31 1.98s-1.52.32-1.98-.31m7.46-8.78-2.06-.67a1.424 1.424 0 0 1-.91-1.79c.24-.74 1.04-1.15 1.79-.91l2.06.67c.74.24 1.15 1.04.91 1.78s-1.04 1.15-1.79.91m.87-11.47-2.06.67c-.74.24-1.54-.17-1.79-.91-.24-.74.17-1.54.91-1.78l2.06-.67c.74-.24 1.54.16 1.79.91.24.74-.17 1.54-.91 1.79M31.16 5.8l-1.27 1.75c-.46.63-1.34.77-1.98.31a1.42 1.42 0 0 1-.31-1.98l1.27-1.75a1.42 1.42 0 0 1 1.98-.31c.63.46.77 1.35.31 1.98"/></g></g></svg> 981 Day & Night 982 </li> 983 <li 984 class="theme-selection-item group flex w-full cursor-pointer flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 985 data-theme="dark" 986 data-selected="false"> 987 <svg class="theme-selection-icon mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-inherit" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 38.4 38.4"><defs><clipPath id="theme-dark_svg__a"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath><clipPath id="theme-dark_svg__b"><path fill="none" d="M0 0h38.4v38.4H0z"/></clipPath></defs><g clip-path="url(#theme-dark_svg__a)"><g fill="currentColor" clip-path="url(#theme-dark_svg__b)"><path d="M14.5 11.4c0-4.3 1.4-8.2 3.7-11.4C8.8 1.3 1.6 9.3 1.6 19.1s8.6 19.3 19.3 19.3 12.1-3.1 15.6-7.9c-.9.1-1.8.2-2.7.2-10.7 0-19.3-8.6-19.3-19.3m17.8-6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4V4.6c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m0 6.8v2.1c0 .8-.6 1.4-1.4 1.4s-1.4-.6-1.4-1.4v-2.1c0-.8.6-1.4 1.4-1.4s1.4.6 1.4 1.4m-5.8-3.7h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4m6.8 0h2.1c.8 0 1.4.6 1.4 1.4s-.6 1.4-1.4 1.4h-2.1c-.8 0-1.4-.6-1.4-1.4s.6-1.4 1.4-1.4"/></g></g></svg> 988 Dark 989 </li> 990 <li 991 class="theme-selection-item group flex w-full cursor-pointer flex-row items-center px-5 py-2 text-gray-300 hover:bg-gray-700 hover:text-green-400 focus:bg-gray-700 focus:text-green-400" 992 data-theme="system" 993 data-selected="true"> 994 <svg class="theme-selection-icon mr-2 inline-block h-5 w-5 text-gray-100 group-hover:text-green-400 group-focus:text-inherit" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="theme-system_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="theme-system_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#theme-system_svg__a)"><g clip-path="url(#theme-system_svg__b)">
994<path fill="currentColor" d="M20 0C8.95 0 0 8.95 0 20s8.95 20 20 20 20-8.95 20-20S31.05 0 20 0m0 38V2c9.92 0 18 8.08 18 18s-8.08 18-18 18"/></g></g></svg> 995 System 996 </li> 997 </ul> 998 </nav> 999 </div> 1000 </div> 1001</div> 1002 1003 1004 1005 <a class="flex flex-row flex-nowrap items-center gap-2 text-gray-300 hover:text-gray-100 focus:text-gray-100" 1006 href="/search/" title="Search" aria-label="Open search page"> 1007 <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="magnify_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="magnify_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#magnify_svg__a)"><g fill="none" clip-path="url(#magnify_svg__b)"><path fill="currentColor" d="M39.2 35.4 29 25.2c4.4-6.2 3.9-15-1.7-20.6C24.2 1.6 20.1 0 16 0S7.8 1.6 4.7 4.7c-6.2 6.2-6.2 16.4 0 22.6C7.8 30.4 11.9 32 16 32s6.5-1 9.3-3l10.2 10.2c.5.5 1.2.8 1.9.8s1.4-.3 1.9-.8c1-1 1-2.7 0-3.8M8.5 23.5c-2-2-3.1-4.7-3.1-7.5s1.1-5.5 3.1-7.5 4.7-3.1 7.5-3.1 5.5 1.1 7.5 3.1c4.2 4.2 4.2 10.9 0 15.1-2 2-4.7 3.1-7.5 3.1s-5.5-1.1-7.5-3.1"/></g></g></svg> 1008 <span class="sr-only">Search</span> 1009 </a> 1010 1011 1012 1013 1014 1015 1016 <div class="h-5 w-[1px] bg-gray-400"></div> 1017 1018 1019 1020 <div class="flex md:justify-center" data-modal-id="sign-in" x-data="arsModal()"> 1021 1022 <button type="button" aria-label="Sign in dialog..." class="whitespace-nowrap text-gray-300 hover:text-gray-100" aria-label="Open sign in dialog" x-on:click="show()"> 1023 Sign In 1024 </button> 1025 1026 1027 <template x-teleport="body"> 1028 <div class="fixed inset-0 z-[99999] overflow-y-auto" role="dialog" aria-modal="true" x-cloak x-show="open" 1029 x-on:keydown.escape.window.prevent.stop="hide()" x-id="['modal-title']" x-ref="panel" 1030 :aria-labelledby="$id('modal-title')"> 1031 1032 1033 <div class="fixed inset-0 bg-slate-900/80 opacity-100 backdrop-blur" x-show="open" x-transition.duration.150ms> 1034 </div> 1035 1036 1037 <div class="relative flex min-h-screen items-center justify-center" x-on:click="hide()" x-show="open" 1038 x-transition.duration.150ms> 1039 <div x-on:click.stop x-trap.noscroll.inert="open"> 1040 1041 <span class="sr-only" :id="$id('modal-title')"> 1042 Sign in dialog... 1043 </span> 1044 1045 1046 <div 1047 class="sign-in-panel absolute left-1/2 top-1/2 w-3/4 min-w-[320px] max-w-xl -translate-x-1/2 -translate-y-1/2" 1048> 1049 1050 <header 1051 class="font-impact flex items-center justify-between bg-gray-600 px-7 py-4 font-semibold uppercase" 1052 > 1053 <div class="text-gray-350 flex items-center gap-3"> 1054 <svg class="h-3 w-3 text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="arrow-blocks-right_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="currentColor" clip-path="url(#arrow-blocks-right_svg__a)"><path d="M32 16h8v8h-8zm-8 8h8v8h-8zm-8 8h8v8h-8zm8-24h8v8h-8zm-8-8h8v8h-8zM0 16h16v8H0z"/></g></svg> 1055 Sign in 1056 </div> 1057 <button 1058 class="text-gray-300 hover:text-gray-100 focus:text-gray-100" 1059 x-on:click="open = false" 1060 > 1061 <svg class="h-3 w-3" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34.7 40"><defs><clipPath id="x_svg__a"><path fill="none" d="M0 0h34.7v40H0z"/></clipPath></defs><g fill="none" clip-path="url(#x_svg__a)"><path fill="currentColor" d="m26.4 0-8.5 16.9h-1.1L8.3 0H.8l10.1 19.4L0 40h7.6l9.2-18.3h1.1L27.1 40h7.6L23.8 19.4 33.9 0z"/></g></svg> 1062 </button> 1063 </header> 1064 1065 1066 <div class="sign-in-panel-body bg-gray-700 px-7 py-4"> 1067 1068 1069 <div 1070 class="col-span-3 normal-case text-gray-300" 1071 x-data="arsSignInPanel()" 1072 x-on:modal-opened.window="onModalOpened($event)" 1073 > 1074 <div class="sign-in-form" x-ref="form"></div> 1075 </div> 1076 </div> 1077 1078</div> 1079 </div> 1080 </div> 1081 </div> 1082 </template> 1083</div> 1084 1085 </div> 1086</header> 1087 1088<main class="main relative -mt-4 lg:mt-6" id="main"> 1089 <article class="single-column h-entry post-21729 page type-page status-publish hentry" data-id="21729"> 1090 1091 <header> 1092 <div class="dusk:bg-gray-700 my-4 bg-gray-100 pt-2 md:mt-10 md:pt-5 lg:pb-2 lg:pt-7 dark:bg-gray-700"> 1093 <div class="mx-auto grid-cols-2 gap-8 md:px-5 lg:grid lg:max-w-5xl lg:px-8 xl:px-0"> 1094 <div class=""> 1095 <div class="mb-1 px-[15px] sm:px-5 md:px-0"> 1096 <div 1097 class="upper-deck font-impact text-green-450 dusk:text-green-400 inline-flex flex-row flex-nowrap items-center gap-2 text-left text-sm font-semibold uppercase leading-tight dark:text-green-400"> 1098 <span class="upper-deck__icon"> 1099 <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144.1 144.1"><defs><clipPath id="ars-circle-open_svg__a"><path fill="none" d="M0 0h144.1v144.1H0z"/></clipPath><clipPath id="ars-circle-open_svg__b"><path fill="none" d="M0 0h144.1v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-circle-open_svg__a)"><g fill="currentColor" clip-path="url(#ars-circle-open_svg__b)"><path d="M25.2 82.2c0 4.6 2.4 5.9 6.6 5.9s9.4-2.4 13.1-6.2V71.6c-16.3 1.6-19.7 6-19.7 10.6"/><path d="M72.1 0C32.3 0 0 32.3 0 72.1s32.3 72.1 72.1 72.1 72.1-32.3 72.1-72.1S111.8 0 72.1 0m-19 94h-6.
10996l-.9-5.9c-4 4.4-9.7 6.9-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5s-10.5 1.7-15.2 3.8l-1.1-7.1c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8Zm19.2-26v26h-8.2V50h6.6l1.3 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72.1 94.1 69 94.1 61.1s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.1-17.5 13.1"/></g></g></svg> 1100 </span> 1101 <span class="upper-deck__text"> 1102 Orbiting HQ 1103 </span> 1104</div> 1105 </div> 1106 1107 <h1 1108 class="dusk:text-gray-100 mb-3 px-[15px] font-serif text-3xl font-semibold leading-none text-gray-700 sm:px-5 md:px-0 md:text-4xl lg:text-5xl dark:text-gray-100"> 1109 Contact us 1110 </h1> 1111 1112 <p 1113 class="text-gray-550 dark:text-gray-250 dusk:text-gray-250 mt-4 px-[15px] text-lg leading-tight sm:px-5 md:px-0"> 1114 1115 </p> 1116 1117 </div> 1118 1119 <div class="mt-4 min-h-1 lg:mt-0"> 1120 </div> 1121 </div> 1122</div> 1123</header> 1124<div class="text-settings-dropdown-story mdl:absolute mdl:z-10 mdl:mb-0 mdl:mt-1 relative -mt-4 mb-2"> 1125 <div x-data="arsDropdown()" @keydown.escape.prevent.stop="close($refs.button)" 1126 @focusin.window="! $refs.panel.contains($event.target) && close()" x-id="['dropdown-button']"> 1127 1128 <!-- Button --> 1129 <button type="button" x-ref="button" 1130 x-on:click=" 1131 toggle(); 1132 $dispatch('dropdown-opened', { panel: $refs.panel }); 1133 " 1134 :aria-expanded="open" :aria-controls="$id('dropdown-button')" :class="{ selected: open }" 1135 class="group flex items-center bg-gray-150 dark:bg-gray-550 mdl:flex-col mdl:bg-transparent mdl:p-0 mdl:dark:bg-transparent flex w-full items-center justify-between px-[15px] py-2.5 sm:px-5 lg:px-8" arial-label="" aria-label="Open text settings dropdown"> 1136 <div class="flex items-center gap-2"> 1137 <svg class="dark:text-gray-250 mdl:h-7 mdl:w-7 h-5 w-5 text-gray-300 group-hover:text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 43 43"><defs><clipPath id="text-settings_svg__a"><path fill="none" stroke-width="0" d="M0 0h43v43H0z"/></clipPath><clipPath id="text-settings_svg__b"><path fill="none" stroke-width="0" d="M0 0h43v43H0z"/></clipPath></defs><g clip-path="url(#text-settings_svg__a)"><g fill="currentColor" clip-path="url(#text-settings_svg__b)"><path d="M33.52 17.82c-.69-.27-1.55-.4-2.55-.4-.6 0-1.28.03-2.04.08-.76.06-1.52.12-2.28.21-.76.08-1.43.18-2.01.29l.34 2.38c.97-.06 1.92-.12 2.84-.16q1.38-.06 2.31-.06c.74 0 1.25.13 1.52.39s.4.67.4 1.24v.56h-4.34c-1.13 0-2.02.27-2.67.8s-.97 1.28-.97 2.23v1.24c0 .7
11375.17 1.37.51 1.87q.51.75 1.38 1.14c.58.26 1.24.39 1.97.39s1.41-.12 1.99-.36a6.34 6.34 0 0 0 2.51-1.85l.38 1.92h2.86v-7.91c0-1.12-.18-1.99-.55-2.63a3 3 0 0 0-1.59-1.36m-1.49 8.42c-.06.04-.11.09-.17.13q-.735.48-1.47.75c-.49.18-.95.27-1.37.27-.5 0-.87-.11-1.09-.33-.23-.22-.34-.53-.34-.93v-.58c0-.36.09-.64.28-.85s.5-.31.94-.31l3.23-.02v1.87Zm-14.2-13q-.36-.27-.81-.27h-3.52q-.465 0-.81.27c-.23.18-.39.41-.47.7L7.35 29.72h3.81l1.23-4.42h5.77l1.23 4.42h3.79l-4.85-15.77a1.3 1.3 0 0 0-.47-.7m-4.71 9.27 1.42-5.1q.12-.405.21-.84c.06-.28.11-.55.16-.81h.65c.05.26.1.53.17.81s.13.56.19.84l1.42 5.1z"/><path d="M33.5 4.5c2.76 0 5 2.24 5 5v24.01c0 2.76-2.24 5-5 5h-24c-2.76 0-5-2.24-5-5V9.5c0-2.76 2.24-5 5-5zm0-3h-24c-4.42 0-8 3.58-8 8v24.01c0 4.42 3.58 8 8 8h24c4.42 0 8-3.58 8-8V9.5c0-4.42-3.58-8-8-8"/></g></g></svg> 1138 <span 1139 class="font-impact settings-text dark:text-gray-250 mdl:hidden text-xs font-semibold uppercase text-gray-300">Text 1140 settings</span> 1141 </div> 1142 <span class="settings-icon"> 1143 <svg class="dark:text-gray-250 mdl:hidden h-4 w-4 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.8 40"><defs><clipPath id="settings_svg__a"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath><clipPath id="settings_svg__b"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath></defs><g clip-path="url(#settings_svg__a)"><g fill="currentColor" clip-path="url(#settings_svg__b)"><path d="M17.4 3c-.8-1.8-2.5-3-4.5-3S9.1 1.2 8.3 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4V3H17.5Zm-4.6 4.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M27 15c-2 0-3.8 1.2-4.6 3H0v4h22.4c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h8.3v-4h-8.3c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12.9 30c-2 0-3.8 1.2-4.6 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4v-4H17.5c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5"/></g></g></svg> 1144 <svg class="dark:text-gray-250 mdl:block mt-[3px] hidden h-auto w-5 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 25.17"><defs><clipPath id="settings-compact_svg__a"><path fill="none" stroke-width="0" d="M0 0h40v25.17H0z"/></clipPath><clipPath id="settings-compact_svg__b"><path fill="none" stroke-width="0" d="M0 0h40v25.17H0z"/></clipPath></defs><g clip-path="url(#settings-compact_svg__a)"><g fill="currentColor" clip-path="url(#settings-compact_svg__b)"><path d="M27.09.09c-2.05 0-3.81 1.24-4.58 3H0v4h22.51c.77 1.76 2.53 3 4.58 3s3.81-1.24 4.58-3H40v-4h-8.33c-.77-1.76-2.53-3-4.58-3m0 7.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5m-14.18 7.58c-2.05 0-3.81 1.24-4.58 3H0v4h8.34c.77 1.76 2.53 3 4.58 3s3.81-1.24 4.58-3h22.51v-4H17.5c-.77-1.76-2.53-3-4.58-3m-.01 7.5a2.5 2.5 0 0 1 0-5 2.5 2.5 0 0 1 0 5"/></g></g></svg> 1145 </span> 1146 </button> 1147 1148 <!-- Panel --> 1149 <div x-cloak x-ref="panel" x-show="open" x-transition.origin.top.center x-on:click.outside="close()" 1150 :id="$id('dropdown-button')" class="absolute overflow-hidden z-50 bg-gray-550 absolute left-0 top-0"> 1151 <div class="text-settings"> 1152 <div class="text-settings-menu bg-gray-550 w-60"> 1153 <div class="flex items-center justify-between bg-gray-600 px-5 py-2"> 1154 <div class="flex items-center gap-2"> 1155 <svg class="h-5 w-5 text-green-400" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="text-settings-open_svg__a"><path fill="none" stroke-width="0" d="M0 0h40v40H0z"/></clipPath><clipPath id="text-settings-open_svg__b"><path fill="none" stroke-width="0" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#text-settings-open_svg__a)"><g fill="currentColor" clip-path="url(#text-settings-open_svg__b)"><path d="M26.38 23.2c-.19.21-.28.49-.28.85v.58c0 .4.11.72.34.93.23.22.59.33 1.09.33.42 0 .88-.09 1.37-.27q.735-.27 1.47-.75c.06-.04.11-.09.17-.13v-1.87h-3.23q-.66.015-.93.33"/><path d="M32 0H8C3.58 0 0 3.58 0 8v24.01C0 36.42 3.58 40 8 40h24c4.42 0 8-3.58 8-8V8c0-4.42-3.58-8-8-8M17.88 28.23l-1.23-4.42h-5.77l-1.23 4.42H5.84l4.88-15.77a1.316 1.316 0 0 1 1.28-.97h3.52q.465 0 .81.27c.23.18.39.41.47.7l4.85 15.77h-3.79Zm16.28 0H31.3l-.38-1.92c-.27.33-.59.65-.98.96-.44.35-.95.64-1.53.89-.58.24-1.25.36-1.99.36s-1.38-.13-1.97-.39q-.87-.39-1.38-1.14c-.34-.5-.51-1.12-.51-1.87v-1.24c0-.95.32-1.7.97-2.23s1.54-.8 2.67-.8h4.34v-.56c0-.57-.13-.98-.4-1.24s-.77-.39-1.52-.39c-.61 0-1.38.02-2.3.06s-1.87.09-2.84.16l-.34-2.38c.58-.11 1.25-.21 2.02-.29q1.14-.12 2.28-.21t2.04-.09c1 0 1.85.13 2.55.4.69.27 1.22.72 1.59 1.36.36.64.55 1.52.55 2.63v7.91Z"/><path d="M14.26 15.09c-.06-.28-.12-.55-.17-.81h-.65c-.05.26-.1.53-.16.81s-.12.56-.21.84l-1.42 5.1h4.22l-1.42-5.1c-.07-.27-.13-.55-.19-.84"/></g></g></svg>
1156 <span class="font-impact text-gray-350 text-base font-semibold uppercase">Story text</span> 1157 </div> 1158 <span class="text-settings-close" x-on:click="close();"> 1159 <svg class="h-4 w-4 text-gray-300" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="close_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g fill="none" clip-path="url(#close_svg__a)"><path fill="currentColor" d="M34.3 0 20 14.3 5.7 0H0v5.7L14.3 20 0 34.3V40h5.7L20 25.7 34.3 40H40v-5.7L25.7 20 40 5.7V0z"/></g></svg> 1160 </span> 1161 </div> 1162 1163 <div class="grid grid-cols-3 items-center gap-3 px-5 py-2"> 1164 <label class="font-impact w-20 text-base font-semibold uppercase text-gray-100" for="text-settings-size">Size</label> 1165<select name="text-settings-size" class="text-settings-size col-span-2 bg-gray-600 text-sm text-gray-300"> 1166 <option value="small">Small</option> 1167 <option value="standard" selected>Standard</option> 1168 <option value="large">Large</option> 1169</select> 1170 1171 1172<label class="font-impact hidden w-20 text-base font-semibold uppercase text-gray-100 md:block" 1173 for="text-settings-width">Width 1174 <span class="text-gray-400">*</span> 1175 </label> 1176<select name="text-settings-width" 1177 class="text-settings-width col-span-2 hidden bg-gray-600 text-sm text-gray-300 md:block"> 1178 <option value="standard" selected>Standard</option> 1179 <option value="wide">Wide</option> 1180</select> 1181 1182 1183<label class="font-impact w-20 text-base font-semibold uppercase text-gray-100" for="text-settings-links">Links</label> 1184<select name="text-settings-links" class="text-settings-links col-span-2 bg-gray-600 text-sm text-gray-300"> 1185 <option value="standard" selected>Standard</option> 1186 <option value="orange">Orange</option> 1187</select> 1188 1189 1190 <div class="font-impact col-span-3 hidden text-sm font-semibold uppercase text-gray-400 md:block"> 1191 <span class="mb-0 italic">* Subscribers only</span><br> 1192 <a href="/store/product/subscriptions/" class="text-green-400">Learn more</a> 1193 </div> 1194 1195 1196 <button 1197 class="font-impact text-settings-position col-span-3 mx-auto my-3 block rounded-sm border-2 border-green-400 px-3 py-1 text-base font-semibold uppercase text-gray-100" 1198 value="nav"> 1199 Minimize to nav 1200 </button> 1201 </div> 1202 </div> 1203 </div> 1204 </div> 1205 </div> 1206</div> 1207 1208 1209 1210 1211 1212 1213 <div class="post-content-wrapper relative mx-auto px-[15px] sm:max-w-3xl sm:px-5 lg:px-8 xl:px-0"> 1214 1215 <div class="post-content post-content-single"> 1216 1217 1218 1219 <div class='gf_browser_chrome gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_1' style='display:none'> 1220 <div class='gform_heading'> 1221 <h2 class="gform_title">Main Contact Form</h2> 1222 <p class='gform_description'></p> 1223 </div><form method='post' enctype='multipart/form-data' id='gform_1' action='/contact-us/' data-formid='1' novalidate> 1224 <div class='gform-body gform_body'><div id='gform_fields_1' class='gform_fields top_label form_sublabel_below description_below validation_below'><div id="field_1_20" class="gfield gfield--type-honeypot gform_validation_container field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_20'><span class='gform-field-label__text'>LinkedIn</span></label><div class='ginput_container'><input name='input_20' id='input_1_20' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_1_20'>This field is for validation purposes and should be left unchanged.</div></div><div id="field_1_1" class="gfield gfield--type-select gfield--input-type-select gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_1'><span class='gform-field-label__text'>Select a department</span><span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_select'><select name='input_1' id='input_1_1' class='large gfield_select' aria-required="true" aria-invalid="false" ><option value='Tips, Suggestions, and Press Releases' >Tips, Suggestions, and Press Releases</option><option value='Forum Moderation (Ars Technica OpenForum)' >
1224Forum Moderation (Ars Technica OpenForum)</option><option value='Front Page Commenting/Moderation' >Front Page Commenting/Moderation</option><option value='404 Errors / Technical Issues / Subscription Support' >404 Errors / Technical Issues / Subscription Support</option><option value='Contact the Editorial Team' >Contact the Editorial Team</option><option value='Press Inquiries, PR' >Press Inquiries, PR</option><option value='Advertise with Ars Technica' >Advertise with Ars Technica</option><option value='Partner with Ars Technica on Events' >Partner with Ars Technica on Events</option><option value='Report Malicious or Offensive Advertisement' >Report Malicious or Offensive Advertisement</option></select></div></div><div id="field_1_5" class="gfield gfield--type-text gfield--input-type-text field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_5'><span class='gform-field-label__text'>First name</span></label><div class='ginput_container ginput_container_text'><input name='input_5' id='input_1_5' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_1_18" class="gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_18'><span class='gform-field-label__text'>Last name</span></label><div class='ginput_container ginput_container_text'><input name='input_18' id='input_1_18' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_1_12" class="gfield gfield--type-text gfield--input-type-text gfield--width-full gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_12'><span class='gform-field-label__text'>Your username</span><span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_text'><input name='input_12' id='input_1_12' type='text' value='' class='large' aria-required="true" aria-invalid="false" /></div></div><div id="field_1_13" class="gfield gfield--type-text gfield--input-type-text gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_13'><span class='gform-field-label__text'>Offending username(s), if applicable</span></label><div class='ginput_container ginput_container_text'><input name='input_13' id='input_1_13' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_1_15" class="gfield gfield--type-website gfield--input-type-website gfield--width-full field_sublabel_below gfield--has-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_15'><span class='gform-field-label__text'>Comment URL</span></label><div class='ginput_container ginput_container_website'> 1225 <input name='input_15' id='input_1_15' type='url' value='' class='large' aria-describedby="gfield_description_1_15" placeholder='https://' aria-invalid="false" /> 1226 </div><div class='gfield_description' id='gfield_description_1_15'>The URL to a specific comment can be found on the time stamp for the comment.</div></div><div id="field_1_8" class="gfield gfield--type-email gfield--input-type-email gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_8'><span class='gform-field-label__text'>Email</span><span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_email'> 1227 <input name='input_8' id='input_1_8' type='email' value='' class='large' aria-required="true" aria-invalid="false" /> 1228 </div></div>
1228<div id="field_1_10" class="gfield gfield--type-text gfield--input-type-text field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_10'><span class='gform-field-label__text'>Subject</span></label><div class='ginput_container ginput_container_text'><input name='input_10' id='input_1_10' type='text' value='' class='large' aria-invalid="false" /></div></div><div id="field_1_11" class="gfield gfield--type-textarea gfield--input-type-textarea gfield_contains_required field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_11'><span class='gform-field-label__text'>Message</span><span class="gfield_required"><span class="gfield_required gfield_required_text">(Required)</span></span></label><div class='ginput_container ginput_container_textarea'><textarea name='input_11' id='input_1_11' class='textarea large' aria-required="true" aria-invalid="false" rows='10' cols='50'></textarea></div></div><div id="field_1_19" class="gfield gfield--type-captcha gfield--input-type-captcha gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible" ><label class='gfield_label gform-field-label' for='input_1_19'><span class='gform-field-label__text'>CAPTCHA</span></label><div id='input_1_19' class='ginput_container ginput_recaptcha' data-sitekey='6Le6n1cqAAAAAB9LpqblXZvrnlwaZSRy9coWEkgG' data-theme='light' data-tabindex='0' data-badge=''></div></div></div></div> 1229 <div class='gform-footer gform_footer top_label'> <button type='submit' id='gform_submit_button_1' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' >Submit</button> 1230 <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_1' value='postback' /> 1231 <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_1' id='gform_theme_1' value='gravity-theme' /> 1232 <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_1' id='gform_style_settings_1' value='[]' /> 1233 <input type='hidden' class='gform_hidden' name='is_submit_1' value='1' /> 1234 <input type='hidden' class='gform_hidden' name='gform_submit' value='1' /> 1235 1236 <input type='hidden' class='gform_hidden' name='gform_currency' data-currency='USD' value='ouEeqC6V/WT1IW4XZ/f5hYMF4h+UtvykISxbgmNl7oy+/0FkdBtoh+WIW/rgFwvktzaE0pGYAnlK16F2CyDF6a9gdcaAk6hPr9uMK4pH+GdTa6A=' /> 1237 <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> 1238 <input type='hidden' class='gform_hidden' name='state_1' value='WyJ7XCIxXCI6W1wiYzhlZjk0Zjc2NDhiYWQ2OGRmMjgyYTA1NjI1ODlkMWRcIixcIjEyYTUzNTRiOWViZGVkNDEyNWE1ZmI5NWEwYjQ4ZmMxXCIsXCJlOTQ3OGMzNTViMzY0YTJhZWNmNWUzMDRjYWQ3MTEwZVwiLFwiOTcyNzQyNzk2MWJjOGRkZTZiYjc5YzY5NGYyYWEwNDRcIixcImZjYjRmMDAyY2Q4YzcxZjAzMjE1NTkxYjAyZDVkM2QzXCIsXCI3MzE5ZmFkZTJjYzI5ZjllNTcwM2NkOTJmOTJjOGZjOFwiLFwiOGZkNzhjYTljNTUyYmJiOWY4YjcwMDRkZTRhODVkZGNcIixcIjAwOTNiODlhYTFmYzkxMTk5Y2VkZDc1NTU5MTQ0NTUyXCIsXCJiYTY1OWI3MzIwOGQwZGQ0NmVjNTgzZjg2ZGYwNGUzY1wiXSxcImdmb3JtX3N1Ym1pc3Npb25fbWV0aG9kXCI6W1wiZDk5ZWU0ZDY4ZTJmYjdlNDU1NDg5N2YxYmE1YzQwZTlcIixcIjIzNzM2Y2I5ZjljOWY4ZDFkMWY2NGMzOTE0MzNkMGJjXCJdLFwiZ2Zvcm1fdGhlbWVcIjpcIjQyYzg3NGIxNzhjMjFiMzYyMjYwMDIzZGI1ZTUyYmI5XCIsXCJnZm9ybV9zdHlsZV9zZXR0aW5nc1wiOlwiOWJjZTVmN2M2ZjEzYjg3NmRhNWYxNWYxZjc0NDIzMTlcIixcImZvcm1faWRcIjpcIjQ5ZTdmYmIzNzdiMzNhYjdhNjQ2ZTg4YmU4NzgwM2Y3XCIsXCJ1cmxcIjpcIjc5MGExNjU0ZTJkMzdlYWFlYTVhYjlkZmMyOTMwZjczXCIsXCJzdGF0ZV90aW1lc3RhbXBcIjpcImY2Mjk5NDgwNjQ2ZDg0YzkwZGNmNzlmZTRkNTljZmFjXCJ9IiwiNjJkNjg5Njk2YWE4NmE0OGQ4ZTJjNjJjMWNhYmNjYjUiLDE3OTAyMjk3OTFd' /> 1239 <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_1' id='gform_target_page_number_1' value='0' /> 1240 <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_1' id='gform_source_page_number_1' value='1' /> 1241 <input type='hidden' name='gform_field_values' value='' /> 1242 1243 </div> 1244 </form> 1245 </div> 1246 1247 1248 1249 </div> 1250 1251 1252 1253 1254 <div class="-mx-2.5 sm:mx-0"> 1255 </div> 1256 1257 1258 1259 1260 1261 1262 1263 1264 </div> 1265 </article> 1266 1267 1268<div class="relative"> 1269 </div> 1270 1271 1272 1273 1274 <div class="single-most-read relative mx-auto mb-5 px-[15px] sm:max-w-3xl sm:px-5 lg:px-8 xl:px-0"> 1275 <div class="dusk:bg-gray-700 bg-gray-100 dark:bg-gray-700"> 1276 <div 1277 class="component-most-read font-impact flex h-full min-h-[300px] flex-col flex-nowrap gap-5 pb-5 uppercase text-white"> 1278 <div> 1279 <header class="flex flex-row flex-nowrap items-center justify-center gap-2 bg-gray-600 px-5 py-2"> 1280 <svg class="h-[20px] w-[30px] text-gray-100" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 26"><defs><clipPath id="most-read_svg__a"><path fill="none" d="M0 0h40v26H0z"/></clipPath><clipPath id="most-read_svg__b"><path fill="none" d="M0 0h40v26H0z"/></clipPath></defs><g clip-path="url(#most-read_svg__a)"><g fill="none" clip-path="url(#most-read_svg__b)">
1280<path fill="currentColor" d="M20 2h.8q1.5 0 3 .6c.6.2 1.1.4 1.7.6 1.3.5 2.6 1.3 3.9 2.1.6.4 1.2.8 1.8 1.3 2.9 2.3 5.1 4.9 6.3 6.4-1.1 1.5-3.4 4-6.3 6.4-.6.5-1.2.9-1.8 1.3q-1.95 1.35-3.9 2.1c-.6.2-1.1.4-1.7.6q-1.5.45-3 .6h-1.6q-1.5 0-3-.6c-.6-.2-1.1-.4-1.7-.6-1.3-.5-2.6-1.3-3.9-2.1-.6-.4-1.2-.8-1.8-1.3-2.9-2.3-5.1-4.9-6.3-6.4 1.1-1.5 3.4-4 6.3-6.4.6-.5 1.2-.9 1.8-1.3q1.95-1.35 3.9-2.1c.6-.2 1.1-.4 1.7-.6q1.5-.45 3-.6zm0-2h-1c-1.2 0-2.3.3-3.4.6-.6.2-1.3.4-1.9.7-1.5.6-2.9 1.4-4.3 2.3-.7.5-1.3.9-1.9 1.4C2.9 8.7 0 13 0 13s2.9 4.3 7.5 7.9c.6.5 1.3 1 1.9 1.4 1.3.9 2.7 1.7 4.3 2.3.6.3 1.3.5 1.9.7 1.1.3 2.3.6 3.4.6h2c1.2 0 2.3-.3 3.4-.6.6-.2 1.3-.4 1.9-.7 1.5-.6 2.9-1.4 4.3-2.3.7-.5 1.3-.9 1.9-1.4C37.1 17.3 40 13 40 13s-2.9-4.3-7.5-7.9c-.6-.5-1.3-1-1.9-1.4-1.3-.9-2.8-1.7-4.3-2.3-.6-.3-1.3-.5-1.9-.7C23.3.4 22.1.1 21 .1h-1"/><path fill="#ff4e00" d="M20 5c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8m0 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3"/></g></g></svg> 1281 <div class="font-impact inline text-xl font-extrabold uppercase text-green-400"> 1282 Most Read</div> 1283 </header> 1284 <ol> 1285 <li class="group relative"> 1286 <a href="https://arstechnica.com/gadgets/2026/09/owners-mourn-spoiled-food-after-firmware-update-bricks-samsung-smart-fridges/"> 1287 <img class="aspect-video h-auto w-full rounded-sm object-cover group-hover:saturate-150" 1288 src="https://cdn.arstechnica.net/wp-content/uploads/2026/09/Samsung-Bespoke-AI-3-Door-Refrigerator-AutoView-950x534-1-500x500-1790182590.jpg" 1289 alt="Listing image for first story in Most Read: Owners mourn spoiled food after firmware update bricks Samsung smart fridges" 1290 decoding="async" loading="lazy"> 1291 </a> 1292 <div class="relative px-[15px] py-4 sm:px-5"> 1293 <div class="most-read-divider absolute left-5 top-[-3px] h-[5px] w-1/4 bg-green-400"> 1294 </div> 1295 <span 1296 class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> 1297 <span class="shrink-0 text-green-400">1.</span> 1298 <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" 1299 href="https://arstechnica.com/gadgets/2026/09/owners-mourn-spoiled-food-after-firmware-update-bricks-samsung-smart-fridges/">Owners mourn spoiled food after firmware update bricks Samsung smart fridges</a> 1300 </span> 1301 </div> 1302 </li> 1303 <li class="group relative"> 1304 <div class="relative px-[15px] py-4 sm:px-5"> 1305 <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> 1306 </div> 1307 <span 1308 class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> 1309 <span class="shrink-0 text-green-400">2.</span> 1310 <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" 1311 href="https://arstechnica.com/cars/2026/09/aftermarket-driver-assist-under-federal-probe-following-fatal-crashes/">Aftermarket driver assist under federal probe following fatal crashes</a> 1312 </span> 1313 </div> 1314 </li> 1315 <li class="group relative"> 1316 <div class="relative px-[15px] py-4 sm:px-5"> 1317 <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> 1318 </div> 1319 <span 1320 class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> 1321 <span class="shrink-0 text-green-400">3.</span> 1322 <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" 1323 href="https://arstechnica.com/health/2026/09/womans-brain-worm-infection-confirmed-after-eggs-grow-tails-in-lab-test/">Woman's brain worm infection confirmed after eggs grow tails in lab test</a> 1324 </span> 1325 </div> 1326 </li> 1327 <li class="group relative"> 1328 <div class="relative px-[15px] py-4 sm:px-5"> 1329 <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> 1330 </div>
1331 <span 1332 class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> 1333 <span class="shrink-0 text-green-400">4.</span> 1334 <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" 1335 href="https://arstechnica.com/space/2026/09/there-are-now-17000-satellites-in-orbit-and-growing-should-we-be-concerned/">A new report from Europe raises serious alarms about orbital collisions</a> 1336 </span> 1337 </div> 1338 </li> 1339 <li class="group relative"> 1340 <div class="relative px-[15px] py-4 sm:px-5"> 1341 <div class="most-read-divider absolute left-5 top-0 h-[1px] w-1/4 bg-gray-400"> 1342 </div> 1343 <span 1344 class="flex flex-row flex-nowrap items-start gap-4 font-serif text-xl font-bold normal-case leading-tight"> 1345 <span class="shrink-0 text-green-400">5.</span> 1346 <a class="most-read-title text-gray-100 visited:text-gray-400 hover:text-orange-400" 1347 href="https://arstechnica.com/tech-policy/2026/09/discord-age-verification-rolls-out-today-with-changes-spurred-by-user-backlash/">Discord age verification rolls out today with changes spurred by user backlash</a> 1348 </span> 1349 </div> 1350 </li> 1351 </ol> 1352 </div> 1353 <div class="most-read-customize text-center"> 1354 <button 1355 class="btn-customize font-impact mt-5 inline-flex flex-row flex-nowrap items-center justify-center gap-2 font-semibold uppercase text-gray-300 hover:text-gray-100" 1356 aria-label="Customize view settings" x-data x-on:click="$dispatch('view-settings-bar-open');"> 1357 <svg class="h-5 w-5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 39.8 40"><defs><clipPath id="settings_svg__a"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath><clipPath id="settings_svg__b"><path fill="none" d="M0 0h39.8v40H0z"/></clipPath></defs><g clip-path="url(#settings_svg__a)"><g fill="currentColor" clip-path="url(#settings_svg__b)"><path d="M17.4 3c-.8-1.8-2.5-3-4.5-3S9.1 1.2 8.3 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4V3H17.5Zm-4.6 4.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M27 15c-2 0-3.8 1.2-4.6 3H0v4h22.4c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h8.3v-4h-8.3c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5M12.9 30c-2 0-3.8 1.2-4.6 3H0v4h8.3c.8 1.8 2.5 3 4.6 3s3.8-1.2 4.6-3h22.4v-4H17.5c-.8-1.8-2.5-3-4.6-3m0 7.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5"/></g></g></svg> 1358 <span>Customize</span> 1359 </button> 1360 </div> 1361</div> 1362 </div> 1363 </div> 1364 </main> 1365 1366 1367<footer class="site-footer bg-black"> 1368 <div class="mx-auto max-w-6xl px-4 text-gray-300"> 1369 <div class="justify-between gap-10 py-8 md:flex"> 1370 <div class="site-footer-statement text-center md:w-3/5 md:text-left"> 1371 <a href="/"><svg class="mb-6 inline h-10 md:mb-4 md:h-12 lg:h-14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 436 144.1"><defs><clipPath id="ars-full-mono_svg__a"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath><clipPath id="ars-full-mono_svg__b"><path fill="none" d="M0 0h436v144.1H0z"/></clipPath></defs><g clip-path="url(#ars-full-mono_svg__a)"><g fill="currentColor" clip-path="url(#ars-full-mono_svg__b)"><path d="M218.8 83.7c-4.4 3.7-8.4 5-12.8 5-7.7 0-12.7-5.3-13.5-14h24.8l.9-5.5h-25.7c.8-8.7 5.7-14.1 12.9-14.1s8.8 1.7 12.9 5.1l1-5.9c-4-2.9-8.8-4.4-13.7-4.3-10.7 0-19.2 7.8-19.2 21.9s8.3 21.9 18.9 21.9c5.2.1 10.2-1.6 14.3-4.8zm-48.7-27.5v36.9h-5.8V56.2h-13.4v-5.3H183l.9 5.3H170Zm74.5 37.6c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1M292 93V73.5h-21.4V93h-5.8V50.9h5.8v17.5H292V50.9h5.8V93zm42.9 0-23.2-32.8V93h-5.3V50.9h5.1l22.4 31.5V50.9h5.3V93zm13.4-42.1h5.8V93h-5.8zm32.6 42.9c-11.9 0-19.5-8.8-19.5-21.8s7.8-22 19.6-22c4.3-.1 8.5 1.1 12 3.5l-.9 5.9c-3.2-2.6-7.1-4-11.2-4.1-8.6 0-13.6 6.5-13.6 16.6s5.1 16.6 13.6 16.6c4.3 0 8.5-1.6 11.9-4.2l.9 5.4c-3.7 2.6-8.2 4.1-12.8 4.1m32.9-43.1h5.8l16.3 41.5-5.6 1.2-5-13.1h-17.4L403.1 93h-5.8zm-4 24.6h13.5l-6.8-17.9zM72 0C32.3 0 0 32.3 0 72.1s32.3 72.1 72 72.1 72.1-32.3 72.1-72.1S111.8 0 72 0M53 94h-6.
13716l-.9-5.9c-4 4.4-9.6 6.8-15.6 6.8-8 0-13-4.8-13-12.3 0-11 9.4-15.4 27.8-17.3v-1.9c0-5.6-3.3-7.5-8.4-7.5S25.8 57.6 21 59.7l-1.1-7.1c5.3-2.1 10.3-3.7 17.1-3.7 10.7 0 15.9 4.3 15.9 14.2v30.8Zm19.2-26v26H64V50h6.6l1.4 9c3.1-5 8.2-9.5 15.5-9.9l1.3 7.9c-7.4.3-13.6 5.2-16.6 11m37.2 26.9c-5.6-.1-11.1-1.6-16.1-4.2l1.2-7.8c4.6 3.2 10 5 15.6 5.1 5.6 0 9-2.1 9-5.8s-2.5-5.6-10.5-7.5C98.2 72.1 94.1 69 94.1 61.1s5.9-12.2 15.6-12.2c5 0 9.9 1 14.5 3l-1.3 7.8c-4.1-2.4-8.7-3.7-13.4-3.8-5 0-7.6 1.9-7.6 5.1s2.2 4.6 9.2 6.4c10.9 2.8 15.8 5.9 15.8 14.3s-6.1 13.2-17.5 13.2"/><path d="M25.2 82.2c0 4.6 2.4 5.9 6.6 5.9s9.4-2.4 13.1-6.2V71.6c-16.3 1.6-19.7 6-19.7 10.6"/></g></g></svg> 1372</a> 1373 <p>Ars Technica has been separating the signal from 1374 the noise for over 25 years. With our unique combination of 1375 technical savvy and wide-ranging interest in the technological arts 1376 and sciences, Ars is the trusted source in a sea of information. After 1377 all, you donât need to know everything, only whatâs important.</p> 1378 <p class="mt-4"> 1379 <a href="https://bsky.app/profile/arstechnica.com" aria-label="Follow Ars Technica on Bluesky"> 1380 <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="bluesky-logo_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="bluesky-logo_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#bluesky-logo_svg__a)"><g clip-path="url(#bluesky-logo_svg__b)"><path fill="currentColor" d="M14.34 12.38c2.29 1.72 4.76 5.21 5.67 7.08.9-1.87 3.37-5.36 5.66-7.08 1.65-1.24 4.34-2.2 4.34.85 0 .61-.35 5.13-.56 5.86-.71 2.55-3.32 3.2-5.63 2.81 4.05.69 5.07 2.97 2.85 5.25-4.22 4.33-6.07-1.09-6.54-2.47-.09-.26-.13-.37-.13-.27 0-.1-.04.02-.13.27-.47 1.39-2.32 6.81-6.54 2.47-2.22-2.28-1.19-4.56 2.85-5.25-2.31.39-4.92-.26-5.63-2.81-.2-.73-.56-5.25-.56-5.86 0-3.06 2.68-2.1 4.34-.85Z"/></g></g></svg> 1381 </a> 1382 <a href="https://mastodon.social/@arstechnica" aria-label="Follow Ars Technica on Mastodon"> 1383 <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="mastodon-logo_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="mastodon-logo_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#mastodon-logo_svg__a)"><g clip-path="url(#mastodon-logo_svg__b)"><path fill="currentColor" d="M29.15 16.58c0-4.3-2.8-5.6-2.8-5.6-1.4-.7-3.9-.9-6.5-1-2.6 0-5 .3-6.4 1 0 0-2.8 1.3-2.8 5.6v3.4c.1 4.2.8 8.4 4.7 9.5 1.8.5 3.4.6 4.6.5 2.3-.1 3.5-.8 3.5-.8v-1.6s-1.7.5-3.5.4c-1.8 0-3.7-.2-4-2.4v-.6s1.8.4 4 .5c1.4 0 2.7 0 4-.2 2.5-.3 4.7-1.8 5-3.3.4-2.2.4-5.4.4-5.4zm-3.4 5.6h-2.1v-5.1c0-1.1-.5-1.6-1.4-1.6s-1.5.6-1.5 1.9v2.8h-2.1v-2.8c0-1.3-.5-1.9-1.5-1.9s-1.4.5-1.4 1.6v5.1h-2.1v-5.3c0-1.1.3-1.9.8-2.6.6-.6 1.3-1 2.2-1s1.9.4 2.4 1.2l.5.9.5-.9q.75-1.2 2.4-1.2c1.6 0 1.7.3 2.2 1 .6.6.8 1.5.8 2.6v5.3z"/></g></g></svg> 1384 </a> 1385 <a href="https://www.facebook.com/arstechnica" aria-label="Follow Ars Technica on Facebook"> 1386 <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="facebook-logo_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="facebook-logo_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#facebook-logo_svg__a)"><g clip-path="url(#facebook-logo_svg__b)"><path fill="currentColor" d="M17.3 13.8v2.8h-2V20h2v10h4.2V20h2.8s.3-1.6.4-3.4h-3.2v-2.3c0-.3.5-.8.9-.8h2.3V10h-3.1c-4.4 0-4.3 3.4-4.3 3.9"/></g></g></svg> 1387 </a> 1388 <a href="https://www.youtube.com/@arstechnica" aria-label="Follow Ars Technica on YouTube"> 1389 <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="youtube-logo_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="youtube-logo_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#youtube-logo_svg__a)"><g clip-path="url(#youtube-logo_svg__b)">
1389<path fill="currentColor" d="M29.5 15.2c-.1-.4-.3-.8-.6-1.1s-.7-.5-1.1-.7C26.2 13 20 13 20 13s-6.3 0-7.8.4c-.4.1-.8.3-1.1.7-.3.3-.5.7-.6 1.1-.4 1.6-.4 4.8-.4 4.8s0 3.3.4 4.8c.1.4.3.8.6 1.1s.7.5 1.1.7c1.6.4 7.8.4 7.8.4s6.3 0 7.8-.4c.4-.1.8-.3 1.1-.7s.5-.7.6-1.1c.4-1.6.4-4.8.4-4.8s0-3.3-.4-4.8M17.9 23v-5.9l5.2 3-5.2 3z"/></g></g></svg> 1390 </a> 1391 <a href="https://www.instagram.com/arstechnica/" aria-label="Follow Ars Technica on Instagram"> 1392 <svg class="inline h-12 w-12" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40"><defs><clipPath id="insta-logo_svg__a"><path fill="none" d="M0 0h40v40H0z"/></clipPath><clipPath id="insta-logo_svg__b"><path fill="none" d="M0 0h40v40H0z"/></clipPath></defs><g clip-path="url(#insta-logo_svg__a)"><g clip-path="url(#insta-logo_svg__b)"><path fill="currentColor" d="M20 10h4.1c1.1 0 1.8.2 2.4.5.7.3 1.2.6 1.8 1.2s.9 1.1 1.2 1.8c.2.6.4 1.4.5 2.4v8.2c0 1.1-.2 1.8-.5 2.4-.3.7-.6 1.3-1.2 1.8-.6.6-1.1.9-1.8 1.2-.6.2-1.4.4-2.4.5h-8.2c-1.1 0-1.8-.2-2.4-.5-.7-.3-1.3-.6-1.8-1.2q-.75-.75-1.2-1.8c-.2-.6-.4-1.4-.5-2.4v-8.2c0-1.1.2-1.8.5-2.4.3-.7.6-1.2 1.2-1.8s1.1-.9 1.8-1.2c.6-.2 1.4-.4 2.4-.5zm0 2.5h-3.7c-.9 0-1.4.2-1.7.3-.4.1-.8.4-1.1.7s-.5.6-.7 1.1c-.1.3-.3.8-.3 1.7v7.4c0 .9.2 1.4.3 1.7.2.4.4.7.7 1.1.3.3.6.5 1.1.7.3.1.8.3 1.7.3h7.4c.9 0 1.4-.2 1.7-.3.4-.2.7-.4 1.1-.7.3-.3.5-.6.7-1.1.1-.3.3-.8.3-1.7v-7.4c0-.9-.2-1.4-.3-1.7-.1-.4-.4-.8-.7-1.1s-.7-.5-1.1-.7c-.3-.1-.8-.3-1.7-.3zm0 2.2c.7 0 1.4.1 2 .4s1.2.7 1.7 1.1c.5.5.9 1.1 1.1 1.7.3.6.4 1.3.4 2s-.1 1.4-.4 2-.7 1.2-1.1 1.7c-.5.5-1.1.9-1.7 1.1-.6.3-1.3.4-2 .4-1.4 0-2.7-.6-3.7-1.5-1-1-1.5-2.3-1.5-3.7s.6-2.7 1.5-3.7 2.3-1.5 3.7-1.5m0 8.3q1.2 0 2.1-.9T23 20c0-1.2-.3-1.5-.9-2.1S20.8 17 20 17c-1.2 0-1.5.3-2.1.9q-.9.9-.9 2.1c0 1.2.3 1.5.9 2.1q.9.9 2.1.9m6.6-8.1c0 .4-.2.7-.4 1s-.6.4-1 .4-.7-.2-1-.4c-.3-.3-.4-.6-.4-1s.2-.7.4-1c.3-.3.6-.4 1-.4s.7.2 1 .4c.3.3.4.6.4 1"/></g></g></svg> 1393 </a> 1394 </p> 1395 </div> 1396 <div class="text-center md:w-1/5 md:text-left"> 1397 <span class="font-impact mb-4 mt-6 block font-semibold uppercase">More 1398 from Ars 1399 </span> 1400 <ul id="menu-more_navigation" class="menu"><li id="menu-item-1971876" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971876"><a href="https://arstechnica.com/about-us/">About Us</a></li> 1401<li id="menu-item-1971877" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971877"><a href="https://arstechnica.com/staff-directory/">Staff Directory</a></li> 1402<li id="menu-item-1971879" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971879"><a href="https://arstechnica.com/general-faq/">General FAQ</a></li> 1403<li id="menu-item-2106316" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2106316"><a href="https://arstechnica.com/ars-technica-posting-guidelines-v3-0/">Posting Guidelines</a></li> 1404<li id="menu-item-2151139" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2151139"><a href="https://arstechnica.com/ai-policy/">AI Policy</a></li> 1405<li id="menu-item-1971880" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971880"><a href="https://arstechnica.com/rss-feeds/">RSS Feeds</a></li> 1406</ul> 1407 </div> 1408 <div class="text-center md:w-1/5 md:text-left"> 1409 <span class="font-impact mb-4 mt-6 block font-semibold uppercase">Contact</span> 1410 <ul id="menu-contact_navigation" class="menu"><li id="menu-item-1971881" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-21729 current_page_item menu-item-1971881"><a href="https://arstechnica.com/contact-us/" aria-current="page">Contact us</a></li> 1411<li id="menu-item-1971884" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1971884"><a target="_blank" href="mailto:[email protected]">Advertise with us</a></li> 1412<li id="menu-item-1971882" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-1971882"><a href="https://arstechnica.com/reprints/">Reprints</a></li> 1413</ul> 1414 </div> 1415 </div> 1416 1417 <div class="pb-10 pt-5" id="copyright-terms"> 1418 <div class="mb-4 flex flex-row flex-nowrap items-center gap-2"> 1419 <svg class="h-4" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 14"><path d="M7.4 12.8h6.8l3.1-11.6H7.4C4.2 1.2 1.6 3.8 1.6 7s2.6 5.8 5.8 5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#fff"/><path d="M22.6 0H7.4c-3.9 0-7 3.1-7 7s3.1 7 7 7h15.2c3.9 0 7-3.1 7-7s-3.2-7-7-7m-21 7c0-3.2 2.6-5.8 5.8-5.8h9.9l-3.1 11.6H7.4c-3.2 0-5.8-2.6-5.8-5.8" style="fill-rule:evenodd;clip-rule:evenodd;fill:#06f"/><path d="M24.6 4c.2.2.2.6 0 .8L22.5 7l2.2 2.2c.2.2.2.6 0 .8s-.6.2-.8 0l-2.2-2.2-2.2 2.2c-.2.2-.6.2-.8 0s-.2-.6 0-.8L20.8 7l-2.2-2.2c-.2-.2-.2
1419-.6 0-.8s.6-.2.8 0l2.2 2.2L23.8 4c.2-.2.6-.2.8 0" style="fill:#fff"/><path d="M12.7 4.1c.2.2.3.6.1.8L8.6 9.8c-.1.1-.2.2-.3.2-.2.1-.5.1-.7-.1L5.4 7.7c-.2-.2-.2-.6 0-.8s.6-.2.8 0L8 8.6l3.8-4.5c.2-.2.6-.2.9 0" style="fill:#06f"/></svg> 1420 <button id="fides-modal-link"> 1421 Manage Preferences 1422 </button> 1423 </div> 1424 1425 © 2026 Condé Nast. All rights reserved. Use of and/or 1426 registration on any portion of this site constitutes acceptance of our <a 1427 href="https://www.condenast.com/user-agreement/">User Agreement</a> and 1428 <a href="https://www.condenast.com/privacy-policy/">Privacy Policy and 1429 Cookie Statement</a> and <a href="/amendment-to-conde-nast-user-agreement-privacy-policy/">Ars 1430 Technica Addendum</a> and <a href="https://www.condenast.com/privacy-policy/#california">Your 1431 California Privacy Rights</a>. Ars Technica may earn compensation on 1432 sales from links on this site. <a href="/affiliate-link-policy/">Read our 1433 affiliate link policy</a>. The material on this site may not be 1434 reproduced, distributed, transmitted, cached or otherwise used, except 1435 with the prior written permission of Condé Nast. <a href="https://www.aboutads.info/">Ad 1436 Choices</a> 1437 </div> 1438 </div> 1439</footer> 1440 </div> 1441 1442
1442<script type="speculationrules"> 1443{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp/wp-*.php","/wp/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/ars-v9/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1444</script>
vendor: 1 bytes, line 1444
1444
1445<script> 1446 function loadInterlude() { 1447 const div = document.querySelector('.ars-interlude-container'); 1448 if (!div) { 1449 return; 1450 } 1451 1452 // Exclude on sponsored posts 1453 if (document.querySelector('.single-ars_sponsored_post')) { 1454 return; 1455 } 1456 1457 // If on an article page and the interlude container exists 1458 if (document.querySelector('body.single')) { 1459 const parent = div.parentElement; 1460 1461 // Get all the top level elements in the parent that aren't the interlude container 1462 const elems = Array.from(parent.children).filter((elem) => elem !== div); 1463 // Loop over the elements in reverse order 1464 for (let i = elems.length - 1; i >= 0; i--) { 1465 const elem = elems[i]; 1466 // If the next element isn't one of: h1, h2, h3, h4, h5, h6, or div, insert the interlude container before it 1467 const nextElem = elems[i - 1]; 1468 if (nextElem && !['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'DIV'].includes(nextElem.tagName)) { 1469 // Add .my-5 to the interlude container 1470 div.classList.add('my-5'); 1471 parent.insertBefore(div, elem); 1472 1473 const src = 1474 'https://player.cnevids.com/interlude/arstechnica.js?videoEmbedPosition=inlineEmbedded'; 1475 const s = document.createElement('script'); 1476 s.setAttribute('async', true); 1477 s.setAttribute('src', src); 1478 document.body.appendChild(s); 1479 1480 break; 1481 } 1482 } 1483 } 1484 } 1485 1486 // Only load the video player if we have analytics consent (post-consent) 1487 function checkAndLoadInterlude() { 1488 if (window.Fides?.consent?.analytics) { 1489 loadInterlude(); 1490 } 1491 } 1492 1493 // Check if Fides is already initialized 1494 if (window.Fides?.initialized) { 1495 checkAndLoadInterlude(); 1496 } else { 1497 // Wait for Fides to initialize 1498 window.addEventListener('FidesInitialized', checkAndLoadInterlude); 1499 } 1500 1501 // Re-check whenever consent is updated 1502 window.addEventListener('FidesUpdated', checkAndLoadInterlude); 1503</script>
1503 1504<!-- Parse.ly start -->
1505<script> 1506 // Conditionally load Parse.ly script if Fides.consent.analytics is true 1507 function loadParsely() { 1508 const existingScript = document.getElementById("parsely-cfg"); 1509 if (window.Fides?.consent?.analytics && !existingScript) { 1510 var script = document.createElement("script"); 1511 script.src = "//fpa-cdn.arstechnica.com/keys/arstechnica.com/p.js"; 1512 script.async = true; 1513 script.setAttribute("id", "parsely-cfg"); 1514 document.head.appendChild(script); 1515 } else if (!window.Fides?.consent?.analytics && existingScript) { 1516 existingScript.remove(); 1517 } 1518 } 1519 if (window.Fides?.initialized) { 1520 loadParsely(); 1521 } else { 1522 window.addEventListener("FidesInitialized", loadParsely); 1523 } 1524 addEventListener("FidesUpdated", loadParsely); 1525</script>
1525 1526<!-- Parse.ly end -->
1527<script id="article_forum_connect_iframe_resizer-js" src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe-resizer.parent.js?ver=5.3.1"></script>
vendor: 1 bytes, line 1527
1527
1528<script id="article_forum_connect_iframe-js" src="https://cdn.arstechnica.net/wp-content/plugins/article-forum-connect/public/js/iframe.js?ver=1.2.4"></script>
vendor: 1 bytes, line 1528
1528
1529<script id="wp-dom-ready-js" src="https://cdn.arstechnica.net/wp/wp-includes/js/dist/dom-ready.min.js?ver=3fe927cab37bf38d6a23"></script>
vendor: 1 bytes, line 1529
1529
1530<script id="wp-hooks-js" src="https://cdn.arstechnica.net/wp/wp-includes/js/dist/hooks.min.js?ver=f0f188028580e8dc1255"></script>
vendor: 1 bytes, line 1530
1530
1531<script id="wp-i18n-js" src="https://cdn.arstechnica.net/wp/wp-includes/js/dist/i18n.min.js?ver=1dfe7db3940c23ea9216"></script>
vendor: 1 bytes, line 1531
1531
1532<script id="wp-i18n-js-after"> 1533wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); 1534//# sourceURL=wp-i18n-js-after 1535</script>
vendor: 1 bytes, line 1535
1535
1536<script id="wp-a11y-js" src="https://cdn.arstechnica.net/wp/wp-includes/js/dist/a11y.min.js?ver=31c6cec5a4ff7aff483d"></script>
vendor: 1 bytes, line 1536
1536
1537<script id="gform_placeholder-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/js/placeholders.jquery.min.js?ver=3.1.1.2"></script>
vendor: 1 bytes, line 1537
1537
1538<script id="gform_gravityforms_theme_vendors-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/js/dist/vendor-theme.min.js?ver=0c901cb641ce64b99c20ea1a4d208cc9"></script>
vendor: 1 bytes, line 1538
1538
1539<script id="gform_gravityforms_theme-js-extra"> 1540var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"6210b2b513a714c67bd56912579c70eb"},"ajax":{"ajaxurl":"https://arstechnica.com/wp/wp-admin/admin-ajax.php","ajax_submission_nonce":"c02ed96464","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again.","error_403":"The request was blocked (403 error) for unknown security reasons. Remove any code-like text (scripts or DB queries) and try again."}}}},"hmr_dev":"","public_path":"https://arstechnica.com/wp-content/plugins/gravityforms/assets/js/dist/","config_nonce":"1c748e4571"}; 1541//# sourceURL=gform_gravityforms_theme-js-extra 1542</script>
vendor: 1 bytes, line 1542
1542
1543<script id="gform_gravityforms_theme-js" defer='defer' src="https://cdn.arstechnica.net/wp-content/plugins/gravityforms/assets/js/dist/scripts-theme.min.js?ver=e27d9712159624c99129c8c208f022ad"></script>
vendor: 1 bytes, line 1543
1543
1544<script id="app/0-js-before"> 1545(()=>{"use strict";var e,r,t,o,a,n,i,s={},u={};function l(e){var r=u[e];if(void 0!==r)return r.exports;var t=u[e]={exports:{}};return s[e].call(t.exports,t,t.exports,l),t.exports}l.m=s,e="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",r="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",o=e=>{e&&e.d<1&&(e.d=1,e.forEach((e=>e.r--)),e.forEach((e=>e.r--?e.r++:e())))},l.a=(a,n,i)=>{var s;i&&((s=[]).d=-1);var u,l,c,d=new Set,p=a.exports,f=new Promise(((e,r)=>{c=r,l=e}));f[r]=p,f[e]=e=>(s&&e(s),d.forEach(e),f.catch((e=>{}))),a.exports=f,n((a=>{var n;u=(a=>a.map((a=>{if(null!==a&&"object"==typeof a){if(a[e])return a;if(a.then){var n=[];n.d=0,a.then((e=>{i[r]=e,o(n)}),(e=>{i[t]=e,o(n)}));var i={};return i[e]=e=>e(n),i}}var s={};return s[e]=e=>{},s[r]=a,s})))(a);var i=()=>u.map((e=>{if(e[t])throw e[t];return e[r]})),l=new Promise((r=>{(n=()=>r(i)).r=0;var t=e=>e!==s&&!d.has(e)&&(d.add(e),e&&!e.d&&(n.r++,e.push(n)));u.map((r=>r[e](t)))}));return n.r?l:i()}),(e=>(e?c(f[t]=e):l(p),o(s)))),s&&s.d<0&&(s.d=0)},a=[],l.O=(e,r,t,o)=>{if(!r){var n=1/0;for(c=0;c<a.length;c++){for(var[r,t,o]=a[c],i=!0,s=0;s<r.length;s++)(!1&o||n>=o)&&Object.keys(l.O).every((e=>l.O[e](r[s])))?r.splice(s--,1):(i=!1,o<n&&(n=o));if(i){a.splice(c--,1);var u=t();void 0!==u&&(e=u)}}return e}o=o||0;for(var c=a.length;c>0&&a[c-1][2]>o;c--)a[c]=a[c-1];a[c]=[r,t,o]},l.d=(e,r)=>{for(var t in r)l.o(r,t)&&!l.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},l.f={},l.e=e=>Promise.all(Object.keys(l.f).reduce(((r,t)=>(l.f[t](e,r),r)),[])),l.u=e=>"js/"+{233:"db",321:"subscribe",471:"cntracking"}[e]+"."+{233:"4004df",321:"fb54b0",471:"4577bc"}[e]+".js",l.miniCssF=e=>{},l.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),n={},i="@roots/bud/sage:",l.l=(e,r,t,o)=>{if(n[e])n[e].push(r);else{var a,s;if(void 0!==t)for(var u=document.getElementsByTagName("script"),c=0;c<u.length;c++){var d=u[c];if(d.getAttribute("src")==e||d.getAttribute("data-webpack")==i+t){a=d;break}}a||(s=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,l.nc&&a.setAttribute("nonce",l.nc),a.setAttribute("data-webpack",i+t),a.src=e),n[e]=[r];var p=(r,t)=>{a.onerror=a.onload=null,clearTimeout(f);var o=n[e];if(delete n[e],a.parentNode&&a.parentNode.removeChild(a),o&&o.forEach((e=>e(t))),r)return r(t)},f=setTimeout(p.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=p.bind(null,a.onerror),a.onload=p.bind(null,a.onload),s&&document.head.appendChild(a)}},l.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.p="/wp-content/themes/ars-v9/public/",(()=>{var e={121:0};l.f.j=(r,t)=>{var o=l.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(121!=r){var a=new Promise(((t,a)=>o=e[r]=[t,a]));t.push(o[2]=a);var n=l.p+l.u(r),i=new Error;l.l(n,(t=>{if(l.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),n=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+n+")",i.name="ChunkLoadError",i.type=a,i.request=n,o[1](i)}}),"chunk-"+r,r)}else e[r]=0},l.O.j=r=>0===e[r];var r=(r,t)=>{var o,a,[n,i,s]=t,u=0;if(n.some((r=>0!==e[r]))){for(o in i)l.o(i,o)&&(l.m[o]=i[o]);if(s)var c=s(l)}for(r&&r(t);u<n.length;u++)a=n[u],l.o(e,a)&&e[a]&&e[a][0](),e[a]=0;return l.O(c)},t=globalThis.webpackChunk_roots_bud_sage=globalThis.webpackChunk_roots_bud_sage||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})(); 1546//# sourceURL=app%2F0-js-before 1547</script>
vendor: 1 bytes, line 1547
1547
1548<script id="app/0-js" src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/app.aab637.js"></script>
vendor: 1 bytes, line 1548
1548
1549<script id="ads/0-js" src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/ads.ae0b0b.js"></script>
vendor: 1 bytes, line 1549
1549
1550<script id="stats/0-js" src="https://cdn.arstechnica.net/wp-content/themes/ars-v9/public/js/stats.01cffe.js"></script>
vendor: 1 bytes, line 1550
1550
1551<script> 1552gform.initializeOnLoaded( function() { jQuery(document).on('gform_post_render', function(event, formId, currentPage){if(formId == 1) {gf_global["number_formats"][1] = {"1":{"price":false,"value":false},"5":{"price":false,"value":false},"18":{"price":false,"value":false},"12":{"price":false,"value":false},"13":{"price":false,"value":false},"15":{"price":false,"value":false},"8":{"price":false,"value":false},"10":{"price":false,"value":false},"11":{"price":false,"value":false},"19":{"price":false,"value":false}};if(window['jQuery']){if(!window['gf_form_conditional_logic'])window['gf_form_conditional_logic'] = new Array();window['gf_form_conditional_logic'][1] = { logic: { 5: {"field":{"enabled":true,"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Tips, Suggestions, and Press Releases"},{"fieldId":"1","operator":"is","value":"404 Errors \/ Technical Issues \/ Subscription Support"},{"fieldId":"1","operator":"is","value":"Press Inquiries, PR"},{"fieldId":"1","operator":"is","value":"Report Malicious or Offensive Advertisement"},{"fieldId":"1","operator":"is","value":"Contact the Editorial Team"}]},"nextButton":null,"section":null},18: {"field":{"enabled":true,"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Tips, Suggestions, and Press Releases"},{"fieldId":"1","operator":"is","value":"404 Errors \/ Technical Issues \/ Subscription Support"},{"fieldId":"1","operator":"is","value":"Press Inquiries, PR"},{"fieldId":"1","operator":"is","value":"Report Malicious or Offensive Advertisement"},{"fieldId":"1","operator":"is","value":"Contact the Editorial Team"}]},"nextButton":null,"section":null},12: {"field":{"enabled":true,"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Forum Moderation (Ars Technica OpenForum)"},{"fieldId":"1","operator":"is","value":"Front Page Commenting\/Moderation"}]},"nextButton":null,"section":null},13: {"field":{"enabled":true,"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Forum Moderation (Ars Technica OpenForum)"},{"fieldId":"1","operator":"is","value":"Front Page Commenting\/Moderation"}]},"nextButton":null,"section":null},15: {"field":{"enabled":true,"actionType":"show","logicType":"any","rules":[{"fieldId":"1","operator":"is","value":"Forum Moderation (Ars Technica OpenForum)"},{"fieldId":"1","operator":"is","value":"Front Page Commenting\/Moderation"}]},"nextButton":null,"section":null} }, dependents: { 5: [5],18: [18],12: [12],13: [13],15: [15] }, animation: 1, defaults: [], fields: {"1":[5,18,12,13,15],"5":[],"18":[],"12":[],"13":[],"15":[],"8":[],"10":[],"11":[],"19":[]} }; if(!window['gf_number_format'])window['gf_number_format'] = 'decimal_dot';jQuery(document).ready(function(){gform.utils.trigger({ event: 'gform/conditionalLogic/init/start', native: false, data: { formId: 1, fields: null, isInit: true } });gf_apply_rules(1, [5,18,12,13,15], true);jQuery('#gform_wrapper_1').show();jQuery('#gform_wrapper_1 form').css('opacity', '');jQuery(document).trigger('gform_post_conditional_logic', [1, null, true]);gform.utils.trigger({ event: 'gform/conditionalLogic/init/end', native: false, data: { formId: 1, fields: null, isInit: true } });} );} if(typeof Placeholders != 'undefined'){ 1553 Placeholders.enable(); 1554 }} } );jQuery(document).on('gform_post_conditional_logic', function(event, formId, fields, isInit){} ) } ); 1555</script>
vendor: 1 bytes, line 1555
1555
1556<script> 1557gform.initializeOnLoaded( function() {jQuery(document).trigger("gform_pre_post_render", [{ formId: "1", currentPage: "1", abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( "gform_wrapper_1" ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( "span" ); visibilitySpan.id = "gform_visibility_test_1"; gformWrapperDiv.insertAdjacentElement( "afterend", visibilitySpan ); } const visibilityTestDiv = document.getElementById( "gform_visibility_test_1" ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 1, 1 ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === 'attributes' && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ 'style', 'class' ], }); } else { triggerPostRender(); } } ); 1558</script>
1558 1559</body> 1560 1561</html>
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.