CINXE.COM
Contract Laboratory Scanning & Analysis Service | ImmunoSpot庐
<!doctype html> <html lang="en"> <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# product: http://ogp.me/ns/product#"> <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="Contract Laboratory Scanning & Analysis Service"/> <meta name="description" content="Contract Laboratory Scanning & Analysis Service"/> <meta name="keywords" content="Contract Laboratory Scanning & Analysis Services"/> <meta name="robots" content="INDEX,FOLLOW"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="format-detection" content="telephone=no"/> <title>Contract Laboratory Scanning & Analysis Service | 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/mage/gallery/gallery.css" /> <link rel="stylesheet" type="text/css" media="all" href="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/Itoris_DynamicProductOptions/css/main.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="canonical" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <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 dlObjects = [{"ecommerce":{"detail":{"products":[{"name":"Contract Laboratory Scanning & Analysis Services","id":"service-elispot","price":"0.00","category":"Services"}]},"currencyCode":"USD"}}]; for (var i in dlObjects) { window.dataLayer.push(dlObjects[i]); } 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/contract-laboratory-scanning-analysis-services.html" /> <link rel="alternate" hreflang="en-de" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <link rel="alternate" hreflang="en-gb" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <link rel="alternate" hreflang="en-fr" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <link rel="alternate" hreflang="en-za" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <link rel="alternate" hreflang="en-se" href="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <meta property="og:type" content="product" /> <meta property="og:title" content="Contract Laboratory Scanning & Analysis Services" /> <meta property="og:image" content="https://immunospot.com/media/catalog/product/cache/8146892bfa0fc596f7d1ddb412c8a076/s/c/scanning-analysis-inside.jpg" /> <meta property="og:description" content="
  
  
  Although CTL provides a variety of cost-effective, high-performance ELISPOT plate readers, there are times when a customer is not quite ready to purchase one of these devices. In circumstances like these, customers can take advantage of our ELISPOT plate scanning and analysis services. The CTL team of in-house experts offers a variety of options to meet your specific needs.
  {{widget type="Magento\Cms\Block\Widget\Block" template="widget/static_block/default.phtml" block_id="107"}}
    {{widget type="PluginCompany\ContactForms\Block\Form\Widget\View" form_id="3" show_form_as="popup" display_as_button="1" link_title="Contact" wrap_in_block="0" auto_hide_popup="0"}}  
     
  
  
  
  
  
  
  ScAnalysis™
  CTL provides full ELISPOT plate scanning and analysis services. The customer simply has to ship their fully developed and dried ELISPOT plates to CTL. These are then scanned and analyzed by the company’s highly-trained staff using the ImmunoSpot® system. The output is prepared in the form of publication-ready TIFF or JPEG images, and Excel® files containing spot count frequencies, mean spot sizes, spot size distributions, counting parameters, and overlays of raw and analyzed images for quality control of the counting results.
  Interested in using CTL’s ScAnalysis™ service? Please email us at labservices@immunospot.com for more information.
  Scanning Services
  With CTL’s plate scanning service, ELISPOT plates are shipped to CTL to be scanned by our highly trained personnel. The plate scans are stored onto CD or DVD, then sent back to the customer along with the original plates. The plate scans can then be analyzed by the customer independently using CTL’s ImmunoSpot® Software. This provides a cost-effective solution for those who aren't ready to purchase an analyzer yet, but who also want to perform their own data analysis.
  Would you like to try this out? Please email us at labservices@immunospot.com for more information.
  Packages
  CTL also offers a variety of plate scanning and analysis packages, including starter packages for those who are still learning how to use ELISPOT assays effectively.
  For further information or a quote, please  contact us today.
  
  
  " /> <meta property="og:url" content="https://immunospot.com/contract-laboratory-scanning-analysis-services.html" /> <meta property="product:price:amount" content="0"/> <meta property="product:price:currency" content="USD"/> <script> window.algoliaConfig = {"instant":{"enabled":true,"selector":".column","isAddToCartEnabled":false,"addToCartParams":{"action":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw%2C\/","formKey":"bmrkvozcI0IGSGzh"},"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\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw%2C\/","formKey":"bmrkvozcI0IGSGzh"}},"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":1732320000,"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"}}' class="service-products catalog-product-view product-contract-laboratory-scanning-analysis-services page-layout-1column" id="html-body" itemtype="http://schema.org/Product" itemscope="itemscope"> <!-- 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="bmrkvozcI0IGSGzh" /> <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/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw%2C/" >Sign In</a> </li> <li><a href="https://immunospot.com/customer/account/create/" id="idGCjX1w9w" >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\/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw%2C\/","isRedirectRequired":false,"autocomplete":"off","captcha":{"user_login":{"isCaseSensitive":false,"imageHeight":50,"imageSrc":"","refreshUrl":"https:\/\/immunospot.com\/captcha\/refresh\/","isRequired":false,"timestamp":1732363736}}}</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><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="header-product-section"><div class="header-product-container container mt-5"><div class="breadcrumbs"> <ul class="items font-size-sm"> <li class="item category11"> <a class="link-crumb" href="https://immunospot.com/services.html" title=""> Services </a> </li> <li class="item category43"> <a class="link-crumb" href="https://immunospot.com/services/contract-laboratory-services.html" title=""> Contract Laboratory Services </a> </li> <li class="item product"> <strong>Contract Laboratory Scanning & Analysis Services</strong> </li> </ul> </div> <div class="header-product-row row"><div class="col-lg-6 pt-0 pl-lg-3 pb-md-2 order-1 product-attributes-blocks"><div class="page-title-wrapper col-md-10 p-0  product"> <h1 class="page-title font-weight-normal" > <span class="base" data-ui-id="page-title-wrapper" itemprop="name">Contract Laboratory Scanning & Analysis Services</span> </h1> </div> <div class="product-add-form"> <form autocomplete="off" data-product-sku="service-elispot" action="https://immunospot.com/checkout/cart/add/uenc/aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw%2C/product/1014/" method="post" id="product_addtocart_form"> <input type="hidden" name="product" value="1014" /> <input type="hidden" name="selected_configurable_option" value="" /> <input type="hidden" name="related_product" id="related-products-field" value="" /> <input type="hidden" name="item" value="1014" /> <input name="form_key" type="hidden" value="bmrkvozcI0IGSGzh" /> </form> </div> <script type="text/x-magento-init"> { "[data-role=priceBox][data-price-box=product-id-1014]": { "priceBox": { "priceConfig": {"productId":"1014","priceFormat":{"pattern":"$%s","precision":2,"requiredPrecision":2,"decimalSymbol":".","groupSymbol":",","groupLength":3,"integerRequired":false},"tierPrices":[]} } } } </script> <div class="product-social-links"><div class="product-addto-links" data-role="add-to-links"> <script type="text/x-magento-init"> { "body": { "addToWishlist": {"productType":"simple"} } } </script> </div> </div></div><div class="col-lg-6 cs-content order-2 product-attributes-blocks"><div class="product media"><a id="gallery-prev-area" tabindex="-1"></a> <div class="action-skip-wrapper"><a class="action skip gallery-next-area" href="#gallery-next-area"> <span> Skip to the end of the images gallery </span> </a> </div><script type="text/x-magento-init"> { "[data-gallery-role=gallery-placeholder]": { "Magento_ProductVideo/js/fotorama-add-video-events": { "videoData": [{"mediaType":"image","videoUrl":null,"isBase":true}], "videoSettings": [{"playIfBase":"0","showRelated":"0","videoAutoRestart":"0"}], "optionsVideoData": [] } } } </script> <div class="action-skip-wrapper"><a class="action skip gallery-prev-area" href="#gallery-prev-area"> <span> Skip to the beginning of the images gallery </span> </a> </div><a id="gallery-next-area" tabindex="-1"></a> </div></div></div></div></div><div class="column main container"><div class="product-info-main"><div class="product-info-price"><div class="product-info-stock-sku"> </div></div> <div class="product attribute overview"> <div class="value" itemprop="description"><div class="container neutral_antibody" style="margin-top:50px;"> <div class="row"> <div class="col-lg-6"> <h5 class="text-justify">Although CTL provides a variety of cost-effective, high-performance ELISPOT plate readers, there are times when a customer is not quite ready to purchase one of these devices. In circumstances like these, customers can take advantage of our ELISPOT plate scanning and analysis services. The CTL team of in-house experts offers a variety of options to meet your specific needs.</h5> <p class="text-justify"></p><div class="widget block block-static-block"> <div data-content-type="html" data-appearance="default" data-element="main" data-decoded="true"><div class="row"> <div class="col-12"> <p>For further information or a quote, please contact us today.</p> <p><a href="/pub/media/mageplaza/product_attachments/attachment_file/c/r/cro_brochure_digital_2022-10-31.pdf" target="_blank"> Download Brochure</a></p> </div> </div></div></div> <br> <div class="pc_form_widget_view_0"> <div class="pccf-customer-data-scope" style="display:none" data-bind="scope: 'PCContactFormData'"> <div id="pccf_form_3" class="pccf default pc-customer-logged-out" style=";"> <img class="pccf_loader" src="https://immunospot.com/static/version1728550059/frontend/Forti/immuno/en_US/PluginCompany_ContactForms/img/gears-anim.gif" style="position:absolute;left:50%;top:50%;margin-left:-90px;margin-top:-80px"> <div class="form-view pccformwrapper well " style="position:relative;visibility:visible;opacity: 1;"> <div class="messages"></div> <div class="form-horizontal pccform" method="post" action="https://immunospot.com/contactforms/form/submit/" data-mage-init='{"validation":{}}'> <fieldset> <!-- Form Name --><!-- Textarea --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="message"></label> <div class="col-md-8"> <textarea id="message" name="message" class="form-control input-sm required-entry " placeholder="*Please drop us a line"></textarea> </div></div><!-- Select Basic --><div class="form-group mb-3"> <label class="col-md-3 control-label" for="selectbasic"></label> <div class="col-md-5"> <select id="selectbasic" name="selectbasic" class="form-control input-sm "> <option value="">*Select Title</option> <option value="Mr.">Mr.</option> <option value="Mrs.">Mrs.</option> <option value="Miss">Miss</option> <option value="Dr.">Dr.</option> <option value="Ms.">Ms.</option> <option value="Prof.">Prof.</option> </select> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="firstname"></label> <div class="col-md-8"> <input id="firstname" name="firstname" type="text" placeholder="*First Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="lastname"></label> <div class="col-md-8"> <input id="lastname" name="lastname" type="text" placeholder="*Last Name" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="email"></label> <div class="col-md-8"> <input id="email" name="email" type="text" placeholder="*E-mail" class="form-control input-sm required-entry validate-email " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="phone"></label> <div class="col-md-8"> <input id="phone" name="phone" type="text" placeholder="*Phone Number" class="form-control input-sm required-entry validate-number " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="company"></label> <div class="col-md-8"> <input id="company" name="company" type="text" placeholder="*Company" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="workaddress"></label> <div class="col-md-8"> <input id="workaddress" name="workaddress" type="text" placeholder="*Address" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="city"></label> <div class="col-md-8"> <input id="city" name="city" type="text" placeholder="*City" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="state"></label> <div class="col-md-8"> <input id="state" name="state" type="text" placeholder="*State" class="form-control input-sm required-entry " value=""> </div></div><!-- Text input--><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="zipcode"></label> <div class="col-md-8"> <input id="zipcode" name="zipcode" type="text" placeholder="*Zipcode/Postcode " class="form-control input-sm required-entry " value=""> </div></div><!-- Select Basic --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="country"></label> <div class="col-md-8"> <select id="country" name="country" class="form-control input-sm required-entry "> <option value="">-- Select Country</option> <option value="Afghanistan">Afghanistan</option> <option value="Albania">Albania</option> <option value="Algeria">Algeria</option> <option value="Andorra">Andorra</option> <option value="Angola">Angola</option> <option value="Antigua & Deps">Antigua & Deps</option> <option value="Argentina">Argentina</option> <option value="Armenia">Armenia</option> <option value="Australia">Australia</option> <option value="Austria">Austria</option> <option value="Azerbaijan">Azerbaijan</option> <option value="Bahamas">Bahamas</option> <option value="Bahrain">Bahrain</option> <option value="Bangladesh">Bangladesh</option> <option value="Barbados">Barbados</option> <option value="Belarus">Belarus</option> <option value="Belgium">Belgium</option> <option value="Belize">Belize</option> <option value="Benin">Benin</option> <option value="Bhutan">Bhutan</option> <option value="Bolivia">Bolivia</option> <option value="Bosnia Herzegovina">Bosnia Herzegovina</option> <option value="Botswana">Botswana</option> <option value="Brazil">Brazil</option> <option value="Brunei">Brunei</option> <option value="Bulgaria">Bulgaria</option> <option value="Burkina">Burkina</option> <option value="Burundi">Burundi</option> <option value="Cambodia">Cambodia</option> <option value="Cameroon">Cameroon</option> <option value="Canada">Canada</option> <option value="Cape Verde">Cape Verde</option> <option value="Central African Rep">Central African Rep</option> <option value="Chad">Chad</option> <option value="Chile">Chile</option> <option value="China">China</option> <option value="Colombia">Colombia</option> <option value="Comoros">Comoros</option> <option value="Congo">Congo</option> <option value="Congo {Democratic Rep}">Congo {Democratic Rep}</option> <option value="Costa Rica">Costa Rica</option> <option value="Croatia">Croatia</option> <option value="Cuba">Cuba</option> <option value="Cyprus">Cyprus</option> <option value="Czech Republic">Czech Republic</option> <option value="Denmark">Denmark</option> <option value="Djibouti">Djibouti</option> <option value="Dominica">Dominica</option> <option value="Dominican Republic">Dominican Republic</option> <option value="East Timor">East Timor</option> <option value="Ecuador">Ecuador</option> <option value="Egypt">Egypt</option> <option value="El Salvador">El Salvador</option> <option value="Equatorial Guinea">Equatorial Guinea</option> <option value="Eritrea">Eritrea</option> <option value="Estonia">Estonia</option> <option value="Ethiopia">Ethiopia</option> <option value="Fiji">Fiji</option> <option value="Finland">Finland</option> <option value="France">France</option> <option value="Gabon">Gabon</option> <option value="Gambia">Gambia</option> <option value="Georgia">Georgia</option> <option value="Germany">Germany</option> <option value="Ghana">Ghana</option> <option value="Greece">Greece</option> <option value="Grenada">Grenada</option> <option value="Guatemala">Guatemala</option> <option value="Guinea">Guinea</option> <option value="Guinea-Bissau">Guinea-Bissau</option> <option value="Guyana">Guyana</option> <option value="Haiti">Haiti</option> <option value="Honduras">Honduras</option> <option value="Hungary">Hungary</option> <option value="Iceland">Iceland</option> <option value="India">India</option> <option value="Indonesia">Indonesia</option> <option value="Iran">Iran</option> <option value="Iraq">Iraq</option> <option value="Ireland {Republic}">Ireland {Republic}</option> <option value="Israel">Israel</option> <option value="Italy">Italy</option> <option value="Ivory Coast">Ivory Coast</option> <option value="Jamaica">Jamaica</option> <option value="Japan">Japan</option> <option value="Jordan">Jordan</option> <option value="Kazakhstan">Kazakhstan</option> <option value="Kenya">Kenya</option> <option value="Kiribati">Kiribati</option> <option value="Korea North">Korea North</option> <option value="Korea South">Korea South</option> <option value="Kosovo">Kosovo</option> <option value="Kuwait">Kuwait</option> <option value="Kyrgyzstan">Kyrgyzstan</option> <option value="Laos">Laos</option> <option value="Latvia">Latvia</option> <option value="Lebanon">Lebanon</option> <option value="Lesotho">Lesotho</option> <option value="Liberia">Liberia</option> <option value="Libya">Libya</option> <option value="Liechtenstein">Liechtenstein</option> <option value="Lithuania">Lithuania</option> <option value="Luxembourg">Luxembourg</option> <option value="Macedonia">Macedonia</option> <option value="Madagascar">Madagascar</option> <option value="Malawi">Malawi</option> <option value="Malaysia">Malaysia</option> <option value="Maldives">Maldives</option> <option value="Mali">Mali</option> <option value="Malta">Malta</option> <option value="Marshall Islands">Marshall Islands</option> <option value="Mauritania">Mauritania</option> <option value="Mauritius">Mauritius</option> <option value="Mexico">Mexico</option> <option value="Micronesia">Micronesia</option> <option value="Moldova">Moldova</option> <option value="Monaco">Monaco</option> <option value="Mongolia">Mongolia</option> <option value="Montenegro">Montenegro</option> <option value="Morocco">Morocco</option> <option value="Mozambique">Mozambique</option> <option value="Myanmar, {Burma}">Myanmar, {Burma}</option> <option value="Namibia">Namibia</option> <option value="Nauru">Nauru</option> <option value="Nepal">Nepal</option> <option value="Netherlands">Netherlands</option> <option value="New Zealand">New Zealand</option> <option value="Nicaragua">Nicaragua</option> <option value="Niger">Niger</option> <option value="Nigeria">Nigeria</option> <option value="Norway">Norway</option> <option value="Oman">Oman</option> <option value="Pakistan">Pakistan</option> <option value="Palau">Palau</option> <option value="Panama">Panama</option> <option value="Papua New Guinea">Papua New Guinea</option> <option value="Paraguay">Paraguay</option> <option value="Peru">Peru</option> <option value="Philippines">Philippines</option> <option value="Poland">Poland</option> <option value="Portugal">Portugal</option> <option value="Qatar">Qatar</option> <option value="Romania">Romania</option> <option value="Russian Federation">Russian Federation</option> <option value="Rwanda">Rwanda</option> <option value="St Kitts & Nevis">St Kitts & Nevis</option> <option value="St Lucia">St Lucia</option> <option value="Saint Vincent & the Grenadines">Saint Vincent & the Grenadines</option> <option value="Samoa">Samoa</option> <option value="San Marino">San Marino</option> <option value="Sao Tome & Principe">Sao Tome & Principe</option> <option value="Saudi Arabia">Saudi Arabia</option> <option value="Senegal">Senegal</option> <option value="Serbia">Serbia</option> <option value="Seychelles">Seychelles</option> <option value="Sierra Leone">Sierra Leone</option> <option value="Singapore">Singapore</option> <option value="Slovakia">Slovakia</option> <option value="Slovenia">Slovenia</option> <option value="Solomon Islands">Solomon Islands</option> <option value="Somalia">Somalia</option> <option value="South Africa">South Africa</option> <option value="South Sudan">South Sudan</option> <option value="Spain">Spain</option> <option value="Sri Lanka">Sri Lanka</option> <option value="Sudan">Sudan</option> <option value="Suriname">Suriname</option> <option value="Swaziland">Swaziland</option> <option value="Sweden">Sweden</option> <option value="Switzerland">Switzerland</option> <option value="Syria">Syria</option> <option value="Taiwan">Taiwan</option> <option value="Tajikistan">Tajikistan</option> <option value="Tanzania">Tanzania</option> <option value="Thailand">Thailand</option> <option value="Togo">Togo</option> <option value="Tonga">Tonga</option> <option value="Trinidad & Tobago">Trinidad & Tobago</option> <option value="Tunisia">Tunisia</option> <option value="Turkey">Turkey</option> <option value="Turkmenistan">Turkmenistan</option> <option value="Tuvalu">Tuvalu</option> <option value="Uganda">Uganda</option> <option value="Ukraine">Ukraine</option> <option value="United Arab Emirates">United Arab Emirates</option> <option value="United Kingdom">United Kingdom</option> <option value="United States" selected>United States</option> <option value="Uruguay">Uruguay</option> <option value="Uzbekistan">Uzbekistan</option> <option value="Vanuatu">Vanuatu</option> <option value="Vatican City">Vatican City</option> <option value="Venezuela">Venezuela</option> <option value="Vietnam">Vietnam</option> <option value="Yemen">Yemen</option> <option value="Zambia">Zambia</option> <option value="Zimbabwe">Zimbabwe</option> </select> </div></div><div class="row "> <div class="col-md-2"> </div> <div class="col-md-8 text-center"> <h5 id="inquiry">Please let us know how to direct your inquiry:<br></h5> </div></div><!-- Select Basic --><div class="form-group required-control "> <label class="col-md-3 control-label" for="department">Department</label> <div class="col-md-6"> <select id="department" name="department" class="form-control input-sm required-entry "> <option value="">-- Please Select</option> <option value="Analyzers">Analyzers</option> <option value="Contract Laboratory">Contract Laboratory</option> <option value="Consumables">Consumables</option> <option value="PBMC">PBMC</option> <option value="General Inquiry">General Inquiry</option> <option value="MAT">MAT</option> </select> </div></div><!-- Multiple Radios --><div class="form-group required-control mb-3"> <label class="col-md-3 control-label" for="contactby"></label> <div class="col-md-6"> <div class="radio"> <label for="contactby-0"> <input type="radio" name="contactby" id="contactby-0" value="Contact me by E-mail" checked> Contact me by E-mail </label></div> <div class="radio"> <label for="contactby-1"> <input type="radio" name="contactby" id="contactby-1" value="Contact me by Phone"> Contact me by Phone </label></div> </div></div><!-- Multiple Checkboxes --><div class="form-group required-control "> <label class="col-md-3 control-label" for="terms_conditions"></label> <div class="col-md-6"> <div class="checkbox"> <label for="terms_conditions-0"> <input type="checkbox" name="terms_conditions" id="terms_conditions-0" value="I have read and agree to the Terms and Conditions." class="validate-one-required-custom"> I have read and agree to the Terms and Conditions. </label> </div> <p class="help-block"><a href="https://immunospot.com/terms-and-conditions">Terms and Conditions</a><br><a href="https://immunospot.com/privacy-policy">Privacy Policy</a><br><br></p> </div></div><!-- Button --><div class="form-group submit-alt"> <label class="col-md-3 control-label" for="submitform"></label> <div class="col-md-6"> <button id="submitform" name="submitform" type="submit" class="btn btn-primary">Submit</button> </div></div></fieldset> </div> </div> </div> </div> </div> <script type="text/x-magento-init"> { ".pc_form_widget_view_0": { "PluginCompany_ContactForms/js/popup": {"formId":"3","theme":"default","recaptchaKey":"6LfQJaQgAAAAAA_LapkE4NhvF1OtjaDW_wctYzC-","uploadUrl":"https:\/\/immunospot.com\/contactforms\/form\/upload\/form_id\/3\/","removeUrl":"https:\/\/immunospot.com\/contactforms\/form\/removeupload\/form_id\/3\/","hasVCaptcha":false,"visualCaptcha":{"mainUrl":"https:\/\/immunospot.com\/contactforms\/form_visualcaptcha","imgUrl":"https:\/\/immunospot.com\/static\/version1728550059\/frontend\/Forti\/immuno\/en_US\/PluginCompany_ContactForms\/js\/lib\/visualcaptcha\/img\/"},"hasReCaptcha":false,"invisibleReCaptcha":false,"invisibleReCaptchaPosition":"bottomright","hasUploadField":false,"hasDependendFields":false,"dependentFields":"[]","submitJs":"\/\/enter javascript here","beforeSubmitJs":"\/\/enter javascript here","pageloadJs":"\/\/enter javascript here\r\n","rtl":false,"widget":{"type":"PluginCompany\\ContactForms\\Block\\Form\\Widget\\View","form_id":"3","show_form_as":"popup","display_as_button":"1","link_title":"Contact","wrap_in_block":"0","auto_hide_popup":"0","module_name":"PluginCompany_ContactForms"},"maxUploadSize":512,"locale":"en-us"} } } </script> <script> window.cssMinificationEnabled = false; </script> </div> <div class="col-lg-4"><img class="shadow-lg" src="https://immunospot.com/media/images/cro/scanning-analysis-inside.jpg" alt=""></div> </div> <div class="row mt-4"> <div class="col-lg-10"> <h3>ScAnalysis™</h3> <p class="text-justify">CTL provides full ELISPOT plate scanning and analysis services. The customer simply has to ship their fully developed and dried ELISPOT plates to CTL. These are then scanned and analyzed by the company’s highly-trained staff using the ImmunoSpot® system. The output is prepared in the form of publication-ready TIFF or JPEG images, and Excel® files containing spot count frequencies, mean spot sizes, spot size distributions, counting parameters, and overlays of raw and analyzed images for quality control of the counting results.</p> <p>Interested in using CTL’s ScAnalysis™ service? Please email us at <a href="mailto:labservices@immunospot.com" target="_top">labservices@immunospot.com</a> for more information.</p> <h3>Scanning Services</h3> <p class="text-justify">With CTL’s plate scanning service, ELISPOT plates are shipped to CTL to be scanned by our highly trained personnel. The plate scans are stored onto CD or DVD, then sent back to the customer along with the original plates. The plate scans can then be analyzed by the customer independently using CTL’s ImmunoSpot® Software. This provides a cost-effective solution for those who aren't ready to purchase an analyzer yet, but who also want to perform their own data analysis.</p> <p>Would you like to try this out? Please email us at <a href="mailto:labservices@immunospot.com" target="_top">labservices@immunospot.com</a> for more information.</p> <h3>Packages</h3> <p class="text-justify">CTL also offers a variety of plate scanning and analysis packages, including starter packages for those who are still learning how to use ELISPOT assays effectively.</p> <p>For further information or a quote, please contact us today.</p> </div> </div> </div></div> </div> </div> <div class="product info detailed"> <div class="product data items" data-mage-init='{"tabs":{"openedState":"active"}}'> </div> </div> <input name="form_key" type="hidden" value="bmrkvozcI0IGSGzh" /><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\/id\/1014\/","handles":["default","catalog_product_view","catalog_product_view_type_simple","catalog_product_view_id_1014","catalog_product_view_sku_service-elispot","algolia_search_handle","algolia_search_handle_with_topsearch","catalog_product_view_type_service"],"originalRequest":{"route":"catalog","controller":"product","action":"view","uri":"\/contract-laboratory-scanning-analysis-services.html"},"versionCookieName":"private_content_version"} } } </script> <script type="text/x-magento-init"> { "body": { "requireCookie": {"noCookieUrl":"https:\/\/immunospot.com\/cookie\/index\/noCookies\/","triggers":[".action.towishlist"],"isRedirectCmsPage":true} } } </script> <script type="text/x-magento-init"> { "*": { "Magento_Catalog/js/product/view/provider": { "data": {"items":{"1014":{"add_to_cart_button":{"post_data":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/checkout\\\/cart\\\/add\\\/uenc\\\/%25uenc%25\\\/product\\\/1014\\\/\",\"data\":{\"product\":\"1014\",\"uenc\":\"%uenc%\"}}","url":"https:\/\/immunospot.com\/checkout\/cart\/add\/uenc\/%25uenc%25\/product\/1014\/","required_options":false},"add_to_compare_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/catalog\\\/product_compare\\\/add\\\/\",\"data\":{\"product\":\"1014\",\"uenc\":\"aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw,\"}}","required_options":null},"price_info":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":null,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":null,"regular_price":"<span class=\"price\">$0.00<\/span>"},"extension_attributes":{"msrp":{"msrp_price":"<span class=\"price\">$0.00<\/span>","is_applicable":"","is_shown_price_on_gesture":"","msrp_message":"","explanation_message":"Our price is lower than the manufacturer's "minimum advertised price." As a result, we cannot show you the price in catalog or the product page. <br><br> You have no obligation to purchase the product once you know the price. You can simply remove the item from your cart."},"tax_adjustments":{"final_price":0,"max_price":0,"max_regular_price":0,"minimal_regular_price":0,"special_price":0,"minimal_price":0,"regular_price":0,"formatted_prices":{"final_price":"<span class=\"price\">$0.00<\/span>","max_price":"<span class=\"price\">$0.00<\/span>","minimal_price":"<span class=\"price\">$0.00<\/span>","max_regular_price":"<span class=\"price\">$0.00<\/span>","minimal_regular_price":null,"special_price":"<span class=\"price\">$0.00<\/span>","regular_price":"<span class=\"price\">$0.00<\/span>"}},"weee_attributes":[],"weee_adjustment":"<span class=\"price\">$0.00<\/span>"}},"images":[{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/5400799395efa676cdf8a9f2110724cf\/s\/c\/scanning-analysis-inside.jpg","code":"recently_viewed_products_grid_content_widget","height":300,"width":240,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":240,"resized_height":300},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/83fae886ac6bf3639f673f892954b468\/s\/c\/scanning-analysis-inside.jpg","code":"recently_viewed_products_list_content_widget","height":340,"width":270,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":270,"resized_height":340},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/ac53f6ae6524f4ecef925ce67835248f\/s\/c\/scanning-analysis-inside.jpg","code":"recently_viewed_products_images_names_widget","height":90,"width":75,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":75,"resized_height":90},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/5400799395efa676cdf8a9f2110724cf\/s\/c\/scanning-analysis-inside.jpg","code":"recently_compared_products_grid_content_widget","height":300,"width":240,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":240,"resized_height":300},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/83fae886ac6bf3639f673f892954b468\/s\/c\/scanning-analysis-inside.jpg","code":"recently_compared_products_list_content_widget","height":340,"width":270,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":270,"resized_height":340},{"url":"https:\/\/immunospot.com\/media\/catalog\/product\/cache\/ac53f6ae6524f4ecef925ce67835248f\/s\/c\/scanning-analysis-inside.jpg","code":"recently_compared_products_images_names_widget","height":90,"width":75,"label":"Contract Laboratory Scanning & Analysis Services","resized_width":75,"resized_height":90}],"url":"https:\/\/immunospot.com\/contract-laboratory-scanning-analysis-services.html","id":1014,"name":"Contract Laboratory Scanning & Analysis Services","type":"simple","is_salable":"1","store_id":1,"currency_code":"USD","extension_attributes":{"review_html":"","wishlist_button":{"post_data":null,"url":"{\"action\":\"https:\\\/\\\/immunospot.com\\\/wishlist\\\/index\\\/add\\\/\",\"data\":{\"product\":1014,\"uenc\":\"aHR0cHM6Ly9pbW11bm9zcG90LmNvbS9jb250cmFjdC1sYWJvcmF0b3J5LXNjYW5uaW5nLWFuYWx5c2lzLXNlcnZpY2VzLmh0bWw,\"}}","required_options":null}},"is_available":true}},"store":"1","currency":"USD","productCurrentScope":"website"} } } } </script> <div id="frequentlyBoughtTogether" class="recommend-component"></div> <div id="relatedProducts" class="recommend-component"></div> <div id="trendItems" class="trendsItem recommend-component"></div> <script> require([ 'jquery', 'domReady!' ], function($){ window.algoliObjectId = ["1014"]; }); </script> <script type="text/x-magento-init"> { "[data-role=tocart-form]": { "catalogAddToCart": {} } } </script> </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="鈥渞ow 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 type="text/javascript">require(['fancybox']);</script> <script> require(['jquery'], function($){ $(document).ready(function(){ $(".field .options-list #options_2684_2").click(function() { $('#96-well-white').toggleClass("swap-on swap-off"); $('#96-well-strip').addClass("swap-off"); $('#384-well-white').addClass("swap-off"); }); $(".field .options-list #options_2684_3").click(function() { $('#96-well-strip').toggleClass('swap-on swap-off'); $('#96-well-white').addClass("swap-off"); $('#384-well-white').addClass("swap-off"); }); $(".field .options-list #options_2684_4").click(function() { $('#384-well-white').toggleClass('swap-on swap-off'); $('#96-well-white').addClass("swap-off"); $('#96-well-strip').addClass("swap-off"); }); }); }); </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":"MhBSZQoZC0NQUUBcWAtacVIMEQpeHlFVQVYJGlceCAoKVERRQBpBDBBH","queueTime":0,"applicationTime":927,"atts":"HldRE0IDGE0=","errorBeacon":"bam.eu01.nr-data.net","agent":""}</script></body> </html>