CINXE.COM
ELISPOT Readers and Analyzers | ImmunoSpot®
<!doctype html> <html lang="en"> <head > <script> var LOCALE = 'en\u002DUS'; var BASE_URL = 'https\u003A\u002F\u002Fimmunospot.com\u002F'; var require = { 'baseUrl': 'https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US' };</script> <meta charset="utf-8"/><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.eu01.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"322539704",accountID:"2918290",trustKey:"2918290",xpid:"Vg8GWVRaCBACUVBWBAgBXl0=",licenseKey:"NRJS-694e2d93d0829b3aaa4",applicationID:"251439689"};;/*! 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="title" content="ELISPOT Readers and Analyzers | ImmunoSpot®"/> <meta name="description" content="We offer a wide range of multifunctional ELISPOT/FluoroSpot readers and analyzers, enabling PBMC counting, cytotoxicity testing, and more."/> <meta name="keywords" content="ImmunoSpot® Analyzers"/> <meta name="robots" content="INDEX,FOLLOW"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="format-detection" content="telephone=no"/> <title>ELISPOT Readers and Analyzers | ImmunoSpot®</title> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/mage/calendar.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/styles-m.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/jquery.fancybox.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/bootstrap.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/tiny-slider.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/chartist.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/fonts.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/MSP_LightGallery/css/lightgallery.min.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/StripeIntegration_Payments/css/stripe_payments.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/autocomplete.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/grid.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/algolia-reset.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/instantsearch.v3.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/recommend.css" /> <link rel="stylesheet" type="text/css" media="screen and (min-width: 768px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/styles-l.css" /> <link rel="stylesheet" type="text/css" media="print" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/css/print.css" /> <link rel="stylesheet" type="text/css" media="screen and (max-width: 1315px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/WeltPixel_NavigationLinks/css/navigation_mobile.css" /> <link rel="stylesheet" type="text/css" media="screen and (min-width: 1316px)" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/WeltPixel_NavigationLinks/css/navigation_desktop.css" /> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/requirejs/require.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/mage/requirejs/mixins.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/requirejs-config.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Itoris_DynamicProductOptions/js/minicart-option-images.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/StripeIntegration_Payments/js/stripe_payments.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/internals/common.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/instantsearch.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/insights.js"></script> <script type="text/javascript" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Algolia_AlgoliaSearch/recommend.js"></script> <link rel="icon" type="image/x-icon" href="https://immunospot.com/media/favicon/stores/1/dots-immunos.png" /> <link rel="shortcut icon" type="image/x-icon" href="https://immunospot.com/media/favicon/stores/1/dots-immunos.png" /> <meta name="google-site-verification" content="5qPKu5n-naBtIlshpkYckT6SgonlH9oRKKBNBnGujuM" /> <meta name="p:domain_verify" content="yWzhCNk9m0a9DvwRvSe3gfhAKHNupdvi"/> <style> .mp-attachment-container li.mp-attachment-tab__item { max-width: fit-content; } .imu-related_prd_slider .slick-prev { top: 74px !important; left: -16px !important; width: 40px; height: 40px; border-radius: 50%; background-color: #027EC4 !important; cursor: pointer; } .imu-related_prd_slider .slick-next { top: 74px; left:unset; width: 40px; height: 40px; border-radius: 50%; background-color: #027EC4 !important; cursor: pointer; right: -20px; } .imu-related_prd_slider .slick-prev:before{ position: absolute; top: 11px !important; left: 9px; font-size: 20px; color: #ffffff; } .imu-related_prd_slider .slick-next:before { top: 11px; left: 7px; font-size: 20px; position: absolute; color: #ffffff; } .imu-related_prd_slider .col-md-2 .text-center{ word-break: break-all; white-space: normal; } .imu-related_prd_slider .slick-slide img { max-width: 144px; } .imu-related_prd_slider .slick-slide { margin: 0px 15px; max-width: 180px !important; } .product-options-bottom .box-tocart { margin-bottom: 62px; } @media only screen and (max-width: 1280px) and (min-width: 768px) { .imu-related_prd_slider .slick-prev{ left: 5px !important; } .imu-related_prd_slider .slick-next { right: 2px !important; } } @media only screen and (max-width: 1024px) and (min-width: 992px) { .imu-related_prd_slider .slick-prev{ top: 63px !important; } .imu-related_prd_slider .slick-next { top: 63px !important; } } @media only screen and (min-width:993px){ .catalog-product-view .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks { width: 60% !important; } .catalog-product-view .col-lg-6.cs-content.order-2.product-attributes-blocks { width: 40%; } .catalog-product-view .col-lg-6.order-2 .fotorama__stage__frame .fotorama__img { left: 50% !important; } } @media only screen and (min-width:768px) { .imu-products-related .products-list .product-item { word-break: break-all; white-space: normal; } } @media (min-width: 991px) and (max-width: 1024px){ .catalog-product-view .col-lg-6.order-2 .product.media { margin-left: 0% !important; } } .page-title-wrapper.product { width: 100% !important; } .catalog-category-view main#maincontent { position: relative; width: 100%; border-bottom: 0px solid #e0dfe6!important; } .field.choice.admin__field.admin__field-option.anti-ferret-size input { margin-top: 5px; } .catalog-product-view .page-footer { margin-top: 60px; } .catalog-product-view .block-static-block.widget{margin-bottom: 8px;} .field.choice.admin__field.admin__field-option.anti-ferret-size { margin-top: 5px !important; margin-left: 15px !important; } .mp-attachment-tab.b-cell-ferret-anti-doc-sec { padding-left: 10px; } .b-cell-ferret-anti-doc-sec span.mp-attachment-tab__item__name { font-size: 16px; } @media (min-width: 768px) and (max-width: 992px) { .algolia-instant-selector-results div#algolia_instant_selector{ margin-top: 45px !important; } } .pagebuilder-column.related_products_section-hum { display:none!important; } .catalog-product-view .product-info-main .mp-attachment-tab li.mp-attachment-tab__item span.mp-attachment-tab__item__name{ font-size: 16px; } .catalog-product-view .product-info-main .mp-attachment-tab li.mp-attachment-tab__item { margin-bottom: 0.5rem; } .mp-attachment-container h2 { font-weight: bolder; font-size: 26px; line-height: 34px; } .catalog-product-view .product-info-main .overview h3.font-weight-bold{ font-weight: bolder; font-size: 26px; line-height: 34px; } .catalog-product-view .product-info-main .overview{ margin-top: 35px !important; margin-bottom:0px !important; } .catalog-product-view .product-info-main .overview .py-5 { padding-bottom: 68px!important; } .mp-attachment-tab{ margin-bottom:0px !important;} .catalog-product-view .product-info-main .product.attribute.overview .bg-light .col-md-8.row p:empty { display: none; } .catalog-product-view .product-info-main .overview .py-5 .row:last-child p:last-child { margin-bottom: 0px; } .catalog-product-view .product.attribute.overview .bg-light { padding-top: 80px; } .catalog-product-view .product.attribute.overview table.table.table-bordered { margin-bottom: 0px; } .pagebuilder-column.related_products_section_c1 { width:50%!important; margin-left: 0px!important; } .pagebuilder-column.related_products_section_c2{ width:50%!important; } .service-products.row.mt-4.mb-4 { margin-left: -26px; } .catalog-product-view { .btn-primary { padding: 2px 20px!important; } } .product-ctl-tva-suite .modal-popup .modal-inner-wrap { width: 50% !important } @media only screen and (max-width: 767px){ .catalog-product-view .page-footer { margin-top: 42px !important; } .product-ctl-tva-suite .modal-popup.modal-slide .modal-inner-wrap { margin: 0 auto; max-height: 100%; height: auto; } .product-ctl-tva-suite .modal-popup .modal-inner-wrap { width: 100% !important; } button.us-demo.action.btn.btn-primary { margin-bottom: 40px; } .cross-reference .modal-body .mob-tab{ overflow: scroll; display: block; } .cross-reference .modal-body thead th{ display: table-cell; } .catalog-product-view .product-info-main .overview .py-5 { padding-bottom: 50px !important; padding-top: 30px !important; } body.catalog-product-view .product-info-main .product.attribute.overview { margin-top: 50px !important; } .catalog-product-view .product-info-main .product.attribute.overview .bg-light { margin-bottom: -30px; } body .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks{ margin-top: -30px!important;} .catalog-product-view .column.main.container .recommend-component{margin-bottom:0px;} .catalog-product-view .column.main.container {display:block;padding-bottom:0px} .mp-attachment-tab.b-cell-ferret-anti-doc-sec { padding-left: 3px; } .catalog-product-view .product-info-main{ margin-top: -60px;} .catalog-product-view .product.attribute.overview .bg-light { padding-top: 0px; } } @media only screen and (min-width: 768px) and (max-width: 1200px){ .product-ctl-tva-suite .modal-popup._show .modal-inner-wrap { width: auto !important; margin: 7rem 0px !important; position: initial; } } @media (min-width: 768px) and (max-width: 992px){ .header-product-row.row { width: 100%; margin-top: 0px !important; } } @media only screen and (max-width: 992px){ .col-lg-6.pt-0.pl-lg-3.pb-md-2.order-1.product-attributes-blocks{ margin-top: 0px!important;} } @media (min-width: 993px) and (max-width: 1100px) { .ais-RefinementList label.ais-RefinementList-label { white-space: unset !important; } } .filter_active .ais-Panel .ais-Panel-body li .ais-RefinementList-label { display: flex; line-height: 22px; } .filter_active .ais-Panel .ais-Panel-body li .ais-RefinementList-label:before { padding-right: 20px; } </style> <script> require(['jquery', 'slick'], function($) { $(document).ready(function($) { if ($(window).innerWidth() > 767) { $(".imu-products-related .imu-related_prd_slider").slick({ dots: false, infinite: false, speed: 300, slidesToShow: 6, slidesToScroll: 6, responsive: [ { breakpoint: 992, settings: { slidesToShow: 4, slidesToScroll: 4 } } ] }); var maxHt = Math.max.apply(null, $(".imu-related_prd_slider .col-md-2 .text-center").map(function() { return $(this).height(); }).get()); $("<style type='text/css'> .imu-related_prd_slider .col-md-2 .text-center{ min-height:" + (maxHt + 0) + "px;} </style>").appendTo("head"); if ($(".imu-related_prd_slider .slick-arrow").length > 0){ $('.imu-related_prd_slider').addClass('slide-active'); }else{ $('.imu-related_prd_slider').removeClass('slide-active'); } if ($(window).innerWidth() >= 768 && $(window).innerWidth() <= 1280) { $('.imu-products-related .imu-related_prd_slider').css('padding', '0px 40px 0 38px'); } else { $('.imu-products-related .imu-related_prd_slider').css('padding', '0'); } } }); }); </script> <script> window.getWpCookie = function(name) { match = document.cookie.match(new RegExp(name + '=([^;]+)')); if (match) return decodeURIComponent(match[1].replace(/\+/g, ' ')) ; }; window.dataLayer = window.dataLayer || []; var wpCookies = ['wp_customerId','wp_customerGroup']; wpCookies.map(function(cookieName) { var cookieValue = window.getWpCookie(cookieName); if (cookieValue) { var dlObject = {}; dlObject[cookieName.replace('wp_', '')] = cookieValue; window.dataLayer.push(dlObject); } }); </script> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-KMGC5QQ');</script> <!-- End Google Tag Manager --><link rel="stylesheet" type="text/css" media="all" href="https://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css"> <link rel="alternate" hreflang="en-us" href="https://immunospot.com/products/analyzers" /> <link rel="alternate" hreflang="en-de" href="https://immunospot.com/products/analyzers" /> <link rel="alternate" hreflang="en-gb" href="https://immunospot.com/products/analyzers" /> <link rel="alternate" hreflang="en-fr" href="https://immunospot.com/products/analyzers" /> <link rel="alternate" hreflang="en-za" href="https://immunospot.com/products/analyzers" /> <link rel="alternate" hreflang="en-se" href="https://immunospot.com/products/analyzers" /> <script> window.algoliaConfig = {"instant":{"enabled":true,"selector":".column","isAddToCartEnabled":false,"addToCartParams":{"action":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9wcm9kdWN0cy9hbmFseXplcnM%2C\/","formKey":"VawtRCNl4mlB1Q34"},"infiniteScrollEnabled":true,"urlTrackedParameters":["query","attribute:*","index"]},"autocomplete":{"enabled":true,"selector":".algolia-search-input","sections":[{"name":"pages","label":"Resources","hitsPerPage":"6"}],"nbOfProductsSuggestions":6,"nbOfCategoriesSuggestions":0,"nbOfQueriesSuggestions":0,"isDebugEnabled":false},"landingPage":{"query":"","configuration":"[]"},"recommend":{"enabledFBT":false,"enabledRelated":false,"enabledFBTInCart":false,"enabledRelatedInCart":false,"limitFBTProducts":6,"limitRelatedProducts":6,"limitTrendingItems":6,"enabledTrendItems":0,"trendItemFacetName":null,"trendItemFacetValue":null,"isTrendItemsEnabledInPDP":0,"isTrendItemsEnabledInCartPage":0,"isAddToCartEnabledInFBT":false,"isAddToCartEnabledInRelatedProduct":false,"isAddToCartEnabledInTrendsItem":false,"addToCartParams":{"action":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9wcm9kdWN0cy9hbmFseXplcnM%2C\/","formKey":"VawtRCNl4mlB1Q34"}},"extensionVersion":"3.9.1","applicationId":"82KWM3IOJP","indexName":"us_immunospot_live_default","apiKey":"MWM3OTQ1ODQ2MGU2MDc4MzhjNDFhMjQ5ZTU2Njg3YjRmYWVjYzRlMTViNzhjY2M5NTNlYTk4MzY3MTAyYTE5NXRhZ0ZpbHRlcnM9","attributeFilter":[],"facets":[{"attribute":"categories","type":"conjunctive","label":"Categories","searchable":"1","create_rule":"2"},{"attribute":"format","type":"conjunctive","label":"Format","searchable":"1","create_rule":"2"},{"attribute":"species","type":"conjunctive","label":"Species","searchable":"1","create_rule":"2"},{"attribute":"target","type":"conjunctive","label":"Target","searchable":"1","create_rule":"2"},{"attribute":"number_of_analytes","type":"conjunctive","label":"Number of Analytes","searchable":"1","create_rule":"2"},{"attribute":"analyte","type":"conjunctive","label":"Analytes","searchable":"1","create_rule":"2"}],"areCategoriesInFacets":true,"hitsPerPage":10,"sortingIndices":[{"attribute":"name","sort":"asc","sortLabel":"Product Name Asc","name":"us_immunospot_live_default_products_name_asc","label":"Product Name Asc","ranking":["asc(name)","typo","geo","words","filters","proximity","attribute","exact","custom"]},{"attribute":"name","sort":"desc","sortLabel":"Product Name Desc","name":"us_immunospot_live_default_products_name_desc","label":"Product Name Desc","ranking":["desc(name)","typo","geo","words","filters","proximity","attribute","exact","custom"]}],"isSearchPage":false,"isCategoryPage":false,"isLandingPage":false,"removeBranding":false,"productId":null,"priceKey":".USD.default","priceGroup":null,"origFormatedVar":"price.USD.default_original_formated","tierFormatedVar":"price.USD.default_tier_formated","currencyCode":"USD","currencySymbol":"$","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"maxValuesPerFacet":30,"autofocus":true,"resultPageUrl":"https:\/\/immunospot.com\/catalogsearch\/result\/","request":{"query":"","refinementKey":"","refinementValue":"","categoryId":"","landingPageId":"","path":"","level":""},"showCatsNotIncludedInNavigation":true,"showSuggestionsOnNoResultsPage":true,"baseUrl":"https:\/\/immunospot.com","popularQueries":[],"useAdaptiveImage":false,"urls":{"logo":"https:\/\/immunospot.com\/static\/version1728550059\/frontend\/Forti\/immuno\/en_US\/Algolia_AlgoliaSearch\/images\/algolia-logo-blue.svg"},"ccAnalytics":{"enabled":false,"ISSelector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","conversionAnalyticsMode":null,"addToCartSelector":".action.primary.tocart","orderedProductIds":[]},"isPersonalizationEnabled":false,"personalization":{"enabled":false,"viewedEvents":{"viewProduct":{"eventName":"Viewed Product","enabled":false,"method":"viewedObjectIDs"}},"clickedEvents":{"productClicked":{"eventName":"Product Clicked","enabled":false,"selector":".ais-Hits-item a.result, .ais-InfiniteHits-item a.result","method":"clickedObjectIDs"},"productRecommended":{"eventName":"Recommended Product Clicked","enabled":false,"selector":".products-upsell .product-item","method":"clickedObjectIDs"}},"filterClicked":{"eventName":"Filter Clicked","enabled":false,"method":"clickedFilters"}},"analytics":{"enabled":true,"delay":"3000","triggerOnUiInteraction":"1","pushInitialSearch":"0"},"now":1732665600,"queue":{"isEnabled":true,"nbOfJobsToRun":10,"retryLimit":3,"nbOfElementsPerIndexingJob":300},"isPreventBackendRenderingEnabled":false,"areOutOfStockOptionsDisplayed":false,"translations":{"to":"to","or":"or","go":"Go","popularQueries":"You can try one of the popular search queries","seeAll":"See all products","allDepartments":"All departments","seeIn":"See products in","orIn":"or in","noProducts":"No products for query","noResults":"No results","refine":"Refine","selectedFilters":"Selected Filters","clearAll":"Clear all","previousPage":"Previous page","nextPage":"Next page","searchFor":"Search for products","relevance":"Relevance","categories":"Categories","products":"Products","searchBy":"Search by","searchForFacetValuesPlaceholder":"Search for other ...","showMore":"Show more products"},"isContentPage":0}; </script> </head> <body data-container="body" data-mage-init='{"loaderAjax": {}, "loader": { "icon": "https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/images/loader-2.gif"}}' id="html-body" class="cms-analyzers cms-page-view page-layout-1column"> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-KMGC5QQ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <script type="text/x-magento-init"> { "*": { "Magento_PageBuilder/js/widget-initializer": { "config": {"[data-content-type=\"slider\"][data-appearance=\"default\"]":{"Magento_PageBuilder\/js\/content-type\/slider\/appearance\/default\/widget":false},"[data-content-type=\"map\"]":{"Magento_PageBuilder\/js\/content-type\/map\/appearance\/default\/widget":false},"[data-content-type=\"row\"]":{"Magento_PageBuilder\/js\/content-type\/row\/appearance\/default\/widget":false},"[data-content-type=\"tabs\"]":{"Magento_PageBuilder\/js\/content-type\/tabs\/appearance\/default\/widget":false},"[data-content-type=\"slide\"]":{"Magento_PageBuilder\/js\/content-type\/slide\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-slide-button","showOverlay":"hover","dataRole":"slide"}},"[data-content-type=\"banner\"]":{"Magento_PageBuilder\/js\/content-type\/banner\/appearance\/default\/widget":{"buttonSelector":".pagebuilder-banner-button","showOverlay":"hover","dataRole":"banner"}},"[data-content-type=\"buttons\"]":{"Magento_PageBuilder\/js\/content-type\/buttons\/appearance\/inline\/widget":false},"[data-content-type=\"products\"][data-appearance=\"carousel\"]":{"Magento_PageBuilder\/js\/content-type\/products\/appearance\/carousel\/widget":false}}, "breakpoints": {"desktop":{"label":"Desktop","stage":true,"default":true,"class":"desktop-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-desktop.svg","conditions":{"min-width":"1024px"},"options":{"products":{"default":{"slidesToShow":"5"}}}},"tablet":{"conditions":{"max-width":"1024px","min-width":"768px"},"options":{"products":{"default":{"slidesToShow":"4"},"continuous":{"slidesToShow":"3"}}}},"mobile":{"label":"Mobile","stage":true,"class":"mobile-switcher","icon":"Magento_PageBuilder::css\/images\/switcher\/switcher-mobile.svg","media":"only screen and (max-width: 768px)","conditions":{"max-width":"768px","min-width":"640px"},"options":{"products":{"default":{"slidesToShow":"3"}}}},"mobile-small":{"conditions":{"max-width":"640px"},"options":{"products":{"default":{"slidesToShow":"2"},"continuous":{"slidesToShow":"1"}}}}} } } } </script> <div class="cookie-status-message" id="cookie-status"> The store will not work correctly in the case when cookies are disabled.</div> <script type="text/javascript">document.querySelector("#cookie-status").style.display = "none";</script> <script type="text/x-magento-init"> { "*": { "cookieStatus": {} } } </script> <script type="text/x-magento-init"> { "*": { "mage/cookies": { "expires": null, "path": "\u002F", "domain": ".immunospot.com", "secure": true, "lifetime": "3600" } } } </script> <noscript> <div class="message global noscript"> <div class="content"> <p> <strong>JavaScript seems to be disabled in your browser.</strong> <span> For the best experience on our site, be sure to turn on Javascript in your browser. </span> </p> </div> </div> </noscript> <script> window.cookiesConfig = window.cookiesConfig || {}; window.cookiesConfig.secure = true; </script><script> require.config({ map: { '*': { wysiwygAdapter: 'mage/adminhtml/wysiwyg/tiny_mce/tinymce5Adapter' } } });</script><script> require.config({ paths: { googleMaps: 'https\u003A\u002F\u002Fmaps.googleapis.com\u002Fmaps\u002Fapi\u002Fjs\u003Fv\u003D3\u0026key\u003D' }, config: { 'Magento_PageBuilder/js/utils/map': { style: '' }, 'Magento_PageBuilder/js/content-type/map/preview': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fimmunospot.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, 'Magento_PageBuilder/js/form/element/map': { apiKey: '', apiKeyErrorMessage: 'You\u0020must\u0020provide\u0020a\u0020valid\u0020\u003Ca\u0020href\u003D\u0027https\u003A\u002F\u002Fimmunospot.com\u002Fadminhtml\u002Fsystem_config\u002Fedit\u002Fsection\u002Fcms\u002F\u0023cms_pagebuilder\u0027\u0020target\u003D\u0027_blank\u0027\u003EGoogle\u0020Maps\u0020API\u0020key\u003C\u002Fa\u003E\u0020to\u0020use\u0020a\u0020map.' }, } }); </script> <script> require.config({ shim: { 'Magento_PageBuilder/js/utils/map': { deps: ['googleMaps'] } } }); </script> <div id="callforprice_modal" style="display:none"> <form id="callforprice_form" action="https://immunospot.com/callforprice/request/send/" method="post" data-hasrequired="* Required Fields" data-mage-init='{"validation":{}}'> <fieldset class="fieldset callforprice_request"> <input type="hidden" value="" name="product_ids" class="product_ids"/> <input type="hidden" value="" name="product_name" class="product_name"/> <input name="form_key" type="hidden" value="VawtRCNl4mlB1Q34" /> <div class="field required"> <label class="label">Name</label> <div class="control"> <input type="text" name="customer_name" data-validate="{required:true}"/> </div> </div> <div class="field required"> <label class="label">Email</label> <div class="control"> <input type="text" name="customer_email" data-validate="{required:true,'validate-email':true}"/> </div> </div> <div class="field"><label class="label" for="_1568027767844_844">Test</label><div class="control"><input type="text" name="_1568027767844_844" class="input-text" value=""/></div></div> </fieldset> </form> </div> <script type="text/x-magento-init"> { "*": { "Bss_AdvancedHidePrice/js/popup_modal": {} } } </script> <style type="text/css"> .product-item-details .action.tocart { display: none; } .action.tocart { display: none; } #product-addtocart-button { display: block; } .callforprice-container .callforprice_clickme { padding: 5px 10px; } </style> <div class="page-wrapper"><header class="page-header"><div class="panel wrapper"><div class="panel header"><a class="action skip contentarea" href="#contentarea"> <span> Skip to Content </span> </a> <ul class="header links"><script type="text/javascript">require(['jquery.bootstrap']);</script> <li class="greet welcome" data-bind="scope: 'customer'"> <!-- ko if: customer().fullname --> <span class="logged-in" data-bind="text: new String('Welcome, %1!').replace('%1', customer().fullname)"> </span> <!-- /ko --> <!-- ko ifnot: customer().fullname --> <span class="not-logged-in" data-bind='html:""'></span> <!-- /ko --> </li> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "customer": { "component": "Magento_Customer/js/view/customer" } } } } } </script> <li class="link authorization-link" data-label="or"> <a href="https://immunospot.com/customer/account/login/referer/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9wcm9kdWN0cy9hbmFseXplcnM%2C/" >Sign In</a> </li> <li><a href="https://immunospot.com/customer/account/create/" id="id78wS2tVg" >Create an Account</a></li></ul></div></div><div class="px-4 navbar navbar-expand sticky-top shadow"><span data-action="toggle-nav" class="action nav-toggle"><span>Toggle Nav</span></span> <a class="logo" href="https://immunospot.com/" title="" aria-label="store logo"> <img src="https://immunospot.com/media/logo/stores/1/logo_immunospot_by_ctl_official_2023_white_background_web_spotcloud-2023.png" title="" alt="" width="210" height="130" /> </a> <div class="sections nav-sections"> <div class="section-items nav-sections-items" data-mage-init='{"tabs":{"openedState":"active"}}'> <div class="section-item-title nav-sections-item-title" data-role="collapsible"> <a class="nav-sections-item-switch" data-toggle="switch" href="#store.menu"> Menu </a> </div> <div class="section-item-content nav-sections-item-content" id="store.menu" data-role="content"> <nav class="navigation" data-action="navigation"> <ul data-mage-init='{"menu":{"responsive":true, "expanded":true, "position":{"my":"left top","at":"left bottom"}}}'> <li class="megamenu level-top-boxed level0 nav-1 category-item first level-top parent" data-test="test"><a href="https://immunospot.com/products" class="level-top" ><span>Products</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="col-4"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex mb-2"> <img src="https://immunospot.com/media/images/menu/analyzer-software-blue.png" alt="ImmunoSpot® Analyzers"> <a class="ps-2" href="/products/analyzers">ImmunoSpot®<br>Analyzers</a> </div> <div class="position-relative d-flex mb-2"> <img src="https://immunospot.com/media/images/menu/kits-components-blue.png" alt="ImmunoSpot® Kits"> <a class="ps-2" href="/products/immunospot-kits-components">ImmunoSpot®<br>Kits</a> </div> <div class="position-relative d-flex"> <img src="https://immunospot.com/media/images/menu/support-blue.png" alt="Kit Scanning<br>& Analysis Services"> <a class="stretched-link ps-2" href="/products/kit-scanning-analysis">Kit Scanning<br>& Analysis Services</a> </div> </div> </div> </div> <div class="col-5"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex mb-2"><img src="https://immunospot.com/media/images/menu/epbmc-blue.png" alt="Cryopreserved PBMC"> <a class="stretched-link ps-2" href="/products/epbmc">Cryopreserved<br>PBMC</a></div> <div class="position-relative d-flex mb-2"><img src="https://immunospot.com/media/images/menu/serum-free-blue.png" alt="Serum-Free Media"> <a class="stretched-link ps-2" href="/products/serum-free-media">Serum-Free <br>Media</a></div> <div class="position-relative d-flex"><img src="https://immunospot.com/media/images/menu/positive-control-blue.png" alt="Positive Controls Antigen"> <a class="stretched-link ps-2" href="/products/positive-controls-tcell-activation">Positive Controls for <br>T cell Activation</a></div> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-1-1 category-item first disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><li class="megamenu level1 nav-1-2 category-item" data-test="test"><a href="https://immunospot.com/immunospot-kits-components" ><span>ImmunoSpot® Kits & Components</span></a></li><li class="megamenu level1 nav-1-3 category-item" data-test="test"><a href="https://immunospot.com/products-filter/analyzers.html" ><span>Analyzers</span></a></li><li class="megamenu level1 nav-1-4 category-item last" data-test="test"><a href="https://immunospot.com/products-filter/software.html" ><span>Software</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-2 category-item level-top parent" data-test="test"><a href="https://immunospot.com/services/contract-laboratory-services" class="level-top" ><span>Services</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="col-6 px-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-5 menu-stacked-items"><img src="https://immunospot.com/media/images/menu/contract-lab-services-blue.png" alt=""> <a class="ps-2" href="/services/contract-laboratory-services">Contract Laboratory <br>Services</a></div> <a href="/services/whole-blood-processing-to-cryopreserved-pbmc">Whole Blood Processing to Cryopreserved PBMC</a><br><a href="/services/t-cell-elispot-testing">T Cell ELISPOT Testing</a><br><a href="/services/b-cell-elispot-testing">B Cell ELISPOT Testing</a><br><a href="/services/elisa-testing">ELISA Testing</a><br><a href="/neutralizing-antibody-nab-assays.html">Neutralizing Antibody (NAb) assays</a><br><a href="/flow-cytometry-testing.html">Flow Cytometry Testing</a><br><a href="https://immunospot.com/sample-management.html">Sample Management</a><br><a href="/services/assay-standardization">Assay Standardization</a><br><a href="/services/contract-scanning-analysis">Scanning & Analysis Services</a></div> </div> </div> <div class="col-6 pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-0"> <div class="pb-5 menu-stacked-items"><img src="https://immunospot.com/media/images/menu/training-consulting-blue.png" alt=""> <a class="ps-2" href="/services/training-consultation">Training & <br>Consultation</a></div> <a href="/products/kit-scanning-analysis">Kit Scanning Services</a><br> <a href="/services/elispot-proficiency-testing">ELISPOT/FluoroSpot Proficiency Testing</a><br> <a href="/services/interactive-web-based-training">Interactive Web-based Training</a><br> <a href="/services/elispot-workshops">ELISPOT/FluoroSpot Workshops</a></div> </div> </div> </div></div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-2-1 category-item first disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><li class="megamenu level1 nav-2-2 category-item" data-test="test"><a href="https://immunospot.com/contract-laboratory-services" ><span>Contract Laboratory Services</span></a></li><li class="megamenu level1 nav-2-3 category-item last" data-test="test"><a href="https://immunospot.com/training-consultation" ><span>Training & Consultation</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-3 category-item level-top parent" data-test="test"><a href="https://immunospot.com/resources" class="level-top" ><span>News & Resources</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="col-4"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex align-items-center mb-2"> <img src="https://immunospot.com/media/images/menu/news-blue.png" alt="News"> <a class="ps-2" href="/resources/news">News</a> </div> <div class="position-relative d-flex align-items-center"> <img src="https://immunospot.com/media/images/menu/publications-blue.png" alt="Publications<br>by Scientists"> <a class="ps-2" href="/resources/recent-publications">Publications<br>by Scientists</a> </div> </div> </div> </div> <div class="col-5"> <div class="menu-stacked-items"> <div class="px-4"> <div class="position-relative d-flex align-items-center mb-2"> <img src="https://immunospot.com/media/images/menu/video-blue.png" alt="Video Library"><a class="ps-2" href="/resources/video-library">Video Library</a> </div> <div class="position-relative d-flex align-items-center"><img src="https://immunospot.com/media/images/menu/compliance.png" alt=""> <a class="ps-2" href="/about-ctl/compliance">Compliance</a></div> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-3-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-4 category-item level-top parent" data-test="test"><a href="https://immunospot.com/about-ctl" class="level-top" ><span>About Us</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-1 menu-stacked-items d-flex align-items-center"> <img src="https://immunospot.com/media/images/menu/about-us-blue.png" alt=""> <a class="ps-2" href="/about-ctl/our-company">About CTL</a> </div> <a href="/about-ctl/our-company">Our Company</a> <br> <a href="/about-ctl/first-in-elispot">Leading ELISPOT</a> <br> <a href="/about-ctl/about-elispot">About ELISPOT</a> <br> <a href="/about-ctl/about-fluorospot">About Fluorospot</a> <br> <a class="w-100" href="/about-ctl/why-immunospot">Why ImmunoSpot®</a> <br> <a href="/about-ctl/careers">Careers</a> </div> </div> </div> </div></div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-4-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li><li class="megamenu level-top-boxed level0 nav-5 category-item last level-top parent" data-test="test"><a href="https://immunospot.com/contact-support/contact-us" class="level-top" ><span>Contact</span></a><ul class="level0 submenu boxed hide-all-category has-menu-block top-block-child " style="display: none;"><li class="submenu-child"><div class="menu-block top-block block-container"><div class="row"> <div class="pr-0"> <div class="menu-row-items h-100 text-start"> <div class="px-4"> <div class="pb-1 menu-stacked-items d-flex align-items-center"><img src="https://immunospot.com/media/images/menu/contact-blue.png" alt=""> <a class="ps-2" href="/contact-support/contact-us">Contact Us</a></div><a href="/contact-support/customer-support">Customer Support</a> <br><a href="/contact-support/service-contracts">Service Contracts</a> </div> </div> </div> </div></div></li><!-- close submenu-child --><li class="submenu-child"><!-- re-open submenu-child --><ul class="columns-group starter" style="width: auto"><li class="megamenu level1 nav-5-1 category-item first last disabled-link" data-test="test"><a href="javascript:void(0);" ><span>Anchor</span></a></li><span class="close columns-group last"></span></ul></li><!-- end submenu-child --></ul><!-- end submenu --></li> </ul> </nav> <div class="nav-accordion" id="nav-accordion"> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingOne"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne"> Products </button> </h2> </div> <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/products/analyzers"> <span>ImmunoSpot® Analyzers</span> </a><br> <a href="https://immunospot.com/products/immunospot-kits-components"> <span>ImmunoSpot® Kits</span> </a><br> <a href="https://immunospot.com/products/kit-scanning-analysis"> <span>Kit Scanning & Analysis Services</span> </a><br> <a href="https://immunospot.com/products/epbmc"> <span>Cryopreserved PBMC</span> </a><br> <a href="https://immunospot.com/products/serum-free-media"> <span>Serum-free Media</span> </a><br> <a href="https://immunospot.com/products/positive-controls-tcell-activation"> <span>Positive Controls for T cell Activation</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingTwo"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo"> Services </button> </h2> </div> <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/services/contract-laboratory-services"> <span>Contract Laboratory Services</span> </a><br> <a href="https://immunospot.com/services/training-consultation"> <span>Training & Consultation</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingThree"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree"> News & Resources </button> </h2> </div> <div id="collapseThree" class="collapse" aria-labelledby="headingThree" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/resources/news"> <span>News</span> </a><br> <a href="https://immunospot.com/resources/recent-publications"> <span>Publications by Scientists</span> </a><br> <a href="https://immunospot.com/resources/video-library"> <span>Video Library</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingFour"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour"> Contact </button> </h2> </div> <div id="collapseFour" class="collapse" aria-labelledby="headingFour" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/contact-support/contact-us"> <span>Contact Us & Distributors</span> </a><br> <a href="https://immunospot.com/services/elispot-workshops"> <span>Enroll in ELISPOT Workshop</span> </a><br> <a href="https://immunospot.com/customer-support"> <span>Customer Support</span> </a><br> <a href="https://immunospot.com/service-contracts"> <span>Service Contracts</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingFive"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFive" aria-expanded="false" aria-controls="collapseFive"> CTL Support </button> </h2> </div> <div id="collapseFive" class="collapse" aria-labelledby="headingFive" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/contact-support/customer-support"> <span>Customer Support</span> </a><br> <a href="https://immunospot.com/contact-support/service-contracts"> <span>Service Contracts</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingSix"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSix" aria-expanded="false" aria-controls="collapseSix"> About CTL </button> </h2> </div> <div id="collapseSix" class="collapse" aria-labelledby="headingSix" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/about-ctl/our-company"> <span>Our Company</span> </a><br> <a href="https://immunospot.com/about-ctl/first-in-elispot"> <span>Leading ELISPOT</span> </a><br> <a href="https://immunospot.com/about-ctl/about-elispot"> <span>About ELISPOT</span> </a><br> <a href="https://immunospot.com/about-ctl/about-fluorospot"> <span>About Fluorospot</span> </a><br> <a href="https://immunospot.com/about-ctl/why-immunospot"> <span>Why ImmunoSpot®</span> </a> <br> <a href="https://immunospot.com/about-ctl/careers"> <span>Career Opportunities</span> </a> </div> </div> </div> <div class="card border-0"> <div class="card-header bg-transparent border-0" id="headingSeven"> <h2 class="mb-0"> <button class="btn btn-link collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseSeven" aria-expanded="false" aria-controls="collapseSeven"> Compliance </button> </h2> </div> <div id="collapseSeven" class="collapse" aria-labelledby="headingSeven" data-bs-parent="#nav-accordion"> <div class="card-body"> <a href="https://immunospot.com/about-ctl/compliance"> <span>Regulatory and Quality Assurance</span> </a> </a> </div> </div> </div> </div> </div> <div class="section-item-title nav-sections-item-title" data-role="collapsible"> <a class="nav-sections-item-switch" data-toggle="switch" href="#store.links"> Account </a> </div> <div class="section-item-content nav-sections-item-content" id="store.links" data-role="content"> <!-- Account links --> </div> </div> </div> <div id="algoliaAutocomplete" class="block block-search algolia-search-block algolia-search-input"></div> <div data-block="minicart" class="minicart-wrapper"> <a class="action showcart" href="https://immunospot.com/checkout/cart/" data-bind="scope: 'minicart_content'"> <span class="text">My Cart</span> <span class="counter qty empty" data-bind="css: { empty: !!getCartParam('summary_count') == false && !isLoading() }, blockLoader: isLoading"> <span class="counter-number"> <!-- ko if: getCartParam('summary_count') --> <!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --> <!-- /ko --> </span> <span class="counter-label"> <!-- ko if: getCartParam('summary_count') --> <!-- ko text: getCartParam('summary_count').toLocaleString(window.LOCALE) --><!-- /ko --> <!-- ko i18n: 'items' --><!-- /ko --> <!-- /ko --> </span> </span> </a> <div class="block block-minicart" data-role="dropdownDialog" data-mage-init='{"dropdownDialog":{ "appendTo":"[data-block=minicart]", "triggerTarget":".showcart", "timeout": "2000", "closeOnMouseLeave": false, "closeOnEscape": true, "triggerClass":"active", "parentClass":"active", "buttons":[]}}'> <div id="minicart-content-wrapper" data-bind="scope: 'minicart_content'"> <!-- ko template: getTemplate() --><!-- /ko --> </div> </div> <script>window.checkout = {"shoppingCartUrl":"https:\/\/immunospot.com\/checkout\/cart\/","checkoutUrl":"https:\/\/immunospot.com\/checkout\/","updateItemQtyUrl":"https:\/\/immunospot.com\/checkout\/sidebar\/updateItemQty\/","removeItemUrl":"https:\/\/immunospot.com\/checkout\/sidebar\/removeItem\/","imageTemplate":"Magento_Catalog\/product\/image_with_borders","baseUrl":"https:\/\/immunospot.com\/","minicartMaxItemsVisible":5,"websiteId":"1","maxItemsToDisplay":10,"storeId":"1","storeGroupId":"1","agreementIds":["1"],"customerLoginUrl":"https:\/\/immunospot.com\/customer\/account\/login\/referer\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9wcm9kdWN0cy9hbmFseXplcnM%2C\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/immunospot.com\/captcha\/refresh\/","isRequired":false,"timestamp":1732692279}}}</script> <script type="text/x-magento-init"> { "[data-block='minicart']": { "Magento_Ui/js/core/app": {"components":{"minicart_content":{"children":{"subtotal.container":{"children":{"subtotal":{"children":{"subtotal.totals":{"config":{"display_cart_subtotal_incl_tax":0,"display_cart_subtotal_excl_tax":1,"template":"Magento_Tax\/checkout\/minicart\/subtotal\/totals"},"children":{"subtotal.totals.msrp":{"component":"Magento_Msrp\/js\/view\/checkout\/minicart\/subtotal\/totals","config":{"displayArea":"minicart-subtotal-hidden","template":"Magento_Msrp\/checkout\/minicart\/subtotal\/totals"}}},"component":"Magento_Tax\/js\/view\/checkout\/minicart\/subtotal\/totals"}},"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/subtotal"}}},"component":"uiComponent","config":{"displayArea":"subtotalContainer"}},"item.renderer":{"component":"Magento_Checkout\/js\/view\/cart-item-renderer","config":{"displayArea":"defaultRenderer","template":"Magento_Checkout\/minicart\/item\/default"},"children":{"item.image":{"component":"Magento_Catalog\/js\/view\/image","config":{"template":"Magento_Catalog\/product\/image","displayArea":"itemImage"}},"checkout.cart.item.price.sidebar":{"component":"uiComponent","config":{"template":"Magento_Checkout\/minicart\/item\/price","displayArea":"priceSidebar"}}}},"extra_info":{"component":"uiComponent","config":{"displayArea":"extraInfo"}},"promotion":{"component":"uiComponent","config":{"displayArea":"promotion"}}},"config":{"itemRenderer":{"default":"defaultRenderer","simple":"defaultRenderer","virtual":"defaultRenderer"},"template":"Magento_Checkout\/minicart\/content"},"component":"Magento_Checkout\/js\/view\/minicart"}},"types":[]} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US\u002Fimages\u002Floader\u002D1.gif" } } </script> </div> </div></header><main id="maincontent" class="page-main-full-width"><div id="algolia-autocomplete-container"></div><div class="headerArea container"><div class="headerCombo mt-5"><div class="breadcrumbs"> <ul class="items font-size-sm"> <li class="item cms_page"> <a class="link-crumb" href="https://immunospot.com/products/" title="Products"> Products </a> </li> <li class="item analyzers"> <strong>ImmunoSpot® Analyzers</strong> </li> </ul> </div> <div class="page-title-wrapper col-md-10 p-0 "> <h1 class="page-title font-weight-normal" > <span class="base" data-ui-id="page-title-wrapper" >ImmunoSpot® Analyzers</span> </h1> </div> <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><h4 class="text-secondary">Wide range of analysis solutions for different needs and budgets</h4> <div> <div class="row"> <div class="col-8"> <button type="submit" title="watch here" class="biospot-button"><span><a href="#" data-bs-toggle="modal" data-bs-target="#video-main">Watch our Guided Analyzer Overview</a></span></button> </div> <div class="col-4"></div> </div> </div> <div id="video-main" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-biospot-analytes" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable modal-xl" role="document"> <div class="modal-content"> <div class="modal-header"><button class="btn-close" type="button" data-bs-dismiss="modal" onclick="javascript::player.api('pause')" aria-label="Close"> </button></div> <div class="modal-body"><iframe id="demoVideo" src="https://player.vimeo.com/video/910996285" allowfullscreen="allowfullscreen" loading="lazy" width="889" height="500" frameborder="0"></iframe></div> </div> </div> </div></div></div></div><a id="contentarea" tabindex="-1"></a> <div class="page messages"><div data-placeholder="messages"></div> <div data-bind="scope: 'messages'"> <!-- ko if: cookieMessages && cookieMessages.length > 0 --> <div aria-atomic="true" role="alert" data-bind="foreach: { data: cookieMessages, as: 'message' }" class="messages"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> <!-- ko if: messages().messages && messages().messages.length > 0 --> <div aria-atomic="true" role="alert" class="messages" data-bind="foreach: { data: messages().messages, as: 'message' }"> <div data-bind="attr: { class: 'message-' + message.type + ' ' + message.type + ' message', 'data-ui-id': 'message-' + message.type }"> <div data-bind="html: $parent.prepareMessageForHtml(message.text)"></div> </div> </div> <!-- /ko --> </div> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } </script> </div><div class="columns"><div class="column main order-1"><input name="form_key" type="hidden" value="VawtRCNl4mlB1Q34" /><div id="authenticationPopup" data-bind="scope:'authenticationPopup', style: {display: 'none'}"> <script>window.authenticationPopup = {"autocomplete":"off","customerRegisterUrl":"https:\/\/immunospot.com\/customer\/account\/create\/","customerForgotPasswordUrl":"https:\/\/immunospot.com\/customer\/account\/forgotpassword\/","baseUrl":"https:\/\/immunospot.com\/","customerLoginUrl":"https:\/\/immunospot.com\/customer\/ajax\/login\/"}</script> <!-- ko template: getTemplate() --><!-- /ko --> <script type="text/x-magento-init"> { "#authenticationPopup": { "Magento_Ui/js/core/app": {"components":{"authenticationPopup":{"component":"Magento_Customer\/js\/view\/authentication-popup","children":{"messages":{"component":"Magento_Ui\/js\/view\/messages","displayArea":"messages"},"captcha":{"component":"Magento_Captcha\/js\/view\/checkout\/loginCaptcha","displayArea":"additional-login-form-fields","formId":"user_login","configSource":"checkout"},"recaptcha":{"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","displayArea":"additional-login-form-fields","reCaptchaId":"recaptcha-popup-login","settings":{"rendering":{"sitekey":"6LeOT5EcAAAAAHi4oucEmcs91zYtY-3SsXHt2B5y","badge":"inline","size":"invisible","theme":"light","hl":""},"invisible":true}}}}}} }, "*": { "Magento_Ui/js/block-loader": "https\u003A\u002F\u002Fimmunospot.com\u002Fstatic\u002Fversion1728550059\u002Ffrontend\u002FForti\u002Fimmuno\u002Fen_US\u002Fimages\u002Floader\u002D1.gif" } } </script> </div> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/section-config": { "sections": {"stores\/store\/switch":["*"],"stores\/store\/switchrequest":["*"],"directory\/currency\/switch":["*"],"*":["messages","ms-couponcode-content"],"customer\/account\/logout":["*","recently_viewed_product","recently_compared_product","persistent"],"customer\/account\/loginpost":["*"],"customer\/account\/createpost":["*"],"customer\/account\/editpost":["*"],"customer\/ajax\/login":["checkout-data","cart","captcha","pc-customer-data"],"catalog\/product_compare\/add":["compare-products","gtm"],"catalog\/product_compare\/remove":["compare-products"],"catalog\/product_compare\/clear":["compare-products"],"sales\/guest\/reorder":["cart"],"sales\/order\/reorder":["cart"],"checkout\/cart\/add":["cart","directory-data","gtm"],"checkout\/cart\/delete":["cart","gtm"],"checkout\/cart\/updatepost":["cart"],"checkout\/cart\/updateitemoptions":["cart"],"checkout\/cart\/couponpost":["cart"],"checkout\/cart\/estimatepost":["cart"],"checkout\/cart\/estimateupdatepost":["cart"],"checkout\/onepage\/saveorder":["cart","checkout-data","last-ordered-items"],"checkout\/sidebar\/removeitem":["cart","gtm"],"checkout\/sidebar\/updateitemqty":["cart"],"rest\/*\/v1\/carts\/*\/payment-information":["cart","last-ordered-items","captcha","instant-purchase","gtm"],"rest\/*\/v1\/guest-carts\/*\/payment-information":["cart","captcha","gtm"],"rest\/*\/v1\/guest-carts\/*\/selected-payment-method":["cart","checkout-data"],"rest\/*\/v1\/carts\/*\/selected-payment-method":["cart","checkout-data","instant-purchase"],"customer\/address\/*":["instant-purchase"],"customer\/account\/*":["instant-purchase"],"vault\/cards\/deleteaction":["instant-purchase"],"multishipping\/checkout\/overviewpost":["cart"],"paypal\/express\/placeorder":["cart","checkout-data"],"paypal\/payflowexpress\/placeorder":["cart","checkout-data"],"paypal\/express\/onauthorization":["cart","checkout-data"],"persistent\/index\/unsetcookie":["persistent"],"review\/product\/post":["review"],"wishlist\/index\/add":["wishlist","gtm"],"wishlist\/index\/remove":["wishlist"],"wishlist\/index\/updateitemoptions":["wishlist"],"wishlist\/index\/update":["wishlist"],"wishlist\/index\/cart":["wishlist","cart","gtm"],"wishlist\/index\/fromcart":["wishlist","cart"],"wishlist\/index\/allcart":["wishlist","cart","gtm"],"wishlist\/shared\/allcart":["wishlist","cart"],"wishlist\/shared\/cart":["cart"],"braintree\/paypal\/placeorder":["cart","checkout-data"],"braintree\/googlepay\/placeorder":["cart","checkout-data"],"checkout\/cart\/configure":["gtm"],"rest\/*\/v1\/guest-carts\/*\/shipping-information":["gtm"],"rest\/*\/v1\/carts\/*\/shipping-information":["gtm"]}, "clientSideSections": ["checkout-data","cart-data"], "baseUrls": ["https:\/\/immunospot.com\/"], "sectionNames": ["messages","customer","compare-products","last-ordered-items","cart","directory-data","captcha","instant-purchase","loggedAsCustomer","persistent","review","wishlist","ms-couponcode-content","pc-customer-data","gtm","recently_viewed_product","recently_compared_product","product_data_storage","paypal-billing-agreement"] } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/customer-data": { "sectionLoadUrl": "https\u003A\u002F\u002Fimmunospot.com\u002Fcustomer\u002Fsection\u002Fload\u002F", "expirableSectionLifetime": 60, "expirableSectionNames": ["cart","persistent"], "cookieLifeTime": "3600", "updateSessionUrl": "https\u003A\u002F\u002Fimmunospot.com\u002Fcustomer\u002Faccount\u002FupdateSession\u002F" } } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Customer/js/invalidation-processor": { "invalidationRules": { "website-rule": { "Magento_Customer/js/invalidation-rules/website-rule": { "scopeConfig": { "websiteId": "1" } } } } } } } </script> <script type="text/x-magento-init"> { "body": { "pageCache": {"url":"https:\/\/immunospot.com\/page_cache\/block\/render\/page_id\/109\/","handles":["default","cms_page_view","cms_page_view_selectable_analyzers_Analyzers","cms_page_view_id_analyzers","algolia_search_handle","algolia_search_handle_with_topsearch"],"originalRequest":{"route":"cms","controller":"page","action":"view","uri":"\/products\/analyzers"},"versionCookieName":"private_content_version"} } } </script> <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="masthead w-100"> <div id="header-slider_wrapper"> <div id="header-slider" class="header-slider"> <div class="item"><img class="d-block w-100" src="https://immunospot.com/media/wysiwyg/analyzer-purple-2.png" alt="" /></div> </div> </div> </div> <div class="container"> <div class="row mt-2"> <div class="col-md-10"> <h5>In 1995, CTL’s founding scientists introduced image analysis-based ELISPOT counting (<a href="https://immunospot.com/pub/media/mageplaza/product_attachments/attachment_file/u/s/uspa_1.pdf" target="_blank" rel="noreferrer noopener">US Patent 6,410,252 B1</a>), marking the beginning of ImmunoSpot® Analyzers. Since then, thousands of these instruments have been sold <a href="#" data-bs-toggle="modal" data-bs-target="#analyzer-world">world-wide</a> serving the <a href="/immunospot-readers-satisfied-customer-base" target="_blank" rel="noreferrer noopener">"who's who"</a> of academic and biotechnology researchers’ needs for high content image analysis. <a href="/the-secret-behind-the-immunospot-readers-success">Learn more</a> about why ImmunoSpot® Analyzers have been so successful.</h5> <p>ImmunoSpot® Analyzers are not only the most successful ELISPOT/FluoroSpot analyzers on the market, they also are multifunctional, enabling reading of other microtiter plate (or Peri-dish)-based assays under visible or fluorescent light, in the microscopic or macroscopic range. Powered by the <a href="https://immunospot.com/biospot-software.html">BioSpot™ software</a>, these include cell counting, cytotoxicity and serum neutralization assays, colony counting, and more. ImmunoSpot® Analyzers are several instruments in one, for the price of one.</p> <p>Learn how CTL’s Readers have become the gold standard for <a href="https://immunospot.com/sars-cov-2-neutralization-references">viral infectivity assays.</a> </p> <p>CTL offers a wide range of Readers that are tailored to different needs and budgets. Please see our new model lines below. We are happy to help you <a href="https://immunospot.com/contact-support/contact-us" target="_blank">select the model</a> that suits you best. We also offer factory refurbished analyzers and <a href="/products/kit-scanning-analysis">analysis services.</a></p> </div> </div> <div class="rounded-lg"> <div class="tabbable"> <div class="as-media-tabs bg-white"> <ul class="nav nav-tabs"> <li id="js-filter-no-visible-light" class="filterer nav-item mb-0" role="presentation"><span class="nav-link active d-flex align-items-center" role="tab" data-bs-target="#fluorescent" data-bs-toggle="tab"> Fluorescence Readers</span></li> <li id="js-filter-visible-light" class="filterer nav-item mb-0" role="presentation"><span class="nav-link d-flex align-items-center" role="tab" data-bs-target="#immunospot" data-bs-toggle="tab"> Visible Light Readers</span></li> </ul> </div> <div class="tab-content"> <div id="immunospot" class="tab-pane fade" role="tabpanel"> <ul class="nav nav-tabs cs-media-tabs scrolling-wrapper table-menu-sm py-2"> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Lite M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Entry M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Macro M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Micro M2</div> </div> </li> </ul> <table class="table"> <thead> <tr class="table-head"> <th class="empty"> </th> <th class="p-0 pt-3 text-center"><img id="analyzer-1" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-handheld-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-2" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-alfa-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-4" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-macro-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-5" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-micro-thumb.png" alt=""></th> </tr> <tr class="table-secondary"> <td class="fixed-row pr-0" style="vertical-align: middle;" scope="row">Features <br>& Specifications</td> <td class="fixed-row default"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-lite-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-handheld-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Lite M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-entry-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-entry-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Entry M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-macro-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-macro-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Macro M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-micro-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-micro-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Micro M2 <br>Learn more</span> </a></td> </tr> </thead> <tbody> <tr class="label"> <td>Distinguishing Features</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#optical-zoom-capability">Optical Zoom Capability</a></td> <td class="default cell"><span class="tick">(✓)</span></td> <td class="cell"><span class="tick">(✓)</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td>Well Formats</td> <td class="default cell">96<br>Strip plate in 96 well format</td> <td class="cell">96, 384, 1536<br>Strip plate in 96 well format</td> <td class="cell">6, 12, 24, 48, 96<br>Strip plate in 96 well format<br> (upgradable to all Petri dish formats)</td> <td class="cell">24, 48, 96, 384, 1536 Terasaki<br>Strip plate in 96 well format<br> (upgradeable to rapid 6/Petri)</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#top-bottom-light">Top / Bottom Light</a></td> <td class="default cell"><span class="tick">✓</span> <span class="slash"> / </span> <span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span> <span class="slash"> / </span> <span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span> <span class="slash">/ </span> <span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span> <span class="slash"> / </span> <span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#high-througput">High-througput (Stacker/Robot compatibility)</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td>Integrated Barcode Reader</td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr class="label"> <td>ELISPOT Applications</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-sce">Single color ELISPOT</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-dce">Double color ELISPOT</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr class="label"> <td class="text-nowrap">Non-ELISPOT <br>Immunological<br> Applications</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#elisa-odense">ELISA</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#biospot">BioSpot™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#tcell-proliferation">T Cell Proliferation Assays</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#elisa-odense">Nucleic Acid and Protein Quantification</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#histo-slide-analysis-capability">Histology Slide Analysis Capability</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#optical-zoom-capability">Microscopic Imaging</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#visible-light-array-analysis">Visible Light Array Analysis</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr class="label"> <td>Advanced Features</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#bsl-suitability">BSL 3/4 Suitability</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#space-saving-design">Space Saving Design</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td>Max Image Resolution / Well (megapixels)</td> <td class="default cell">1.2</td> <td class="cell">5</td> <td class="cell">10</td> <td class="cell">25</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#regulatory-compliance">Regulatory Compliance</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell">Tiered Solutions</td> <td class="cell">Tiered Solutions</td> <td class="cell">Tiered Solutions</td> </tr> <tr class="label"> <td>Software Suites</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-sce">ImmunoSpot® Single-Color ELISPOT Enzymatic</a></td> <td class="default cell">Renewable Software License</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-dce">ImmunoSpot® Double-Color ELISPOT Enzymatic</a></td> <td class="default cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#biospot-l10">BioSpot™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#elisa-odense">ODense™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#spotmap">SpotMap®</a></td> <td class="default cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#image-annotator">Image Annotator</a></td> <td class="default cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#spotstat">SpotStat™</a></td> <td class="default cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#reagent-tracker">ReagentTracker™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#express-qualify">ExpressQualify™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#immunoqualify">ImmunoQualify™</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#immunocompliance-suite">ImmunoCompliance™ Suite</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> <td class="cell"><span class="cross">✕</span> (upgradeable)</td> </tr> </tbody> </table> </div> <div id="fluorescent" class="tab-pane fade show active" role="tabpanel"> <ul class="nav nav-tabs cs-media-tabs scrolling-wrapper table-menu-sm py-2"> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 FluoroCore M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Ultra M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Flex M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Universal M2</div> </div> </li> <li class="item"> <div class="btn btn-outline-danger px-2 py-1 me-2"> <div class="pr-4">S6 Ultimate M2</div> </div> </li> </ul> <table class="table"> <thead> <tr class="table-head"> <th class="empty"> </th> <th class="p-0 pt-3 text-center"><img id="analyzer-1" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-entry-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-2" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-fluorocore-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-3" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-ultra-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-4" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-universal-thumb.png" alt=""></th> <th class="p-0 pt-3 text-center"><img id="analyzer-5" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-ultimate-thumb.png" alt=""></th> </tr> </thead> <tbody> <tr class="table-secondary"> <td class="fixed-row pr-0" style="vertical-align: middle;" scope="row">Features <br>& Specifications</td> <td class="fixed-row default"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-fluorocore-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-fluorocore-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 FluoroCore M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-ultra-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-ultra-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Ultra M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-flex-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-flex-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Flex M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-universal-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-universal-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Universal M2 <br>Learn more</span> </a></td> <td class="fixed-row"><a class="btn px-0 w-100" role="button" href="/products/analyzers/immunospot-s6-ultimate-m2.html" target="_blank" rel="noopener"> <span class="pull-left me-2"> <img class="mobile-btn" src="https://immunospot.com/media/images/analyzer-landing/thumbnails/s6-ultimate-thumb-mob.png" alt="" width="50"></span> <span class="text-primary btn-text">S6 Ultimate M2 <br>Learn more</span> </a></td> </tr> <tr class="label"> <td>Distinguishing Features</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#nr-of-fluorospot-analytes">No of Fluorescent Channels</a></td> <td class="default cell">One</td> <td class="cell">Three</td> <td class="cell">Four</td> <td class="cell">Five (upgradable to 12)</td> <td class="cell">Twelve</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#modular-design">Modular Design</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#optical-motorized-zoom-capability-fluor">Optics</a></td> <td class="default cell">Fixed Lens</td> <td class="cell">Fixed Lens</td> <td class="cell">Fixed Lens</td> <td class="cell">Motorized Optical Zoom</td> <td class="cell">Motorized Optical Zoom</td> </tr> <tr> <td>Max Image Resoluton/Well (Megapixels)</td> <td class="default cell">10</td> <td class="cell">10</td> <td class="cell">10</td> <td class="cell">25</td> <td class="cell">25</td> </tr> <tr> <td>Well Formats</td> <td class="default cell">96, 384<br>Strip plate in 96 well format</td> <td class="cell">24, 48, 96, 384, 1536 and Terasaki<br>Strip plate in 96 well format<br> (upgradable to rapid 6/Petri)</td> <td class="cell">24, 48, 96, 384, 1536 and Terasaki<br>Strip plate in 96 well format<br> (upgradable to rapid 6/Petri)</td> <td class="cell">6, 12, 24, 48, 96, 384, 1536 and Terasaki<br>Strip plate in 96 well format<br> (upgradable to rapid 6/Petri)</td> <td class="cell">6, 12, 24, 48, 96, 384, 1536 and Terasaki<br>Strip plate in 96 well format<br> (upgradable to rapid 6/Petri)</td> </tr> <tr class="label"> <td>Applications</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#optical-zoom-capability-fluor">Microscopic Cell Analysis</a></td> <td class="cell"><span class="tick">(✓)</span></td> <td class="cell"><span class="tick">(✓)</span></td> <td class="cell"><span class="tick">(✓)</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#pbmc-counting">PBMC/Cell Counting</a></td> <td class="default cell">Live Cell</td> <td class="cell">Live and Dead</td> <td class="cell">Live and Dead</td> <td class="cell">Live, Dead & Apoptotic</td> <td class="cell">Live, Dead & Apoptotic</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#tcell-proliferation">T Cell Proliferation Assays</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#cell-mediated-cytotoxicity">Cell-Mediated Cytotoxicity Assays</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-sce">Single color ELISPOT</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-dce">Double color ELISPOT</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#fluorospot">FluoroSpot</a></td> <td class="default cell">Single Color</td> <td class="cell">Three Color</td> <td class="cell">Four Color</td> <td class="cell">Five (upgradable to 12)</td> <td class="cell">Twelve Color (Included)</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#biospot-l10">BioSpot</a></td> <td class="default cell">Single Color</td> <td class="cell">Three Color</td> <td class="cell">Four Color</td> <td class="cell">Five (upgradable to 12)</td> <td class="cell">Twelve Color (Included)</td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#elisa-odense">ELISA / Protein / Nucleic Acid quantification</a></td> <td class="default cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#tissuemicro">Tissue Mircoarray</a></td> <td class="cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#core-facility">Core Facility Suitability</a></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr class="label"> <td>Additional Features</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#top-bottom-light">Top / Bottom Light</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td>Integrated Barcode Reader</td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#high-througput">Plate Loader Ready</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#bsl-suitability">BSL 3/4 Suitable</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#space-saving-design">Space Saving Design</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#regulatory-compliance">Suited for Regulatory Compliance</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr class="label"> <td>Software</td> <td class="default cell"> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-sce">ImmunoSpot® Single-Color ELISPOT Enzymatic</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#software-dce">ImmunoSpot® Double-Color ELISPOT Enzymatic</a></td> <td class="default cell"><span class="cross">✕</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#fluorox-multicolor-fluorospot">Fluoro-X™ FluoroSpot</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#biospot-l10">BioSpot™</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#image-annotator">Image Annotator</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#lda-cell-counting-suite">LDA Cell Counting Suite</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#tva-cytotoxicity-suite">TVA® Cytotoxicity Suite</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#elisa-odense">ODense™</a></td> <td class="default cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#spotstat">SpotStat™</a></td> <td class="default cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#spotmap">SpotMap®</a></td> <td class="default cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#reagent-tracker">ReagentTracker™</a></td> <td class="default cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#express-qualify">ExpressQualify™</a></td> <td class="default cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#immunoqualify">ImmunoQualify™</a></td> <td class="default cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell"><span class="tick">✓</span></td> </tr> <tr> <td><a href="#" data-bs-toggle="modal" data-bs-target="#immunocompliance-suite">ImmunoCompliance™ Suite</a></td> <td class="default cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> <td class="cell">upgrade</td> </tr> </tbody> </table> </div> </div> </div> </div> <div id="analyzer-world" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="analyzer-world" aria-hidden="true"> <div class="modal-dialog worldwide" role="document"> <div class="modal-content"> <div class="modal-body px-3 pt-1"> <div id="world-soft-slider_wrapper" style="width: 52rem;"> <div id="world-soft-slider" class="world-soft-slider"> <div class="item"> <div class="modal-header ps-0"> <h5 class="mt-2 fw-bold modal-title" style="font-size: 1rem;">ImmunoSpot® Analyzers Worldwide</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div> <img src="https://immunospot.com/media/images/analyzer-landing/worldwide/ctl-worldwide-distribution.jpg" alt="immunospot analyzers worldwide"></div> <div class="item"> <div class="modal-header ps-0"> <h5 class="mt-2 fw-bold" style="font-size: 1rem;">In Washington D.C alone there are over 319 ImmunoSpot® Analyzers.</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div> <img src="https://immunospot.com/media/images/analyzer-landing/worldwide/DC-01.png" alt="immunospot analyzers united states"></div> <div class="item"> <div class="modal-header ps-0"> <h5 class="mt-2 fw-bold" style="font-size: 1rem;">In London alone there are over 92 ImmunoSpot® Analyzers.</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div> <img src="https://immunospot.com/media/images/analyzer-landing/worldwide/London-01.png" alt="immunospot analyzers europe"></div> <div class="item"> <div class="modal-header ps-0"> <h5 class="mt-2 fw-bold" style="font-size: 1rem;">In Beijing alone there are over 95 ImmunoSpot® Analyzers.</h5> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Close"></button></div> <img src="https://immunospot.com/media/images/analyzer-landing/worldwide/China-01.png" alt="immunospot analyzers asia"></div> </div> </div> </div> </div> </div> </div> <div id="elisa" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="elisa" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Two color ELISPOT analysis</h5> </div> <div class="modal-body">The ImmunoSpot® Double Color Enzymatic Software Suite permits precise counting of single-color spots for either analyte, as well as double color spots produced by cells that co-express both analytes <a href="https://www.jimmunol.org/content/164/4/1862" target="_blank" rel="noreferrer noopener">(J. Immunol. 2000, 164:1862).</a> CTL offers a wide selection of double color enzymatic ELISPOT kits enabling such dual color enzymatic ELISPOT analysis. <a href="https://vimeo.com/838022492?share=copy" target="_blank">Learn more about double color enzymatic ImmunoSpot® analysis.</a> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="biospot" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="biospot" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">The BioSpot™ Software Suite</h5> </div> <div class="modal-body">BioSpot™ enables ImmunoSpot® Readers to evaluate of broad range of neutralization assays and colony counting. <a href="/products/analyzers/biospot-software.html" target="_blank" rel="noopener">Learn more</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="nr-of-biospot-analytes-white" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-biospot-analytes-white" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Number of BioSpot Analytes (Visible/White Light)</h5> </div> <div class="modal-body">Enabled by the BioSpot™ Software, these readers can distinguish and count independently objects/colonies of up to 12 different colors as visible under white light illumination. <a href="#l10" data-bs-toggle="collapse" aria-expanded="false" aria-controls="l10">Learn more.</a> <div id="l10" class="collapse mt-3"> <p>Immune monitoring efforts frequently involve measuring serum antibodies' efficacy in neutralizing viruses, bacteria or toxins. ImmunoSpot® readers fully support such high throughput measurements, including foci and colony counting. Each type of colony, foci or viral plaque has unique morphologies requiring specialized image analysis solutions. The BioSpot™ Software Suite was designed to meet this challenge. The BioSpot™ Software can distinguish foci/colonies in up to 12 different visible color planes with white light illumination.</p> <p>21 CFR Part 11 compliant QC and audit trail workflows support transparent data processing and handling within a regulated environment.</p> <p>CTL’s philosophy is to offer instruments that support several functions commonly performed in immune monitoring laboratories. Enabled by the BioSpot™ Software Suite, ImmunoSpot® Readers are rendered high-end colony counters.</p> <p>To view the full spectrum of assays that can be analyzed with the BioSpot™ Software.<br><a href="/products/analyzers/biospot-software.html" target="_blank" rel="noopener">Learn more</a></p> </div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="biospot-l10" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="biospot-l10" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">BioSpot™</h5> </div> <div class="modal-body"> <p>Immune monitoring efforts frequently involve measuring serum antibodies' efficacy in neutralizing viruses, bacteria or toxins. ImmunoSpot® readers fully support such high throughput measurements, including foci and colony counting. Each type of colony, foci or viral plaque has unique morphologies requiring specialized image analysis solutions. The BioSpot™ Software Suite was designed to meet this challenge. The BioSpot™ Software can distinguish foci/colonies in up to 12 different visible color planes with white light illumination.</p> <p><a href="/products/analyzers/biospot-software.html" target="_blank" rel="noopener">Learn more</a> about the full spectrum of assays that can be analyzed with the BioSpot™ Software, and the software itself.</p> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="histo-slide-analysis-capability" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="histo-slide-analysis-capability" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Histologic slide analysis capability</h5> </div> <div class="modal-body">In addition to being able to scan microtiter plates of various well formats, and haemocytometers, ImmunoSpot® Readers can also scan histologic slides. In particular, tissue microarray scanning and analysis is to mention here. In this approach, tissue sections of regular size and shape are spread out on histologic slides in an array format, permitting the high throughput analysis of histologic and molecular changes in healthy or diseased tissues for diagnostic and research applications. See an example of such an image, <a href="https://immunospot.com/pub/media/mageplaza/product_attachments/attachment_file/s/c/scanning_microarrays_10-3.pdf" target="_blank">here</a>.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="visible-light-array-analysis" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="visible-light-array-analysis" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Visible Array Analysis</h5> </div> <div class="modal-body"> <p>Cytokine arrays can be visualized with precipitating substrates. A sample image of this assay is printed into a well of a 96 well plate is shown below.</p> <div class="col-6"><img src="https://immunospot.com/media/images/analyzer-landing/modal/visible-light-array.jpg" alt=""></div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="fluorescent-light-array-analysis" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fluorescent-light-array-analysis" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Fluorescent Array Analysis</h5> </div> <div class="modal-body"> <p>Cytokine arrays can be visualized via fluorescent detection reagents A sample image of this assay is printed into a well of a 96 well plate is shown below. CTL’s ImmArray Software permits high throughput-analysis of such assay results.</p> <div class="col-6"><img src="https://immunospot.com/media/images/analyzer-landing/modal/fluorescent-light-array.jpg" alt=""></div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="optical-zoom-capability-fluor" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="optical-zoom-capability-fluor" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Imaging</h5> </div> <div class="modal-body">Zoom lenses enable image capture at maximal resolution using different magnifications/well formats. The zoom range of lenses used in high-end ImmunoSpot® Readers extends to the microscopic scale enabling high resolution analysis of single cells. <a href="/optical-resolution-of-immunospot-readers" target="_blank" rel="noopener">See examples of cells imaged on ImmunoSpot® Readers. </a>Readers without optical zoom capabilities are also suited to enumerate fluorescence-labeled individual cells, however, such instruments do not provide subcellular detail.<br><br>Applications include: <ul> <li>Proliferation assay</li> <li>Viability assay</li> <li>GFP/RFP detection</li> <li>Apoptosis assay</li> <li>Cell cycle assays</li> <li>6-color staining</li> <li>High content imaging</li> <li>Whole slide/mount imaging</li> </ul> <br><br> <a href="https://vimeo.com/851652663/0a651112cb?share=copy" target="_blank">Learn more about fluorescence-enabled single cell analysis applications of ImmunoSpot® readers.</a> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="optical-zoom-capability" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="optical-zoom-capability" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Imaging</h5> </div> <div class="modal-body">Zoom lenses enable image capture at maximal resolution using different magnifications/well formats. The zoom range of lenses used in high-end ImmunoSpot® Readers extends to the microscopic scale enabling high resolution analysis of single cells. <a href="/optical-resolution-of-immunospot-readers-visible-light" target="_blank" rel="noopener">See examples of cells imaged on ImmunoSpot® Readers. </a>Readers without optical zoom capabilities are also suited to enumerate individual cells, however, such instruments do not provide subcellular detail. </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="express-qualify" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="express-qualify" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ExpressQualify™ Package</h5> </div> <div class="modal-body">Starting June 1st 2023, CTL is providing a barcoded ELISPOT reference plate with every Analyzer delivery. The ExpressQualify™ tool automatically scans and counts the reference plate to verify that the Analyzer is still performing within factory specifications. To meet formal regulatory requirements and documentation, please consult our full-version ImmunoQualify™ package.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="optical-motorized-zoom-capability-fluor" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="optical-motorized-zoom-capability" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Imaging</h5> </div> <div class="modal-body">Zoom lenses enable image capture at maximal resolution using different magnifications/well formats. The zoom range of lenses used in select ImmunoSpot® Readers extends to the microscopic scale enabling imaging of single cells for <a href="/products/analyzers/lda-cell-counting-suite.html">live/dead/apoptotic cell counting</a>, or for the detection of immuno-stained or transfected cells. <a href="/optical-resolution-of-immunospot-readers" target="_blank" rel="noopener">See examples of cells imaged on ImmunoSpot® Readers.</a> <div > <p>CTL’s LDA Cell Counting Suite enables high-throughput live/dead/apoptotic (LDA) cell counting with suitable ImmunoSpot® Readers. CFR Part 11 compliant QC and audit trails support cell counting in a regulated environment. <a href="/products/analyzers/lda-cell-counting-suite.html" target="_blank" rel="noopener">Learn more</a></p> </div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="optical-motorized-zoom-capability" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="optical-motorized-zoom-capability" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Imaging</h5> </div> <div class="modal-body">Zoom lenses enable image capture at maximal resolution using different magnifications/well formats. The zoom range of lenses used in select ImmunoSpot® Readers extends to the microscopic scale enabling imaging of single cells for <a href="/products/analyzers/lda-cell-counting-suite.html">live/dead/apoptotic cell counting</a>, or for the detection of immuno-stained or transfected cells. <a href="/optical-resolution-of-immunospot-readers" target="_blank" rel="noopener">See examples of cells imaged on ImmunoSpot® Readers.</a> <div > <p>CTL’s LDA Cell Counting Suite enables high-throughput live/dead/apoptotic (LDA) cell counting with suitable ImmunoSpot® Readers. CFR Part 11 compliant QC and audit trails support cell counting in a regulated environment. <a href="/products/analyzers/lda-cell-counting-suite.html" target="_blank" rel="noopener">Learn more</a></p> </div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="top-bottom-light" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="top-bottom-light" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Top / Bottom light</h5> </div> <div class="modal-body">CTL instruments are equipped with software-controlled top and bottom white light sources, each independently gradable, which permits the optimization of well illumination for different assay formats.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="regulatory-compliance" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="regulatory-compliance" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Regulatory compliance</h5> </div> <div class="modal-body">About 1,000 of our ImmunoSpot® Readers operate in a regulated environment, having satisfied in house and third-party audits, including audits of regulatory agencies. An optional ImmunoCompliance™ package is available. We offer IQ, OQ for our regulated customers. <a href="/about-ctl/compliance/regulatory-compliance-of-ctl-software/" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="high-througput" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="high-througput" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">High-througput</h5> </div> <div class="modal-body">Automated, plate loading solutions are optional upgrades for CTL readers. Our <a href="immunospot-s6-immunostack.html" target="_blank" rel="noopener">stackers</a> enable scanning and counting up to 50 plates in a run, while with our <a href="immunospot-s6-immunobot.html" target="_blank" rel="noopener">robotic arm</a> solution up to 400 plates can be analyzed as a single batch. <br><a href="https://vimeo.com/824607397/bf7e413049" target="_blank">Watch Demo Video</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="bsl-suitability" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="bsl-suitability" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">BSL 3/4 suitability</h5> </div> <div class="modal-body">ImmunoSpot® Readers are frequently run in BSL 3 and even BSL-4 environments. These instruments’ skin and interior has been designed to withstand and facilitate disinfection. <p>See CTL employee servicing an ImmunoSpot® Reader in a BSL4 laboratory <a href="#bsl-4-employee" data-bs-toggle="collapse" aria-expanded="false" aria-controls="bsl-4-employee">here.</a></p> <div id="bsl-4-employee" class="collapse mt-3"><img src="https://immunospot.com/media/images/analyzer-landing/employee-bsl4-lab.jpg" alt=""></div> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="modular-design" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="modular-design" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Modular design</h5> </div> <div class="modal-body">Select ImmunoSpot® Readers have been engineered such that the number of narrow-band excitation light sources, fluorescent cubes and filters can be modified after the instrument was installed to increase the number of fluorescent channels (colours). In this way, customers have the flexibility to adjust their instruments to future needs.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="space-saving-design" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="space-saving-design" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Space saving design</h5> </div> <div class="modal-body">An integrated keyboard tray and monitor reduces the foot print of the system by half as compared to the bench space needed if the analyser, monitor and keyboard are set up next to each other.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="software-sce" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="software-sce" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ImmunoSpot® Single-Color ELISPOT Enzymatic Software Suite</h5> </div> <div class="modal-body">The spot counting accuracy of the ImmunoSpot® Single-Color ELISPOT Enzymatic Software Suite is based on rigorous experimental validation. This software implements “a single click of a button” InteliCount™ algorithm that is based on 25 years of leading scientific expertise in ELISPOT analysis captured in deep machine learning-assisted object recognition. In “expert” mode, this software enables scientists to perform high-content analysis based on spot sizes and morphologies, for example, to establish per cell productivity and <a href="https://immunospot.com/fcs-output" target="_blank">affinity distributions of antigen-specific B cells</a>. Built-in user authentication, audit trails and data security support transparent ELISPOT counting in a regulated environment. Spot recognition in the ImmunoSpot® Software is based on principles described in our patent (<a href="https://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/6410252" target="_blank">US Patent 6,410,252 B1; filed 12/95</a>).<br><a href="/immunospot-software.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="software-dce" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="software-dce" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ImmunoSpot® Double Color Enzymatic Software Suite</h5> </div> <div class="modal-body">Two color ELISPOT analysis can be performed using precipitating substrates that have distinct color spectra with visible/white light illumination (without involving fluorescence). <p>The ImmunoSpot® Double Color Enzymatic Software Suite permits precise counting of single-color spots for either analyte, as well as double color spots produced by cells that co-express both analytes <a href="https://www.jimmunol.org/content/164/4/1862" target="_blank" rel="noreferrer noopener">[Journal of Immunology. 2000, 164:1862].</a> CTL offers a wide selection of <a href="/products/immunospot-kits-components" target="_blank" rel="noopener">double color enzymatic ELISPOT kits</a> enabling such dual color enzymatic ELISPOT analysis. <a href="https://vimeo.com/838022492?share=copy" target="_blank">Learn more about double color enzymatic ImmunoSpot® analysis.</a> </p> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="elisa-odense" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="elisa-odense" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ELISA / Protein / Nucleic Acid quantification</h5> </div> <div class="modal-body">Enabled by CTL’s ODense™ Software Suite, ImmunoSpot® Instruments are capable of reading ELISA results in addition to nucleic acid and protein quantification. The streamlined workflow integrates planning and plate layouts with automated graphical outputs and statistical analysis tools. The work flow is streamlined from planning the plate lay-out to automated generation of the graphs, and the statistical analysis of the results. 21 CFR Part 11 compliant QC and audit trails support work in a regulated environment. <br><br>CTL’s philosophy is to offer instruments that support several functions commonly performed in immune monitoring laboratories, saving our customers the expense of having to purchase and maintain a dedicated instrument for each, all included in the cost of a single device.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="spotmap" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="spotmap" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">SpotMap® Software Suite</h5> </div> <div class="modal-body">High throughput analysis is streamlined by the SpotMap® Software Suite. In the assay-planning phase, plate layouts are created, and barcodes are generated for each plate. SpotMap® links the spot counts for groups of repetitive wells (e.g. triplicates) to the donor sample IDs and antigens present in those wells, and passes on this information for automated statistical analysis and subsequent export to any standard database. With SpotMap® complex assays can be evaluated “at a click of a button”.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="image-annotator" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="image-annotator" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Image Annotator™</h5> </div> <div class="modal-body">The Image Annotator™ facilitates image analysis-oriented exchange between scientists themselves, or scientists and CTL's expert support team. Regions of interst on a well image are marked and annotated. This information along with the raw image and the counting parameters are bundled together to be passed on for discussion or consultation.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="spotstat" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="spotstat" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">SpotStat® Software Suite</h5> </div> <div class="modal-body">The SpotStat® Software Suite was developed for the statistical analysis of ELISPOT/Fluorospot data in immune monitoring, vaccine testing, and other fields of immunological or medical research. SpotStat® implements a number of powerful parametric and non-parametric statistical methods for easy, streamlined analysis of data generated by CTL’s ImmunoSpot® platform. <a href="/products/analyzers/spotstat-software.html" target="_blank" rel="noopener">Learn More</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="reagent-tracker" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="reagent-tracker" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Reagent Tracker™ Suite</h5> </div> <div class="modal-body"> <p>The Reagent Tracker™ Suite provides audit trails for the accurate implementation of ELISPOT/FlouroSpot assays, revealing pipetting errors made <a href="https://doi.org/10.3390/cells7010003" target="_blank" rel="noreferrer noopener">(https://doi.org/10.3390/cells7010003)</a>. Biologically neutral dyes are used to colour different antigens and the Reagent Tracker™ Software checks whether in each assigned well the right antigen/colour has indeed been plated (revealing qualitative pipetting errors), and whether the antigen pipetting volume was correct (revealing quantitative pipetting errors). The Reagent Tracker™ Suite generates automatic printable reports and is also ideally suited for proficiency testing of lab personnel, and for training of novices in the lab.</p> <p>CTL has been committed to elevating ELISPOT/FluoroSpot assays so they can meet regulatory requirements for transparency and audit trails. The Reagent Tracker™ Suite is one of the important steps in that direction.</p> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="immunoqualify" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="immunoqualify" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ImmunoQualify™ Tool</h5> </div> <div class="modal-body">The ImmunoQualify™ Tool permits to verify main functions of ImmunoSpot® Readers and assures accurate performance before each use, or periodically. At the “press of a button”, a Reference Plate is scanned, and the newly established counts are compared to the factory-established reference counts for that plate, generating a pass/fail report.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="immunocompliance-suite" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="immunocompliance-suite" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">ImmunoCompliance™ Suite</h5> </div> <div class="modal-body">CTL’s ImmunoCompliance™ Package includes a three-tier offering. To learn more, please follow <a href="/products/analyzers/regulatory-compliance-of-immunospot-readers" target="_blank" rel="noopener">this link.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="nr-of-fluorospot-analytes" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-fluorospot-analytes" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Number of Fluorescent Channels</h5> </div> <div class="modal-body">Most fluorochromes have partially overlapping spectra. For multicolor analysis, ImmunoSpot® Readers are designed such that select fluorochromes can be detected simultaneously in the same well without cross-bleeding of colors from one fluorescent channel to the another, thus permitting unambiguous identification of each analyte, as well as of multiple analyte co-expressing cells. Customization of assay-specific excitation/emission filters are available upon request.<br><a href="/products/analyzers/fluorox-software.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="fluorospot" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-fluorospot-analytes" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">FluoroSpot</h5> </div> <div class="modal-body">Most fluorochromes have partially overlapping spectra. For multicolor analysis, ImmunoSpot® Readers are designed such that select fluorochromes can be detected simultaneously in the same well without cross-bleeding of colors from one fluorescent channel to the another, thus permitting unambiguous identification of each analyte, as well as of multiple analyte co-expressing cells. Customization of assay-specific excitation/emission filters are available upon request.<br><a href="/products/analyzers/fluorox-software.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="nr-of-detectable-subpopulations" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-detectable-subpopulations" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Number of Detectable Subpopulations</h5> </div> <div class="modal-body">ImmunoSpot® detects the individual fluorescent colours/labels without cross-bleeding. A “center of masses distance algorithm” compares spot center coordinates in each fluorescent channel to identify analyte co-expressing subpopulations of cells. The number of subpopulations showing a distinct analyte co-expression profile is specified here. <a href="/products/analyzers/products/analyzers/fluorox-software.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="pbmc-counting" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="pbmc-counting" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">PBMC counting</h5> </div> <div class="modal-body"> <p>Enabled by CTL’s LDA Cell Counting Suite, fluorescence capable ImmunoSpot® Readers are rendered into image-based cell counters, saving our customers the expense of having to purchase and maintain a dedicated cell counter, all included in the cost of a single instrument. Fluorescent dyes with non-overlapping colour spectra are used for live/dead/apoptotic (LDA) cell staining. LDA counting of 96 PBMC samples takes just minutes including automatic calculations of resuspension volumes and generation of audit trails and a concise report. <br><a href="https://immunospot.com/pub/media/mageplaza/product_attachments/attachment_file/9/6/96-well-counting-2024.pdf" target="_blank" rel="noopener">Learn more about 96 well-based high throughput PBMC counting.</a><br><br><a href="https://vimeo.com/870834341?share=copy" target="_blank" rel="noopener">Learn more about the formal validation of CTL’s Live/Dead PBMC counting platform.</a><br><br><a href="https://immunospot.com/lda-cell-counting-suite.html" target="_blank" rel="noopener">Learn more about our LDA cell counting Suite.</a></p> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="cell-mediated-cytotoxicity" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="cell-mediated-cytotoxicity" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Cell-mediated cytotoxicity</h5> </div> <div class="modal-body"> <p>Select ImmunoSpot® Readers are suited to measure the lysis of fluorescent dye-labelled target cells in 96-well or Terasaki plate format (<a href="https://doi.org/10.3390/cells7050035" target="_blank" rel="noreferrer noopener">Ref.</a>, and <a href="https://vimeo.com/841938198?share=copy" target="_blank">view presentation</a>). Such target cell visualization assays (TVA®) are commonly used for measuring natural killer- (NK) cell-mediated cytotoxicity, or of antibody-dependent cell-mediated cytotoxicity (ADCC). Enabled by <a href="/products/analyzers/ctl-tva-suite.html" target="_blank" rel="noopener">CTL’s TVA® Software suite</a>, such ImmunoSpot® Readers provide the results nearly 10x faster and streamlined than the fastest flow cytometers. <br><br>Measuring cell-mediated cytotoxicity is part of the assay repertoire of most laboratories involved in immune monitoring efforts. CTL’s philosophy is to offer instruments that support several functions commonly performed in immune monitoring laboratories. Enabled by CTL’s TVA® Software suite, ImmunoSpot® instruments can measure NK-dependent cytotoxicity, saving our customers the expense of having to purchase a dedicated instrument, all included in the cost of a single device.</p> </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="nr-of-biospot-analytes-fluoro" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-biospot-analytes-fluoro" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">BioSpot</h5> </div> <div class="modal-body">Most fluorochromes have partially overlapping spectra. For multicolor analysis, ImmunoSpot® Readers are designed such that select fluorochromes can be detected simultaneously in the same well without cross-bleeding of colors from one fluorescent channel to the another, thus permitting unambiguous identification of each analyte, as well as of multiple analyte co-expressing cells. Customization of assay-specific excitation/emission filters are available upon request.<br><a href="/products/analyzers/products/analyzers/fluorox-software.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="nr-of-biospot-analytes-visible" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="nr-of-biospot-analytes-visible" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Number of BioSpot Analytes (Visible/White Light)</h5> </div> <div class="modal-body">Enabled by the BioSpot™ Software, these readers can distinguish and count independently objects/colonies of up to 12 different colors as visible under white light illumination. <br><a href="/products/analyzers/biospot-software.html" target="_blank" rel="noopener">Learn more</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="fluorox-multicolor-fluorospot" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="fluorox-multicolor-fluorospot" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Fluoro-X™ Multicolor FluoroSpot</h5> </div> <div class="modal-body"> <p>The accurate evaluation of multicolor B-cell and T cell FluoroSpot assays, , each require different image analysis approaches for identifying single or multiple analyte-secreting cells. Spot recognition in the ImmunoSpot® Software is based on principles described in our patent (<a href="https://image-ppubs.uspto.gov/dirsearch-public/print/downloadPdf/6410252" target="_blank">US Patent 6,410,252 B1; filed 12/95</a>). In the FluoroX™ software, deep machine learning assists the detection of secretory footprints of interest. </p> <a href="/products/analyzers/fluorox-software.html" target="_blank" rel="noopener">Learn more</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="lda-cell-counting-suite" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="lda-cell-counting-suite" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">LDA Cell Counting Suite</h5> </div> <div class="modal-body">CTL’s LDA Cell Counting Suite enables high-throughput live/dead/apoptotic (LDA) cell counting with suitable ImmunoSpot® Readers. CFR Part 11 compliant QC and audit trails support cell counting in a regulated environment. <br><a href="/lda-cell-counting-suite.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="tissuemicro" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="tissuemicro" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Tissue Microarray Scanning and Analysis</h5> </div> <div class="modal-body">In this approach, tissue sections of regular size and shape are spread out on histologic slides in an array format permitting the high throughput analysis of histologic and molecular changes in healthy or diseased tissues for diagnostic and research applications. Readers can be used to scan such tissue microarrays under visible or multicolor fluorescent light. See examples of such images, <a href="https://immunospot.com/pub/media/mageplaza/product_attachments/attachment_file/m/i/microarray_presentation.pdf" target="_blank">here</a>.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="core-facility" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="core-facility" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Core Facility Suitability</h5> </div> <div class="modal-body">ImmunoSpot® Readers are multifunctional imaging instruments. They permit high throughout reading of a wide range of microtiter plate and petri dish formats with back- and/or top light, or fluorescence. Dedicated software permits analysis of ELISPOT/FluoroSpot, viral-, bacterial-, and yeast colony counting, as well as single cell imaging for various infectivity-, gene expression-, and cytotoxicity assays. Satellite software licenses are available enabling the individual laboratories to analyze the data on their own, independent of the core instrument/facility.</div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="tva-cytotoxicity-suite" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="tva-cytotoxicity-suite" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">TVA® Cytotoxicity Suite</h5> </div> <div class="modal-body">The Target cell Visualization Assay (TVA®) Suite is a high-throughput cell counting application that is designed to measure the lysis of fluorescence-labelled target cells in a 96-well or Terasaki plate format. The TVA®-Suite enables streamlined work flow from planning the experiment to automated generation of graphs with audit trails supporting work in an academic or regulated environment. <br><a href="/products/analyzers/ctl-tva-suite.html" target="_blank" rel="noopener">Learn more.</a></div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> <div id="tcell-proliferation" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="tcell-proliferation" aria-hidden="true"> <div class="modal-dialog modal-dialog-scrollable" role="document"> <div class="modal-content"> <div class="modal-header"> <h5 id="exampleModalLabel" class="modal-title">Measuring T cell proliferation with CTL Readers:</h5> </div> <div class="modal-body">Traditionally, <i>ex vivo</i> proliferative T cell responses elicited by recall antigens or other stimuli have been measured by the <sup>3</sup>H-thymidine incorporation assay. There are two non-radioactive alternatives. One, is the <a href="https://en.wikipedia.org/wiki/MTT_assay" target="_blank">MTT assay</a>. It is a colorimetric test, that can be readily read with <a data-toggle="popover" title="ELISA / Protein / Nucleic Acid quantification" data-content="Enabled by CTL’s ODense™ Software Suite, ImmunoSpot® Instruments are capable of reading ELISA results in addition to nucleic acid and protein quantification. The streamlined workflow integrates planning and plate layouts with automated graphical outputs and statistical analysis tools. The work flow is streamlined from planning the plate lay-out to automated generation of the graphs, and the statistical analysis of the results. 21 CFR Part 11 compliant QC and audit trails support work in a regulated environment. <br><br>CTL’s philosophy is to offer instruments that support several functions commonly performed in immune monitoring laboratories, saving our customers the expense of having to purchase and maintain a dedicated instrument for each, all included in the cost of a single device." data-triger="focus">CTL’s ODense<sup>TM</sup> Software</a> installed on each of our reader models. The other method relies on counting cell clusters, so called morulas, that form in wells when T cells proliferate. To learn more about the latter, please see <a href="https://vimeo.com/851646174/1c92a37180?share=copy" target="_blank">this video recording</a>. <br><br> Florescence-capable CTL Readers can also measure proliferation via assessing CFSE dilution. The CFSE dye binds covalently to long-lived molecules present inside the cell. When the parent cell divides, the first generation of two daughter cells “inherits” each half the dye, the second generation one fourth. This quantal decrease in per cell staining intensity can be evaluated by our <a href="#" data-bs-toggle="modal" data-bs-target="#fluorox-multicolor-fluorospot" target="_blank">Fluoro-X® Software</a> that is installed on all of our fluorescence-capable readers. </div> <div class="modal-footer"><a href="#" data-bs-dismiss="modal">Close</a></div> </div> </div> </div> </div></div></div></div></main><footer class="page-footer"><div class="footer content"><div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row no-gutters font-size-sm"> <div class="col-md-4 col-lg-3 mt-1"><img src="https://immunospot.com/media/images/logo/immunospot_logo_black.png" alt=""> <p>20521 Chagrin Boulevard <br>Shaker Heights, Cleveland, <br>OH 44122-5350 USA</p> <p>Tel: +1 216-791-5084<br>US Toll Free: +1 888-791-4005<br>Fax: +1 216-751-1373</p> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Products</h5> <ul class="compact"> <li><a href="/products/analyzers">Analyzers & software</a></li> <li><a href="/products/immunospot-kits-components">Kits & components</a></li> <li><a href="/products/epbmc">ePBMC</a></li> <li><a href="/products/serum-free-media">Serum-free media</a></li> <li><a href="/products/positive-controls-tcell-activation">Positive controls for T cell activation</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2 pr-4"> <h5>Services</h5> <ul class="compact"> <li><a href="/services/contract-laboratory-services">Contract laboratory services</a></li> <li><a href="/services/training-consultation">Training & consultation</a></li> <li><a href="/products/kit-scanning-analysis">ELISPOT/FluoroSpot plate analysis</a></li> <li><a href="/services/elispot-proficiency-testing">ELISPOT/FluoroSpot proficiency testing</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Resources</h5> <ul class="compact"> <li><a href="/resources/news">Latest news from CTL</a></li> <li><a href="/resources/recent-publications">Latest publications</a></li> <li><a href="/terms-and-conditions">Terms and conditons of Sale of Products</a></li> <li><a href="/privacy-policy">Privacy policy</a></li> <li><a href="/sitemap">Site map</a></li> <li><a href="/website-terms-of-use">Website Terms of Use</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-2"> <h5>Contact</h5> <ul class="compact"> <li><a href="/contact-support/contact-us">General contact</a></li> <li><a href="/contact-support/contact-us">Distributors</a></li> <li><a href="/careers">Careers</a></li> <li><a href="/contact-support/contact-elispot-workshop">ELISPOT workshops</a></li> <li><a href="/contact-support/customer-support">Customer support</a></li> </ul> </div> <div class="col-md-4 mt-1 col-lg-1"> <h5>Social</h5> <ul class="compact"> <li class="mb-1"><a title="Linkedin" href="https://www.linkedin.com/company/cellular-technology-ltd./" target="_blank" rel="noreferrer noopener"><img src="https://immunospot.com/media/images/footer/linkedin-footer-grey.png" alt="Follow Us on LinkedIn" width="40" height="40"></a></li> <li class=""><a title="YouTube" href="https://www.youtube.com/user/ImmunoSpot/videos" target="_blank" rel="noreferrer noopener"><img src="https://immunospot.com/media/images/footer/youtube-footer-grey.png" alt="Follow Us on YouTube" width="40" height="40"></a></li> </ul> </div> </div> <div class="“row text-center mt-3 font-size-sm"><a href="/terms-and-conditions">Terms and conditions | </a> <a href="/privacy-policy">Privacy policy | </a> Copyright ©<script>document.write(new Date().getFullYear())</script> Cellular Technology Limited</div> <a class="btn-scroll-top" href="#top" data-scroll data-fixed-element><span class="btn-scroll-top-tooltip text-muted fs-sm me-2">Top</span><i class="btn-scroll-top-icon ai-arrow-up"> </i></a></div><div class="field-recaptcha" id="recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container" data-bind="scope:'recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796'" > <!-- ko template: getTemplate() --><!-- /ko --> </div> <script> require(['jquery', 'domReady!'], function ($) { $('#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container') .appendTo('#newsletter-validate-detail'); }); </script> <script type="text/x-magento-init"> { "#recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796-container": { "Magento_Ui/js/core/app": {"components":{"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796":{"settings":{"rendering":{"sitekey":"6LeOT5EcAAAAAHi4oucEmcs91zYtY-3SsXHt2B5y","badge":"inline","size":"invisible","theme":"light","hl":""},"invisible":true},"component":"Magento_ReCaptchaFrontendUi\/js\/reCaptcha","reCaptchaId":"recaptcha-caa20ac351216e6f76edced1efe7c61fff5f4796"}}} } } </script> </div></footer> <script type="text/x-magento-init"> {"*": {"Magento_Ui/js/core/app": {"components":{"couponCodeContent":{"component":"Mageside_CouponCodeLink\/js\/content","contentType":"1"}}}}} </script> <script type="text/x-magento-init"> { "*": { "Magento_Ui/js/core/app": { "components": { "storage-manager": { "component": "Magento_Catalog/js/storage-manager", "appendTo": "", "storagesConfiguration" : {"recently_viewed_product":{"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"recently_compared_product":{"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"lifetime":"1000","allowToSendRequest":null},"product_data_storage":{"updateRequestConfig":{"url":"https:\/\/immunospot.com\/rest\/default\/V1\/products-render-info"},"requestConfig":{"syncUrl":"https:\/\/immunospot.com\/catalog\/product\/frontend_action_synchronize\/"},"allowToSendRequest":null}} } } } } } </script> <script> window.screenM = '768'; window.widthThreshold = '1315'; require(['jquery', 'navigationJs' ], function ($, navigationJs) { $(document).ready(function() { navigationJs.init(); $(window).on('resize', function() { navigationJs.init(); }); }); }); </script> <script> require(['jquery', 'supscript'], function($, supscript) { supscript(); }); </script> <script type="text/x-magento-init"> { "*": { "Magento_Theme/js/theme.min": {} } } </script> <script> require(['jquery', 'chartjs'], function() { if (document.querySelectorAll('#Chart1').length > 0) { var ctx = document.getElementById('Chart1'); var Chart1 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-466', data: [78, 72, 47, 30, 17, 12, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart2').length > 0) { var ctx = document.getElementById('Chart2'); var Chart2 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-465', data: [80, 71, 49, 28, 19, 3, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart3').length > 0) { var ctx = document.getElementById('Chart3'); var Chart3 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-453', data: [59, 41, 12, 2, 0, 0, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart4').length > 0) { var ctx = document.getElementById('Chart4'); var Chart4 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-448', data: [78, 37, 21, 13, 9, 0, 8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart5').length > 0) { var ctx = document.getElementById('Chart5'); var Chart5 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-447', data: [65, 33, 21, 8, 8, 7, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart6').length > 0) { var ctx = document.getElementById('Chart6'); var Chart6 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-446', data: [80, 75, 59, 42, 21, 19, 15], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart7').length > 0) { var ctx = document.getElementById('Chart7'); var Chart7 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-438', data: [62, 31, 19, 9, 3, 2, -8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart8').length > 0) { var ctx = document.getElementById('Chart8'); var Chart8 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-435', data: [59, 33, 13, 9, 1, 1, -2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart9').length > 0) { var ctx = document.getElementById('Chart9'); var Chart9 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-441', data: [72, 40, 17, 7, 8, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart10').length > 0) { var ctx = document.getElementById('Chart10'); var Chart10 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-433', data: [57, 48, 22, 13, 7, 3, 0], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart11').length > 0) { var ctx = document.getElementById('Chart11'); var Chart11 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-425', data: [54, 35, 10, 8, 1, 2, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart12').length > 0) { var ctx = document.getElementById('Chart12'); var Chart12 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-424', data: [70, 50, 28, 13, 9, 5, 4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart13').length > 0) { var ctx = document.getElementById('Chart13'); var Chart13 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-406', data: [63, 39, 23, 14, 4, 5, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart14').length > 0) { var ctx = document.getElementById('Chart14'); var Chart14 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-404', data: [60, 35, 25, 14, 5, 8, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart15').length > 0) { var ctx = document.getElementById('Chart15'); var Chart15 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-401', data: [65, 38, 18, 15, 5, 8, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart16').length > 0) { var ctx = document.getElementById('Chart16'); var Chart16 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-394', data: [50, 28, 18, 9, 3, 1, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart17').length > 0) { var ctx = document.getElementById('Chart17'); var Chart17 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-393', data: [73, 44, 24, 15, 8, 4, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart18').length > 0) { var ctx = document.getElementById('Chart18'); var Chart18 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-391', data: [75, 49, 31, 18, 11, 3], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart19').length > 0) { var ctx = document.getElementById('Chart19'); var Chart19 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-390', data: [60, 38, 21, 12, 10, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart20').length > 0) { var ctx = document.getElementById('Chart20'); var Chart20 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-387', data: [72, 39, 24, 12, 5, 4, 6], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart21').length > 0) { var ctx = document.getElementById('Chart21'); var Chart21 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-386', data: [52, 34, 18, 11, 3, 4, 5], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart22').length > 0) { var ctx = document.getElementById('Chart22'); var Chart22 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-385', data: [58, 29, 19, 12, 3, 0, 4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart23').length > 0) { var ctx = document.getElementById('Chart23'); var Chart23 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-381', data: [80, 68, 42, 23, 11, 5, 0], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart24').length > 0) { var ctx = document.getElementById('Chart24'); var Chart24 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-372', data: [80, 65, 43, 30, 14, 10, 8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart25').length > 0) { var ctx = document.getElementById('Chart25'); var Chart25 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-371', data: [68, 33, 20, 8, 5, 1, -8], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart26').length > 0) { var ctx = document.getElementById('Chart26'); var Chart26 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-368', data: [74, 49, 27, 18, 9, 2, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart27').length > 0) { var ctx = document.getElementById('Chart27'); var Chart27 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-367', data: [80, 61, 41, 27, 14, 3, 1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart28').length > 0) { var ctx = document.getElementById('Chart28'); var Chart28 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-366', data: [56, 37, 22, 8, 2, -1, -1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart29').length > 0) { var ctx = document.getElementById('Chart29'); var Chart29 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-355', data: [75, 69, 44, 21, 11, 8, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart30').length > 0) { var ctx = document.getElementById('Chart30'); var Chart30 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP-353', data: [59, 39, 18, 9, 2, 7, -1], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart31').length > 0) { var ctx = document.getElementById('Chart31'); var Chart31 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP349', data: [59, 37, 18, 2, -2, -3, -4], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart32').length > 0) { var ctx = document.getElementById('Chart32'); var Chart32 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP341', data: [56, 40, 19, 10, 7, 2, -2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } if (document.querySelectorAll('#Chart33').length > 0) { var ctx = document.getElementById('Chart33'); var Chart33 = new Chart(ctx, { type: 'line', data: { labels: ["", "", "", "", "", "", ""], datasets: [{ label: 'LP98', data: [73, 53, 40, 25, 15, 9, 2], fill: false, borderColor: 'rgb(75, 192, 192)', tension: 0.1, }] }, options: { responsive: true, interaction: { intersect: false, }, scales: { x: { display: true, title: { display: true, text: 'Effector: Target Ratio' }, }, y: { display: true, title: { display: true, text: '%Killing' }, } } }, }); } }); </script> <script> require(['jquery', 'tinyslider'], function() { if (document.querySelectorAll('.front-header-slider').length > 0) { const front = tns({ "container": ".front-header-slider", "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.well-soft-slider').length > 0) { const well = tns({ "container": ".well-soft-slider", "gutter": 15, "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.comment-slider').length > 0) { const well = tns({ "container": ".comment-slider", "gutter": 15, "controls": false, "nav": false, "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 5000, "autoplayHoverPause": false }); } if (document.querySelectorAll('#nested').length > 0) { const outer = tns({ "container": "#nested", "gutter": 15, "controls": false, "navPosition": "bottom", "autoplay": true, "autoplayTimeout": 3500, "autoplayButtonOutput": false, "autoplayHoverPause": false }); } if (document.querySelectorAll('.header-slider').length > 0) { const header = tns({ "container": ".header-slider", "mode": "gallery", "nav": false, "controls": false, "autoplay": true, "autoplayButtonOutput": false, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } if (document.querySelectorAll('.gallery-slider').length > 0) { const tnsCarousel = document.querySelectorAll('.gallery-slider'); tnsCarousel.forEach(slider => { const tnsSlider = tns({ container: slider, "mode": "gallery" }); }); } if (document.querySelectorAll('.world-soft-slider').length > 0) { const world = tns({ "container": ".world-soft-slider", "gutter": 15, "controls": false, "navPosition": "top", "autoplay": true, "autoplayTimeout": 3000, "autoplayHoverPause": false }); } }); function resetFunction() { document.querySelector('[aria-label="Carousel Page 1"]').click() document.querySelector('[data-action="start"]').click() } </script> <script> require([ 'jquery' ], function ($) { jQuery(document).ready(function () { $( "ul" ).on( "click", "li", function() { var pos = $(this).index()+2; $(".tab-content tr").find('td:not(:eq(0))').hide(); $('.tab-content td:nth-child('+pos+')').css('display','table-cell'); $(".tab-content tr").find('th:not(:eq(0))').hide(); $('.tab-content li').removeClass('active'); $(this).addClass('active'); }); // Initialize the media query var mediaQuery = window.matchMedia('(min-width: 950px)'); // Add a listen event mediaQuery.addListener(doSomething); // Function to do something with the media query function doSomething(mediaQuery) { if (mediaQuery.matches) { $('.sep').attr('colspan',5); } else { $('.sep').attr('colspan',1); } } // On load doSomething(mediaQuery); }); }); </script> <!-- Wrapping template --> <script type="text/template" id="instant_wrapper_template"> {{#findAutocomplete}} <div id="algolia-autocomplete-container"></div> {{/findAutocomplete}} <div id="algolia_instant_selector" class=" with-facets"> <div class="row"> <div class="col-md-4" id="algolia-left-container"> <div id="refine-toggle" class="visible-xs visible-sm"> + Refine </div> <div class="hidden-xs hidden-sm" id="instant-search-facets-container"> <div id="clear-refinements"></div> <h3 class="filter_heading">Filters</h3> </div> </div> <div class="col-md-8" id="algolia-right-container"> <div class="row"> <div class="col-md-12"> <div> {{#second_bar}} <div id="instant-search-bar"></div> {{/second_bar}} </div> </div> </div> <div class="row"> <div class="col-md-12"> <div itemscope itemtype="http://schema.org/ItemList" class="hits"> <div class="algolia-infos"> <div class="pull-left" id="algolia-stats"></div> <div class="pull-right"> <div class="sort-by-label pull-left"> <h4>SORT BY </h4> </div> <div class="pull-left" id="algolia-sorts"></div> </div> <div class="algolia-clearfix"></div> </div> <div id="algolia-banner"></div> <div id="current-refinements"></div> <div id="instant-empty-results-container"></div> <div id="instant-search-results-container"></div> </div> </div> <div class="algolia-clearfix"></div> </div> <div class="text-center"> <div id="instant-search-pagination-container"></div> </div> </div> </div> </div> </script> <script type="text/template" id="instant-hit-template"> <a class="col-md-12" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> <meta itemprop="position" content="{{__position}}" /> <div class="result-wrapper" itemprop="item" itemscope itemtype="http://schema.org/Product"> <meta itemprop="url" {{^__queryID}} content="{{url}}" {{/__queryID}} {{#__queryID}} content="{{urlForInsights}}" {{/__queryID}} /> <div class="result-content row"> <div class="result-thumbnail col-md-3"> <a class="result" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> {{#image_url}}<img itemprop="image" src="{{{image_url}}}" alt="{{{name}}}" />{{/image_url}} {{^image_url}}<span class="no-image"></span>{{/image_url}} </a> </div> <div class="result-sub-content col-md-9"> <a class="result" {{^__queryID}} href="{{url}}" {{/__queryID}} {{#__queryID}} href="{{urlForInsights}}" {{/__queryID}} data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}"> <div class="row"> <div class="col-md-12"> <h5 itemprop="name" class="result-title-categires"> <span class=""> {{{categories}}}</span> </h5> </div> </div> <div class="row"> <div class="col-md-12"> <h3 itemprop="name" class="result-title"> {{{ _highlightResult.name.value }}} </h3> </div> </div> <div class="catalog-list-item__list"> <div class="catalog_list-item__attribute"> <div class="price-wrapper"> <div> {{#price}} <span class="after_special hide"> Starting at {{{custom_price}}} </span> {{/price}} </div> </div> </div> </div> <div class="catalog-list-item__actions"> {{#isAddToCartEnabled}} <form data-role="tocart-form" action="{{ addToCart.action }}" method="post"> <input type="hidden" name="product" value="{{objectID}}"> <input type="hidden" name="uenc" value="{{ addToCart.uenc }}"> <input name="form_key" type="hidden" value="{{ addToCart.formKey }}"> <button type="submit" title="Add to Cart" class="action tocart primary" data-objectid="{{objectID}}" data-indexname="{{__indexName}}" data-position="{{__position}}" data-queryid="{{__queryID}}" > <span>Add to Cart</span> </button> </form> {{/isAddToCartEnabled}} </div> </a> </div> </div> <div class="algolia-clearfix"></div> </div> </a> </script> <script type="text/template" id="instant-stats-template"> {{#hasOneResult}}<strong>1</strong>result found{{/hasOneResult}} {{#hasManyResults}} {{^hasNoResults}}{{last}} of{{/hasNoResults}} <span itemprop="numberOfItems">{{nbHits}}</span> products {{/hasManyResults}} </script> <script type="text/template" id="refinements-lists-item-template"> <label class="{{cssClasses.label}} {{#isRefined}}checked{{/isRefined}}"> <input class="{{cssClasses.checkbox}}" {{#isRefined}}checked{{/isRefined}} type="checkbox" value="{{value}}" /> {{value}} <span class="{{cssClasses.count}}">{{count}}</span> </label> </script><script type="text/template" id="current-refinements-template"> <div class="cross-wrapper"> <span class="clear-cross clear-refinement"></span> </div> <div class="current-refinement-wrapper"> {{#label}} <span class="current-refinement-label">{{label}}{{^operator}}:{{/operator}}</span> {{/label}} {{#operator}} {{{displayOperator}}} {{/operator}} {{#exclude}}-{{/exclude}} <span class="current-refinement-name">{{name}}</span> </div> </script><small class="copyright"> <span></span> </small> </div> <script> require(['jquery','weltpixel_persistentLayer', 'weltpixel_gtm', 'Magento_Customer/js/customer-data'], function ($, wpPersDl, wpgtm, customerData) { $( document ).ajaxComplete(function( event, xhr, settings ) { if (settings.url.search('/customer\/section\/load/') > 0) { var response = xhr.responseJSON; if (response.gtm) { var dataLayerData = $.parseJSON(response.gtm.datalayer); for (index in dataLayerData) { window.dataLayer.push(dataLayerData[index]); } } } }); var wpPersDlOptions = {'storageExpiryTime' : 30 }; var wpGtmOptions = { 'enabled' : 0, 'persDataLayer' : wpPersDl }; wpPersDl.init(wpPersDlOptions); wpgtm.trackPromotion(wpGtmOptions); }); </script> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.eu01.nr-data.net","licenseKey":"NRJS-694e2d93d0829b3aaa4","applicationID":"251439689","transactionName":"MhBSZQoZC0NQUUBcWAtacVIMEQpeHlFZRhgVFFdUVw4MVUY=","queueTime":0,"applicationTime":760,"atts":"HldRE0IDGE0=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html>