CINXE.COM

<!DOCTYPE html> <html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#"> <head> <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.274.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:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.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,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,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){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.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){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.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,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(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},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.274.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),h(a.gm,f),h(c.prototype,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,{TZ:()=>n,Zp:()=>i,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},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:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={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:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,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",T="cb"+R,A="jsTime",E="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","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);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);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),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 E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.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?D:[]],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");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"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(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}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(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!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(A,"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 O).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)(S+"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,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){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=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"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,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!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:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",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"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.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.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.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-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(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.274.0.PROD"]=self["webpackChunk:NRBA-1.274.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(e=(0,r.LA)(16)){this.agentIdentifier=e}#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)}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(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}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),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),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(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 P(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 D 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=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],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,A.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,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=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,M.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,j.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(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,A.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,j.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){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.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,A.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.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(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)(O.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:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,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(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(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 Oe=i(2614);class _e 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(Oe.H3,"_").concat(Oe.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===Oe.g.FULL||e.sessionReplayMode===Oe.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}),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!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je 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,A.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,A.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 Pe=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,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(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 Me={},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(Me[t.debugId]++)return t;Me[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:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;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=De(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[Qe]=~~this[Qe]+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(Je,m),o.on(Je,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([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"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,$e+Ze),v(d,$e+"-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,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.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];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),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,r){super(r),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,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="description" content="Segment routing (SR) is a scalable approach for predefining forwarding paths in the IP network to meet constraints such as available bandwidth and latency." /> <meta name="robots" content="index, follow" /> <link rel="canonical" href="https://www.nokia.com/networks/ip-networks/segment-routing/" /> <meta property="og:site_name" content="Nokia" /> <meta property="og:type" content="detail" /> <meta property="og:url" content="https://www.nokia.com/networks/ip-networks/segment-routing/" /> <meta property="og:title" content="Segment routing | Nokia" /> <meta property="og:description" content="Resilient, scalable and simplified packet transport." /> <meta property="og:image" content="https://www.nokia.com/sites/default/files/2023-08/segment-routing-header1.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 type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "Intent-based multi-domain networking demonstration", "description": "Network operators need the right tools to provide differentiated network services with stringent SLAs for the delivery mobile 4G or 5G, cloud and enterprise services. Each layer of the network must satisfy the intent demanded by the layer above it. Also, these services often need to transition across multiple domains of the operators’ network. In this video, Nokia demonstrates its intent-based multi-domain networking toolbox including: • Internet-aware transport realized through segment routing. In this case using both SR-MPLS and SRv6. • An end-to-end network services overlay using our extensive VPN capabilities. • Path computation using the Path Computation Element (PCE) hosted on our NSP network automation platform. Learn how to quickly program intent-based multi-domain network services across both SR-MPLS and SRv6 networks and seamlessly migrate from legacy technologies like LDP or RSVP to either SR-MPLS or SRv6 through simplified network operations Related Link: https://www.nokia.com/networks/ip-networks/segment-routing", "thumbnailUrl": "https://i.ytimg.com/vi/Xe7axT2_s3k/default.jpg", "uploadDate": "2023-11-10T15:31:11Z", "duration": "PT18M19S", "embedUrl": "https://youtube.com/embed/Xe7axT2_s3k" }</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "Segment Routing for Cloud RAN", "description": "Hooman Bidgoli of Nokia examines the architecture of a fronthaul network in a Cloud RAN context and explores the requirements of the Top of the Rack (TOR) router and the value of Segment Routing (SR-MPLS / SRv6) technology in this application. Segment Routing technology allows a single true multi-service and multi-slice fronthaul network to be constructed, which can be used to transport latency-sensitive fronthaul traffic and other non-latency-critical applications, imposing special requirements on the TOR. Learn more here: https://www.nokia.com/networks/ip-networks/segment-routing/", "thumbnailUrl": "https://i.ytimg.com/vi/iSCGl01IdCY/default.jpg", "uploadDate": "2024-04-26T20:23:20Z", "duration": "PT17M17S", "embedUrl": "https://youtube.com/embed/iSCGl01IdCY" }</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "The emerging role of SRv6 in network deployments", "description": "Mustapha Aissaoui of Nokia provides insights into the emerging role of SRv6 at MPLS SD &amp; AI Net World, Paris, April 2024. In mobile backhaul and edge, mobile and data-centre sites are being deployed in private or hybrid clouds where an IPv6 underlay is becoming more common. An initial role for SRv6 is to enable the VPN service overlay. Next steps are to extend the role of SRv6 to more advanced applications such as Traffic Engineering, 5G slicing, load-balancing, and service chaining. Mustapha explains how the introduction of MPLS/SRv6 gateways at strategic locations decouples the edge and offers a scalable and controlled introduction of a new SRv6 backhaul. Click here to learn more https://www.nokia.com/networks/ip-networks/segment-routing/", "thumbnailUrl": "https://i.ytimg.com/vi/I_qzYkjHTvQ/default.jpg", "uploadDate": "2024-04-23T14:52:22Z", "duration": "PT19M21S", "embedUrl": "https://youtube.com/embed/I_qzYkjHTvQ" }</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "du’s experience with segment routing", "description": "Fatima AlDaghar, who is the director of the transport planning division at du, shares some insights on du’s experiences with segment routing in their IP network. du’s motivation to deploy segment routing is explored and some of the learnings from this deployment are presented. To learn more about segment routing, click here: https://www.nokia.com/networks/ip-networks/segment-routing/ https://youtu.be/1HUVnybZz74", "thumbnailUrl": "https://i.ytimg.com/vi/NwLqarHg3Qw/default.jpg", "uploadDate": "2024-07-30T00:23:21Z", "duration": "PT3M12S", "embedUrl": "https://youtube.com/embed/NwLqarHg3Qw" }</script> <script type="application/ld+json">{ "@context": "https://schema.org", "@type": "VideoObject", "name": "Nokia helps LigaT disrupt the telecom market in Portugal", "description": "Luis Filipe Tavares, CEO of LigaT, discusses LigaT's multi-play service offering, his philosophy of customer first services, and the importance of the network to achieve these goals. He shares how he wants to disrupt the market with a service that sets new standards in customer service excellence and how a partner like Nokia has helped in this journey. Related link: https://www.nokia.com/networks/webscale-networking/", "thumbnailUrl": "https://i.ytimg.com/vi/VTfaQrBwWZg/default.jpg", "uploadDate": "2024-01-23T15:43:29Z", "duration": "PT5M38S", "embedUrl": "https://youtube.com/embed/VTfaQrBwWZg" }</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": "IP networks", "item": "https://www.nokia.com/networks/ip-networks/" },{ "@type": "ListItem", "position": "4", "name": "Segment routing" }]}</script> <meta name="search-language" class="swiftype" data-type="string" content="en" /> <meta name="search-location" class="swiftype" data-type="string" content="int" /> <meta name="search-updated" class="swiftype" data-type="date" content="2024-09-12T22:19:33+00:00" /> <meta name="search-category" class="swiftype" data-type="string" content="business" /> <link rel="alternate" hreflang="en" href="https://www.nokia.com/networks/ip-networks/segment-routing/" /> <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="es" href="https://www.nokia.com/es_int/" /> <title data-swiftype-name="search-title" data-swiftype-type="string">Segment routing | Nokia</title> <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="/sites/default/files/css/css_BT0xg02glZIutsJuEG5pp82HgSrSmE87goMHTLlBKvU.css?delta=0&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_BWJNfJGkCylywaC_c7qT_4U2BgFwNhVr-aIKoqK99vg.css?delta=1&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug" /> <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="/sites/default/files/css/css_QjDQMims-oplbjMbQMyp8JTcfsA6Rb4nljaKA_2pegM.css?delta=4&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug" /> <link rel="stylesheet" media="all" href="/themes/custom/onenokia_reskin/css/app.css?snbs21" /> <link rel="stylesheet" media="all" href="/sites/default/files/css/css_xq7uiJmxMPnVCU47VBFRCHsYlbqxn8NpQOryMATA9cs.css?delta=6&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug" /> <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":"T009FY","page_tacticName":"","page_programID":"","page_campaignID":"","page_campaignName":""},"Content":{"language":"English","errorCode":"","mcaSegment":"","businessType":"","businessLine":"","topic":""}}; </script> <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","scriptPath":null,"pathPrefix":"","currentPath":"node\/145036","currentPathIsAdmin":false,"isFront":false,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"core\/drupal.autocomplete,eu_cookie_compliance\/eu_cookie_compliance_bare,eu_cookie_compliance_gtm\/eu_cookie_compliance_gtm,google_webfont_loader_api\/fonts,google_webfont_loader_api\/webfont_loader,layout_discovery\/onecol,media\/oembed.formatter,nokia_autocomplete_advanced\/autocomplete,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\/gtm_removal,onenokia_reskin\/header,onenokia_reskin\/jquery-mousewheel,onenokia_reskin\/jquery-touchswipe,onenokia_reskin\/js-cookie,onenokia_reskin\/lazy-loading-images,onenokia_reskin\/libsyn_podcast_placeholder,onenokia_reskin\/lightgallery,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\/organismC1Reference,onenokia_reskin\/organismC23,onenokia_reskin\/organismC3VerticalNav,onenokia_reskin\/organismC4SimpleText,onenokia_reskin\/organismC5Media,onenokia_reskin\/organismCustomAnnotation,onenokia_reskin\/orgnismM65Panelcontent,onenokia_reskin\/overrides,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"},"eu_cookie_compliance":{"cookie_policy_version":"1.0.0","popup_enabled":true,"popup_agreed_enabled":false,"popup_hide_agreed":false,"popup_clicking_confirmation":false,"popup_scrolling_confirmation":false,"popup_html_info":"\u003Cdiv aria-labelledby=\u0022popup-text\u0022 class=\u0022eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories\u0022\u003E\n \u003Cbutton id=\u0022closeModal\u0022 class=\u0022close-modal\u0022 aria-label=\u0022Bracket\u0022 title=\u0022Bracket\u0022\u003E\n \u003Cspan role=\u0022button\u0022 aria-pressed=\u0022true\u0022\u003E\u00d7\u003C\/span\u003E\n \u003C\/button\u003E\n \u003Cdiv class=\u0022popup-content info eu-cookie-compliance-content\u0022\u003E\n \u003Cdiv id=\u0022more-info\u0022 class=\u0022eu-cookie-compliance-message\u0022 role=\u0022document\u0022\u003E\n \u003Ch2\u003ECookie settings\u003C\/h2\u003E\n \u003Cp\u003ESelect the purpose for which you allow the use of cookies. Learn more about our \u003Ca href=\u0022https:\/\/www.nokia.com\/cookies\/\u0022\u003ECookies and Similar Technologies Notice\u003C\/a\u003E.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv id=\u0022popup-text\u0022 class=\u0022eu-cookie-compliance-message\u0022 role=\u0022document\u0022\u003E\n \u003Ch2\u003EWe use cookies \u0026amp; similar technologies\u003C\/h2\u003E\n\u003Cp\u003EWe use cookies and similar technologies to understand how you use our website, optimize its functionality, to create more valuable experiences for you, to keep our website secure and functional, and deliver content tailored to your interests. By clicking on Allow All button below, you consent to our use of cookies and similar technologies, as described in our\u00a0\u003Ca href=\u0022\/cookies\u0022\u003ECookies and Similar Technologies Notice\u003C\/a\u003E.\u003C\/p\u003E\n\n \u003C\/div\u003E\n\n \u003Cdiv id=\u0022eu-cookie-compliance-categories\u0022 class=\u0022eu-cookie-compliance-categories\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-essential\u0022\n value=\u0022essential\u0022\n checked disabled \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EEssential Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-essential\u0022\u003EEssential cookies enable you to navigate the Site and to use its services and features. Without these absolutely necessary cookies, the Site will not perform as smoothly for you as we would like it to and we may not be able to provide the Site or certain services or features.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-preference\u0022\n value=\u0022preference\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EPreference Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-preference\u0022\u003EPreference cookies collect information about your choices and preferences, and allow us to remember language or other local settings and customize the Site accordingly.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-analytics\u0022\n value=\u0022analytics\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EAnalytics Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-analytics\u0022\u003EAnalytics cookies collect information about your use of the Site and enable us to improve the way it works. For example, analytics cookies show us which are the most frequently visited pages on the Site, help us record any difficulties you have with the Site, and show us whether our advertising is effective or not. This allows us to see the overall patterns of usage on the Site, rather than the usage of a single person. We use the information to analyze Site traffic, but we do not examine this information for individually identifying information.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-advertising\u0022\n value=\u0022advertising\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EAdvertising Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-advertising\u0022\u003EAdvertising cookies are set to display targeted promotions or advertisements based upon your interests on the Site or to manage our advertising. These cookies collect information about your activities on this Site and other sites to provide you with targeted advertising.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003C\/div\u003E\n \n \u003Cdiv id=\u0022popup-buttons\u0022 class=\u0022eu-cookie-compliance-buttons eu-cookie-compliance-has-categories\u0022\u003E\n \u003C!-- Accept All --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022agree-button eu-cookie-compliance-default-button\u0022\u003EAccept all\u003C\/button\u003E\n \n \u003C!-- Manage preferences --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-manage-preferences-button\u0022 tabindex=\u00220\u0022\u003EManage preferences\u003C\/button\u003E\n\n \u003C!-- Accept Selected --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-save-preferences-button \u0022\u003EAccept selected\u003C\/button\u003E\n \n \u003C!-- Reject All --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-default-button eu-cookie-compliance-reject-button\u0022\u003EReject All\u003C\/button\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/div\u003E","use_mobile_message":false,"mobile_popup_html_info":"\u003Cdiv aria-labelledby=\u0022popup-text\u0022 class=\u0022eu-cookie-compliance-banner eu-cookie-compliance-banner-info eu-cookie-compliance-banner--categories\u0022\u003E\n \u003Cbutton id=\u0022closeModal\u0022 class=\u0022close-modal\u0022 aria-label=\u0022Bracket\u0022 title=\u0022Bracket\u0022\u003E\n \u003Cspan role=\u0022button\u0022 aria-pressed=\u0022true\u0022\u003E\u00d7\u003C\/span\u003E\n \u003C\/button\u003E\n \u003Cdiv class=\u0022popup-content info eu-cookie-compliance-content\u0022\u003E\n \u003Cdiv id=\u0022more-info\u0022 class=\u0022eu-cookie-compliance-message\u0022 role=\u0022document\u0022\u003E\n \u003Ch2\u003ECookie settings\u003C\/h2\u003E\n \u003Cp\u003ESelect the purpose for which you allow the use of cookies. Learn more about our \u003Ca href=\u0022https:\/\/www.nokia.com\/cookies\/\u0022\u003ECookies and Similar Technologies Notice\u003C\/a\u003E.\u003C\/p\u003E\n \u003C\/div\u003E\n \u003Cdiv id=\u0022popup-text\u0022 class=\u0022eu-cookie-compliance-message\u0022 role=\u0022document\u0022\u003E\n \n \u003C\/div\u003E\n\n \u003Cdiv id=\u0022eu-cookie-compliance-categories\u0022 class=\u0022eu-cookie-compliance-categories\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-essential\u0022\n value=\u0022essential\u0022\n checked disabled \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EEssential Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-essential\u0022\u003EEssential cookies enable you to navigate the Site and to use its services and features. Without these absolutely necessary cookies, the Site will not perform as smoothly for you as we would like it to and we may not be able to provide the Site or certain services or features.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-preference\u0022\n value=\u0022preference\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EPreference Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-preference\u0022\u003EPreference cookies collect information about your choices and preferences, and allow us to remember language or other local settings and customize the Site accordingly.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-analytics\u0022\n value=\u0022analytics\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EAnalytics Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-analytics\u0022\u003EAnalytics cookies collect information about your use of the Site and enable us to improve the way it works. For example, analytics cookies show us which are the most frequently visited pages on the Site, help us record any difficulties you have with the Site, and show us whether our advertising is effective or not. This allows us to see the overall patterns of usage on the Site, rather than the usage of a single person. We use the information to analyze Site traffic, but we do not examine this information for individually identifying information.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003Cinput type=\u0022checkbox\u0022 name=\u0022cookie-categories\u0022 class=\u0022eu-cookie-compliance-category-checkbox\u0022 id=\u0022cookie-category-advertising\u0022\n value=\u0022advertising\u0022\n \u003E\n \u003Cdetails class=\u0022eu-cookie-compliance-category\u0022\u003E\n \u003Csummary\u003EAdvertising Cookies\u003C\/summary\u003E\n \u003Clabel for=\u0022cookie-category-advertising\u0022\u003EAdvertising cookies are set to display targeted promotions or advertisements based upon your interests on the Site or to manage our advertising. These cookies collect information about your activities on this Site and other sites to provide you with targeted advertising.\u003C\/label\u003E\n \u003C\/details\u003E\n \u003C\/div\u003E\n \n \u003Cdiv id=\u0022popup-buttons\u0022 class=\u0022eu-cookie-compliance-buttons eu-cookie-compliance-has-categories\u0022\u003E\n \u003C!-- Accept All --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022agree-button eu-cookie-compliance-default-button\u0022\u003EAccept all\u003C\/button\u003E\n \n \u003C!-- Manage preferences --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-manage-preferences-button\u0022 tabindex=\u00220\u0022\u003EManage preferences\u003C\/button\u003E\n\n \u003C!-- Accept Selected --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-save-preferences-button \u0022\u003EAccept selected\u003C\/button\u003E\n \n \u003C!-- Reject All --\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-compliance-default-button eu-cookie-compliance-reject-button\u0022\u003EReject All\u003C\/button\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/div\u003E","mobile_breakpoint":768,"popup_html_agreed":false,"popup_use_bare_css":true,"popup_height":"auto","popup_width":"100%","popup_delay":1000,"popup_link":"\/cookies\/","popup_link_new_window":false,"popup_position":false,"fixed_top_position":true,"popup_language":"en","store_consent":true,"better_support_for_screen_readers":true,"cookie_name":"","reload_page":true,"domain":"","domain_all_sites":false,"popup_eu_only":false,"popup_eu_only_js":false,"cookie_lifetime":100,"cookie_session":0,"set_cookie_session_zero_on_disagree":0,"disagree_do_not_show_popup":false,"method":"categories","automatic_cookies_removal":true,"allowed_cookies":"essential:NCString\r\nessential:FPLC\r\nessential:FPID\r\nessential:_ga\r\nessential:_ga_*\r\nessential:_gat_UA-*\r\nessential:_gid\r\nessential:_dc_gtm_UA-*\r\nadvertising:_gaexp\r\nadvertising:_gcl_au\r\nanalytics:NID\r\nanalytics:__Secure-ENID\r\npreference:SOCS\r\npreference:nok_ip_locale\r\npreference:nok_ip_region\r\nadvertising:_mkto_trk\r\nadvertising:mkto_trk_id\r\nadvertising:mkto_trk_vid","withdraw_markup":"\u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-withdraw-tab\u0022\u003E\u003C\/button\u003E\n\u003Cdiv aria-labelledby=\u0022popup-text\u0022 class=\u0022eu-cookie-withdraw-banner\u0022\u003E\n \u003Cdiv class=\u0022popup-content info eu-cookie-compliance-content\u0022\u003E\n \u003Cdiv id=\u0022popup-text\u0022 class=\u0022eu-cookie-compliance-message\u0022 role=\u0022document\u0022\u003E\n \n \u003C\/div\u003E\n \u003Cdiv id=\u0022popup-buttons\u0022 class=\u0022eu-cookie-compliance-buttons\u0022\u003E\n \u003Cbutton type=\u0022button\u0022 class=\u0022eu-cookie-withdraw-button \u0022\u003E\u003C\/button\u003E\n \u003C\/div\u003E\n \u003C\/div\u003E\n\u003C\/div\u003E","withdraw_enabled":false,"reload_options":0,"reload_routes_list":"","withdraw_button_on_info_popup":false,"cookie_categories":["essential","preference","analytics","advertising"],"cookie_categories_details":{"essential":{"uuid":"7dad3016-b4eb-47ed-b3b1-bd7d4c2b18dd","langcode":"en","status":true,"dependencies":{"module":["eu_cookie_compliance_gtm"]},"third_party_settings":{"eu_cookie_compliance_gtm":{"gtm_data":{"essential":"@status"}}},"id":"essential","label":"Essential Cookies","description":"Essential cookies enable you to navigate the Site and to use its services and features. Without these absolutely necessary cookies, the Site will not perform as smoothly for you as we would like it to and we may not be able to provide the Site or certain services or features.","checkbox_default_state":"required","weight":-9},"preference":{"uuid":"ada24613-da02-45e0-8cbe-672bd661e10b","langcode":"en","status":true,"dependencies":{"module":["eu_cookie_compliance_gtm"]},"third_party_settings":{"eu_cookie_compliance_gtm":{"gtm_data":{"preference":"@status"}}},"id":"preference","label":"Preference Cookies","description":"Preference cookies collect information about your choices and preferences, and allow us to remember language or other local settings and customize the Site accordingly.","checkbox_default_state":"unchecked","weight":-8},"analytics":{"uuid":"24f95b56-1579-4148-8f41-5c2c7ca9d897","langcode":"en","status":true,"dependencies":{"module":["eu_cookie_compliance_gtm"]},"third_party_settings":{"eu_cookie_compliance_gtm":{"gtm_data":{"analytics_storage":"@status"}}},"id":"analytics","label":"Analytics Cookies","description":"Analytics cookies collect information about your use of the Site and enable us to improve the way it works. For example, analytics cookies show us which are the most frequently visited pages on the Site, help us record any difficulties you have with the Site, and show us whether our advertising is effective or not. This allows us to see the overall patterns of usage on the Site, rather than the usage of a single person. We use the information to analyze Site traffic, but we do not examine this information for individually identifying information.","checkbox_default_state":"unchecked","weight":-7},"advertising":{"uuid":"75be15cb-b95a-4d55-bb83-ece485eb1f70","langcode":"en","status":true,"dependencies":{"module":["eu_cookie_compliance_gtm"]},"third_party_settings":{"eu_cookie_compliance_gtm":{"gtm_data":{"ad_user_data":"@status","ad_storage":"@status","ad_personalization":"@status"}}},"id":"advertising","label":"Advertising Cookies","description":"Advertising cookies are set to display targeted promotions or advertisements based upon your interests on the Site or to manage our advertising. These cookies collect information about your activities on this Site and other sites to provide you with targeted advertising.","checkbox_default_state":"unchecked","weight":-6}},"enable_save_preferences_button":true,"cookie_value_disagreed":"0","cookie_value_agreed_show_thank_you":"1","cookie_value_agreed":"2","containing_element":"body","settings_tab_enabled":false,"olivero_primary_button_classes":"","olivero_secondary_button_classes":"","close_button_action":"close_banner","open_by_default":true,"modules_allow_popup":true,"hide_the_banner":false,"geoip_match":true},"m13_forms":{"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":"Topics","contentSME":"John Davies","businessArea":"NI - IP Networks","tacticID":"T009FY","subject":"IP networks","modules":"(T17) Open Template,C0 - Layout Container,C0 - Layout Row,HTML Anchor Module,C4 - Simple text,C3 - Vertical Nav,C1 - Reference component,Editable entity reference,C5 - Media,C23 - Dynamic reference,M 17.0 - CTA,Call to Action,M 13.0 - Form,M 13.0 - Form Extension,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","c1_0_reference_component":"C1 - Reference component","c23_component":"C23 - Dynamic reference","c3_vertical_nav":"C3 - Vertical Nav","c4_simple_text":"C4 - Simple text","c5_media":"C5 - Media","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","m2_intro":"M 2.0 - Introduction","m42_accordion":"M 42.0 - Accordion","m_42_1_accordion_item":"M 42.1 - Accordion Item","template_t17":"(T17) Open Template","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","c15_quote_component":"C15 - Quote component","c16_title":"C16 - Title","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","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","m22_0_carousel":"M 22.0 - Carousel","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","m77_sticky_cta":"M 77 - Sticky CTA","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","m_15_1_category_content_item":"M 15.1 - Category Content Item","m_17b_cta_type_b":"M 17B - CTA Type B","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_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","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":"cd05eca5c57df501ca1c5c2fba7efd1bdc588d0ab5e82429a5b6714019956a58"}}</script> <script src="/sites/default/files/js/js_HnhMTMT6ZyYmr8sE3lrXGJj6y08gpoVT6JYuc1GgKxo.js?scope=header&amp;delta=0&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug"></script> <script src="/modules/contrib/eu_cookie_compliance/js/eu_cookie_compliance.min.js?v=10.1.6" defer></script> <script src="/sites/default/files/js/js_wYWkSnJhxpdxHVnDXAt3awMbxx7AN0MqS_RhjIfDZLA.js?scope=header&amp;delta=2&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug"></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="bdpnbeqxzkgycz2clzgq-f-b3a051eb8-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":"c7ba1b13","ak.r":47863,"ak.a2":n,"ak.m":"dsca","ak.n":"essl","ak.bpcip":"8.222.208.0","ak.cport":47730,"ak.gh":"23.54.158.72","ak.quicv":"","ak.tlsv":"tls1.2","ak.0rtt":"","ak.0rtt.ed":"","ak.csrc":"-","ak.acc":"reno","ak.t":"1732402765","ak.ak":"hOBiQwZUYzCg5VSAfCLimQ==WpJge97KpWgFaXnA5PU+Wof6ITEMQrXR2nX6jJ3gzqdyyumt/0/a1TOtJcN0ztIc0ztEMt3qPniAJatUxEy+CrKYHJF2TOl3weloNky+1Y9ksaQT7+3XYLKHU87eBh9tedQqLRCMHHukl/BhbfDhJSW9sMJ9O6YqL+eOztc8YQc7XfbVox2cLCouwP+mH3JA3dXpyWBllo3SlRv4hxxNwAI0YccDyuiIqjlOr1ZoDFwtCR5uj+oy5cP6kTrm9T82ESW6+zT2HceWYBe7r6Mz5KRVRqw7tgKWG+Rrt1foJh/m/wMQk8jy1wS+cuZUbLfUxMJXuIJZoIBM6+dfhxqAy5ismA8cGEW/jeMmLDqJoiBEV9r2goqadhzjA4kiRz6fQWVc5HbmiLYD8jtp+Pe6f1sgxGAWkSU0aNye7xcLmBE=","ak.pv":"602","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="145036" data-created="1693378851" data-updated="1726179573" data-content-type="detail" data-language="en" data-page-type="topic" class="site-nokia" data-swiftype-name="search-body" data-swiftype-type="text"> <!-- 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="mega-menu layout-container"> <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"> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo.svg" alt="Home" /> </a> </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"> <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="/networks/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="/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">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&#039; 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="/networks/autonomous-networks/" data-drupal-link-system-path="node/125981">Autonomous networks</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/core-networks/" data-drupal-link-system-path="node/107186">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="/networks/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/network-as-code/">Network as Code</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/optical-networks/" data-drupal-link-system-path="node/106851">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="/networks/security-portfolio/" 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="/networks/automation/">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/" data-drupal-link-system-path="node/141396">Model-driven management</a> </li> </ul> <ul class="dropdown-submenus level--2"> <li> <a href="/networks/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="/thought-leadership/">Thought leadership</a> </div> <div class="level--1--link"> <a href="https://www.bell-labs.com/">Nokia Bell Labs</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="/innovation/innovate-with-nokia/">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="/networks/opensource/">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&#039;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="https://www.nokia.com/about-us/">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</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"> <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="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. &nbsp;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"> <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-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" 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> </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--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 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 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="/networks/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="/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">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="/networks/autonomous-networks/" data-drupal-link-system-path="node/125981">Autonomous networks</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/core-networks/" data-drupal-link-system-path="node/107186">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="/networks/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/network-as-code/">Network as Code</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/optical-networks/" data-drupal-link-system-path="node/106851">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="/networks/security-portfolio/" 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="/networks/automation/">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/" data-drupal-link-system-path="node/141396">Model-driven management</a></li> </ul> <ul class="level--2" data-level="2"> <li><a href="/networks/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="/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="https://www.bell-labs.com/">Nokia Bell Labs</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="/innovation/innovate-with-nokia/">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="/networks/opensource/">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="https://www.nokia.com/about-us/">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</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"> <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="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> </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><a href="/networks/ip-networks/">IP networks</a></li> <li>Segment routing</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> <li><a href="/networks/ip-networks/"> IP networks</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">Segment routing</div></a></li> </ol> </div> <article> <div> <div class="layout layout--onecol"> <div class="layout__region layout__region--content"> <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="1166246"> <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 text-white "> <h1 class="m2-intro__title "> Segment routing </h1> <div class="m2-intro__body"> <p>Resilient, scalable and simplified packet transport.</p> </div> </div> </div> </div> </div> </div> </div> <div class="m2-intro__media-container gradient-default go-dark-blue"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-08/segment-routing-header.jpg?height=414&amp;width=414&amp;resize=1"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-08/segment-routing-header.jpg?height=300&amp;width=767&amp;resize=1"> <source media="(max-width: 1365px)" srcset="/sites/default/files/2023-08/segment-routing-header.jpg?height=400&amp;width=1365&amp;resize=1"> <img src="/sites/default/files/2023-08/segment-routing-header.jpg?height=600&amp;width=1920&amp;resize=1" alt="segment-routing-header"> </picture> </div> </div> </div> </div> <div class="main-content-region"> <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="nr c0--col-two c0--c3-in--second"> <div class="nc-8"> <div class="anchor-wrap"><div id="what-is-segment-routing?" data-anchor-visibility="1" data-anchor-title="What is segment routing?" class="offset-anchor"></div></div> <div class="st-none sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <h2 class="h48"> What is segment routing? </h2> <div class="simple-text__body"><p>Segment routing is a packet steering technology that offers a highly scalable approach for establishing predefined forwarding paths in the IP network while simplifying the control plane. Segment routing offers benefits to shortest path forwarding by improving fault coverage and enhances the traffic engineering of paths to meet specific constraints such as available bandwidth, latency, protection or physical diversity.  <br /><br />Segment routing steers packets by encoding them, at ingress, with Segment Identifiers (SIDs) that contain the packet-processing instructions for each intermediate and destination router. This greatly reduces the need for a control plane to instantiate and maintain path state in the network, which simplifies network operations and reduces network resource requirements. </p> </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="#what-is-segment-routing?" title="What is segment routing?">What is segment routing?</a></li> <li><a href="#benefits" title="What are the benefits of segment routing?">What are the benefits of segment routing?</a></li> <li><a href="#segmentrouting" title="Why Nokia for segment routing?">Why Nokia for segment routing?</a></li> <li><a href="#principal" title="What are the principal capabilities of segment routing ?">What are the principal capabilities of segment routing ?</a></li> <li><a href="#hear-from-experts" title="Hear more from our experts">Hear more from our experts</a></li> <li><a href="#products-and-solutions" title="Related solutions and products">Related solutions and products</a></li> <li><a href="#learn-more-about-segment" title="Learn more about segment routing ">Learn more about segment routing </a></li> <li><a href="#latest-news" title="Latest news">Latest news</a></li> </ul> </div> </div> </div> </div> <div class="anchor-wrap"><div id="benefits" data-anchor-visibility="1" data-anchor-title="What are the benefits of segment routing?" 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"> What are the benefits of segment routing? </h2> </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-width: 2px; } .iconcls-2 { fill: currentColor; fill-rule: evenodd; stroke-width: 0px; } </style> </defs> <path class="iconcls-2" d="m29.33,20.87c0,2-1.6,3.61-3.61,3.61s-3.61-1.6-3.61-3.61,1.6-3.61,3.61-3.61,3.61,1.6,3.61,3.61"/> <path class="iconcls-1" d="m10.58,29.77c0,1.6-1.28,2.8-2.8,2.8s-2.8-1.28-2.8-2.8c0-1.6,1.28-2.8,2.8-2.8s2.8,1.2,2.8,2.8Zm32.46,5.69c0,1.6-1.28,2.8-2.8,2.8-1.6,0-2.8-1.28-2.8-2.8h0c0-1.6,1.28-2.8,2.8-2.8,1.52-.08,2.8,1.2,2.8,2.8h0Zm-17.31,8.74c0,1.6-1.28,2.8-2.8,2.8s-2.8-1.28-2.8-2.8,1.28-2.8,2.8-2.8,2.8,1.2,2.8,2.8ZM43.03,7.41c0,1.6-1.28,2.8-2.8,2.8-1.6,0-2.8-1.28-2.8-2.8,0-1.6,1.28-2.8,2.8-2.8s2.8,1.28,2.8,2.8h0Z"/> <path class="iconcls-1" d="m38.14,9.41l-12.42,11.46,12.42,12.66M16.59,6.29l9.14,14.59-15.95,6.97m13.38,13.46l2.56-20.52"/> <circle class="iconcls-1" cx="15.14" cy="3.8" r="2.8"/> </svg> </div> <h4 class="h24"> Make traffic engineering more scalable </h4> <div class="simple-text__body"><p>Segment routing offers a highly scalable approach for establishing predefined, deterministic forwarding paths in the IP network. As the paths are defined at ingress, there is a significant reduction in soft state held in the network and in signaling between network elements. This reduces network resource requirements such as memory, bandwidth and processing capacity.</p> </div> </div> </div> <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> <h4 class="h24"> Automate and simplify operations </h4> <div class="simple-text__body"><p>Segment routing was designed with automation in mind and supports auto-configuration, intent-based networking and <a href="/networks/model-driven-management/" data-entity-type="node" data-entity-uuid="eaba90cd-c9fc-4a3b-bcd1-209c0d070c1d" data-entity-substitution="canonical">model-driven management (MDM)</a> operations. It simplifies network operations by avoiding the need for additional signaling protocols (e.g., LDP, RSVP-TE). Segment routing also provides a clear and seamless evolutionary path from LDP/RSVP-TE.</p> </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"> <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; } .iconcls-2 { fill: currentColor; stroke-width: 0px; } </style> </defs> <path class="iconcls-1" 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="iconcls-1" 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="iconcls-2" 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="iconcls-1" x1="24" y1="32" x2="24" y2="38"/> </g> </svg> </div> <h4 class="h24"> Improving reliability and resilience </h4> <div class="simple-text__body"><p>Segment routing supports local and end-to-end path protection and restoration. It can be applied to pre-calculate backup paths that rapidly protect against the failure of the primary path. In ring and mesh topologies, segment routing improves reliability, resilience and service availability.</p> </div> </div> </div> <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; } .iconcls-2 { fill: currentColor; stroke-width: 0px; } </style> </defs> <circle class="iconcls-1" cx="21.06" cy="18.96" r="17.96"/> <path class="iconcls-1" d="m32.75,32.59l12.35,14.41"/> <path class="iconcls-2" d="m22.31,31h-1.83v-2.66c-.87,0-1.54-.09-2.22-.28-.67-.18-1.25-.37-1.73-.55-.48-.18-.87-.37-1.16-.55-.29-.18-.48-.28-.58-.37l1.06-1.74c.19.09.48.28.77.46.29.18.67.28,1.06.46s.87.28,1.25.37c.48.09.96.18,1.54.18v-6.79l-.96-.28c-.58-.18-1.16-.46-1.64-.73s-.96-.55-1.35-.92-.67-.83-.87-1.29c-.19-.46-.29-1.1-.29-1.74,0-1.38.48-2.48,1.35-3.4s2.12-1.47,3.76-1.65v-2.48h1.83v2.48c1.06.09,1.93.28,2.7.55s1.44.55,1.93.83l-.96,1.74c-.29-.18-.77-.37-1.44-.64-.58-.28-1.35-.46-2.31-.55v6.43l.77.28c1.44.46,2.5,1.1,3.27,1.84s1.06,1.74,1.06,3.03c0,1.38-.39,2.57-1.25,3.49-.87.92-2.12,1.47-3.85,1.65v2.85h.1Zm-4.62-16.52c0,.37,0,.73.1,1.01.1.28.19.55.39.83.19.28.48.46.87.64s.77.37,1.35.55v-5.87c-.87.18-1.54.46-2.02.92-.48.55-.67,1.19-.67,1.93Zm7.32,8.81c0-.73-.19-1.29-.58-1.84s-1.06-.92-2.12-1.29v6.24c1.06-.18,1.73-.55,2.12-1.1.29-.64.58-1.29.58-2.02Z"/> </svg> </div> <h4 class="h24"> Create new revenue streams </h4> <div class="simple-text__body"><p>In supporting high-scale, efficient, resilient and automated traffic-engineered paths, segment routing can form an infrastructure for a wealth of network services that could unlock new revenue. For example, segment routing can support seamless end-to-end transport network slicing from the data center to the access network.</p> </div> </div> </div> </div> <div class="nc-4"> <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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=246&amp;width=437" alt="Segment routing in SR OS" width="437" height="246"> </picture> </div> <p class="c1-reference__label">Application note</p> <a class="-" href="https://onestore.nokia.com/asset/213966" > <h4 class="c1-reference__title title-arrow h24"> Segment Routing IPv6 (SRv6) on Nokia routing platforms </h4> </a> </article> </div> </div> </div> </div> </div> <div class="nr c0--col-three"> <div class="nc-4"> <div class="st-small sb-none 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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-02/segment-routing-in-sr-os_resrcid34865_gettyimages-946055078-hgh.jpg?height=246&amp;width=437" alt="Segment routing in SR OS" width="437" height="246"> </picture> </div> <a class="-" href="https://onestore.nokia.com/asset/210750" > <h4 class="c1-reference__title title-arrow h24"> Segment routing on Nokia routing platforms: Tools and applications for IP network architects. </h4> </a> </article> </div> </div> </div> </div> <div class="nc-4"> <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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="49741" aria-label="Video (opens overlay)" data-video-title="Nokia helps LigaT disrupt the telecom market in Portugal" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-03/videoframe_4072.png?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-03/videoframe_4072.png?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2024-03/videoframe_4072.png?height=246&amp;width=437" alt="image" width="437" height="246"> </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> <h4 class="c1-reference__title h24"> Nokia helps LigaT disrupt the telecom market in Portugal </h4> <div class="media-video-overlay media-video-overlay--mid-49741" 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://www.youtube.com/watch?v=VTfaQrBwWZg" title="Watch Nokia helps LigaT disrupt the telecom market in Portugal on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/VTfaQrBwWZg/sddefault.webp, //i.ytimg.com/vi_webp/VTfaQrBwWZg/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/VTfaQrBwWZg/sddefault.jpg, //i.ytimg.com/vi/VTfaQrBwWZg/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/VTfaQrBwWZg/sddefault.jpg" alt="Watch Nokia helps LigaT disrupt the telecom market in Portugal 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//www.youtube.com/watch%3Fv%3DVTfaQrBwWZg&amp;max_width=800&amp;max_height=600&amp;hash=AwpWNL3hpftTGwH1nG0eDHeP7QpnZtyYjxcy86Wofgs&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;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="Nokia helps LigaT disrupt the telecom market in Portugal"></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> </article> </div> </div> </div> </div> <div class="nc-4"> <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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="52143" aria-label="Video" data-video-title="du’s experience with segment routing" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-08/du-expierence-with-segment-routing-16-9.png?height=&amp;width=" width="" height=""> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-08/du-expierence-with-segment-routing-16-9.png?height=&amp;width=" width="" height=""> <img loading="lazy" src="/sites/default/files/2024-08/du-expierence-with-segment-routing-16-9.png?height=246&amp;width=437" alt="Fatima AlDaghar" width="437" height="246"> </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> <h4 class="c1-reference__title h24"> du’s experience with segment routing </h4> <div class="media-video-overlay media-video-overlay--mid-52143" 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://www.youtube.com/watch?v=NwLqarHg3Qw" title="Watch du’s experience with segment routing on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/NwLqarHg3Qw/sddefault.webp, //i.ytimg.com/vi_webp/NwLqarHg3Qw/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/NwLqarHg3Qw/sddefault.jpg, //i.ytimg.com/vi/NwLqarHg3Qw/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/NwLqarHg3Qw/sddefault.jpg" alt="Watch du’s experience with segment routing 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//www.youtube.com/watch%3Fv%3DNwLqarHg3Qw&amp;max_width=800&amp;max_height=600&amp;hash=HtPtwAkva37xAIQXDOc1SDHjTs6oL3tVQEDTJEl2uFs&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;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="du’s experience with segment routing"></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> </article> </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 page-width" > <div class="container"> <div class="nr c0--col-two"> <div class="nc-8"> <div class="anchor-wrap"><div id="segmentrouting" data-anchor-visibility="1" data-anchor-title="Why Nokia for segment routing?" 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"> Why Nokia for segment routing? </h2> <div class="simple-text__body"><p>Nokia supports a comprehensive segment routing capability, including both segment routing with MPLS  (SR-MPLS), and with IPv6 (SRv6), forwarding planes. SR-MPLS combines all the proven attributes of MPLS protocols into a single framework, it represents a field-hardened choice for many IPv4 and IPv6 transport networks.  SRv6 is gaining strong traction, particularly in edge data center and new IPv6 backbone use cases, it provides a powerful framework for programmability of IPv6 networks that takes advantage of the large IPv6 address space. Compressed micro SIDs are used to reduce large SRv6 header sizes and associated resource usage. </p> <p><br />Nokia’s implementation of SR-MPLS and SRv6 builds on our extensive global deployment experience in high scale IP networks. The application note: <a href="https://onestore.nokia.com/asset/210750?_ga=2.181387815.1444968843.1697916217-1103699126.1693410292">Segment routing on Nokia routing platforms</a> describes how Nokia efficiently supports scalable and resilient services with highly automated operations on a segment routing infrastructure  with an SR-MPLS or SRv6 forwarding plane.   Seamless network evolution is supported by our innovative interworking gateway capabilities, allowing your network evolution to be driven by business goals, unconstrained by technology. <br /> </p> </div> </div> </div> <div class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__body"><p>Paths for segment routes can be conveyed to a headend router in various ways, such as model driven CLI, NETCONF/YANG, Border Gateway Protocol (BGP) updates or from a Path Computation Element (PCE). A PCE provides automated global traffic optimization for highly efficient network operation combined with optimal Service Level Agreement (SLA) adherence. The application note: <a href="https://onestore.nokia.com/asset/210433">Path control and optimization in segment routed networks</a> describes how Nokia’s <a href="/networks/ip-networks/network-services-platform/">Network Services Platform</a>  (NSP) acts as a PCE to delivers automated path control and optimization. As a comprehensive automation platform, NSP also delivers a suite of ready-to-use applications that help network operations teams deploy a rich set of use cases for network management, orchestration and control.</p> </div> </div> </div> </div> <div class="nc-4"> <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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-02/720x428-darkblue-01.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-02/720x428-darkblue-01.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-02/720x428-darkblue-01.jpg?height=246&amp;width=437" alt="Image" width="437" height="246"> </picture> </div> <p class="c1-reference__label">Application note</p> <a class="-" href="https://onestore.nokia.com/asset/210433" > <h4 class="c1-reference__title title-arrow h24"> Path control and optimization in segment routed networks </h4> </a> </article> </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 page-width" > <div class="container"> <div class="nr c0--col-two"> <div class="nc-8"> <div class="anchor-wrap"><div id="principal" data-anchor-visibility="1" data-anchor-title="What are the principal capabilities of segment routing ?" 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 are the principal capabilities of segment routing ? </h2> <div class="simple-text__body"><p>Operators can incrementally add the segment routing features they need to an existing LDP/RSVP network with the options they’re comfortable with. This eases the migration to segment routing and enables them to gain operational experience before introducing more powerful features.</p> </div> </div> </div> <div class="paragraph paragraph--type--c5-media paragraph--view-mode--default"> <div class="c5-media lightgallery"> <a href="/sites/default/files/2023-08/segment-routing-topic-page-graphic-1.png"> <picture class="media ar ar_16_9 c5_media_66"> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-08/segment-routing-topic-page-graphic-1.png?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-08/segment-routing-topic-page-graphic-1.png?height=413&amp;width=735" width="735" height="413"> <img fetchpriority=high src="/sites/default/files/2023-08/segment-routing-topic-page-graphic-1.png?height=510&amp;width=907" alt="Principal applications of segment routing" width="907" height="510"> </picture> </a> </div> <div class="media-video-overlay media-video-overlay--mid-" 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"> </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 class="st-small sb-small paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <div class="simple-text__body"><p> </p> <p>The graphic above shows an incremental approach to deploying the principal applications of segment routing.</p> <p><strong>Shortest path routing</strong> is a good starting point for introducing segment routing as a replacement for LDP to enable better protection coverage. It only requires control plane extensions for IS-IS or OSPF. Global segment routing label blocks and node and link adjacencies can be configured for each router, after which SR-IS-IS or SR-OSPF tunnels can be used by IP services.  </p> <p><strong>Constraint-based forwarding</strong> could be a logical next step because it enables more granular programming of the network, for example, to engineer low-latency paths for delay-sensitive applications, or to ensure that traffic flows are kept within a controlled set of links (data sovereignty). </p> <p>By augmenting the segment routing shortest path with an IGP flexible algorithm (Flex-Algo), it becomes possible to add topology constraints and alternative link metrics to the shortest path calculation. This application invokes segment routing traffic engineering capabilities (SR Policy and Flex-Algo) and programmatic control, for example, with BGP and BGP-Link State (BGP-LS).</p> <p>SR-TE capabilities can be further extended with BGP and BGP-LS to include BGP prefix and peer segments, and steer traffic to a particular egress point (i.e., egress peer engineering).</p> <p><strong>Path diversity and end-to-end protection</strong> enable highly available premium services as a more scalable alternative for MPLS fast reroute based on RSVP-TE. SR-TE LSPs with diverse primary and secondary paths are enabled by including Shared Risk Link Group (SRLG) constraints for the candidate paths.</p> <p>Seamless Bidirectional Forwarding Detection (BFD) is used to quickly detect failures, including silent failures that are not visible to the control plane, and to trigger a failover to the secondary path if the primary path fails. </p> <p><strong>Peering engineering</strong> enables a headend router to steer traffic across a specific downstream peering link between two IGP domains. This is useful for applications such as traffic optimization, resiliency or load balancing across links that interconnect domains.</p> </div> </div> </div> </div> <div class="nc-4"> </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 page-width" > <div class="container"> <div class="nr c0--col-two"> <div class="nc-8"> <div class="anchor-wrap"><div id="hear-from-experts" data-anchor-visibility="1" data-anchor-title="Hear more from our experts" class="offset-anchor"></div></div> <div class="st-small sb-none paragraph paragraph--type--c4-simple-text paragraph--view-mode--default"> <div class="c06 simple-text "> <h2 class="h48"> Hear more from our experts </h2> </div> </div> </div> <div class="nc-4"> </div> </div> <div class="nr c0--col-four"> <div class="nc-3"> <div class="st-none sb-med 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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="51746" aria-label="Video" data-video-title="The emerging role of SRv6 in network deployments" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-05/emerging-role.jpg?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-05/emerging-role.jpg?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2024-05/emerging-role.jpg?height=180&amp;width=320" alt="The emerging role of SRv6 in network deployments" width="320" height="180"> </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> <p class="c1-reference__label">Video</p> <h4 class="c1-reference__title h24"> The emerging role of SRv6 in network deployments </h4> <div class="media-video-overlay media-video-overlay--mid-51746" 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://www.youtube.com/watch?v=I_qzYkjHTvQ" title="Watch The emerging role of SRv6 in network deployments on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/I_qzYkjHTvQ/sddefault.webp, //i.ytimg.com/vi_webp/I_qzYkjHTvQ/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/I_qzYkjHTvQ/sddefault.jpg, //i.ytimg.com/vi/I_qzYkjHTvQ/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/I_qzYkjHTvQ/sddefault.jpg" alt="Watch The emerging role of SRv6 in network deployments 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//www.youtube.com/watch%3Fv%3DI_qzYkjHTvQ&amp;max_width=800&amp;max_height=600&amp;hash=0toPvIvl-ST0X485yJtq8IJXaGbjSHCBCutGHC1__o4&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;oembed_lazyload_hash=DBspi7T5XfHYKV7W_ifHo0G03X0wGd0DhVlJUf9_YPA" id="oembed-iframe--2" width="800" height="600" class="media-oembed-content oembed-lazyload__iframe oembed-lazyload__iframe--hidden" title="The emerging role of SRv6 in network deployments"></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> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-med 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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="51778" aria-label="Video" data-video-title="Segment Routing for Cloud RAN" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2024-05/segment-routing-for-cloud-ran-16-9.jpg?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2024-05/segment-routing-for-cloud-ran-16-9.jpg?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2024-05/segment-routing-for-cloud-ran-16-9.jpg?height=180&amp;width=320" alt="Segment Routing for Cloud RAN" width="320" height="180"> </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> <p class="c1-reference__label">Video</p> <h4 class="c1-reference__title h24"> Segment Routing for Cloud RAN </h4> <div class="media-video-overlay media-video-overlay--mid-51778" 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/iSCGl01IdCY" title="Watch Segment Routing for Cloud RAN on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/iSCGl01IdCY/sddefault.webp, //i.ytimg.com/vi_webp/iSCGl01IdCY/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/iSCGl01IdCY/sddefault.jpg, //i.ytimg.com/vi/iSCGl01IdCY/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/iSCGl01IdCY/sddefault.jpg" alt="Watch Segment Routing for Cloud RAN 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/iSCGl01IdCY&amp;max_width=800&amp;max_height=600&amp;hash=WDZdilEsA8dxcFQYy4VWZ8sxOLl8QA8v4BVCblZgFs8&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;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="Segment Routing for Cloud RAN"></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> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-med 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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2018-11/200x100-blue-01_84.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2018-11/200x100-blue-01_84.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2018-11/200x100-blue-01_84.jpg?height=180&amp;width=320" alt="White paper" width="320" height="180"> </picture> </div> <p class="c1-reference__label">White paper</p> <a class="-" href="https://onestore.nokia.com/asset/186949" > <h4 class="c1-reference__title title-arrow h24"> Nokia White paper: Segment Routing and Path Computation Element </h4> </a> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-med 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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2018-11/200x100-blue-01_83.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2018-11/200x100-blue-01_83.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2018-11/200x100-blue-01_83.jpg?height=180&amp;width=320" alt="White paper" width="320" height="180"> </picture> </div> <p class="c1-reference__label">White paper</p> <a class="-" href="https://onestore.nokia.com/asset/185758" > <h4 class="c1-reference__title title-arrow h24"> Nokia White paper: Fast reroute with segment routing </h4> </a> </article> </div> </div> </div> </div> </div> <div class="nr c0--col-four"> <div class="nc-3"> <div class="st-none sb-med 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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="43911" aria-label="Video" data-video-title="Segment Routing for DCI" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-08/5g-network-slicing-image.jpg?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-08/5g-network-slicing-image.jpg?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-08/5g-network-slicing-image.jpg?height=180&amp;width=320" alt="Segment Routing for DCI" width="320" height="180"> </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> <p class="c1-reference__label">Video</p> <h4 class="c1-reference__title h24"> Segment Routing for DCI </h4> <div class="media-video-overlay media-video-overlay--mid-43911" 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/sFkZjBQqZ9k?si=KfnSEpgg2LQ-c7by" title="Watch Segment Routing for DCI on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/sFkZjBQqZ9k/sddefault.webp, //i.ytimg.com/vi_webp/sFkZjBQqZ9k/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/sFkZjBQqZ9k/sddefault.jpg, //i.ytimg.com/vi/sFkZjBQqZ9k/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/sFkZjBQqZ9k/sddefault.jpg" alt="Watch Segment Routing for DCI 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/sFkZjBQqZ9k%3Fsi%3DKfnSEpgg2LQ-c7by&amp;max_width=800&amp;max_height=600&amp;hash=D0hMiMpA_xjxskHBZePASNTT_N3YYKvpmD0u5rFGdrA&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;oembed_lazyload_hash=DBspi7T5XfHYKV7W_ifHo0G03X0wGd0DhVlJUf9_YPA" id="oembed-iframe--2" width="800" height="600" class="media-oembed-content oembed-lazyload__iframe oembed-lazyload__iframe--hidden" title="Segment Routing for DCI"></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> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-none 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 "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2021-10/segment%20routing%20blog%281%29.jpg?height=215&amp;width=382" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2021-10/segment%20routing%20blog%281%29.jpg?height=413&amp;width=735" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2021-10/segment%20routing%20blog%281%29.jpg?height=180&amp;width=320" alt="How to build better IP services with segment routing" width="320" height="180"> </picture> </div> <p class="c1-reference__label">Blog</p> <a class="-" href="/blog/how-to-build-better-ip-services-with-segment-routing/" > <h4 class="c1-reference__title title-arrow h24"> How to build better IP services with segment routing </h4> </a> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-none 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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="51747" aria-label="Video" data-video-title="Intent-based multi-domain networking demonstration" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-12/intent-based-multi-domain.png?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-12/intent-based-multi-domain.png?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-12/intent-based-multi-domain.png?height=180&amp;width=320" alt="Intent-based multi-domain networking demonstration" width="320" height="180"> </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> <p class="c1-reference__label">Video</p> <h4 class="c1-reference__title h24"> Intent-based multi-domain networking demonstration </h4> <div class="media-video-overlay media-video-overlay--mid-51747" 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://www.youtube.com/watch?v=Xe7axT2_s3k" title="Watch Intent-based multi-domain networking demonstration on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/Xe7axT2_s3k/sddefault.webp, //i.ytimg.com/vi_webp/Xe7axT2_s3k/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/Xe7axT2_s3k/sddefault.jpg, //i.ytimg.com/vi/Xe7axT2_s3k/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/Xe7axT2_s3k/sddefault.jpg" alt="Watch Intent-based multi-domain networking demonstration 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//www.youtube.com/watch%3Fv%3DXe7axT2_s3k&amp;max_width=800&amp;max_height=600&amp;hash=LXAVWycIrxJFAgEo_euf7T8W_5q00HIS1k-8JGKkNvc&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;oembed_lazyload_hash=DBspi7T5XfHYKV7W_ifHo0G03X0wGd0DhVlJUf9_YPA" id="oembed-iframe--3" width="800" height="600" class="media-oembed-content oembed-lazyload__iframe oembed-lazyload__iframe--hidden" title="Intent-based multi-domain networking demonstration"></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> </article> </div> </div> </div> </div> <div class="nc-3"> <div class="st-none sb-none 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 "> <div class="video media-video c1-reference--media-container-inr"> <a href="#" tabindex="0" role="button" data-video-service="remote" data-media-video-id="43906" aria-label="Video" data-video-title="SRv6 behavior optimizations" class="media-video-container"> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-08/463173417-low.jpg?height=&amp;width=" width="382" height="215"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-08/463173417-low.jpg?height=&amp;width=" width="735" height="413"> <img loading="lazy" src="/sites/default/files/2023-08/463173417-low.jpg?height=180&amp;width=320" alt="SRv6 Behavior Optimizations" width="320" height="180"> </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> <p class="c1-reference__label">Video</p> <h4 class="c1-reference__title h24"> SRv6 behavior optimizations </h4> <div class="media-video-overlay media-video-overlay--mid-43906" 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/t3QLkIYbDqU?si=I22zXcU2MhSpVhjO" title="Watch SRv6 Behavior Optimizations on YouTube."><picture class="oembed-lazyload__picture"><source srcset="//i.ytimg.com/vi_webp/t3QLkIYbDqU/sddefault.webp, //i.ytimg.com/vi_webp/t3QLkIYbDqU/maxresdefault.webp 2x" type="image/webp"><source srcset="//i.ytimg.com/vi/t3QLkIYbDqU/sddefault.jpg, //i.ytimg.com/vi/t3QLkIYbDqU/maxresdefault.jpg 2x" type="image/jpeg"><img loading="lazy" class="oembed-lazyload__img" width="800" height="600" src="//i.ytimg.com/vi/t3QLkIYbDqU/sddefault.jpg" alt="Watch SRv6 Behavior Optimizations 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/t3QLkIYbDqU%3Fsi%3DI22zXcU2MhSpVhjO&amp;max_width=800&amp;max_height=600&amp;hash=WJPCbzfD3_x0EQN1d76PbSwdxAJxmqL-FmQeyYi_prM&amp;oembed_lazyload=1&amp;provider=YouTube&amp;options%5Bautoplay%5D=&amp;options%5Bmodestbranding%5D=&amp;options%5Benablejsapi%5D=1&amp;options%5Borigin%5D=1&amp;options%5Bhideinfo%5D=&amp;options%5Brel%5D=1&amp;oembed_lazyload_hash=DBspi7T5XfHYKV7W_ifHo0G03X0wGd0DhVlJUf9_YPA" id="oembed-iframe--4" width="800" height="600" class="media-oembed-content oembed-lazyload__iframe oembed-lazyload__iframe--hidden" title="SRv6 Behavior Optimizations"></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> </article> </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 page-width" > <div class="container"> <div class="anchor-wrap"><div id="products-and-solutions" data-anchor-visibility="1" data-anchor-title="Related solutions and products" 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-1166181 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">Product</p> <a href="https://www.nokia.com/networks/ip-networks/7250-interconnect-router/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> 7250 Interconnect Router </h3> </a> </div> <p class="c23-component__description"> Scale up cell sites, access networks, and aggregation networks. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Product</p> <a href="https://www.nokia.com/data-center-networks/data-center-fabric/7250-interconnect-router/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> 7250 Interconnect Router for data center fabrics </h3> </a> </div> <p class="c23-component__description"> Deploy high-density, high-capacity data center switches for an open, leaf-spine architecture. </p> </article> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Product</p> <a href="https://www.nokia.com/networks/ip-networks/7750-service-router/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> 7750 Service Router </h3> </a> </div> <p class="c23-component__description"> Leads the industry in IP edge and core. </p> </article> </div> <div class="nr"> <article class="c23-component-item nc-4 "> <p class="c23-component__label">Product</p> <a href="https://www.nokia.com/networks/ip-networks/network-services-platform/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Network Services Platform </h3> </a> </div> <p class="c23-component__description"> Automate, manage and control IP and optical networks </p> </article> </div> <div class="view-more-container"></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-gray-very-light page-width" > <div class="container"> <div class="anchor-wrap"><div id="learn-more-about-segment" data-anchor-visibility="1" data-anchor-title="Learn more about segment routing " 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-1166201 c0-container"> <div class="container"> <h2>Learn more about segment routing </h2> <div class="nr"> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-09/interview-tricks-thumbnail-1_0.png?height=180&amp;width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-09/interview-tricks-thumbnail-1_0.png?height=377&amp;width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-09/interview-tricks-thumbnail-1_0.png?height=774&amp;width=1376" alt="MPLS SDN Interoperability Test 2023" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Webpage</p> <a href="https://eantc.de/events/mpls-sdn-interop-2023/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> MPLS SDN Interoperability Test 2023 </h3> </a> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2022-03/traffic-on-bridge_GettyImages-1166773908_942x381.jpg?height=180&amp;width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2022-03/traffic-on-bridge_GettyImages-1166773908_942x381.jpg?height=377&amp;width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2022-03/traffic-on-bridge_GettyImages-1166773908_942x381.jpg?height=774&amp;width=1376" alt="Building IP networks for today’s internet" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Blog</p> <a href="https://www.nokia.com/blog/building-ip-networks-for-todays-internet/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Building IP networks for today’s internet </h3> </a> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2023-02/nokia-src-logo-rgb-colour_18.png?height=180&amp;width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2023-02/nokia-src-logo-rgb-colour_18.png?height=377&amp;width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2023-02/nokia-src-logo-rgb-colour_18.png?height=774&amp;width=1376" alt="Nokia Segment Routing course" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Course</p> <a href="https://www.nokia.com/networks/training/src/courses/segment-routing/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia Segment Routing course </h3> </a> </div> </article> <article class="c23-component-item nc-3 "> <div class="c23-component__image-container "> <picture> <source media="(max-width: 414px)" srcset="/sites/default/files/2021-12/ResrcID29234_GettyImages-560260725-hgh.jpg?height=180&amp;width=320" width="320" height="180"> <source media="(max-width: 767px)" srcset="/sites/default/files/2021-12/ResrcID29234_GettyImages-560260725-hgh.jpg?height=377&amp;width=671" width="671" height="377"> <img loading="lazy" src="/sites/default/files/2021-12/ResrcID29234_GettyImages-560260725-hgh.jpg?height=774&amp;width=1376" alt="IP networks" width="1376" height="774"> </picture> </div> <p class="c23-component__label">Portfolio</p> <a href="https://www.nokia.com/networks/ip-networks/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> IP networks </h3> </a> </div> </article> </div> <div class="view-more-container"></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-gray-very-light page-width" > <div class="container"> <div class="anchor-wrap"><div id="latest-news" data-anchor-visibility="1" data-anchor-title="Latest news" 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--carousel c23-component-pid-1238876 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">28 Mar 2023</p> <a href="https://www.nokia.com/about-us/news/releases/2023/03/28/nokia-enhances-docomos-nationwide-network-with-upgraded-ip-core-and-transport-network-slicing-for-5g-services/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia enhances DOCOMO’s nationwide network with upgraded IP core and transport network slicing for 5G services </h3> </a> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">6 Mar 2023</p> <a href="https://www.nokia.com/about-us/news/releases/2023/03/06/nokia-and-singtel-successfully-trial-5g-ip-transport-end-to-end-network-slicing/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia and Singtel successfully trial 5G IP transport end-to-end network slicing </h3> </a> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">13 Oct 2022</p> <a href="https://www.nokia.com/about-us/news/releases/2022/10/13/nokia-partners-with-esnet-to-launch-terabit-next-generation-ip-network-with-400-gbps-access/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia partners with ESnet to launch terabit next-generation IP network with 400 Gbps access </h3> </a> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">10 Jan 2022</p> <a href="https://www.nokia.com/about-us/news/releases/2022/01/10/nokia-selected-by-capital-online-to-upgrade-its-ip-backbone-network/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia selected by Capital Online to upgrade its IP backbone network </h3> </a> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">28 Apr 2021</p> <a href="https://www.nokia.com/about-us/news/releases/2021/04/28/nokia-selected-by-telefonica-spain-to-complete-its-ip-network-transformation/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Nokia selected by Telefonica Spain to complete its IP network transformation </h3> </a> </div> </article> <article class="c23-component-item "> <p class="c23-component__label">7 Oct 2020</p> <a href="https://www.nokia.com/about-us/news/releases/2020/10/07/equinix-adds-nokia-ip-to-its-global-interconnect-network-to-support-customers-moving-to-5g/"> <div class="c23-component__title-wrapper"> <h3 class="c23-component__title h24 title-arrow"> Equinix adds Nokia IP to its global interconnect network to support customers moving to 5G </h3> </a> </div> </article> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </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?</h2> <div class="m17-cta__cta-wrapper"> <div class="m17-cta__cta"> <a class="btn btn-blue c-btn-color" href="#form-popup-marketo">Connect with sales</a> </div> </div> </div> </div> </div> <div class="nc-6"> </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> </div> </div> </div> </div> </div> </article> </div> </main> <footer id="nokia-global-footer" class="nokia-footer"> <div class="container"> <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"> <img fetchpriority="high" width="140" height="33" src="/themes/custom/onenokia_reskin/logo.svg" alt="Home" /> </a> </div> </div> </div> <hr class="divider visible-desktop" /> <div class="nokia-footer--second nr"> <div id="block-nokiareskinmynokia" class="nc-4 nokia-footer--mynokia"> <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 id="block-footerreskinmainnavigation" class="nc-7"> <ul class="nokia-footer__menu-global nr"> <li> <a href="/about-us/careers/" data-linktype="footer" data-drupal-link-system-path="node/3371">Careers</a> </li> <li> <a href="/about-us/newsroom/" data-linktype="footer" data-drupal-link-system-path="node/148491">Newsroom</a> </li> <li> <a href="/about-us/investors/" data-linktype="footer" data-drupal-link-system-path="node/132091">Investor relations</a> </li> <li> <a href="/about-us/sustainability/" data-linktype="footer">Sustainability</a> </li> <li> <a href="/networks/experience-centers/" data-linktype="footer">Experience centers</a> </li> <li> <a href="/customer-success/" data-linktype="footer" data-drupal-link-system-path="node/106376">Customer success</a> </li> <li> <a href="/networks/training/" data-linktype="footer">Learning at Nokia</a> </li> </ul> </div> </div> <hr class="divider" /> <div class="nokia-footer--third nr"> <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 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"?> <!-- Generator: Adobe Illustrator 27.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <style type="text/css"> .st0{fill:#333333;} </style> <path id="Path_1063" class="st0" d="M16.2,6.7c-0.5,0-1,0.4-1,0.9s0.4,1,0.9,1c0.5,0,1-0.4,1-0.9c0,0,0,0,0,0 C17.1,7.1,16.7,6.7,16.2,6.7C16.2,6.7,16.2,6.7,16.2,6.7z M12,14.7c-1.5-0.1-2.7-1.4-2.6-2.9c0.1-1.4,1.2-2.5,2.6-2.6 c1.5,0.1,2.7,1.4,2.6,2.9C14.5,13.5,13.4,14.7,12,14.7z M12,7.8c-2.3,0.1-4.1,2-4,4.2c0,2.3,1.8,4.2,4,4.2c2.3-0.1,4.1-2,4-4.2 C16.1,9.7,14.3,7.8,12,7.8z M12,3.8c-1.1,0-2.1,0-3.2,0.1C5.9,4,4.4,5.6,4.2,8.6C4.2,9.5,4.2,9.7,4.2,12s0,2.5,0.1,3.4 c0.1,3,1.7,4.7,4.6,4.8c1.1,0.1,2.1,0.1,3.2,0.1c1.1,0,2.1,0,3.2-0.1c2.9-0.1,4.4-1.8,4.6-4.8c0.1-0.8,0.1-1.1,0.1-3.4 s0-2.5-0.1-3.4c-0.1-3-1.7-4.6-4.6-4.8C14.1,3.8,13.1,3.7,12,3.8z M12,5.3c1.1,0,2.1,0,3.2,0.1c2.2,0.1,3.1,1.2,3.2,3.4 c0.1,0.9,0.1,1.1,0.1,3.3s0,2.5-0.1,3.3c-0.1,2.2-1.1,3.3-3.2,3.4c-1.1,0.1-2.1,0.1-3.2,0.1c-1,0-2.1,0-3.1-0.1 c-2.2-0.1-3.1-1.2-3.2-3.4c-0.1-0.9-0.1-1.1-0.1-3.3s0-2.5,0.1-3.3c0.1-2.2,1.1-3.3,3.2-3.4C9.9,5.3,11,5.3,12,5.3z"/> </svg> </a> </li> <li> <a href="https://www.youtube.com/user/nokia"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <style type="text/css"> .st0{fill:#333333;} </style> <path id="Path_1071" class="st0" d="M21.9,6.3c0.3,1.9,0.5,3.8,0.5,5.7c0,1.9-0.1,3.8-0.5,5.7c-0.3,1-1,1.8-2,2.1 c-1.8,0.5-7.9,0.5-7.9,0.5s-6.1,0-7.9-0.5c-1-0.3-1.8-1.1-2-2.1c-0.3-1.9-0.5-3.8-0.5-5.7c0-1.9,0.1-3.8,0.5-5.7c0.3-1,1-1.8,2-2.1 C5.9,3.7,12,3.7,12,3.7s6.1,0,7.9,0.5C20.9,4.5,21.6,5.3,21.9,6.3z M9.9,15.6l6.2-3.6L9.9,8.4V15.6z"/> </svg> </a> </li> <li> <a href="https://twitter.com/nokia"> <?xml version="1.0" encoding="utf-8"?> <svg width="24" height="24" viewBox="0 0 1200 1227" fill="none" xmlns="http://www.w3.org/2000/svg"> <path d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" fill="#333"/> </svg> </a> </li> <li> <a href="https://www.facebook.com/nokia/"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <style type="text/css"> .st0{fill:#333333;} </style> <path id="Path_1072" class="st0" d="M13.9,5.7H17V2h-3.1c-2.4,0-4.4,2-4.4,4.4v1.9H7V12h2.5v10h3.8V12h3.1L17,8.2h-3.8V6.4 C13.3,6,13.5,5.7,13.9,5.7z"/> </svg> </a> </li> <li> <a href="https://www.linkedin.com/company/nokia"> <?xml version="1.0" encoding="utf-8"?> <!-- Generator: Adobe Illustrator 27.3.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 24 24" style="enable-background:new 0 0 24 24;" xml:space="preserve"> <style type="text/css"> .st0{fill-rule:evenodd;clip-rule:evenodd;fill:#333333;} </style> <path id="Path_1069" class="st0" d="M21.9,21.9h-4.1v-6.4c0-1.5,0-3.5-2.1-3.5c-2.1,0-2.5,1.7-2.5,3.4v6.5H9.1V8.7H13v1.8h0.1 c0.8-1.4,2.3-2.2,3.9-2.1c4.2,0,4.9,2.7,4.9,6.3L21.9,21.9z M4.5,6.9c-1.3,0-2.4-1.1-2.4-2.4c0-1.3,1.1-2.4,2.4-2.4 c1.3,0,2.4,1.1,2.4,2.4C6.9,5.8,5.8,6.9,4.5,6.9z M6.5,21.9H2.4V8.7h4.1V21.9z"/> </svg> </a> </li> </ul> </div> </div> </div> <hr class="divider visible-desktop" /> <div class="nokia-footer--fourth nr"> <div id="block-nokiareskincopyright" class="nokia-footer--copyright nc-2"> &copy;2024&nbsp;Nokia all rights reserved </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> </footer> </div> <script src="/sites/default/files/js/js_5tlf_9LxZqwfIX-GGKjoOEQCWMjitSRd_mNigRXYTk0.js?scope=footer&amp;delta=0&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug"></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_ygvJxaizzCADMNQFz-EkSwjW8dAwSbqfQ9MUPvNEhNA.js?scope=footer&amp;delta=2&amp;language=en&amp;theme=onenokia_reskin&amp;include=eJx9VU1v2zAM_UNWha3r7l2B3TYUy9CrQMu0rVYSNX048X79qCRbl8rpJY7JR-pRfKQ1RZTPvwrGtcOiNNGLQX64YA14jWrKTl5zdJ6NoKBkOjowo4Jhqe5B_m_t0poyOtlDwo48nuLqm8ozOpQBUjILKlzQ5_QKiZhejJfPSZwItJ4jdeGoJNzPiPYaIlPRc9qb0OYYI-gMbST1z6jzV5Mfya6jsS3CgfGN0cLvVViCwfhJGAcTtgVZ06fVq0CDhpRVsKBxJjtg3DrDZlKeGzVijBsI7gT_dbRs1DAjbCWlhVOZgZlNRJNFtcd-JJ9V5Y1RQTDy0vQOsL6nTfVsK6eHiJ2FlUpWg0m6klklU9RkuwARpghhTnKIJYC9ebXcFB9Kb02acdi4p8mb0WgRKJTQuAfIMEFuu-8gvmAmcanNN84ws0f44nqMbTfPqMae0LKAxJ5IwDMcxGgO72AaF2Ry6UvJmXy631AfxQm8Se6hJEbee08ZsiHf6TrUf28v0sT4dDJm6HvobVvov1wfbzuHgwFJyMUONyNFBzlXDR0Nqsq7Nl9yRx0f9sasaltLj_L8bMKM52SJa2amgvqEcdlSfeUgFpYoiaoPlkuLIb66YjE9VdjOgbUPu9310j78qBOELMHrmE87U1fWTzzk66C7b5XdxlBPc56YRV2mG8E19tvnu0fwaDXPDK-662fcPmHMRoP9DkurjIGXizUe73OOpi8bsh4jnxB4-Yg6P9bC4bytS-BRwCQNrz2Hgvtixpauh8VMRzUJhxPwjy_nBAkh6lmmgKhnEXlqubJX3R3761l5p8WrirnQ48VnYWtImdGKUZy-BH8A33edug"></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":8522,"atts":"TRIHQ14eGRs=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10