CINXE.COM
School of Computing and Information | University of Pittsburgh
<!DOCTYPE html> <html lang="en" dir="ltr" prefix="content: http://purl.org/rss/1.0/modules/content/ dc: http://purl.org/dc/terms/ foaf: http://xmlns.com/foaf/0.1/ rdfs: http://www.w3.org/2000/01/rdf-schema# sioc: http://rdfs.org/sioc/ns# sioct: http://rdfs.org/sioc/types# skos: http://www.w3.org/2004/02/skos/core# xsd: http://www.w3.org/2001/XMLSchema#"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="IE=edge" /><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:"1120106159",accountID:"3604677",trustKey:"66686",xpid:"VwAHVVBUDxAJUlRTAgcFVlc=",licenseKey:"NRJS-b367e9f72e0ce8cc173",applicationID:"965156203"};;/*! 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 http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="msapplication-TileColor" content="#2b5797"/> <meta name="msapplication-config" content="/sites/default/files/favicons/browserconfig.xml"/> <meta name="theme-color" content="#1c2957"/> <meta name="description" content="The University of Pittsburgh is among the nation's most distinguished comprehensive universities, with a wide variety of high-quality programs in both the arts and sciences and professional fields." /> <meta name="keywords" content="University, Pittsburgh, Pitt, College, Learning, Research, Students, Undergraduate, Graduate" /> <meta name="generator" content="Drupal 7 (http://drupal.org)" /> <link rel="canonical" href="https://www.sci.pitt.edu/" /> <link rel="shortlink" href="https://www.sci.pitt.edu/" /> <title>School of Computing and Information | University of Pittsburgh</title> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_lQaZfjVpwP_oGNqdtWCSpJT1EMqXdMiU84ekLLxQnc4.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_RTpulIpPjg_nSMDPdMqZBnaRv3i0JXTi9Pv5Swfr_6E.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_NOxwaxrq1N3SXv6Spye3iOi5RIZ2kJdm0yld1CHVx1o.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" media="all" /> <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@unicorn-fail/drupal-bootstrap-styles@0.0.2/dist/3.3.1/7.x-3.x/drupal-bootstrap.min.css" media="all" /> <link type="text/css" rel="stylesheet" href="/sites/default/files/css/css_8RzIXUsk2YPpK92-NR_kt9hRp-sNFwE_BqREKcgPcLM.css" media="all" /> <!-- HTML5 element support for IE6-8 --> <!--[if lt IE 9]> <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <script src="//code.jquery.com/jquery-2.2.4.js"></script> <script>window.jQuery || document.write("<script src='/sites/all/modules/jquery_update/replace/jquery/2.2/jquery.js'>\x3C/script>")</script> <script src="/sites/default/files/js/js_GOikDsJOX04Aww72M-XK1hkq4qiL_1XgGsRdkL0XlDo.js"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script> <script src="/sites/default/files/js/js_u3xuc_-UmE75zf0cFPtLNhfmKElRdxvfV9OrsY3v8E0.js"></script> <script src="//pitt.edu/webtrends/webtrends.load.js"></script> <script src="/sites/default/files/js/js_C8R2CHLb7_LIKzDlOzVavLMz81_epsqexEeCDTjaMCM.js"></script> <script src="https://www.googletagmanager.com/gtag/js?id=G-PZQFKP0Y8Y"></script> <script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments)};gtag("js", new Date());gtag("set", "developer_id.dMDhkMT", true);gtag("config", "G-PZQFKP0Y8Y", {"groups":"default","anonymize_ip":true});</script> <script src="/sites/default/files/js/js_eOR9EdGwFV6QfPJ8nhKo-TC46xe2As2AR6UokZ4fxQo.js"></script> <script>jQuery.extend(Drupal.settings, {"basePath":"\/","pathPrefix":"","setHasJsCookie":0,"ajaxPageState":{"theme":"pitt_theme_spirit","theme_token":"PQapFFefOMC4wCiUonWDpCrtX45IGfO5fPAuDjSYWmE","js":{"sites\/all\/modules\/flexslider\/assets\/js\/flexslider.load.js":1,"sites\/all\/themes\/bootstrap\/js\/bootstrap.js":1,"\/\/code.jquery.com\/jquery-2.2.4.js":1,"0":1,"misc\/jquery-extend-3.4.0.js":1,"misc\/jquery-html-prefilter-3.5.0-backport.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"sites\/all\/modules\/jquery_update\/js\/jquery_browser.js":1,"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/js\/bootstrap.min.js":1,"sites\/all\/modules\/ckeditor_accordion\/js\/ckeditor-accordion.js":1,"sites\/all\/modules\/entityreference\/js\/entityreference.js":1,"sites\/all\/modules\/google_cse\/google_cse.js":1,"sites\/all\/modules\/miniorange_saml\/js\/testconfig.js":1,"sites\/all\/modules\/miniorange_saml\/js\/backdoor.js":1,"sites\/all\/modules\/miniorange_saml\/js\/addCopyIcon.js":1,"\/\/pitt.edu\/webtrends\/webtrends.load.js":1,"sites\/all\/libraries\/jquery-actual\/jquery.actual.min.js":1,"sites\/all\/modules\/edu_pitt_sci_acalog\/js\/edu_pitt_sci_acalog.js":1,"sites\/all\/modules\/fancybox\/fancybox.js":1,"sites\/all\/libraries\/fancybox\/source\/jquery.fancybox.pack.js":1,"sites\/all\/libraries\/fancybox\/lib\/jquery.mousewheel.pack.js":1,"sites\/all\/modules\/jcaption\/jcaption.js":1,"sites\/all\/libraries\/flexslider\/jquery.flexslider-min.js":1,"sites\/all\/modules\/google_analytics\/googleanalytics.js":1,"https:\/\/www.googletagmanager.com\/gtag\/js?id=G-PZQFKP0Y8Y":1,"1":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/affix.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/alert.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/button.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/carousel.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/collapse.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/dropdown.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/modal.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/tooltip.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/popover.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/scrollspy.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/tab.js":1,"sites\/all\/themes\/pitt_theme_spirit\/bootstrap\/js\/transition.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/script.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/search.js":1,"sites\/all\/themes\/pitt_theme_spirit\/js\/nav.js":1},"css":{"modules\/system\/system.base.css":1,"sites\/all\/modules\/calendar\/css\/calendar_multiday.css":1,"sites\/all\/modules\/ckeditor_accordion\/css\/ckeditor-accordion.css":1,"modules\/field\/theme\/field.css":1,"sites\/all\/modules\/google_cse\/google_cse.css":1,"modules\/node\/node.css":1,"sites\/all\/modules\/siteimprove\/css\/siteimprove.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ckeditor\/css\/ckeditor.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/libraries\/fancybox\/source\/jquery.fancybox.css":1,"sites\/all\/modules\/flexslider\/assets\/css\/flexslider_img.css":1,"sites\/all\/libraries\/flexslider\/flexslider.css":1,"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/css\/bootstrap.min.css":1,"https:\/\/cdn.jsdelivr.net\/npm\/@unicorn-fail\/drupal-bootstrap-styles@0.0.2\/dist\/3.3.1\/7.x-3.x\/drupal-bootstrap.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/fontawsome.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/all.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/light.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/css\/brands.min.css":1,"sites\/all\/themes\/pitt_theme_spirit\/fonts\/cooper.css":1,"sites\/all\/themes\/pitt_theme_spirit\/less\/style.less":1}},"fancybox":{"selectors":["a.fancybox"]},"googleCSE":{"cx":"d0d541f149397d615","resultsWidth":600,"domain":"www.google.com","showWaterMark":1},"jcaption":{"jcaption_selectors":[".region-content article img"],"jcaption_alt_title":"title","jcaption_requireText":1,"jcaption_copyStyle":0,"jcaption_removeStyle":0,"jcaption_removeClass":0,"jcaption_removeAlign":1,"jcaption_copyAlignmentToClass":0,"jcaption_copyFloatToClass":1,"jcaption_copyClassToClass":0,"jcaption_autoWidth":1,"jcaption_keepLink":0,"jcaption_styleMarkup":"","jcaption_animate":0,"jcaption_showDuration":"200","jcaption_hideDuration":"200"},"better_exposed_filters":{"views":{"title_block":{"displays":{"header_title_block":{"filters":[]},"footer_title_block":{"filters":[]},"block_3":{"filters":[]}}},"feature_image_story":{"displays":{"block_3":{"filters":[]}}},"slider":{"displays":{"block":{"filters":[]},"block_1":{"filters":[]}}},"news_story":{"displays":{"home_block":{"filters":[]}}},"home_page_news_and_events":{"displays":{"block_1":{"filters":[]}}},"social_media_icons":{"displays":{"footer_social_block":{"filters":[]}}}}},"flexslider":{"optionsets":{"feature_image":{"namespace":"flex-","selector":".slides \u003E li","easing":"swing","direction":"horizontal","reverse":false,"smoothHeight":false,"startAt":0,"animationSpeed":600,"initDelay":0,"useCSS":true,"touch":true,"video":false,"keyboard":true,"multipleKeyboard":false,"mousewheel":0,"controlsContainer":".flex-control","sync":"","asNavFor":"","itemWidth":0,"itemMargin":0,"minItems":0,"maxItems":0,"move":0,"animation":"fade","slideshow":true,"slideshowSpeed":"7000","directionNav":false,"controlNav":true,"prevText":"Previous","nextText":"Next","pausePlay":false,"pauseText":"Pause","playText":"Play","randomize":false,"thumbCaptions":false,"thumbCaptionsBoth":false,"animationLoop":true,"pauseOnAction":true,"pauseOnHover":true,"manualControls":""},"default":{"namespace":"flex-","selector":".slides \u003E li","easing":"swing","direction":"horizontal","reverse":false,"smoothHeight":false,"startAt":0,"animationSpeed":600,"initDelay":0,"useCSS":true,"touch":true,"video":false,"keyboard":false,"multipleKeyboard":false,"mousewheel":0,"controlsContainer":".flex-control-nav-container","sync":"","asNavFor":"","itemWidth":350,"itemMargin":25,"minItems":3,"maxItems":3,"move":0,"animation":"slide","slideshow":false,"slideshowSpeed":"7000","directionNav":true,"controlNav":false,"prevText":"Previous","nextText":"Next","pausePlay":false,"pauseText":"Pause","playText":"Play","randomize":false,"thumbCaptions":false,"thumbCaptionsBoth":false,"animationLoop":true,"pauseOnAction":true,"pauseOnHover":true,"manualControls":""},"single":{"namespace":"flex-","selector":".slides \u003E li","easing":"swing","direction":"horizontal","reverse":false,"smoothHeight":false,"startAt":0,"animationSpeed":600,"initDelay":0,"useCSS":true,"touch":true,"video":false,"keyboard":false,"multipleKeyboard":false,"mousewheel":0,"controlsContainer":".flex-control-nav-container","sync":"","asNavFor":"","itemWidth":728,"itemMargin":25,"minItems":1,"maxItems":1,"move":0,"animation":"slide","slideshow":true,"slideshowSpeed":"7000","directionNav":false,"controlNav":true,"prevText":"Previous","nextText":"Next","pausePlay":false,"pauseText":"Pause","playText":"Play","randomize":false,"thumbCaptions":false,"thumbCaptionsBoth":false,"animationLoop":true,"pauseOnAction":true,"pauseOnHover":true,"manualControls":""}},"instances":{"flexslider-1":"feature_image","flexslider-2":"default","flexslider-3":"single"}},"ckeditor_accordion":{"collapseAll":1},"googleanalytics":{"account":["G-PZQFKP0Y8Y"],"trackOutbound":1,"trackMailto":1,"trackDownload":1,"trackDownloadExtensions":"7z|aac|arc|arj|asf|asx|avi|bin|csv|doc(x|m)?|dot(x|m)?|exe|flv|gif|gz|gzip|hqx|jar|jpe?g|js|mp(2|3|4|e?g)|mov(ie)?|msi|msp|pdf|phps|png|ppt(x|m)?|pot(x|m)?|pps(x|m)?|ppam|sld(x|m)?|thmx|qtm?|ra(m|r)?|sea|sit|tar|tgz|torrent|txt|wav|wma|wmv|wpd|xls(x|m|b)?|xlt(x|m)|xlam|xml|z|zip"},"urlIsAjaxTrusted":{"\/":true},"bootstrap":{"anchorsFix":"0","anchorsSmoothScrolling":"0","formHasError":1,"popoverEnabled":1,"popoverOptions":{"animation":1,"html":0,"placement":"right","selector":"","trigger":"click","triggerAutoclose":1,"title":"","content":"","delay":0,"container":"body"},"tooltipEnabled":1,"tooltipOptions":{"animation":1,"html":0,"placement":"auto left","selector":"","trigger":"hover focus","delay":0,"container":"body"}}});</script> </head> <body class="html front not-logged-in no-sidebars page-node page-node- page-node-233 node-type-page pitt_dark" > <div id="skip-link" role="navigation"> <a href="#main-content" class="element-invisible element-focusable">Skip to main content</a> </div> <div id="pittbar" role="banner"> <div class="container"> <div class="secondary-links"> <div id="secondary-nav-prefix">Information for:</div> <nav role="navigation"> <ul class="menu nav navbar-nav secondary"><li class="first leaf"><a href="/information-faculty-staff" title="">Faculty & Staff</a></li> <li class="leaf"><a href="/recruiting" title="">Prospective Faculty</a></li> <li class="leaf"><a href="/prospective-students" title="">Prospective Students</a></li> <li class="leaf"><a href="/alumni" title="">Alumni</a></li> <li class="last leaf"><a href="/partnership" title="">Partners</a></li> </ul> </nav> </div> </div> </div> <div class="header_wrapper"> <div class="container hb"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-9 logo_space"> <div class="pitt_shield"> <a href="http://www.pitt.edu"> <img src="/sites/all/themes/pitt_theme_spirit/img/pitt_shield_white.png" width="261" alt="University of Pittsburgh logo" /> </a> </div> <div class="site_title_wrapper"> <div class="region region-logo"> <section aria-label="" id="block-views-title-block-header-title-block" class="block block-views clearfix"> <div class="view view-title-block view-id-title_block view-display-id-header_title_block site-info--title-block view-dom-id-1dae913101850c3d6a57bebd8fcf2bb5"> <div class="view-content"> <div> <span class="single_title"><a href="/" class="site-info__title">School of Computing and Information</a></span> </div> </div> </div> </section> </div> </div><!--title_wrapper --> </div> <div class="col-xs-12 col-sm-12 col-md-3 header_links"> <div class="pittbar__search"> <div class="region region-pre-nav"> <section aria-label="" id="block-search-form" class="block block-search clearfix"> <form class="google-cse form-search content-search" action="/" method="post" id="search-block-form" accept-charset="UTF-8"><div> <div class="searchbox" role="search"> <label for="edit-search-block-form-1" class="hidden">Use this for to search the site.</label> <input type="text" maxlength="128" name="search_block_form" class="searchbox-input" id="edit-search-block-form-1" size="15" value="" aria-label="Search Form" required title="Enter the terms you wish to search for." /> <input type="submit" class="searchbox-submit btn btn-primary" /> <span class="searchbox-icon icon glyphicon glyphicon-search" aria-label="search" aria-hidden="true"></span> </div> <div class="form-actions form-wrapper form-group" id="edit-actions"><button class="element-invisible btn btn-primary form-submit" type="submit" id="edit-submit" name="op" value="Search">Search</button> </div><input type="hidden" name="form_build_id" value="form-Uj6mn1MtH5OT6V-5oCGMaUTOr3UzxwMXd9C8KV6Khvc" /> <input type="hidden" name="form_id" value="search_block_form" /> </div></form> </section> </div> </div> </div> </div> </div> <div class="nav_wrapper"> <div class="container"> <div class="row"> <div class="col-xs-12"> <div class="navbar-header site-info__navbar-toggle"> <!-- .btn-navbar is used as the toggle for collapsed navbar content --> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".primary-links"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> </div> <div role="navigation" aria-label="primary" id="primary-links" class="container-fluid"> <div class="navbar container navbar-default"> <div class="navbar-collapse collapse navbar primary-links primary-links__navbar"> <a class="pitt_seal" href="http://www.pitt.edu" title="University of PIttsburgh Home"></a> <div class="region region-navigation"> <section aria-label="" id="block-menu-block-1" class="block block-menu-block clearfix"> <div class="menu-block-wrapper menu-block-1 menu-name-main-menu parent-mlid-0 menu-level-1"> <ul class="menu nav"><li class="first leaf active-trail active menu-mlid-218 active"><a href="/" title="" class="active-trail active">Home</a></li> <li class="expanded menu-mlid-5857"><a href="/about">About</a><ul class="menu nav"><li class="first expanded menu-mlid-8503"><a href="/about/deans-annual-update">Dean's Annual Update</a><ul class="menu nav"><li class="first leaf menu-mlid-9201"><a href="/about/deans-annual-update/deans-2022-annual-update">2022 Update</a></li> <li class="leaf menu-mlid-9185"><a href="/about/deans-annual-update/deans-annual-update-2021">2021 Update</a></li> <li class="last leaf menu-mlid-8847"><a href="/about/deans-annual-update/2020-update">2020 Update</a></li> </ul></li> <li class="leaf menu-mlid-8504"><a href="/about/reputation-and-history">Reputation and History</a></li> <li class="leaf menu-mlid-8476"><a href="/about/departments-and-programs">Departments and Programs</a></li> <li class="leaf menu-mlid-8849"><a href="/about/institutes">Institutes</a></li> <li class="leaf menu-mlid-8739"><a href="https://www.sci.pitt.edu/recruiting" title="">Faculty Recruiting</a></li> <li class="leaf menu-mlid-9178"><a href="/about/committees">Committees</a></li> <li class="leaf menu-mlid-8505"><a href="/about/zoom-backgrounds">Zoom Backgrounds</a></li> <li class="leaf menu-mlid-8451"><a href="/about/contact-us">Contact Us</a></li> <li class="leaf menu-mlid-9183"><a href="/about/board-visitors">Board of Visitors</a></li> <li class="last leaf menu-mlid-9191"><a href="/about/sci-learning-academy">SCI Learning Academy</a></li> </ul></li> <li class="expanded menu-mlid-3063"><a href="/people" title="">People</a><ul class="menu nav"><li class="first leaf menu-mlid-8714"><a href="https://www.sci.pitt.edu/administration" title="">Administration</a></li> <li class="leaf menu-mlid-8578"><a href="/people/faculty" title="">Faculty Directory</a></li> <li class="leaf menu-mlid-8475"><a href="/people/staff" title="">Staff Directory</a></li> <li class="last leaf menu-mlid-8477"><a href="/people/phd-students">PhD Students</a></li> </ul></li> <li class="expanded menu-mlid-8766"><a href="/equity">Equity</a><ul class="menu nav"><li class="first leaf menu-mlid-8767"><a href="/equity/committee">Diversity, Equity and Inclusion Committee</a></li> <li class="leaf menu-mlid-8768"><a href="/equity/school-initiatives-and-resources">School Initiatives and Resources</a></li> <li class="leaf menu-mlid-8773"><a href="/equity/events">Events</a></li> <li class="last leaf menu-mlid-8769"><a href="/equity/university-initiatives-and-resources">University Initiatives and Resources</a></li> </ul></li> <li class="expanded menu-mlid-8440"><a href="/research">Research</a><ul class="menu nav"><li class="first leaf menu-mlid-8466"><a href="/research" title="">Overview</a></li> <li class="leaf menu-mlid-8583"><a href="/research/faculty-spotlight">Faculty Spotlight</a></li> <li class="expanded menu-mlid-8463"><a href="/research/active-research">Active Research</a><ul class="menu nav"><li class="first leaf menu-mlid-8470"><a href="/research/active-research/current-grants">Current Grants</a></li> <li class="leaf menu-mlid-9196"><a href="/research/active-research/faculty-accepting-undergraduate-students-research">Faculty Accepting Undergraduate Students for Research</a></li> <li class="last leaf menu-mlid-9197"><a href="https://pitt.co1.qualtrics.com/jfe/form/SV_djvb4vsuvzS3GRM" title="">Submit Research for Undergraduate Students</a></li> </ul></li> <li class="leaf menu-mlid-8468"><a href="/research/labs-centers-and-institutes">Labs, Centers, and Institutes</a></li> <li class="leaf menu-mlid-8467"><a href="/research/visiting-scholars">Visiting Scholars</a></li> <li class="last leaf menu-mlid-8469"><a href="/research/undergraduate-research-scholars">Undergraduate Research Scholars</a></li> </ul></li> <li class="expanded menu-mlid-8441"><a href="/academics">Academics</a><ul class="menu nav"><li class="first leaf menu-mlid-8562"><a href="/academics/degrees-and-programs">Degrees and Programs</a></li> <li class="expanded menu-mlid-8529"><a href="/academics/undergraduate-majors">Undergraduate Majors</a><ul class="menu nav"><li class="first leaf menu-mlid-8532"><a href="/academics/undergraduate-majors/find-right-major-you">Find the Right Major for You</a></li> <li class="leaf menu-mlid-8533"><a href="/academics/undergraduate-majors/computational-biology">Computational Biology</a></li> <li class="leaf menu-mlid-8772"><a href="/academics/undergraduate-majors/computational-social-science">Computational Social Science</a></li> <li class="leaf menu-mlid-8534"><a href="/academics/undergraduate-majors/computer-science">Computer Science</a></li> <li class="leaf has-children menu-mlid-8757"><a href="/academics/undergraduate-majors/data-science">Data Science</a></li> <li class="leaf has-children menu-mlid-8535"><a href="/academics/undergraduate-majors/digital-narrative-and-interactive-design">Digital Narrative and Interactive Design</a></li> <li class="leaf menu-mlid-8536"><a href="/academics/undergraduate-majors/information-science">Information Science</a></li> <li class="leaf menu-mlid-8584"><a href="/academics/undergraduate-majors/bs-ms-computer-science">BS + MS in Computer Science</a></li> <li class="leaf menu-mlid-9179"><a href="/academics/undergraduate-majors/physics-and-quantum-computing">Physics and Quantum Computing</a></li> <li class="last leaf menu-mlid-8585"><a href="/academics/undergraduate-majors/minors">Minors</a></li> </ul></li> <li class="expanded menu-mlid-8537"><a href="/academics/masters-degrees">Master's Degrees</a><ul class="menu nav"><li class="first leaf menu-mlid-8568"><a href="/academics/masters-degrees/library-and-information-science-mlis">Library and Information Science</a></li> <li class="leaf menu-mlid-9208"><a href="/academics/masters-degrees/computational-modeling-and-simulation-ms">Computational Modeling and Simulation</a></li> <li class="leaf menu-mlid-8564"><a href="/academics/masters-degrees/computer-science-ms">Computer Science</a></li> <li class="leaf menu-mlid-9199"><a href="/academics/masters-degrees/data-science">Data Science</a></li> <li class="leaf menu-mlid-8575"><a href="/academics/masters-degrees/information-science-ms">Information Science</a></li> <li class="leaf menu-mlid-8571"><a href="/academics/masters-degrees/intelligent-systems-ms">Intelligent Systems</a></li> <li class="last leaf menu-mlid-8574"><a href="/academics/masters-degrees/telecommunications-ms">Telecommunications</a></li> </ul></li> <li class="expanded menu-mlid-8538"><a href="/academics/doctoral-degrees">Doctoral Degrees</a><ul class="menu nav"><li class="first leaf menu-mlid-8565"><a href="/academics/doctoral-degrees/computational-modeling-and-simulation-phd">Computational Modeling and Simulation</a></li> <li class="leaf menu-mlid-8566"><a href="/academics/doctoral-degrees/computer-science-phd">Computer Science</a></li> <li class="leaf menu-mlid-8573"><a href="/academics/doctoral-degrees/information-science-phd">Information Science</a></li> <li class="leaf menu-mlid-8572"><a href="/academics/doctoral-degrees/information-science-focus-telecommunications-phd">Information Science with a focus in Telecommunications</a></li> <li class="leaf menu-mlid-8570"><a href="/academics/doctoral-degrees/intelligent-systems-phd">Intelligent Systems</a></li> <li class="last leaf menu-mlid-8567"><a href="/academics/doctoral-degrees/library-and-information-science-phd">Library and Information Science</a></li> </ul></li> <li class="expanded menu-mlid-8539"><a href="/academics/graduate-certificates">Graduate Certificates</a><ul class="menu nav"><li class="first leaf menu-mlid-8771"><a href="/academics/graduate-certificates/applied-data-driven-methods">Applied Data-Driven Methods</a></li> <li class="leaf menu-mlid-8540"><a href="/academics/graduate-certificates/big-data-analytics">Big Data Analytics</a></li> <li class="leaf menu-mlid-8543"><a href="/academics/graduate-certificates/cybersecurity-policy-and-law">Cybersecurity, Policy, and Law</a></li> <li class="leaf menu-mlid-8544"><a href="/academics/graduate-certificates/information-and-network-security">Information and Network Security</a></li> <li class="leaf menu-mlid-8541"><a href="/academics/graduate-certificates/information-science">Information Science</a></li> <li class="last leaf menu-mlid-8542"><a href="/academics/graduate-certificates/telecommunications">Telecommunications</a></li> </ul></li> <li class="leaf menu-mlid-8580"><a href="https://www.sciprofessional.pitt.edu/" title="">Professional Institute</a></li> <li class="expanded menu-mlid-8545"><a href="/academics/experiential-learning">Experiential Learning</a><ul class="menu nav"><li class="first leaf menu-mlid-9176"><a href="/academics/experiential-learning/types-opportunities">Types of Opportunities</a></li> <li class="last leaf menu-mlid-9177"><a href="/academics/experiential-learning/course-credit-opportunities">Experiential Learning Courses</a></li> </ul></li> <li class="leaf menu-mlid-8732"><a href="/academics/earn-master-s-degree-sci">Pitt2Pitt</a></li> <li class="last leaf menu-mlid-8745"><a href="/academics/student-profiles">Student Profiles</a></li> </ul></li> <li class="expanded menu-mlid-8442"><a href="/admissions">Admissions</a><ul class="menu nav"><li class="first leaf menu-mlid-8454"><a href="/admissions/take-next-step">Take the Next Step</a></li> <li class="expanded menu-mlid-8527"><a href="/admissions/undergraduate-admissions">Undergraduate Admissions</a><ul class="menu nav"><li class="first last leaf menu-mlid-8472"><a href="/admissions/undergraduate-admissions-faq">Undergraduate Admissions FAQ</a></li> </ul></li> <li class="leaf menu-mlid-8549"><a href="/admissions/masters-admissions">Master's Admissions</a></li> <li class="leaf menu-mlid-8550"><a href="/admissions/doctoral-admissions">Doctoral Admissions</a></li> <li class="leaf menu-mlid-8560"><a href="/admissions/certificate-admissions">Certificate Admissions</a></li> <li class="expanded menu-mlid-8473"><a href="/admissions/graduate-admissions-faq">Graduate Admissions FAQ</a><ul class="menu nav"><li class="first last leaf menu-mlid-8845"><a href="/admissions/graduate-admissions-faq/gre-requirements">GRE Requirements</a></li> </ul></li> <li class="expanded menu-mlid-8555"><a href="/admissions/tuition-and-financial-aid">Tuition and Financial Aid</a><ul class="menu nav"><li class="first leaf menu-mlid-8556"><a href="/admissions/tuition-and-financial-aid/financial-aid">Financial Aid</a></li> <li class="last leaf menu-mlid-8557"><a href="/admissions/tuition-and-financial-aid/scholarships">Scholarships</a></li> </ul></li> <li class="leaf menu-mlid-8558"><a href="/admissions/campus-life">Campus Life</a></li> <li class="last leaf menu-mlid-8471"><a href="/admissions/information-sessions">Information Sessions</a></li> </ul></li> <li class="expanded menu-mlid-8443"><a href="/student-resources" title="">Students</a><ul class="menu nav"><li class="first leaf menu-mlid-8563"><a href="/student-resources/z-student-resources">A-Z Student Resources</a></li> <li class="expanded menu-mlid-8499"><a href="/student-resources/academic-advising-center">Academic Advising Center</a><ul class="menu nav"><li class="first leaf menu-mlid-8520"><a href="/student-resources/academic-advising-center/responsibilities">Responsibilities</a></li> <li class="leaf menu-mlid-8518"><a href="/student-resources/academic-advising-center/placement-assessments">Placement Assessments</a></li> <li class="leaf menu-mlid-8519"><a href="/student-resources/academic-advising-center/general-education-requirements">General Education Requirements</a></li> <li class="leaf menu-mlid-9195"><a href="/student-resources/academic-advising-center/major-and-minor-declaration">Major and Minor Declaration</a></li> <li class="leaf menu-mlid-8852"><a href="/student-resources/academic-advising-center/faculty-mentors">Faculty Mentors</a></li> <li class="last leaf menu-mlid-8851"><a href="/students/academic-advising-center/contact-sci-advising-center">Contact the SCI Advising Center</a></li> </ul></li> <li class="leaf menu-mlid-8500"><a href="/student-resources/building-hours">Building Hours</a></li> <li class="expanded menu-mlid-8525"><a href="/student-resources/career-services">Career Services</a><ul class="menu nav"><li class="first leaf menu-mlid-8551"><a href="https://careerservices.sci.pitt.edu/career-resources/" title="">Career Resources</a></li> <li class="leaf menu-mlid-8553"><a href="https://careerservices.sci.pitt.edu/jobs/" title="">Job Board</a></li> <li class="leaf menu-mlid-9180"><a href="/student-resources/career-services/post-graduate-outcomes" title="">Post-Graduate Outcomes</a></li> <li class="last leaf menu-mlid-9182"><a href="/student-resources/career-services/faqs">FAQs</a></li> </ul></li> <li class="leaf menu-mlid-9205"><a href="https://courses.sci.pitt.edu" title="">Course Schedule</a></li> <li class="leaf menu-mlid-9206"><a href="/student-resources/enrollment-resources">Enrollment Resources</a></li> <li class="expanded menu-mlid-8521"><a href="/student-resources/graduation">Graduation</a><ul class="menu nav"><li class="first leaf menu-mlid-8869"><a href="/student-resources/graduation/graduation-process-expectations">Graduation Process and Expectations</a></li> <li class="leaf menu-mlid-8871"><a href="/student-resources/graduation/apply-graduation">Apply for Graduation</a></li> <li class="last leaf menu-mlid-8522"><a href="/students/graduation/school-recognition-ceremony">School Recognition Ceremony</a></li> </ul></li> <li class="leaf menu-mlid-8524"><a href="/student-resources/information-technology">Information Technology</a></li> <li class="expanded menu-mlid-8514"><a href="/student-resources/newly-admitted-students">Newly Admitted Students</a><ul class="menu nav"><li class="first leaf menu-mlid-8516"><a href="/student-resources/newly-admitted-students/graduate-student-orientation">Graduate Student Orientation</a></li> <li class="leaf menu-mlid-8515"><a href="/student-resources/newly-admitted-students/new-graduate-student-faq">New Graduate Student FAQ</a></li> <li class="last leaf menu-mlid-8619"><a href="/student-resources/newly-admitted-students/undergraduate-student-orientation">Undergraduate Student Orientation</a></li> </ul></li> <li class="leaf menu-mlid-8607"><a href="/student-resources/ombudsperson">Ombudsperson</a></li> <li class="expanded menu-mlid-8507"><a href="/student-resources/policies">Policies</a><ul class="menu nav"><li class="first leaf menu-mlid-8508"><a href="/student-resources/policies/academic-integrity-policy">Academic Integrity Policy</a></li> <li class="last leaf menu-mlid-9186"><a href="/student-resources/policies/experiential-learning-policies">Experiential Learning Policies</a></li> </ul></li> <li class="leaf menu-mlid-9207"><a href="/student-resources/sci-ubelong">SCI UBelong</a></li> <li class="leaf menu-mlid-8546"><a href="/student-resources/school-forms">School Forms</a></li> <li class="leaf menu-mlid-9192"><a href="/student-resources/student-appeals">Student Appeals</a></li> <li class="leaf menu-mlid-8506"><a href="/student-resources/student-organizations">Student Organizations</a></li> <li class="expanded menu-mlid-8528"><a href="/student-resources/student-success">Student Success</a><ul class="menu nav"><li class="first leaf has-children menu-mlid-8717"><a href="/student-resources/student-success/academic-support-and-tutoring">Academic Support and Tutoring</a></li> <li class="last leaf menu-mlid-8721"><a href="/student-resources/student-success/student-success-workshops">Student Success Workshops</a></li> </ul></li> <li class="last leaf menu-mlid-8720"><a href="/student-resources/who-contact">Who to Contact</a></li> </ul></li> <li class="expanded menu-mlid-5865"><a href="/news" title="">News</a><ul class="menu nav"><li class="first leaf menu-mlid-8587"><a href="/news" title="">All News</a></li> <li class="last leaf menu-mlid-8589"><a href="/news/submit-news-item">Submit a News Item</a></li> </ul></li> <li class="expanded menu-mlid-8445"><a href="https://calendar.pitt.edu/school_of_computing_and_information" title="">Events</a><ul class="menu nav"><li class="first leaf menu-mlid-8588"><a href="https://calendar.pitt.edu/school_of_computing_and_information" title="">All Events</a></li> <li class="last leaf menu-mlid-8600"><a href="/events/event-assistance-promotion">Event Assistance & Promotion</a></li> </ul></li> <li class="last leaf menu-mlid-9214"><a href="/give-sci">Give to SCI</a></li> </ul></div> </section> </div> </div> </div> </div> <!-- /#primary-links --> </div> </div> </div> </div> </div> <div role="banner" id="header" class="container-fluid"> <div class="row"> <div class="region region-header"> <section aria-label="" id="block-views-feature-image-story-block-3" class="block block-views block__feature-image--long-text clearfix"> <div class="view view-feature-image-story view-id-feature_image_story view-display-id-block_3 view--feature-image--long-text view-dom-id-a8b2d893633b9744ebe6e26779ddb2ea"> <div class="view-content"> <div id="flexslider-1" class="flexslider optionset-feature-image"> <ul class="slides"><li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/dss_2425-695x405--0_-1-695_406.png" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/dss_2425-695x405--0_-1-695_406.png);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">Upcoming Talk: Thursday, Dec. 5!</h3></div> <div class="feature-body feature__body"><p>Learn more about our four distinguished speakers and their talks, and register to attend! The second talk featuring Northwestern University's Dr. Dashun Wang, PhD, will discuss "The Science of Science: Exciting Progress and Future Directions" on Thursday, Dec. 5 from 5-7 p.m. </p> <a href="https://www.sci.pitt.edu/deans-spotlight-series-2024-25" class="feature--button feature--button--blue">Learn More</a> </div> </div></div></li> <li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/dei_header.jpg" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/dei_header.jpg);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">Diversity, Equity and Inclusion at SCI</h3></div> <div class="feature-body feature__body"><p>SCI is committed to providing programming, resources and opportunities that create and foster an equitable and inclusive environment.</p> <a href="https://www.sci.pitt.edu/equity" class="feature--button feature--button--blue">Learn more</a> </div> </div></div></li> <li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/sci7.jpg" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/sci7.jpg);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">SCI's Degree Programs Prepare You for a Complex World</h3></div> <div class="feature-body feature__body"><p>Just as the technological world grows larger and more intricate every day, the School of Computing and Information continues to challenge our students with increasingly complex problems through a wide set of degrees and programs.</p> <a href="https://www.sci.pitt.edu/academics" class="feature--button feature--button--blue">Learn More</a> </div> </div></div></li> <li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/coursera_mds_fall_2023-695x405-0_-1-695_406-695x405--0_-1-695_406.png" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/coursera_mds_fall_2023-695x405-0_-1-695_406-695x405--0_-1-695_406.png);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">New Graduate Program at SCI</h3></div> <div class="feature-body feature__body"><p>SCI is excited to announce a new Master of Data Science degree offered through a partnership with Coursera, a top online learning platform!</p> <a href="https://www.sci.pitt.edu/mds" class="feature--button feature--button--blue">Learn More</a> </div> </div></div></li> <li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/20170418-tc-pitt-campusstock-279-695x405-0_153-1821_1062.jpg" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/20170418-tc-pitt-campusstock-279-695x405-0_153-1821_1062.jpg);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">Faculty Recruitment</h3></div> <div class="feature-body feature__body"><p>Be a part of the SCI community. Check the faculty recruiting page for available positions and how to apply. </p> <a href="https://www.sci.pitt.edu/recruiting" class="feature--button feature--button--blue">Learn More</a> </div> </div></div></li> <li> <div class="feature-image feature__image col-xs-12 col-sm-6 col-md-7"> <div><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/feature-image/pitt_yellow_bus_2-695x405-0_0-1499_872.jpg" width="695" height="405" alt="" /></div> </div> <div class="views-field views-field-php"> <span class="field-content"><div class="feature-image-wrapper feature__image-wrapper" style="background-image: url(sites/default/files/feature-image/pitt_yellow_bus_2-695x405-0_0-1499_872.jpg);"></div></span> </div><div class="flex-caption"><div class="feature-info feature__info col-xs-12 col-sm-6 col-md-5"> <div class="feature-title"><h3 class="feature__title">SCI Alumni Awards</h3></div> <div class="feature-body feature__body"><p>SCI has launched the SCI Alumni Awards to recognize our outstanding alumni, reinforce our engagement with the alumni community, and showcase the outstanding impact of our school. Nominations are currently being accepted. </p> <a href="https://www.sci.pitt.edu/alumni/sci-alumni-awards" class="feature--button feature--button--blue">Learn More</a> </div> </div></div></li> </ul></div> </div> </div> </section> <section aria-label="" id="block-nodesinblock-11" class="block block-nodesinblock clearfix"> <div class="nodesinblock first last odd" id="nodesinblock-320"><div class="container"> <div class="no-row"> <div id="node-320" class="node node-home-display-text node-promoted clearfix" about="/content/scis-vision" typeof="sioc:Item foaf:Document"> <div class="col-xs-12"> <h3 class="block-title">SCI's Vision</h3> </div> <div class="col-xs-12"> <div class="field-body"> <p>Together transforming lives for a better digital future, from our community to the world.</p> </div> </div> </div> </div> </div></div> </section> <section aria-label="Highlights" id="block-views-slider-block" class="block block-views block__slider block__slider--three-item container clearfix"> <h3 class="block-title" class="block__title">Highlights</h3> <div class="view view-slider view-id-slider view-display-id-block view--slider--three-item view-dom-id-85919464d0230fbd7ec35ba1d5713b8b"> <div class="view-header"> <div class="flex-control-nav-container"></div> </div> <div class="view-content"> <div id="flexslider-2" class="flexslider optionset-default"> <ul class="slides"><li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content block-slider--three-item__image"><a href="https://www.sci.pitt.edu/academics/undergraduate-majors"><div class="block__slider--three-item__img"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/undergrad_website_0.jpg" width="680" height="300" alt="" /></div> <h3 class="block__slider--three-item__header">Undergraduate Majors</h3></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><p>Our <a href="https://www.sci.pitt.edu/academics/undergraduate-majors">undergraduate curriculum</a> is designed to support the education of students who view computing and information as a means of empowerment.</p> </span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content block-slider--three-item__image"><a href="https://www.sci.pitt.edu/academics/masters-degrees"><div class="block__slider--three-item__img"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/grad_program_website_0.jpg" width="680" height="300" alt="" /></div> <h3 class="block__slider--three-item__header">Master's Degrees</h3></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><p>Our <a href="https://www.sci.pitt.edu/academics/masters-degrees">graduate degree programs</a> provide students with the tools to analyze and solve the problems created by technology and to push past technology’s boundaries.</p> </span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content block-slider--three-item__image"><a href="https://www.sci.pitt.edu/academics/doctoral-degrees"><div class="block__slider--three-item__img"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/doctoral_website_0.jpg" width="680" height="300" alt="" /></div> <h3 class="block__slider--three-item__header">Doctoral Degrees</h3></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><p>Many of the world’s most perplexing issues are advanced by research conducted by our <a href="https://www.sci.pitt.edu/academics/doctoral-degrees">PhD students</a> and their faculty mentors.</p> </span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content block-slider--three-item__image"><a href="https://www.sci.pitt.edu/academics/graduate-certificates"><div class="block__slider--three-item__img"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/graduate_certificates_website_0.jpeg" width="680" height="300" alt="" /></div> <h3 class="block__slider--three-item__header">Graduate Certificates</h3></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><p>We provide <a href="https://www.sci.pitt.edu/academics/graduate-certificates">graduate certificates</a> to help you stay up-to-date on the latest technologies and best practices.</p> </span> </div></li> </ul></div> </div> </div> </section> </div> </div> </div> <!-- /#header --> <div class="container-fluid main-top"> <div class="container"> <div class="row"> <section name="Main Top" class="col-sm-12"> <div class="region region-main-top"> <section aria-label="" id="block-views-slider-block-1" class="block block-views block__slider block__slider--single clearfix"> <div class="view view-slider view-id-slider view-display-id-block_1 view--slider--single-item view-dom-id-271d777daf03aa662b81c5c21e0bf638"> <div class="view-content"> <div id="flexslider-3" class="flexslider optionset-single"> <ul class="slides"><li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content"><a href="https://www.sci.pitt.edu/academics/undergraduate-majors"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/undergrad_website_0.jpg" width="680" height="300" alt="" /></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><h3><a href="https://www.sci.pitt.edu/academics/undergraduate-majors">Undergraduate Majors</a></h3> <p>Our <a href="https://www.sci.pitt.edu/academics/undergraduate-majors">undergraduate curriculum</a> is designed to support the education of students who view computing and</p></span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content"><a href="https://www.sci.pitt.edu/academics/masters-degrees"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/grad_program_website_0.jpg" width="680" height="300" alt="" /></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><h3><a href="https://www.sci.pitt.edu/academics/masters-degrees">Master's Degrees</a></h3> <p>Our <a href="https://www.sci.pitt.edu/academics/masters-degrees">graduate degree programs</a> provide students with the tools to analyze and solve the problems created by</p></span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content"><a href="https://www.sci.pitt.edu/academics/doctoral-degrees"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/doctoral_website_0.jpg" width="680" height="300" alt="" /></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><h3><a href="https://www.sci.pitt.edu/academics/doctoral-degrees">Doctoral Degrees</a></h3> <p>Many of the world’s most perplexing issues are advanced by research conducted by our <a href="https://www.sci.pitt.edu/academics/doctoral-degrees">PhD students</a> and their</p></span> </div></li> <li> <div class="views-field views-field-field-slider-item-image"> <div class="field-content"><a href="https://www.sci.pitt.edu/academics/graduate-certificates"><img typeof="foaf:Image" class="img-responsive" src="https://www.sci.pitt.edu/sites/default/files/slider-image/graduate_certificates_website_0.jpeg" width="680" height="300" alt="" /></a></div> </div> <div class="views-field views-field-nothing"> <span class="field-content"><h3><a href="https://www.sci.pitt.edu/academics/graduate-certificates">Graduate Certificates</a></h3> <p>We provide <a href="https://www.sci.pitt.edu/academics/graduate-certificates">graduate certificates</a> to help you stay up-to-date on the latest technologies and best</p></span> </div></li> </ul></div> </div> </div> </section> </div> </section> </div> </div> </div> <a id="main-content"></a> <div class="main-container container-fluid"> <div class="container" id="content-wrapper"> <div class="row"> <section class="col-sm-12 content" name="Highlights"> <h1 class="page-header">Home</h1> <div class="region region-content"> <section aria-label="" id="block-system-main" class="block block-system clearfix"> <div id="node-233" class="node node-page clearfix" about="/home" typeof="foaf:Document"> <div> <span property="dc:title" content="Home" class="rdf-meta element-hidden"></span> </div> </div> </section> <section aria-label="" id="block-views-77680d04baf0fe112348352ce8366894" class="block block-views news-events clearfix"> <div class="view view-home-page-news-and-events view-id-home_page_news_and_events view-display-id-block_1 two-column view-dom-id-ca476b02341e42295ce37b9a303e1dd5"> <div class="view-content"> <div class="views-row views-row-1 views-row-odd views-row-first views-row-last"> <div class="views-field views-field-php"> <div class="field-content view__news"> <h2 class="block-title">News</h2> <div class="view view-news-story view-id-news_story view-display-id-home_block news-block view-dom-id-76d22938e4a09cec8460b2aefacad7ab"> <div class="view-header"> <a href="/news">View All News</a> </div> <div class="view-content"> <div class="views-row views-row-1 views-row-odd views-row-first"> <div class="views-field views-field-php"> <span class="field-content news-block__title"><a href="/news/sci-students-alumni-professor-receive-awards-srds-2024-paper-compound-threats">SCI Students, Alumni, & Professor Receive Awards at SRDS 2024 for Paper on Compound Threats</a></span> </div> </div> <div class="views-row views-row-2 views-row-even"> <div class="views-field views-field-php"> <span class="field-content news-block__title"><a href="/news/building-better-teams-nikki-moberly">Building Better Teams: Nikki Moberly (SCI ’85) on Doing Delegation Better </a></span> </div> </div> <div class="views-row views-row-3 views-row-odd"> <div class="views-field views-field-php"> <span class="field-content news-block__title"><a href="/news/200-students-innovate-steelhacks-xi-hackathon">200+ Students Innovate at SteelHacks XI Hackathon </a></span> </div> </div> <div class="views-row views-row-4 views-row-even"> <div class="views-field views-field-php"> <span class="field-content news-block__title"><a href="/news/sci-phd-student-wins-allegheny-county-competition-supporting-refugees">SCI PhD Student Wins Allegheny County Competition on Supporting Refugees</a></span> </div> </div> <div class="views-row views-row-5 views-row-odd views-row-last"> <div class="views-field views-field-php"> <span class="field-content news-block__title"><a href="/news/phd-poster-slam-innovative-research">First Annual PhD Poster Slam Shows Innovative Research at SCI</a></span> </div> </div> </div> <div class="view-footer"> <a href="/news" class="more-link">View All News</a> </div> </div></div> </div> <div class="views-field views-field-php-2"> <div class="field-content"> <h2 class="block-title">Events</h2> <script type="text/javascript" src="https://calendar.pitt.edu/widget/view?schools=pitt&departments=school_of_computing_and_information_office_of_the_dean%2Cdepartment_of_computer_science%2Cdepartment_of_information_culture_and_data_stewardship%2Cdepartment_of_informatics_and_networked_systems%2Cintelligent_systems_program%2Csara_fine_institute&days=365&num=5&template=list-default-no-view-all-events-link"></script><a href="https://calendar.pitt.edu/school_of_computing_and_information" class="more-link" target="_blank">View All Events</a></div> </div> </div> </div> </div> </section> </div> </section> </div> </div><!-- /#content-wrapper --> </div><!-- /.main-container --> <footer class="footer container-fluid"> <div class="container"> <div class="site_title"> <div class="footer-logo footer__logo"> <img src="/sites/all/themes/pitt_theme_spirit/img/pitt_shield_white.png" width="261" alt="University of Pittsburgh logo" /> <div class="region region-footer-logo"> <section aria-label="" id="block-views-title-block-block-3" class="block block-views clearfix"> <div class="view view-title-block view-id-title_block view-display-id-block_3 footer-site-info--title-block view-dom-id-6face08dca1a87f635f5c5a0cc2988fc"> <div class="view-content"> <div> <span class="single_title site_logo"><a href="/" class="site-info__title">School of Computing and Information</a></span> </div> </div> </div> </section> </div> </div> </div> <div class="region region-footer"> <section aria-label="" id="block-views-title-block-footer-title-block" class="block block-views block__address-block clearfix"> <div class="view view-title-block view-id-title_block view-display-id-footer_title_block footer--title-block view-dom-id-749b521fbf7b31ee55ab66ee96d9ab54"> <div class="view-content"> <div> <div class="field-contact-info"> <p>Information Sciences Building, Fifth Floor<br /> 135 North Bellefield Avenue<br /> Pittsburgh, PA 15260</p> <p>412-383-4396</p> <p><a href="mailto:sciadmit@pitt.edu">sciadmit@pitt.edu</a></p> </div> </div> </div> </div> </section> <section aria-label="" id="block-nodesinblock-1" class="block block-nodesinblock clearfix"> <div class="nodesinblock first last odd" id="nodesinblock-207"> <div class="node-207 node node-block block-type-with-text nodesinblock--with-text clearfix nodesinblock--default" about="/block/resources-footer-block" typeof="sioc:Item foaf:Document"> <div class="block-column nodesinblock__column"> <div name="Resources Footer Block"> <h4>Resources<a href="https://www.coronavirus.pitt.edu/"></a></h4> <ul class="two-column"> <li><a href="/node/399">Departments and Programs</a></li> <li><a href="/node/501">Degrees and Programs</a></li> <li><a href="/node/333">Admissions</a></li> <li><a href="https://www.registrar.pitt.edu/calendars">Academic Calendar</a></li> <li><a href="https://courses.sci.pitt.edu">Course Schedule</a></li> <li><a href="/people">Faculty Directory</a></li> <li><a href="https://www.sci.pitt.edu/people/staff">Staff Directory</a></li> <li><a href="https://www.sci.pitt.edu/give-sci">Give Now</a></li> <li><a href="https://sciatpitt.wufoo.com/forms/q1emy2a21khuibd/">Submit Web Changes</a></li> </ul> </div> </div> </div> </div> </section> <section aria-label="" id="block-views-7991932e043137b92876af32e9d227ec" class="block block-views block__social-media clearfix"> <div class="view view-social-media-icons view-id-social_media_icons view-display-id-footer_social_block social-block footer--social-block view-dom-id-773a9257da99757ed1198aeb6d6674c7"> <div class="view-content"> <div class="views-row views-row-1 views-row-odd views-row-first"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="mailto:sciadmit@pitt.edu" target="_blank" title="Email Us"><span aria-label="Email Us" class="fa fa-envelope" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-2 views-row-even"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.facebook.com/SciPitt/" target="_blank" title="Find SCI on Facebook"><span aria-label="Find SCI on Facebook" class="fab fa-facebook-f" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-3 views-row-odd"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://twitter.com/SciPitt" target="_blank" title="Follow SCI Pitt on Twitter"><span aria-label="Follow SCI Pitt on Twitter" class="fab fa-twitter" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-4 views-row-even"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.linkedin.com/school/university-of-pittsburgh-school-of-computing-and-information/?viewAsMember=true" target="_blank" title="Follow SCI on LinkedIn"><span aria-label="Follow SCI on LinkedIn" class="fab fa-linkedin" aria-hidden="true"></span></a></span> </div> </div> <div class="views-row views-row-5 views-row-odd views-row-last"> <div class="views-field views-field-nothing"> <span class="field-content"><a href="https://www.instagram.com/pitt_sci/?hl=en" target="_blank" title="Follow SCI on Instagram"><span aria-label="Follow SCI on Instagram" class="fab fa-instagram" aria-hidden="true"></span></a></span> </div> </div> </div> </div> </section> </div> <div id="copyright" class="container-fluid footer__copyright"> <div class="region region-copyright"> <section aria-label="" id="block-block-1" class="block block-block clearfix"> <span>Revised 11/22/24</span><span>Copyright 2024</span> </section> </div> </div> </div> </footer> <script src="/sites/default/files/js/js_uTpGZRbRZm_lrt5640lI88hN-6jGIe3E3hxZcagIuss.js"></script> <script src="/sites/default/files/js/js_MRdvkC2u4oGsp5wVxBG1pGV5NrCPW3mssHxIn6G9tGE.js"></script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-b367e9f72e0ce8cc173","applicationID":"965156203","transactionName":"ZlxSYUECDURSUkNQVl8WZUdaTExeXVVSQRdBUUA=","queueTime":0,"applicationTime":497,"atts":"ShtRFwkYHko=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>