CINXE.COM
Webscale networking for AI| Nokia
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <title>Webscale networking for AI| Nokia</title> <meta charset="utf-8" /><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1103314317",accountID:"4372741",trustKey:"66686",xpid:"UAUAU1FXCRABVFRTBQMFUFQI",licenseKey:"NRJS-b2569ac98cbd66e1042",applicationID:"1051222609"};;/*! For license information please see nr-loader-spa-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);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{if(null===e[a]){r[a]=null;continue}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.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.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){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(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 u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,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,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(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}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(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 c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,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=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).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))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);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.gm?.crypto||n.gm?.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.gm?.crypto||n.gm?.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)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);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.gm?.location?.protocol&&t.host===n.gm?.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{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>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}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);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){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),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()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(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(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);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])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={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"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,xq:()=>a});var n=r(384);const i=r(860).K7.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=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",E="cb"+R,T="jsTime",A="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);const E=new Map;function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?M:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new _).get("object"==typeof e?e:{})};const O=_.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(A+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},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=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.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={478:"sha512-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(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={38:0,788: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.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",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)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class M extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,D.I)(e,U,(function(){return K++}))}function G(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.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===p.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,T.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),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,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,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 p.gm?.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)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,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,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),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<de;s++)r.addEventListener(ue[s],this.listener,(0,T.jT)(!1))}function u(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 d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.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,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}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 y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),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 le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(_.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(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}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var _e=i(2614);class Oe extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(_e.H3,"_").concat(_e.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===_e.g.FULL||e.sessionReplayMode===_e.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,T.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,T.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var je=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"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 o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[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=i[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=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(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 De={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(De[t.debugId]++)return t;De[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=Me(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Je]=~~this[Je]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on($e,m),o.on($e,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,Qe+Ze),v(d,Qe+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <meta name="description" content="Nokia webscale networking builds cloud infrastructures connecting AI fabrics through IP peering, IP interconnection and data center interconnect." /> <link rel="canonical" href="https://www.nokia.com/networks/webscale-networking/" /> <meta name="robots" content="index, follow" /> <meta property="og:site_name" content="Nokia.com" /> <meta property="og:type" content="lander" /> <meta property="og:url" content="https://www.nokia.com/networks/webscale-networking/" /> <meta property="og:title" content="Webscale networking for AI | Nokia.com" /> <meta property="og:description" content="Meet new reliability and performance demands with modern data center networking." /> <meta property="og:image" content="https://www.nokia.com/sites/default/files/2023-04/gettyimages-1214403575-1.jpg" /> <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:"1659888",trustKey:"26315",agentID:"1385957899",licenseKey:"25cdcc2fb6",applicationID:"1352335873"}; ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"25cdcc2fb6",applicationID:"1352335873",sa:1}; ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});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),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},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:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(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 p={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},m={};function v(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!m[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return m[e]}function b(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");m[e]=(0,i.D)(t,p),(0,n.Qy)(e,m[e],"loader_config")}const y=(0,n.mF)().o;var w=r(385),x=r(6818);const A={buildEnv:x.Re,bytesSent:{},queryBytesSent:{},customTransaction:void 0,disabled:!1,distMethod:x.gF,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,offset:Math.floor(w._A?.performance?.timeOrigin||w._A?.performance?.timing?.navigationStart||Date.now()),onerror:void 0,origin:""+w._A.location,ptid:void 0,releaseIds:{},session:void 0,xhrWrappable:"function"==typeof w._A.XMLHttpRequest?.prototype?.addEventListener,version:x.q4},E={};function T(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!E[e])throw new Error("Runtime for ".concat(e," was never set"));return E[e]}function _(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");E[e]=(0,i.D)(t,A),(0,n.Qy)(e,E[e],"runtime")}function D(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)=>{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{"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)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});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=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{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)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),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";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(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)f(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,[])}}r.every((e=>{let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(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)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;f<d;f++)s[f].apply(a,r);var l=T()[c[e]];return l&&l.push([p,e,r,a]),a}}function b(e,t){n[e]=w(e).concat(t)}function y(e,t){var r=n[e];if(r)for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)}function w(e){return n[e]||[]}function x(t){return f[t]=f[t]||e(p,t)}function A(e,t){var r=T();p.aborted||(0,o.D)(e,(function(e,n){t=t||"feature",c[n]=t,t in r||(r[t]=[])}))}function E(e){return!!T()[c[e]]}function T(){return p.backlog}}(void 0,"globalEE"),c.ee=u)},5546:(e,t,r)=>{r.d(t,{E:()=>n,p:()=>i});var n=r(2177).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)=>{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)=>{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))}},4402:(e,t,r)=>{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(31))),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(31)));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)=>{r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[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),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{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)=>{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)=>{r.d(t,{P:()=>o});var n=r(2177);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)=>{r.d(t,{K:()=>a,b:()=>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)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,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,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){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)=>{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;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c<t.length;c++)d(a=e[s=t[c]])||(e[s]=r(a,u?s+n:n,i,s,o))},r.flag=i,r;function r(t,r,n,a,s){return d(t)?t:(r||(r=""),nrWrapper[i]=t,u(t,nrWrapper,e),nrWrapper);function nrWrapper(){var i,u,d,f;try{u=this,i=[...arguments],d="function"==typeof n?n(i,u):n||{}}catch(t){c([t,"",[i,u,a],d],e)}o(r+"start",[i,u,a],d,s);try{return f=t.apply(u,i)}catch(e){throw o(r+"err",[i,u,e],d,s),e}finally{o(r+"end",[i,u,f],d,s)}}}function o(r,n,i,o){if(!a||t){var s=a;a=!0;try{e.emit(r,n,i,t,o)}catch(t){c([t,r,n,i],e)}a=s}}}function c(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function u(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){c([e],r)}for(var n in e)o.call(e,n)&&(t[n]=e[n]);return t}function d(e){return!(e&&e instanceof Function&&e.apply&&!e[i])}var f=r(2210),l=r(385);const h={},g=XMLHttpRequest,p="addEventListener",m="removeEventListener";function v(e){var t=function(e){return(e||n.ee).get("events")}(e);if(h[t.debugId]++)return t;h[t.debugId]=1;var r=s(t,!0);function i(e){r.inPlace(e,[p,m],"-",o)}function o(e,t){return e[1]}return"getPrototypeOf"in Object&&(l.il&&b(document,i),b(l._A,i),b(g.prototype,i)),t.on(p+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,f.X)(n,"nr@wrapped",(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 b(e,t){let r=e;for(;"object"==typeof r&&!Object.prototype.hasOwnProperty.call(r,p);)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 y="fetch-",w=y+"body-",x=["arrayBuffer","blob","json","text","formData"],A=l._A.Request,E=l._A.Response,T="prototype",_="nr@context";const D={};function N(e){const t=function(e){return(e||n.ee).get("fetch")}(e);if(!(A&&E&&l._A.fetch))return t;if(D[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[_]&&o[_].dt&&(e=o[_].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return D[t.debugId]=1,x.forEach((e=>{r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"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,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;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 z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._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,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c<a;c++)s[c]=arguments[c];s[0]=o(s[0],"cb-",i,null,!1),s[1]=o(s[1],"cb-",i,null,!1);const u=n.apply(this,s);return i.nextPromise=u,t.emit("propagate",[e,!0],u,!1,!1),u},a.prototype.then[i]=n,t.on("executor-start",(function(e){e[0]=o(e[0],"resolve-",this,null,!1),e[1]=o(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 B={},F="requestAnimationFrame";function U(e){const t=function(e){return(e||n.ee).get("raf")}(e);if(!l.il||B[t.debugId]++)return t;B[t.debugId]=1;var r=s(t);return r.inPlace(window,[F],"raf-"),t.on("raf-start",(function(e){e[0]=r(e[0],"fn-")})),t}const q={},G="setTimeout",V="setInterval",X="clearTimeout",W="-start",Z="-",$=[G,"setImmediate",V,X,"clearImmediate"];function Q(e){const t=function(e){return(e||n.ee).get("timer")}(e);if(q[t.debugId]++)return t;q[t.debugId]=1;var r=s(t);return r.inPlace(l._A,$.slice(0,2),G+Z),r.inPlace(l._A,$.slice(2,3),V+Z),r.inPlace(l._A,$.slice(3),X+Z),t.on(V+W,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(G+W,(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 Y=r(50);const K={},J=["open","send"];function ee(e){var t=e||n.ee;const r=function(e){return(e||n.ee).get("xhr")}(t);if(K[r.debugId]++)return r;K[r.debugId]=1,v(t);var i=s(r),o=k.Yu.XHR,a=k.Yu.MO,c=k.Yu.PR,u=k.Yu.SI,d="readystatechange",f=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],h=[],g=l._A.XMLHttpRequest.listeners,p=l._A.XMLHttpRequest=function(e){var t=new o(e);function n(){try{r.emit("new-xhr",[t],t),t.addEventListener(d,b,(0,P.m$)(!1))}catch(e){(0,Y.Z)("An error occured while intercepting XHR",e);try{r.emit("internal-error",[e])}catch(e){}}}return this.listeners=g?[...g,n]:[n],this.listeners.forEach((e=>e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{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++)m(0,h[e]);h.length&&(h=[])}function E(e,t){return t}return r}},7825:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{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)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{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)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);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-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].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 p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(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(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"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(m,"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"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of <".concat(typeof t,"> was provided."))}else(0,f.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 b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of <".concat(typeof e,"> was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{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=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",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 f=u[d];if(f.getAttribute("src")==r||f.getAttribute("data-webpack")==t+o){s=f;break}}s||(c=!0,(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),e[r]=[n];var l=(t,n)=>{s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.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.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953: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=window.webpackChunkNRBA=window.webpackChunkNRBA||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})();var o={};(()=>{i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.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,b.D)(e,(function(e,r){t[e]=w(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,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(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=w(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 w(e,t){return null==e?function(e){e?e.c++:e={c:1};return e}(t):t?(t.c||(t=x(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 x(e){return{t:e,min:e,max:e,sos:e*e,c:1}}function A(e){return"object"!=typeof e?[]:(0,b.D)(e,E)}function E(e,t){return t}var T=i(8632),_=i(4402),D=i(4351);var N=i(7956),O=i(3239),j=i(9251);class S extends h{static featureName=j.t;constructor(e,r){let n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(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,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.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,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,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 c._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,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i<n.allowed_origins.length;i++){var o=(0,X.e)(n.allowed_origins[i]);if(e.hostname===o.hostname&&e.protocol===o.protocol&&e.port===o.port){r=!0;break}}return r}isDtEnabled(){var e=(0,t.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,t.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,t.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,t.Mt)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var Z=i(7825),$=["load","error","abort","timeout"],Q=$.length,Y=t.Yu.REQ,K=c._A.XMLHttpRequest;class J extends h{static featureName=Z.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),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 t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<Q;s++)t.addEventListener($[s],this.listener,(0,O.m$)(!1))}function f(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 l(e,t){var r=""+G(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function h(e,t){var r=""+G(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,p.z)()}function m(e,t){t instanceof K&&"load"===e[0]&&n.emit("xhr-load-added",[e[1],e[2]],t)}function v(e,t){t instanceof K&&"load"===e[0]&&n.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof K&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,p.z)()))}function y(e,t){this.xhrCbStart&&n.emit("xhr-cb-time",[(0,p.z)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};"string"==typeof e[0]?t=e[0]:e[0]&&e[0].url?t=e[0].url:c._A?.URL&&e[0]&&e[0]instanceof URL&&(t=e[0].href),t&&(this.parsedOrigin=(0,X.e)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=o.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if("string"==typeof e[0]||c._A?.URL&&e[0]&&e[0]instanceof URL){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)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);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 x(e,t){this.params={},this.metrics={},this.startTime=(0,p.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 Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o<Q;o++)t.removeEventListener($[o],this.listener,!1);r.aborted||(n.duration=(0,p.z)()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==r.status&&(r.status=0):_(this,t),n.cbTime=this.cbTime,i("xhr",[r,n,this.startTime,this.endTime,"xhr"],this,e.D.ajax))}}function T(e,t){var r=(0,X.e)(t),n=e.params;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}function _(e,t){e.params.status=t.status;var r=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?V(e.response):"text"===r||""===r||void 0===r?V(e.responseText):void 0}(t,e.lastSize);if(r&&(e.metrics.rxSize=r),e.sameOrigin){var n=t.getResponseHeader("X-NewRelic-App-Data");n&&(e.params.cat=n.split(", ").pop())}e.loadCaptureCalled=!0}n.on("new-xhr",a),n.on("open-xhr-start",s),n.on("open-xhr-end",u),n.on("send-xhr-start",d),n.on("xhr-cb-time",f),n.on("xhr-load-added",l),n.on("xhr-load-removed",h),n.on("xhr-resolved",g),n.on("addEventListener-end",m),n.on("removeEventListener-end",v),n.on("fn-end",y),n.on("fetch-before-start",w),n.on("fetch-start",x),n.on("fn-start",b),n.on("fetch-done",A)}(r,this.ee,this.handler,this.dt),this.importAggregator())}}var ee=i(3614);const{BST_RESOURCE:te,RESOURCE:re,START:ne,END:ie,FEATURE_NAME:oe,FN_END:ae,FN_START:se,PUSH_STATE:ce}=ee;var ue=i(7836);const{FEATURE_NAME:de,START:fe,END:le,BODY:he,CB_END:ge,JS_TIME:pe,FETCH:me,FN_START:ve,CB_START:be,FN_END:ye}=ue;var we=i(4649);class xe extends h{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{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})();</script> <meta name="Generator" content="Drupal 10 (https://www.drupal.org)" /> <meta name="MobileOptimized" content="width" /> <meta name="HandheldFriendly" content="true" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <script src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" charset="UTF-8" data-domain-script="0193df8a-b17a-7a37-87c5-ef60d5be8277"></script> <script type="text/javascript"> function OptanonWrapper() { } </script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "High performance, resilient and secure global Interconnection Platform", "description": "Dr. Thomas King, CTO at DE-CIX, discusses the premium interconnection services they offer and how partnering with Nokia allowed them to provide resilient and secure solutions that offer the scale and performance needed to meet the massive growth in demand. Related link: https://www.nokia.com/networks/webscale-networking", "thumbnailUrl": "https://i.ytimg.com/vi/8zg-_B-ctIA/default.jpg", "uploadDate": "2023-07-25T16:59:34Z", "duration": "PT4M14S", "embedUrl": "https://youtube.com/embed/8zg-_B-ctIA" }</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{ "@type": "ListItem", "position": "1", "name": "Home", "item": "https://www.nokia.com/" },{ "@type": "ListItem", "position": "2", "name": "Network solutions", "item": "https://www.nokia.com/networks/" },{ "@type": "ListItem", "position": "3", "name": "Webscale networking for AI" }]}</script> <meta name="search-language" data-type="string" content="en" /> <meta name="search-location" data-type="string" content="int" /> <meta name="search-updated" data-type="date" content="2025-01-24T13:36:18+00:00" /> <meta name="search-category" data-type="string" content="business" /> <link rel="alternate" hreflang="en" href="https://www.nokia.com/networks/webscale-networking/" /> <link rel="alternate" hreflang="zh-hans" href="https://www.nokia.com/zh_int/" /> <link rel="alternate" hreflang="fi" href="https://www.nokia.com/fi_fi/" /> <link rel="alternate" hreflang="fr" href="https://www.nokia.com/fr_int/" /> <link rel="alternate" hreflang="de" href="https://www.nokia.com/de_int/" /> <link rel="alternate" hreflang="ja" href="https://www.nokia.com/ja_jp/" /> <link rel="alternate" hreflang="pt-br" href="https://www.nokia.com/pt_br/" /> <link rel="alternate" hreflang="es" href="https://www.nokia.com/es_int/" /> <link rel="preload" as="font" crossorigin="anonymous" href="/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_regular.woff2"> <link rel="preload" as="font" crossorigin="anonymous" href="/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_light.woff2"> <link rel="preload" as="font" crossorigin="anonymous" href="/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_bold.woff2"> <link rel="preload" as="font" crossorigin="anonymous" href="/themes/custom/onenokia_reskin/fonts/nokia/nokiapureheadline_ultralight.woff2"> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/fonts/nokia/nokia_new_fonts.css"> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/ajax-progress.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/align.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/autocomplete-loading.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/fieldgroup.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/container-inline.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/clearfix.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/details.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/hidden.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/item-list.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/js.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/nowrap.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/position-container.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/progress.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/reset-appearance.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/resize.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/sticky-header.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-counter.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-counters.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/system-status-report-general-info.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/tabledrag.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/tablesort.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/system/components/tree-child.module.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/contrib/stable/css/media/oembed.formatter.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/custom/nokia_autocomplete_advanced/css/autocomplete.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/custom/nokia_custom_global_header/css/modal.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/contrib/paragraphs/css/paragraphs.unpublished.css?srsw22" /> <link rel="stylesheet" media="all" href="/core/modules/layout_discovery/layouts/onecol/onecol.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/contrib/oembed_lazyload/css/oembed-lazyload.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/contrib/oembed_lazyload/css/oembed-lazyload-style.css?srsw22" /> <link rel="stylesheet" media="all" href="/modules/contrib/oembed_lazyload/modules/oembed_lazyload_youtube/css/youtube.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/atoms/buttons/buttons_all.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/organisms/uxg-custom-annotation/custom-annotation.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_library/patterns/organisms/blaze-slider/blaze.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/molecules/media_video_overlay/media_video_overlay.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/molecules/video/video-small.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/organisms/c4-simple-text/c4-simple-text.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/organisms/c16-title/c16-title.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/component_manual_library/patterns/organisms/c3-vertical-nav/c3-vertical-nav.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/vendor/select-woo/dist/css/select2.min.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/css-search/search.css?srsw22" /> <link rel="stylesheet" media="all" href="//cdn.jsdelivr.net/npm/intl-tel-input@18.1.1/build/css/intlTelInput.css" /> <link rel="stylesheet" media="all" href="//pages.nokia.com/rs/937-WRZ-618/images/internationalPhoneSupportMkto.css" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/js/pathfactory-overlay/pathfactory-overlay.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/css/app.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/css/app-mega-menu.css?srsw22" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/css/overrides.css?srsw22" /> <link rel="stylesheet" media="all" href="/sites/default/files/external-assets/https_pages_nokia_com_rs_937_wrz_618_images_nokia_form_css.min.css" /> <link rel="apple-touch-icon" sizes="180x180" href="/themes/custom/onenokia_reskin/icons/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/themes/custom/onenokia_reskin/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/themes/custom/onenokia_reskin/icons/favicon-16x16.png"> <link rel="manifest" href="/themes/custom/onenokia_reskin/icons/site.webmanifest"> <link rel="mask-icon" href="/themes/custom/onenokia_reskin/icons/safari-pinned-tab.svg" color="#124191"> <link rel="shortcut icon" href="/themes/custom/onenokia_reskin/icons/favicon.ico"> <link rel="preconnect" href="https://rtp-static.marketo.com"> <link rel="dns-prefetch" href="https://rtp-static.marketo.com"> <link rel="preconnect" href="https://www.youtube.com"> <link rel="dns-prefetch" href="https://www.youtube.com"> <link rel="preconnect" href="https://www.googletagmanager.com"> <link rel="dns-prefetch" href="https://www.googletagmanager.com"> <link rel="preconnect" href="https://www.google-analytics.com"> <link rel="dns-prefetch" href="https://www.google-analytics.com"> <link rel="preconnect" href="https://s.go-mpulse.net"> <link rel="dns-prefetch" href="https://s.go-mpulse.net"> <link rel="preconnect" href="https://unpkg.com"> <link rel="dns-prefetch" href="https://unpkg.com"> <link rel="preconnect" href="https://app-sjl.marketo.com"> <link rel="dns-prefetch" href="https://app-sjl.marketo.com"> <meta name="apple-mobile-web-app-title" content="Nokia"> <meta name="application-name" content="Nokia"> <meta name="msapplication-TileColor" content="#124191"> <meta name="msapplication-config" content="/themes/custom/onenokia_reskin/icons/browserconfig.xml"> <meta name="theme-color" content="#ffffff"> <script type='text/javascript'> var scopeData = {"Marketing_page":{"page_tacticID":"T005ZC","page_tacticName":"","page_programID":"","page_campaignID":"","page_campaignName":""},"Content":{"language":"English","errorCode":"","mcaSegment":"","businessType":"","businessLine":"","topic":""}}; </script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document, 'script', 'dataLayer', 'GTM-5433JV'); </script> <script type="text/javascript"> (function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('937-WRZ-618'); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin-beta.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script> <script type='text/javascript'> (function(c,h,a,f,i,e){c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; c[a].a=i;c[a].e=e;var g=h.createElement("script");g.async=true;g.type="text/javascript"; g.src=f+'?aid='+i;var b=h.getElementsByTagName("script")[0];b.parentNode.insertBefore(g,b); // add event listener for script load g.onload = function() { var event = new CustomEvent('MarketoRTPLoaded'); window.dispatchEvent(event); }; })(window,document,"rtp","//sjrtp8-cdn.marketo.com/rtp-api/v1/rtp.js","nokia2"); rtp('send','view'); rtp('get', 'campaign',true); </script> <script>(window.BOOMR_mq=window.BOOMR_mq||[]).push(["addVar",{"rua.upush":"false","rua.cpush":"false","rua.upre":"false","rua.cpre":"false","rua.uprl":"false","rua.cprl":"false","rua.cprf":"false","rua.trans":"","rua.cook":"false","rua.ims":"false","rua.ufprl":"false","rua.cfprl":"false","rua.isuxp":"false","rua.texp":"norulematch","rua.ceh":"false","rua.ueh":"false","rua.ieh.st":"0"}]);</script> <script>!function(e){var n="https://s.go-mpulse.net/boomerang/";if("False"=="True")e.BOOMR_config=e.BOOMR_config||{},e.BOOMR_config.PageParams=e.BOOMR_config.PageParams||{},e.BOOMR_config.PageParams.pci=!0,n="https://s2.go-mpulse.net/boomerang/";if(window.BOOMR_API_key="Y93K3-6TW6G-ESTV2-DHSA8-F37E9",function(){function e(){if(!o){var e=document.createElement("script");e.id="boomr-scr-as",e.src=window.BOOMR.url,e.async=!0,i.parentNode.appendChild(e),o=!0}}function t(e){o=!0;var n,t,a,r,d=document,O=window;if(window.BOOMR.snippetMethod=e?"if":"i",t=function(e,n){var t=d.createElement("script");t.id=n||"boomr-if-as",t.src=window.BOOMR.url,BOOMR_lstart=(new Date).getTime(),e=e||d.body,e.appendChild(t)},!window.addEventListener&&window.attachEvent&&navigator.userAgent.match(/MSIE [67]\./))return window.BOOMR.snippetMethod="s",void t(i.parentNode,"boomr-async");a=document.createElement("IFRAME"),a.src="about:blank",a.title="",a.role="presentation",a.loading="eager",r=(a.frameElement||a).style,r.width=0,r.height=0,r.border=0,r.display="none",i.parentNode.appendChild(a);try{O=a.contentWindow,d=O.document.open()}catch(_){n=document.domain,a.src="javascript:var d=document.open();d.domain='"+n+"';void(0);",O=a.contentWindow,d=O.document.open()}if(n)d._boomrl=function(){this.domain=n,t()},d.write("<bo"+"dy onload='document._boomrl();'>");else if(O._boomrl=function(){t()},O.addEventListener)O.addEventListener("load",O._boomrl,!1);else if(O.attachEvent)O.attachEvent("onload",O._boomrl);d.close()}function a(e){window.BOOMR_onload=e&&e.timeStamp||(new Date).getTime()}if(!window.BOOMR||!window.BOOMR.version&&!window.BOOMR.snippetExecuted){window.BOOMR=window.BOOMR||{},window.BOOMR.snippetStart=(new Date).getTime(),window.BOOMR.snippetExecuted=!0,window.BOOMR.snippetVersion=12,window.BOOMR.url=n+"Y93K3-6TW6G-ESTV2-DHSA8-F37E9";var i=document.currentScript||document.getElementsByTagName("script")[0],o=!1,r=document.createElement("link");if(r.relList&&"function"==typeof r.relList.supports&&r.relList.supports("preload")&&"as"in r)window.BOOMR.snippetMethod="p",r.href=window.BOOMR.url,r.rel="preload",r.as="script",r.addEventListener("load",e),r.addEventListener("error",function(){t(!0)}),setTimeout(function(){if(!o)t(!0)},3e3),BOOMR_lstart=(new Date).getTime(),i.parentNode.appendChild(r);else t(!1);if(window.addEventListener)window.addEventListener("load",a,!1);else if(window.attachEvent)window.attachEvent("onload",a)}}(),"".length>0)if(e&&"performance"in e&&e.performance&&"function"==typeof e.performance.setResourceTimingBufferSize)e.performance.setResourceTimingBufferSize();!function(){if(BOOMR=e.BOOMR||{},BOOMR.plugins=BOOMR.plugins||{},!BOOMR.plugins.AK){var n=""=="true"?1:0,t="",a="bdpnbevn32jtgz5s2mva-f-495336f65-clientnsv4-s.akamaihd.net",i="false"=="true"?2:1,o={"ak.v":"39","ak.cp":"365968","ak.ai":parseInt("325475",10),"ak.ol":"0","ak.cr":4,"ak.ipv":4,"ak.proto":"http/1.1","ak.rid":"9362f1c5","ak.r":44715,"ak.a2":n,"ak.m":"dsca","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":47340,"ak.gh":"23.44.214.4","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"reno","ak.t":"1739772714","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==Gx8YzYyjHZYur1kRTt4avZ89wNveFlJktof33e/Anzb3eslXxNimHOb07Z7JdaR7xWkhFWf/JzCPkVnJoQXRPx7Erz7nQDwUFtYqUjuD701adVtv9le9SCJvRi8duCzJMhil/MqTN3dvsGjlEl/aeuyavXdtuiWAoibQbg6ZO1QZxQ9vbR80FhKBZIExwiKp+mWomPmtCVZ3T/q+VqO9Q4WFabXwmDYwzeQgLegoBY6QXMwmOvwAbevXqCFLjxUjNXmpm3AuWZwkhgmCu3B5/TU88fzJZvNwTOamr5pY2T1o2CHKNm7CUbdqGS/ipfGGKkc+demalzBA662ruZQ6iNCuI7TB5ULh2R6+rZZadaYvbNtipwKrrKDwWHmPlV/LCpW4OKl0BgXQhnMwDwIe/fPAmeliYypn4g3DvqEc7/A=","ak.pv":"681","ak.dpoabenc":"","ak.tf":i};if(""!==t)o["ak.ruds"]=t;var r={i:!1,av:function(n){var t="http.initiator";if(n&&(!n[t]||"spa_hard"===n[t]))o["ak.feo"]=void 0!==e.aFeoApplied?1:0,BOOMR.addVar(o)},rv:function(){var e=["ak.bpcip","ak.cport","ak.cr","ak.csrc","ak.gh","ak.ipv","ak.m","ak.n","ak.ol","ak.proto","ak.quicv","ak.tlsv","ak.0rtt","ak.0rtt.ed","ak.r","ak.acc","ak.t","ak.tf"];BOOMR.removeVar(e)}};BOOMR.plugins.AK={akVars:o,akDNSPreFetchDomain:a,init:function(){if(!r.i){var e=BOOMR.subscribe;e("before_beacon",r.av,null,null),e("onbeacon",r.rv,null,null),r.i=!0}return this},is_complete:function(){return!0}}}}()}(window);</script></head> <body data-node="61156" data-created="1544811561" data-updated="1737725778" data-content-type="lander" data-language="en" data-page-type="industry" class="site-nokiacom site-nokia"> <!-- Google Tag Manager (noscript) - Install in Body --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5433JV" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) - Install in Body --> <a href="#main-content" class="visually-hidden focusable"> Skip to main content </a> <div class="layout-container mega-menu"> <header class="page-header" role="banner"> <div class="navigation-wrapper-outer"> <div id="nokia-global-header" class="nokia-header" data-language="en"> <div class="nokia-header__menu-main-wrapper"> <div class="nokia-header__menu-nokia-logo"> <div id="block-sitebranding-2" class="block block-system block-system-branding-block"> <a href="/" rel="home" class="site-logo nokia-logo transparent-menu-light"> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo.svg" alt="Home" /> </a> <a href="/" rel="home" class="site-logo nokia-logo transparent-menu-dark "> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo-white.svg" alt="Home" /> </a> </div> </div> <div class="nokia-header__menu-hamburger d-flex-mobile d-flex-tablet d-none-desktop"> <input type="checkbox" id="n-mega-menu"> <label class="hamburger hamburger-toggle hamburger--squeeze" role="button" aria-label="Navigation menu" for="n-mega-menu" id="toggle-menu"> <div class="hamburger-box"> <div class="hamburger-inner"></div> </div> <div class="hamburger-expanded"></div> </label> <div class="dropdown-mainmenu-wrapper-mobile c-main-menu"> <div class="page--container page--1 visible" data-scroll-top="0"> <div class="views-exposed-form" data-drupal-selector="views-exposed-form-nokia-solr-search-block-1" id="block-onenokia-reskin-exposedformnokia-solr-searchblock-1-2"> <form action="/search/global/" method="get" id="views-exposed-form-nokia-solr-search-block-1" accept-charset="UTF-8"> <div class="nokia-solr-inner-search"> <div class="js-form-item form-item js-form-type-textfield form-item-search js-form-item-search form-no-label"> <input placeholder="Search all of nokia.com" class="voice-input-popup form-autocomplete form-text" data-drupal-selector="edit-search" data-autocomplete-path="/suggestion/autocomplete/" type="text" id="edit-search" name="search" value="" size="30" maxlength="256"/> </div> <div class="nokia-search-speech-icon"> <div class="nokia-search-speech-icon__button"> <a href="#block-nokia-popup-search-form" data-target=".voice-input-popup" data-language="en" class="speech-button-icon speech-button speech-button-popup">Speak now</a> </div> <div class="nokia-search-speech-icon__background-1 nokia-search-speech-icon__background"></div> <div class="nokia-search-speech-icon__background-2 nokia-search-speech-icon__background"></div> </div> </div> <div class="nokia-solr-filters"> </div> <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions"> <input data-drupal-selector="edit-submit-nokia-solr-search" type="submit" id="edit-submit-nokia-solr-search" value="Search" class="button js-form-submit form-submit btn link" /> </div> </form> </div> <div class="onenokia-mega-menu-mobile__block" id="block-onenokia-reskin-nokiamegamenumobilenavigation"> <div class="onenokia-mega-menu-mobile__container menu--container"> <ul class="nokia-header__mega-menu-mobile"> <li class="nokia-header__menu-level-0 active-main-menu has-next-page" data-level="0"> <input type="checkbox" id="mm1"> <a href="https://www.nokia.com/industries/" data-menu-link-title="Industries" class="open-next-level"> Industries <label class="icon--open-next" for="mm1"> <span class="submenu-collapse-icon"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> </span> <span class="submenu-expanded-icon"></span> </label> </a> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/industries/enterprises/" data-drupal-link-system-path="node/155722">Enterprises</a> <ul class="level--2" data-level="2"> <li><a href="/industries/cloud-and-digital-infrastructure/" data-drupal-link-system-path="node/154591">Cloud and digital infrastructure</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/energy/" data-drupal-link-system-path="node/12016">Energy and resources</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/enterprise-it-infrastructure/" data-drupal-link-system-path="node/155719">Enterprise IT infrastructure</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/manufacturing/" data-drupal-link-system-path="node/96211">Manufacturing</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/stadiums-arenas-entertainment-venues/" data-drupal-link-system-path="node/126891">Stadiums, arenas and entertainment venues</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/transportation/" data-drupal-link-system-path="node/12036">Transportation and logistics</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/industries/service-providers/" data-drupal-link-system-path="node/155886">Service providers</a> <ul class="level--2" data-level="2"> <li><a href="/industries/cable-operators/" data-drupal-link-system-path="node/72951">Cable operators</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/communications-service-providers/" data-drupal-link-system-path="node/154736">Communications service providers</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/neutral-hosts/" data-drupal-link-system-path="node/139396">Neutral hosts</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/optical-networks/subsea-terrestrial-networks/" data-drupal-link-system-path="node/80056">Subsea terrestrial networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/webscale-networking/" data-drupal-link-system-path="node/61156" class="is-active">Webscale networking</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/industries/public-sector/" data-drupal-link-system-path="node/12091">Public sector</a> <ul class="level--2" data-level="2"> <li><a href="/industries/defense/" data-drupal-link-system-path="node/116541">Defense</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/federal-government/" data-drupal-link-system-path="node/82131">Federal government</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/government-broadband/" data-drupal-link-system-path="node/12076">Government-funded Broadband</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/public-safety/" data-drupal-link-system-path="node/12081">Public safety</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/research-and-education/" data-drupal-link-system-path="node/155721">Research and education</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/smart-communities/" data-drupal-link-system-path="node/12086">Smart communities</a></li> </ul> </li> </ul> </li> <li class="nokia-header__menu-level-0 has-next-page" data-level="0"> <input type="checkbox" id="mm2"> <a href="/networks/" data-menu-link-title="Network solutions" class="open-next-level" data-drupal-link-system-path="node/113061"> Network solutions <label class="icon--open-next" for="mm2"> <span class="submenu-collapse-icon"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> </span> <span class="submenu-expanded-icon"></span> </label> </a> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/networks/solution-areas/" data-drupal-link-system-path="node/9736">Network infrastructure</a> <ul class="level--2" data-level="2"> <li><a href="/ai-and-analytics/" data-drupal-link-system-path="node/15396">AI and analytics</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/autonomous-networks/" data-drupal-link-system-path="node/125981">Autonomous networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/core/" data-drupal-link-system-path="node/266937">Core networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/data-center-networks/" data-drupal-link-system-path="node/113616">Data center networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/fixed-networks/" data-drupal-link-system-path="node/107281">Fixed networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/ip-networks/" data-drupal-link-system-path="node/106841">IP networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/mobile-networks/" data-drupal-link-system-path="node/106506">Mobile networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/programmable-networks/" data-drupal-link-system-path="node/130401">Network as Code</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/optical-networks/" data-drupal-link-system-path="node/156852">Optical networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/private-networks/" data-drupal-link-system-path="node/116521">Private networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/security/" data-drupal-link-system-path="node/107806">Security</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/solutions/" data-drupal-link-system-path="node/107851">Solutions for industry</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/networks/topics/" data-drupal-link-system-path="node/124581">Network topics</a> <ul class="level--2" data-level="2"> <li><a href="/networks/5g/" data-drupal-link-system-path="node/66">5G</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/automation/" data-drupal-link-system-path="node/94911">Network automation</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/industry-4-0/" data-drupal-link-system-path="node/61236">Accelerating Industry 4.0</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/broadband-edge/" data-drupal-link-system-path="node/141526">Broadband edge</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/industries/enterprise-cloud-networks/" data-drupal-link-system-path="node/148876">Enterprise cloud networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/metaverse/" data-drupal-link-system-path="node/137131">Metaverse</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/model-driven-management/">Model-driven management</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/network-slicing/" data-drupal-link-system-path="node/123756">Network slicing</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/radio-access-networks/open-ran/" data-drupal-link-system-path="node/88991">Open RAN</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/quantum/" data-drupal-link-system-path="node/157771">Quantum technologies</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/topics/" data-drupal-link-system-path="node/124581">View all topics</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/networks/services/" data-drupal-link-system-path="node/16336">Services</a> <ul class="level--2" data-level="2"> <li><a href="/networks/services/cloud-network-services/" data-drupal-link-system-path="node/95161">Cloud and network services</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/services/fixed-networks-services/" data-drupal-link-system-path="node/71051">Fixed networks services</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/services/services-for-mobile-networks/" data-drupal-link-system-path="node/128281">Services for mobile networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/services/managed-services/" data-drupal-link-system-path="node/15806">Services for industry</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/services/managed-services/" data-drupal-link-system-path="node/15806">Managed services</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="https://customer.nokia.com/support/s/">Network product support</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="https://www.nokia.com/developer/">Developer resources</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="https://documentation.nokia.com/">Documentation center</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/networks/training/" data-drupal-link-system-path="node/3651">Training and certifications</a> </li> </ul> </li> <li class="nokia-header__menu-level-0 has-next-page" data-level="0"> <input type="checkbox" id="mm3"> <a href="/insights/" data-menu-link-title="Insights and innovation" class="open-next-level" data-drupal-link-system-path="node/12131"> Insights and innovation <label class="icon--open-next" for="mm3"> <span class="submenu-collapse-icon"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> </span> <span class="submenu-expanded-icon"></span> </label> </a> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/bell-labs/" data-drupal-link-system-path="node/158488">Nokia Bell Labs</a> <ul class="level--2" data-level="2"> <li><a href="/bell-labs/research/" data-drupal-link-system-path="node/157761">Research</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/bell-labs/publications-and-media/" data-drupal-link-system-path="node/158278">Publications and media</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/bell-labs/bell-labs-consulting/" data-drupal-link-system-path="node/158129">Bell Labs Consulting</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/bell-labs/collaboration-opportunities/" data-drupal-link-system-path="node/157885">Collaboration and opportunities</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/bell-labs/about/" data-drupal-link-system-path="node/158112">About Bell Labs</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/thought-leadership/" data-drupal-link-system-path="node/108181">Thought leadership</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/innovate-with-nokia/" data-drupal-link-system-path="node/156067">Innovate with Nokia</a> <ul class="level--2" data-level="2"> <li><a href="/innovate-with-nokia/nokia-garages/" data-drupal-link-system-path="node/12696">Nokia Garages</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/ventures/" data-drupal-link-system-path="node/154911">Nokia Ventures</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/innovation/veturi-programs/" data-drupal-link-system-path="node/141666">Veturi programs</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/technology-strategy/" data-drupal-link-system-path="node/157537">Technology strategy</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/innovation/technology-vision/" data-drupal-link-system-path="node/126096">Technology vision</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/standardization/" data-drupal-link-system-path="node/112666">Standardization</a> <ul class="level--2" data-level="2"> <li><a href="/standardization/ecosystem-and-industry-leadership/" data-drupal-link-system-path="node/112221">Ecosystem leadership</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/standardization/spectrum-policy/" data-drupal-link-system-path="node/90141">Spectrum policy</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/standardization/technology-standards/" data-drupal-link-system-path="node/155716">Technology standards</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/standardization/intellectual-property-rights-leadership/" data-drupal-link-system-path="node/112251">Intellectual property rights leadership</a></li> </ul> </li> </ul> </li> <li class="nokia-header__menu-level-0 has-next-page" data-level="0"> <input type="checkbox" id="mm4"> <a href="/collaborate-with-us/" data-menu-link-title="Collaborate with us" class="open-next-level" data-drupal-link-system-path="node/156031"> Collaborate with us <label class="icon--open-next" for="mm4"> <span class="submenu-collapse-icon"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> </span> <span class="submenu-expanded-icon"></span> </label> </a> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/partners/" data-drupal-link-system-path="node/11856">Partners</a> <ul class="level--2" data-level="2"> <li><a href="/partners/build/" data-drupal-link-system-path="node/134776">Build</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/partners/discover/" data-drupal-link-system-path="node/101526">Discover</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/partners/go-to-market/" data-drupal-link-system-path="node/134861">Go to market</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/licensing/" data-drupal-link-system-path="node/84061">Licensing</a> <ul class="level--2" data-level="2"> <li><a href="/licensing/patents/" data-drupal-link-system-path="node/83476">Patent licensing</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/licensing/principles/" data-drupal-link-system-path="node/92881">SEP licensing principles</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/licensing/technology/" data-drupal-link-system-path="node/92451">Technology licensing</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/open-source/" data-drupal-link-system-path="node/155266">Open source</a> </li> </ul> </li> <li class="nokia-header__menu-level-0 has-next-page" data-level="0"> <input type="checkbox" id="mm5"> <a href="/we-are-nokia/" data-menu-link-title="We are Nokia" class="open-next-level" data-drupal-link-system-path="node/134351"> We are Nokia <label class="icon--open-next" for="mm5"> <span class="submenu-collapse-icon"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> </span> <span class="submenu-expanded-icon"></span> </label> </a> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/we-are-nokia/" data-drupal-link-system-path="node/134351">About us</a> <ul class="level--2" data-level="2"> <li><a href="/about/networks-that-think-sense-and-act/" data-drupal-link-system-path="node/133946">Networks that sense, think and act</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/we-are-nokia/leadership-and-governance/" data-drupal-link-system-path="node/3266">Leadership and governance</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/we-are-nokia/our-history/" data-drupal-link-system-path="node/134806">History</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/about-us/sustainability/" data-drupal-link-system-path="node/133656">Sustainability</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/we-are-nokia/security-and-privacy/" data-drupal-link-system-path="node/71881">Security and privacy</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/about-us/newsroom/" data-drupal-link-system-path="node/148491">Newsroom</a> <ul class="level--2" data-level="2"> <li><a href="/about-us/newsroom/press-and-stock-exchange-releases/" data-drupal-link-system-path="node/21891">Press and stock exchange releases</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/about-us/newsroom/statements/" data-drupal-link-system-path="node/136291">Statements</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/about-us/newsroom/articles/" data-drupal-link-system-path="node/148811">Technology explained</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/about-us/newsroom/events-calendar/" data-drupal-link-system-path="node/150626">Events calendar</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/about-us/newsroom/media-resources/" data-drupal-link-system-path="node/17926">Media resources</a></li> </ul> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/blog/" data-drupal-link-system-path="node/129751">Blog</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="https://www.nokia.com/about-us/careers/">Careers</a> </li> </ul> <ul class="sub-menu"> <li class="level--1--link has-next-page"> <a href="/about-us/investors/" data-drupal-link-system-path="node/132091">Investors</a> </li> </ul> </li> </ul> </div> </div> <div id="block-languageswitcher-2" class="block--langswitcher"> <div class="lang-switch-toggle transparent-menu-light"> <div class="langswitch-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.1175 10.9997C15.1175 7.26882 13.9764 3.75626 12.0217 0.769597L10.7715 1.58324C12.5873 4.35161 13.6291 7.58634 13.6291 10.9997H15.1175ZM11.9125 21.3389C13.8772 18.4515 15.1175 14.8298 15.1175 10.9997H13.6291C13.6291 14.5122 12.488 17.8363 10.6822 20.5054L11.9125 21.3389ZM1.07719 11.7439H20.9222V10.2555H1.07719V11.7439ZM8.27099 10.9997C8.27099 7.58634 9.31285 4.35161 11.1287 1.58324L9.87843 0.769597C7.9237 3.75626 6.78262 7.26882 6.78262 10.9997H8.27099ZM11.218 20.5054C9.41208 17.8363 8.27099 14.5122 8.27099 10.9997H6.78262C6.78262 14.8298 8.02293 18.4515 9.98758 21.3389L11.218 20.5054ZM0.333008 10.9997C0.333008 16.9631 5.03626 21.6663 10.9997 21.6663V20.178C5.84991 20.178 1.82138 16.1494 1.82138 10.9997H0.333008ZM10.9997 0.333008C5.13549 0.333008 0.333008 5.13549 0.333008 10.9997H1.82138C1.82138 5.94913 5.94913 1.82138 10.9997 1.82138V0.333008ZM21.6663 10.9997C21.6663 5.13549 16.8639 0.333008 10.9997 0.333008V1.82138C16.0502 1.82138 20.178 5.94913 20.178 10.9997H21.6663ZM10.9997 21.6663C16.8639 21.6663 21.6663 16.8639 21.6663 10.9997H20.178C20.178 16.0502 16.0502 20.178 10.9997 20.178V21.6663ZM12.0217 0.769597C11.7935 0.42231 11.337 0.333008 10.9898 0.551302C10.6425 0.779519 10.5532 1.23595 10.7715 1.58324L12.0217 0.769597ZM10.6822 20.5054C10.4539 20.8428 10.5432 21.3091 10.8806 21.5373C11.218 21.7656 11.6843 21.6763 11.9125 21.3389L10.6822 20.5054ZM11.1287 1.58324C11.347 1.23595 11.2577 0.779519 10.9104 0.551302C10.5631 0.333008 10.1067 0.42231 9.87843 0.769597L11.1287 1.58324ZM9.98758 21.3389C10.2158 21.6763 10.6822 21.7656 11.0195 21.5373C11.3569 21.3091 11.4462 20.8428 11.218 20.5054L9.98758 21.3389Z" fill="#005AFF"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#005AFF"/> </svg> </div> </div> <div class="lang-switch-toggle transparent-menu-dark"> <div class="langswitch-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.1175 10.9997C15.1175 7.26882 13.9764 3.75626 12.0217 0.769597L10.7715 1.58324C12.5873 4.35161 13.6291 7.58634 13.6291 10.9997H15.1175ZM11.9125 21.3389C13.8772 18.4515 15.1175 14.8298 15.1175 10.9997H13.6291C13.6291 14.5122 12.488 17.8363 10.6822 20.5054L11.9125 21.3389ZM1.07719 11.7439H20.9222V10.2555H1.07719V11.7439ZM8.27099 10.9997C8.27099 7.58634 9.31285 4.35161 11.1287 1.58324L9.87843 0.769597C7.9237 3.75626 6.78262 7.26882 6.78262 10.9997H8.27099ZM11.218 20.5054C9.41208 17.8363 8.27099 14.5122 8.27099 10.9997H6.78262C6.78262 14.8298 8.02293 18.4515 9.98758 21.3389L11.218 20.5054ZM0.333008 10.9997C0.333008 16.9631 5.03626 21.6663 10.9997 21.6663V20.178C5.84991 20.178 1.82138 16.1494 1.82138 10.9997H0.333008ZM10.9997 0.333008C5.13549 0.333008 0.333008 5.13549 0.333008 10.9997H1.82138C1.82138 5.94913 5.94913 1.82138 10.9997 1.82138V0.333008ZM21.6663 10.9997C21.6663 5.13549 16.8639 0.333008 10.9997 0.333008V1.82138C16.0502 1.82138 20.178 5.94913 20.178 10.9997H21.6663ZM10.9997 21.6663C16.8639 21.6663 21.6663 16.8639 21.6663 10.9997H20.178C20.178 16.0502 16.0502 20.178 10.9997 20.178V21.6663ZM12.0217 0.769597C11.7935 0.42231 11.337 0.333008 10.9898 0.551302C10.6425 0.779519 10.5532 1.23595 10.7715 1.58324L12.0217 0.769597ZM10.6822 20.5054C10.4539 20.8428 10.5432 21.3091 10.8806 21.5373C11.218 21.7656 11.6843 21.6763 11.9125 21.3389L10.6822 20.5054ZM11.1287 1.58324C11.347 1.23595 11.2577 0.779519 10.9104 0.551302C10.5631 0.333008 10.1067 0.42231 9.87843 0.769597L11.1287 1.58324ZM9.98758 21.3389C10.2158 21.6763 10.6822 21.7656 11.0195 21.5373C11.3569 21.3091 11.4462 20.8428 11.218 20.5054L9.98758 21.3389Z" fill="#ffffff"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#ffffff"/> </svg> </div> </div> <div class="language-selection-wrapper"> <div class="container"> <div class="nokia-country-selector-block"> <div class="nokia-country-selector-content"> <div class="nokia-country-title"> <h4>Select your country</h4> </div> <div class="nokia-country-description"> <p>We have limited content available for some countries. Find office information and country specific information through our country hub.</p> </div> </div> <div class="nokia-country-selector-links"> <ul class="nokia-country-header__menu-main"> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/" data-linktype="header">Worldwide (English)</a> </li> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/fi_fi/" data-linktype="header">Suomi (Finland)</a> </li> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/contact-us/worldwide-offices/" data-linktype="header">Offices and country specific information</a> </li> </ul> </div> </div> </div> </div> </div> </div> <div class="page--container page--2"> <div class="go-back__container"> <a href="javascript:void(0)" role="button" class="btn--go-back"><svg width="8" height="16" viewBox="0 0 8 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.10725 7.38206C6.18065 7.44792 6.24055 7.56131 6.28349 7.65094C6.32644 7.74057 6.35157 7.83801 6.35744 7.93761C6.35157 8.03722 6.32644 8.13466 6.28349 8.22429C6.24055 8.31392 6.18065 8.39397 6.10725 8.45983L0.233207 14.582C0.0818615 14.7397 -0.00200333 14.9523 3.63151e-05 15.1732C0.00207596 15.394 0.0898533 15.605 0.244085 15.7598C0.400253 15.9139 0.608909 16 0.826051 16C1.04319 16 1.25185 15.9139 1.40802 15.7598L7.28206 9.64871C7.72968 9.20422 7.98766 8.59737 8 7.95984C7.98766 7.3223 7.72968 6.71545 7.28206 6.27096L1.40802 0.159912C1.25522 0.0461482 1.06848 -0.00987248 0.87972 0.00142857C0.690962 0.0127287 0.511907 0.0906477 0.373167 0.221865C0.234426 0.353082 0.144614 0.529449 0.119085 0.720814C0.0935563 0.91218 0.133896 1.10666 0.233207 1.27101L6.10725 7.38206Z" fill="#005AFF"/> </svg> <span>Back</span></a> </div> <div class="page-details__container"> <div class="menu--title"></div> <div class="menu--description"></div> <div class="menu--link"></div> </div> <div class="sub-menu__container"></div> </div> </div> </div> <div class="dropdown-mainmenu-wrapper d-none d-flex-desktop"> <div class="onenokia-mega-menu__block" id="block-nokiamegamenunavigation"> <ul class="nokia-header__mega-menu-main"> <li class="nokia-header__menu-level-0 active-main-menu"> <a href="https://www.nokia.com/industries/" data-linktype="header">Industries</a> <div class="mega-menu__holder"> <div class="mega-menu"> <div class="mega-menu__inner"> <div class="col col--left"> <div class="menu--title">Industries</div> <div class="menu--description">Trusted networks with superior performance to meet the demands and opportunities of your digital transformation. </div> <div class="menu--link"> <a href="https://www.nokia.com/industries/">Industries</a> </div> </div> <div class="col col--right"> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/industries/enterprises/">Enterprises</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/cloud-and-digital-infrastructure/" data-drupal-link-system-path="node/154591">Cloud and digital infrastructure</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/energy/" data-drupal-link-system-path="node/12016">Energy and resources</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/enterprise-it-infrastructure/" data-drupal-link-system-path="node/155719">Enterprise IT infrastructure</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/manufacturing/" data-drupal-link-system-path="node/96211">Manufacturing</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/stadiums-arenas-entertainment-venues/" data-drupal-link-system-path="node/126891">Stadiums, arenas and entertainment venues</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/transportation/" data-drupal-link-system-path="node/12036">Transportation and logistics</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/industries/service-providers/">Service providers</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/cable-operators/" data-drupal-link-system-path="node/72951">Cable operators</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/communications-service-providers/" data-drupal-link-system-path="node/154736">Communications service providers</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/neutral-hosts/" data-drupal-link-system-path="node/139396">Neutral hosts</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/optical-networks/subsea-terrestrial-networks/" data-drupal-link-system-path="node/80056">Subsea terrestrial networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/webscale-networking/" data-drupal-link-system-path="node/61156" class="is-active">Webscale networking</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/industries/public-sector/">Public sector</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/defense/" data-drupal-link-system-path="node/116541">Defense</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/federal-government/" data-drupal-link-system-path="node/82131">Federal government</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/government-broadband/" data-drupal-link-system-path="node/12076">Government-funded Broadband</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/public-safety/" data-drupal-link-system-path="node/12081">Public safety</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/research-and-education/" data-drupal-link-system-path="node/155721">Research and education</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/smart-communities/" data-drupal-link-system-path="node/12086">Smart communities</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="nokia-header__menu-level-0"> <a href="/networks/" data-linktype="header" data-drupal-link-system-path="node/113061">Network solutions</a> <div class="mega-menu__holder"> <div class="mega-menu"> <div class="mega-menu__inner"> <div class="col col--left"> <div class="menu--title">Network solutions</div> <div class="menu--description">Networks with superior performance, and security. Now you can reduce operational complexity and ensure resilience across your operations. Enrich your customers' experience, create new value and expand your opportunities.</div> <div class="menu--link"> <a href="/networks/" data-drupal-link-system-path="node/113061">Network solutions</a> </div> </div> <div class="col col--right"> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/networks/solution-areas/">Network infrastructure</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/ai-and-analytics/" data-drupal-link-system-path="node/15396">AI and analytics</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/autonomous-networks/" data-drupal-link-system-path="node/125981">Autonomous networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/core/" data-drupal-link-system-path="node/266937">Core networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/data-center-networks/" data-drupal-link-system-path="node/113616">Data center networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/fixed-networks/" data-drupal-link-system-path="node/107281">Fixed networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/ip-networks/" data-drupal-link-system-path="node/106841">IP networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/mobile-networks/" data-drupal-link-system-path="node/106506">Mobile networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/programmable-networks/" data-drupal-link-system-path="node/130401">Network as Code</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/optical-networks/" data-drupal-link-system-path="node/156852">Optical networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/private-networks/" data-drupal-link-system-path="node/116521">Private networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/security/" data-drupal-link-system-path="node/107806">Security</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/solutions/" data-drupal-link-system-path="node/107851">Solutions for industry</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/networks/topics/">Network topics</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/5g/" data-drupal-link-system-path="node/66">5G</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/automation/" data-drupal-link-system-path="node/94911">Network automation</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/industry-4-0/" data-drupal-link-system-path="node/61236">Accelerating Industry 4.0</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/broadband-edge/" data-drupal-link-system-path="node/141526">Broadband edge</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/industries/enterprise-cloud-networks/" data-drupal-link-system-path="node/148876">Enterprise cloud networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/metaverse/" data-drupal-link-system-path="node/137131">Metaverse</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/model-driven-management/">Model-driven management</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/network-slicing/" data-drupal-link-system-path="node/123756">Network slicing</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/radio-access-networks/open-ran/" data-drupal-link-system-path="node/88991">Open RAN</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/quantum/" data-drupal-link-system-path="node/157771">Quantum technologies</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/topics/" data-drupal-link-system-path="node/124581">View all topics</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/networks/services/">Services</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/services/cloud-network-services/" data-drupal-link-system-path="node/95161">Cloud and network services</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/services/fixed-networks-services/" data-drupal-link-system-path="node/71051">Fixed networks services</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/services/services-for-mobile-networks/" data-drupal-link-system-path="node/128281">Services for mobile networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/services/managed-services/" data-drupal-link-system-path="node/15806">Services for industry</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/services/managed-services/" data-drupal-link-system-path="node/15806">Managed services</a> </li> </ul> <div class="level--1--link"> <a href="https://customer.nokia.com/support/s/">Network product support</a> </div> <div class="level--1--link"> <a href="https://www.nokia.com/developer/">Developer resources</a> </div> <div class="level--1--link"> <a href="https://documentation.nokia.com/">Documentation center</a> </div> <div class="level--1--link"> <a href="/networks/training/">Training and certifications</a> </div> </div> </div> </div> </div> </div> </li> <li class="nokia-header__menu-level-0"> <a href="/insights/" data-linktype="header" data-drupal-link-system-path="node/12131">Insights and innovation</a> <div class="mega-menu__holder"> <div class="mega-menu"> <div class="mega-menu__inner"> <div class="col col--left"> <div class="menu--title">Insights and innovation</div> <div class="menu--description">Get expert insights so you can break down the barriers that are holding you back. </div> <div class="menu--link"> <a href="/insights/" data-drupal-link-system-path="node/12131">Insights and innovation</a> </div> </div> <div class="col col--right"> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/bell-labs/">Nokia Bell Labs</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/bell-labs/research/" data-drupal-link-system-path="node/157761">Research</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/bell-labs/publications-and-media/" data-drupal-link-system-path="node/158278">Publications and media</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/bell-labs/bell-labs-consulting/" data-drupal-link-system-path="node/158129">Bell Labs Consulting</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/bell-labs/collaboration-opportunities/" data-drupal-link-system-path="node/157885">Collaboration and opportunities</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/bell-labs/about/" data-drupal-link-system-path="node/158112">About Bell Labs</a> </li> </ul> <div class="level--1--link"> <a href="/thought-leadership/">Thought leadership</a> </div> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/innovate-with-nokia/">Innovate with Nokia</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/innovate-with-nokia/nokia-garages/" data-drupal-link-system-path="node/12696">Nokia Garages</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/ventures/" data-drupal-link-system-path="node/154911">Nokia Ventures</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/innovation/veturi-programs/" data-drupal-link-system-path="node/141666">Veturi programs</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/technology-strategy/" data-drupal-link-system-path="node/157537">Technology strategy</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/innovation/technology-vision/" data-drupal-link-system-path="node/126096">Technology vision</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/standardization/">Standardization</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/standardization/ecosystem-and-industry-leadership/" data-drupal-link-system-path="node/112221">Ecosystem leadership</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/standardization/spectrum-policy/" data-drupal-link-system-path="node/90141">Spectrum policy</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/standardization/technology-standards/" data-drupal-link-system-path="node/155716">Technology standards</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/standardization/intellectual-property-rights-leadership/" data-drupal-link-system-path="node/112251">Intellectual property rights leadership</a> </li> </ul> </div> </div> </div> </div> </div> </li> <li class="nokia-header__menu-level-0"> <a href="/collaborate-with-us/" data-linktype="header" data-drupal-link-system-path="node/156031">Collaborate with us</a> <div class="mega-menu__holder"> <div class="mega-menu"> <div class="mega-menu__inner"> <div class="col col--left"> <div class="menu--title">Collaborate with us</div> <div class="menu--description">Create your collaborative advantage.</div> <div class="menu--link"> <a href="/collaborate-with-us/" data-drupal-link-system-path="node/156031">Collaborate with us</a> </div> </div> <div class="col col--right"> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/partners/">Partners</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/partners/build/" data-drupal-link-system-path="node/134776">Build</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/partners/discover/" data-drupal-link-system-path="node/101526">Discover</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/partners/go-to-market/" data-drupal-link-system-path="node/134861">Go to market</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/licensing/">Licensing</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/licensing/patents/" data-drupal-link-system-path="node/83476">Patent licensing</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/licensing/principles/" data-drupal-link-system-path="node/92881">SEP licensing principles</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/licensing/technology/" data-drupal-link-system-path="node/92451">Technology licensing</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/open-source/">Open source</a> </div> </div> </div> </div> </div> </div> </li> <li class="nokia-header__menu-level-0"> <a href="/we-are-nokia/" data-linktype="header" data-drupal-link-system-path="node/134351">We are Nokia</a> <div class="mega-menu__holder"> <div class="mega-menu"> <div class="mega-menu__inner"> <div class="col col--left"> <div class="menu--title">We are Nokia</div> <div class="menu--description">We are a B2B technology innovation leader in networking, bringing together the world's people, machines and devices to realize the potential of digital in every industry.</div> <div class="menu--link"> <a href="/we-are-nokia/" data-drupal-link-system-path="node/134351">We are Nokia</a> </div> </div> <div class="col col--right"> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/we-are-nokia/">About us</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/about/networks-that-think-sense-and-act/" data-drupal-link-system-path="node/133946">Networks that sense, think and act</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/we-are-nokia/leadership-and-governance/" data-drupal-link-system-path="node/3266">Leadership and governance</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/we-are-nokia/our-history/" data-drupal-link-system-path="node/134806">History</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/sustainability/" data-drupal-link-system-path="node/133656">Sustainability</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/we-are-nokia/security-and-privacy/" data-drupal-link-system-path="node/71881">Security and privacy</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/about-us/newsroom/">Newsroom</a> </div> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/newsroom/press-and-stock-exchange-releases/" data-drupal-link-system-path="node/21891">Press and stock exchange releases</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/newsroom/statements/" data-drupal-link-system-path="node/136291">Statements</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/newsroom/articles/" data-drupal-link-system-path="node/148811">Technology explained</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/newsroom/events-calendar/" data-drupal-link-system-path="node/150626">Events calendar</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/about-us/newsroom/media-resources/" data-drupal-link-system-path="node/17926">Media resources</a> </li> </ul> </div> <div class="col col--sub-menu level--1"> <div class="level--1--link"> <a href="/blog/">Blog</a> </div> <div class="level--1--link"> <a href="https://www.nokia.com/about-us/careers/">Careers</a> </div> <div class="level--1--link"> <a href="/about-us/investors/">Investors</a> </div> </div> </div> </div> </div> </div> </li> <div class="onenokia-mega-menu__background"></div> </ul> </div> </div> <div class="nokia-header__menu-choose d-none d-flex-desktop"> <div id="block-languageswitcher" class="block--langswitcher"> <div class="lang-switch-toggle transparent-menu-light"> <div class="langswitch-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.1175 10.9997C15.1175 7.26882 13.9764 3.75626 12.0217 0.769597L10.7715 1.58324C12.5873 4.35161 13.6291 7.58634 13.6291 10.9997H15.1175ZM11.9125 21.3389C13.8772 18.4515 15.1175 14.8298 15.1175 10.9997H13.6291C13.6291 14.5122 12.488 17.8363 10.6822 20.5054L11.9125 21.3389ZM1.07719 11.7439H20.9222V10.2555H1.07719V11.7439ZM8.27099 10.9997C8.27099 7.58634 9.31285 4.35161 11.1287 1.58324L9.87843 0.769597C7.9237 3.75626 6.78262 7.26882 6.78262 10.9997H8.27099ZM11.218 20.5054C9.41208 17.8363 8.27099 14.5122 8.27099 10.9997H6.78262C6.78262 14.8298 8.02293 18.4515 9.98758 21.3389L11.218 20.5054ZM0.333008 10.9997C0.333008 16.9631 5.03626 21.6663 10.9997 21.6663V20.178C5.84991 20.178 1.82138 16.1494 1.82138 10.9997H0.333008ZM10.9997 0.333008C5.13549 0.333008 0.333008 5.13549 0.333008 10.9997H1.82138C1.82138 5.94913 5.94913 1.82138 10.9997 1.82138V0.333008ZM21.6663 10.9997C21.6663 5.13549 16.8639 0.333008 10.9997 0.333008V1.82138C16.0502 1.82138 20.178 5.94913 20.178 10.9997H21.6663ZM10.9997 21.6663C16.8639 21.6663 21.6663 16.8639 21.6663 10.9997H20.178C20.178 16.0502 16.0502 20.178 10.9997 20.178V21.6663ZM12.0217 0.769597C11.7935 0.42231 11.337 0.333008 10.9898 0.551302C10.6425 0.779519 10.5532 1.23595 10.7715 1.58324L12.0217 0.769597ZM10.6822 20.5054C10.4539 20.8428 10.5432 21.3091 10.8806 21.5373C11.218 21.7656 11.6843 21.6763 11.9125 21.3389L10.6822 20.5054ZM11.1287 1.58324C11.347 1.23595 11.2577 0.779519 10.9104 0.551302C10.5631 0.333008 10.1067 0.42231 9.87843 0.769597L11.1287 1.58324ZM9.98758 21.3389C10.2158 21.6763 10.6822 21.7656 11.0195 21.5373C11.3569 21.3091 11.4462 20.8428 11.218 20.5054L9.98758 21.3389Z" fill="#005AFF"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#005AFF"/> </svg> </div> </div> <div class="lang-switch-toggle transparent-menu-dark"> <div class="langswitch-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M15.1175 10.9997C15.1175 7.26882 13.9764 3.75626 12.0217 0.769597L10.7715 1.58324C12.5873 4.35161 13.6291 7.58634 13.6291 10.9997H15.1175ZM11.9125 21.3389C13.8772 18.4515 15.1175 14.8298 15.1175 10.9997H13.6291C13.6291 14.5122 12.488 17.8363 10.6822 20.5054L11.9125 21.3389ZM1.07719 11.7439H20.9222V10.2555H1.07719V11.7439ZM8.27099 10.9997C8.27099 7.58634 9.31285 4.35161 11.1287 1.58324L9.87843 0.769597C7.9237 3.75626 6.78262 7.26882 6.78262 10.9997H8.27099ZM11.218 20.5054C9.41208 17.8363 8.27099 14.5122 8.27099 10.9997H6.78262C6.78262 14.8298 8.02293 18.4515 9.98758 21.3389L11.218 20.5054ZM0.333008 10.9997C0.333008 16.9631 5.03626 21.6663 10.9997 21.6663V20.178C5.84991 20.178 1.82138 16.1494 1.82138 10.9997H0.333008ZM10.9997 0.333008C5.13549 0.333008 0.333008 5.13549 0.333008 10.9997H1.82138C1.82138 5.94913 5.94913 1.82138 10.9997 1.82138V0.333008ZM21.6663 10.9997C21.6663 5.13549 16.8639 0.333008 10.9997 0.333008V1.82138C16.0502 1.82138 20.178 5.94913 20.178 10.9997H21.6663ZM10.9997 21.6663C16.8639 21.6663 21.6663 16.8639 21.6663 10.9997H20.178C20.178 16.0502 16.0502 20.178 10.9997 20.178V21.6663ZM12.0217 0.769597C11.7935 0.42231 11.337 0.333008 10.9898 0.551302C10.6425 0.779519 10.5532 1.23595 10.7715 1.58324L12.0217 0.769597ZM10.6822 20.5054C10.4539 20.8428 10.5432 21.3091 10.8806 21.5373C11.218 21.7656 11.6843 21.6763 11.9125 21.3389L10.6822 20.5054ZM11.1287 1.58324C11.347 1.23595 11.2577 0.779519 10.9104 0.551302C10.5631 0.333008 10.1067 0.42231 9.87843 0.769597L11.1287 1.58324ZM9.98758 21.3389C10.2158 21.6763 10.6822 21.7656 11.0195 21.5373C11.3569 21.3091 11.4462 20.8428 11.218 20.5054L9.98758 21.3389Z" fill="#ffffff"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#ffffff"/> </svg> </div> </div> <div class="language-selection-wrapper"> <div class="container"> <div class="nokia-country-selector-block"> <div class="nokia-country-selector-content"> <div class="nokia-country-title"> <h4>Select your country</h4> </div> <div class="nokia-country-description"> <p>We have limited content available for some countries. Find office information and country specific information through our country hub.</p> </div> </div> <div class="nokia-country-selector-links"> <ul class="nokia-country-header__menu-main"> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/" data-linktype="header">Worldwide (English)</a> </li> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/fi_fi/" data-linktype="header">Suomi (Finland)</a> </li> <li class="nokia-country-header__menu-level-0"> <a href="https://www.nokia.com/contact-us/worldwide-offices/" data-linktype="header">Offices and country specific information</a> </li> </ul> </div> </div> </div> </div> </div> <div class="views-exposed-form solr-home-block" data-drupal-selector="views-exposed-form-nokia-solr-search-block-1" id="block-onenokia-reskin-exposedformnokia-solr-searchblock-1"> <div class="search-toggle transparent-menu-light"> <div class="search-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.90197 14.1451L0.551582 20.3963L1.59344 21.448L7.94383 15.1969L6.90197 14.1451ZM4.30228 9.01518C4.30228 13.7879 8.10259 17.6973 12.9844 17.6973V16.209C8.93608 16.209 5.79065 12.9742 5.79065 9.01518H4.30228ZM12.9844 0.333008C8.21174 0.333008 4.30228 4.24247 4.30228 9.01518H5.79065C5.79065 5.05611 9.02538 1.82138 12.9844 1.82138V0.333008ZM21.6666 9.01518C21.6666 4.24247 17.7572 0.333008 12.9844 0.333008V1.82138C16.9435 1.82138 20.1782 5.05611 20.1782 9.01518H21.6666ZM12.9844 17.6973C17.7572 17.6973 21.6666 13.7879 21.6666 9.01518H20.1782C20.1782 12.9742 16.9435 16.209 12.9844 16.209V17.6973ZM0.551582 20.3963C0.26383 20.684 0.253907 21.1504 0.551582 21.448C0.839334 21.7358 1.31561 21.7358 1.60336 21.448L0.561504 20.3963H0.551582ZM7.94383 15.1969C8.2415 14.9091 8.2415 14.4428 7.94383 14.1451C7.65608 13.8573 7.1798 13.8474 6.89205 14.1451L7.93391 15.1969H7.94383Z" fill="#005AFF"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#005AFF"/> </svg> </div> </div> <div class="search-toggle transparent-menu-dark"> <div class="search-icon"> <svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M6.90197 14.1451L0.551582 20.3963L1.59344 21.448L7.94383 15.1969L6.90197 14.1451ZM4.30228 9.01518C4.30228 13.7879 8.10259 17.6973 12.9844 17.6973V16.209C8.93608 16.209 5.79065 12.9742 5.79065 9.01518H4.30228ZM12.9844 0.333008C8.21174 0.333008 4.30228 4.24247 4.30228 9.01518H5.79065C5.79065 5.05611 9.02538 1.82138 12.9844 1.82138V0.333008ZM21.6666 9.01518C21.6666 4.24247 17.7572 0.333008 12.9844 0.333008V1.82138C16.9435 1.82138 20.1782 5.05611 20.1782 9.01518H21.6666ZM12.9844 17.6973C17.7572 17.6973 21.6666 13.7879 21.6666 9.01518H20.1782C20.1782 12.9742 16.9435 16.209 12.9844 16.209V17.6973ZM0.551582 20.3963C0.26383 20.684 0.253907 21.1504 0.551582 21.448C0.839334 21.7358 1.31561 21.7358 1.60336 21.448L0.561504 20.3963H0.551582ZM7.94383 15.1969C8.2415 14.9091 8.2415 14.4428 7.94383 14.1451C7.65608 13.8573 7.1798 13.8474 6.89205 14.1451L7.93391 15.1969H7.94383Z" fill="#ffffff"/> </svg> </div> <div class="close-icon"> <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M8.5822 8.5822L15.1056 2.05885L13.9531 0.906393L7.42974 7.42974L8.5822 8.5822V8.5822ZM2.05885 15.1056L8.5822 8.5822L7.42974 7.42974L0.906393 13.9531L2.05885 15.1056V15.1056ZM0.906393 2.05885L13.9531 15.1056L15.1056 13.9531L2.05885 0.906393L0.906393 2.05885ZM8.5822 7.42974L2.05885 0.906393L0.906393 2.05885L7.42974 8.5822L8.5822 7.42974V7.42974ZM15.1056 13.9531L8.5822 7.42974L7.42974 8.5822L13.9531 15.1056L15.1056 13.9531ZM15.1056 2.05885C15.4209 1.74356 15.4209 1.22169 15.1056 0.906393C14.7903 0.591098 14.2684 0.591098 13.9531 0.906393L15.1056 2.05885ZM0.906393 13.9531C0.591098 14.2684 0.591098 14.7903 0.906393 15.1056C1.22169 15.4209 1.74356 15.4209 2.05885 15.1056L0.906393 13.9531ZM2.05885 0.906393C1.74356 0.591098 1.22169 0.591098 0.906393 0.906393C0.591098 1.22169 0.591098 1.74356 0.906393 2.05885L2.05885 0.906393ZM13.9531 15.1056C14.2684 15.4209 14.7903 15.4209 15.1056 15.1056C15.4209 14.7903 15.4209 14.2684 15.1056 13.9531L13.9531 15.1056Z" fill="#ffffff"/> </svg> </div> </div> <div class="search-wrapper"> <form action="/search/global/" method="get" id="views-exposed-form-nokia-solr-search-block-1" accept-charset="UTF-8"> <div class="nokia-solr-inner-search"> <div class="js-form-item form-item js-form-type-textfield form-item-search js-form-item-search form-no-label"> <input placeholder="Search all of nokia.com" class="voice-input-popup form-autocomplete form-text" data-drupal-selector="edit-search" data-autocomplete-path="/suggestion/autocomplete/" type="text" id="edit-search--2" name="search" value="" size="30" maxlength="256"/> </div> <div class="nokia-search-speech-icon"> <div class="nokia-search-speech-icon__button"> <a href="#block-nokia-popup-search-form" data-target=".voice-input-popup" data-language="en" class="speech-button-icon speech-button speech-button-popup">Speak now</a> </div> <div class="nokia-search-speech-icon__background-1 nokia-search-speech-icon__background"></div> <div class="nokia-search-speech-icon__background-2 nokia-search-speech-icon__background"></div> </div> </div> <div class="nokia-solr-filters"> </div> <div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions--2"> <input data-drupal-selector="edit-submit-nokia-solr-search-2" type="submit" id="edit-submit-nokia-solr-search--2" value="Search" class="button js-form-submit form-submit btn link" /> </div> </form> </div> </div> </div> </div> </div> </div> </header> <a id="main-content" href="#main-content" tabindex="-1" class="visually-hidden"></a> <main class="layout-content"> <div> <div data-drupal-messages-fallback class="hidden"></div> <div class="breadcrumb"> <div class="container"> <div class="nr"> <div class="nc-12"> <ul> <li><a href="/">Home</a></li> <li><a href="/networks/">Network solutions</a></li> <li>Webscale networking for AI</li> </ul> </div> </div> </div> </div> <div class="m-breadcrumb-grid"> <ol class="breadcrumb m-breadcrumb"> <li><a href="/"><div class="nav-txt">Home</div> <img src="/themes/custom/onenokia_reskin/img/chevron-left-small.svg" height="24" width="24" alt="Item seperator"></a></li> <li class="active relative drop-container"> <input type="checkbox" id="bread-nav"> <label href="#" tabIndex="-1" for="bread-nav">...</label> <div class="drop bg-white"> <ul class="list pl0"> <li><a href="/networks/"> Network solutions</a></li> </ul> </div> </li> <li><a href=""> <img src="/themes/custom/onenokia_reskin/img/chevron-left-small.svg" height="24" width="24" alt="Item seperator"> <div class="nav-txt nav-last-child">Webscale networking for AI</div></a></li> </ol> </div> <article> <div> <div class="t11-campaign-landing"> <div class="main-content-region"> <div class="paragraph paragraph--type--template-t17 paragraph--view-mode--default"> <div class="t11-campaign-landing"> <div class="top-content-region"> <div class="st-small sb-small paragraph paragraph--type--m2-intro paragraph--view-mode--default" data-paragraph-id="512696"> <div class="m2-intro__wrapper with-image m2-intro__verticle-alignment-top "> <div class="m2-intro__containers"> <div class="container"> <div class="nr"> <div class="nc-12"> <div class="m2-intro__container"> <div class="m2-intro__info "> <h1 class="m2-intro__title "> Webscale networking for AI </h1> <div class="m2-intro__body"> <p>Meet new reliability and performance demands with modern data center networking</p> </div> </div> </div> </div> </div> </div> </div> <div class="m2-intro__media-container gradient-default"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-12/nokia_h1_1920x600.jpg?height=&width=&resize=1"> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-12/nokia_h1_1920x600.jpg?height=&width=&resize=1"> <source media="(max-width: 1365px)" srcset="/sites/default/files/2024-12/nokia_h1_1920x600.jpg?height=400&width=1365&resize=1"> <img src="/sites/default/files/2024-12/nokia_h1_1920x600.jpg?height=600&width=1920&resize=1" alt="Girl"> </picture> </div> </div> </div> </div> <div class="main-content-region"> <div> <div> <div class="st-none sb-none paragraph paragraph--type--c0-layout-container paragraph--view-mode--default c-fonts"> <div class="c0-container bg-white c0_bg_page_width page-width" > <div class="container"> <div class="anchor-wrap"><div id="stress-free" data-anchor-visibility="1" data-anchor-title="Stress-free cloud services" class="offset-anchor"></div></div> <div class="nr c0--col-two c0--c3-in--second"> <div class="nc-8"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <h2 class="h48"> Would you like stress-free cloud services with your AI data center infrastructure? </h2> <div class="simple-text__body"><p>Reliability is more important than ever in today鈥檚 webscale networks. Is your data center network ready to deliver it? Or are you up late at night fixing issues?</p> <p>Nokia webscale networking solutions are designed to deliver the ultra-reliability you need to <a href="/data-center-networks/" data-entity-type="node" data-entity-uuid="5fb00c4b-a47c-4324-bf98-53171fc310e6" data-entity-substitution="canonical">thrive in the AI era</a>. No high stress. Just high performance.</p> <h3>Build an ultra-reliable AI data center infrastructure</h3> <p><a href="https://pf.content.nokia.com/t0178l-dc-workload-campaign/networking-ai-workloads-app-note">Nokia's Data Center Fabric solution</a> includes a comprehensive portfolio of data center hardware platforms built to ensure that your back- and front-end networks can meet the performance demands of AI and traditional workloads. Our platforms prioritize quality, and we take pride in delivering defect-free software.</p> <h3>Take on any challenge with flexible AI fabrics</h3> <p>Our modern <a href="/data-center-networks/data-center-fabric/" data-entity-type="node" data-entity-uuid="3597280f-fdaa-4187-9ff0-745abdd1d71c" data-entity-substitution="canonical">Data Center Fabric</a> solution puts quality first. It lets you address fast-changing demands with greater freedom and control by bringing new levels of reliability, simplicity and adaptability to your AI data center infrastructure.</p> <h3>Open up your data center and cloud infrastructures聽</h3> <p>All of our data center platforms run on the <a href="/networks/ip-networks/service-router-linux-NOS/" data-entity-type="node" data-entity-uuid="1136510a-5ed0-4790-b5d8-91d765fc9ba3" data-entity-substitution="canonical">SR Linux network operating system (NOS)</a>. SR Linux uses the latest technological innovations, including network AI tools, to bring unmatched openness, extensibility and resiliency to your data center and cloud infrastructures.</p> <h3>Use automation to eliminate human error</h3> <p>Our <a href="/data-center-networks/data-center-fabric/event-driven-automation/" data-entity-type="node" data-entity-uuid="dbd96e1b-0c80-480a-b8ba-f5fa03bfd7e1" data-entity-substitution="canonical">Event-Driven Automation (EDA)</a> platform simplifies network design, deployment and operations and ensures that your network always delivers the reliability and predictability you expect. It helps you take human error to zero by using AIOps to proactively detect issues in your network before they cause problems.</p> <h3>Extend performance and reliability beyond the fabric</h3> <p>Our <a href="https://onestore.nokia.com/asset/214215">data center gateway (DCGW)</a> manages and controls all traffic coming in and out of the data centers. This includes traffic connected through peering points and data center interconnect. It provides high performance and reliable network connectivity to enable seamless communication between cloud data centers, the internet and end users.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> <div class="anchor-wrap"><div id="what-is" data-anchor-visibility="1" data-anchor-title="What is webscale networking" class="offset-anchor"></div></div> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <h2 class="h48"> What is webscale networking? </h2> <div class="simple-text__body"><p>As a webscale company, you rely on data center and cloud networks to host and deliver the cloud services your customers demand.</p> <p>With webscale networking, you can build cloud infrastructures and <a href="/blog/enhance-cloud-services-with-high-capacity-interconnection/" data-entity-type="node" data-entity-uuid="04df4e5c-adb4-4b25-b6d6-f27ce565c018" data-entity-substitution="canonical">data center interconnect (DCI)</a>聽platforms that meet growing IP interconnection and IP peering needs and dynamically connect your customers to the services they want, anytime and anywhere. These services can run in your own data center, in third-party data centers, on- and off-premises, in the edge and core, and in public, private and hybrid clouds.</p> <p>Webscale networking is for all types of webscale companies and cloud service providers that need to massively scale their infrastructure to support the next generation of cloud services, especially AI-driven services. This includes companies such as carrier-neutral network operators, internet exchange providers, data center operators, colocation providers and hosting providers.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="paragraph paragraph--type--c3-vertical-nav paragraph--view-mode--default"> <div class="c3-vertical-nav click-on-touch"> <div class="title">On this page</div> <ul> <li><a href="#stress-free" title="Stress-free cloud services">Stress-free cloud services</a></li> <li><a href="#what-is" title="What is webscale networking">What is webscale networking</a></li> <li><a href="#challenges" title="Webscale networking challenges">Webscale networking challenges</a></li> <li><a href="#choose" title="Why choose Nokia">Why choose Nokia</a></li> <li><a href="#explore topics" title="Webscale resources">Webscale resources</a></li> <li><a href="#related" title="Related solutions and products">Related solutions and products</a></li> <li><a href="#learn-more" title="Learn more">Learn more</a></li> </ul> </div> </div> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2025-01/aimg.jpg?height=&width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2025-01/aimg.jpg?height=&width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2025-01/aimg.jpg?height=246&width=437" alt="abstract image of a robot" width="437" height="246"> </picture> </div> <p class="c1-reference__label">eBook</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t0178l-dc-workload-campaign/DC-networks-for-AI-eBook?lb-mode=overlay" > Data center networks for the AI era </a> </h3> </article> </div> </div> </div> </div> </div> <div class="anchor-wrap"><div id="challenges" data-anchor-visibility="1" data-anchor-title="Webscale networking challenges" class="offset-anchor"></div></div> <div class="nr c0--col-two"> <div class="nc-8"> <div class="paragraph paragraph--type--c16-title paragraph--view-mode--default"> <div class="title-text "> <h2 class="paragraph paragraph--type--c16-title paragraph--view-mode--default h48">How can Nokia help with your webscale networking challenges?</h2> </div> </div> </div> <div class="nc-4"> </div> </div> <div class="nr c0--col-three"> <div class="nc-4"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text bg-white"> <h3 class="h24"> Boost reliability for the AI era </h3> <div class="simple-text__body"><p>Minimize downtime in your data center with our ultra-reliable, AI-ready <a href="/data-center-networks/" data-entity-type="node" data-entity-uuid="5fb00c4b-a47c-4324-bf98-53171fc310e6" data-entity-substitution="canonical">data center networks</a>.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text bg-white"> <h3 class="h24"> Optimize webscale networking performance and efficiency </h3> <div class="simple-text__body"><p>Boost the speed and scale of your network and use less power and space with our industry-leading IP/MPLS routing portfolio, which includes our <a href="/networks/technologies/fp5/" data-entity-type="node" data-entity-uuid="2d44fc3d-4c49-42fb-bcf2-e15ebf3ec069" data-entity-substitution="canonical">FP5</a> silicon and <a href="/networks/technologies/fp5/" data-entity-type="node" data-entity-uuid="2d44fc3d-4c49-42fb-bcf2-e15ebf3ec069" data-entity-substitution="canonical">800GE routing technology</a>.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text bg-white"> <h3 class="h24"> Make your webscale network more scalable and resilient </h3> <div class="simple-text__body"><p>Use our <a href="/ip-networks/ethernet-vpn/" data-entity-type="node" data-entity-uuid="8de27cdb-1ae1-47b5-9a67-77dec4c17539" data-entity-substitution="canonical">Ethernet VPN (EVPN) technology</a> to increase scale, resiliency, availability and efficiency across your network.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> </div> <div class="nr c0--col-three"> <div class="nc-4"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text bg-white"> <h3 class="h24"> Get more from your webscale network with DWDM </h3> <div class="simple-text__body"><p>Take performance, scalability and power efficiency to new levels with our state-of-the-art DWDM capabilities, which now include <a href="https://pf.content.nokia.com/t007k6-webscale-optical/PSE-6s-infographic">our sixth generation of super-coherent Photonic Service Engines (PSE-6s)</a>.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text bg-white"> <h3 class="h24"> Secure your data center and cloud infrastructure against DDoS attacks </h3> <div class="simple-text__body"><p>Stop DDoS attacks while meeting demand for scalability, higher throughput, and better cost and power efficiency with our <a href="/ip-networks/deepfield/" data-entity-type="node" data-entity-uuid="57bbc8b7-8004-4ee5-b30f-fe66f6a39929" data-entity-substitution="canonical">Deepfield Defender</a> and <a href="/ip-networks/deepfield/7750-defender-mitigation-system/" data-entity-type="node" data-entity-uuid="062623f7-97a6-466a-a8fe-db7622d761f4" data-entity-substitution="canonical">7750 Defender Mitigation System</a>.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> </div> </div> <div class="anchor-wrap"><div id="choose" data-anchor-visibility="1" data-anchor-title="Why choose Nokia" class="offset-anchor"></div></div> <div class="nr c0--col-two"> <div class="nc-8"> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <h2 class="h48"> Why choose Nokia webscale networking? </h2> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> </div> </div> <div class="nr c0--col-three"> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .iconcls-1 { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <g> <g> <path class="iconcls-1" d="m24.68,28.53c-.56.08-1.12,0-1.84-.64-.48-.48-.88-1.12-.88-1.76,0-.56.24-1.04.56-1.44.16-.16.08-.4-.08-.56-.88-.8-1.84-1.44-2.97-1.84-.24-.08-.4,0-.56.24-.4.88-1.2,1.44-2.16,1.44s-1.84-.56-2.16-1.44c-.08-.16-.32-.32-.56-.24-1.12.4-2.16,1.04-2.97,1.84-.24.08-.24.32-.16.48.32.4.56.88.56,1.44,0,.72-.4,1.36-.88,1.76-.72.64-1.28.72-1.84.64-.24,0-.48.08-.48.32-.16.64-.24,1.36-.24,2s.08,1.36.24,1.92c.08.24.24.4.48.32.48-.08,1.04,0,1.6.48.64.48,1.12,1.28,1.04,2.08-.08.48-.24.96-.56,1.36-.16.16-.16.4,0,.56.88.8,1.84,1.44,2.97,1.84.24.08.48,0,.56-.24.32-.88,1.2-1.52,2.25-1.52s1.84.64,2.25,1.52c.08.24.32.32.56.24,1.12-.4,2.16-1.04,2.97-1.84.16-.16.16-.4,0-.56-.32-.4-.56-.96-.56-1.6s.4-1.28.88-1.68c.72-.64,1.28-.72,1.84-.64.24,0,.48-.08.48-.32.16-.64.24-1.28.24-1.92,0-.72-.08-1.36-.24-2,.08-.16-.16-.32-.32-.24Z"/> <circle class="iconcls-1" cx="16.66" cy="30.85" r="2.49"/> </g> <g> <path class="iconcls-1" d="m39.35,14.9c-.56.08-1.12,0-1.84-.64-.48-.48-.88-1.12-.88-1.76,0-.56.24-1.04.56-1.44.16-.16.08-.4-.08-.56-.88-.8-1.84-1.44-2.97-1.84-.24-.08-.4,0-.56.24-.4.88-1.2,1.44-2.16,1.44s-1.84-.56-2.16-1.44c-.08-.16-.32-.32-.56-.24-1.12.4-2.16,1.04-2.97,1.84-.16.16-.16.4-.08.56.32.4.56.88.56,1.44,0,.72-.4,1.36-.88,1.76-.72.64-1.28.72-1.84.64-.24,0-.48.08-.48.32-.16.64-.24,1.36-.24,2s.08,1.36.24,1.92c.08.24.24.4.48.32.48-.08,1.04,0,1.6.48.64.48,1.12,1.28,1.04,2.08-.08.48-.24.96-.56,1.36-.16.16-.16.4,0,.56.88.8,1.84,1.44,2.97,1.84.24.08.48,0,.56-.24.32-.88,1.2-1.52,2.25-1.52s1.84.64,2.25,1.52c.08.24.32.32.56.24,1.12-.4,2.16-1.04,2.97-1.84.16-.16.16-.4,0-.56-.32-.4-.56-.96-.56-1.6s.4-1.28.88-1.68c.72-.64,1.28-.72,1.84-.64.24,0,.48-.08.48-.32.16-.64.24-1.28.24-1.92,0-.72-.08-1.36-.24-2,0-.24-.16-.4-.4-.32Z"/> <circle class="iconcls-1" cx="31.41" cy="17.22" r="2.49"/> </g> </g> <g> <path class="iconcls-1" d="m35.1,44.16c7.46-4.09,12.35-12.19,11.87-21.25C46.41,10.25,35.66.46,22.99,1.02"/> <path class="iconcls-1" d="m12.89,3.91C5.51,8,.62,16.02,1.02,25.08c.56,12.67,11.39,22.53,24.05,21.89"/> <path class="iconcls-1" d="m41.27,45.69l-5.77-.32c-.96-.08-1.6-.72-1.52-1.68l.24-5.77"/> <path class="iconcls-1" d="m7.6,1.02l5.53,1.44c.96.24,1.44,1.04,1.2,2l-1.44,5.61"/> </g> </svg> </div> <h3 class="h24"> A multi-technology solution </h3> <div class="simple-text__body"><p>Evolve your data center and cloud infrastructure for AI with the best new technologies in IP networking, optical transport, data center fabrics, network security and network automation.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-0c7d3963-04c4-4702-a17f-8891f26fd9f1" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-d4c092e2-91fb-402d-a3a8-d3aaa6265579 { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-d4c092e2-91fb-402d-a3a8-d3aaa6265579" d="M1,42h46M12.04,41.65c.08-6.61,5.52-11.88,12.13-11.88,6.53.08,11.8,5.35,11.88,11.88M16.31,41.65c.08-4.27,3.51-7.61,7.78-7.53,4.18.08,7.53,3.43,7.53,7.53M19.32,30.6l-9.54-14.64M12.04,11.11c0,2.68-2.18,4.77-4.77,4.77s-4.77-2.18-4.77-4.77h0c0-2.68,2.18-4.77,4.77-4.77s4.77,2.18,4.77,4.77Z"/> </svg> </div> <h3 class="h24"> Model-driven architecture </h3> <div class="simple-text__body"><p>Ensure that your network is open and simple to operate and can be integrated into any operational environment with ease.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-c69f3685-d67c-4707-bb93-c702956fcccb" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-2b9c46a7-750d-49c6-afb7-86e4c5435055 { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-2b9c46a7-750d-49c6-afb7-86e4c5435055" d="M24,30.01c6.6,0,12-5.31,12-11.76V1H12v17.25c0,6.45,5.4,11.76,12,11.76ZM24,30v9M24,39.68c-3.92,0-7.32,3.22-7.32,7.32h14.46c0-4.18-3.22-7.32-7.14-7.32ZM12.23,20.68c-3.92,0-9.23-3.22-9.23-7.14V5h9M35.77,20.68c3.92,0,9.23-3.22,9.23-7.14V5h-9"/> </svg> </div> <h3 class="h24"> Support from network-building experts </h3> <div class="simple-text__body"><p>Transform your network to meet the requirements of the <a href="/data-center-networks/" data-entity-type="node" data-entity-uuid="5fb00c4b-a47c-4324-bf98-53171fc310e6" data-entity-substitution="canonical">AI era</a> with help from a partner that has been building massive mission-critical networks for decades.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> </div> <div class="nr c0--col-three"> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-b8dffbc4-2c1b-470d-8760-b0ed3fe96d56" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-3f050112-1749-46eb-891e-1c18d4ee2d28 { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } .uuid-98415dd4-73a7-45c6-a002-972ad61f805b { fill: currentColor; } </style> </defs> <path class="uuid-3f050112-1749-46eb-891e-1c18d4ee2d28" d="M30.49,47h-12.63,12.63ZM28.58,1.99c5.51,1.75,9.57,6.67,10.28,12.41.51,4.18-.54,8.37-3.31,11.7-2.23,2.96-4.55,6.19-4.55,10.11v2.79h-14v-2.96c0-3.66-2.23-7.14-4.55-10.11-2.06-2.53-3.44-5.75-3.44-9.41C9.32,6.3,18.8-1.11,28.58,1.99Z"/> <line class="uuid-3f050112-1749-46eb-891e-1c18d4ee2d28" x1="24" y1="9" x2="24" y2="24"/> <circle class="uuid-98415dd4-73a7-45c6-a002-972ad61f805b" cx="24.04" cy="28.27" r="1.05"/> </svg> </div> <h3 class="h24"> Future-proof network innovations </h3> <div class="simple-text__body"><p>Evolve your data center and cloud infrastructure for the future, knowing that the technology you deploy represents the latest in network innovation.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-9304658d-1688-4de0-9b46-b3d32683bc91" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-594d2c93-aef9-4639-a3b2-533a46fb938e { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } .uuid-ecf152aa-4fc1-448d-bc80-abb04ac4744a { fill: currentColor; } </style> </defs> <path class="uuid-594d2c93-aef9-4639-a3b2-533a46fb938e" d="M36,22v-8.44c0-6.79-5.62-12.41-12.5-12.41s-12.23,5.45-12.5,12.14v8.71"/> <path class="uuid-594d2c93-aef9-4639-a3b2-533a46fb938e" d="M37.41,47H10.43c-2.99,0-5.43-2.44-5.43-5.43v-14.13c0-2.99,2.44-5.43,5.43-5.43h27.13c2.99,0,5.43,2.44,5.43,5.43v14.11c-.09,3-2.56,5.45-5.59,5.45Z"/> <g> <path class="uuid-ecf152aa-4fc1-448d-bc80-abb04ac4744a" d="M23.95,30.43c.72,0,1.72.72,1.72,1.72,0,1.09-.72,1.72-1.72,1.72s-1.72-.72-1.72-1.72c0-1,1-1.72,1.72-1.72Z"/> <line class="uuid-594d2c93-aef9-4639-a3b2-533a46fb938e" x1="24" y1="32" x2="24" y2="38"/> </g> </svg> </div> <h3 class="h24"> Multilayer security </h3> <div class="simple-text__body"><p>Secure each layer of your network to prevent breaches before they cause outages.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> <div class="nc-4"> <div class="st-none sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__icon"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-884f6b8b-4720-47e8-b070-c5cb9f425395" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-565dad55-0fab-4776-a439-52dec956da48 { fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <g> <path class="uuid-565dad55-0fab-4776-a439-52dec956da48" d="M25.18,30.09c-.73.08-1.63-.08-2.69-.98-.73-.65-1.3-1.63-1.3-2.61,0-.81.33-1.55.81-2.12.16-.24.16-.65-.08-.81-1.3-1.14-2.77-2.04-4.4-2.61-.33-.08-.65,0-.73.33-.57,1.22-1.79,2.12-3.18,2.12-1.47,0-2.69-.9-3.18-2.12-.16-.33-.49-.41-.73-.33-1.63.57-3.09,1.47-4.4,2.61-.24.24-.24.57-.08.81.49.57.73,1.3.81,2.2,0,.98-.57,1.95-1.3,2.61-1.06.9-1.87,1.06-2.69.9-.33-.08-.65.16-.73.49-.24.98-.33,1.95-.33,3.01,0,.98.08,1.95.33,2.85.08.33.41.49.73.49.73-.08,1.47,0,2.36.73.98.73,1.71,1.87,1.55,3.09-.08.73-.33,1.38-.81,1.95-.24.24-.16.65.08.81,1.14,1.14,2.69,2.04,4.32,2.61.33.08.65-.08.81-.33.49-1.3,1.79-2.2,3.26-2.2s2.77.9,3.26,2.2c.08.33.49.49.81.33,1.63-.57,3.09-1.47,4.4-2.69.24-.24.24-.57.08-.81-.49-.65-.81-1.47-.81-2.36,0-.98.57-1.79,1.3-2.44,1.06-.9,1.87-1.06,2.69-.98.33.08.65-.16.73-.49.16-.9.33-1.87.33-2.85,0-1.06-.08-2.04-.33-3.01-.24-.24-.57-.49-.9-.41Z"/> <circle class="uuid-565dad55-0fab-4776-a439-52dec956da48" cx="13.54" cy="33.51" r="3.66"/> </g> <g> <path class="uuid-565dad55-0fab-4776-a439-52dec956da48" d="M45.62,11.04c-.73.08-1.63-.08-2.69-.98-.73-.65-1.3-1.63-1.3-2.61,0-.81.33-1.55.81-2.12.16-.24.16-.65-.08-.81-1.22-1.22-2.69-2.12-4.32-2.69-.33-.08-.65,0-.73.33-.57,1.22-1.79,2.12-3.18,2.12-1.47,0-2.69-.9-3.18-2.12-.16-.33-.49-.41-.73-.33-1.63.57-3.09,1.47-4.4,2.61-.24.24-.24.57-.08.81.49.57.73,1.3.81,2.2,0,.98-.57,1.95-1.3,2.61-1.06.9-1.87,1.06-2.69.9-.33-.08-.65.16-.73.49-.24.98-.33,1.95-.33,3.01,0,.98.08,1.95.33,2.85.08.33.41.49.73.49.73-.08,1.47,0,2.36.73.98.73,1.71,1.87,1.55,3.09-.08.73-.33,1.38-.81,1.95-.24.24-.16.65.08.81,1.22,1.14,2.77,2.12,4.4,2.69.33.08.65-.08.81-.33.49-1.3,1.79-2.2,3.26-2.2s2.77.9,3.26,2.2c.08.33.49.49.81.33,1.63-.57,3.09-1.47,4.4-2.69.24-.24.24-.57.08-.81-.49-.65-.81-1.47-.81-2.36,0-.98.57-1.79,1.3-2.44,1.06-.9,1.87-1.06,2.69-.98.33.08.65-.16.73-.49.16-.9.33-1.87.33-2.85,0-1.06-.08-2.04-.33-3.01-.41-.33-.73-.49-1.06-.41Z"/> <circle class="uuid-565dad55-0fab-4776-a439-52dec956da48" cx="34.05" cy="14.38" r="3.66"/> </g> </svg> </div> <h3 class="h24"> Simple, flexible automation </h3> <div class="simple-text__body"><p>Automate your network with out-of-the-box automation platforms or flexibly integrate it into existing automation systems.</p> </div> <div id="video-modal" class="youtube-modal"> <div class="youtube-modal-content"> <span class="close-modal"> <svg width="20" height="20" viewBox="0 0 26 27" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M13 13.6815L25 25.6815L1 1.68152L13 13.6815ZM13 13.6815L1 25.6815M13 13.6815L25 1.68152" stroke="white" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/> </svg> </span> <iframe id="playlist-iframe" width="100%" height="600" src="" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> </div> </div> <div class="youtube-modal" id="video-modal"> <div id="video-container" style="width: 425px;"></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div> <div class="st-none sb-none paragraph paragraph--type--c0-layout-container paragraph--view-mode--default c-fonts"> <div class="c0-container bg-white c0_bg_page_width page-width" > <div class="container"> <div class="nr c0--col-two"> <div class="nc-6"> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-12/shaping-the-future-of-ai_1920x1080.jpg?height=&width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-12/shaping-the-future-of-ai_1920x1080.jpg?height=&width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2024-12/shaping-the-future-of-ai_1920x1080.jpg?height=378&width=672" alt="a person talking" width="672" height="378"> </picture> </div> <p class="c1-reference__label">Video</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t0178l-dc-workload-campaign/lenovo-ai-applications-video?lb-mode=overlay" > Collaboration shaping the future of AI applications </a> </h3> </article> </div> </div> </div> </div> <div class="nc-6"> <div class="paragraph paragraph--type--c15-quote-component paragraph--view-mode--default c15-quote"> <div class="c15-quote__wrapper bg-color-blue--700"> <div class="c15-quote__container"> <div class="c15-quote__content"> <div class="c15-quote__text font-size-24"> “Nokia鈥檚 data center fabric enables us to scale our GPU clusters while maintaining the reliability and performance needed to serve our customers with cutting-edge AI services. ” </div> <div class="c15-quote__author"> <div class="c15-quote__author-info"> <div class="c15-quote__author-name"> David Power </div> <div class="c15-quote__author-title"> CTO, Nscale </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="nr c0--col-two"> <div class="nc-6"> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-12/cloud_1920x1080_0.jpg?height=&width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-12/cloud_1920x1080_0.jpg?height=&width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2024-12/cloud_1920x1080_0.jpg?height=378&width=672" alt="thumbnail" width="672" height="378"> </picture> </div> <p class="c1-reference__label">Press release</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t0178l-dc-workload-campaign/cloudbear-upgrades-cloud-pr" > Nokia upgrades Cloudbear network to offer customized hosting services in Europe </a> </h3> </article> </div> </div> </div> </div> <div class="nc-6"> <div class="paragraph paragraph--type--c15-quote-component paragraph--view-mode--default c15-quote"> <div class="c15-quote__wrapper bg-color-blue--700"> <div class="c15-quote__container"> <div class="c15-quote__content"> <div class="c15-quote__text font-size-24"> “Other than a reputation of high-quality products, Nokia's personal touch and community-driven approach has been a key differentiator and has stood out from day one, showing Nokia鈥檚 true commitment to this partnership.” </div> <div class="c15-quote__author"> <div class="c15-quote__author-info"> <div class="c15-quote__author-name"> Marlin Cremers </div> <div class="c15-quote__author-title"> Co-founder, Cloudbear </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="nr c0--col-two"> <div class="nc-6"> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-12/supercharges_1920x1080.jpg?height=&width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-12/supercharges_1920x1080.jpg?height=&width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2024-12/supercharges_1920x1080.jpg?height=378&width=672" alt="thumbnail" width="672" height="378"> </picture> </div> <p class="c1-reference__label">Press release</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t0178l-dc-workload-campaign/ultra-ethernet-pr" > Nokia supercharges AI with Ultra Ethernet </a> </h3> </article> </div> </div> </div> </div> <div class="nc-6"> <div class="paragraph paragraph--type--c15-quote-component paragraph--view-mode--default c15-quote"> <div class="c15-quote__wrapper bg-color-blue--700"> <div class="c15-quote__container"> <div class="c15-quote__content"> <div class="c15-quote__text font-size-24"> “With strong partners like Nokia, we know the UEC will drive the kind of standard to ensure broad AI adoption.” </div> <div class="c15-quote__author"> <div class="c15-quote__author-info"> <div class="c15-quote__author-name"> J Metz </div> <div class="c15-quote__author-title"> Chair, Ultra Ethernet Consortium </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="nr c0--col-two"> <div class="nc-6"> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-10/opencolo-thumb-16-9.jpg?height=215&width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-10/opencolo-thumb-16-9.jpg?height=413&width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-10/opencolo-thumb-16-9.jpg?height=378&width=672" alt="OpenColo CTO Scott Brookshire explains how Nokia SR Linux makes data center fabric operations more efficient" width="672" height="378"> </picture> </div> <p class="c1-reference__label">Video</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t007pm-webscale-sr-linux/opencolo-video?lb-mode=overlay" > OpenColo driving data center innovation </a> </h3> </article> </div> </div> </div> </div> <div class="nc-6"> <div class="paragraph paragraph--type--c15-quote-component paragraph--view-mode--default c15-quote"> <div class="c15-quote__wrapper bg-color-blue--700"> <div class="c15-quote__container"> <div class="c15-quote__content"> <div class="c15-quote__text font-size-24"> “SR Linux was built with a complete model-driven architecture across all its services, allowing for rich telemetry, which is distributed through modern management protocols like gNMI. This makes things easier for our operational team to customize tools to meet our specific needs.” </div> <div class="c15-quote__author"> <div class="c15-quote__author-info"> <div class="c15-quote__author-name"> Scott Brookshire </div> <div class="c15-quote__author-title"> CTO, OpenColo </div> </div> </div> </div> </div> </div> </div> </div> </div> <div class="nr c0--col-two"> <div class="nc-6"> <div class="st-small sb-small paragraph paragraph--type--c1-0-reference-component paragraph--view-mode--default"> <div class="c1-reference container" > <div class="nr"> <article class="c1-reference--reference-item nc-12 "> <div class="c1-reference__media-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-10/atnorth.jpg?height=&width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-10/atnorth.jpg?height=&width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2023-10/atnorth.jpg?height=378&width=672" alt="atNorth's Eva S贸ley Gu冒bj枚rnsd贸ttir being interviewed." width="672" height="378"> </picture> </div> <p class="c1-reference__label">Video</p> <h3 class="c1-reference__title h24"> <a class="title-arrow" href="https://pf.content.nokia.com/t007pp-webscale-automation/atnorth_sustainable_video?lb-mode=overlay" > atNorth and Nokia partner to level up sustainable data center networking </a> </h3> </article> </div> </div> </div> </div> <div class="nc-6"> <div class="paragraph paragraph--type--c15-quote-component paragraph--view-mode--default c15-quote"> <div class="c15-quote__wrapper bg-color-blue--700"> <div class="c15-quote__container"> <div class="c15-quote__content"> <div class="c15-quote__text font-size-24"> “Nokia's integration into atNorth's compute environment is playing an essential role by creating the optimal networking connectivity to ensure that applications and workloads receive the compute they need in the lowest possible latency. This is of extreme importance to achieve scaling of very large HPC and AI workloads across tens and even hundreds of compute nodes. With this solution in place, we can provide automated and secure supercomputing to our customers in a cost-effective and sustainable way.” </div> <div class="c15-quote__author"> <div class="c15-quote__author-info"> <div class="c15-quote__author-name"> Rui Gomes </div> <div class="c15-quote__author-title"> HPC Operations Manager, atNorth </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div> <div class="st-small sb-small paragraph paragraph--type--c0-layout-container paragraph--view-mode--default c-fonts"> <div class="c0-container bg-white c0_bg_page_width page-width" > <div class="container"> <div class="anchor-wrap"><div id="explore topics" data-anchor-visibility="1" data-anchor-title="Webscale resources" class="offset-anchor"></div></div> </div> </div> </div> </div> <div> <div class="st-small sb-small paragraph paragraph--type--m22-0-carousel paragraph--view-mode--default"> <div class="m22-carousel__wrapper gradient gradient--teal-blue"> <div class="container"> <div class="container-bleed carousel padding-vertical-bleed" data-carousel> <div class="nr"> <div class="nc-8"> <h2 class="m22-carousel__title h48"> Find out more about webscale networking </h2> </div> </div> <div class="m22-carousel-items-container"> <ul class="m22-carousel__controller"> <li><button class="blaze-arrow blaze-prev prev">Previous</button></li> <li><button class="blaze-arrow blaze-next next">Next</button></li> </ul> <div class="blaze-container"> <div class="blaze-track-container"> <div class="blaze-track carousel-slides nr"> <div class="nc-4 carousel-seat carousel-seat--1"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2024-04/nokia_-_signetbreedband_customer_story_v5-original0.jpg?height=1080&width=1920" alt="signetbreedband evolve business services in the Netherlands" loading="lazy" width="1920" height="1080"> </div> <p class="m22-carousel-slide__label">Case study</p> <a href="https://pf.content.nokia.com/t007po-webscale-case-studies"> <h3 class="m22-carousel-slide__title title-arrow h32"> signetbreedband evolve business services in the Netherlands </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--2"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2024-01/ligat-new.jpg?height=803&width=1428" alt="LigaT" loading="lazy" width="1428" height="803"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007po-webscale-case-studies/nokia-helps-ligat-video"> <h3 class="m22-carousel-slide__title title-arrow h32"> Nokia helps LigaT disrupt the telecom market in Portugal </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--3"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2024-01/web-capture_22-1-2024_94457_pf.content.nokia_.com_.jpeg?height=525&width=572" alt="Richard Petrie" loading="lazy" width="572" height="525"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007po-webscale-case-studies/linx-building-next-generation-networks-video"> <h3 class="m22-carousel-slide__title title-arrow h32"> Building next-generation networks with Nokia </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--4"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/northc-mario-hangjas.jpg?height=1080&width=1029" alt="NorthC's Mario Hangjas being interviewed." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007k6-webscale-optical/northc-ipo-dci-case-study?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> NorthC's high-speed, scalable and reliable data center and cloud interconnect platform </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--5"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/nlix-dirk-kalkman.jpg?height=1080&width=1029" alt="NL-ix's Dirk Kalkman being interviewed." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007k5-webscale-ip/nl-ix-800G-video?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> NL-ix partners with Nokia to provide cost and energy-efficient 800G routing technology </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--6"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/de-cix-thomas-king.jpg?height=1080&width=1029" alt="DE-CIX's Dr Thomas King being interviewed." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007k5-webscale-ip/de-cix-the-value-EVPN-video?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> The value of EVPN </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--7"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/nsp_0.jpg?height=1080&width=1029" alt="An image of the first page from the "Intent-based configuration management with NSP" solution summary." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Solution brochure</p> <a href="https://pf.content.nokia.com/t007pp-webscale-automation/intent-based-NSP-solution-sheet?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> Intent-based configuration management with NSP </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--8"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/top-ix-andrea-casalegno.jpg?height=1080&width=1029" alt="TOP-IX's Andrea Casalegno being interviewed." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007k4-webscale-interconnection/top-ix-scalable-interconnection?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> Achieving high performance and scalable interconnection services </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--9"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/atnorth-eva-soley-gudbjornsdottir.jpg?height=1080&width=1029" alt="atNorth's Eva S贸ley Gu冒bj枚rnsd贸ttir being interviewed." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Video</p> <a href="https://pf.content.nokia.com/t007pp-webscale-automation/atnorth_sustainable_video?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> atNorth and Nokia partner to level up sustainable data center networking </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--10"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/transforming-webscale-networks.jpg?height=1080&width=1029" alt="An image with colourful abstract waves in the background, Nokia's logo in white, and the text "transforming webscale networks"." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Brochure</p> <a href="https://pf.content.nokia.com/t007po-webscale-case-studies/transforming-webscale-networks-brochure?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> Transforming webscale networks </h3> </a> </div> </div> <div class="nc-4 carousel-seat carousel-seat--11"> <div class="m22-carousel-slide"> <div class="m22-carousel-slide__image-container square__image"> <img src="/sites/default/files/2023-10/multi-technology-networking-for-webscale_1.jpg?height=1080&width=1029" alt="An image with a colourful cityscape in the background, with Nokia's logo in white, and the text "Multi technology networking for webscale"." loading="lazy" width="1029" height="1080"> </div> <p class="m22-carousel-slide__label">Solution brochure</p> <a href="https://pf.content.nokia.com/t007k4-webscale-interconnection/multi-technology-networking-brochure?lb-mode=overlay"> <h3 class="m22-carousel-slide__title title-arrow h32"> Multi-technology networking for webscale </h3> </a> </div> </div> </div> </div> <div class="blaze-pagination"></div> </div> </div> </div> </div> </div> </div> </div> <div> <div class="st-small sb-small paragraph paragraph--type--c0-layout-container paragraph--view-mode--default c-fonts"> <div class="c0-container bg-white page-width" > <div class="container"> <div class="anchor-wrap"><div id="related" data-anchor-visibility="1" data-anchor-title="Related solutions and products" class="offset-anchor"></div></div> <div class="paragraph paragraph--type--c0-layout-row paragraph--view-mode--default nr c0--col-one c-fonts"> <div class="nc-12"> <div class="paragraph paragraph--type--c23-component paragraph--view-mode--default"> <div class="c23-component c23-component--grid c23-component-pid-868206 c0-container"> <div class="container"> <h2>Related solutions and products</h2> <div class="nr"> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Solution</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/ip-networks/coherent-routing/" class="title-arrow" data-once="data-layer-event"> Coherent Routing </a> </h3> </div> <p class="c23-component__description"> Build application-optimized IP-optical networks using coherent optics. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Solution</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/data-center-networks/data-center-fabric/" class="title-arrow" data-once="data-layer-event"> Data Center Fabric </a> </h3> </div> <p class="c23-component__description"> Bring new levels of reliability, simplicity and adaptability to your data center switching and cloud infrastructures. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Solution</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/ip-networks/deepfield/" class="title-arrow" data-once="data-layer-event"> Deepfield </a> </h3> </div> <p class="c23-component__description"> Gain a holistic view of your network, services and subscribers </p> </article> </div> <div class="nr"> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Solution</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/ip-networks/security/" class="title-arrow" data-once="data-layer-event"> IP network security </a> </h3> </div> <p class="c23-component__description"> Protect your network with multi-layered embedded IP network security. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Solution</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/optical-networks/data-center-interconnect/" class="title-arrow" data-once="data-layer-event"> Optical Data Center Interconnect </a> </h3> </div> <p class="c23-component__description"> Implement business-critical data center interconnect to support your enterprise private/hybrid cloud. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Product</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/optical-networks/1830-photonic-service-switch/" class="title-arrow" data-once="data-layer-event"> 1830 Photonic Service Switch (PSS) </a> </h3> </div> <p class="c23-component__description"> Scalable optimized end-to-end optical transport solutions for DCI, metro, regional and long-haul networks. </p> </article> </div> <div class="view-more-container"></div> <div class="view-more-link-container"> <a href="/ajax/view-more/c23-component/?prid=32042291&langcode=en&offset=6&nid=61156" class="use-ajax" data-action="opened" title="Load more"> <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M24.7814 27.2178V38.3075C24.7814 38.8682 25.2464 39.3332 25.807 39.3332C26.3677 39.3332 26.8327 38.8682 26.8327 38.3075V27.2178H38.307C38.8677 27.2178 39.3327 26.7528 39.3327 26.1921C39.3327 25.6315 38.8677 25.1665 38.307 25.1665H26.8327V13.6921C26.8327 13.1315 26.3677 12.6665 25.807 12.6665C25.2464 12.6665 24.7814 13.1315 24.7814 13.6921V25.1665H13.6917C13.131 25.1665 12.666 25.6315 12.666 26.1921C12.666 26.7528 13.131 27.2178 13.6917 27.2178H24.7814Z" fill="#FFFFFF"/> <rect x="0.5" y="0.5" width="51" height="51" rx="3.5" stroke="#005AFF"/> </svg> </a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div> <div class="st-small sb-small paragraph paragraph--type--c0-layout-container paragraph--view-mode--default c-fonts"> <div class="c0-container bg-blue-very-light c0_bg_browser_width full-width" > <div class="container"> <div class="anchor-wrap"><div id="learn-more" data-anchor-visibility="1" data-anchor-title="Learn more" class="offset-anchor"></div></div> <div class="st-none sb-none paragraph paragraph--type--c0-layout-row paragraph--view-mode--default nr c0--col-one c-fonts"> <div class="nc-12"> <div class="paragraph paragraph--type--c23-component paragraph--view-mode--default"> <div class="c23-component c23-component--grid c23-component-pid-867921 c0-container"> <div class="container"> <h2>Learn more about webscale</h2> <div class="nr"> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-06/banner_942x381px.jpg?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-06/banner_942x381px.jpg?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2024-06/banner_942x381px.jpg?height=774&width=1376" alt="Networks for the cloud, the Nokia way" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Blog</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/blog/networks-for-the-cloud-the-nokia-way/" class="title-arrow" data-once="data-layer-event"> Networks for the cloud, the Nokia way </a> </h3> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <div class="video media-video c23-component__image-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="44721" aria-label="Video" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-09/high-performance-resilient-and-secure-global-interconnection-platform.png?height=&width=" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-09/high-performance-resilient-and-secure-global-interconnection-platform.png?height=&width=" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-09/high-performance-resilient-and-secure-global-interconnection-platform.png?height=774&width=1376" alt="high-performance-resilient-and-secure-global-interconnection-platform" width="1376" height="774"> </picture> <div class="throbber"></div> <svg xmlns="http://www.w3.org/2000/svg" width="48" height="48" viewBox="0 0 48 48"> <g id="Group_124" transform="translate(-162 -101)"> <circle id="Ellipse_4" cx="24" cy="24" r="24" transform="translate(162 101)" fill="#fff"/> <path id="Path_11" d="M15,12l11.283,7.522L15,27.044Z" transform="translate(167.408 106.211)" fill="#0065ed"/> </g> </svg> </a> </div> <div class="js-media-video-overlay--place-before-body"> <div class="media-video-overlay media-video-overlay--mid-44721" data-video-service="remote" aria-hidden="true"> <div class="media-video-overlay__dark"></div> <div class="media-video-overlay__container" aria-hidden="true" tabindex="-1"> <div class="media-video-player"> <article> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <div class="remote"> <div> <div class="oembed-lazyload oembed-lazyload--youtube" data-strategy="intersection-observer"> <a class="oembed-lazyload__button" href="https://youtu.be/8zg-_B-ctIA" title="Watch High performance, resilient and secure global Interconnection Platform on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/8zg-_B-ctIA/sddefault.webp, //i.ytimg.com/vi_webp/8zg-_B-ctIA/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/8zg-_B-ctIA/sddefault.jpg, //i.ytimg.com/vi/8zg-_B-ctIA/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/8zg-_B-ctIA/sddefault.jpg" alt="Watch High performance, resilient and secure global Interconnection Platform on YouTube."></picture><svg class="oembed-lazyload__yt-icon" height="100%" viewBox="0 0 68 48" width="100%"><path class="oembed_lazyload__yt-icon-fill" d="M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z" fill="#f00"></path><path d="M 45,24 27,14 27,34" fill="#fff"></path></svg><svg class="oembed-lazyload__yt-spinner" viewBox="0 0 100 100"><circle cx="50" cy="50" r="32"/></svg></a> <iframe data-src="/media/oembed/?url=https%3A//youtu.be/8zg-_B-ctIA&max_width=800&max_height=600&hash=At3xNGehH_mnoI8iDZHEgAH4mmF7j3mjIqTkFka_VJM&oembed_lazyload=1&provider=YouTube&options%5Bautoplay%5D=&options%5Bmodestbranding%5D=&options%5Benablejsapi%5D=1&options%5Borigin%5D=1&options%5Bhideinfo%5D=&options%5Brel%5D=1&oembed_lazyload_hash=DBspi7T5XfHYKV7W_ifHo0G03X0wGd0DhVlJUf9_YPA" id="oembed-iframe" width="800" height="600" class="media-oembed-content oembed-lazyload__iframe oembed-lazyload__iframe--hidden" title="High performance, resilient and secure global Interconnection Platform"></iframe> </div> </div> </div> </div> </div> </article> </div> <div class="close-bar" tabindex="0"> <div class="close-btn" role="button" tabindex="0" aria-label="Close video overlay"></div></div> </div> </div> </div> </div> <p class="c23-component__label">Video</p> <h3 class="c23-component__title h24 title-arrow"> High performance, resilient and secure global Interconnection Platform </h3> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-10/image_3.png?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-10/image_3.png?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-10/image_3.png?height=774&width=1376" alt="image" width="1376" height="774"> </picture> </div> <p class="c23-component__label">External news</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.linx.net/news/nokia-announced-as-technical-partner-for-nova-refresh/" class="title-arrow" data-once="data-layer-event"> LINX have announced Nokia as their technical partner for the refresh of their US interconnection platform </a> </h3> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-09/31.jpg?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-09/31.jpg?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-09/31.jpg?height=774&width=1376" alt="Customer success story image" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Customer success</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/customer-success/budapest-internet-exchange-deploys-nokias-400ge-ip-interconnection-and-peering-solution/" class="title-arrow" data-once="data-layer-event"> Budapest Internet Exchange deploys Nokia鈥檚 400GE IP interconnection and peering solution </a> </h3> </div> </article> </div> <div class="nr"> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-10/607975587.webp?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-10/607975587.webp?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-10/607975587.webp?height=774&width=1376" alt="listening music" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Customer success</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/customer-success/de-cix-partner-with-nokia-to-provide-premium-interconnection-and-sustainable-and-secure-services-to-fulfill-massive-customer-demand/" class="title-arrow" data-once="data-layer-event"> DE-CIX partners with Nokia to provide premium interconnection and sustainable and secure services to fulfill massive customer demand </a> </h3> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-06/dci-blog.jpg?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-06/dci-blog.jpg?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-06/dci-blog.jpg?height=774&width=1376" alt="Delivering cloud services with data center interconnection" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Blog</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/blog/enhance-cloud-services-with-high-capacity-interconnection/" class="title-arrow" data-once="data-layer-event"> Enhance cloud services with high capacity interconnection </a> </h3> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2022-08/resrcid28180_gettyimages-533765031-low-1.jpg?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2022-08/resrcid28180_gettyimages-533765031-low-1.jpg?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2022-08/resrcid28180_gettyimages-533765031-low-1.jpg?height=774&width=1376" alt="datacenter" width="1376" height="774"> </picture> </div> <p class="c23-component__label">eBook</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://onestore.nokia.com/asset/210667" class="title-arrow" data-once="data-layer-event"> Webscale networking for the cloud </a> </h3> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container img_thumb"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-04/cloud-data-center-interconnection.jpg?height=180&width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-04/cloud-data-center-interconnection.jpg?height=377&width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-04/cloud-data-center-interconnection.jpg?height=774&width=1376" alt="cloud-data-center-interconnection" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Use case</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://onestore.nokia.com/asset/206983" class="title-arrow" data-once="data-layer-event"> Cloud data center interconnection </a> </h3> </div> </article> </div> <div class="view-more-container"></div> <div class="view-more-link-container"> <a href="/ajax/view-more/c23-component/?prid=34321604&langcode=en&offset=8&nid=61156" class="use-ajax" data-action="opened" title="Load more"> <svg width="52" height="52" viewBox="0 0 52 52" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M24.7814 27.2178V38.3075C24.7814 38.8682 25.2464 39.3332 25.807 39.3332C26.3677 39.3332 26.8327 38.8682 26.8327 38.3075V27.2178H38.307C38.8677 27.2178 39.3327 26.7528 39.3327 26.1921C39.3327 25.6315 38.8677 25.1665 38.307 25.1665H26.8327V13.6921C26.8327 13.1315 26.3677 12.6665 25.807 12.6665C25.2464 12.6665 24.7814 13.1315 24.7814 13.6921V25.1665H13.6917C13.131 25.1665 12.666 25.6315 12.666 26.1921C12.666 26.7528 13.131 27.2178 13.6917 27.2178H24.7814Z" fill="#FFFFFF"/> <rect x="0.5" y="0.5" width="51" height="51" rx="3.5" stroke="#005AFF"/> </svg> </a> </div> </div> </div> </div> </div> </div> <div class="st-none sb-none paragraph paragraph--type--c0-layout-row paragraph--view-mode--default nr c0--col-one c-fonts"> <div class="nc-12"> <div class="paragraph paragraph--type--c23-component paragraph--view-mode--default"> <div class="c23-component c23-component--carousel c23-component-pid-1057376 c0-container has-carousel"> <div class="container "> <h2 class="">Latest news</h2> <div class="c23-component__wrapper "> <div class="c23-component__carousel-top hidden"> <div class="c23-carousel-control "> <button class="blaze-arrow blaze-prev c23-carousel-control__prev prev"></button> <button class="blaze-arrow blaze-next c23-carousel-control--next next"></button> </div> </div> <div class="c23-component__slides"> <div class="blaze-container"> <div class="blaze-track-container"> <div class="blaze-track"> <article class="c23-component-item "> <p class="c23-component__label">27 Jan 2025</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2025/01/27/nokia-deepfield-to-provide-london-internet-exchange-members-with-advanced-ddos-protection/" class="title-arrow" data-once="data-layer-event"> Nokia Deepfield to provide London Internet Exchange members with advanced DDoS protection </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">27 Jan 2025</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2025/01/27/nokia-to-upgrade-bbix-network-to-massively-increase-bandwidth-and-enhance-operational-efficiency/" class="title-arrow" data-once="data-layer-event"> Nokia to upgrade BBIX network to massively increase bandwidth and enhance operational efficiency </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">27 Jan 2025</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2025/01/27/nokia-upgrades-espanixs-ixp-infrastructure-to-reduce-energy-consumption-and-complexity/" class="title-arrow" data-once="data-layer-event"> Nokia upgrades ESpanix鈥檚 IXP infrastructure to reduce energy consumption and complexity </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">11 Dec 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/12/11/nokia-building-ip-network-to-support-ai-workloads-at-nscales-new-sustainable-data-center/" class="title-arrow" data-once="data-layer-event"> Nokia building IP network to support AI workloads at Nscale鈥檚 new sustainable data center </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">28 Nov 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/11/28/nokia-upgrades-cloudbear-network-to-offer-customized-hosting-services-in-europe/" class="title-arrow" data-once="data-layer-event"> Nokia upgrades Cloudbear network to offer customized hosting services in Europe </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">21 Nov 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/11/21/nokia-expands-multi-year-agreement-to-supply-microsoft-azure-datacenter-networks/" class="title-arrow" data-once="data-layer-event"> Nokia expands multi-year agreement to supply Microsoft Azure datacenter聽networks </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">3 Jun 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/06/03/nokia-selected-by-telehouse-america-to-upgrade-nyiix-peering-exchange-infrastructure-in-the-us/" class="title-arrow" data-once="data-layer-event"> Nokia selected by Telehouse America to upgrade NYIIX peering exchange infrastructure in the US </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">15 May 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/05/15/nokia-helps-signetbreedband-evolve-business-services-driven-by-advanced-routing-capabilities/" class="title-arrow" data-once="data-layer-event"> Nokia helps signetbreedband evolve business services driven by advanced routing capabilities </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">16 Jan 2024</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2024/01/16/nl-ix-deploys-nokia-ip-routing-to-transform-into-european-wide-distributed-business-internet-exchange/" class="title-arrow" data-once="data-layer-event"> NL-ix deploys Nokia IP routing to transform into European-wide distributed business Internet Exchange </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">2 Nov 2023</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2023/11/02/nokia-selected-by-ligat-to-power-its-national-ip-core-and-transport-network/" class="title-arrow" data-once="data-layer-event"> Nokia selected by LigaT to power its national IP core and transport network </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">18 Oct 2023</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2023/10/18/nokia-and-cybernet-deploy-pakistans-first-600g-commercial-network/" class="title-arrow" data-once="data-layer-event"> Nokia and Cybernet deploy Pakistan鈥檚 first 600G commercial network </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">13 Jul 2023</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2023/07/13/nokia-deploys-400ge-ip-interconnection-and-peering-solution-for-budapest-internet-exchange/" class="title-arrow" data-once="data-layer-event"> Nokia deploys 400GE IP interconnection and peering solution for Budapest Internet Exchange </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">3 May 2022</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2022/05/03/nokia-deploys-data-center-edge-routers-to-support-teamblue-denmarks-rapid-hosting-and-cloud-services-growth/" class="title-arrow" data-once="data-layer-event"> Nokia deploys data center edge routers to support team.blue Denmark鈥檚 rapid hosting and cloud services growth </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">9 Feb 2022</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2022/02/09/nokia-deploys-ip-peering-solution-to-upgrade-trex-regional-internet-exchanges-in-finland/" class="title-arrow" data-once="data-layer-event"> Nokia deploys IP peering solution to upgrade TREX regional internet exchanges in Finland </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">26 Jan 2022</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2022/01/26/nokia-and-globalconnect-demonstrate-600g-transmission-using-pse-v-super-coherent-optics/" class="title-arrow" data-once="data-layer-event"> Nokia and GlobalConnect demonstrate 600G transmission using PSE-V super coherent optics </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">2 Dec 2021</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2021/12/02/nokia-deploys-400ge-ip-solution-to-enable-top-ix-to-scale-its-interconnection-infrastructure-and-expand-its-service-portfolio/" class="title-arrow" data-once="data-layer-event"> Nokia deploys 400GE IP solution to enable TOP-IX to scale its interconnection infrastructure and expand its service portfolio </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">9 Nov 2021</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2021/11/09/nokia-deploys-400ge-ip-interconnection-and-peering-solution-for-linx/" class="title-arrow" data-once="data-layer-event"> Nokia deploys 400GE IP interconnection and peering solution for LINX </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">19 Oct 2021</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2021/10/19/nokia-supports-arc-in-deploying-data-center-interconnect-across-the-middle-east/" class="title-arrow" data-once="data-layer-event"> Nokia supports ARC in deploying data center interconnect across the Middle East </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">7 Oct 2021</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2021/10/07/nokia-deploys-modular-data-center-interconnect-solution-to-scale-espanix-peering-platform/" class="title-arrow" data-once="data-layer-event"> Nokia deploys modular data center interconnect solution to scale ESpanix peering platform </a> </h3> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">14 Sep 2021</p> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24"> <a href="https://www.nokia.com/about-us/news/releases/2021/09/14/nokia-supplies-optical-transport-network-solution-for-nl-ix/" class="title-arrow" data-once="data-layer-event"> Nokia supplies optical transport network solution for NL-ix </a> </h3> </div> </article> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <div> <div id="form-popup-marketo" class="form--popup mfp-hide white-popup js-nokia-analytics-module-measurement" data-module-id="m13_form"> <h5>Please complete the form below.</h5> <div class="form-popup-marketo-loading"> <p>The form is loading, please wait...</p> </div> <div id="mktoFormResponse"> <p>Thank you. We have received your inquiry. Please continue browsing.<br><br></p> </div> <form id="mktoForm_2772" data-formname="mktoForm_2772" data-mid="2772"></form> </div> </div> <div> <div class="st-small sb-small paragraph paragraph--type--m17-cta paragraph--view-mode--default"> <div class="m17-cta__wrapper with-image cta-height-300"> <div class="m17-cta__media-container gradient gradient--teal-blue"></div> <div class="m17-cta__container"> <div class="container"> <div class="nr"> <div class="nc-6"> <div class="m17-cta__container"> <div class="m17-cta__info"> <h2 class="m17-cta__title h32">Ready to talk to a webscale expert?</h2> <div class="m17-cta__cta-wrapper"> <div class="m17-cta__cta"> <a class="btn btn-blue c-btn-color" href="#form-popup-marketo">Request a call</a> </div> </div> </div> </div> </div> <div class="nc-6"> </div> </div> </div> </div> </div> </div> </div> <div> <div class="paragraph paragraph--type--m77-sticky-cta paragraph--view-mode--default"> <div class="sticky-cta fixed animated defer-bg-image bg-white" data-src=""> <div class="sticky-cta-button container"> <p class="sticky-cta__text"></p> <a class="btn btn-blue" href="#form-popup-marketo">Get in touch with our webscale team</a> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </article> </div> </main> <footer id="nokia-global-footer" class="nokia-footer nokia-footer-1"> <div class="container container-1"> <div class="nokia-footer--wrapper"> <div class="nokia-footer--1"> <div class="nokia-footer--first nokia-footer--nokia-logo"> <div> <div id="block-sitebranding" class="block block-system block-system-branding-block"> <a href="/" rel="home" class="site-logo nokia-logo transparent-menu-light"> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo.svg" alt="Home" /> </a> <a href="/" rel="home" class="site-logo nokia-logo transparent-menu-dark "> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo-white.svg" alt="Home" /> </a> </div> </div> </div> <div class="nokia-footer--second"> <nav role="navigation" aria-labelledby="block-onenokia-reskin-footermegamenu-menu" id="block-onenokia-reskin-footermegamenu"> <h2 class="visually-hidden" id="block-onenokia-reskin-footermegamenu-menu">Footer Mega menu</h2> <div class="footer-mega-menu"> <ul class="menu"> <li class="menu-item menu-item--expanded"> <a href="/industries/" class="menu-link"> Industries </a> <ul class="submenu"> <li class="menu-item"> <a href="/industries/enterprises/" class="menu-link"> Enterprises </a> </li> <li class="menu-item"> <a href="/industries/service-providers/" class="menu-link"> Service providers </a> </li> <li class="menu-item"> <a href="/industries/public-sector/" class="menu-link"> Public sector </a> </li> <li class="menu-item menu-item--expanded"> <a href="/networks/" class="menu-link"> Network solutions </a> <ul class="submenu"> <li class="menu-item"> <a href="/networks/solution-areas/" class="menu-link"> Solution areas </a> </li> <li class="menu-item"> <a href="/networks/topics/" class="menu-link"> Network topics </a> </li> <li class="menu-item"> <a href="/networks/services/" class="menu-link"> Services </a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--expanded"> <a href="/insights/" class="menu-link"> Insights and innovation </a> <ul class="submenu"> <li class="menu-item"> <a href="/bell-labs/" class="menu-link"> Nokia Bell Labs </a> </li> <li class="menu-item"> <a href="/thought-leadership/" class="menu-link"> Thought leadership </a> </li> <li class="menu-item"> <a href="/innovate-with-nokia/" class="menu-link"> Innovate with Nokia </a> </li> <li class="menu-item"> <a href="/standardization/" class="menu-link"> Standardization </a> </li> <li class="menu-item menu-item--expanded"> <a href="/collaborate-with-us/" class="menu-link"> Collaborate with us </a> <ul class="submenu"> <li class="menu-item"> <a href="/licensing/" class="menu-link"> Licensing </a> </li> <li class="menu-item"> <a href="/partners/" class="menu-link"> Partners </a> </li> <li class="menu-item"> <a href="/innovate-with-nokia/" class="menu-link"> Innovate with Nokia </a> </li> </ul> </li> </ul> </li> <li class="menu-item menu-item--expanded"> <a href="/we-are-nokia/" class="menu-link"> We are Nokia </a> <ul class="submenu"> <li class="menu-item"> <a href="/blog/" class="menu-link"> Blog </a> </li> <li class="menu-item"> <a href="/about-us/newsroom/" class="menu-link"> Newsroom </a> </li> <li class="menu-item"> <a href="/about-us/careers/" class="menu-link"> Careers </a> </li> <li class="menu-item"> <a href="/about-us/investors/" class="menu-link"> Investors </a> </li> <li class="menu-item"> <a href="/about-us/sustainability/" class="menu-link"> Sustainability </a> </li> <li class="menu-item"> <a href="/customer-success/" class="menu-link"> Customer success </a> </li> </ul> </li> </ul> </div> </nav> </div> </div> <div class="nokia-footer--2"> <div class="nokia-footer--third"> <div id="block-footerreskincontact" class="nc-6"> <ul class="nokia-footer__menu-contact"> <li> <a href="/contact-us/" data-linktype="footer">Contact us</a> </li> <li> <a href="/support/" data-linktype="footer">Support</a> </li> <li> <a href="/extranet-access/" data-linktype="footer">Extranet access</a> </li> </ul> </div> </div> <div class="nokia-footer--fourth"> <div class="nokia-footer--combined"> <div id="block-nokiareskinsubscribe" class="nokia-footer--subscribe"> <a href="https://www.nokia.com/about-us/newsroom/news-releases/subscribe-to-the-latest-nokia-news/" class="btn btn-transparent-blue">Subscribe for our latest news</a> </div> <div id="block-nokiareskinsocialblock"> <div class="nokia-footer--social"> <ul class="nokia-footer__menu-social"> <li> <a href="https://www.instagram.com/nokia/?hl=en"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-5a664efc-b334-4e0e-b67e-5f32f5f01041" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-da3a7661-0f85-4aad-a3b8-89413b500549 { fill: none; stroke: #333333; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-da3a7661-0f85-4aad-a3b8-89413b500549" d="M24.01,34c-5.5,0-9.99-4.48-9.99-10s4.48-10,9.99-10,9.99,4.48,9.99,10-4.5,10-9.99,10Z"/> <path class="uuid-da3a7661-0f85-4aad-a3b8-89413b500549" d="M40,10.75c0,1.53-1.23,2.75-2.75,2.75s-2.75-1.23-2.75-2.75,1.23-2.75,2.75-2.75,2.75,1.23,2.75,2.75Z"/> <path class="uuid-da3a7661-0f85-4aad-a3b8-89413b500549" d="M46.84,14.52c-.17-3.68-1.02-6.95-3.71-9.64-2.69-2.69-5.95-3.53-9.64-3.72-3.8-.22-15.18-.22-18.97,0-3.67.17-6.94,1.02-9.64,3.71-2.7,2.69-3.53,5.95-3.71,9.64-.22,3.8-.22,15.18,0,18.98.17,3.68,1.02,6.95,3.71,9.64,2.7,2.69,5.95,3.53,9.64,3.72,3.8.22,15.18.22,18.97,0,3.68-.17,6.95-1.02,9.64-3.72,2.69-2.69,3.53-5.95,3.71-9.64.22-3.8.22-15.17,0-18.97Z"/> </svg> </a> </li> <li> <a href="https://www.youtube.com/user/nokia"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-f4512ea8-2d79-4336-982e-61475553afb3" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-ee63728b-90cb-467d-9752-4803b5c80ff1 { fill: none; stroke: #333333; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-ee63728b-90cb-467d-9752-4803b5c80ff1" d="M46.04,12.89c-.53-1.99-2.09-3.56-4.07-4.09-3.59-.97-17.97-.97-17.97-.97,0,0-14.38,0-17.97.97-1.98.53-3.54,2.1-4.07,4.09-.96,3.61-.96,11.14-.96,11.14,0,0,0,7.53.96,11.14.53,1.99,2.09,3.5,4.07,4.03,3.59.97,17.97.97,17.97.97,0,0,14.38,0,17.97-.97,1.98-.53,3.54-2.04,4.07-4.03.96-3.61.96-11.14.96-11.14,0,0,0-7.53-.96-11.14ZM19.3,30.87v-13.68l12.02,6.84-12.02,6.84Z"/> </svg> </a> </li> <li> <a href="https://twitter.com/nokia"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-6280b037-4335-434d-ae7f-e1b7786cf20d" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-d73243ea-7fd5-4eb6-8b45-3c2fd6b63c56 { fill: none; stroke: #333333; } </style> </defs> <path class="uuid-d73243ea-7fd5-4eb6-8b45-3c2fd6b63c56" d="M28.98,20.32L45.76.83c.28-.32.05-.83-.38-.83h-2.82c-.15,0-.28.06-.38.17l-14.61,16.98c-.21.25-.61.23-.79-.04L15.17.22c-.09-.14-.25-.22-.41-.22H1.98c-.4,0-.64.45-.41.78l17.58,25.59c.13.19.11.44-.03.61L1.74,47.17c-.28.32-.05.83.38.83h2.82c.15,0,.28-.06.38-.17l15.46-17.97c.21-.25.61-.23.79.04l12.29,17.88c.09.14.25.22.41.22h12.77c.4,0,.64-.45.41-.78l-18.48-26.89h0ZM23.31,26.92l-1.86-2.66L7.22,3.91c-.23-.33,0-.79.41-.79h5.14c.16,0,.32.08.41.21l11.78,16.85,1.86,2.66,14.96,21.39c.23.33,0,.79-.41.79h-5.14c-.16,0-.32-.08-.41-.21l-12.51-17.89h0Z"/> </svg> </a> </li> <li> <a href="https://www.facebook.com/nokia/"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-6465ef6f-cc09-4df3-a169-f6abe7192154" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-f8366000-ab6b-4738-9788-985dffe19d08 { fill: none; stroke: #333333; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-f8366000-ab6b-4738-9788-985dffe19d08" d="M44.51,1H3.49c-1.34,0-2.49,1.15-2.49,2.49v41.02c0,1.34,1.15,2.49,2.49,2.49h22.04v-17.83h-5.94v-6.9h5.94v-5.18c0-5.94,3.64-9.2,9.01-9.2,2.49,0,4.79.19,5.37.19v6.33h-3.64c-2.88,0-3.45,1.34-3.45,3.45v4.41h6.9l-.96,6.9h-5.94v17.83h11.69c1.34,0,2.49-1.15,2.49-2.49V3.49c0-1.34-1.15-2.49-2.49-2.49Z"/> </svg> </a> </li> <li> <a href="https://www.linkedin.com/company/nokia"> <?xml version="1.0" encoding="UTF-8"?> <svg id="uuid-f1f22bac-7e26-4c2c-ae4e-a5216b8f7a03" data-name="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48"> <defs> <style> .uuid-6ef72c30-680e-44ce-b1fa-f8620e17aef7 { fill: none; stroke: #333333; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2px; } </style> </defs> <path class="uuid-6ef72c30-680e-44ce-b1fa-f8620e17aef7" d="M43.71,1H4.28c-1.81,0-3.28,1.49-3.28,3.32v39.37c0,1.83,1.47,3.32,3.28,3.32h39.44c1.81,0,3.29-1.49,3.29-3.32V4.32c0-1.83-1.48-3.32-3.29-3.32ZM14.9,40.43h-6.82v-21.95h6.83v21.95h-.01ZM11.49,15.48c-2.19,0-3.95-1.78-3.95-3.95s1.77-3.95,3.95-3.95,3.95,1.78,3.95,3.95-1.77,3.95-3.95,3.95ZM40.46,40.43h-6.82v-10.68c0-2.55-.05-5.82-3.54-5.82s-4.1,2.77-4.1,5.64v10.86h-6.82v-21.95h6.54v3h.09c.91-1.72,3.14-3.54,6.46-3.54,6.9,0,8.18,4.55,8.18,10.46v12.03Z"/> </svg> </a> </li> </ul> </div> </div> </div> <div class="nokia-footer--my-nokia"> <div id="block-nokiareskinmynokia" class="nc-4 nokia-footer--mynokia"> <div class="external-link"> <h6>Looking for Nokia licensed products support?</h6> <div class="external-link-with-icon"> <a href="/support/licensed-products/">Explore consumer devices</a> <svg class="external-link-arrow" width="28" height="22" viewBox="0 0 28 22" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="m25.63 11.487-7.724 8.106 1.522 1.591 7.725-8.106-1.522-1.59Zm0-.96a.628.628 0 0 1 .213.48.656.656 0 0 1-.212.48l1.522 1.591c.267-.267.48-.589.626-.945a2.98 2.98 0 0 0 0-2.253 2.873 2.873 0 0 0-.626-.945l-1.522 1.591ZM17.907 2.42l7.725 8.105 1.522-1.59L19.428.828l-1.522 1.592Zm7.94 7.385H1.076v2.252h24.77V9.805Zm-7.912 9.787c-.19.213-.293.496-.289.787.005.292.118.57.316.776.197.207.463.325.742.33a1.05 1.05 0 0 0 .753-.302l-1.522-1.591Zm8.486-7.31-.76-.796.76.796Zm0-2.552.761-.796-.76.796ZM19.428.829a1.051 1.051 0 0 0-.754-.301 1.054 1.054 0 0 0-.742.33c-.197.205-.31.484-.315.775-.005.292.098.574.289.788L19.428.829ZM1.077 9.806c-.286 0-.56.119-.762.33a1.152 1.152 0 0 0-.315.796c0 .298.113.585.315.796.202.21.476.33.762.33V9.805Zm24.77 2.252c.285 0 .559-.12.76-.33.203-.211.316-.498.316-.796 0-.299-.113-.585-.315-.796a1.054 1.054 0 0 0-.762-.33v2.252Z" fill="#005AFF"/> </svg> </div> </div> <div class="external-link-2"> <h6>Looking for Nokia licensed products support?</h6> <div class="external-link-with-icon"> <svg width="12" height="11" viewBox="0 0 12 11" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M10.1953 1.91986L10.2452 7.32476L11.3091 7.33162L11.2642 1.92174L10.1953 1.91986ZM9.87204 1.59661C9.91563 1.59066 9.96014 1.59496 10.002 1.60916C10.0439 1.62337 10.0821 1.6471 10.1134 1.67846C10.1448 1.70982 10.1685 1.74797 10.1827 1.78987C10.1969 1.83177 10.2012 1.87627 10.1953 1.91986L11.2642 1.92174C11.267 1.73877 11.2328 1.55664 11.1635 1.38633C11.0942 1.21602 10.9914 1.06107 10.8611 0.930804C10.7308 0.80054 10.5759 0.697669 10.4056 0.628395C10.2353 0.55912 10.0531 0.524876 9.87017 0.527728L9.87204 1.59661ZM4.46715 1.54669L9.87204 1.59661L9.87017 0.527728L4.46028 0.482789L4.46715 1.54669ZM9.70938 1.2744L1.10852 9.87526L1.86613 10.6329L10.467 2.03201L9.70938 1.2744ZM10.2452 7.32476C10.2462 7.46581 10.3032 7.60143 10.4035 7.70181C10.5039 7.8022 10.6395 7.85914 10.7806 7.86014C10.9217 7.86096 11.0565 7.80576 11.1556 7.70666C11.2547 7.60757 11.3099 7.47268 11.3091 7.33162L10.2452 7.32476ZM10.7322 1.91831L10.1953 1.91986L10.7322 1.91831ZM9.8736 1.05968L9.87017 0.527728L9.8736 1.05968ZM4.46028 0.482789C4.31923 0.481967 4.18434 0.537167 4.08524 0.636264C3.98614 0.735361 3.93094 0.870251 3.93176 1.01131C3.93276 1.15236 3.98971 1.28798 4.09009 1.38836C4.19048 1.48874 4.32609 1.54569 4.46715 1.54669L4.46028 0.482789ZM1.10852 9.87526C1.00934 9.97444 0.954134 10.1095 0.955045 10.2506C0.955955 10.3918 1.01291 10.5276 1.11337 10.628C1.21384 10.7285 1.34959 10.7854 1.49076 10.7864C1.63193 10.7873 1.76695 10.7321 1.86613 10.6329L1.10852 9.87526ZM10.467 2.03201C10.5662 1.93284 10.6214 1.79781 10.6205 1.65664C10.6196 1.51547 10.5626 1.37972 10.4621 1.27926C10.3617 1.17879 10.2259 1.12184 10.0848 1.12093C9.94359 1.12001 9.80856 1.17522 9.70938 1.2744L10.467 2.03201Z" fill="#005AFF"/> </svg> <a href="/support/licensed-products/">Explore consumer devices</a> </div> </div> </div> </div> </div> </div> </div> <div class="nokia-footer--fifth"> <div id="block-nokiareskincopyright" class="nokia-footer--copyright nc-2"> <div class="nokia-footer--copyright-wrapper"> ©2025 Nokia all rights reserved </div> </div> <div id="block-footerreskinsiteinformations" class="nc-10"> <ul class="nokia-footer__menu-legal"> <li> <a href="/cookies/" data-linktype="footer">Cookies</a> </li> <li> <a href="/privacy/notices/general/" data-linktype="footer">Privacy notice</a> </li> <li> <a href="/notices/terms/" data-linktype="footer">Terms of use</a> </li> <li> <a href="/notices/inclusive-terminology/" data-linktype="footer">Inclusive terminology</a> </li> <li> <a href="/modern-slavery-statement/" data-linktype="footer">Modern slavery statement</a> </li> </ul> </div> </div> </div> <div class="container"> </div> </footer> </div> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/61156","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"core\/drupal.autocomplete,google_webfont_loader_api\/fonts,google_webfont_loader_api\/webfont_loader,layout_discovery\/onecol,media\/oembed.formatter,nokia_autocomplete_advanced\/autocomplete,nokia_custom_global_header\/nokia_custom_global_header_modal,nokia_search\/speech-recognition,nokia_updates\/iframe-lazify,oembed_lazyload\/common,oembed_lazyload\/intersection-observer,oembed_lazyload_youtube\/youtube,onenokia_base_theme\/passive_events,onenokia_reskin\/addinlineAttribute,onenokia_reskin\/atomsButtonsAll,onenokia_reskin\/data-layer-events,onenokia_reskin\/datagate,onenokia_reskin\/frontpage-parallax,onenokia_reskin\/global-styling,onenokia_reskin\/gtm_removal,onenokia_reskin\/header,onenokia_reskin\/jquery-mousewheel,onenokia_reskin\/jquery-touchswipe,onenokia_reskin\/js-cookie,onenokia_reskin\/js-visible,onenokia_reskin\/lazy-loading-images,onenokia_reskin\/libsyn_podcast_placeholder,onenokia_reskin\/mailto_noreferrer,onenokia_reskin\/main,onenokia_reskin\/marketo,onenokia_reskin\/marketo-phone-numbers,onenokia_reskin\/media-video-overlay,onenokia_reskin\/moleculesVideoSmallCSS,onenokia_reskin\/navigation-mega-menu,onenokia_reskin\/organism77StickyCta,onenokia_reskin\/organismC16Title,onenokia_reskin\/organismC1Reference,onenokia_reskin\/organismC23,onenokia_reskin\/organismC3VerticalNav,onenokia_reskin\/organismC4SimpleText,onenokia_reskin\/organismCustomAnnotation,onenokia_reskin\/orgnismM22ContentCarousel,onenokia_reskin\/overrides,onenokia_reskin\/pathfactory-overlay,onenokia_reskin\/select-woo,onenokia_reskin\/select-woo-ajax-fix,paragraphs\/drupal.paragraphs.unpublished,system\/base","theme":"onenokia_reskin","theme_token":null},"ajaxTrustedUrl":{"\/search\/global\/":true},"google_webfont_loader_api":{"loaded":"TRUE"},"m13_forms":{"session_id":"","2772":{"is_form_gated":"0","marketo_popup":"1","marketo_munchkin_id":"937-WRZ-618"}},"intersectionObserverMargin":"10px","host_domain":"www.nokia.com","data_layer_events":{"on_page_load":{"webContentType":"Industry","contentSME":"Gary Holland","businessArea":"NI - IP Networks","tacticID":"T005ZC","subject":"Data center networks","modules":"(T17) Open Template,C0 - Layout Container,HTML Anchor Module,C0 - Layout Row,C4 - Simple text,C3 - Vertical Nav,C1 - Reference component,Editable entity reference,C16 - Title,C15 - Quote component,M 22.0 - Carousel,C23 - Dynamic reference,M 13.0 - Form,M 13.0 - Form Extension,M 17.0 - CTA,Call to Action,M 77 - Sticky CTA,M 2.0 - Introduction,M 42.0 - Accordion,M 42.1 - Accordion Item"},"module_list":{"c0_layout_container":"C0 - Layout Container","c0_layout_row":"C0 - Layout Row","c15_quote_component":"C15 - Quote component","c16_title":"C16 - Title","c1_0_reference_component":"C1 - Reference component","c23_component":"C23 - Dynamic reference","c3_vertical_nav":"C3 - Vertical Nav","c4_simple_text":"C4 - Simple text","call_to_action":"Call to Action","editable_entity_reference":"Editable entity reference","html_anchor_module":"HTML Anchor Module","m13_form":"M 13.0 - Form","m13_form_extension":"M 13.0 - Form Extension","m17_cta":"M 17.0 - CTA","m22_0_carousel":"M 22.0 - Carousel","m2_intro":"M 2.0 - Introduction","m42_accordion":"M 42.0 - Accordion","m77_sticky_cta":"M 77 - Sticky CTA","m_42_1_accordion_item":"M 42.1 - Accordion Item","template_t17":"(T17) Open Template","author_markup":"Author markup","author_social_link":"Author social link","block_container":"Block Container","block_reference":"Block reference","c0_1_hero_container":"C0.1 [Hero] container","c0_2_carousel_container":"C0.2 - Carousel Container","c0_3_1_tab":"C0.3.1 Tab Container","c0_3_tabs":"C0.3 Tabs Container","c10_external_includes":"C10 - External includes","c15_quote_carousel":"C15 - Quote carousel","c17_herocopy":"C17 - HeroCopy","c18_landerliftup":"C18 - LanderLiftUp","c19_table":"C19 - Table","c20_nohero_component":"C20 - NoHero component","c21_social_component":"C21 - Social Component","c22_2_podcast_subscription_link":"C22.2 - Podcast subscription link","c22_podcast_subscription_links":"C22 - Podcast subscription links","c23_dynamic_reference":"C23 - Dynamic reference [DEPRECATED]","c24_dynamic_content_presentation":"C24 - Dynamic content presentation [DEPRECATED]","c25_social_media_feed":"C25 - Social Media Feed","c26_popup":"C26 - PopUp","c26_popup_item":"C26.1 - PopUp item","c26_popup_manual_input":"C26.1.1 - Popup - Manual input","c27_1_investor_table_tab":"C27.1 - Investor table tab","c27_investor_table":"C27.0 - Investor table","c28_tetris":"C28 - Tetris","c29_agenda":"C29 - Agenda","c2_accordion":"C2 - Accordion","c2_accordion_item":"C2 - Accordion item","c30_one_trust_integration":"C30 - One Trust integration","c31_author_list":"C31 - Author list","c32_nokia_bell_labs_blocks":"C32 Nokia Bell Labs Blocks","c5_media":"C5 - Media","c6_complextext":"C6 - ComplexText","c7_cards":"C7 - Cards","c8_button":"C8 - Button","c9_1_highlight":"C9.1 - Highlight","c9_highlights":"C9 - Highlights","ceros_content":"Ceros Content","content_with_label":"Content with label (Deprecated)","content_with_url":"Content with URL (Deprecated)","editable_footer_block":"Editable Footer Block","editable_footer_element":"Editable Footer Element","entity_reference":"Entity reference (Deprecated - Do not use)","event_speaker":"Event speaker","m100_lander_block":"M100.0 - Lander Block","m10_featured_content":"M 10.0 - Featured Content","m11_snapshot":"M 11.0 - Snapshot","m12_content_card":"M 12.0 - Content Card","m12_content_card_item":"M 12.1 - Content Card Item","m14_image_carousel":"M 14.0 - Image Carousel","m14_image_carousel_item":"M 14.1 - Image Carousel Item","m15_category_content":"M 15.0 - Category Content","m16_subcontent":"M 16.0 - Subcontent","m19_0_quotes_main":"M 19.0 - Quotes Main","m1_tabbed_bitesize_content":"M 1.2 - Tabbed Bitesize Content","m1_tabbed_content":"M 1.0 - Tabbed content","m1_tabbed_content_video":"M 1.1 - Tabbed Content Image\/Video","m21_personaled_content":"M 21.0 - Persona led content","m21_personaled_content_card":"M 21.2 - Persona led content - card","m21_personaled_content_item":"M 21.1 - Persona led content - job title","m23_0_tba":"M 23.0 - TBA","m24_latest_content":"M 24.0 - Latest content","m25_related_content":"M 25.0 - Related content","m25_related_content_item":"M 25.1 - Related Content Item","m29_divider":"M 29.0 - Divider","m29_divider_panel":"M 29.1 - Divider Panel","m2_carousel":"M 2.0 - Carousel","m2_carousel_slide":"M 2.0 - Carousel Slide","m30_segment_content":"M 30.0 - Segment Content","m31_events_carousel":"M 31.0 - Events Carousel","m32_2_column_layout":"M 32.2 - 2 Column Layout","m32_3_column_layout":"M 32.1 - 3 Column Layout","m32_explore_content":"M 32.0 - Explore content","m32_explore_content_column":"M 32.3 - Explore Content Column","m34_wayfinder":"M 34.0 - Wayfinder","m38_more_content":"M 38.0 - More Content","m39_into_the_detail":"M 39.2 - Into the Detail","m3_book_an_event":"M 3.0 - Book an Event","m43_2_intropanels":"M 43.2 - IntroPanels","m43_2_left_panel":"M 43.2 - Left Panel","m43_2_right_panel":"M 43.2 - Right Panel","m43_download":"M 43.0 - Download","m44_splitcontent":"M 44.0 - Splitcontent","m45_1_socialsharing_links":"M 45.1 - Social Sharing Links","m45_socialsharing":"M 45.0 - Social Sharing","m46_single_container":"M 46.1 - Single-Panel Container","m46_svg_container":"M 46.0 - SVG Container","m46_two_panel_container":"M 46.2 - Two-Panel Container","m48_1_author_profile":"M 48.1 - Author profile","m48_author":"M 48.0 - Author","m4_quotes":"M 19.1 - Quote","m4_stats":"M 4.0 - Stats","m4_stats_item":"M 4.1 - Stats Item","m54_stock":"M 54.0 - Stock","m55_library":"M 55.0 - Library","m55_library_item":"M 55.1 - Library item","m56_awards":"M 56.0 - Awards","m57_1_tab":"M 57.1 - Tab","m57_tabbed_module":"M 57.0 - Tabbed module","m59_select_list":"M 59.0 - Investors select List","m60_overview":"M 60.0 - Overview","m61_specifications":"M 61.0 - Specifications","m65_1_panel_content_row":"M 65.1 - Panel Content Row","m65_2_panel_content_item":"M 65.2 - Panel Content Item","m65_panel_content":"M 65.0 - Panel Content","m66_html5_container":"M 66.0 - HTML5 Container","m67_iframe_container":"M 67.0 - Iframe Container","m68_large_panel":"M 68 - Large Panel","m68_small_panel":"M 68 - Small Panel","m68_splitpanels":"M 68 - SplitPanels","m6_9_insights_listing":"M 6.9 - Insights listing","m6_9_insights_listing_item":"M 6.9 - Insights listing group","m6_9_more_insights":"M 6.9 - More insights","m6_insights":"M 6.0 - Insights","m70_0_social_media":"M 70.0 - Social Media","m70_1_social_media_row":"M 70.1 - Social Media Row","m70_2_social_media_platform":"M 70.2 - Social Media Platform","m71_0_pinned_video":"M 71.0 - Pinned Video","m72_0_featured_banner":"M 72.0 - Featured Banner","m74_bitesized_content":"M 74.0 - Bitesized content","m75_liftup":"M 75.0 - Liftup","m78_0_content_carousel":"M 78.0 - Content Carousel","m78_1_content_carousel_item":"M 78.1 - Content Carousel Item","m79b_add_to_calendar":"M 79B - Add to calendar","m7_content_selector_grid":"M 7.0 - Content selector grid","m80_1_module_accordion_item":"M 80.1 - Module accordion item","m80_module_accordion":"M 80 - Module accordion","m81_flipbook":"M 81 - Flipbook","m82_product_selector_tool":"M 82 - Product Selector tool","m83_1_vertical_tab_content":"M 83.1 - Vertical tab content","m83_2_vertical_tab_columns":"M 83.2 - Vertical tab columns","m83_3_vertical_tab_column":"M 83.3 - Vertical tab column","m83_4_vertical_tab_columns":"M 83.4 - Vertical tab columns","m83_vertical_tab_container":"M 83 - Vertical tab container","m84_countdown":"M 84 - Countdown","m84_countdown_event":"M 84 - Countdown Event","m8_listings":"M 8.0 - Listings","m8_list_item":"M 8.1 - List Item","m9_carousel_item":"M 9.1 - Carousel Item","m9_content_snippet":"M 9.0 - Content Snippet","modal_details":"Modal Details","m_15_1_category_content_item":"M 15.1 - Category Content Item","m_17b_cta_type_b":"M 17B - CTA Type B","m_2_2_introduction_header":"M 2.2 - Introduction Header","m_30_bitesize_contents":"M 30.1 - Bitesize Contents (Deprecated)","m_39_detail_tab":"M 39.1 - Detail Tab","m_39_into_the_detail_main":"M 39.0 - Into the Detail Main","m_3_0_carousel":"M 3.0 Carousel","m_3_components":"M 3 Components","m_48_2_author_reference":"M 48.2 - Author reference","m_4_0_stats_alternate":"M 4.0 - Stats Alternate","m_58_content_rows":"M 58 - Content rows","m_63_0_social_media_feed":"M 63.0 - Social Media Feed","m_69_1_subnav_tab":"M 69 1 - Subnav Tab","m_69_subnav":"M 69 - Subnav","m_74_1_bitesized_content_item":"M 74.1 - Bitesized content item","m_79_0_add_to_calendar":"M 79.0 - Add to Calendar","m_85_patent_wall":"M 85 - Patent Wall","m_9_case_study":"M 9.0 - Case study","publication_author":"Publication author","resource":"Resource","simple_video":"Simple Video","social_link":"Social Link","template_t1":"(T1) Nokia.com Landing Template","template_t11":"(T11) Campaign Landing Template","template_t11_1":"(T11.1) Subcampaign Landing","template_t13":"(T13) Generic Category Template","template_t14":"(T14) Generic Article Template","template_t16":"(T16) About Landing Template","template_t2":"(T2) Business Landing Template","template_t4":"(T4) Industry Landing Template","template_t5":"(T5) Category Landing Template","template_t5_1":"(T5.1) Subcategory Landing Template","template_t6":"(T6) Topic Detail Template"}},"user":{"uid":0,"permissionsHash":"23e7db417d0085b2f568d30fda972e5e7a3b29bf32fdfa1cd78eaa020ab07cff"}}</script> <script src="/sites/default/files/js/js_pg4PCg8zBjd3-umNErRPxAfEfBVAnj2LoE56eJiNc98.js?scope=footer&delta=0&language=en&theme=onenokia_reskin&include=eJx9Vcty2zAM_CExmiad5pz63B7qTK4ciIIkJiTB8iFb_fqCltPUoeyLLQErCsDuQo7eNEjIiRRZbzChhH4Gp7Bv_482igK2r78zhmW9JsY07vS4yjGRlaOhDoycEHoM7fWUtNSDaeISE9q2g4gNOVzx5U6mCS22HmLUM0qc0aX4AQkY37RrX6NQxAGsM6cqhaUc8TAhmmuIRFlN8aB9fYYF7aqggT-LMAS9dqPQFkasyzK6i4uTnnoFMUlvQOFEhtveeodJJB1Pc8AQNhBjsnxpaYa6h3WWVZhmPkr3G5WtHIiYFsP1NyPRaFAesBvIJVnaYmrA6_YydANY7mPjIcAYwE-x7UP2YO4-InfZ-dwZHSfsq4KAlRG_55TIxSdTd0hhBKej3Z009OQcJUiaal7egY-P-6TV27JLsCWXWUfdmS2uR6cHrYQnn32V7iHBCGnrufCGicSlgj8l_cQZ4bLtMNScnFFVPKJBlcSBSMArHMWgjzcwqyHfhx9oZERcgwm6Draa_jfc-4fGwEI5yV5HVeSzsLdRkWks9hpaQq69vxsoWEipSO4UkMUNRQwt7whbWLkMy3Jm7rA9_1ePaceHRW6BKRXURQzzlklKDUxdjyRKcVxrjSGeRDYYXwpsb8GY3X6_1XLp-Mf9_Y6Fy0tlB6HsiBvK-_KrWBPLqruK-brXZUc-4zHdOOjbs063aHh4wcDiBfMT5topPa8cdi0-pRR0lzfEOATuyfNKEsV9xsDxvJyzZwFjbPUQwKLg8ethOeciQlBTGz2imkRg0nlCJ4udxHNiyLGm1n0ps75Q2sX34XM9DmY9nuwqLI7APy5XIA9pGkAl4mV8jdxiP656wSDWL8FfVCek3Q"></script> <script src="//cdn.jsdelivr.net/npm/intl-tel-input@18.1.1/build/js/intlTelInput.min.js"></script> <script src="/sites/default/files/js/js_quXVgSxb0VU_P6GYMJTlqoGXE0f2iUlowPekFoGUScQ.js?scope=footer&delta=2&language=en&theme=onenokia_reskin&include=eJx9Vcty2zAM_CExmiad5pz63B7qTK4ciIIkJiTB8iFb_fqCltPUoeyLLQErCsDuQo7eNEjIiRRZbzChhH4Gp7Bv_482igK2r78zhmW9JsY07vS4yjGRlaOhDoycEHoM7fWUtNSDaeISE9q2g4gNOVzx5U6mCS22HmLUM0qc0aX4AQkY37RrX6NQxAGsM6cqhaUc8TAhmmuIRFlN8aB9fYYF7aqggT-LMAS9dqPQFkasyzK6i4uTnnoFMUlvQOFEhtveeodJJB1Pc8AQNhBjsnxpaYa6h3WWVZhmPkr3G5WtHIiYFsP1NyPRaFAesBvIJVnaYmrA6_YydANY7mPjIcAYwE-x7UP2YO4-InfZ-dwZHSfsq4KAlRG_55TIxSdTd0hhBKej3Z009OQcJUiaal7egY-P-6TV27JLsCWXWUfdmS2uR6cHrYQnn32V7iHBCGnrufCGicSlgj8l_cQZ4bLtMNScnFFVPKJBlcSBSMArHMWgjzcwqyHfhx9oZERcgwm6Draa_jfc-4fGwEI5yV5HVeSzsLdRkWks9hpaQq69vxsoWEipSO4UkMUNRQwt7whbWLkMy3Jm7rA9_1ePaceHRW6BKRXURQzzlklKDUxdjyRKcVxrjSGeRDYYXwpsb8GY3X6_1XLp-Mf9_Y6Fy0tlB6HsiBvK-_KrWBPLqruK-brXZUc-4zHdOOjbs063aHh4wcDiBfMT5topPa8cdi0-pRR0lzfEOATuyfNKEsV9xsDxvJyzZwFjbPUQwKLg8ethOeciQlBTGz2imkRg0nlCJ4udxHNiyLGm1n0ps75Q2sX34XM9DmY9nuwqLI7APy5XIA9pGkAl4mV8jdxiP656wSDWL8FfVCek3Q"></script> <!-- sm-BBwKs1h878dLQt4C --> <div class="onenokia-mega-menu__modal"></div> <div class="onenokia-mega-menu-mobile__modal"></div> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-b2569ac98cbd66e1042","applicationID":"1051222609","transactionName":"YVUENRYEChUFAUZdC1gfJwIQDAsISyZAQRRXXDoPCwEBOicNXEAWWVwKBBY5KgkAB2RdAUFzCQ8QFwsKCAdAGVpAWQMW","queueTime":0,"applicationTime":5596,"atts":"TRIHQ14eGRs=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>