CINXE.COM

Addgene: Biosafety

<!DOCTYPE html> <!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js " lang="en"> <!--<![endif]--> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"5cd7e7f9fc","applicationID":"505903807","transactionName":"ZFZaZRBRWRBRWxULDV0cfkQMU0MKX1ZOAQ9AHU5YB0dEWVRdFQMLX0A=","queueTime":0,"applicationTime":63,"agent":""}; (window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:[]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"594348573",accountID:"1839168",trustKey:"1839168",xpid:"VQ4EWFdVABAFVFRbBwIPVlM=",licenseKey:"5cd7e7f9fc",applicationID:"505903807"};;/*! For license information please see nr-loader-spa-1.281.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:()=>p,gD:()=>m,xN:()=>g});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},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,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},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.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,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,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){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.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){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.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,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function p(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function g(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=p(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,harvester: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.281.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),c&&h(c.prototype,f),h(a.gm,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,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,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,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},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:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={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:()=>T,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>A,uP:()=>s,wW:()=>E,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",E="cb"+R,T="jsTime",A="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","recordCustomEvent","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);const E=new Map;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);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[x.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),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 S={};var N=r(9417),_=r(5603),O=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},g,R){let{init:x,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=g;const L=(0,h.pV)();E||(x=L.init,E=L.info,j=L.loader_config),(0,N.xN)(e.agentIdentifier,x||{}),(0,_.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const H=(0,N.D0)(e.agentIdentifier),M=[E.beacon,E.errorBeacon];P||(H.proxy.assets&&(I(H.proxy.assets),M.push(H.proxy.assets)),H.proxy.beacon&&M.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?M:[]],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");S[e]=b.g.OFF,R.on(p.G4.REPLAY_RUNNING,(t=>{S[e]=t}));var E="api-",A=E+"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(E,n,!0,o||null===r?"session":void 0)(t,r)}function _(){}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(E,e,!0,"api")})),g.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),g.recordCustomEvent=I(E,"recordCustomEvent",!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(E,"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 _).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)(A+"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,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,R),r?void 0:this}}function P(){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=>{O[e]=I(A,e,void 0,h?n.K7.softNav:n.K7.spa)})),g.setCurrentRouteName=h?I(A,"routeName",void 0,n.K7.softNav):I(E,"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,!!S[e]],void 0,n.K7.jserrors,R)},d.RI?(0,u.GG)((()=>P()),!0):P(),g}(e.agentIdentifier,R,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!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:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,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"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.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.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.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-jmvAlmjCn64ans8tLueqHRlBI/iWekylsDWb94A77CG0ukSriVDvgD3dThx+XjUSBBBMYhFn8B1a18fViyBPEQ==",249:"sha512-ICY/ZrcytM/86t5KFy+9OAWVYmNNJy10EBtxoSUGjQWuZx53p/eLo+L8HfrGjvHuRHRnutqLTGSnvNttffJkaA==",212:"sha512-pQSn+X/RfBOvx/49HvlghaiXMLhhDQXTi13n1N2XMpDquWJgs9U0pbqE3RbAnYC9nsdaTu/RVGvneEPv1fpCxA=="};(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.281.0.PROD"]=self["webpackChunk:NRBA-1.281.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(){this.agentIdentifier=(0,r.LA)(16)}#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)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",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(!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),t.runtime.harvester.initializedAggregates.push(this.featAggregate),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),E=i(2843),T=i(3878),A=i(782),S=i(1863);class N extends b{static featureName=A.T;constructor(e,t=!0){super(e,A.T,t),p.RI&&((0,E.u)((()=>(0,x.p)("docHidden",[(0,S.t)()],void 0,A.T,this.ee)),!0),(0,T.sp)("pagehide",(()=>(0,x.p)("winPagehide",[(0,S.t)()],void 0,A.T,this.ee))),this.importAggregator(e))}}var _=i(3969);class O extends b{static featureName=_.TZ;constructor(e,t=!0){super(e,_.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return H(e)?e:new j(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 j(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 M 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,t)=>{this.abortHandler&&(0,x.p)("ierr",[C(e),(0,S.t)(),!0,{},this.#r,t],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,T.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,T.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var D=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,D.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,P.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(void 0===p.gm.XMLHttpRequest)return n;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,T.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,P.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){E(t,e)}),(0,T.jT)(!1)),p.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,T.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,T.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.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(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)(_.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:Ee,Lc:Te,uP:Ae,Rz:Se}=be;class Ne extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,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(Ae,(function(e,t){this.bstStart=(0,S.t)()})),this.eventsEE.on(Te,(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 _e=i(2614);class Oe 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(_e.H3,"_").concat(_e.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===_e.g.FULL||e.sessionReplayMode===_e.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,agentRef:this.#o}),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!==_e.g.FULL&&this.featAggregate.initializeRecording(_e.g.FULL,!0):(this.#i=_e.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==_e.g.FULL&&(this.recorder.parent.mode=_e.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3962);class Pe 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,T.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,T.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 je=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,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,T.jT)(!1)),e.removeEventListener("error",f,(0,T.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,T.jT)(!1)),e.addEventListener("error",f,(0,T.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const He={};function Me(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 De={},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(De[t.debugId]++)return t;De[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:$e,e5:Je,tH:Qe,uP:et,rw:tt,Lc:rt}=je;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=Me(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[Je]=~~this[Je]+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($e,m),o.on($e,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([Qe+Ze,Qe+"-done",Qe+Xe+Ze,Qe+Xe+Ye],this.featureName),l.buffer(["newURL"],this.featureName),f.buffer([et],this.featureName),a.buffer(["propagate",tt,$e,"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,Qe+Ze),v(d,Qe+"-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,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",h,(0,T.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){h(0,n>1)}),(0,T.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,e.init.performance.resources.enabled];if(p.RI&&(e.init.user_actions.enabled&&(it.Zp.forEach((e=>(0,T.sp)(e,(e=>(0,x.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),it.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,x.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,T.sp)(e,t)}))),e.init.performance.resources.enabled&&p.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,x.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}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){super(),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,Oe,O,M,ot,ct,Pe,nt],loaderType:"spa"})})()})();</script> <link href="https://static.addgene.org/addgene-core/ba538e0eee/css/icons.css" rel="stylesheet" type="text/css" /> <link rel="canonical" href="https://www.addgene.org/biosafety/"> <meta name="msapplication-config" content="none"> <link rel="icon" type="image/png" href="https://static.addgene.org/addgene-core/ba538e0eee/images/addgene-favicon.png"> <link rel="apple-touch-icon" href="https://static.addgene.org/addgene-core/ba538e0eee/images/addgene-favicon.png"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/fonts/roboto/stylesheet.css"> <link rel='stylesheet' href="https://static.addgene.org/addgene-core/ba538e0eee/fonts/arimo/stylesheet.css"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/fonts/dejavu-sans/stylesheet.css"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/fonts/symbola/stylesheet.css"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/css/deposit_order_status_table.css"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/built/public_styles.less.css"> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/fonts/calistoga/stylesheet.css"> <style> html.js.fontface #message-browser-wontwork { display: none; } </style> <style> html.no-js #message-browser-old { display: none; } html.no-fontface #message-browser-old { display: none; } html.generatedcontent.inlinesvg.display-table.mediaqueries #message-browser-old { display: none; } </style> <link rel="stylesheet" href="https://static.addgene.org/addgene-core/ba538e0eee/vendor/leaverou/awesomplete.css"> <link rel="icon" type="image/png" href="https://static.addgene.org/addgene-core/ba538e0eee/images/addgene-favicon.png"> <style id="html-chunk-plugin-"> .lispacing, #sds-list li { margin-top: 1em; } .glyphicon-new-window { font-size: 12px; } </style> <script src="https://static.addgene.org/addgene-core/ba538e0eee/modernizr/modernizr-addgene_build.js"></script> <script> Modernizr.load({ test: Modernizr.generatedcontent, nope: "https://static.addgene.org/addgene-core/ba538e0eee/js/public/glyphicon-polyfill.js" }); if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; } </script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/js/public/es5array-polyfill.js"></script> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PWRGQMJ');</script> <script>/*<![CDATA[*/window.zEmbed||function(e,t){var n,o,d,i,s,a=[],r=document.createElement("iframe");window.zEmbed=function(){a.push(arguments)},window.zE=window.zE||window.zEmbed,r.src="javascript:false",r.title="",r.role="presentation",(r.frameElement||r).style.cssText="display: none",d=document.getElementsByTagName("script"),d=d[d.length-1],d.parentNode.insertBefore(r,d),i=r.contentWindow,s=i.document;try{o=s}catch(c){n=document.domain,r.src='javascript:var d=document.open();d.domain="'+n+'";void(0);',o=s}o.open()._l=function(){var o=this.createElement("script");n&&(this.domain=n),o.id="js-iframe-async",o.src=e,this.t=+new Date,this.zendeskHost=t,this.zEQueue=a,this.body.appendChild(o)},o.write('<body onload="document._l();">'),o.close()}("https://assets.zendesk.com/embeddable_framework/main.js","addgene.zendesk.com");/*]]>*/</script> <script> window.zESettings = { webWidget: { helpCenter: { title: { '*': 'Addgene Help Center' }, searchPlaceholder: { '*': 'Search our Help Center' }, messageButton: { '*': 'Contact Us' } }, contactForm: { title: { '*': 'Contact Us' } }, color: { theme: '#0056b3', launcher: '#0056b3' }, launcher: { label: { '*': 'Help Center' } } } }; </script> <title>Addgene: Biosafety</title> <meta name="description" content="Addgene&#x27;s biosafety resource guide"> <meta name="keywords" content=""> </head> <body class=""> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PWRGQMJ" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <div class="modal fade in" id="campaign-modal" tabindex="-1" aria-hidden="true"> <div class="modal-dialog modal-dialog-centered"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true">×</span> </button> <h3 class="modal-title">Addgene Website Feedback</h3> </div> <div id="campaign-content" class="modal-body"> </div> <div class="modal-footer"> <div class="items-flex-row-align-center"> <span> Need help? Send us an email at <a href="/cdn-cgi/l/email-protection#b5ddd0d9c5f5d4d1d1d2d0dbd09bdac7d2"><span class="__cf_email__" data-cfemail="5d3538312d1d3c39393a38333873322f3a">[email&#160;protected]</span></a> </span> <a href="/privacy/">Privacy Policy</a> </div> </div> </div> </div> </div> <a href="#main-content" class="sr-only sr-only-focusable btn btn-lg btn-primary"> Skip to main content </a> <header> <div id="addgene-header"> <div id="messages" class="hidden-print"> <div class="alert-full-bleed alert-info"> <div class="container-utility-bar"> <div id="addgene-messages-4" class=" alert alert-info alert-dismissable " role="alert" > This website uses cookies to ensure you get the best experience. By continuing to use this site, you agree to the use of cookies. <button type="button" class="btn-close" data-dismiss="alert" aria-label="Close" id="addgene-messages-close-4" onclick="jQuery.cookie('addgene-messages-4', '4', { path: '/', expires: 365 })" > </button> </div> </div> </div> <div class="alert-full-bleed alert-danger"> <div class="container-utility-bar"> <div id="message-browser-wontwork" class="alert alert-danger" role="alert"> <p> Please note: Your browser does not support the features used on Addgene's website. You may not be able to create an account or request plasmids through this website until you upgrade your browser. <a href="/browser/">Learn more</a> </p> </div> </div> </div> <div class="alert-full-bleed alert-warning"> <div class="container-utility-bar"> <div id="message-browser-old" class="alert alert-warning" role="alert"> <p> Please note: Your browser does not fully support some of the features used on Addgene's website. If you run into any problems registering, depositing, or ordering please contact us at <a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="fd9598918dbd9c99999a989398d3928f9a">[email&#160;protected]</a>. <a href="/browser/">Learn more</a> </p> </div> </div> </div> </div> <img alt="Addgene" src="https://static.addgene.org/addgene-core/ba538e0eee/images/common/svg/logo-addgene.svg" width="150" class="visible-print logo-visible-print"> <nav aria-label="Utility Bar" class="navbar navbar-inverse" id="header-utility-bar"> <div class="container-utility-bar"> <div class="utility-bar-content"> <div class="navbar-header"> <a class="navbar-brand" href="/"> <img alt="Addgene" src="https://static.addgene.org/addgene-core/ba538e0eee/images/common/svg/addgene-logo-white.svg"> </a> </div> <div class="collapse navbar-collapse" id="utilities"> <ul class="nav navbar-nav navbar-right header-utilities-list not-authenticated"> <li id="search-li-item" class="form-hidden"> <span class="btn btn-link" id="search-text" tabindex="0"> <span class="glyphicon glyphicon-search"></span><span class="text-element">Search</span> </span> <form id="utility-search-bar" method="get" name="search-bar-form"> <div class="panel panel-default search-panel"> <div class="panel-body"> <div id="search-bar-parent"> <div class="search-bar-container"> <label for="search-text-input" class="sr-only">Search</label> <input form="utility-search-bar" id="search-text-input" class="suggest-input" aria-expanded="false" aria-haspopup="listbox" type="text" role="combobox" autocomplete="off" placeholder="e.g. 74218, Cas9, transformation protocol" name="q" > </div> <button form=utility-search-bar id="search_submit_id" class="btn btn-primary btn-addgene-search" value="Search"> Search </button> </div> </div> </div> </form> <a class="btn btn-link no-js-search-link" href="/search/all/"> <span class="glyphicon glyphicon-search"></span><span class="text-element">Search</span> </a> </li> <li> <a href="/users/login/?next=/biosafety/" class="log-in-link"> <img alt="" class="account-icon" src="https://static.addgene.org/addgene-core/ba538e0eee/images/common/svg/account-icon.svg">Log In </a> </li> <li> <a href="/users/register?next=/" class="register-link" id="register-link" >Create Account </a> </li> <li> <a id="track-order-link" href="/track-order-status/"> <img class="compass-icon" alt="" src="https://static.addgene.org/addgene-core/ba538e0eee/images/common/svg/compass_icon.svg">Track Order </a> </li> </ul> </div> </div> </div> </nav> <nav aria-label="Site Menu" id="main-nav-bar" class="main-nav-regular"> <div class="container"> <div class="row nav-toggle-btns"> <ul class="nav nav-pills main-nav-menu-closed"> <li class="dropdown-catalog"> <button class="btn dropdown-toggle main-nav-toggle-btn" type="button" id="dropdown-toggle-catalog" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false" data-target=".dropdown-catalog"> Catalog <svg class="icon-chevron-down" width="15" height="8" viewBox="0 0 15 8" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <g> <path d="M12.4641 0.389459L7.76318 4.57773C7.61488 4.70986 7.38503 4.70986 7.23673 4.57773L2.52838 0.389459C1.95003 -0.132424 1.01577 -0.132424 0.437424 0.389459C-0.140925 0.904736 -0.140925 1.74371 0.437424 2.25899L6.45077 7.61654C7.02912 8.13182 7.97079 8.13182 8.54914 7.61654L14.5625 2.25899C15.1408 1.74371 15.1408 0.904736 14.5625 0.389459C13.9841 -0.125818 13.0425 -0.125818 12.4641 0.389459Z" /> </g> </svg> </button> </li> <li class="dropdown-deposit"> <button class="btn dropdown-toggle main-nav-toggle-btn" type="button" id="dropdown-toggle-deposit" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false" data-target=".dropdown-deposit"> Deposit <svg class="icon-chevron-down" width="15" height="8" viewBox="0 0 15 8" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <g> <path d="M12.4641 0.389459L7.76318 4.57773C7.61488 4.70986 7.38503 4.70986 7.23673 4.57773L2.52838 0.389459C1.95003 -0.132424 1.01577 -0.132424 0.437424 0.389459C-0.140925 0.904736 -0.140925 1.74371 0.437424 2.25899L6.45077 7.61654C7.02912 8.13182 7.97079 8.13182 8.54914 7.61654L14.5625 2.25899C15.1408 1.74371 15.1408 0.904736 14.5625 0.389459C13.9841 -0.125818 13.0425 -0.125818 12.4641 0.389459Z" /> </g> </svg> </button> </li> <li class="dropdown-education-tools"> <button class="btn dropdown-toggle main-nav-toggle-btn" type="button" id="dropdown-toggle-education-tools" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false" data-target=".dropdown-education-tools"> Education & Tools <svg class="icon-chevron-down" width="15" height="8" viewBox="0 0 15 8" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <g> <path d="M12.4641 0.389459L7.76318 4.57773C7.61488 4.70986 7.38503 4.70986 7.23673 4.57773L2.52838 0.389459C1.95003 -0.132424 1.01577 -0.132424 0.437424 0.389459C-0.140925 0.904736 -0.140925 1.74371 0.437424 2.25899L6.45077 7.61654C7.02912 8.13182 7.97079 8.13182 8.54914 7.61654L14.5625 2.25899C15.1408 1.74371 15.1408 0.904736 14.5625 0.389459C13.9841 -0.125818 13.0425 -0.125818 12.4641 0.389459Z" /> </g> </svg> </button> </li> <li class="dropdown-help-center"> <button class="btn dropdown-toggle main-nav-toggle-btn" type="button" id="dropdown-toggle-help-center" data-toggle="dropdown" aria-haspopup="false" aria-expanded="false" data-target=".dropdown-help-center"> Help Center <svg class="icon-chevron-down" width="15" height="8" viewBox="0 0 15 8" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <g> <path d="M12.4641 0.389459L7.76318 4.57773C7.61488 4.70986 7.38503 4.70986 7.23673 4.57773L2.52838 0.389459C1.95003 -0.132424 1.01577 -0.132424 0.437424 0.389459C-0.140925 0.904736 -0.140925 1.74371 0.437424 2.25899L6.45077 7.61654C7.02912 8.13182 7.97079 8.13182 8.54914 7.61654L14.5625 2.25899C15.1408 1.74371 15.1408 0.904736 14.5625 0.389459C13.9841 -0.125818 13.0425 -0.125818 12.4641 0.389459Z" /> </g> </svg> </button> </li> </ul> </div> </div> <div class="container nav-dropdown-menus"> <div class="row-wide-gutters dropdown dropdown-catalog" id="dropdown-catalog"> <div class="col-xs-12 dropdown-menu" aria-labelledby="dropdown-toggle-catalog"> <div class="row-wide-gutters d-flex"> <div class="col-xs-3 menu-column list-unstyled"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-beaker.svg" alt="">By Type</li> <li><a href="/browse/">Plasmids</a></li> <li> <a href="/viral-service/">Viral Service</a> </li> <li> <a href="/antibodies/"> <span>Antibodies</span> </a> </li> <li><a href="/pooled-library/">Pooled Libraries</a></li> <li><a href="/kits/">Plasmid Kits</a></li> </ul> </div> <div class="col-xs-3 menu-column"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-virus-monochrome.svg" alt="">By Viral Service </li> <li><a href="/viral-service/">About Our Viral Service</a></li> <li><a href="/viral-service/packaged-on-request/">Packaged on Request</a></li> <li class="chevron-rotation"> <a href="#aav-collection" aria-expanded="false" aria-controls="aav-collection" data-toggle="collapse" class="collapsed">In-Stock AAV<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="aav-collection" class="collapse list-unstyled"> <li class="sub-menu-title">Function</li> <li><a href="/viral-service/aav-prep/sensors/">Biosensors</a></li> <li><a href="/viral-service/aav-prep/chemogenetics/">Chemogenetics</a></li> <li><a href="/viral-service/aav-prep/controls/">Controls</a></li> <li><a href="/viral-service/aav-prep/optogenetics/">Optogenetics</a></li> <li><a href="/viral-service/aav-prep/cre/">Recombinases</a></li> <li class="sub-menu-title">Engineered Serotypes</li> <li><a href="/viral-service/aav-prep/systemic/">Caltech Systemic</a></li> <li><a href="/viral-service/aav-prep/retrograde/">Retrograde</a></li> <li><a href="/viral-service/aav-prep/university-florida-serotype-testing/">University of Florida Eye Panel</a></li> <li><a href="/viral-service/aav-prep/">View all AAV</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#lenti-collection" aria-expanded="false" aria-controls="lenti-collection" data-toggle="collapse" class="collapsed">In-Stock Lentivirus<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="lenti-collection" class="collapse list-unstyled"> <li><a href="/viral-service/lenti-prep/#cas9-lenti">Cas9</a></li> <li><a href="/viral-service/lenti-prep/#pooled-library-lenti">Pooled CRISPR Libraries</a></li> <li><a href="/viral-service/lenti-prep/#non-crispr-lenti">Non-CRISPR</a></li> <li><a href="/viral-service/lenti-prep/">View all lentivirus</a></li> </ul> </li> </ul> </div> <div class="col-xs-6 menu-column"> <span class="d-block menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-plasmid.svg" alt="">By Plasmid Category</span> <div class="row-wide-gutters"> <ul class="col-xs-6 list-unstyled"> <li><a href="/collections/covid-19-resources/">COVID-19</a></li> <li class="chevron-rotation"> <a href="#ge-collection" aria-expanded="false" aria-controls="ge-collection" data-toggle="collapse" class="collapsed">Genome Editing<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="ge-collection" class="collapse list-unstyled"> <li><a href="/crispr/">CRISPR</a></li> <li><a href="/cre-lox/">Cre-lox</a></li> <li><a href="/talen/">TALENs</a></li> <li><a href="/zfc/">Zinc Fingers</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#tool-collection" aria-expanded="false" aria-controls="tool-collection" data-toggle="collapse" class="collapsed">Viral Plasmids<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="tool-collection" class="collapse list-unstyled"> <li><a href="/viral-vectors/aav/">AAV</a></li> <li><a href="/viral-vectors/adenovirus/">Adenovirus</a></li> <li><a href="/viral-vectors/lentivirus/">Lentivirus</a></li> <li><a href="/viral-vectors/retrovirus/">&gamma;-Retrovirus</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#lum-collection" aria-expanded="false" aria-controls="lum-collection" data-toggle="collapse" class="collapsed">Luminescence<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="lum-collection" class="collapse list-unstyled"> <li><a href="/fluorescent-proteins/">Fluorescent Proteins</a></li> <li><a href="/luciferase/">Luciferase</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#opto-collection" aria-expanded="false" aria-controls="opto-collection" data-toggle="collapse" class="collapsed">Chemogenetics &amp; Optogenetics<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="opto-collection" class="collapse list-unstyled"> <li><a href="/chemogenetics/">Chemogenetics</a></li> <li><a href="/optogenetics/">Optogenetics</a></li> </ul> </li> </ul> <ul class="col-xs-6 list-unstyled"> <li class="chevron-rotation"> <a href="#cloning-collection" aria-expanded="false" aria-controls="cloning-collection" data-toggle="collapse" class="collapsed">Cloning &amp; Engineering<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="cloning-collection" class="collapse list-unstyled "> <li><a href="/collections/antibody-plasmids/">Antibodies</a></li> <li><a href="/bacterial-expression/">Bacterial Expression</a></li> <li><a href="/empty-backbones/">Empty Backbones</a></li> <li><a href="/genetic-code-expansion/">Genetic Code Expansion</a></li> <li><a href="/genome-engineering/">Genome Engineering</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#models-collection" aria-expanded="false" aria-controls="models-collection" data-toggle="collapse" class="collapsed">Model Systems<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="models-collection" class="collapse list-unstyled "> <li><a href="/microbiology/">Microbes</a></li> <li><a href="/plant/">Plants</a></li> <li><a href="/worm-expression/">Worm</a></li> <li><a href="/collections/zebrafish/">Zebrafish</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#research-fields-collection" aria-expanded="false" aria-controls="research-fields-collection" data-toggle="collapse" class="collapsed">Research Fields<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="research-fields-collection" class="collapse list-unstyled "> <li><a href="/cancer/">Cancer</a></li> <li><a href="/collections/covid-19-resources/">COVID-19</a></li> <li><a href="/immunology/">Immunology</a></li> <li><a href="/stemcell/">Stem Cells</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#orfs-collection" aria-expanded="false" aria-controls="orfs-collection" data-toggle="collapse" class="collapsed">Pathways &amp; ORFs<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="orfs-collection" class="collapse list-unstyled "> <li><a href="/mapk/">MAPK</a></li> <li><a href="/nuclear-receptors/">Nuclear Receptors</a></li> <li><a href="/kits/#pathways">Pathway &amp; ORF Kits</a></li> </ul> </li> <li class="chevron-rotation"> <a href="#community-collection" aria-expanded="false" aria-controls="community-collection" data-toggle="collapse" class="collapsed">Communities<img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-chevron-right-addgene-gray.svg" class="chevron" alt=""></a> <ul id="community-collection" class="collapse list-unstyled "> <li><a href="/allen-institute-cell-science/">Allen Institute for Cell Science</a></li> <li><a href="/biobrick-public-agreement-collection/">BioBricks</a></li> <li><a href="/special-collections/#communities">View all communities</a></li> </ul> </li> <li><a href="/industry/">Available to Industry</a></li> </ul> </div> </div> </div> </div> <div class="dropdown-bg"></div> </div> <div class="row-wide-gutters dropdown dropdown-deposit" id="dropdown-deposit"> <div class="col-xs-12 dropdown-menu" aria-labelledby="dropdown-toggle-deposit"> <div class="row-wide-gutters d-flex"> <div class="col-xs-4 menu-column"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-dna-monochrome.svg" alt="">Depositing with Addgene </li> <li><a href="/deposit/benefits/" id="page-menu-deposit">Benefits of Depositing Plasmids</a></li> <li><a href="/testimonials/">Depositor Testimonials</a></li> <li><a href="/users/rewards/">Rewards Points</a></li> <li><a href="/deposit/pre-publication/">Pre-Publication Depositing</a></li> </ul> </div> <div class="col-xs-4 menu-column"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-depositing.svg" alt="">Start your Deposit </li> <li><a href="/deposit/">Deposit Overview</a></li> <li> <a href="/depositing/start-deposit/" id="page-deposit-menu-add-article">Submit Online Deposit</a> </li> <li> <a href="/depositing/start-deposit/#spreadsheet-submission" >Download Deposit Spreadsheet</a> </li> </ul> </div> <div class="col-xs-4 menu-column"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-wave.svg" alt="">Need Help?</li> <li><a href="https://blog.addgene.org/how-to-deposit-your-plasmids-with-addgene">Deposit Process Guide</a> </li> <li><a href="https://help.addgene.org/hc/en-us/categories/200507955">Deposit Help Center Articles</a></li> <li><a href="/cdn-cgi/l/email-protection#4c28293c233f25380c2d28282b29222962233e2b">Email <span class="__cf_email__" data-cfemail="eb8f8e9b8498829fab8a8f8f8c8e858ec584998c">[email&#160;protected]</span></a></li> </ul> </div> </div> </div> <div class="dropdown-bg"></div> </div> <div class="row-wide-gutters dropdown dropdown-education-tools" id="dropdown-education-tools"> <div class="col-xs-12 dropdown-menu" aria-labelledby="dropdown-toggle-education-tools"> <div class="row-wide-gutters d-flex"> <div class="col-xs-6 menu-column list-unstyled educational-resources"> <span class="d-block menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-bulb.svg" alt="">Educational Resources</span> <div class="row-wide-gutters"> <div class="col-xs-6"> <ul class="list-unstyled"> <li><a href="https://blog.addgene.org/">Blog</a></li> <li><a href="/educational-resources/ebooks/">eBooks</a></li> <li><a href="/mol-bio-reference/">Molecular Biology Basics</a></li> <li><a href="/protocols/">Protocols</a></li> <li><a href="/educational-resources/">View all Educational Resources</a></li> </ul> </div> <div class="col-xs-6"> <ul class="list-unstyled"> <li><a href="/recipient-instructions/">Recipient Instructions</a></li> <li><a href="/guides/">Science Guides</a></li> <li><a href="/videos/">Videos</a></li> </ul> </div> </div> </div> <div class="col-xs-6 menu-column list-unstyled"> <span class="d-block menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-wrench.svg" alt="">Tools</span> <ul class="list-unstyled"> <li> <a href="https://datahub.addgene.org/"><span>Data Hub</span></a> <p class="menu-item-description">Learn about AAV and antibody materials from user-contributed reports</p> </li> <li> <a href="/analyze-sequence/">Sequence Analyzer</a> <p class="menu-item-description">Analyze a DNA sequence to see restriction sites and map</p> </li> <li> <a href="/vector-database/query/">Vector Database</a> <p class="menu-item-description">Browse a digital-only collection of vector backbone information</p> </li> </ul> </div> </div> </div> <div class="dropdown-bg"></div> </div> <div class="row-wide-gutters dropdown dropdown-help-center" id="dropdown-help-center"> <div class="col-xs-12 dropdown-menu" aria-labelledby="dropdown-toggle-help-center"> <div class="row-wide-gutters d-flex"> <div class="col-xs-12"> <div class="row-wide-gutters menu-multiple-row d-flex"> <ul class="col-xs-4 menu-column list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-clipboard.svg" alt="">Ordering & MTAs </li> <li><a href="https://help.addgene.org/hc/en-us/articles/205436319">How do I place an order? Does Addgene accept orders by fax, phone or email?</a></li> <li><a href="https://help.addgene.org/hc/en-us/sections/201196819">What is an MTA/Who is authorized to sign?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/206133495">How do I get a quote?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/206133555">What do I need to know about the customs and importation process for my country?</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200491659">View all Ordering & MTA articles</a></li> </ul> <ul class="col-xs-4 menu-column list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-support.svg" alt="">Technical Support </li> <li><a href="https://help.addgene.org/hc/en-us/articles/360019863351">Can you help me find a plasmid?</a> </li> <li><a href="https://help.addgene.org/hc/en-us/articles/205433649">There is a problem with the plasmid I received.</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/205433549">My stab did not grow. What do I do?</a> </li> <li><a href="https://help.addgene.org/hc/en-us/articles/360031227692">What strain of bacteria does my stab contain?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/205434539">How can I be notified when a new material becomes available?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/360025306932">What services does Addgene provide?</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200491649">View all Technical Support articles</a></li> </ul> <ul class="col-xs-4 menu-column list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-depositing.svg" alt="">Depositing Plasmids </li> <li><a href="https://help.addgene.org/hc/en-us/articles/205440209">How do I prepare and deposit my plasmids?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/206135585">Which plasmids should I deposit?</a> </li> <li><a href="https://help.addgene.org/hc/en-us/articles/206135605">How can I track requests for my plasmids?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/360019620672">What are Rewards Points?</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200507955">View all Depositing Plasmids articles</a></li> </ul> </div> <div class="row-wide-gutters menu-multiple-row d-flex"> <div class="col-xs-4 menu-column"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-virus-monochrome.svg" alt="">Viral Preps & Antibodies </li> <li><a href="https://help.addgene.org/hc/en-us/articles/115000050726">What is virus associated DNA, and why do I have to order it?</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/211773603">What virus titer will I receive?</a> </li> <li><a href="https://help.addgene.org/hc/en-us/articles/211770763">Viral storage</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/4584105031949">Antibody storage</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/201416626">View All Viral Preps & Antibodies articles</a></li> </ul> </div> <div class="col-xs-4 menu-column list-unstyled"> <ul class="list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-package.svg" alt="">Plasmid Handling </li> <li><a href="https://help.addgene.org/hc/en-us/articles/360019194111">Bacterial stab</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/206127485">DNA</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/360027736172">Pooled library</a></li> <li><a href="https://help.addgene.org/hc/en-us/sections/201190479">Kit</a></li> <li><a href="https://help.addgene.org/hc/en-us/articles/205432549">Plasmid verification</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200491639">View all Plasmid Handling articles</a></li> </ul> </div> <div class="col-xs-4 menu-column"> <div class="row-wide-gutters menu-multiple-row"> <ul class="col-xs-12 list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-transfer.svg" alt="">Technology Transfer </li> <li><a href="/techtransfer/">Resources for your Tech Transfer Office</a></li> </ul> </div> <div class="row-wide-gutters menu-multiple-row"> <ul class="col-xs-12 list-unstyled"> <li class="menu-heading" tabindex="0"><img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/icon-question.svg" alt="">Access the Help Center </li> <li><a href="https://help.addgene.org/">View all Help Center articles</a></li> </ul> </div> </div> </div> </div> </div> </div> <div class="dropdown-bg"></div> </div> </div> </nav> </div> </header> <div id="page-body"> <main id="main-content"> <div class="container" tabindex="-1"> <!-- PageCSS used here Some <li>spacing and some<h#>spacing to make things look more balanced --> <h1 id="top"> Biosafety Resource Guide </h1> <hr> <section id="intro"> <p>The NIH provides basic guidelines to ensure that research is being performed within the highest standards possible to protect researchers. <a href="https://osp.od.nih.gov/policies/biosafety-and-biosecurity-policy/" rel="noopener noreferrer" target="_blank"> <span class="glyphicon glyphicon-new-window"></span> Visit the NIH's website for more details</a> about safety considerations. Specific questions about how biosafety relates to your research should be directed to your institution’s Biosafety Committee. </p> </section> <section id="documentation"> <h2>Documentation</h2> <p> Addgene has worked closely with safety consultants to ensure that we provide the relevant safety forms for each order. We do not provide Material Safety Data Sheets (MSDS), which are now called Safety Data Sheets (SDS) in the US, because plasmids shipped as bacterial stabs, plasmids shipped as purified DNA, and replication-defective viral particles are not classified as chemicals (only chemicals need an SDS, per the Hazard Communication Standard). If your organization still requires a SDS due to internal regulations, please download the appropriate SDS for your material. US Department of Transportation (DOT) and International Air Transport Association (IATA) forms are included as needed. </p> <ul class="list-unstyled" id="sds-list"> <li><a href="https://media.addgene.org/cms/filer_public/a2/b4/a2b486ff-537e-4846-87db-0c8a1de373f4/062618_addgene_plasmid_dna_sds.pdf" > SDS for Plasmid DNA <span>147.4 KB</span> </a> </li> <li><a href="https://media.addgene.org/cms/filer_public/93/dc/93dcd707-8bd4-4179-8796-c71f9b76995a/062618_addgene_lentivirus_sds.pdf" > SDS for Lentivirus <span>466.4 KB</span> </a> </li> <li><a href="https://media.addgene.org/cms/filer_public/83/34/833467ca-de57-48f7-a930-f30b73395658/062618_addgene_adeno_associated_virus_sds.pdf" > SDS for AAV <span>466.5 KB</span> </a> </li> <li><a href="https://media.addgene.org/cms/filer_public/ce/a3/cea3ca62-eb0c-4c0d-b656-0dd5b561966a/addgene_recombinant_antibody_sds.pdf" > SDS for Recombinant Antibody <span>418.1 KB</span> </a> </li> </ul> </section> <section id="virussafety"> <h2>Viral Vector Biosafety Resources</h2> <p>The ability of viruses to target and invade cells makes them a key tool for biological research, but also raises biosafety concerns. Chief concerns are 1) the potential generation of replication competent virus and 2) the potential for oncogenesis through insertional mutagenesis. These risks are dependent on the vector system used and the transgene insert encoded by the vector. While the viral vector systems in current use are designed to minimize risk to researchers, it’s important to consider both of these concerns when designing your experiments. </p> <p><em><strong>The NIH provides basic guidelines for working with various types of vectors; however, these guidelines may differ depending on the insert type and envelope used (<a href="#vector-components"> see Vector Characteristics Impacting Biosafety</a>). Please consult with your institution’s Biosafety Committee before beginning virus work.</strong></em></p> <h3>General Biosafety Guidelines</h3> <ul> <li class="lispacing"> <strong>Adenovirus:</strong> This virus can cause mild to severe respiratory disease in humans. Ethanol cleaning does not inactivate adenovirus; 10% bleach (0.5% sodium hypochlorite) should be used instead. Use of a replication incompetent adenoviral system (BSL-2) reduces risk but requires multiple rounds of plaque purification. </li> <li class="lispacing"> <strong>Adeno-associated virus:</strong> This virus is replication-incompetent and not known to cause disease in humans. If it is prepared using a helper plasmid rather than helper virus, it can often be handled at BSL-1. If prepared using a helper virus, it should be handled at BSL-2. Ethanol cleaning does not inactivate AAV; 10% bleach (0.5% sodium hypochlorite) should be used instead. </li> <li class="lispacing"> <strong>Lentivirus:</strong> Addgene’s lentiviral systems are derived from HIV, but their organization across multiple plasmids and the deletion of many HIV proteins lowers the probability of generating replication-capable virus. These systems are handled at BSL-2/2+. </li> <li class="lispacing"> <strong>Retrovirus:</strong> Retroviruses are classified based on the cell types they infect. For retroviruses that do not infect human cells, BSL-1 may be appropriate; if human cells can be infected, BSL-2/2+ is appropriate. </li> </ul> <h3 id="vector-components" style="margin-bottom: 1em;">Vector Characteristics Impacting Biosafety</h3> <h4><em>Envelopes</em></h4> <p>The viral envelope determines viral tropism, or which cell types a virus can infect. The classes of viral envelopes are: </p> <ul> <li class="lispacing"> <strong>Ecotropic:</strong> narrow host range, can infect only one or a small group of species (usually mouse and rat). In this case, biosafety containment procedures might be reduced. </li> <li class="lispacing"> <strong>Amphotropic:</strong> broader host range, usually refers to viruses infecting only mammalian cells. </li> <li class="lispacing"> <strong>Pantropic:</strong> broadest host range; both mammalian and non-mammalian cells can be infected. The VSV-G envelope commonly used to package lentivirus and retrovirus is an example of a pantropic envelope. </li> </ul> <h4 style="margin-top: 1em;"> <em>Replication-deficient viruses</em></h4> <p> Most if not all of Addgene’s transfer plasmids are replication-deficient. These plasmids can be used to create virus that is capable of infecting target cells, but cannot produce any new viral particles after the initial infection. This replication deficiency results from the separation of the envelope and packaging proteins from the transfer plasmid. No single plasmid contains all the components necessary to produce viral particles. </p> <h4><em>Self-inactivation (SIN)</em></h4> <p> SIN is shorthand for self-inactivating, which is achieved by deleting a large portion of the 3'LTR in retroviral or lentiviral systems. This results in short, inactivated 5' and 3' LTRs and further reduces the possibility of creating replication-competent virus or activating cellular oncogenes. Both 2nd- and 3rd-generation lentiviral vectors can be SIN; however, an internal promoter is required for 2nd generation SIN vectors since the wildtype 5'LTR promoter will no longer be functional. </p> <h4><em>Transfer Plasmid Insert/Transgene</em></h4> <p> In addition to the viral vector system, it’s important to consider the properties of the insert/transgene being studied. Inserts that are oncogenic, apoptotic, or toxic present a higher biosafety risk than inserts that do not have these properties, and may warrant more stringent containment procedures. </p> <h4><em>Viral Genome Percentage</em></h4> <p> Viral genome percentage is primarily a concern for lentiviral systems derived from HIV. In both 2nd- and 3rd-generation systems, many HIV proteins have been removed. Transfer vectors contain minimal cis-acting HIV components: LTRs, PPT, RRE, and psi packaging signal. Viral components typically total &lt;1.5kb, which should not be more than 30% of the transfer plasmid. As discussed above, many transfer vectors are SIN. Packaging plasmid(s) contain the minimal number of HIV genes required for virus production (3 or 4). Third-generation vectors contain gag, pol, and rev. Second-generation contains these three genes plus tat. The envelope plasmid provides a heterologous envelope for pseudotyping and is not HIV-derived. In adeno-associated viral systems, only ∼6% of the transfer plasmid (the two ITRs) is viral. Rep and Cap are separated from the transfer plasmid for an extra level of safety. </p> <h3><span class="glyphicon glyphicon-new-window"></span> Additional Resources</h3> <ul> <li>Stanford University: <a href="https://ehs.stanford.edu/topic/biosafety-biosecurity/viral-vectors" rel="noopener noreferrer" target="_blank">Viruses and Viral Vectors</a></li> <li>Stanford University: <a href="https://ehs.stanford.edu/reference/recombinant-viral-vector-biosafety-levels" rel="noopener noreferrer" target="_blank">Recombinant Viral Vector Biosafety Levels</a></li> <li>University of Kentucky: <a href="https://ehs.uky.edu/docs/pdf/bio_viral_vectors_0001.pdf" rel="noopener noreferrer" target="_blank">Guidelines for Research Involving Viral Vectors</a></li> </ul> </section> </div> </main> </div> <footer> <div id="feedback-cta-banner" > <div class="feedback-bar"> <form hx-headers='{"X-CSRFToken": "U5zFpy3WihFAzramOZ6CsvRN8J34aZH6vBsJZAUPYQ9LD9P4aigeg15exKGmLAkL"}' method="post" hx-post="/update-survey-monkey-cookie/" hx-target="#feedback-cta-banner" class="banner-form"> <div class="question">How was your experience today?</div> <div> <button id="general-feedback-btn" class="btn btn-lg btn-addgene-yellow btn-feedback" type="button" data-toggle="modal" data-target="#campaign-modal" hx-get="/get-survey-monkey-feedback-survey/?triggering_page_path=/biosafety/" hx-target="#campaign-content">Tell us</button> <button id="btn-feedback-no-thanks" class="btn btn-link" type="submit">No thanks</button> </div> </form> </div> </div> <div id="addgene-footer"> <div id="footer-actions-row"> <div class="container"> <div class="row"> <div class="col-xs-4"> <h2 class="footer-h2">Sign Up for Our Newsletter</h2> <p>Keep up with the latest Addgene news, releases, and more.</p> <a class="btn btn-default" href="https://info.addgene.org/addgene-newsletter-opt-in">Sign Up</a> </div> <div class="col-xs-4"> <h2 class="footer-h2">Subscribe to Our Blog</h2> <p>Learn about new materials in the repository and helpful community resources.</p> <a class="btn btn-default" href="https://info.addgene.org/subscribe-to-addgene-blog">Subscribe</a> </div> <div class="col-xs-4"> <h2 class="footer-h2">Contact Addgene</h2> <p>Have questions about your order, deposit, or a material?</p> <a class="btn btn-default" href="/contact/">Contact Us</a> </div> </div> </div> </div> <div id="footer-tagline-row"> <div class="container"> <h2 class="footer-h2">Addgene is a nonprofit plasmid repository.</h2> <h3 class="h4 tagline">We store and distribute high-quality plasmids from your colleagues.</h3> </div> </div> <div id="footer-links-row"> <div class="container"> <div class="row"> <div class="col-md-4"> <h3 class="footer-h3">About Our Repository</h3> <ul class="list-unstyled"> <li class="footer-category"> <ul class="list-unstyled"> <li><a href="/mission/">Mission</a></li> <li><a href="/management/">Leadership</a></li> <li><a href="/testimonials/">Testimonials</a></li> <li><a href="/sponsors/">Sponsors</a></li> <li><a href="/addgene-gives-back/">Community Investment</a></li> <li><a href="/financial-conflicts-interest/">Financial Conflicts of Interest</a></li> <li><a href="/biosafety/">Biosafety</a></li> <li><a href="/blue-flame-award/">Blue Flame Award</a></li> <li><a href="/careers/">Careers</a></li> <li><a href="/industry/">Industry Customers</a></li> <li><a href="/news/">News &amp; Press</a></li> <li><a href="/recipient-instructions/">Recipient Instructions</a></li> <li><a href="/techtransfer/">Technology Transfer</a></li> </ul> </li> </ul> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">Help Center</h4> <ul class="list-unstyled"> <li><a href="https://help.addgene.org/hc/en-us/categories/200507955-Depositing-Plasmids">Depositing</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200491659-Ordering-Plasmids">Ordering</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/200491649-Technical-Resources">Technical Resources</a></li> <li><a href="https://help.addgene.org/hc/en-us/categories/201416626-Viral-Service">Viral Service</a></li> </ul> </li> </ul> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">Deposit Plasmids</h4> <ul class="list-unstyled"> <li><a href="/deposit/">Why Deposit with Us</a></li> <li><a href="/depositing/start-deposit/">Start a Deposit</a></li> </ul> </li> </ul> </div> <div class="col-md-4"> <h3 class="footer-h3">Browse Our Catalog</h3> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">General Reagents</h4> <ul class="list-unstyled"> <li><a href="/antibodies/">Antibodies</a></li> <li><a href="/browse/">Plasmids</a></li> <li><a href="/kits/">Plasmid Kits</a></li> <li><a href="/pooled-library/">Pooled Libraries</a></li> </ul> </li> </ul> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">Viral Service</h4> <ul class="list-unstyled"> <li><a href="/viral-service/aav-prep/">AAV</a></li> <li><a href="/viral-service/lenti-prep/">Lentivirus</a></li> </ul> </li> </ul> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">DNA Service</h4> <ul class="list-unstyled"> <li><a href="/dna-service/">Cloning Grade DNA</a></li> </ul> </li> </ul> <ul class="list-unstyled"> <li class="footer-category"> <h4 class="footer-h4">Plasmid Collections</h4> <ul class="list-unstyled"> <li><a href="/chemogenetics/">Chemogenetics</a></li> <li><a href="/crispr/">CRISPR</a></li> <li><a href="/empty-backbones/">Empty Backbones</a></li> <li><a href="/fluorescent-proteins/">Fluorescent Proteins</a></li> <li><a href="/optogenetics/">Optogenetics</a></li> <li><a href="/synthetic-biology/">Synthetic Biology</a></li> <li><a href="/viral-vectors/">Viral Plasmids</a></li> <li><a href="/collections/"><strong>View All</strong></a></li> </ul> </li> </ul> </div> <div class="col-md-4"> <h3 class="footer-h3">Education</h3> <ul class="list-unstyled"> <li class="footer-category"> <ul class="list-unstyled"> <li><a href="https://blog.addgene.org">Blog</a></li> <li><a href="/educational-resources/ebooks/">eBooks</a></li> <li><a href="/mol-bio-reference/">Molecular Biology Basics</a></li> <li><a href="https://blog.addgene.org/topic/podcast">Podcast</a></li> <li><a href="/protocols/">Protocols</a></li> <li><a href="/guides/">Science Guides</a></li> <li><a href="/videos/">Videos</a></li> <li><a href="/educational-resources/"><strong>View All</strong></a></li> </ul> </li> </ul> <h3 class="footer-h3 tools-heading">Tools</h3> <ul class="list-unstyled"> <li class="footer-category"> <ul class="list-unstyled"> <li><a href="https://datahub.addgene.org">Data Hub</a></li> <li><a href="/analyze-sequence/">Sequence Analyzer</a></li> <li><a href="/vector-database/query/">Vector Database</a></li> </ul> </li> </ul> </div> </div> <div id="footer-social-row"> <span class="h4 social-tagline">Stay connected!</span> <div class="social-icons"> <a href="https://www.facebook.com/addgene" target="_blank" rel="noopener noreferrer"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/social-media/facebook-icon.svg" width="34" height="34" alt="Addgene Facebook Page"> </a> <a href="https://bsky.app/profile/addgene.bsky.social" target="_blank" rel="noopener noreferrer"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/social-media/bluesky-icon.svg" width="38" height="34" alt="Addgene Bluesky Page"> </a> <a href="https://www.instagram.com/addgene/" target="_blank" rel="noopener noreferrer"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/social-media/instagram-icon.svg" width="34" height="34" alt="Addgene Instagram Page"> </a> <a href="https://www.youtube.com/user/addgenemedia" target="_blank" rel="noopener noreferrer"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/social-media/youtube-icon.svg" width="49" height="34" alt="Addgene YouTube Channel"> </a> <a href="https://www.linkedin.com/company/addgene" target="_blank" rel="noopener noreferrer"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/public/icons/social-media/linkedin-icon.svg" width="34" height="34" alt="Addgene LinkedIn Page"> </a> </div> </div> <div id="footer-utility-links-row"> <a href="/"> <img src="https://static.addgene.org/addgene-core/ba538e0eee/images/common/svg/addgene-logo-white.svg" width="212" height="40" alt="Addgene"> </a> <ul> <li><a href="/contact/">Contact</a></li> <li><a href="/privacy/">Cookies &amp; Privacy Policy</a></li> <li><a href="/accessibility/">Accessibility</a></li> <li><a href="/sitemap/">Site Map</a></li> <li><a href="/terms-of-use/">Terms of Use</a></li> <li><a href="https://addgenestatus.org">Status</a></li> </ul> </div> </div> </div> </div> </footer> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script src="https://static.addgene.org/addgene-core/ba538e0eee/jquery/jquery-1.10.2.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/bootstrap/dist/js/bootstrap.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/js/public/public.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/js/jquery.cookie.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/vendor/leaverou/awesomplete.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/vendor/js/htmx.min.js"></script> <script type="text/javascript">window.__staticBaseUrl__="https://static.addgene.org/addgene-core/ba538e0eee/"</script> <script type="text/javascript"> window.addEventListener('error', function (event) { msg = event.message.substring(0, 100) document.head.setAttribute('data-addgene-jserror', msg) }) </script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/vendor/require.js"></script> <script src="https://static.addgene.org/addgene-core/ba538e0eee/common_requirejs_config.js"></script> <script>requirejs(["js/public/utility_bar/load-search-controls"]);</script> <script>requirejs(["js/search/load-autosuggest"]);</script> <script>requirejs(["js/public/load-main-nav-bar"]);</script> <script>requirejs(["js/public/load-feedback-campaign-banner"]);</script> </body> </html>

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