CINXE.COM

BioSENSE | UC Berkeley – A socio-physiological computing initiative at the School of Information at UC Berkeley

<!DOCTYPE html> <html lang="en-US" class="no-js"> <head> <meta charset="UTF-8"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1120173794",accountID:"3203426",trustKey:"3203426",xpid:"VwQHUlJRDhABVVBXAwcPUVUF",licenseKey:"NRJS-2da5071769eaafef60f",applicationID:"1115468714"};;/*! For license information please see nr-loader-spa-1.274.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>h,gD:()=>g,xN:()=>p});var n=r(993);const i=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var o=r(2614),a=r(944),s=r(384),c=r(8122);const u="[data-nr-mask]",d=()=>{const e={mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},feature_flags:[],generic_events:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},harvest:{tooManyRequestsDelay:60},jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},logging:{enabled:!0,harvestTimeSeconds:10,autoStart:!0,level:n.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},performance:{capture_marks:!1,capture_measures:!1},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:o.wk,inactiveMs:o.BB},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){i(t)?e.mask_selector="".concat(t,",").concat(u):""===t||null===t?e.mask_selector=u:(0,a.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){i(t)?e.block_selector+=",".concat(t):""!==t&&(0,a.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,a.R)(7,t)}},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},ssl:void 0,user_actions:{enabled:!0}}},l={},f="All configuration objects require an agent identifier!";function h(e){if(!e)throw new Error(f);if(!l[e])throw new Error("Configuration for ".concat(e," was never set"));return l[e]}function p(e,t){if(!e)throw new Error(f);l[e]=(0,c.a)(t,d());const r=(0,s.nY)(e);r&&(r.init=l[e])}function g(e,t){if(!e)throw new Error(f);var r=h(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.274.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=g(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var p=v()[s[e]];p&&p.push([f,e,r,a]);return a},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),h(a.gm,f),h(c.prototype,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,Zp:()=>i,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>s,Qu:()=>c,TZ:()=>a,ih:()=>u,tC:()=>i});var n=r(860);const i=["click","keydown","submit"],o="api",a=n.K7.softNav,s={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},c={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},u={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>R,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>w,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,w="-start",R="-end",x="-body",T="cb"+R,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),p=r(6344);const g=["setErrorHandler","finished","addToTrace","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",p.G4.RECORD,p.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),w=r(3785),R=r(2646),x=r(3434);function T(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,x.YM)(i),a=new R.y(s.P);return a.level=n.level,a.customAttributes=n.customAttributes,o.inPlace(t,[r],"wrap-logger-",a),i}function A(){const e=(0,h.pV)();g.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const E={};var S=r(9417),N=r(5603),O=r(5284);const _=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let I=!1;function j(e,t={},g,R){let{init:x,info:j,loader_config:P,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();j||(x=L.init,j=L.info,P=L.loader_config),(0,S.xN)(e.agentIdentifier,x||{}),(0,N.a)(e.agentIdentifier,P||{}),j.jsAttributes??={},d.bv&&(j.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,j);const H=(0,S.D0)(e.agentIdentifier),D=[j.beacon,j.errorBeacon];I||(H.proxy.assets&&(_(H.proxy.assets),D.push(H.proxy.assets)),H.proxy.beacon&&D.push(H.proxy.beacon),A(),(0,h.US)("activatedFeatures",O.B),e.runSoftNavOverSpa&&=!0===H.soft_navigations.enabled&&H.feature_flags.includes("soft_nav")),C.denyList=[...H.ajax.deny_list||[],...H.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const g={};var R=s.ee.get(e),x=R.get("tracer");E[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{E[e]=t}));var A="api-",S=A+"ixn-";function N(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(A,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}g.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,R),(0,w.R)(R,e,t,r)},g.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,R),T(R,e,t,{customAttributes:r,level:i})},m.forEach((e=>{g[e]=I(A,e,!0,"api")})),g.addPageAction=I(A,"addPageAction",!0,n.K7.genericEvents),g.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(A,"setPageViewName",!0)()},g.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return N(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},g.setUserId=function(e){if("string"==typeof e||null===e)return N("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},g.setApplicationVersion=function(e){if("string"==typeof e||null===e)return N("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},g.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,R),R.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},g[p.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.RECORD,[],void 0,n.K7.sessionReplay,R)},g[p.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,R),(0,a.p)(p.G4.PAUSE,[],void 0,n.K7.sessionReplay,R)},g.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const _=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,R),h||(0,a.p)(S+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,R),function(){if(x.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw x.emit("fn-err",[arguments,this,t],r),t}finally{x.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,R),i&&(0,a.p)(e+t,[(0,v.t)(),...arguments],r?null:this,i,R),r?void 0:this}}function j(){r.e(478).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),R.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{_[e]=I(S,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(S,"routeName",void 0,n.K7.softNav):I(A,"routeName",!0,n.K7.spa),g.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,R),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!E[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>j()),!0):j(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),I=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>o,K7:()=>n,P3:()=>i});const n={ajax:"ajax",genericEvents:"generic_events",jserrors:"jserrors",logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.spa]:5,[n.ajax]:6,[n.sessionTrace]:7,[n.softNav]:8,[n.sessionReplay]:9,[n.logging]:10,[n.genericEvents]:11},o={[n.pageViewTiming]:"events",[n.ajax]:"events",[n.spa]:"events",[n.softNav]:"events",[n.metrics]:"jserrors",[n.jserrors]:"jserrors",[n.sessionTrace]:"browser/blobs",[n.sessionReplay]:"browser/blobs",[n.logging]:"browser/logs",[n.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.274.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.274.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-1vUqEfJPB8Pihje9mv5CfYgkitO1FWcS+UQb84DbXqP8oYctRv4/lzl/MzNLPlRhcY1WVDBGL20I8vm6s2VV7g==",249:"sha512-Y/BeZAh6VSTmUtUNmS5XdyKxL92s30Fyyj8xVW76HSPxcKItL4+x2+kGMZc8pMJnUpZDz1L4eftZQAJh3D8NnA==",212:"sha512-Gn2tQ3qog5Yhrx/gRutkSTYPp+7nkKFt4/mIXg99LxcNpMDAYJZDBYmAACdoHNM86+iq1F3cBcQotFNzjIX8bw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.274.0.PROD"]=self["webpackChunk:NRBA-1.274.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(e=(0,r.LA)(16)){this.agentIdentifier=e}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),p=i(6154),g=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(478).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(t.sharedAggregator)await t.sharedAggregator;else{t.sharedAggregator=i.e(478).then(i.bind(i,9337));const{EventAggregator:e}=await t.sharedAggregator;t.sharedAggregator=new e}if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(478).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};p.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,g.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class w extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var R=i(384);var x=i(9908),T=i(2843),A=i(3878),E=i(782),S=i(1863);class N extends b{static featureName=E.T;constructor(e,t=!0){super(e,E.T,t),p.RI&&((0,T.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,E.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,E.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class _ extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),j=i(3304);class P{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,j.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new P(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(H(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function L(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new P(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return H(e.error)?e.error:C(e)}function H(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(e=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),p.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,x.p)("err",[k(e),(0,S.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),p.gm.addEventListener("error",(e=>{this.abortHandler&&(0,x.p)("err",[L(e),(0,S.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===p.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,j.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=p.gm.XMLHttpRequest,a=p.gm.MutationObserver,s=p.gm.Promise,c=p.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=p.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(g?g.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var g=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=p.gm.Request,ee=p.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&p.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(p.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof p.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,j.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,R.dV)().o.REQ,fe=(0,R.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,x.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};p.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};pe(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=R,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){T(t,e)}),(0,A.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},pe(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,S.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,S.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function g(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,S.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,S.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&p.RI&&(t=""+p.gm.location.href):e[0]&&e[0].url?t=e[0].url:p.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,S.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:p.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),pe(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function w(e,t){if(this.endTime=(0,S.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,S.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function R(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,S.t)()-this.startTime,this.loadCazptureCalled||4!==e.readyState?null==t.status&&(t.status=0):T(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function T(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,x.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",g),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",w)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function pe(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const ge={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!p.RI||ge[t.debugId]++||(ge[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:we,d3:Re,Kp:xe,TZ:Te,Lc:Ae,uP:Ee,Rz:Se}=be;class Ne extends b{static featureName=Te;constructor(e,t=!0){super(e,Te,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Ee,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,x.p)("bst",[e[0],t,this.bstStart,(0,S.t)()],void 0,a.K7.sessionTrace,r)})),r.on(Se+Re,(function(e){this.time=(0,S.t)(),this.startPath=location.pathname+location.hash})),r.on(Se+xe,(function(e){(0,x.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,x.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:we,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class _e extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,g.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,x.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,g.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class je extends b{static featureName=Ie.TZ;constructor(e,t=!0){if(super(e,Ie.TZ,t),!p.RI||!(0,R.dV)().o.MO)return;const r=ve(this.ee);Ie.tC.forEach((e=>{(0,A.sp)(e,(e=>{a(e)}),!0)}));const n=()=>(0,x.p)("newURL",[(0,S.t)(),""+window.location],void 0,this.featureName,this.ee);r.on("pushState-end",n),r.on("replaceState-end",n);try{this.removeOnAbort=new AbortController}catch(e){}(0,A.sp)("popstate",(e=>(0,x.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let i=!1;const o=new((0,R.dV)().o.MO)(((e,t)=>{i||(i=!0,requestAnimationFrame((()=>{(0,x.p)("newDom",[(0,S.t)()],void 0,this.featureName,this.ee),i=!1})))})),a=(0,v.s)((e=>{(0,x.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,{domObserver:o})}}var Pe=i(7378);const Ce={},ke=["appendChild","insertBefore","replaceChild"];function Le(e){const t=function(e){return(e||B.ee).get("jsonp")}(e);if(!p.RI||Ce[t.debugId])return t;Ce[t.debugId]=!0;var r=(0,W.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,ke,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,A.jT)(!1)),e.removeEventListener("error",f,(0,A.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,A.jT)(!1)),e.addEventListener("error",f,(0,A.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function De(e){const t=function(e){return(e||B.ee).get("promise")}(e);if(He[t.debugId])return t;He[t.debugId]=!0;var r=t.context,n=(0,W.YM)(t),i=p.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}p.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[W.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Me={},Ke="setTimeout",Ue="setInterval",Ve="clearTimeout",Ge="-start",Fe=[Ke,"setImmediate",Ue,Ve,"clearImmediate"];function Be(e){const t=function(e){return(e||B.ee).get("timer")}(e);if(Me[t.debugId]++)return t;Me[t.debugId]=1;var r=(0,W.YM)(t);return r.inPlace(p.gm,Fe.slice(0,2),Ke+"-"),r.inPlace(p.gm,Fe.slice(2,3),Ue+"-"),r.inPlace(p.gm,Fe.slice(3),Ve+"-"),t.on(Ue+Ge,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Ke+Ge,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const We={};function ze(e){const t=function(e){return(e||B.ee).get("mutation")}(e);if(!p.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,W.YM)(t),n=p.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:qe,d3:Ze,Kp:Ye,$p:Xe,wW:Je,e5:Qe,tH:$e,uP:et,rw:tt,Lc:rt}=Pe;class nt extends b{static featureName=qe;constructor(e,t=!0){if(super(e,qe,t),!p.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let r,n=0;const i=this.ee.get("tracer"),o=Le(this.ee),a=De(this.ee),s=Be(this.ee),c=Z(this.ee),u=this.ee.get("events"),d=ne(this.ee),l=ve(this.ee),f=ze(this.ee);function h(e,t){l.emit("newURL",[""+window.location,t])}function g(){n++,r=window.location.hash,this[et]=(0,S.t)()}function m(){n--,window.location.hash!==r&&h(0,!0);var e=(0,S.t)();this[Qe]=~~this[Qe]+e-this[et],this[rt]=e}function v(e,t){e.on(t,(function(){this[t]=(0,S.t)()}))}this.ee.on(et,g),a.on(tt,g),o.on(tt,g),this.ee.on(rt,m),a.on(Je,m),o.on(Je,m),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,x.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([et,rt,"xhr-resolved"],this.featureName),u.buffer([et],this.featureName),s.buffer(["setTimeout"+Ye,"clearTimeout"+Ze,et],this.featureName),c.buffer([et,"new-xhr","send-xhr"+Ze],this.featureName),d.buffer([$e+Ze,$e+"-done",$e+Xe+Ze,$e+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,Je,"executor-err","resolve"+Ze],this.featureName),i.buffer([et,"no-"+et],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),v(d,$e+Ze),v(d,$e+"-done"),v(o,"new-jsonp"),v(o,"jsonp-end"),v(o,"cb-start"),l.on("pushState-end",h),l.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,A.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,A.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var it=i(3333);class ot extends b{static featureName=it.TZ;constructor(e,t=!0){super(e,it.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled];p.RI&&e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>(0,A.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)))))),r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var at=i(993),st=i(3785);class ct extends b{static featureName=at.TZ;constructor(e,t=!0){super(e,at.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,st.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t,r){super(r),p.gm?(this.features={},(0,R.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(w),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,R.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[he,w,N,Ne,_e,_,D,ot,ct,je,nt],loaderType:"spa"})})()})();</script> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="pingback" href="https://biosense.berkeley.edu/xmlrpc.php"> <title>BioSENSE | UC Berkeley &#8211; A socio-physiological computing initiative at the School of Information at UC Berkeley</title> <meta name='robots' content='max-image-preview:large' /> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> <link rel="alternate" type="application/rss+xml" title="BioSENSE | UC Berkeley &raquo; Feed" href="https://biosense.berkeley.edu/feed/" /> <link rel="alternate" type="application/rss+xml" title="BioSENSE | UC Berkeley &raquo; Comments Feed" href="https://biosense.berkeley.edu/comments/feed/" /> <script type="text/javascript"> /* <![CDATA[ */ window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/biosense.berkeley.edu\/wp-includes\/js\/wp-emoji-release.min.js?ver=bd1c04e48cc5498db22c610428367775"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); /* ]]> */ </script> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://biosense.berkeley.edu/wp-includes/css/dist/block-library/style.min.css?ver=bd1c04e48cc5498db22c610428367775' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='contact-form-7-css' href='https://biosense.berkeley.edu/wp-content/plugins/contact-form-7/includes/css/styles.css?ver=6.0' type='text/css' media='all' /> <link rel='stylesheet' id='gdlr-core-google-font-css' href='https://fonts.googleapis.com/css?family=Roboto%3A100%2C100italic%2C300%2C300italic%2Cregular%2Citalic%2C500%2C500italic%2C700%2C700italic%2C900%2C900italic&#038;subset=cyrillic-ext%2Cvietnamese%2Clatin%2Ccyrillic%2Cgreek-ext%2Clatin-ext%2Cgreek&#038;ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='onepagepro-style-core-css' href='https://biosense.berkeley.edu/wp-content/themes/onepagepro/css/style-core.css?ver=bd1c04e48cc5498db22c610428367775' type='text/css' media='all' /> <link rel='stylesheet' id='onepagepro-custom-style-css' href='https://biosense.berkeley.edu/files/onepagepro-style-custom.css?1520999408&#038;ver=6.7' type='text/css' media='all' /> <link rel='stylesheet' id='gdlr-core-plugin-css' href='https://biosense.berkeley.edu/wp-content/plugins/goodlayers-core/plugins/combine/style.css?ver=bd1c04e48cc5498db22c610428367775' type='text/css' media='all' /> <link rel='stylesheet' id='gdlr-core-page-builder-css' href='https://biosense.berkeley.edu/wp-content/plugins/goodlayers-core/include/css/page-builder.css?ver=bd1c04e48cc5498db22c610428367775' type='text/css' media='all' /> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-core-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1" id="jquery-migrate-js"></script> <!--[if lt IE 9]> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/themes/onepagepro/js/html5.js?ver=bd1c04e48cc5498db22c610428367775" id="onepagepro-html5js-js"></script> <![endif]--> <link rel="https://api.w.org/" href="https://biosense.berkeley.edu/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://biosense.berkeley.edu/wp-json/wp/v2/pages/3999" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://biosense.berkeley.edu/xmlrpc.php?rsd" /> <link rel="canonical" href="https://biosense.berkeley.edu/" /> <link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://biosense.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbiosense.berkeley.edu%2F" /> <link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://biosense.berkeley.edu/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbiosense.berkeley.edu%2F&#038;format=xml" /> <style type="text/css">.recentcomments a{display:inline !important;padding:0 !important;margin:0 !important;}</style><meta name="generator" content="Powered by Slider Revolution 6.6.14 - responsive, Mobile-Friendly Slider Plugin for WordPress with comfortable drag and drop interface." /> <link rel="icon" href="https://biosense.berkeley.edu/files/2018/02/BioS_FullColorBrainhat-w500px_RGB-150x150.png" sizes="32x32" /> <link rel="icon" href="https://biosense.berkeley.edu/files/2018/02/BioS_FullColorBrainhat-w500px_RGB-501x500.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://biosense.berkeley.edu/files/2018/02/BioS_FullColorBrainhat-w500px_RGB-501x500.png" /> <meta name="msapplication-TileImage" content="https://biosense.berkeley.edu/files/2018/02/BioS_FullColorBrainhat-w500px_RGB-501x500.png" /> <script>function setREVStartSize(e){ //window.requestAnimationFrame(function() { window.RSIW = window.RSIW===undefined ? window.innerWidth : window.RSIW; window.RSIH = window.RSIH===undefined ? window.innerHeight : window.RSIH; try { var pw = document.getElementById(e.c).parentNode.offsetWidth, newh; pw = pw===0 || isNaN(pw) || (e.l=="fullwidth" || e.layout=="fullwidth") ? window.RSIW : pw; e.tabw = e.tabw===undefined ? 0 : parseInt(e.tabw); e.thumbw = e.thumbw===undefined ? 0 : parseInt(e.thumbw); e.tabh = e.tabh===undefined ? 0 : parseInt(e.tabh); e.thumbh = e.thumbh===undefined ? 0 : parseInt(e.thumbh); e.tabhide = e.tabhide===undefined ? 0 : parseInt(e.tabhide); e.thumbhide = e.thumbhide===undefined ? 0 : parseInt(e.thumbhide); e.mh = e.mh===undefined || e.mh=="" || e.mh==="auto" ? 0 : parseInt(e.mh,0); if(e.layout==="fullscreen" || e.l==="fullscreen") newh = Math.max(e.mh,window.RSIH); else{ e.gw = Array.isArray(e.gw) ? e.gw : [e.gw]; for (var i in e.rl) if (e.gw[i]===undefined || e.gw[i]===0) e.gw[i] = e.gw[i-1]; e.gh = e.el===undefined || e.el==="" || (Array.isArray(e.el) && e.el.length==0)? e.gh : e.el; e.gh = Array.isArray(e.gh) ? e.gh : [e.gh]; for (var i in e.rl) if (e.gh[i]===undefined || e.gh[i]===0) e.gh[i] = e.gh[i-1]; var nl = new Array(e.rl.length), ix = 0, sl; e.tabw = e.tabhide>=pw ? 0 : e.tabw; e.thumbw = e.thumbhide>=pw ? 0 : e.thumbw; e.tabh = e.tabhide>=pw ? 0 : e.tabh; e.thumbh = e.thumbhide>=pw ? 0 : e.thumbh; for (var i in e.rl) nl[i] = e.rl[i]<window.RSIW ? 0 : e.rl[i]; sl = nl[0]; for (var i in nl) if (sl>nl[i] && nl[i]>0) { sl = nl[i]; ix=i;} var m = pw>(e.gw[ix]+e.tabw+e.thumbw) ? 1 : (pw-(e.tabw+e.thumbw)) / (e.gw[ix]); newh = (e.gh[ix] * m) + (e.tabh + e.thumbh); } var el = document.getElementById(e.c); if (el!==null && el) el.style.height = newh+"px"; el = document.getElementById(e.c+"_wrapper"); if (el!==null && el) { el.style.height = newh+"px"; el.style.display = "block"; } } catch(e){ console.log("Failure at Presize of Slider:" + e) } //}); };</script> </head> <body data-rsssl=1 class="home page-template-default page page-id-3999 gdlr-core-body onepagepro-body onepagepro-body-front onepagepro-full onepagepro-with-sticky-navigation gdlr-core-link-to-lightbox"> <div class="onepagepro-mobile-header-wrap " ><div class="onepagepro-mobile-header onepagepro-header-background onepagepro-style-slide" id="onepagepro-mobile-header" ><div class="onepagepro-mobile-header-container onepagepro-container" ><div class="onepagepro-logo onepagepro-item-pdlr"><div class="onepagepro-logo-inner"><a href="https://biosense.berkeley.edu/" ><img src="https://biosense.berkeley.edu/files/2018/03/Biosense-opaque.png" alt="" width="1001" height="169" /></a></div></div><div class="onepagepro-mobile-menu-right" ><div class="onepagepro-mobile-menu" ><a class="onepagepro-mm-menu-button onepagepro-mobile-menu-button onepagepro-mobile-button-hamburger-with-border" href="#onepagepro-mobile-menu" ><i class="fa fa-bars" ></i></a><div class="onepagepro-mm-menu-wrap onepagepro-navigation-font" id="onepagepro-mobile-menu" data-slide="right" ><ul id="menu-main-menu" class="m-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-3999 current_page_item menu-item-4268"><a href="https://biosense.berkeley.edu/" aria-current="page">Home</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4266"><a href="https://biosense.berkeley.edu/people/">People</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4267"><a href="https://biosense.berkeley.edu/blog/">Blog</a></li> </ul></div></div></div></div></div></div><div class="onepagepro-body-outer-wrapper "> <div class="onepagepro-body-wrapper clearfix onepagepro-with-transparent-header onepagepro-with-frame"> <div class="onepagepro-header-background-transparent" > <header class="onepagepro-header-wrap onepagepro-header-style-plain onepagepro-style-menu-right onepagepro-sticky-navigation onepagepro-style-slide" data-navigation-offset="75px" > <div class="onepagepro-header-background" ></div> <div class="onepagepro-header-container onepagepro-container"> <div class="onepagepro-header-container-inner clearfix"> <div class="onepagepro-logo onepagepro-item-pdlr"><div class="onepagepro-logo-inner"><a href="https://biosense.berkeley.edu/" ><img src="https://biosense.berkeley.edu/files/2018/03/Biosense-opaque.png" alt="" width="1001" height="169" /></a></div></div> <div class="onepagepro-navigation onepagepro-item-pdlr clearfix onepagepro-navigation-submenu-indicator " > <div class="onepagepro-main-menu" id="onepagepro-main-menu" ><ul id="menu-main-menu-1" class="sf-menu"><li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home current-menu-item page_item page-item-3999 current_page_item menu-item-4268 onepagepro-normal-menu"><a href="https://biosense.berkeley.edu/">Home</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4266 onepagepro-normal-menu"><a href="https://biosense.berkeley.edu/people/">People</a></li> <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-4267 onepagepro-normal-menu"><a href="https://biosense.berkeley.edu/blog/">Blog</a></li> </ul></div> </div><!-- onepagepro-navigation --> </div><!-- onepagepro-header-inner --> </div><!-- onepagepro-header-container --> </header><!-- header --></div> <div class="onepagepro-page-wrapper" id="onepagepro-page-wrapper" ><div class="gdlr-core-page-builder-body"><div class="gdlr-core-pbf-wrapper " style="padding: 0px 0px 0px 0px;" id="home" ><div class="gdlr-core-pbf-wrapper-content gdlr-core-js " ><div class="gdlr-core-pbf-wrapper-container clearfix gdlr-core-pbf-wrapper-full-no-space" ><div class="gdlr-core-pbf-element" ><div class="gdlr-core-revolution-slider-item gdlr-core-item-pdlr gdlr-core-item-pdb " style="padding-bottom: 0px;" > <!-- START Projects Slider REVOLUTION SLIDER 6.6.14 --><p class="rs-p-wp-fix"></p> <rs-module-wrap id="rev_slider_1_1_wrapper" data-source="gallery" style="visibility:hidden;background:transparent;padding:0;margin:0px auto;margin-top:0;margin-bottom:0;"> <rs-module id="rev_slider_1_1" style="" data-version="6.6.14"> <rs-slides style="overflow: hidden; position: absolute;"> <rs-slide style="position: absolute;" data-key="rs-18" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2019/10/IMG_0833-e1571872978668-100x50.jpg" data-seoz="front" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2019/10/IMG_0833-e1571872978668.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-18-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:b;yo:37px;" data-text="w:normal;s:40;l:40;fw:700;a:inherit;" data-dim="w:500px;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >BioSENSE fun times </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-8" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2018/03/1EEG-100x50.jpeg" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2018/03/1EEG.jpeg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-8-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:c;" data-text="s:40;l:40;fw:700;a:inherit;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;st:0;" data-frame_999="o:0;tp:600;st:w;sR:8700;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Brainwave Authentication And Brain-<br/>Computer Interface Using In-Ear EEG </rs-layer><!-- --><rs-layer id="slider-1-slide-8-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/biosense/portfolio/brainwave-authentication-and-brain-computer-interface-using-in-ear-eeg/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;st:0;" data-frame_999="o:0;tp:600;st:w;sR:8700;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:6;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-19" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2018/03/BG7-100x50.jpg" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2018/03/BG7.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-19-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/biosense/people/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-10" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2019/01/Heart-Sounds-Bench-Blur-Gradient_smaller-100x50.jpg" data-link="//biosense.berkeley.edu/portfolio/heart-sounds-bench/" data-tag="l" data-target="_self" data-seoz="front" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2019/01/Heart-Sounds-Bench-Blur-Gradient_smaller.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-10-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:c;" data-text="s:40;l:40;fw:700;a:inherit;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Life-Affirming Biosensing with the Heart Sounds Bench </rs-layer><!-- --><rs-layer id="slider-1-slide-10-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/biosense/portfolio/ripple-tensions-of-data-driven-reflection/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:6;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-11" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2018/03/5ScienceFiction-100x50.jpg" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2018/03/5ScienceFiction.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-11-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:c;" data-text="s:40;l:40;fw:700;a:inherit;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Science Fiction And Design Fiction To <br/> Elicit Values In Sensing Technologies </rs-layer><!-- --><rs-layer id="slider-1-slide-11-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/biosense/portfolio/science-fiction-and-design-fiction-to-elicit-values-in-sensing-technologies/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:6;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-20" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2019/10/IMG_2872-2-100x50.jpg" data-seoz="front" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2019/10/IMG_2872-2.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-20-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:b;yo:37px;" data-text="w:normal;s:40;l:40;fw:700;a:inherit;" data-dim="w:1000px;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Magnet collection from going to conferences. </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-12" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2018/03/6Laughter-100x50.jpg" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2018/03/6Laughter.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-12-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:c;" data-text="s:40;l:40;fw:700;a:inherit;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Tangible Laughter </rs-layer><!-- --><rs-layer id="slider-1-slide-12-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/biosense/portfolio/tangible-laughter/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:6;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> <rs-slide style="position: absolute;" data-key="rs-17" data-title="Slide" data-thumb="//biosense.berkeley.edu/files/2019/10/IMG_0408-100x50.jpg" data-link="/2019/02/23/heart-sounds-buckets-at-worth-ryder-gallery/" data-tag="l" data-target="_self" data-seoz="front" data-anim="adpr:false;"> <img src="//biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/assets/dummy.png" alt="" title="Home" class="rev-slidebg tp-rs-img rs-lazyload" data-lazyload="//biosense.berkeley.edu/files/2019/10/IMG_0408.jpg" data-no-retina> <!-- --><rs-layer id="slider-1-slide-17-layer-1" class="large_text" data-type="text" data-color="#ffffff" data-rsp_ch="on" data-xy="x:c;y:c;" data-text="w:normal;s:40;l:40;fw:700;a:inherit;" data-dim="w:1000px;" data-padding="t:10;r:10;b:10;l:10;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" style="z-index:5;background-color:rgba(0,0,0,0.75);font-family:'Arial';position:absolute;text-shadow:0px 2px 5px rgba(0, 0, 0, 0.5);white-space:nowrap;" >Experiencing the Heart Sounds Buckets at Worth Ryder Gallery </rs-layer><!-- --><rs-layer id="slider-1-slide-17-layer-4" class="rev-btn" data-type="button" data-color="#ffffff" data-xy="x:520px;y:602px;" data-text="s:17;l:17;fw:500;a:inherit;" data-actions='o:click;a:simplelink;target:_self;url:/2019/02/23/heart-sounds-buckets-at-worth-ryder-gallery/;' data-rsp_bd="off" data-padding="t:12;r:35;b:12;l:35;" data-border="bor:30px,30px,30px,30px;" data-frame_0="tp:600;" data-frame_1="tp:600;sR:10;" data-frame_999="o:0;tp:600;st:w;sR:8690;" data-frame_hover="c:#000;bgc:#fff;boc:#000;bor:30px,30px,30px,30px;bos:solid;oX:50;oY:50;sp:0;e:none;" style="z-index:6;background-color:rgba(0,0,0,0.75);font-family:'Roboto';cursor:pointer;outline:none;box-shadow:none;box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;" >Learn More </rs-layer><!-- --> </rs-slide> </rs-slides> </rs-module> <script> setREVStartSize({c: 'rev_slider_1_1',rl:[1240,1024,778,480],el:[],gw:[1240],gh:[868],type:'standard',justify:'',layout:'fullwidth',mh:"0"});if (window.RS_MODULES!==undefined && window.RS_MODULES.modules!==undefined && window.RS_MODULES.modules["revslider11"]!==undefined) {window.RS_MODULES.modules["revslider11"].once = false;window.revapi1 = undefined;if (window.RS_MODULES.checkMinimal!==undefined) window.RS_MODULES.checkMinimal()} </script> </rs-module-wrap> <!-- END REVOLUTION SLIDER --> </div></div></div></div></div><div class="gdlr-core-pbf-wrapper " style="padding: 30px 0px 30px 0px;" id="about" ><div class="gdlr-core-pbf-wrapper-content gdlr-core-js " ><div class="gdlr-core-pbf-wrapper-container clearfix gdlr-core-container" ><div class="gdlr-core-pbf-element" ><div class="gdlr-core-title-item gdlr-core-item-pdb clearfix gdlr-core-center-align gdlr-core-title-item-caption-bottom gdlr-core-item-pdlr" ><div class="gdlr-core-title-item-title-wrap" ><h1 class="gdlr-core-title-item-title gdlr-core-skin-title" style="font-size: 45px;text-transform: none;" ><span class="gdlr-core-side-border-wrap" >BioSENSE<span class="gdlr-core-title-item-side-border gdlr-core-skin-divider gdlr-core-bottom-right" style="border-color: #14a085;" ></span></span></h1></div><span class="gdlr-core-title-item-caption gdlr-core-info-font gdlr-core-skin-caption" style="font-size: 20px;font-style: normal;margin-top: 15px;" >a socio-physiological computing initiative at UC Berkeley</span></div></div><div class="gdlr-core-pbf-element" ><div class="gdlr-core-text-box-item gdlr-core-item-pdlr gdlr-core-item-pdb gdlr-core-left-align" ><div class="gdlr-core-text-box-item-content" ><p>Biosensing technologies are finding their way beyond wristbands and eyeglasses, into clothing, furniture, and ingestibles. They offer opportunities for advances in our emotional and social wellbeing, but the sensitivity of data also raises important stewardship challenges. The group at UC Berkeley brings together a multi-disciplinary team to work on the future of biosensing and biosignaling.</p> </div></div></div></div></div></div><div class="gdlr-core-pbf-wrapper " style="padding: 30px 0px 30px 0px;" id="projects" ><div class="gdlr-core-pbf-wrapper-content gdlr-core-js " data-gdlr-animation="fadeInUp" data-gdlr-animation-duration="600ms" data-gdlr-animation-offset="0.8" ><div class="gdlr-core-pbf-wrapper-container clearfix gdlr-core-container" ><div class="gdlr-core-pbf-element" ><div class="gdlr-core-title-item gdlr-core-item-pdb clearfix gdlr-core-center-align gdlr-core-title-item-caption-top gdlr-core-item-pdlr" ><div class="gdlr-core-title-item-title-wrap" ><h2 class="gdlr-core-title-item-title gdlr-core-skin-title" style="text-transform: none;" ><span class="gdlr-core-side-border-wrap" >Projects<span class="gdlr-core-title-item-side-border gdlr-core-skin-divider gdlr-core-bottom-right" style="border-color: #14a085;" ></span></span></h2></div></div></div><div class="gdlr-core-pbf-element" ><div class="gdlr-core-portfolio-item gdlr-core-item-pdb clearfix gdlr-core-portfolio-item-style-grid" style="padding-bottom: 0px;" ><div class="gdlr-core-portfolio-item-holder gdlr-core-js-2 clearfix" data-layout="fitrows" ><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20 gdlr-core-column-first" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/vr-induced-awe-and-information-sharing/" ><img src="https://biosense.berkeley.edu/files/2019/10/Curran_etal_JASIST_2019_Fig1-700x711.jpg" alt="" width="700" height="711" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >VR-Induced Awe and Information Sharing</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/vr-induced-awe-and-information-sharing/" >VR-Induced Awe and Information Sharing</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/vivewell-futures-of-menstrual-biosensing/" ><img src="https://biosense.berkeley.edu/files/2019/10/vivewell-cover-photo.png" alt="fictional product catalog" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Vivewell: Futures of Menstrual Biosensing</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/vivewell-futures-of-menstrual-biosensing/" >Vivewell: Futures of Menstrual Biosensing</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/covert-embodied-choice-using-physiology-tracking-in-vr-to-explore-the-limits-of-privacy-during-decision-making/" ><img src="https://biosense.berkeley.edu/files/2019/10/cec-1.png" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Covert embodied choice: using physiology tracking in VR to explore the limits of privacy during decision-making</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/covert-embodied-choice-using-physiology-tracking-in-vr-to-explore-the-limits-of-privacy-during-decision-making/" >Covert embodied choice: using physiology tracking in VR to explore the limits of privacy during decision-making</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20 gdlr-core-column-first" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/heart-sounds-bench/" ><img src="https://biosense.berkeley.edu/files/2019/05/Heart-Sounds-Bench-Blur-Gradient_500x500px.jpg" alt="Two people sitting on the Heart Sounds Bench quietly listening to the live unfiltered sounds of their hearts blending together with the environment." width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Heart Sounds Bench</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/heart-sounds-bench/" >Heart Sounds Bench</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/biosensing-in-digitally-mediated-empathy/" ><img src="https://biosense.berkeley.edu/files/2019/10/IME_EDA_pic.png" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Biosensing in Digitally-Mediated Empathy</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/biosensing-in-digitally-mediated-empathy/" >Biosensing in Digitally-Mediated Empathy</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/when-bcis-have-apis-probing-everyday-brain-computer-interface-adoption/" ><img src="https://biosense.berkeley.edu/files/2018/06/BCI-Design-Fictions-500x500.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >When BCIs have APIs: Probing Everyday Brain-Computer Interface Adoption</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/when-bcis-have-apis-probing-everyday-brain-computer-interface-adoption/" >When BCIs have APIs: Probing Everyday Brain-Computer Interface Adoption</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20 gdlr-core-column-first" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/mind-reading-telepathy-for-beginners-intermediates/" ><img src="https://biosense.berkeley.edu/files/2018/03/square.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Mind Reading &amp; Telepathy for Beginners &amp; Intermediates</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/mind-reading-telepathy-for-beginners-intermediates/" >Mind Reading &amp; Telepathy for Beginners &amp; Intermediates</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/ebb-dynamic-materials-as-realtime-data-display/" ><img src="https://biosense.berkeley.edu/files/2018/03/ebb-small.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Ebb: Dynamic Materials As Realtime Data Display</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/ebb-dynamic-materials-as-realtime-data-display/" >Ebb: Dynamic Materials As Realtime Data Display</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/tangible-laughter/" ><img src="https://biosense.berkeley.edu/files/2018/03/laughter-small.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Tangible Laughter</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/tangible-laughter/" >Tangible Laughter</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20 gdlr-core-column-first" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/ripple-tensions-of-data-driven-reflection/" ><img src="https://biosense.berkeley.edu/files/2018/03/Ripple_lunch_blur_500x500.png" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Ripple: Tensions Of Data-Driven Reflection</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/ripple-tensions-of-data-driven-reflection/" >Ripple: Tensions Of Data-Driven Reflection</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/science-fiction-and-design-fiction-to-elicit-values-in-sensing-technologies/" ><img src="https://biosense.berkeley.edu/files/2018/03/sci-fi-design-fiction-small.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >Science Fiction And Design Fiction To Elicit Values In Sensing Technologies</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/science-fiction-and-design-fiction-to-elicit-values-in-sensing-technologies/" >Science Fiction And Design Fiction To Elicit Values In Sensing Technologies</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div><div class="gdlr-core-item-list gdlr-core-item-pdlr gdlr-core-column-20" ><div class="gdlr-core-portfolio-grid gdlr-core-left-align gdlr-core-style-normal" ><div class="gdlr-core-portfolio-thumbnail gdlr-core-media-image gdlr-core-style-title" ><div class="gdlr-core-portfolio-thumbnail-image-wrap gdlr-core-zoom-on-hover" ><a href="https://biosense.berkeley.edu/portfolio/the-social-meaning-of-an-elevated-heartrate/" ><img src="https://biosense.berkeley.edu/files/2018/03/trust-your-heart-small.jpg" alt="" width="500" height="500" /><span class="gdlr-core-image-overlay gdlr-core-portfolio-overlay gdlr-core-image-overlay-center-icon gdlr-core-js" style="background: rgba(10, 10, 10, 0.8) ;" ><span class="gdlr-core-image-overlay-content" ><span class="gdlr-core-portfolio-title gdlr-core-title-font" style="font-size: 21px;font-weight: 800;letter-spacing: 0px;text-transform: none;" >The Social Meaning Of An Elevated Heartrate</span></span></span></a></div></div><div class="gdlr-core-portfolio-content-wrap gdlr-core-skin-divider" ><h3 class="gdlr-core-portfolio-title gdlr-core-skin-title" style="font-size: 18px;text-transform: none;" ><a href="https://biosense.berkeley.edu/portfolio/the-social-meaning-of-an-elevated-heartrate/" >The Social Meaning Of An Elevated Heartrate</a></h3><div class="gdlr-core-portfolio-content" ></div></div></div></div></div><div class="gdlr-core-load-more-wrap gdlr-core-js gdlr-core-center-align gdlr-core-item-pdlr" data-ajax="gdlr_core_portfolio_ajax" data-settings="{&quot;category&quot;:&quot;&quot;,&quot;tag&quot;:&quot;&quot;,&quot;num-fetch&quot;:&quot;12&quot;,&quot;layout&quot;:&quot;fitrows&quot;,&quot;thumbnail-size&quot;:&quot;Portfolio Thumbnail Portrait&quot;,&quot;orderby&quot;:&quot;date&quot;,&quot;order&quot;:&quot;desc&quot;,&quot;portfolio-style&quot;:&quot;grid&quot;,&quot;hover&quot;:&quot;title&quot;,&quot;hover-info&quot;:[&quot;title&quot;],&quot;has-column&quot;:&quot;yes&quot;,&quot;no-space&quot;:&quot;no&quot;,&quot;excerpt&quot;:&quot;specify-number&quot;,&quot;excerpt-number&quot;:&quot;55&quot;,&quot;column-size&quot;:&quot;20&quot;,&quot;filterer&quot;:&quot;none&quot;,&quot;filterer-align&quot;:&quot;center&quot;,&quot;pagination&quot;:&quot;load-more&quot;,&quot;id&quot;:&quot;&quot;,&quot;class&quot;:&quot;&quot;,&quot;pagination-style&quot;:&quot;default&quot;,&quot;pagination-align&quot;:&quot;default&quot;,&quot;portfolio-grid-text-align&quot;:&quot;left&quot;,&quot;portfolio-grid-style&quot;:&quot;normal&quot;,&quot;portfolio-frame-opacity&quot;:&quot;1&quot;,&quot;enable-portfolio-tag&quot;:&quot;disable&quot;,&quot;enable-portfolio-date&quot;:&quot;disable&quot;,&quot;portfolio-medium-size&quot;:&quot;small&quot;,&quot;portfolio-medium-style&quot;:&quot;left&quot;,&quot;enable-thumbnail-zoom-on-hover&quot;:&quot;enable&quot;,&quot;enable-thumbnail-grayscale-effect&quot;:&quot;disable&quot;,&quot;enable-badge&quot;:&quot;enable&quot;,&quot;carousel-autoslide&quot;:&quot;enable&quot;,&quot;carousel-navigation&quot;:&quot;navigation&quot;,&quot;read-more-button&quot;:&quot;disable&quot;,&quot;overlay-color&quot;:&quot;#0a0a0a&quot;,&quot;overlay-opacity&quot;:&quot;0.8&quot;,&quot;portfolio-title-font-size&quot;:&quot;18px&quot;,&quot;portfolio-title-font-weight&quot;:&quot;&quot;,&quot;portfolio-title-letter-spacing&quot;:&quot;&quot;,&quot;portfolio-title-text-transform&quot;:&quot;none&quot;,&quot;portfolio-hover-title-font-size&quot;:&quot;21px&quot;,&quot;portfolio-hover-title-font-weight&quot;:&quot;800&quot;,&quot;portfolio-hover-title-letter-spacing&quot;:&quot;0px&quot;,&quot;portfolio-hover-title-text-transform&quot;:&quot;none&quot;,&quot;filterer-bottom-margin&quot;:&quot;&quot;,&quot;portfolio-title-bottom-margin&quot;:&quot;&quot;,&quot;padding-bottom&quot;:&quot;0px&quot;,&quot;title-align&quot;:&quot;left&quot;,&quot;title-left-icon&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;side-border&quot;:&quot;none&quot;,&quot;caption&quot;:&quot;&quot;,&quot;caption-position&quot;:&quot;top&quot;,&quot;title-width&quot;:&quot;300px&quot;,&quot;read-more-text&quot;:&quot;Read More&quot;,&quot;read-more-link&quot;:&quot;&quot;,&quot;read-more-target&quot;:&quot;_self&quot;,&quot;title-size&quot;:&quot;41px&quot;,&quot;title-font-style&quot;:&quot;&quot;,&quot;title-text-transform&quot;:&quot;uppercase&quot;,&quot;caption-top-padding&quot;:&quot;0px&quot;,&quot;caption-size&quot;:&quot;16px&quot;,&quot;caption-font-style&quot;:&quot;&quot;,&quot;read-more-size&quot;:&quot;14px&quot;,&quot;title-left-icon-color&quot;:&quot;&quot;,&quot;title-color&quot;:&quot;&quot;,&quot;side-border-divider-color&quot;:&quot;&quot;,&quot;caption-color&quot;:&quot;&quot;,&quot;read-more-color&quot;:&quot;&quot;,&quot;title-wrap-bottom-margin&quot;:&quot;&quot;,&quot;title-carousel-nav-style&quot;:&quot;default&quot;,&quot;lightbox-group&quot;:&quot;gdlr-core-img-group-1&quot;,&quot;paged&quot;:1}" data-target="gdlr-core-portfolio-item-holder" data-target-action="append" ><a href="#" class="gdlr-core-load-more gdlr-core-button-color" data-ajax-name="paged" data-ajax-value="2" >Load More</a></div></div></div></div></div></div></div></div><footer><div class="onepagepro-footer-wrapper" ><div class="onepagepro-footer-background" ></div><div class="onepagepro-footer-container onepagepro-container clearfix" ><div class="onepagepro-footer-column onepagepro-item-pdlr onepagepro-column-20" ><div id="media_image-3" class="widget widget_media_image onepagepro-widget"><img width="300" height="70" src="https://biosense.berkeley.edu/files/2018/02/berkeley_logo-300x70.png" class="image wp-image-4179 attachment-medium size-medium" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://biosense.berkeley.edu/files/2018/02/berkeley_logo-300x70.png 300w, https://biosense.berkeley.edu/files/2018/02/berkeley_logo.png 490w" sizes="auto, (max-width: 300px) 100vw, 300px" /></div><div id="text-3" class="widget widget_text onepagepro-widget"> <div class="textwidget"><p>BioSENSE聽is a socio-physiological computing initiative located within the聽<a href="http://ischool.berkeley.edu/">School of Information</a>聽at UC Berkeley.</p> <p><em>Website designed and developed by <a href="https://www.linkedin.com/in/rohitraghavan1/" target="_blank" rel="noopener">Rohit Raghavan</a>.</em></p> </div> </div></div><div class="onepagepro-footer-column onepagepro-item-pdlr onepagepro-column-40" ><div id="gdlr-core-recent-post-widget-2" class="widget widget_gdlr-core-recent-post-widget onepagepro-widget"><h3 class="onepagepro-widget-title"><span class="onepagepro-widget-head-text">RECENT POSTS</span><span class="onepagepro-widget-head-divider"></span></h3><span class="clear"></span><div class="gdlr-core-recent-post-widget-wrap gdlr-core-style-1"><div class="gdlr-core-recent-post-widget clearfix"><div class="gdlr-core-recent-post-widget-content"><div class="gdlr-core-recent-post-widget-title"><a href="https://biosense.berkeley.edu/2019/10/23/biosense-alumni-nick-merrill-gives-dissertation-talk/" >BioSENSE alumni Nick Merrill Gives Dissertation Talk</a></div><div class="gdlr-core-recent-post-widget-info"><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-date"><span class="gdlr-core-head" ><i class="fa fa-clock-o"></i></span><a href="https://biosense.berkeley.edu/2019/10/23/">October 23, 2019</a></span><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-author"><span class="gdlr-core-head" ><i class="fa fa-pencil"></i></span><a href="https://biosense.berkeley.edu/author/jeremy/" title="Posts by Jeremy Gordon" rel="author">Jeremy Gordon</a></span></div></div></div><div class="gdlr-core-recent-post-widget clearfix"><div class="gdlr-core-recent-post-widget-thumbnail gdlr-core-media-image" ><img src="https://biosense.berkeley.edu/files/2019/05/slide-2-150x150.png" alt="" width="150" height="150" /></div><div class="gdlr-core-recent-post-widget-content"><div class="gdlr-core-recent-post-widget-title"><a href="https://biosense.berkeley.edu/2019/05/10/bringing-design-to-the-privacy-table-broadening-design-in-privacy-by-design-chi-2019-talk/" >Bringing Design to the Privacy Table: Broadening Design in Privacy by Design [CHI 2019 Talk]</a></div><div class="gdlr-core-recent-post-widget-info"><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-date"><span class="gdlr-core-head" ><i class="fa fa-clock-o"></i></span><a href="https://biosense.berkeley.edu/2019/05/10/">May 10, 2019</a></span><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-author"><span class="gdlr-core-head" ><i class="fa fa-pencil"></i></span><a href="https://biosense.berkeley.edu/author/richmond/" title="Posts by Richmond Wong" rel="author">Richmond Wong</a></span></div></div></div><div class="gdlr-core-recent-post-widget clearfix"><div class="gdlr-core-recent-post-widget-content"><div class="gdlr-core-recent-post-widget-title"><a href="https://biosense.berkeley.edu/2019/02/23/heart-sounds-buckets-at-worth-ryder-gallery/" >Heart Sounds Buckets at Worth Ryder Gallery</a></div><div class="gdlr-core-recent-post-widget-info"><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-date"><span class="gdlr-core-head" ><i class="fa fa-clock-o"></i></span><a href="https://biosense.berkeley.edu/2019/02/23/">February 23, 2019</a></span><span class="gdlr-core-blog-info gdlr-core-blog-info-font gdlr-core-skin-caption gdlr-core-blog-info-author"><span class="gdlr-core-head" ><i class="fa fa-pencil"></i></span><a href="https://biosense.berkeley.edu/author/noura-howell/" title="Posts by Noura Howell" rel="author">Noura Howell</a></span></div></div></div></div></div></div></div></div></footer></div></div><a href="#onepagepro-top-anchor" class="onepagepro-footer-back-to-top-button" id="onepagepro-footer-back-to-top-button"><i class="fa fa-angle-up" ></i></a> <script> window.RS_MODULES = window.RS_MODULES || {}; window.RS_MODULES.modules = window.RS_MODULES.modules || {}; window.RS_MODULES.waiting = window.RS_MODULES.waiting || []; window.RS_MODULES.defered = true; window.RS_MODULES.moduleWaiting = window.RS_MODULES.moduleWaiting || {}; window.RS_MODULES.type = 'compiled'; </script> <script> if(typeof revslider_showDoubleJqueryError === "undefined") {function revslider_showDoubleJqueryError(sliderID) {console.log("You have some jquery.js library include that comes after the Slider Revolution files js inclusion.");console.log("To fix this, you can:");console.log("1. Set 'Module General Options' -> 'Advanced' -> 'jQuery & OutPut Filters' -> 'Put JS to Body' to on");console.log("2. Find the double jQuery.js inclusion and remove it");return "Double Included jQuery Library";}} </script> <link rel="preload" as="font" id="rs-icon-set-revicon-woff" href="https://biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/fonts/revicons/revicons.woff?5510888" type="font/woff" crossorigin="anonymous" media="all" /> <link rel='stylesheet' id='rs-plugin-settings-css' href='https://biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/css/rs6.css?ver=6.6.14' type='text/css' media='all' /> <style id='rs-plugin-settings-inline-css' type='text/css'> #rev_slider_1_1_wrapper .hesperiden.tparrows{cursor:pointer;background:rgba(0,0,0,0.5);width:40px;height:40px;position:absolute;display:block;z-index:1000; border-radius:50%}#rev_slider_1_1_wrapper .hesperiden.tparrows.rs-touchhover{background:#000000}#rev_slider_1_1_wrapper .hesperiden.tparrows:before{font-family:'revicons';font-size:20px;color:#ffffff;display:block;line-height:40px;text-align:center}#rev_slider_1_1_wrapper .hesperiden.tparrows.tp-leftarrow:before{content:'\e82c'; margin-left:-3px}#rev_slider_1_1_wrapper .hesperiden.tparrows.tp-rightarrow:before{content:'\e82d'; margin-right:-3px}#rev_slider_1_1_wrapper .hesperiden.tp-bullets{}#rev_slider_1_1_wrapper .hesperiden.tp-bullets:before{content:' ';position:absolute;width:100%;height:100%;background:transparent;padding:10px;margin-left:-10px;margin-top:-10px;box-sizing:content-box; border-radius:8px}#rev_slider_1_1_wrapper .hesperiden .tp-bullet{width:12px;height:12px;position:absolute;background:#999999; background:-moz-linear-gradient(top,#999999 0%,#e1e1e1 100%); background:-webkit-linear-gradient(top,#999999 0%,#e1e1e1 100%); background:-o-linear-gradient(top,#999999 0%,#e1e1e1 100%); background:-ms-linear-gradient(top,#999999 0%,#e1e1e1 100%); background:linear-gradient(to bottom,#999999 0%,#e1e1e1 100%); filter:progid:dximagetransform.microsoft.gradient( startcolorstr='#999999',endcolorstr='#e1e1e1',gradienttype=0 ); border:3px solid #e5e5e5;border-radius:50%;cursor:pointer;box-sizing:content-box}#rev_slider_1_1_wrapper .hesperiden .tp-bullet.rs-touchhover,#rev_slider_1_1_wrapper .hesperiden .tp-bullet.selected{background:#666666}#rev_slider_1_1_wrapper .hesperiden .tp-bullet-image{}#rev_slider_1_1_wrapper .hesperiden .tp-bullet-title{} </style> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-includes/js/dist/hooks.min.js?ver=4d63a3d491d11ffd8ac6" id="wp-hooks-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script type="text/javascript" id="wp-i18n-js-after"> /* <![CDATA[ */ wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); /* ]]> */ </script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/contact-form-7/includes/swv/js/index.js?ver=6.0" id="swv-js"></script> <script type="text/javascript" id="contact-form-7-js-before"> /* <![CDATA[ */ var wpcf7 = { "api": { "root": "https:\/\/biosense.berkeley.edu\/wp-json\/", "namespace": "contact-form-7\/v1" } }; /* ]]> */ </script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/contact-form-7/includes/js/index.js?ver=6.0" id="contact-form-7-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/js/rbtools.min.js?ver=6.6.14" defer async id="tp-tools-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/revslider/public/assets/js/rs6.min.js?ver=6.6.14" defer async id="revmin-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-includes/js/jquery/ui/effect.min.js?ver=1.13.3" id="jquery-effects-core-js"></script> <script type="text/javascript" id="onepagepro-script-core-js-extra"> /* <![CDATA[ */ var onepagepro_script_core = {"home_url":"https:\/\/biosense.berkeley.edu\/"}; /* ]]> */ </script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/themes/onepagepro/js/script-core.js?ver=1.0.0" id="onepagepro-script-core-js"></script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/goodlayers-core/plugins/combine/script.js?ver=bd1c04e48cc5498db22c610428367775" id="gdlr-core-plugin-js"></script> <script type="text/javascript" id="gdlr-core-page-builder-js-extra"> /* <![CDATA[ */ var gdlr_core_pbf = {"admin":"","video":{"width":"640","height":"360"},"ajax_url":"https:\/\/biosense.berkeley.edu\/wp-admin\/admin-ajax.php","ilightbox_skin":"dark"}; /* ]]> */ </script> <script type="text/javascript" src="https://biosense.berkeley.edu/wp-content/plugins/goodlayers-core/include/js/page-builder.js?ver=bd1c04e48cc5498db22c610428367775" id="gdlr-core-page-builder-js"></script> <script id="rs-initialisation-scripts"> var tpj = jQuery; var revapi1; if(window.RS_MODULES === undefined) window.RS_MODULES = {}; if(RS_MODULES.modules === undefined) RS_MODULES.modules = {}; RS_MODULES.modules["revslider11"] = {once: RS_MODULES.modules["revslider11"]!==undefined ? RS_MODULES.modules["revslider11"].once : undefined, init:function() { window.revapi1 = window.revapi1===undefined || window.revapi1===null || window.revapi1.length===0 ? document.getElementById("rev_slider_1_1") : window.revapi1; if(window.revapi1 === null || window.revapi1 === undefined || window.revapi1.length==0) { window.revapi1initTry = window.revapi1initTry ===undefined ? 0 : window.revapi1initTry+1; if (window.revapi1initTry<20) requestAnimationFrame(function() {RS_MODULES.modules["revslider11"].init()}); return;} window.revapi1 = jQuery(window.revapi1); if(window.revapi1.revolution==undefined){ revslider_showDoubleJqueryError("rev_slider_1_1"); return;} revapi1.revolutionInit({ revapi:"revapi1", sliderLayout:"fullwidth", visibilityLevels:"1240,1024,778,480", gridwidth:1240, gridheight:868, lazyType:"smart", spinner:"spinner5", perspectiveType:"local", responsiveLevels:"1240,1024,778,480", progressBar:{disableProgressBar:true}, navigation: { mouseScrollNavigation:false, onHoverStop:false, touch: { touchenabled:true, touchOnDesktop:true }, arrows: { enable:true, style:"hesperiden", left: { }, right: { } }, bullets: { enable:true, tmp:"", style:"hesperiden" } }, viewPort: { global:true, globalDist:"-200px", enable:false, visible_area:"20%" }, fallbacks: { allowHTML5AutoPlayOnAndroid:true }, }); }} // End of RevInitScript if (window.RS_MODULES.checkMinimal!==undefined) { window.RS_MODULES.checkMinimal();}; </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRJS-2da5071769eaafef60f","applicationID":"1115468714","transactionName":"ZwFQY0tZXRYEBkRYCl5Lc1RNUVwLShVRVgA=","queueTime":0,"applicationTime":187,"atts":"S0ZTFQNDThg=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>

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