CINXE.COM
Secunet Customer Story | Lenovo Tech Today Serbia
<!DOCTYPE html> <html lang="en-rs" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ og: http://ogp.me/ns# rdfs: http://www.w3.org/2000/01/rdf-schema# schema: http://schema.org/ sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema# "> <head> <style> body { opacity: 1 !important; } </style><!-- Global site tag (gtag.js) - Google Ads: 538855758 --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-538855758"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-538855758'); </script> <meta charset="utf-8" /> <meta name="description" content="Smarter simplifies secure information management with Lenovo ThinkPad notebooks. Working with sensitive and classified information requires the highest levels of security." /> <meta name="abstract" content="Smarter simplifies secure information management with Lenovo ThinkPad notebooks. Working with sensitive and classified information requires the highest levels of security." /> <link rel="canonical" href="https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story" /> <meta http-equiv="content-language" content="en" /> <link rel="shortlink" href="https://techtoday.lenovo.com/rs/en/solutions/node/6730" /> <link rel="image_src" href="https://techtoday.lenovo.com/sites/default/files/styles/social_sharing/public/2022-07/20200928_Secunet_Public_Authority_0978.png?h=10d202d3&itok=7oxkDAlO" /> <meta name="referrer" content="unsafe-url" /> <meta name="rights" content="© Lenovo. All rights reserved." /> <meta property="og:site_name" content="Lenovo Tech Today Serbia" /> <meta property="og:type" content="article" /> <meta property="og:url" content="https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story" /> <meta property="og:title" content="Secunet Customer Story | Lenovo Tech Today Serbia" /> <meta property="og:description" content="Smarter simplifies secure information management with Lenovo ThinkPad notebooks. Working with sensitive and classified information requires the highest levels of security." /> <meta property="og:image" content="https://techtoday.lenovo.com/sites/default/files/styles/social_sharing/public/2022-07/20200928_Secunet_Public_Authority_0978.png?h=10d202d3&itok=7oxkDAlO" /> <meta property="og:updated_time" content="2023-12-14T15:49:25-06:00" /> <meta property="article:published_time" content="2023-04-21T16:12:40-05:00" /> <meta property="article:modified_time" content="2023-12-14T15:49:25-06:00" /> <meta property="fb:app_id" content="458172704970270" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:description" content="Smarter simplifies secure information management with Lenovo ThinkPad notebooks. Working with sensitive and classified information requires the highest levels of security." /> <meta name="twitter:site" content="@Lenovo" /> <meta name="twitter:title" content="Secunet Customer Story | Lenovo Tech Today Serbia" /> <meta name="twitter:site:id" content="17307429" /> <meta name="twitter:url" content="https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story" /> <meta name="twitter:image" content="https://techtoday.lenovo.com/sites/default/files/styles/social_sharing/public/2022-07/20200928_Secunet_Public_Authority_0978.png?h=10d202d3&itok=7oxkDAlO" /> <meta name="Generator" content="Drupal 10 (https://www.drupal.org); Commerce 2" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <link rel="preconnect" href="https://assets.adobedtm.com" /> <script type="application/ld+json">{ "@context": "https://schema.org", "@graph": [ { "@type": "Article", "headline": "Secunet Customer Story", "name": "Secunet Customer Story", "about": [], "description": "Smarter simplifies secure information management with Lenovo ThinkPad notebooks. Working with sensitive and classified information requires the highest levels of security.", "image": { "@type": "ImageObject", "representativeOfPage": "True", "url": "https://techtoday.lenovo.com/sites/default/files/styles/social_sharing/public/2022-07/20200928_Secunet_Public_Authority_0978.png?h=10d202d3\u0026itok=7oxkDAlO", "width": "768", "height": "647" }, "datePublished": "2023-04-21T16:12:40-0500", "dateModified": "2023-12-14T15:49:25-0600", "publisher": { "@type": "Organization", "@id": "https://www.lenovo.com/", "name": "Lenovo", "url": "https://www.lenovo.com/", "sameAs": [ "https://www.facebook.com/lenovoUS", "https://twitter.com/lenovous", "http://www.instagram.com/lenovous/", "http://www.youtube.com/lenovovision", "http://www.flickr.com/photos/lenovophotolibrary" ], "logo": { "@type": "ImageObject", "url": "https://techtoday.lenovo.com/origind8/themes/custom/lenovod8/lenovo-logo-red.png", "width": "250", "height": "80" } }, "mainEntityOfPage": "https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story" }, { "@type": "WebPage", "@id": "https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story", "breadcrumb": { "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://techtoday.lenovo.com/rs/en/solutions" } ] }, "publisher": { "@type": "Organization", "@id": "https://www.lenovo.com/", "name": "Lenovo", "url": "https://www.lenovo.com/", "sameAs": [ "https://www.facebook.com/lenovoUS", "https://twitter.com/lenovous", "http://www.instagram.com/lenovous/", "http://www.youtube.com/lenovovision", "http://www.flickr.com/photos/lenovophotolibrary" ], "logo": { "@type": "ImageObject", "url": "https://techtoday.lenovo.com/origind8/themes/custom/lenovod8/lenovo-logo-red.png", "width": "250", "height": "80" } } } ] }</script> <meta name="siteRoot" content="https://techtoday.lenovo.com/rs/en/solutions" /> <meta name="pagePath" content="/rs/en/solutions/secunet-customer-story" /> <meta name="pageBreadcrumb" content="Secunet Customer Story" /> <meta name="pageName" content="Secunet Customer Story | Lenovo Tech Today Serbia" /> <meta name="PageTitle" content="Secunet Customer Story | Lenovo Tech Today Serbia" /> <meta name="internalsearchcanonical" content="https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story" /> <meta name="robots" content="NOINDEX,NOFOLLOW" /> <link rel="icon" href="/themes/custom/lenovod8/favicon.ico" type="image/vnd.microsoft.icon" /> <title>Secunet Customer Story | Lenovo Tech Today Serbia</title> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_RyD_FFHpJ3X2bZJQAOlfBvEqDxyOU0-jnRIFI0TJr9E.css?delta=0&language=rs-en&theme=lenovod8&include=eJxlUdFuwyAM_KEQpD3tbyIDbmINbAROO_5-pFmbSrxY5g6f7TOykrYFk8NgPWQl4Skiy12sg4r_-QJMCQ7SgtQXmGFFe4QBMJVSjm9c05p08cKKrJDJVm0RXzrh265RHMTrfSbGSWhG8VcHxquBouTfPS5qQwhYTELeDfIG7DGYr_FbyxsyfCx8cRkKrAXyZiCOU12sl5Q-y6t2PW9uIoplShgIrDy9nW9SuoEH_C6vNpQ9Q5wvZN457y5S3TBMVTxBXE6ZfgzyU21VMZ2XGUxNzbgo_scc7hKv053wUe0zzknC3s16oDsmWVwfsWrvaQfkD1dNzgw" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_ZRWB4TW2AfrIQ0aT-PcjUNYWoa5wGlMbJ0nR0HjcR9g.css?delta=1&language=rs-en&theme=lenovod8&include=eJxlUdFuwyAM_KEQpD3tbyIDbmINbAROO_5-pFmbSrxY5g6f7TOykrYFk8NgPWQl4Skiy12sg4r_-QJMCQ7SgtQXmGFFe4QBMJVSjm9c05p08cKKrJDJVm0RXzrh265RHMTrfSbGSWhG8VcHxquBouTfPS5qQwhYTELeDfIG7DGYr_FbyxsyfCx8cRkKrAXyZiCOU12sl5Q-y6t2PW9uIoplShgIrDy9nW9SuoEH_C6vNpQ9Q5wvZN457y5S3TBMVTxBXE6ZfgzyU21VMZ2XGUxNzbgo_scc7hKv053wUe0zzknC3s16oDsmWVwfsWrvaQfkD1dNzgw" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_aE1Ltj4LecTLZ92RKkXH8TEIdjZYKEauBKTR-S8Ucy8.css?delta=2&language=rs-en&theme=lenovod8&include=eJxlUdFuwyAM_KEQpD3tbyIDbmINbAROO_5-pFmbSrxY5g6f7TOykrYFk8NgPWQl4Skiy12sg4r_-QJMCQ7SgtQXmGFFe4QBMJVSjm9c05p08cKKrJDJVm0RXzrh265RHMTrfSbGSWhG8VcHxquBouTfPS5qQwhYTELeDfIG7DGYr_FbyxsyfCx8cRkKrAXyZiCOU12sl5Q-y6t2PW9uIoplShgIrDy9nW9SuoEH_C6vNpQ9Q5wvZN457y5S3TBMVTxBXE6ZfgzyU21VMZ2XGUxNzbgo_scc7hKv053wUe0zzknC3s16oDsmWVwfsWrvaQfkD1dNzgw" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_SqRfZUX3BVZeYdNkYOulEx9FDKzc_AFrjg7X8DWgCqs.css?delta=3&language=rs-en&theme=lenovod8&include=eJxlUdFuwyAM_KEQpD3tbyIDbmINbAROO_5-pFmbSrxY5g6f7TOykrYFk8NgPWQl4Skiy12sg4r_-QJMCQ7SgtQXmGFFe4QBMJVSjm9c05p08cKKrJDJVm0RXzrh265RHMTrfSbGSWhG8VcHxquBouTfPS5qQwhYTELeDfIG7DGYr_FbyxsyfCx8cRkKrAXyZiCOU12sl5Q-y6t2PW9uIoplShgIrDy9nW9SuoEH_C6vNpQ9Q5wvZN457y5S3TBMVTxBXE6ZfgzyU21VMZ2XGUxNzbgo_scc7hKv053wUe0zzknC3s16oDsmWVwfsWrvaQfkD1dNzgw" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_aFHca53UCcLWtDLRKGCh1iTgf7GAiaRPpRl4XF68GWE.css?delta=4&language=rs-en&theme=lenovod8&include=eJxlUdFuwyAM_KEQpD3tbyIDbmINbAROO_5-pFmbSrxY5g6f7TOykrYFk8NgPWQl4Skiy12sg4r_-QJMCQ7SgtQXmGFFe4QBMJVSjm9c05p08cKKrJDJVm0RXzrh265RHMTrfSbGSWhG8VcHxquBouTfPS5qQwhYTELeDfIG7DGYr_FbyxsyfCx8cRkKrAXyZiCOU12sl5Q-y6t2PW9uIoplShgIrDy9nW9SuoEH_C6vNpQ9Q5wvZN457y5S3TBMVTxBXE6ZfgzyU21VMZ2XGUxNzbgo_scc7hKv053wUe0zzknC3s16oDsmWVwfsWrvaQfkD1dNzgw" /> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"rs\/en\/","currentPath":"node\/6730","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"rs-en","solutionsPrefix":"solutions\/"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"eJxtU1Fu7CAMvFBYpH71NpEBL-EVMAInbXr65-wmm63ID4IZG8ZjY4i4cYWizbEbS8Ux5MDDC9KFCi1Y3xAmihzKgJkDryMmg05bKBwoDxEzLaQNNNz3I-SQYCM1UDtAD4xuhMrBRtSPk0rkICqYmZS8OpcjtoBHvS0doFpIJb5wTj7xaCmzaIMSdOM14vGm-9Q-koF4np8bZcitivGHO8ay2jV21ITgsKqEeVaYJ8hWSvjow9YyYYY3c07u35yKkmob2ks-wyKy7MRizHpxd4EKXloyKYh9VSdrKaX-evd51KbuYpl4-Yuixvu-WAnFn0INVXAX3F1mY7fign0z6oJtZIN0vU1QQ_Zb49Wr83_iROnXKiIdGqhnwJ6f0AV4Q1kct7uwE14km445i8FnEcXDI1fTY5Bvd6oyrVvWy7-mXZ0LxNuJ3OZcZhNDm9ANTwnj8xqZ_GCHtjbG9PwG3VSmVZlI9ktt4ylFD0vA76Yf603EzdKAbzSbkvH8dh3yH7WKcmw","theme":"lenovod8","theme_token":null},"ajaxTrustedUrl":[],"bootstrap":{"forms_has_error_value_toggle":1,"modal_animation":1,"modal_backdrop":"true","modal_focus_input":1,"modal_keyboard":1,"modal_select_text":1,"modal_show":1,"modal_size":"","popover_enabled":1,"popover_animation":1,"popover_auto_close":1,"popover_container":"body","popover_content":"","popover_delay":"0","popover_html":0,"popover_placement":"right","popover_selector":"","popover_title":"","popover_trigger":"click","tooltip_enabled":1,"tooltip_animation":1,"tooltip_container":"body","tooltip_delay":"0","tooltip_html":0,"tooltip_placement":"bottom","tooltip_selector":"","tooltip_trigger":"hover"},"lenovoUrlHost":"https:\/\/www.lenovo.com","lenovoTechTodayUrlHost":"https:\/\/techtoday.lenovo.com","lenovoUrlHostTitle":"404 Not Found","lenovoBaseUrl":"https:\/\/techtoday.lenovo.com\/rs\/en\/solutions","lenovoCurrentUrl":"\/node\/6730","lenovoJsonUrl":"https:\/\/techtoday.lenovo.com\/think_lang_select","lenovoSearchUrl":"https:\/\/techtoday.lenovo.com\/lenovo_search","lenovoSelectUrl":"https:\/\/techtoday.lenovo.com\/think_lang_select","lenovoPrefix":"rs\/en","lenovoHyphenPrefix":"rs-en","lenovoAdobeTrackingMediaNames":{"17377":"CaseStudy-Secunet.pdf (Media ID: 17377)"},"campaignCodes":{"anon":true},"lenovoAdobeTrackingSettings":{"cc":"rs","language":"en","storeID":"Lenovo Tech Today Serbia","pageName":"Secunet Customer Story","bu":"public","storeType":"public_consumer"},"user":{"uid":0,"permissionsHash":"570399a9ff6681e8533da91f9d94b5f6c14da89c7c42d8cb12352037e5db2b8f"}}</script> <script data-cfasync="false" src="/core/assets/vendor/jquery/jquery.min.js?v=3.7.1"></script> <script data-cfasync="false" src="/core/misc/drupalSettingsLoader.js?v=10.4.1"></script> <script src="/sites/default/files/js/js_EApUD-yTjWxLvyy8tZ24zBQ_jhlv7taLSrDiureuh80.js?scope=header&delta=2&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script src="/themes/custom/lenovod8/scripts/jquery.ui/jquery-ui.min.js?v=1.12.1"></script> <script src="/themes/custom/lenovod8/scripts/jquery.easing/jquery.easing.min.js?v=1.4.1"></script> <script src="/sites/default/files/js/js_uq1V9UX2Z4skiY_SUtKw1FqVWF3rzFeuEH4VxOMd07Q.js?scope=header&delta=5&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script data-cfasync="false" type="text/javascript"> if (!window.lmd) { window.lmd = {}; try { var lang_country = jQuery('html').attr('lang').split('-'); var pageName_storeID = jQuery('title').text().split(' | '); window.lmd.cc = lang_country[1]; window.lmd.language = lang_country[0]; window.lmd.bu = "public"; window.lmd.pageName = pageName_storeID[0]; window.lmd.storeID = pageName_storeID[1]; window.lmd.storeType = "public_consumer"; } catch(lmderror) { console.warn(lmderror); } } </script> <script data-cfasync="false" type="text/javascript"> if (typeof jQuery === 'function') { $ = jQuery; } </script> <script data-cfasync="false" type="text/javascript" src="//assets.adobedtm.com/launch-ENbd80d0d08563407f8765e66b51ce822a.min.js"></script> <!--<script data-cfasync="false" type="text/javascript" src="//assets.adobedtm.com/launch-ENfa888ea3069e4509aa43d483216fd687-development.min.js"></script>--><style> header#navbar-techtoday.enhanced-techtoday > div[id^="popup"] { display: none !important; } </style><script type="text/javascript"> (function() { var didInit=false; function initMunchkin() { if (didInit === false) { didInit = true; // Add configuration settings to the init method and add alternative ID. Munchkin.init('183-WCT-620', {'altIds': ['026-ENO-001','384-QRQ-881']}); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script><style> body.body-modal-scroll { width: 100% !important; } </style><style type="text/css"> /* For /vn/vn/workstations */ .workstation-ie-11-fix .section-3__heading { text-align: center; } .workstation-ie-11-fix .section-7__card { height: auto; } .workstation-ie-11-fix .section-3__content, .workstation-ie-11-fix .section-3__heading, .workstation-ie-11-fix .section-3__paragraph, .workstation-ie-11-fix .section-7__heading, .workstation-ie-11-fix .section-7__paragraph, .workstation-ie-11-fix .section-7b__heading, .workstation-ie-11-fix .section-7b__paragraph, .workstation-ie-11-fix .section-9__heading, .workstation-ie-11-fix .section-9__paragraph, .workstation-ie-11-fix .section-9b__heading, .workstation-ie-11-fix .section-9b__paragraph { width: 100%; } .workstation-ie-11-fix .section-9__content, .workstation-ie-11-fix .section-9b__content { height: auto; min-height: 130px; } .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper .paragraph-slider-item, .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper .paragraph-slider-item > div, .workstation-ie-11-fix .section-9 .non-slide-anything-wrapper .paragraph-slider-item, .workstation-ie-11-fix .section-9b .non-slide-anything-wrapper .paragraph-slider-item { width: 100%; align-content: center; justify-content: center; } @media screen and (min-width: 991px) { .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper, .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper > div, .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper .paragraph-slider-item, .workstation-ie-11-fix .section-3 .non-slide-anything-wrapper .paragraph-slider-item > div, .workstation-ie-11-fix .section-9 .non-slide-anything-wrapper, .workstation-ie-11-fix .section-9 .non-slide-anything-wrapper > div, .workstation-ie-11-fix .section-9 .non-slide-anything-wrapper .paragraph-slider-item, .workstation-ie-11-fix .section-9b .non-slide-anything-wrapper, .workstation-ie-11-fix .section-9b .non-slide-anything-wrapper > div, .workstation-ie-11-fix .section-9b .non-slide-anything-wrapper .paragraph-slider-item { display: flex; } } /* For /vn/vn/solutions/smb/thinkedge */ .smb-thinkedge-ie-11-fix .section-02__paragraph-primary, .smb-thinkedge-ie-11-fix .section-04__paragraph-primary, .smb-thinkedge-ie-11-fix .section-05__heading-secondary, .smb-thinkedge-ie-11-fix .section-05__paragraph-secondary, .smb-thinkedge-ie-11-fix .section-09__heading-primary, .smb-thinkedge-ie-11-fix .section-09__paragraph-primary, .smb-thinkedge-ie-11-fix .section-13__heading { width: 100%; } .smb-thinkedge-ie-11-fix .section-08__row { background-color: rgba(70, 200, 225, 0.08); } </style><script type="text/javascript"> (function(u,t,d){ var i=d.createElement(t);i.type='text/javascript';i.async=true;i.src=u; var s=d.getElementsByTagName(t)[0]; s.parentNode.insertBefore(i,s); })('https://eu4-track.inside-graph.com/gtm/IN-1001026/include.js','script',document); </script> <style> #inside_tabs { top: calc(50vh - 100px) !important; } /* Fix overlay that covers the whole page */ #inside_holder { width: auto !important; height: auto !important; } </style><!-- Hotjar Tracking Code for Lenovo --> <script> (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:3848009,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); </script><!-- New Relic Tracking Code for Lenovo --> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"2180829",trustKey:"2180829",agentID:"1120253604",licenseKey:"219abf0552",applicationID:"1033847912"}; ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"219abf0552",applicationID:"1033847912",sa:1}; ;/*! For license information please see nr-loader-spa-1.252.1.min.js.LICENSE.txt */ (()=>{var e,t,r={234:(e,t,r)=>{"use strict";r.d(t,{P_:()=>m,Mt:()=>b,C5:()=>s,DL:()=>w,OP:()=>D,lF:()=>O,Yu:()=>E,Dg:()=>v,CX:()=>c,GE:()=>x,sU:()=>N});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f="[data-nr-mask]",h=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector="".concat(t,",").concat(f):""===t||null===t?e.mask_selector=f:(0,l.Z)("An invalid session_replay.mask_selector was provided. '*' will be used.",t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.Z)("An invalid session_replay.block_selector was provided and will not be used",t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,l.Z)("An invalid session_replay.mask_input_option was provided and will not be used",t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},p={},g="All configuration objects require an agent identifier!";function m(e){if(!e)throw new Error(g);if(!p[e])throw new Error("Configuration for ".concat(e," was never set"));return p[e]}function v(e,t){if(!e)throw new Error(g);p[e]=(0,i.D)(t,h());const r=(0,n.ek)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(g);var r=m(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}const y={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A={};function w(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!A[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return A[e]}function x(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");A[e]=(0,i.D)(t,y);const r=(0,n.ek)(e);r&&(r.loader_config=A[e])}const E=(0,n.mF)().o;var _=r(385),T=r(6818);const S={buildEnv:T.Re,customTransaction:void 0,disabled:!1,distMethod:T.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(_._A?.performance?.timeOrigin||_._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+_._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof _._A.XMLHttpRequest?.prototype?.addEventListener,version:T.q4,denyList:void 0},R={};function D(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!R[e])throw new Error("Runtime for ".concat(e," was never set"));return R[e]}function N(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");R[e]=(0,i.D)(t,S);const r=(0,n.ek)(e);r&&(r.runtime=R[e])}function O(e){return function(e){try{const t=s(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}(e)}},9567:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{"use strict";r.d(t,{Re:()=>i,gF:()=>o,lF:()=>a,q4:()=>n});const n="1.252.1",i="PROD",o="CDN",a="2.0.0-alpha.11"},385:(e,t,r)=>{"use strict";r.d(t,{FN:()=>c,IF:()=>l,LW:()=>a,Nk:()=>h,Tt:()=>u,_A:()=>o,cv:()=>p,iS:()=>s,il:()=>n,ux:()=>d,v6:()=>i,w1:()=>f});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a="complete"===o?.document?.readyState,s=Boolean("hidden"===o?.document?.visibilityState),c=""+o?.location,u=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=o.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Boolean(n&&window.document.documentMode),h=!!o.navigator?.sendBeacon,p=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{"use strict";r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{"use strict";r.d(t,{L:()=>d,R:()=>c});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature",r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(u(e),!e||!s[e].get(t)||r)return c(t);s[e].get(t).staged=!0;const a=[...s[e]];function c(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u<s.length;++u)l(s[u],c);(0,i.D)(c,(function(e,t){(0,i.D)(t,(function(t,r){r[0].on(e,r[1])}))}))}delete a[t],r.backlog[t]=null,r.emit("drain-"+t,[])}}a.every((e=>{let[t,r]=e;return r.staged}))&&(a.sort(((e,t)=>e[1].priority-t[1].priority)),a.forEach((t=>{let[r]=t;s[e].delete(r),c(r)})))}function l(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},8325:(e,t,r)=>{"use strict";r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c="nr@context:".concat(s.a),u=function e(t,r){var n={},s={},d={},f=!1;try{f=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var h={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=p(n),c=m(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var f=b()[s[e]];f&&f.push([h,e,r,a]);return a},get:v,listeners:m,context:p,buffer:function(e,t){const r=b();if(t=t||"feature",h.aborted)return;Object.entries(e||{}).forEach((e=>{let[n,i]=e;s[i]=t,t in r||(r[t]=[])}))},abort:l,aborted:!1,isBuffering:function(e){return!!b()[s[e]]},debugId:r,backlog:f?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return h;function p(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function g(e,t){n[e]=m(e).concat(t)}function m(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(h,t)}function b(){return h.backlog}}(void 0,"globalEE"),d=(0,n.fP)();function l(){u.aborted=!0,Object.keys(u.backlog).forEach((e=>{delete u.backlog[e]}))}d.ee||(d.ee=u)},5546:(e,t,r)=>{"use strict";r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{"use strict";r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{"use strict";r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{"use strict";r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{"use strict";r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},7056:(e,t,r)=>{"use strict";r.d(t,{Bq:()=>n,Hb:()=>o,IK:()=>c,oD:()=>i,uT:()=>s,wO:()=>a});const n="NRBA",i=144e5,o=18e5,a={PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},s={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},c={OFF:0,FULL:1,ERROR:2}},7894:(e,t,r)=>{"use strict";function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{"use strict";r.d(t,{e:()=>i});var n=r(385);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n._A?.location?.protocol&&t.host===n._A?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},50:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{"use strict";r.d(t,{N:()=>d,T:()=>l});var n=r(8325),i=r(5546),o=r(3325),a=r(385);const s="newrelic";const c={stn:[o.D.sessionTrace],err:[o.D.jserrors,o.D.metrics],ins:[o.D.pageAction],spa:[o.D.spa],sr:[o.D.sessionReplay,o.D.sessionTrace]},u=new Set;function d(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(u.has(t)||(Object.entries(e).forEach((e=>{let[t,n]=e;c[t]?c[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),l[t]=Boolean(n)})),Object.keys(c).forEach((e=>{void 0===l[e]&&(c[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),l[e]=!1)})),u.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{a._A.dispatchEvent(new CustomEvent(s,{detail:e}))}catch(e){}}({loaded:!0})))}const l={}},2210:(e,t,r)=>{"use strict";r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{"use strict";r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{"use strict";r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{"use strict";r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{"use strict";r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,n.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{"use strict";r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{"use strict";r.d(t,{em:()=>b,u5:()=>R,QU:()=>O,_L:()=>P,Gm:()=>M,Lg:()=>L,BV:()=>Z,Kf:()=>Y});var n=r(8325),i=r(3117);const o="nr@original:".concat(i.a);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}var l=r(2210),f=r(385);const h={},p=f._A.XMLHttpRequest,g="addEventListener",m="removeEventListener",v="nr@wrapped:".concat(n.A);function b(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=c(t,!0);function i(e){r.inPlace(e,[g,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(f.il&&y(document,i),y(f._A,i),y(p.prototype,i)),t.on(g+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,l.X)(n,v,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(m+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function y(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,g);)r=Object.getPrototypeOf(r);for(var n=arguments.length,i=new Array(n>2?n-2:0),o=2;o<n;o++)i[o-2]=arguments[o];r&&t(r,...i)}var A="fetch-",w=A+"body-",x=["arrayBuffer","blob","json","text","formData"],E=f._A.Request,_=f._A.Response,T="prototype";const S={};function R(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(E&&_&&f._A.fetch))return t;if(S[t.debugId]++)return t;function r(e,r,i){var o=e[r];"function"==typeof o&&(e[r]=function(){var e,r=[...arguments],a={};t.emit(i+"before-start",[r],a),a[n.A]&&a[n.A].dt&&(e=a[n.A].dt);var s=o.apply(this,r);return t.emit(i+"start",[r,e],s),s.then((function(e){return t.emit(i+"end",[null,e],s),e}),(function(e){throw t.emit(i+"end",[e],s),e}))})}return S[t.debugId]=1,x.forEach((e=>{r(E[T],e,w),r(_[T],e,w)})),r(f._A,"fetch",A),t.on(A+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(A+"done",[null,r],n)}else t.emit(A+"done",[e],n)})),t}const D={},N=["pushState","replaceState"];function O(e){const t=function(e){return(e||n.ee).get("history")}(e);return!f.il||D[t.debugId]++||(D[t.debugId]=1,c(t).inPlace(window.history,N,"-")),t}var I=r(3239);const j={},C=["appendChild","insertBefore","replaceChild"];function P(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!f.il||j[t.debugId])return t;j[t.debugId]=!0;var r=c(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function s(e,t){if(!e)return t;const r=e.match(a),n=r[1];return s(r[3],t[n])}return r.inPlace(Node.prototype,C,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,c=a.match(i),c?c[1]:null);var a,c;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:s(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,I.m$)(!1)),e.removeEventListener("error",f,(0,I.m$)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,I.m$)(!1)),e.removeEventListener("error",f,(0,I.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,I.m$)(!1)),e.addEventListener("error",f,(0,I.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const k={};function M(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!f.il||k[t.debugId])return t;k[t.debugId]=!0;var r=c(t),i=f._A.MutationObserver;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const H={};function L(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(H[t.debugId])return t;H[t.debugId]=!0;var r=t.context,i=c(t),a=f._A.Promise;return a&&function(){function e(r){var n=t.context(),o=i(r,"executor-",n,null,!1);const s=Reflect.construct(a,[o],e);return t.context(s).getCtx=function(){return n},s}f._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,o=r(e);o.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=i(s[0],"cb-",o,null,!1),s[1]=i(s[1],"cb-",o,null,!1);const u=n.apply(this,s);return o.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[o]=n,t.on("executor-start",(function(e){e[0]=i(e[0],"resolve-",this,null,!1),e[1]=i(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const z={},F="setTimeout",B="setInterval",U="clearTimeout",V="-start",q="-",G=[F,"setImmediate",B,U,"clearImmediate"];function Z(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(z[t.debugId]++)return t;z[t.debugId]=1;var r=c(t);return r.inPlace(f._A,G.slice(0,2),F+q),r.inPlace(f._A,G.slice(2,3),B+q),r.inPlace(f._A,G.slice(3),U+q),t.on(B+V,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(F+V,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}var W=r(50);const X={},K=["open","send"];function Y(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(X[r.debugId]++)return r;X[r.debugId]=1,b(t);var i=c(r),o=f._A.XMLHttpRequest,a=f._A.MutationObserver,s=f._A.Promise,u=f._A.setInterval,d="readystatechange",l=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],p=f._A.XMLHttpRequest=function(e){const t=new o(e),n=r.context(t);try{r.emit("new-xhr",[t],n),t.addEventListener(d,(a=n,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,l,"fn-",w)}),(0,I.m$)(!1))}catch(e){(0,W.Z)("An error occurred while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function g(e,t){i.inPlace(t,["onreadystatechange"],"fn-",w)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,K,"-xhr-",w),r.on("send-xhr-start",(function(e,t){g(e,t),function(e){h.push(e),a&&(m?m.then(A):u?u(A):(v=-v,y.data=v))}(t)})),r.on("open-xhr-start",g),a){var m=s&&s.resolve();if(!u&&!s){var v=1,y=document.createTextNode(v);new a(A).observe(y,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e<h.length;e++)g(0,h[e]);h.length&&(h=[])}function w(e,t){return t}return r}},7825:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.jserrors},3081:(e,t,r)=>{"use strict";r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{"use strict";r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{"use strict";r.d(t,{J0:()=>l,Mi:()=>d,Vb:()=>o,Ye:()=>s,fm:()=>c,i9:()=>a,t9:()=>i,u0:()=>u});var n=r(7056);const i=r(3325).D.sessionReplay,o=.12,a={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},s=1e6,c=64e3,u={[n.IK.ERROR]:15e3,[n.IK.FULL]:3e5,[n.IK.OFF]:0},d={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},l=5e3},3614:(e,t,r)=>{"use strict";r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{"use strict";r.d(t,{BODY:()=>x,CB_END:()=>E,CB_START:()=>u,END:()=>w,FEATURE_NAME:()=>i,FETCH:()=>T,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>g,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>f,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>p,JS_TIME:()=>_,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>l,SPA_NODE:()=>h,START:()=>A,originalSetTimeout:()=>y});var n=r(234);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,A="-start",w="-end",x="-body",E="cb"+w,_="jsTime",T="fetch"},5938:(e,t,r)=>{"use strict";r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},8862:(e,t,r)=>{"use strict";r.d(t,{j:()=>A});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(7894),c=r(8e3),u=r(3960),d=r(385),l=r(50),f=r(3081),h=r(8632);const p=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start","recordReplay","pauseReplay"],g=["setErrorHandler","finished","addToTrace","addRelease"];function m(){const e=(0,h.gG)();p.forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i<r;i++)n[i]=arguments[i];return function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];let o=[];return Object.values(e.initializedAgents).forEach((e=>{e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var v=r(2825);const b=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let y=!1;function A(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=arguments.length>2?arguments[2]:void 0,A=arguments.length>3?arguments[3]:void 0,{init:w,info:x,loader_config:E,runtime:_={loaderType:p},exposed:T=!0}=t;const S=(0,h.gG)();x||(w=S.init,x=S.info,E=S.loader_config),(0,i.Dg)(e.agentIdentifier,w||{}),(0,i.GE)(e.agentIdentifier,E||{}),x.jsAttributes??={},d.v6&&(x.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,x);const R=(0,i.P_)(e.agentIdentifier),D=[x.beacon,x.errorBeacon];y||(R.proxy.assets&&(b(R.proxy.assets),D.push(R.proxy.assets)),R.proxy.beacon&&D.push(R.proxy.beacon),m(),(0,h.EZ)("activatedFeatures",v.T)),_.denyList=[...R.ajax.deny_list||[],...R.ajax.block_internal?D:[]],(0,i.sU)(e.agentIdentifier,_),void 0===e.api&&(e.api=function(e,t){t||(0,c.R)(e,"api");const h={};var p=a.ee.get(e),m=p.get("tracer"),v="api-",b=v+"ixn-";function y(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(v,n,!0,o||null===r?"session":void 0)(t,r)}function A(){}g.forEach((e=>{h[e]=x(v,e,!0,"api")})),h.addPageAction=x(v,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(v,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(v,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return y(e,t,"setCustomAttribute",r);(0,l.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string, number or boolean type, but a type of <".concat(typeof t,"> was provided."))}else(0,l.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return y("enduser.id",e,"setUserId",!0);(0,l.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.setApplicationVersion=function(e){if("string"==typeof e||null===e)return y("application.version",e,"setApplicationVersion",!1);(0,l.Z)("Failed to execute setApplicationVersion. Expected <String | null>, but got <".concat(typeof e,">."))},h.start=e=>{try{const t=e?"defined":"undefined";(0,o.p)(f.xS,["API/start/".concat(t,"/called")],void 0,n.D.metrics,p);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,l.Z)("Invalid feature name supplied. Acceptable feature names are: ".concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{p.emit("".concat(e,"-opt-in"))}))}catch(e){(0,l.Z)("An unexpected issue occurred",e)}},h.recordReplay=function(){(0,o.p)(f.xS,["API/recordReplay/called"],void 0,n.D.metrics,p),(0,o.p)("recordReplay",[],void 0,n.D.sessionReplay,p)},h.pauseReplay=function(){(0,o.p)(f.xS,["API/pauseReplay/called"],void 0,n.D.metrics,p),(0,o.p)("pauseReplay",[],void 0,n.D.sessionReplay,p)},h.interaction=function(){return(new A).get()};var w=A.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(f.xS,["API/createTracer/called"],void 0,n.D.metrics,p),(0,o.p)(b+"tracer",[(0,s.z)(),e,r],i,n.D.spa,p),function(){if(m.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw m.emit("fn-err",[arguments,this,e],r),e}finally{m.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(f.xS,["API/"+t+"/called"],void 0,n.D.metrics,p),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,p),r?void 0:this}}function E(){r.e(111).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>{(0,l.Z)("Downloading runtime APIs failed..."),(0,c.L)(e,"api",!0)}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(b,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(f.xS,["API/noticeError/called"],void 0,n.D.metrics,p),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,p)},d.il?(0,u.b2)((()=>E()),!0):E(),h}(e.agentIdentifier,A)),void 0===e.exposed&&(e.exposed=T),y=!0}},1926:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},3325:(e,t,r)=>{"use strict";r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({111:"nr-spa",164:"nr-spa-compressor",433:"nr-spa-recorder"}[e]+"-1.252.1.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.252.1.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={111:"sha512-yqKktm3jjy7vH57ymJxJxF1Z6jKArrgcXebUMwF0elgpFkLMiY9/6juO9vuYcQ3VLbGCuFTO0QlvCZc8xgPFaA==",433:"sha512-xCugVfV9zLov1hjT2nBv+ZvSWVPV2dTRP6ZOb5BWXDkjLxZfeMBu5Yb1JACb/dMdGYlFRYh6/5+evlY/nf7URw==",164:"sha512-9mCt3EsEBu4UoI4ZDKBWyuf3gjOy9vMrbuPNIGxVj+hCDXuCy2yhAiQXr+3Xyg4vMnD349BCtUd0vc2Cys6CFQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={801:0,92:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.252.1.PROD"]=self["webpackChunk:NRBA-1.252.1.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(1926);var e=i(50);class t{#e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i<r;i++)n[i-1]=arguments[i];if("function"==typeof this.api?.[t])return this.api[t](...n);(0,e.Z)("Call to agent api ".concat(t," failed. The API is not currently initialized."))}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}finished(e){return this.#e("finished",e)}addRelease(e,t){return this.#e("addRelease",e,t)}start(e){return this.#e("start",e)}recordReplay(){return this.#e("recordReplay")}pauseReplay(){return this.#e("pauseReplay")}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}}var r=i(3325),n=i(234);const o=Object.values(r.D);function a(e){const t={};return o.forEach((r=>{t[r]=function(e,t){return!1!==(0,n.Mt)(t,"".concat(e,".enabled"))}(r,e)})),t}var s=i(8862);var c=i(8e3),u=i(5938),d=i(3960),l=i(385);class f extends u.W{constructor(e,t,r){let i=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=i,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,n.Mt)(this.agentIdentifier,"".concat(this.featureName,".autoStart"))&&(this.auto=!1),this.auto&&(0,c.R)(e,r)}importAggregator(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on("".concat(this.featureName,"-opt-in"),(()=>{(0,c.R)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));const r=l.il&&!0===(0,n.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let n;try{if(r){const{setupAgentSession:e}=await i.e(111).then(i.bind(i,1656));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",t)}try{if(!this.shouldImportAgg(this.featureName,n))return(0,c.L)(this.agentIdentifier,this.featureName),void o(!1);const{lazyFeatureLoader:e}=await i.e(111).then(i.bind(i,8582)),{Aggregate:r}=await e(this.featureName,"aggregate");this.featAggregate=new r(this.agentIdentifier,this.aggregator,t),o(!0)}catch(t){(0,e.Z)("Downloading and initializing ".concat(this.featureName," failed..."),t),this.abortHandler?.(),(0,c.L)(this.agentIdentifier,this.featureName,!0),o(!1)}};l.il?(0,d.b2)((()=>a()),!0):a()}shouldImportAgg(e,t){return e!==r.D.sessionReplay||!!n.Yu.MO&&(!1!==(0,n.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!t?.isNew||!!t?.state.sessionReplayMode))}}var h=i(7633);class p extends f{static featureName=h.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,h.t,r),this.importAggregator()}}var g=i(1117),m=i(1284);class v extends g.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,m.D)(e,(function(e,r){t[e]=b(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,m.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=b(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=y(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=b(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i<e.length;i++)t[r=e[i]]=A(this.aggregatedData[r]),t[r].length&&(n=!0),delete this.aggregatedData[r];return n?t:null}}function b(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=y(t.t)),t.c+=1,t.t+=e,t.sos+=e*e,e>t.max&&(t.max=e),e<t.min&&(t.min=e),t):{t:e}}function y(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,m.D)(e,w)}function w(e,t){return t}var x=i(8632),E=i(4402),_=i(4351);var T=i(5546),S=i(7956),R=i(3239),D=i(7894),N=i(9251);class O extends f{static featureName=N.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),l.il&&((0,S.N)((()=>(0,T.p)("docHidden",[(0,D.z)()],void 0,N.t,this.ee)),!0),(0,R.bP)("pagehide",(()=>(0,T.p)("winPagehide",[(0,D.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var I=i(3081);class j extends f{static featureName=I.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,I.t9,r),this.importAggregator()}}var C=i(6660);class P{constructor(e,t,r,n){this.name="UncaughtError",this.message=e,this.sourceURL=t,this.line=r,this.column=n}}class k extends f{static featureName=C.t;#t=new Set;constructor(e,t){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,C.t,n);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("fn-err",((e,t,n)=>{this.abortHandler&&!this.#t.has(n)&&(this.#t.add(n),(0,T.p)("err",[this.#r(n),(0,D.z)()],void 0,r.D.jserrors,this.ee))})),this.ee.on("internal-error",(e=>{this.abortHandler&&(0,T.p)("ierr",[this.#r(e),(0,D.z)(),!0],void 0,r.D.jserrors,this.ee)})),l._A.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,T.p)("err",[this.#n(e),(0,D.z)(),!1,{unhandledPromiseRejection:1}],void 0,r.D.jserrors,this.ee)}),(0,R.m$)(!1,this.removeOnAbort?.signal)),l._A.addEventListener("error",(e=>{this.abortHandler&&(this.#t.has(e.error)?this.#t.delete(e.error):(0,T.p)("err",[this.#i(e),(0,D.z)()],void 0,r.D.jserrors,this.ee))}),(0,R.m$)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#o,this.importAggregator()}#o(){this.removeOnAbort?.abort(),this.#t.clear(),this.abortHandler=void 0}#r(e){return e instanceof Error?e:void 0!==e?.message?new P(e.message,e.filename||e.sourceURL,e.lineno||e.line,e.colno||e.col):new P("string"==typeof e?e:(0,_.P)(e))}#n(e){let t="Unhandled Promise Rejection: ";if(e?.reason instanceof Error)try{return e.reason.message=t+e.reason.message,e.reason}catch(t){return e.reason}if(void 0===e.reason)return new P(t);const r=this.#r(e.reason);return r.message=t+r.message,r}#i(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno);return t.name=SyntaxError.name,t}return e.error instanceof Error?e.error:new P(e.message,e.filename,e.lineno,e.colno)}}var M=i(2210);let H=1;const L="nr@id";function z(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===l._A?0:(0,M.X)(e,L,(function(){return H++}))}function F(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,_.P)(e).length}catch(e){return}}}var B=i(1214),U=i(7243);class V{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,n.DL)(this.agentIdentifier);if(!t)return null;var r=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!r||!i)return null;var a=(0,E.M)(),s=(0,E.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,r,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,r,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof l._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,_.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,n.Mt)(this.agentIdentifier,"distributed_tracing")&&(r=(0,n.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var i=0;i<r.allowed_origins.length;i++){var o=(0,U.e)(r.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){t=!0;break}}return t}isDtEnabled(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,n.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var q=i(7825),G=["load","error","abort","timeout"],Z=G.length,W=n.Yu.REQ,X=n.Yu.XHR;class K extends f{static featureName=q.t;constructor(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(e,t,q.t,i),(0,n.OP)(e).xhrWrappable){this.dt=new V(e),this.handler=(e,t,r,n)=>(0,T.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};l._A?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const n={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};Y(n,t.name),this.handler("xhr",[n,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,r.D.ajax)}}))}catch(e){}(0,B.u5)(this.ee),(0,B.Kf)(this.ee),function(e,t,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,R.m$)(!1)),l.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,R.m$)(!1))}function s(e){this.params={method:e[0]},Y(this,e[1]),this.metrics={}}function c(t,r){var i=(0,n.DL)(e);i.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(r.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(r.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&r.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function u(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=F(i);a&&(n.txSize=a)}this.startTime=(0,D.z)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<Z;s++)r.addEventListener(G[s],this.listener,(0,R.m$)(!1))}function d(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+z(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+z(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function p(){this.endTime=(0,D.z)()}function g(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function m(e,r){r instanceof X&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function v(e,t,r){t instanceof X&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,D.z)()))}function b(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,D.z)()-this.xhrCbStart,this.onload,r],r)}function y(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&l.il&&(t=""+l._A.location.href):e[0]&&e[0].url?t=e[0].url:l._A?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,U.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),s(i.headers,n)&&(this.dt=n),e.length>1?e[1]=i:e.push(i)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function A(e,t){this.params={},this.metrics={},this.startTime=(0,D.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof W?r=i.url:l._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),Y(this,r);var o=(""+(i&&i instanceof W&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=F(n.body)||0}function w(e,t){var n;this.endTime=(0,D.z)(),this.params||(this.params={}),this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,D.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,r.D.ajax)}function x(e){var t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<Z;o++)e.removeEventListener(G[o],this.listener,!1);t.aborted||(n.duration=(0,D.z)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,i("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,r.D.ajax))}}function E(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?F(e.response):"text"===r||""===r||void 0===r?F(e.responseText):void 0}(n,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin){var o=n.getResponseHeader("X-NewRelic-App-Data");o&&((0,T.p)(I.mY,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,r.D.metrics,t),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",a),t.on("open-xhr-start",s),t.on("open-xhr-end",c),t.on("send-xhr-start",u),t.on("xhr-cb-time",d),t.on("xhr-load-added",f),t.on("xhr-load-removed",h),t.on("xhr-resolved",p),t.on("addEventListener-end",g),t.on("removeEventListener-end",m),t.on("fn-end",b),t.on("fetch-before-start",y),t.on("fetch-start",A),t.on("fn-start",v),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator()}}}function Y(e,t){var r=(0,U.e)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}var J=i(3614);const{BST_RESOURCE:Q,RESOURCE:ee,START:te,END:re,FEATURE_NAME:ne,FN_END:ie,FN_START:oe,PUSH_STATE:ae}=J;var se=i(7056),ce=i(7144);class ue extends f{static featureName=ce.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,ce.t9,r);try{const e=JSON.parse(localStorage.getItem("NRBA_SESSION"));e.sessionReplayMode!==se.IK.OFF?this.#a(e.sessionReplayMode):this.importAggregator({})}catch(e){this.importAggregator({})}}async#a(e){const{Recorder:t}=await Promise.all([i.e(111),i.e(433)]).then(i.bind(i,4136));this.recorder=new t({mode:e,agentIdentifier:this.agentIdentifier}),this.recorder.startRecording(),this.importAggregator({recorder:this.recorder})}}var de=i(7836);const{FEATURE_NAME:le,START:fe,END:he,BODY:pe,CB_END:ge,JS_TIME:me,FETCH:ve,FN_START:be,CB_START:ye,FN_END:Ae}=de;var we=i(4649);class xe extends f{static featureName=we.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class extends t{constructor(t){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,E.ky)(16);super(),l._A?(this.agentIdentifier=r,this.sharedAggregator=new v({agentIdentifier:this.agentIdentifier}),this.features={},(0,x.h5)(r,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(p),(0,s.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,n.C5)(this.agentIdentifier),init:(0,n.P_)(this.agentIdentifier),loader_config:(0,n.DL)(this.agentIdentifier),runtime:(0,n.OP)(this.agentIdentifier)}}run(){try{const t=a(this.agentIdentifier),n=[...this.desiredFeatures];n.sort(((e,t)=>r.p[e.featureName]-r.p[t.featureName])),n.forEach((n=>{if(t[n.featureName]||n.featureName===r.D.pageViewEvent){const i=function(e){switch(e){case r.D.ajax:return[r.D.jserrors];case r.D.sessionTrace:return[r.D.ajax,r.D.pageViewEvent];case r.D.sessionReplay:return[r.D.sessionTrace];case r.D.pageViewTiming:return[r.D.pageViewEvent];default:return[]}}(n.featureName);i.every((e=>t[e]))||(0,e.Z)("".concat(n.featureName," is enabled but one or more dependent features has been disabled (").concat((0,_.P)(i),"). This may cause unintended consequences or missing data...")),this.features[n.featureName]=new n(this.agentIdentifier,this.sharedAggregator)}}))}catch(t){(0,e.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[K,p,O,class extends f{static featureName=ne;constructor(e,t){if(super(e,t,ne,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;const n=this.ee;let i;(0,B.QU)(n),this.eventsEE=(0,B.em)(n),this.eventsEE.on(oe,(function(e,t){this.bstStart=(0,D.z)()})),this.eventsEE.on(ie,(function(e,t){(0,T.p)("bst",[e[0],t,this.bstStart,(0,D.z)()],void 0,r.D.sessionTrace,n)})),n.on(ae+te,(function(e){this.time=(0,D.z)(),this.startPath=location.pathname+location.hash})),n.on(ae+re,(function(e){(0,T.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,r.D.sessionTrace,n)}));try{i=new PerformanceObserver((e=>{const t=e.getEntries();(0,T.p)(Q,[t],void 0,r.D.sessionTrace,n)})),i.observe({type:ee,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},ue,j,xe,k,class extends f{static featureName=le;constructor(e,t){if(super(e,t,le,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!l.il)return;if(!(0,n.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,i=0;const o=this.ee.get("tracer"),a=(0,B._L)(this.ee),s=(0,B.Lg)(this.ee),c=(0,B.BV)(this.ee),u=(0,B.Kf)(this.ee),d=this.ee.get("events"),f=(0,B.u5)(this.ee),h=(0,B.QU)(this.ee),p=(0,B.Gm)(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){i++,r=window.location.hash,this[be]=(0,D.z)()}function v(){i--,window.location.hash!==r&&g(0,!0);var e=(0,D.z)();this[me]=~~this[me]+e-this[be],this[Ae]=e}function b(e,t){e.on(t,(function(){this[t]=(0,D.z)()}))}this.ee.on(be,m),s.on(ye,m),a.on(ye,m),this.ee.on(Ae,v),s.on(ge,v),a.on(ge,v),this.ee.buffer([be,Ae,"xhr-resolved"],this.featureName),d.buffer([be],this.featureName),c.buffer(["setTimeout"+he,"clearTimeout"+fe,be],this.featureName),u.buffer([be,"new-xhr","send-xhr"+fe],this.featureName),f.buffer([ve+fe,ve+"-done",ve+pe+fe,ve+pe+he],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([be],this.featureName),s.buffer(["propagate",ye,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([be,"no-"+be],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,ve+fe),b(f,ve+"-done"),b(a,"new-jsonp"),b(a,"jsonp-end"),b(a,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,R.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,R.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,i>1)}),(0,R.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#o,this.importAggregator()}#o(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})()})(); </script><style> img[src*="zdbb.net"] { display: none !important; } </style> <!-- Loading CID Tracking tag Script Start --> <script type="text/javascript"> if (typeof queryStringZ === 'undefined') { //Test for existance of custom variables to prevent errors. //Parse cid from URL. const queryStringZ = window.location.search; const urlParamsZ = new URLSearchParams(queryStringZ); const cidZ = urlParamsZ.get('cid'); console.log("llt:" + queryStringZ); if(!!cidZ){ //Set Expiration var date = new Date(); date.setTime(date.getTime()+(30*24*60*60*1000)); //first value determines # of days (30). var expires = "; expires="+date.toUTCString(); console.log("llt:" + cidZ); //Set Cookie document.cookie="cidZ=" + cidZ + ";domain=.lenovo.com;path=/" + expires; } } </script> <!-- Loading CID Tracking tag Script End --><script> window.ZIProjectKey = "826eda45e71674651041"; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = 'https://js.zi-scripts.com/zi-tag.js'), document.readyState === 'complete'? document.body.appendChild(zi): window.addEventListener('load', function(){ document.body.appendChild(zi) }); </script> </head> <body class="user-logged-out path-node page-node-type-article has-glyphicons current-language-rs-en current-segment-none show-footer techtoday-enhanced-v2 with-navbar"> <style> .sticky-cta .btn span:not(.ajax-throbber) { display: inline !important; } </style><style> .img-responsive { max-height: 100%; } </style><style> .current-language-in-en .sec-header .ctabtn a:before, .current-language-in-en .sec-header .section-000 > a:before, .current-language-in-en .sec-header-container .ctabtn a:before, .current-language-in-en .section-000 .hdr-ctabtn a:before, .current-language-in-en .sec-header-container .hdr-ctabtn a:before { display: block; content: ' '; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } </style><style> .techtoday-2-menu-type-display--content p { text-align: left; } </style><style type="text/css" media="all"> .links-list-wrapper { border: 0 !important; box-shadow: 0 2px 2px rgba(0,42,88,.08),0 4px 4px rgba(0,42,88,.08),0 8px 8px rgba(0,42,88,.08),0 16px 16px rgba(0,42,88,.08) !important; } .sticky-links-wrapper .links-list-wrapper .links-list-header { background-color: #11184F !important; } .sticky-links-wrapper .sticky-list-toggle { background-color: #11184F !important; border: 0 !important; } </style> <div id="insertscript"></div> <a href="#main-content" class="visually-hidden focusable skip-link"> Skip to main content </a> <div id="fb-root"></div> <script type="text/javascript" src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.10"></script> <div class="body-inner-wrapper"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div class="white main-container js-quickedit-main-content normal-article-page" role="main"> <header class="navbar navbar-fixed-top enhanced-techtoday-2" id="navbar-techtoday" role="banner"> <div class="container-fluid"> <div class="navbar-header"> <button type="button" class="navbar-toggle-2" aria-label="Toggle navigation"> <span class="sr-only" data-nosnippet="true">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <div class="navbar-search"> <button type="button" class="navbar-search" data-toggle="collapse" data-target="#search-modal" aria-controls="search-modal" aria-expanded="false" aria-label="Search"> <span class="glyphicon glyphicon-search" aria-hidden="true"></span> <span class="sr-only">Search</span> </button> </div> <a class="navbar-brand" title="Frontpage" href="/rs/en/solutions"><span data-nosnippet="true"><img src="/themes/custom/lenovod8/images/lenovo-techtoday.png" alt="Lenovo Tech Today logo"></span></a> </div> <div id="navbar-collapse" class="navbar-collapse collapse"> <nav role="navigation" aria-labelledby="block-headermenutechtodayenhanced2-menu" id="block-headermenutechtodayenhanced2"> <div class="strip-left"></div> <h2 class="visually-hidden" id="block-headermenutechtodayenhanced2-menu">Header Menu Tech Today (Enhanced 2)</h2> <ul class="nav navbar-nav level-0 nav-techtoday-2" role="menu" aria-labelledby="dropdownMenu"> <li class="level-0 content-menu techtoday-menu-type--default" data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="" data-ttnav-first-right="" data-ttnav-menu-id="menu-id-686"> <a href="#" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-686" data-target="#techtoday-dropdown-wrapper-686" aria-controls="techtoday-dropdown-wrapper-686" aria-expanded="false" aria-label="AI"> AI <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-686" class="techtoday-dropdown-wrapper" data-nosnippet="true" aria-labelledby="techtoday-dropdown-link-686"> <div class="content-wrapper"> <div class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">AI</a> </div> <div class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel"> <div class="content-title"> Artificial Intelligence </div> <div class="techtoday-2-menu-type-display--content"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"><p>With full stack AI hardware, software and service solutions, we're bringing the transformative power of AI to industries, organizations and people of all kinds.</p><p><a href="https://www.lenovo.com/rs/sr/solutions/ai/" target="_blank" title="Explore Smarter AI">Explore Smarter AI</a></p></div> </div> </div> <div class="content-area level-2"> <div class="column-groups" id="techtoday-dropdown-content-area-687"> <ul class="content-holder parent-is-content menu-id-687 column-1 col-lg-4" data-ttnav-menu-id="menu-id-687" aria-labelledby="techtoday-dropdown-link-menu-id-687" data-nosnippet="true"> <li class="level-2 level-2-area mobile-back"> <a href="#" class="mobile-back">Artificial Intelligence</a> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">AI Devices</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/ai-pc/intel" target="">Intel AI PCs</a></li> <li><a href="/rs/en/ai-pc/qualcomm" target="">Qualcomm AI PCs</a></li> <li><a href="/rs/en/ai-pc/amd" target="">AMD AI PCs</a></li> <li><a href="/rs/en/thinkcentre" target="">AI Desktop Portfolio</a></li> <li><a href="/rs/en/workstations/client-ai" target="">AI-Ready Workstations</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-687 column-2 col-lg-4" data-ttnav-menu-id="menu-id-687" aria-labelledby="techtoday-dropdown-link-menu-id-687" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">AI Solutions</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/solutions/digital-workplace" target="">Digital Workplace Solutions</a></li> <li><a href="https://www.lenovo.com/rs/sr/servers-storage/solutions/ai/">Hybrid AI</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-687 column-3 col-lg-4" data-ttnav-menu-id="menu-id-687" aria-labelledby="techtoday-dropdown-link-menu-id-687" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">AI Software</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/copilot-microsoft365" target="">Copilot for M365</a></li> </ul> </div> </li> </ul> </div> <div class="close-wrapper"> <button class="close-button"> <span class="sr-only">Close</span> </button> </div> </div> </div> </div> </li> <li class="level-0 content-menu techtoday-menu-type--default" data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="" data-ttnav-first-right="" data-ttnav-menu-id="menu-id-257"> <a href="#" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-257" data-target="#techtoday-dropdown-wrapper-257" aria-controls="techtoday-dropdown-wrapper-257" aria-expanded="false" aria-label="Solutions"> Solutions <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-257" class="techtoday-dropdown-wrapper" data-nosnippet="true" aria-labelledby="techtoday-dropdown-link-257"> <div class="content-wrapper"> <div class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Solutions</a> </div> <div class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel"> <div class="content-title"> Industry Solutions </div> <div class="techtoday-2-menu-type-display--content"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"><p> Lenovo can help you combine the ideal products and services into solutions that tackle your specific industry challenges. </p></div> </div> </div> <div class="content-area level-2"> <div class="column-groups" id="techtoday-dropdown-content-area-271"> <ul class="content-holder parent-is-content menu-id-271 column-1 col-lg-4" data-ttnav-menu-id="menu-id-271" aria-labelledby="techtoday-dropdown-link-menu-id-271" data-nosnippet="true"> <li class="level-2 level-2-area mobile-back"> <a href="#" class="mobile-back">Industry Solutions</a> </li> <li class="menu-type--default"> <a href="/rs/en/workstations/aec" data-drupal-link-system-path="node/7193">Architecture, Engineering & Construction</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/energy" data-drupal-link-system-path="node/8055">Energy</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/education" data-drupal-link-system-path="node/7195">Education</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/oem/security" data-drupal-link-system-path="node/7727">Security & Surveillance</a> <div class="body-text"></div> </li> </ul> <ul class="content-holder parent-is-content menu-id-271 column-2 col-lg-4" data-ttnav-menu-id="menu-id-271" aria-labelledby="techtoday-dropdown-link-menu-id-271" data-nosnippet="true"> <li class="menu-type--default"> <a href="/rs/en/workstations/media-entertainment" data-drupal-link-system-path="node/7192">Media & Entertainment</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/manufacturing" data-drupal-link-system-path="node/7566">Manufacturing</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/healthcare" target="" data-drupal-link-system-path="node/7794">Healthcare</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/oem" data-drupal-link-system-path="node/7726">OEM Solutions</a> <div class="body-text"></div> </li> </ul> <ul class="content-holder parent-is-content menu-id-271 column-3 col-lg-4" data-ttnav-menu-id="menu-id-271" aria-labelledby="techtoday-dropdown-link-menu-id-271" data-nosnippet="true"> <li class="menu-type--default"> <a href="/rs/en/workstations/product-dev" target="" data-drupal-link-system-path="node/7194">Product Development</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/financial-services" target="" data-drupal-link-system-path="node/7604">Financial Services</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/solutions/retail" data-drupal-link-system-path="node/7878">Retail</a> <div class="body-text"></div> </li> <li class="menu-type--default"> <a href="/rs/en/sustainability-solutions" target="" data-drupal-link-system-path="node/7314">Sustainability</a> <div class="body-text"></div> </li> </ul> </div> <div class="close-wrapper"> <button class="close-button"> <span class="sr-only">Close</span> </button> </div> </div> </div> </div> </li> <li class="level-0 content-menu techtoday-menu-type--default" data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="" data-ttnav-first-right="" data-ttnav-menu-id="menu-id-258"> <a href="#" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-258" data-target="#techtoday-dropdown-wrapper-258" aria-controls="techtoday-dropdown-wrapper-258" aria-expanded="false" aria-label="Services"> Services <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-258" class="techtoday-dropdown-wrapper" data-nosnippet="true" aria-labelledby="techtoday-dropdown-link-258"> <div class="content-wrapper"> <div class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Services</a> </div> <div class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel"> <div class="content-title"> Services </div> <div class="techtoday-2-menu-type-display--content"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"><p>Enhance productivity, security, and collaboration with end-to-end Lenovo Services.</p> <p><a href="/rs/en/services" class="link link-cta-button"><span>Explore all Services</span></a></p> </div> </div> </div> <div class="content-area level-2"> <div class="column-groups" id="techtoday-dropdown-content-area-262"> <ul class="content-holder parent-is-content menu-id-262 column-1 col-lg-4" data-ttnav-menu-id="menu-id-262" aria-labelledby="techtoday-dropdown-link-menu-id-262" data-nosnippet="true"> <li class="level-2 level-2-area mobile-back"> <a href="#" class="mobile-back">Services</a> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Configuration & Deployment</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/services/provisionnow" target="">ProvisionNow</a></li> <li><a href="/rs/en/chrome-zero-touch" target="">Zero Touch Deployment</a></li> <li><a href="/rs/en/smart-collaboration-professional-services" target="">Smart Collaboration Services</a></li> </ul> </div> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Support & Protection</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/premier-support-plus" target="">Premier Support Plus</a></li> <li><a href="/rs/en/premier" target="">Premier Support</a></li> <li><a href="/rs/en/support-and-protection-services" target="">Other Support Services</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-262 column-2 col-lg-4" data-ttnav-menu-id="menu-id-262" aria-labelledby="techtoday-dropdown-link-menu-id-262" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Managed Services</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/lenovo-device-intelligence" target="">Lenovo Device Intelligence</a></li> <li><a href="/rs/en/ldi-plus-managed-services" target="">LDI+ Managed Services</a></li> </ul> </div> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Sustainability</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/asset-recovery-services" target="">Asset Recovery Services</a></li> <li><a href="/rs/en/co2-offset-services" target="">CO2 Offset Services</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-262 column-3 col-lg-4" data-ttnav-menu-id="menu-id-262" aria-labelledby="techtoday-dropdown-link-menu-id-262" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Infrastructure Services</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/infrastructure-services" target="">All Services</a></li> </ul> </div> </li> </ul> </div> <div class="close-wrapper"> <button class="close-button"> <span class="sr-only">Close</span> </button> </div> </div> </div> </div> </li> <li class="level-0 content-menu techtoday-menu-type--default" data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="" data-ttnav-first-right="" data-ttnav-menu-id="menu-id-465"> <a href="#" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-465" data-target="#techtoday-dropdown-wrapper-465" aria-controls="techtoday-dropdown-wrapper-465" aria-expanded="false" aria-label="Products"> Products <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-465" class="techtoday-dropdown-wrapper" data-nosnippet="true" aria-labelledby="techtoday-dropdown-link-465"> <div class="content-wrapper"> <div class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Products</a> </div> <div class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel"> <div class="content-title"> Products </div> <div class="techtoday-2-menu-type-display--content"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"><p>Explore product content from Lenovo's commercial portfolio.</p> <p> <a href="/rs/en/think-portfolio" class="link link-cta-button"><span>Explore Think Portfolio</span></a> </p></div> </div> </div> <div class="content-area level-2"> <div class="column-groups" id="techtoday-dropdown-content-area-466"> <ul class="content-holder parent-is-content menu-id-466 column-1 col-lg-4" data-ttnav-menu-id="menu-id-466" aria-labelledby="techtoday-dropdown-link-menu-id-466" data-nosnippet="true"> <li class="level-2 level-2-area mobile-back"> <a href="#" class="mobile-back">Products</a> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">PCs & Tablets</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/thinkpad" target="">Laptops</a></li> <li><a href="/rs/en/thinkcentre" target="">Desktops</a></li> <li><a href="/rs/en/workstations" target="">Workstations</a></li> <li><a href="/rs/en/tablets" target="">Tablets</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-466 column-2 col-lg-4" data-ttnav-menu-id="menu-id-466" aria-labelledby="techtoday-dropdown-link-menu-id-466" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Servers & Storage</div> <ul class="level-3-sublinks"> <li><a href="https://www.lenovo.com/rs/sr/data-center/servers/">Servers</a></li> <li><a href="https://www.lenovo.com/rs/sr/data-center/storage/">Storage</a></li> <li><a href="https://www.lenovo.com/rs/sr/data-center/networking/">Networking</a></li> </ul> </div> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Smart Devices</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/solutions/thinkreality" target="">AR/VR</a></li> <li><a href="/rs/en/thinkphone" target="">Phones</a></li> <li><a href="/rs/en/smart-collaboration" target="">Smart Collaboration</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-466 column-3 col-lg-4" data-ttnav-menu-id="menu-id-466" aria-labelledby="techtoday-dropdown-link-menu-id-466" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Accessories & Monitors</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/accessories" target="">Accessories</a></li> <li><a href="/rs/en/thinkvision" target="">Monitors</a></li> <li><a href="/rs/en/smart-docks" target="">Smart Docks</a></li> </ul> </div> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Other Products</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/solutions/oem" target="">OEM Solutions</a></li> </ul> </div> </li> </ul> </div> <div class="close-wrapper"> <button class="close-button"> <span class="sr-only">Close</span> </button> </div> </div> </div> </div> </li> <li class="level-0 content-menu techtoday-menu-type--default" data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="" data-ttnav-first-right="" data-ttnav-menu-id="menu-id-421"> <a href="#" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-421" data-target="#techtoday-dropdown-wrapper-421" aria-controls="techtoday-dropdown-wrapper-421" aria-expanded="false" aria-label="Resources"> Resources <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-421" class="techtoday-dropdown-wrapper" data-nosnippet="true" aria-labelledby="techtoday-dropdown-link-421"> <div class="content-wrapper"> <div class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Resources</a> </div> <div class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel"> <div class="content-title"> Resources </div> <div class="techtoday-2-menu-type-display--content"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"><p>Explore customer stories, tools, and more.</p> </div> </div> </div> <div class="content-area level-2"> <div class="column-groups" id="techtoday-dropdown-content-area-420"> <ul class="content-holder parent-is-content menu-id-420 column-1 col-lg-4" data-ttnav-menu-id="menu-id-420" aria-labelledby="techtoday-dropdown-link-menu-id-420" data-nosnippet="true"> <li class="level-2 level-2-area mobile-back"> <a href="#" class="mobile-back">Resources</a> </li> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Interactive Tools</div> <ul class="level-3-sublinks"> <li><a href="/rs/en/solutions/digital-workplace/assessment" target="">DWS Assessment</a></li> <li><a href="/rs/en/sustainability-solutions/assessment" target="">Sustainability Assessment</a></li> <li><a href="/rs/en/truscale-daas-calculator" target="">TruScale DaaS Calculator</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-420 column-2 col-lg-4" data-ttnav-menu-id="menu-id-420" aria-labelledby="techtoday-dropdown-link-menu-id-420" data-nosnippet="true"> <li class="menu-type--links"> <div class="techtoday-2-menu-type-display--links"> <div class="link-link-title">Resources</div> <ul class="level-3-sublinks"> <li><a href="https://www.lenovo.com/gb/en/case-studies-customer-success-stories" target="_blank">Customer Stories</a></li> <li><a href="/rs/en/resource-center" target="">Resource Center</a></li> <li><a href="/rs/en/esg" target="">Environmental, Social & Governance</a></li> </ul> </div> </li> </ul> <ul class="content-holder parent-is-content menu-id-420 column-3 col-lg-4" data-ttnav-menu-id="menu-id-420" aria-labelledby="techtoday-dropdown-link-menu-id-420" data-nosnippet="true"> </ul> </div> <div class="close-wrapper"> <button class="close-button"> <span class="sr-only">Close</span> </button> </div> </div> </div> </div> </li> <li data-ttnav-level=0 data-ttnav-type="search_bar" data-ttnav-layout="" data-ttnav-first-right=""> <span target="">Search bar</span> </li> <li data-ttnav-level=0 data-ttnav-type="default" data-ttnav-layout="right" data-ttnav-first-right="1"> <a href="/rs/en/contact" data-drupal-link-system-path="node/6844">Contact Us</a> </li> <li class="level-0 content-menu dropdown" data-ttnav-level=0 data-ttnav-type="dropdown" data-ttnav-layout="right" data-ttnav-first-right=""> <a href="" class="dropdown-toggle" data-type="static" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-402" data-target="#techtoday-dropdown-wrapper-402" aria-controls="techtoday-dropdown-wrapper-402" aria-expanded="false" aria-label="All Lenovo"> <div class="lenovo-globe"></div> All Lenovo <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-" class="techtoday-dropdown-wrapper dropdown" data-nosnippet="true"> <ul class="level-1 nav-techtoday-2" role="menu" aria-labelledby="dLabel" style=""> <li class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Back</a> </li> <li> <a href="https://www.lenovo.com/" target="_blank" aria-label="Lenovo.com"> Lenovo.com <div class="lenovo-chevron"></div> </a> </li> <li> <a href="https://news.lenovo.com/" target="_blank" aria-label="Lenovo StoryHub"> Lenovo StoryHub <div class="lenovo-chevron"></div> </a> </li> <li> <a href="https://psref.lenovo.com/" target="_blank" aria-label="Product Specifications (PSREF)"> Product Specifications (PSREF) <div class="lenovo-chevron"></div> </a> </li> <li> <a href="https://support.lenovo.com/" target="_blank" aria-label="Tech Support"> Tech Support <div class="lenovo-chevron"></div> </a> </li> </ul> </div> </li> <li class="level-0 content-menu language-switcher" data-ttnav-level=0 data-ttnav-type="switcher" data-ttnav-layout="right" data-ttnav-first-right=""> <a href="" class="dropdown-toggle" data-type="static" role="button" data-toggle="dropdown" id="techtoday-dropdown-link-263" data-target="#techtoday-dropdown-wrapper-263" aria-controls="techtoday-dropdown-wrapper-263" aria-expanded="false" aria-label="Language switcher"> <div class="lenovo-globe"></div> Language switcher <div class="lenovo-chevron"></div> </a> <div id="techtoday-dropdown-wrapper-" class="techtoday-dropdown-wrapper language-switcher-translations" data-nosnippet="true" aria-label="Language Switcher"> <ul class="level-1 nav-techtoday" role="menu" aria-labelledby="dLabel" style=""> <li class="level-1 level-2-area mobile-back"> <a href="#" class="mobile-back">Back</a> </li> <li><a href="/ao/en/solutions/secunet-customer-story" hreflang="en-ao">Angola (English)</a></li> <li><a href="/bg/en/solutions/secunet-customer-story" hreflang="en-bg">Bulgaria (English)</a></li> <li><a href="/ca/en/solutions/secunet-customer-story" hreflang="en-ca">Canada (English)</a></li> <li><a href="/hr/en/solutions/secunet-customer-story" hreflang="en-hr">Croatia (English)</a></li> <li><a href="/cz/en/solutions/secunet-customer-story" hreflang="en-cz">Czechia (English)</a></li> <li><a href="/dk/en/solutions/secunet-customer-story" hreflang="en-dk">Denmark (English)</a></li> <li><a href="/eg/en/solutions/secunet-customer-story" hreflang="en-eg">Egypt (English)</a></li> <li><a href="/ee/en/solutions/secunet-customer-story" hreflang="en-ee">Estonia (English)</a></li> <li><a href="/fi/en/solutions/secunet-customer-story" hreflang="en-fi">Finland (English)</a></li> <li><a href="/gh/en/solutions/secunet-customer-story" hreflang="en-gh">Ghana (English)</a></li> <li><a href="/gr/en/solutions/secunet-customer-story" hreflang="en-gr">Greece (English)</a></li> <li><a href="/hk/en/solutions/secunet-customer-story" hreflang="en-hk">Hong Kong, China (English)</a></li> <li><a href="/hu/en/solutions/secunet-customer-story" hreflang="en-hu">Hungary (English)</a></li> <li><a href="/ie/en/solutions/secunet-customer-story" hreflang="en-ie">Ireland (English)</a></li> <li><a href="/il/en/solutions/secunet-customer-story" hreflang="en-il">Israel (English)</a></li> <li><a href="/jo/en/solutions/secunet-customer-story" hreflang="en-jo">Jordan (English)</a></li> <li><a href="/ke/en/solutions/secunet-customer-story" hreflang="en-ke">Kenya (English)</a></li> <li><a href="/lv/en/solutions/secunet-customer-story" hreflang="en-lv">Latvia (English)</a></li> <li><a href="/lb/en/solutions/secunet-customer-story" hreflang="en-lb">Lebanon (English)</a></li> <li><a href="/lt/en/solutions/secunet-customer-story" hreflang="en-lt">Lithuania (English)</a></li> <li><a href="/ng/en/solutions/secunet-customer-story" hreflang="en-ng">Nigeria (English)</a></li> <li><a href="/mk/en/solutions/secunet-customer-story" hreflang="en-mk">North Macedonia (English)</a></li> <li><a href="/no/en/solutions/secunet-customer-story" hreflang="en-no">Norway (English)</a></li> <li><a href="/pk/en/solutions/secunet-customer-story" hreflang="en-pk">Pakistan (English)</a></li> <li><a href="/pl/en/solutions/secunet-customer-story" hreflang="en-pl">Poland (English)</a></li> <li><a href="/pt/en/solutions/secunet-customer-story" hreflang="en-pt">Portugal (English)</a></li> <li><a href="/ro/en/solutions/secunet-customer-story" hreflang="en-ro">Romania (English)</a></li> <li><a href="/sa/en/solutions/secunet-customer-story" hreflang="en-sa">Saudi Arabia (English)</a></li> <li><a href="/rs/en/solutions/secunet-customer-story" hreflang="en-rs" class="is-active">Serbia (English)</a></li> <li><a href="/sk/en/solutions/secunet-customer-story" hreflang="en-sk">Slovakia (English)</a></li> <li><a href="/si/en/solutions/secunet-customer-story" hreflang="en-si">Slovenia (English)</a></li> <li><a href="/za/en/solutions/secunet-customer-story" hreflang="en-za">South Africa (English)</a></li> <li><a href="/se/en/solutions/secunet-customer-story" hreflang="en-se">Sweden (English)</a></li> <li><a href="/tz/en/solutions/secunet-customer-story" hreflang="en-tz">Tanzania (English)</a></li> <li><a href="/tr/en/solutions/secunet-customer-story" hreflang="en-tr">Turkiye (English)</a></li> <li><a href="/ua/en/solutions/secunet-customer-story" hreflang="en-ua">Ukraine (English)</a></li> <li><a href="/ae/en/solutions/secunet-customer-story" hreflang="en-ae">United Arab Emirates (English)</a></li> <li><a href="/gb/en/solutions/secunet-customer-story" hreflang="en-gb">United Kingdom (English)</a></li> <li><a href="/us/en/solutions/secunet-customer-story" hreflang="en-us">United States (English)</a></li> </ul> </div> </li> </ul> </nav> </div> </div> </header> <div class="white main-container js-quickedit-main-content normal-article-page" id="page" class="container-fluid"> <div class="row"> <section> <a id="main-content"></a> <div class="container-fluid"> <div class="row"> </div> </div> <div class="container-fluid"> <div class="row"> <div class="region region-content"> <div data-drupal-messages-fallback class="hidden"></div> <article about="/rs/en/solutions/secunet-customer-story" typeof="schema:Article" class="article is-promoted full clearfix container-fluid article-asset"> <div class="head"> <div id="article-normal-header"> <div id="article-breadcrumb"> <a href="/resource-center" title="Go to Resource Center">Resource Center</a></a> > <span property="schema:name">Secunet Customer Story</span> </div> <!-- Button to toggle font size --> <div id="togglebutton" class="btn btn-primary">Toggle Font Size</div> <!-- Menu to display when the button is hovered --> <div id="font-size-menu" style="display: none;"> <button id="togglelink">Toggle Large Font Size</button> </div> </div> <div property="schema:image" resource="/ww/en/solutions/media/image/20200928secunetpublicauthority0978png" class="field field--name-field-image field--type-entity-reference field--label-hidden field--item"> <div class="field field--name-field-media-image field--type-image field--label-hidden field--item"> <picture> <source srcset="/sites/default/files/styles/article_header_max/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=tkOsK0ka 1x" media="all and (min-width: 1366px)" type="image/webp" width="1920" height="630"/> <source srcset="/sites/default/files/styles/article_header_md/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=wpLtJ1Ya 1x" media="all and (min-width: 992px)" type="image/webp" width="1366" height="450"/> <source srcset="/sites/default/files/styles/article_header_sm/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=BTPWFb8h 1x" media="all and (min-width: 768px)" type="image/webp" width="640" height="360"/> <source srcset="/sites/default/files/styles/article_header_xs/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=W-iVLXx2 1x" media="all and (max-width: 767px)" type="image/webp" width="320" height="180"/> <img loading="lazy" src="/sites/default/files/styles/article_header_sm/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=BTPWFb8h" alt="thinkpad" typeof="foaf:Image" data-src="/sites/default/files/styles/article_header_sm/public/2022-07/20200928_Secunet_Public_Authority_0978.png.webp?itok=BTPWFb8h" class="img-responsive" /> </picture> </div> </div> </div> <div class="content container-fluid"> <div class="row row-content"> <div class="container"> <div class="content-wrapper" id="article-content"> <header class="asset article-metadata with-dl-file row"> <div class="share-icons"><span>Share</span><section class="block block-social-media block-social-sharing-block clearfix"> <div class="social-media-sharing"> <ul> <li> <button type="button" class="lenovo-facebook share" data-target="http://www.facebook.com/share.php?u=https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story&amp;title=Secunet Customer Story"></button> </li> <li> <button type="button" class="lenovo-twitter share" data-target="https://twitter.com/intent/tweet?url=https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story&amp;status=Secunet Customer Story+https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story"></button> </li> <li> <button type="button" class="lenovo-linkedin share" data-target="https://www.linkedin.com/sharing/share-offsite/?url=https://techtoday.lenovo.com/rs/en/solutions/secunet-customer-story"></button> </li> </ul> </div> </section> </div> <div class="row row-title"> <h1 class="article-title"> <span property="schema:name">Secunet Customer Story</span> </h1> </div> <div class="article-metadata with-dl-file row"> </div> </header> <div class="field field--name-field-page-components field--type-entity-reference-revisions field--label-hidden field--items"> <div id="fpc-0" class="paragraph paragraph--id--336127 paragraph--type--body-text paragraph--view-mode--full-content bg-pos-center"> <div class="field field--name-field-body field--type-text-long field--label-hidden field--item"> <div><h3>Smarter simplifies secure information management with Lenovo ThinkPad notebooks.</h3> <p class="quote">Working with sensitive and classified information requires the highest levels of security. To streamline everyday work for public authorities and security-conscious organizations, secunet wanted to provide a secure mobile work environment for key staff. Together with Lenovo, the company launched the SINA Workstation S based on Lenovo ThinkPad technology.</p> <p>Secunet Security Networks AG is a leading cybersecurity company headquartered in Germany. With its 700 employees, secunet is on a mission to strengthen the digital sovereignty of governments and businesses around the world, particularly in the EU and the NATO community. Focusing on digitalization and connectivity solutions, the company generated revenues of 337.6 million Euros in 2021.</p> <p>Working with the German Federal Office for Information Security (BSI), secunet has developed a wide range of increased-security products that meet the highest security standards to advance digital transformation at scale as an IT security partner to the Federal Republic of Germany.</p> <p><strong>Delivering a modern, mobile, and secure workplace</strong></p> <p>In a connected world, being able to access and act on critical data is essential. This is true for businesses as it is for governments and public authorities. When government officials or business executives need to handle sensitive and classified information, data protection can be a question of national and international security.</p> <p>To ensure smooth information exchange and effective decisionmaking across fast, digital processes, authorities and organizations need secure tools to provide staff with a modern and efficient work environment.</p> <blockquote>" The focus of our SINA Workstation product family has always been to increase security while streamlining device and data management for customers. Together with Lenovo, we have boosted staff productivity, and we continue to innovate and push the boundaries to make the devices even more secure.”<br> <strong>Armin Wappenschmidt</strong>, Global Head of Network and Client Security, secunet Security Networks AG</blockquote> <p>Armin Wappenschmidt, Global Head of Network and Client Security at secunet, begins: “As a service provider and manufacturer of highly secure IT solutions, we always want to ensure the right balance between protection and ease of use. Throughout the global COVID-19 pandemic, we have seen how priorities and customer requirements have changed. Suddenly, highly secure mobile workstations with high-definition video conferencing capabilities were on the top of the agenda for many customers and our goal was to support these new ways of working safely, even in sensitive areas.”</p> <p>To strengthen its competitive position further and continue to offer products that accelerate the digital transformation in the public and private sectors, secunet looked for ways to make use of state-of-the-art components. At the same time, the team sought to increase security with more cryptographic assurances on all levels, starting with new protections in hardware and firmware.</p> <p>Gordon Freiburg, Senior Product Manager at secunet, explains: “Our products add a security layer that isolates the underlying hardware from the software running on top, reducing the risk of cyber threats for our customers. This shrinks the attack surface, enabling our solutions to shield users effectively from potentially dangerous vulnerabilities. But we can only deliver this solution with the right partner. We sought a notebook manufacturer that would support our complex requirements, and help us to innovate at speed with a future-proof roadmap and extended maintenance services.”</p> <p><strong>A Strong OEM partner to build quality products</strong></p> <p>Building on its long experience in secure network communications, secunet recently extended its solution portfolio, developing a new range of Secure Inter Network Architecture (SINA) Workstations to simplify management of classified documents for government agencies and security-conscious enterprises.</p> <p>To launch its SINA Workstation S notebook product line, the company evaluated several PC manufacturers and selected Lenovo ThinkPads as off-the-shelf devices that it could leverage and customize. “We first started working with Lenovo about 12 years ago,” says Armin Wappenschmidt. “The OEM partnership with Lenovo has become a huge success, and enabled us to capitalize on the high build quality and outstanding reputation of the Lenovo brand to expand and scale our business and profits.”</p> <p>The secunet SINA Workstation S line-up covers many different customer requirements with flexible configurations, screen sizes, and accessories available. At the core of secunet’s crypto workstation portfolio are Lenovo OEM solutions based on a number of Lenovo ThinkPad models, including Lenovo ThinkPad L14, T14, T14s, L15, T15, and X13 notebooks. In addition, the company sells security-hardened tablet devices based on the Lenovo ThinkPad X13 Yoga 2-in-1 laptop.</p> <p>All Lenovo ThinkPad models are configured with a built-in smart card reader for added security and the ThinkShutter feature provides a physical camera cover when necessary. secunet customers can add Lenovo ThinkPad Docks or HDMI adapters to connect external displays for increased productivity. Mobile broadband connectivity options are configured by default.</p> <p>“Most importantly, Lenovo offers outstanding security features,” says Gordon Freiburg. “We worked closely with Lenovo to create a custom BIOS firmware which ensures that only our hardened SINA security operating system can be booted on the devices.”</p> <p>The operating system is based on Linux open source software and implements secure isolation of workspaces using the Oracle VM VirtualBox virtualization platform. To provide a complete all-in-one solution for customers, secunet must ensure that its custom operating system works perfectly on every new generation of Lenovo ThinkPad models. “We are in constant communication with Lenovo and selected component suppliers to ensure optimized Linux compatibility to deliver the best performance for our customers,” explains Gordon Freiburg. “Together with the Lenovo product development teams, we improve and refine low-level device drivers and contribute our patches back to the open source community. Thanks to this close collaboration, we can deliver a smooth user experience to our customers—so they can easily and securely run one or more Microsoft Windows desktop sessions in parallel and in different classification levels on top of our purpose-built SINA security operating system.”</p> <p>To address growing demand for video conferencing, the company worked with Lenovo to safely improve GPU integration, and to boost graphics and video performance. The company uses its SINA Apps technology to streamline deployment and maintenance of video conferencing software in a protected environment with its secunet Desktop solution. “By combining leading Lenovo hardware with specialized software packages for specific tasks such as video conferencing, we can now provide a cutting-edge and highly secure mobile workplace, ideally suited for the home office or flexible office setups,” confirms Armin Wappenschmidt.</p> <p><strong>Scaling up to tens of thousands of devices</strong></p> <p>Working with Lenovo, secunet has successfully expanded its product portfolio. Today, staff at many of Germany’s top authorities, like for example federal ministries, can easily take classified information with them electronically, to work more flexibly from home or while traveling.</p> <p>“In the past, classified information was only available via desktop computers, and often our customers had to use different computers to access different kinds of information,” says Armin Wappenschmidt. “This was slow and cumbersome. With our SINA Workstation S based on Lenovo ThinkPad technology, we have empowered thousands of staff to use a single device that they can take with them to meeting rooms or to work remotely.”</p> <p>The collaboration with Lenovo started small, with secunet delivering a couple of hundred devices a year. “We needed specialized solutions and other manufacturers did not want to engage with us on that scale,” remarks Gordon Freiburg. “Lenovo provided us with outstanding support from day one, as well as deep insights into the supply chain and product roadmaps. On any given day, there are at least 120,000 of our crypto notebooks, tablets, and desktops being used all across Europe.”</p> <p>Many public authorities and private organizations that need to ensure effective encryption and separation of differently classified data rely on SINA Workstation S, including the German Federal Police and the German Federal Office for Migration and Refugees. “The focs of our SINA Workstation product family has always been to increase security while streamlining device and data management for customers”, notes Armin Wappenschmidt. “Together with Lenovo, we have boosted staff productivity, and we continue to innovate and push the boundaries to make the devices even more secure.”</p> <p>For customers with more advanced data protection requirements, secunet can tap into Lenovo’s forward-thinking product offerings. “Recently, one customer wanted to go one step further to protect information on screen,” confirms Gordon Freiburg. “They evaluated two solutions and we won the contract thanks to the Lenovo ThinkPad e-PrivacyGuard feature, which we can integrate through the OEM partnership.</p> <p>”As part of its OEM opportunity, secunet has weekly meetings with Lenovo to align priorities and customer requirements with the Lenovo roadmap. The joint team has also integrated logistics workflows between the two companies to safeguard the smooth supply of goods. The OEM partnership includes custom Lenovo Support Services and direct collaboration between the secunet and Lenovo engineers. “Over the years we have built up mutual trust,” says Armin Wappenschmidt. “Together, we have simplified the support process and Lenovo is now much better able to verify any issues we encounter in their labs. Working with the Lenovo product development teams in the USA, Japan, and China, we are continuously adding value to this partnership. We are working towards being able to launch new generations even faster and more smoothly so that our customers can take advantage of the latest Lenovo features with the highest security."</p> <p>The benefits of the OEM partnership between secunet and Lenovo are not limited to the two companies. As the German government requires all software to be open source and available for validation by the Federal Cyber Security Authority, secunet has become a regular contributor to the open source community. “Lenovo ThinkPads already have a good reputation in the Linux and open source communities,” says Gordon Freiburg. “By improving and patching drivers, we are actively helping to make the user experience better and faster for every Lenovo ThinkPad user running Linux.”</p> <p>In their joint effort, the two companies are also establishing new security standards to further increase the protection of sensitive information. “Lenovo has always gone the extra mile ever since we first started working together, which has helped us boost device security,” says Armin Wappenschmidt. “Recently, Lenovo developed a custom BIOS firmware for us to ensure the integrity of the boot system and minimize the risk of tampering. Soon after we launched this new level of security, it was quickly adopted by the German Federal Office for Information Security as a new security requirement for all manufacturers.”</p> <div data-embed-button="media_entity_embed" data-entity-embed-display="view_mode:media.original_dimension" data-entity-embed-display-settings="[]" data-entity-type="media" data-entity-uuid="cd6a5b28-8655-4b55-9bdc-9ec9048fc353" data-langcode="ww-en" class="embedded-entity"><div> <div class="field field--name-field-media-image field--type-image field--label-hidden field--item"> <img src="/sites/default/files/styles/original/public/2022-07/secunet.png.webp?itok=T0LPF2uw" alt="thinkpad" loading="lazy" typeof="foaf:Image" data-src="https://techtoday.lenovo.com/sites/default/files/styles/original/public/2022-07/secunet.png.webp?itok=T0LPF2uw" class="img-responsive"> </div> </div> </div> </div> </div> </div> </div> <div class="download-file"> <div class="field field--name-field-gated-file field--type-entity-reference field--label-hidden field--item"><a href="/rs/en/solutions/media/17377/download" class="btn btn-cta-button">Download File</a></div> </div> </div> </div></div> </div> </article> </div> </div> </div> </section> <section class="col-sm-12 after-content" role="complementary"> <div class="container-fluid"> <div class="row" id="after-content"> <div class="container"> <div class="region region-after-content"> <section class="views-element-container block block-views block-views-blockrelated-articles-block-1 clearfix" id="block-views-block-related-articles-block-1"> <h2 class="block-title">Related Articles</h2> <div class="form-group"><div class="related-articles js-view-dom-id-1500c59e238e902f5530f42a9ad054bda64844049c0628c24a60dc27d3545e6c"> <div class="rows-wrapper"> <div class="views-row"> <div class="wrapper"><div class="views-field views-field-nothing"><span class="field-content"><div class="article-card"> <div class="article-card-image"><a href="/rs/en/solutions/nuffield-health-customer-story"> <picture> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-03/mri-crane-lift-best-nuffield-health-1366x891.jpg.webp?itok=mq3ZMl-h 1x" media="all and (min-width: 1366px)" type="image/webp" width="768" height="456" /> <source srcset="/sites/default/files/styles/article_list/public/2022-03/mri-crane-lift-best-nuffield-health-1366x891.jpg.webp?itok=3whkwAHq 1x" media="all and (min-width: 992px)" type="image/webp" width="320" height="190" /> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-03/mri-crane-lift-best-nuffield-health-1366x891.jpg.webp?itok=mq3ZMl-h 1x" media="all and (min-width: 768px)" type="image/webp" width="768" height="456" /> <img loading="lazy" src="/sites/default/files/styles/article_list_sm/public/2022-03/mri-crane-lift-best-nuffield-health-1366x891.jpg.webp?itok=mq3ZMl-h" alt="Nuffield" typeof="Image" data-src="/sites/default/files/styles/article_list_sm/public/2022-03/mri-crane-lift-best-nuffield-health-1366x891.jpg.webp?itok=mq3ZMl-h" class="img-responsive" /> </picture> </a></div> <div class="article-card-info"> <div class="article-card-title"><a href="/rs/en/solutions/nuffield-health-customer-story" hreflang="en-rs">Nuffield Health Customer Story</a></div> <div class="article-card-body"> Building hospitals of the future </div> </div> </div></span></div></div> </div> <div class="views-row"> <div class="wrapper"><div class="views-field views-field-nothing"><span class="field-content"><div class="article-card"> <div class="article-card-image"><a href="/rs/en/solutions/aston-martin-workstation-customer-story"> <picture> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-12/hero-aston-martin-workstation-vr-customer-story-v2.jpg.webp?itok=asATa2OU 1x" media="all and (min-width: 1366px)" type="image/webp" width="768" height="456" /> <source srcset="/sites/default/files/styles/article_list/public/2022-12/hero-aston-martin-workstation-vr-customer-story-v2.jpg.webp?itok=hMr8wUDx 1x" media="all and (min-width: 992px)" type="image/webp" width="320" height="190" /> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-12/hero-aston-martin-workstation-vr-customer-story-v2.jpg.webp?itok=asATa2OU 1x" media="all and (min-width: 768px)" type="image/webp" width="768" height="456" /> <img loading="lazy" src="/sites/default/files/styles/article_list_sm/public/2022-12/hero-aston-martin-workstation-vr-customer-story-v2.jpg.webp?itok=asATa2OU" alt="Aston Martin Workstation and VR Customer Story" typeof="Image" data-src="/sites/default/files/styles/article_list_sm/public/2022-12/hero-aston-martin-workstation-vr-customer-story-v2.jpg.webp?itok=asATa2OU" class="img-responsive" /> </picture> </a></div> <div class="article-card-info"> <div class="article-card-title"><a href="/rs/en/solutions/aston-martin-workstation-customer-story" hreflang="en-rs">Aston Martin Customer Story</a></div> <div class="article-card-body"> Driving the pursuit of perfection </div> </div> </div></span></div></div> </div> <div class="views-row"> <div class="wrapper"><div class="views-field views-field-nothing"><span class="field-content"><div class="article-card"> <div class="article-card-image"><a href="/rs/en/solutions/university-birmingham-customer-story"> <picture> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-12/hero-university-birmingham-customer-story_1.jpg.webp?itok=O1oxsxjW 1x" media="all and (min-width: 1366px)" type="image/webp" width="768" height="456" /> <source srcset="/sites/default/files/styles/article_list/public/2022-12/hero-university-birmingham-customer-story_1.jpg.webp?itok=-nlC_NMn 1x" media="all and (min-width: 992px)" type="image/webp" width="320" height="190" /> <source srcset="/sites/default/files/styles/article_list_sm/public/2022-12/hero-university-birmingham-customer-story_1.jpg.webp?itok=O1oxsxjW 1x" media="all and (min-width: 768px)" type="image/webp" width="768" height="456" /> <img loading="lazy" src="/sites/default/files/styles/article_list_sm/public/2022-12/hero-university-birmingham-customer-story_1.jpg.webp?itok=O1oxsxjW" alt="University of Birmingham Customer Story" typeof="Image" data-src="/sites/default/files/styles/article_list_sm/public/2022-12/hero-university-birmingham-customer-story_1.jpg.webp?itok=O1oxsxjW" class="img-responsive" /> </picture> </a></div> <div class="article-card-info"> <div class="article-card-title"><a href="/rs/en/solutions/university-birmingham-customer-story" hreflang="en-rs">University of Birmingham Customer Story</a></div> <div class="article-card-body"> Providing sustainable IT </div> </div> </div></span></div></div> </div> </div> </div> </div> </section> </div> </div> </div> </div> </section> </div> </div> </div> <div id="search-modal" aria-label="Search form"> <div class="search-wrapper"> <a class="close-modal" href="#" aria-label="Close search modal"> <span class="text">x</span> <span class="sr-only">Close search modal</span> </a> <form action="/rs/en/solutions/search" class="form"> <div class="form-item"> <label for="search">Search</label> <input id="search" type="text" placeholder="Search" name="search"> </div> <div class="form-actions"> <input type="submit" value="Search"> </div> </form> </div> </div> <div role="contentinfo"> <div class="region region-meta-footer"> <section id="block-lenovo-meta-simple" class="block block-lenovo-page block-page-simple clearfix"> </section> <section id="block-enhanced-footer-menu" class="block block-lenovo-page block-lenovo-thinkiot-page block-footer enhanced-v2 clearfix"> <div id="footer-main"> <div class="o-mainFooter o-mfefooter" data-componentid="Footer" data-componentpk="drpl_en_ap-cms_738-drpl_en_ap-cms_764"> <div class="o-mainFooter__row"> <section class="m-mainFooterSection row"> <div class="m-mainFooterSection__smallLinks"> <ul class="menu menu--footer-menu-techtoday-2 nav"> <li class="first solutions navbar-text"> <span class="solutions navbar-text">Solutions</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/workstations/aec" data-drupal-link-system-path="node/7193">AEC</a> </li> <li> <a href="/rs/en/solutions/digital-workplace" target="" data-drupal-link-system-path="node/7835">Digital Workplace Solutions</a> </li> <li> <a href="/rs/en/solutions/education" data-drupal-link-system-path="node/7195">Education</a> </li> <li> <a href="/rs/en/solutions/energy" data-drupal-link-system-path="node/8055">Energy</a> </li> <li> <a href="/rs/en/solutions/financial-services" data-drupal-link-system-path="node/7604">Financial Services</a> </li> <li> <a href="/rs/en/solutions/healthcare" data-drupal-link-system-path="node/7794">Healthcare</a> </li> <li> <a href="/rs/en/workstations/media-entertainment" data-drupal-link-system-path="node/7192">Media & Entertainment</a> </li> <li> <a href="/rs/en/solutions/oem" target="" data-drupal-link-system-path="node/7726">OEM Solutions</a> </li> <li> <a href="/rs/en/workstations/product-dev" data-drupal-link-system-path="node/7194">Product Development</a> </li> <li> <a href="/rs/en/solutions/retail" data-drupal-link-system-path="node/7878">Retail</a> </li> <li> <a href="/rs/en/solutions/thinkshield" data-drupal-link-system-path="node/7175">Security</a> </li> <li> <a href="/rs/en/solutions/digital-workplace/managed-endpoint" data-drupal-link-system-path="node/7351">Unified Endpoint Management</a> </li> <li class="last"> <a href="/rs/en/sustainability-solutions" target="" data-drupal-link-system-path="node/7314">Sustainability</a> </li> </ul> </li> <li class="services navbar-text"> <span class="services navbar-text">Services</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/services/provisionnow" data-drupal-link-system-path="node/7460">ProvisionNow</a> </li> <li> <a href="/rs/en/chrome-zero-touch" data-drupal-link-system-path="node/4498">Zero-Touch Deployment</a> </li> <li> <a href="/rs/en/smart-collaboration-professional-services" data-drupal-link-system-path="node/7245">Smart Collaboration Services</a> </li> <li> <a href="/rs/en/premier-support-plus" data-drupal-link-system-path="node/7139">Premier Support Plus</a> </li> <li> <a href="/rs/en/premier" data-drupal-link-system-path="node/7326">Premier Support</a> </li> <li> <a href="/rs/en/support-and-protection-services" data-drupal-link-system-path="node/7322">Support Services</a> </li> <li> <a href="/rs/en/asset-recovery-services" target="" data-drupal-link-system-path="node/7122">Asset Recovery Services</a> </li> <li> <a href="/rs/en/co2-offset-services" target="" data-drupal-link-system-path="node/7106">CO2 Offset Services</a> </li> <li> <a href="/rs/en/ldi-plus-managed-services" target="" data-drupal-link-system-path="node/6823">LDI+ Managed Services</a> </li> <li class="last"> <a href="/rs/en/infrastructure-services" target="_blank" data-drupal-link-system-path="node/7358">Infrastructure Services</a> </li> </ul> </li> <li class="products navbar-text"> <span class="products navbar-text">Products</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/thinkpad" data-drupal-link-system-path="node/6888">Laptops</a> </li> <li> <a href="/rs/en/thinkcentre" data-drupal-link-system-path="node/8124">Desktops</a> </li> <li> <a href="/rs/en/workstations" data-drupal-link-system-path="node/7191">Workstations</a> </li> <li> <a href="/rs/en/tablets" data-drupal-link-system-path="node/7305">Tablets</a> </li> <li> <a href="/rs/en/thinkvision" target="" data-drupal-link-system-path="node/6840">Monitors</a> </li> <li> <a href="/rs/en/accessories" data-drupal-link-system-path="node/7607">Accessories</a> </li> <li> <a href="/rs/en/smart-docks" target="" data-drupal-link-system-path="node/6929">Smart Docks</a> </li> <li> <a href="https://www.lenovo.com/data-center" target="_blank">Servers</a> </li> <li> <a href="https://www.lenovo.com/data-center" target="_blank">Storage</a> </li> <li> <a href="https://www.lenovo.com/data-center" target="_blank">Networking</a> </li> <li> <a href="/rs/en/solutions/thinkreality" target="" data-drupal-link-system-path="node/6845">AR/VR</a> </li> <li class="last"> <a href="/rs/en/smart-collaboration" target="" data-drupal-link-system-path="node/8294">Smart Collaboration</a> </li> </ul> </li> <li class="truscale navbar-text"> <span target="" class="truscale navbar-text">TruScale</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/truscale" target="" data-drupal-link-system-path="node/7568">Get to know TruScale</a> </li> <li class="last"> <a href="/rs/en/truscale-daas" target="" data-drupal-link-system-path="node/6881">Device-as-a-Service</a> </li> </ul> </li> <li class="artificial-intelligence navbar-text"> <span target="" class="artificial-intelligence navbar-text">AI</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/ai-pc/intel" target="" data-drupal-link-system-path="node/8090">Intel AI PCs</a> </li> <li> <a href="/rs/en/ai-pc/qualcomm" target="" data-drupal-link-system-path="node/8084">Qualcomm AI PCs</a> </li> <li> <a href="/rs/en/ai-pc/amd" target="" data-drupal-link-system-path="node/8248">AMD AI PCs</a> </li> <li> <a href="/rs/en/thinkcentre" target="" data-drupal-link-system-path="node/8124">AI Desktop Portfolio</a> </li> <li> <a href="/rs/en/workstations/client-ai" target="" data-drupal-link-system-path="node/7420">AI-Ready Workstations</a> </li> <li> <a href="/rs/en/solutions/digital-workplace" target="" data-drupal-link-system-path="node/7835">Digital Workplace Solutions</a> </li> <li> <a href="https://www.lenovo.com/rs/sr/servers-storage/solutions/ai/" target="">Hybrid AI</a> </li> <li class="last"> <a href="/rs/en/copilot-microsoft365" target="" data-drupal-link-system-path="node/7766">Copilot for M365</a> </li> </ul> </li> <li class="resources navbar-text"> <span target="" class="resources navbar-text">Resources</span> <ul class="level-1"> <li class="first"> <a href="/rs/en/resource-center" target="" data-drupal-link-system-path="node/7316">Resource Center</a> </li> <li> <a href="https://www.lenovo.com/gb/en/case-studies-customer-success-stories" target="_blank">Customer Stories</a> </li> <li> <a href="/rs/en/truscale-daas-calculator" target="" data-drupal-link-system-path="node/6936">TruScale DaaS Calculator</a> </li> <li class="last"> <a href="/rs/en/esg" target="" data-drupal-link-system-path="node/6922">ESG</a> </li> </ul> </li> <li class="last all-lenovo navbar-text"> <span class="all-lenovo navbar-text">All Lenovo</span> <ul class="level-1"> <li class="first"> <a href="https://www.lenovo.com/" target="_blank">Lenovo.com</a> </li> <li> <a href="https://news.lenovo.com/" target="_blank">Lenovo StoryHub</a> </li> <li> <a href="https://psref.lenovo.com/" target="_blank">Product Specifications (PSREF)</a> </li> <li class="last"> <a href="https://support.lenovo.com/" target="_blank">Tech Support</a> </li> </ul> </li> </ul> </div> </section> </div> </div> </div> </section> <section id="block-footer-menu" class="block block-lenovo-page block-lenovo-thinkiot-page block-footer enhanced clearfix"> <div id="footer"> <div class="o-mainFooter o-mfefooter" data-componentid="Footer" data-componentpk="drpl_en_ap-cms_738-drpl_en_ap-cms_764"> <div class="o-mainFooter__row"> <section class="m-footerCopyRight row"> <div class="m-footerCopyRight__yearAndCompany"> © <span class="m-footerCopyRight__year">2025</span> <span class="m-footerCopyRight__company">Lenovo. All rights reserved.</span> </div> <div class="m-footerCopyRight__smallLinks"> <a href="https://www.lenovo.com/rs/sr/privacy/" target="_blank">Privacy</a> <a href="#cookie-consent-tool" target="">Cookie Consent Tool</a> <a href="https://www.lenovo.com/rs/sr/legal/" target="_blank">Terms of Use</a> <a href="https://www.lenovo.com/rs/sr/privacy/external-submission-policy/" target="_blank">External Submission Policy</a> <a href="https://www.lenovo.com/rs/sr/terms-and-conditions/" target="_blank">Sales Terms and Conditions</a> <a href="https://static.lenovo.com/ww/docs/sustainability/Anti-Slavery_and_Human_Trafficking_Statement.pdf" target="_blank">Anti-Slavery and Human Trafficking Statement</a> </div> </section> </div> </div> </div> </section> </div> </div> </div> </div> <script src="/sites/default/files/js/js_pdGYoOMQs_t7XlkC6tvdPThd7OHuuhAp7zla2wBMDH4.js?scope=footer&delta=0&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script data-cfasync="false" src="/core/assets/vendor/once/once.min.js?v=1.0.1"></script> <script src="/sites/default/files/js/js_pqlrhsLL7kwAft7hlIHWm-3URGCh6wSEuVSR8YiJybE.js?scope=footer&delta=2&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script src="/sites/default/files/js/js_4qP3iq0JNcjuwlMISoXKlRPQ8_T3ZWOWTaoA9sNTX8g.js?scope=footer&delta=3&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script src="/sites/default/files/js/js_oLhXjMIKOvwlkjJ0BD4kRMjojW0IB01yEozq9YLi2KQ.js?scope=footer&delta=4&language=rs-en&theme=lenovod8&include=eJx1UdFuwyAM_KFaSHvq3yATHOIOMAInW_f1I1vSbGv2guy7s886nIg2rViM2ytbKlnOrJcHZIoUWaj-QFQkKpdLpCyLGIeNttpi5oTKkg1K28GASt5iVR4ima8OkniMgLMKdIN5X2YLBjLrswH-akIUh_Hovwu4zalAH280rIZPfMYFlIZJu9MdXv7y_grbRTBKVmj8QX1dCJFOpPRepBGwP-HGHgxVSJTnE3Yi9P-zTQbuObQJK-ewRgGPLH7p-qWv936kJ4f1EGzziTzjgepEieA2YJW5Uby8kRulJnt84RPyCdE2ygU"></script> <script data-cfasync="false" type="text/javascript"> if (typeof _satellite !== "undefined") { _satellite.pageBottom(); } </script><style> li[data-ttnav-menu-id="menu-id-212"] .techtoday-dropdown-wrapper .content-area .verticals { display: none !important; } </style> <script type="text/javascript"> jQuery('div[data-ttnav-menu-id-content="menu-id-246"] .menu-type-content').addClass('menu-type-category').removeClass('menu-type-content'); jQuery('div[data-ttnav-menu-id-content="menu-id-246"] .main-menu-right').remove(); </script> <style> a.tt-nav-normal-link { font-family: Lato-Bold,Helvetica,Arial,sans-serif; } a.tt-nav-normal-link:hover { background-color: #f1f1f1 !important; color: #000 !important; } </style> <script> jQuery('a.tt-nav-normal-link').on('click mousedown', function (e) { e.preventDefault(); if (e.which == 1) { window.location.href = jQuery(this).attr('href'); } }); jQuery('a.tt-nav-normal-link').on('tap touchstart', function (e) { e.preventDefault(); window.location.href = jQuery(this).attr('href'); }); </script><script data-cfasync="false" type="text/javascript"> var eventSearchHash = window.location.hash; if (document.domain == 'techtoday.lenovo.com' && eventSearchHash && eventSearchHash.length && eventSearchHash.slice(0, 14) != '#event-search_') { window.scrollTo(0, 0); setTimeout(function () { window.scrollTo(0, 0); }, 1); } </script><style> /* Fix top border and button not stacking in cards. */ @media screen and (min-width: 480px) { .block--type--card .field--name-field-cta-items .field--item { display: block !important; } } </style><script> setTimeout(function () { if (jQuery('.field--name-field-interactive-asset').length) { jQuery(window).trigger('resize'); } }, 500); </script><style> #sliding-popup { z-index: 9999 !important; position: fixed !important; } </style><script type="text/javascript"> jQuery('a[href^="https://www.lenovo.com"], a[href^="http://www.lenovo.com"], a[href^="https://lenovo.com"], a[href^="http://lenovo.com"]').attr('target', '_blank'); </script> </body> </html>