PageSourceSearch

https://www.chlorineinstitute.org/

html chlorineinstitute.org collected 2026-10-02 03:44:33 UTC 131,289 bytes, 1,066 lines download raw bytes

1
2
3<!DOCTYPE html>
4<html lang="en">
5<head>
6    
7    
8    <meta charset="utf-8">
9    <meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1" />
10    <meta name="viewport" content="width=device-width, initial-scale=1">
11    <link rel="shortcut icon" href="https://assets.noviams.com/novi-file-uploads/tci/structure/favicon.ico" />
12    <link rel="apple-touch-icon" href="https://assets.noviams.com/novi-file-uploads/tci/structure/apple_icon.png" />
13
14    
15    <title>The Chlorine Institute | TCI </title>
16
17    
18            <link rel="canonical" href="https://www.chlorineinstitute.org/" />
19        <meta property="og:url" content="https://www.chlorineinstitute.org/" />
20    
21
22    
23
24
25
26    <link href="https://assets.noviams.com/novi-core-assets/css/c/tci/tci.css" rel="stylesheet" />
27    <link href="https://assets.noviams.com/novi-core-assets/css/fontawesome.css" rel="stylesheet" />
28    <link href="/css-fingerprintF33D99896E2EEBCE0EA73AE03F8605A1/event-starting-modal.css" rel="stylesheet" />
29
30
31
32    <link href="/client-apps/main/dist/css-fingerprint54A37ADB16B7E58AA32AC8D1E6983419/content-region-shims.css" rel="stylesheet" />
33    <link href="/client-apps/main/dist/css-fingerprintA2B8FF91F793D1095AFC692DC44E5761/prism.css" rel="stylesheet" />
34
35    
35<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info = {"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-e2842e214a327241915","applicationID":"1554429612","transactionName":"bwQGMkVZWBFQV0FfXlZOKTB0F34NXFF2WV9MEwsKW11ETXhaUVNJ","queueTime":0,"applicationTime":503,"agent":"","atts":""}</script>
35<script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1588971398",accountID:"4212042",trustKey:"4212042",xpid:"UAQGU1ZXChABUVRWAwMOUFUD",licenseKey:"NRJS-e2842e214a327241915",applicationID:"1554429612",browserID:"1588971398"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
36(()=>{var e={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)),s=0===Object.keys(r).length?e:r;for(let a in s)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]])):e[a]instanceof Map||e[a]instanceof Set||e[a]instanceof Date||e[a]instanceof RegExp?r[a]=e[a]:"object"==typeof e[a]&&null!==t[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){r[a]||(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555(e,t,r){"use strict";r.d(t,{f:()=>a});var n=r(384),i=r(8122);const s={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};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}r.d(t,["D",0,e=>(0,i.a)(e,s)])},7699(e,t,r){"use strict";var n=r(860);const i={[n.K7.logging]:!0,[n.K7.genericEvents]:!0,[n.K7.jserrors]:!0,[n.K7.ajax]:!0};r.d(t,["It",0,1e6,"KC",0,i,"qh",0,"SESSION_ERROR"])},9324(e,t,r){"use strict";r.d(t,["A",0,"@newrelic/rrweb","x",0,"1.322.0"])},981(e,t,r){"use strict";r.d(t,["R",0,{AJAX:"AjaxRequest",PA:"PageAction",UA:"UserAction",BP:"BrowserPerformance",WS:"WebSocket",SPV:"SecurityPolicyViolation",JSE:"JavaScriptError",LOG:"Log",PVE:"PageView",PVT:"PageViewTiming",SR:"SessionReplay",ST:"SessionTrace",BI:"BrowserInteraction"}])},9752(e,t,r){"use strict";const n="newrelic-iframe-",i=n+"timing-update",s=n+"api",a=n+"api-response",o=n+"vitals-update",c=n+"ajax";r.d(t,["$8",0,o,"Gi",0,a,"KU",0,c,"Pl",0,n,"cS",0,s,"cr",0,i])},6154(e,t,r){"use strict";var n=r(1863);const i="undefined"!=typeof window&&!!window.document,s="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),o=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),u=d&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)();r.d(t,["OF",0,d,"RI",0,i,"WN",0,f,"bv",0,s,"gm",0,a,"lR",0,l,"m",0,c,"mw",0,o,"sb",0,u,"zk",0,()=>{const e=a?.performance?.getEntriesByType?.("navigation")?.[0];if(e&&e.responseStart>0&&e.responseStart<a.performance.now())return e}])},7295(e,t,r){"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>s});var n=[];function i(e){if(!e||s(e))return!1;if(0===n.length)return!0;if("*"===n[0].hostname)return!1;for(var t=0;t<n.length;t++){var r=n[t];if(r.hostname.test(e.hostname)&&r.pathname.test(e.pathname))return!1}return!0}function s(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;if("*"===r)return void(n=[{hostname:"*"}]);0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let s,a;i>0?(s=r.substring(0,i),a=r.substring(i)):(s=r,a="*");let[c]=s.split(":");n.push({hostname:o(c),pathname:o(a,!0)})}}function o(e,t=!1){const r=e.replace(/[.+?^${}()|[\]\\]/g,e=>"\\"+e).replace(/\*/g,".*?");return new RegExp((t?"^":"")+r+"$")}},3241(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(6154);function i(e={}){try{n.gm.dispatchEvent(new CustomEvent("newrelic",{detail:e}))}catch(e){}}},1687(e,t,r){"use strict";r.d(t,{Ak:()=>o,Ze:()=>d,x3:()=>c});var n=r(3241),i=r(3606),s=r(860),a=r(2646);function o(e,t){if(!e)return;const r={staged:!1,priority:s.P3[t]||0};
36e.runtime.drainRegistry.get(t)||e.runtime.drainRegistry.set(t,r)}function c(e,t){if(!e)return;const r=e.runtime.drainRegistry;r&&(r.get(t)&&r.delete(t),l(e,t,!1),r.size&&u(e))}function d(e,t="feature",r=!1){if(e){if(!e.runtime.drainRegistry.get(t)||r)return l(e,t);e.runtime.drainRegistry.get(t).staged=!0,u(e)}}function u(e){if(!e)return;const t=Array.from(e.runtime.drainRegistry);t.every(([e,t])=>t.staged)&&(t.sort((e,t)=>e[1].priority-t[1].priority),t.forEach(([t])=>{e.runtime.drainRegistry.delete(t),l(e,t)}))}function l(e,t,r=!0){if(!e)return;const s=e.ee,o=i.i.handlers;if(s&&!s.aborted&&s.backlog&&o){if((0,n.W)({type:"lifecycle",name:"drain",feature:t}),r){const e=s.backlog[t],r=o[t];if(r){for(let t=0;e&&t<e.length;++t)f(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].listeners(e).includes(t[1])&&t[0].on(e,t[1])})})}}s.isolatedBacklog||delete o[t],s.backlog[t]=null,s.emit("drain-"+t,[])}}function f(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],s=e[2];n.apply(i,s)}})}},7836(e,t,r){"use strict";var n=r(384),i=r(8990),s=r(2646),a=r(5607);const o="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},u={},l=!1;try{l=16===r.length&&d.initializedAgents?.[r]?.runtime.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,s){!1!==s&&(s=!0);if(c.aborted&&!i)return;t&&s&&t.emit(e,r,n);var o=h(n);g(e).forEach(e=>{e.apply(o,r)});var d=v()[a[e]];d&&d.push([f,e,r,o]);return o},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])=>{a[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()[a[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 s.y?e:e?(0,i.I)(e,o,()=>new s.y(o)):new s.y(o)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return u[t]=u[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=c),r.d(t,["P",0,o,"ee",0,c])},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,s){s?(s.buffer([e],i),s.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(9908);s.on=a;var i=s.handlers={};function s(e,t,r,s){a(s||n.d,i,e,t,r)}function a(e,t,r,i,s){s||(s="feature"),e||(e=n.d);var a=t[s]=t[s]||{};(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 s(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>s,jT:()=>n,sp:()=>i})},5607(e,t,r){"use strict";const n=(0,r(9566).bz)();r.d(t,["W",0,n])},9566(e,t,r){"use strict";r.d(t,{LA:()=>a,ZF:()=>o,bz:()=>s,el:()=>c});var n=r(6154);function i(e,t){return e?15&e[t]:16*Math.random()|0}function s(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".split("").map(e=>"x"===e?i(t,r++).toString(16):"y"===e?(3&i()|8).toString(16):e).join("")}function a(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,s=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var o=0;o<e;o++)a.push(i(r,s++).toString(16));return a.join("")}function o(){return a(16)}function c(){return a(32)}},2614(e,t,r){"use strict";r.d(t,["BB",0,18e5,"Wt",0,"NRBA_SESSION::","g",0,{OFF:0,FULL:1,ERROR:2},"iL",0,{SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},"tS",0,{STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},"wk",0,144e5])},733(e,t,r){"use strict";function n(e,t){return function(e){let t=2166136261;for(let r=0;r<e.length;r++)t^=e.charCodeAt(r),t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,"0")}("".concat(String(e),":").concat(String(t)))}r.d(t,{Y:()=>n})},1863(e,t,r){"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},9119(e,t,r){"use strict";r.d(t,{L:()=>s});var n=/([^?#]*)[^#]*(#[^?]*|$).*/,i=/([^?#]*)().*/;function s(e,t){return e?e.replace(t?n:i,"$1$2"):e}},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{}}}},7866(e,t,r){"use strict";r.d(t,["Nc",0,/^\s*at Function code \(Function code:\d+:\d+\)\s*/i,"cn",0,/^\s*(?:([^@]*)(?:\(.*?\))?@)?((?:file|http|https|chrome|safari-extension).*?):(\d+)(?::(\d+))?\s*$/i,"fL",0,/^\s*at .+ \(eval at \S+ \((?:(?:file|http|https):[^)]+)?\)(?:, [^:]*:\d+:\d+)?\)$/i,"h3",0,/function (.+?)\s*\(/,"hB",0,/^\s*at (?:((?:\[object object\])?(?:[^(]*\([^)]*\))*[^()]*(?: \[as \S+\])?) )?\(?((?:file|http|https|chrome-extension):.*?)?:(\d+)(?::(\d+))?\)?\s*$/i])},944(e,t,r){"use strict";r.d(t,{R:()=>i});var n=r(3241);function i(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),(0,n.W)({drained:null,type:"data",name:"warn",feature:"warn",data:{code:e,secondary:t}}))}},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})},1910(e,t,r){"use strict";r.d(t,{i:()=>s});var n=r(944);const i=new Map;function s(...e){return e.every(e=>{if(i.has(e))return i.get(e);const t="function"==typeof e?e.toString():"",r=t.includes("[native code]"),s=t.includes("nrWrapper");return r||s||(0,n.R)(64,e?.name||t),i.set(e,r),r})}},3304(e,t,r){"use strict";r.d(t,{A:()=>i});var n=r(7836);function i(e){try{return JSON.stringify(e,(()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}})())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},9232(e,t,r){"use strict";r.d(t,["f",0,{MFE:"MFE",BA:"BA"}])},7560(e,t,r){"use strict";r.d(t,{N:()=>a,j:()=>c});var n=r(9119),i=r(944);const s=(0,r(6389).J)(e=>(0,i.R)(80,e));function a(e){if(!Array.isArray(e?.assets)||!e.assets.length)return;
36const t=e.assets.map(o).filter(Boolean);return t.length?{assets:t,scripts:t.filter(e=>e.isScript)}:void 0}function o(e){if(!e||"object"!=typeof e)return;const{matcher:t,type:r}=e;let i="string"==typeof t&&t.endsWith(".js");return void 0!==r&&(!function(e){return"script"===e||"asset"===e}(r)?s(r):i=function(e){return"script"===e}(r)),a=t,"[object RegExp]"===Object.prototype.toString.call(a)?{pattern:t,test:e=>(t.lastIndex=0,t.test((0,n.L)(e))),isScript:i}:"string"==typeof t&&t.length>0?{pattern:t,test:e=>(0,n.L)(e).includes(t),isScript:i}:void s(t);var a}function c(e,t,{scriptsOnly:r=!1}={}){if(!e||!t)return!1;return(r?e.scripts:e.assets).some(e=>e.test(t))}},5718(e,t,r){"use strict";r.d(t,{xo:()=>T,AZ:()=>v,cI:()=>g,Qr:()=>A,QL:()=>y});var n=r(6154),i=r(1863),s=r(9119),a=r(7866);class o{dom=new c;performance=new c;constructor(e){this.url=e,this.claimedBy=new Set}get script(){const e=Math.max(this.dom.start,this.performance.end);return{start:e,end:Math.max(this.dom.end,this.performance.end,e)}}}class c{start=0;end=0;value=void 0}function d(e=()=>{},t){return{get:()=>void 0!==t?t:e(),set:e=>{t=e}}}let u;try{u=v(y())[0]}catch(e){u=v(e)[0]}const l=new Map;let f=[];const h=new WeakMap;function p(e){let t=h.get(e);return t||(t={weighedAssetUrls:new Set,recordManifestScriptWindow:(t,r)=>{t&&(e.scriptStart=e.scriptStart>0?Math.min(e.scriptStart,t):t),r&&(e.scriptEnd=e.scriptEnd>0?Math.max(e.scriptEnd,r):r)}},h.set(e,t)),t}function g(e){return l.get(e)}function m(e){const t=g(e);
36if(t)return t;const r=new o(e);if(l.set(e,r),l.size>1e3){const e=l.keys().next().value;l.delete(e)}return r}if(n.gm.MutationObserver&&n.gm.document){new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{if("SCRIPT"===e.nodeName&&e.src){const t=m((0,s.L)(e.src));t.dom.start=(0,i.t)(),t.dom.value=e;const r=()=>{t.dom.end=(0,i.t)()};["load","error"].forEach(t=>e.addEventListener(t,r,{once:!0}))}})})}).observe(n.gm.document,{childList:!0,subtree:!0})}if(n.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{if((e=>"script"===e.initiatorType||["link","fetch"].includes(e.initiatorType)&&(0,s.L)(e.name).endsWith(".js"))(e)){const t=m((0,s.L)(e.name));t.performance.start=Math.floor(e.startTime),t.performance.end=Math.floor(e.responseEnd),t.performance.value=e}if(!f.length)return;const t=[];f.forEach(({test:r,addedAt:n},s)=>{(r(e)||(0,i.t)()-n>1e4)&&t.push(s)}),f=f.filter((e,r)=>!t.includes(r))})}).observe({type:"resource",buffered:!0})}function v(e){if(!e||"string"!=typeof e)return[];const t=new Set,r=e.split("\n");for(const e of r){const r=e.match(a.cn)||e.match(a.hB)||e.match(a.fL);if(r&&r[2])t.add((0,s.L)(r[2]));else{const r=e.match(/\(([^)]+\.js):\d+:\d+\)/)||e.match(/^\s+at\s+([^\s(]+\.js):\d+:\d+/);r&&r[1]&&t.add((0,s.L)(r[1]))}}return[...t]}function y(){let e;try{const t=Error.stackTraceLimit;Error.stackTraceLimit=50,e=(new Error).stack,Error.stackTraceLimit=t}catch(t){e=(new Error).stack}return e}function b(e,t){return(0,s.L)(e.name)===t}function E(e,t){e.fetchStart=Math.floor(t.startTime),e.fetchEnd=Math.floor(t.responseEnd),e.asset=t.name,e.type=t.initiatorType,w(e,t)}function w(e,t){const r=(0,s.L)(t.name),{weighedAssetUrls:n}=p(e);n.has(r)||(n.add(r),e.totalWeight=(e.totalWeight||0)+(t.transferSize||0),"blocking"===t.renderBlockingStatus?e.renderBlocking=!0:"non-blocking"===t.renderBlockingStatus&&!0!==e.renderBlocking&&(e.renderBlocking=!1))}function R(e,t,r,n,i){if(w(e,t),"scripts"!==i&&"all"!==i)return;if("all"===i||r.isScript){const r=Math.floor(t.startTime),n=Math.floor(t.responseEnd);e.fetchStart=e.fetchStart>0?Math.min(e.fetchStart,r):r,e.fetchEnd=e.fetchEnd>0?Math.max(e.fetchEnd,n):n}if(r.isScript){const r=g((0,s.L)(t.name));if(r){const t=()=>{const{start:t,end:n}=r.script;p(e).recordManifestScriptWindow(t,n)};t(),!r.dom.end&&r.dom.value&&["load","error"].forEach(e=>r.dom.value.addEventListener(e,t,{once:!0}))}n.resolved||(e.asset=t.name,e.type=t.initiatorType,n.resolved=!0)}}function T(e,t){const r=t?.manifest;if(!r||!r.assets.length)return;const s={resolved:!1},a=new Set(r.assets);(n.gm.performance?.getEntriesByType("resource")||[]).forEach(r=>{const n=[...a].find(e=>e.test(r.name));n&&(R(e,r,n,s,t.timingMethod),a.delete(n))}),a.size&&function(e,t,r,s){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:n=>{const i=[...t].find(e=>e.test(n.name));return i&&(R(e,n,i,r,s),t.delete(i)),0===t.size}})}(e,a,s,t.timingMethod)}function A(e){const t=e?.id,r={registeredAt:(0,i.t)(),reportedAt:void 0,fetchStart:0,fetchEnd:0,scriptStart:0,scriptEnd:0,asset:void 0,type:"unknown",totalWeight:0,renderBlocking:void 0},a=y();if(!a)return r;const o=n.gm.performance?.getEntriesByType("navigation")?.[0]?.name||"";try{const e=v(a),c=(e.length>1?e.filter(e=>u!==e):e)[0];if(!c)return r;if(o.includes(c))return r.asset=(0,s.L)(o),r.type="inline",r;r.correlation=g(c);const l=r.correlation?.performance.value||n.gm.performance?.getEntriesByType("resource")?.find(e=>b(e,c));if(l)E(r,l);else{(function(e){if(!e||!n.gm.document)return!1;try{const t=n.gm.document.querySelectorAll('link[rel="preload"][as="script"]');for(const r of t)if((0,s.L)(r.href)===e)return!0}catch(e){}return!1})(c)&&(r.asset=c,r.type="preload"),function(e,t){n.gm.PerformanceObserver?.supportedEntryTypes?.includes("resource")&&f.push({addedAt:(0,i.t)(),test:r=>!!b(r,t)&&(E(e,r),!0)})}(r,c)}const h=r.correlation,m=!!t&&!!h?.claimedBy.has(t);h&&t&&h.claimedBy.add(t);const y=()=>{const e=h?.script.start;if(!m||!e)return!1;return r.registeredAt-e>1e4};let w=0,R=0;p(r).recordManifestScriptWindow=(e,t)=>{e&&(w=w>0?Math.min(w,e):e),t&&(R=R>0?Math.max(R,t):t)},Object.defineProperty(r,"scriptStart",d(()=>{const e=y()?r.registeredAt:h?.script.start??r.fetchEnd;return w>0?Math.min(e,w):e})),Object.defineProperty(r,"scriptEnd",d(()=>{const e=y()?r.registeredAt:h?.script.end??r.registeredAt;return R>0?Math.max(e,R):e}))}catch(e){}return r}},5732(e,t,r){"use strict";r.d(t,{$5:()=>m,B5:()=>g,K6:()=>u,M$:()=>
36o,Ms:()=>d,NG:()=>c,Ux:()=>h,YA:()=>p,yx:()=>l});var n=r(5718),i=r(7560),s=r(9119),a=r(9232);function o(e){return e?.type===a.f.MFE}function c(e,t){if(!y(e,t))return;const r=t.runtime.registeredEntities;return r?.find(t=>t.metadata.target.iframeInterfaceId===e)}function d(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities;return r?.filter(t=>String(t.metadata.target.id)===String(e)).map(e=>e.metadata.target)||[]}function u(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=(0,s.L)(e),a=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!1}):!!t.metadata.timings?.asset&&(0,s.L)(t.metadata.timings.asset)===n});return f(a).map(e=>e.metadata.target)}function l(e,t){if(!y(e,t))return[];const r=t.runtime.registeredEntities,n=r?.filter(t=>{const r=t.metadata.target?.manifest;return r?(0,i.j)(r,e,{scriptsOnly:!0}):!!t.metadata.timings?.asset?.endsWith(e)});return f(n).map(e=>e.metadata.target)}function f(e){if(!e?.length)return e||[];const t=new Map,r=[];for(const n of e){const e=n.metadata?.timings?.asset;if(!e){r.push(n);continue}const i="".concat(e,"::").concat(n.metadata?.target?.id),s=t.get(i);if(s){if(s.metadata.target?.blocked&&!n.metadata.target?.blocked){const e=r.indexOf(s);-1!==e&&(r[e]=n),t.set(i,n)}}else t.set(i,n),r.push(n)}return r}function h(e,t){return v(t)?o(e)?e.attributes:t.agentRef.runtime.v2Target.attributes:{}}function p(e,t){return g(e,t)?{"child.id":e.id,"child.type":e.type,...h(void 0,t)}:{}}function g(e,t){return o(e)&&!!v(t)&&t.agentRef.init.api.register.duplicate_data_to_container}function m(e){if(!e?.runtime)return[];if(!y(!0,e)||!e.runtime.registeredEntities?.length)return[e.runtime.v2Target];const t=[];try{var r=(0,n.AZ)((0,n.QL)());let i=r.length-1;for(;r[i];)t.push(...l(r[i--],e))}catch(e){}const i=function(e){const t=new Set,r=[];for(const n of e){const e=n?.instance;t.has(e)||(t.add(e),r.push(n))}return r}(t);return i.length||i.push(e.runtime.v2Target),i}function v(e){return 2===e?.harvestEndpointVersion}function y(e,t){return!!e&&!!t?.init.api.register.enabled}},5289(e,t,r){"use strict";r.d(t,{GG:()=>a,Qr:()=>c,sB:()=>o});var n=r(3878),i=r(6389);function s(){return"undefined"==typeof document||"complete"===document.readyState}function a(e,t){if(s())return e();const r=(0,i.J)(e),a=setInterval(()=>{s()&&(clearInterval(a),r())},500);(0,n.sp)("load",r,t)}function o(e){if(s())return e();(0,n.DD)("DOMContentLoaded",e)}function c(e){if(s())return e();(0,n.sp)("popstate",e)}},384(e,t,r){"use strict";r.d(t,{Zm:()=>c,bQ:()=>u,dV:()=>d,pV:()=>l});var n=r(6154),i=r(1863),s=r(944),a=r(1910);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function c(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function d(){let e=c();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate||n.gm.setInterval,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},(0,a.i)(...Object.values(e.o))),e}function u(e,t){let r=c();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t,2===Object.keys(r.initializedAgents).length&&(0,s.R)(69)}function l(){return function(){let e=c();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=c();const t=e.init||{};e.init={...t}}(),d(),function(){let e=c();const t=e.loader_config||{};e.loader_config={...t}}(),c()}r.d(t,["NT",0,o])},2843(e,t,r){"use strict";r.d(t,{G:()=>s,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)}function s(e,t,r){(0,n.sp)("pagehide",e,t,r)}},8139(e,t,r){"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),s=r(8990),a=r(6154);const o={},c=a.gm.XMLHttpRequest,d="addEventListener",u="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e,t){var r=function(e){return(e||n.ee).get("events")}(e);if(o[r.debugId]++)return r;o[r.debugId]=1;var f=(0,i.YM)(r,!0,t);function p(e){f.inPlace(e,[d,u],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,p),c&&h(c.prototype,p),h(a.gm,p)),r.on(d+"-start",function(e,t){var r=e[1];if(null!==r&&("function"==typeof r||"object"==typeof r)&&"newrelic"!==e[0]){var n=(0,s.I)(r,l,function(){var e={object:function(){if("function"!=typeof r.handleEvent)return;return r.handleEvent.apply(r,arguments)},function:r}[typeof r];return e?f(e,"fn-",null,e.name||"anonymous"):r});this.wrapped=e[1]=n}}),r.on(u+"-start",function(e){e[1]=this.wrapped||e[1]}),r}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,d);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434(e,t,r){"use strict";r.d(t,{YM:()=>d});var n=r(7836),i=r(5607),s=r(5732);const a="nr@original:".concat(i.W);var o=Object.prototype.hasOwnProperty,c=!1;function d(e,t,r){return e||(e=n.ee),i.inPlace=function(e,t,r,n,s,a){r||(r="");const o="-"===r.charAt(0);for(let c=0;c<t.length;c++){const d=t[c],u=e[d];l(u)||(e[d]=i(u,o?d+r:r,n,d,s,a))}},i.flag=a,i;function i(t,n,i,c,f,h){return l(t)?t:(n||(n=""),nrWrapper[a]=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)o.call(e,n)&&(t[n]=e[n])}
36(t,nrWrapper,e),nrWrapper);function nrWrapper(){var a,o,l,p;let g,m;try{o=this,a=[...arguments],m=h?(0,s.$5)(r):[r?.runtime?.v2Target],l="function"==typeof i?i(a,o):i||{}}catch(t){u([t,"",[a,o,c],l],e)}d(n+"start",[a,o,c,m],l,f);const v=performance.now();let y;try{return p=t.apply(o,a),y=performance.now(),p}catch(e){throw y=performance.now(),d(n+"err",[a,o,e,m],l,f),g=e,g}finally{const e=y-v,t={start:v,end:y,duration:e,isLongTask:e>=50,methodName:c,thrownError:g};t.isLongTask&&d("long-task",[t,o,m],l,f),d(n+"end",[a,o,p,m],l,f)}}}function d(r,n,i,s){if(!c||t){var a=c;c=!0;try{e.emit(r,n,i,t,s)}catch(t){u([t,r,n,i],e)}c=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function l(e){return!(e&&"function"==typeof e&&e.apply&&!e[a])}r.d(t,["Jt",0,a])},9300(e,t,r){"use strict";const n=r(860).K7.ajax;r.d(t,["TZ",0,n,"f5",0,"ajaxRequest.id","mo",0,{NONE:"none",FAILURES:"failures",ALL:"all"}])},3333(e,t,r){"use strict";var n=r(981);const i=r(860).K7.genericEvents,s=[n.R.PA,n.R.UA,n.R.BP];r.d(t,["$v",0,{RESOURCES:"experimental.resources",REGISTER:"register"},"TZ",0,i,"Zp",0,["auxclick","click","copy","keydown","paste","scrollend"],"kd",0,s,"qN",0,["focus","blur"]])},6774(e,t,r){"use strict";const n=r(860).K7.jserrors;r.d(t,["T",0,n])},993(e,t,r){"use strict";const n=r(860).K7.logging;r.d(t,["A$",0,{OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},"TZ",0,n,"p_",0,{ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"}])},3785(e,t,r){"use strict";r.d(t,{R:()=>c,b:()=>d});var n=r(9908),i=r(1863),s=r(860),a=r(3969),o=r(993);function c(e,t,r={},c=o.p_.INFO,d=!0,u,l=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,s.K7.metrics,e),(0,n.p)("log",[l,t,r,c,d,u],void 0,s.K7.logging,e)}function d(e){return"string"==typeof e&&Object.values(o.p_).some(t=>t===e.toUpperCase().trim())}},3969(e,t,r){"use strict";const n=r(860).K7.metrics;r.d(t,["TZ",0,n,"XG",0,"storeEventMetrics","xV",0,"storeSupportabilityMetrics"])},6630(e,t,r){"use strict";const n=r(860).K7.pageViewEvent;r.d(t,["T",0,n])},782(e,t,r){"use strict";const n=r(860).K7.pageViewTiming;r.d(t,["T",0,n])},6344(e,t,r){"use strict";var n=r(2614);const i=r(860).K7.sessionReplay,s={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0}
36;r.d(t,["Qb",0,{API:"api",RESUME:"resume",SWITCH_TO_FULL:"switchToFull",INITIALIZE:"initialize",PRELOAD:"preload"},"TZ",0,i,"Vh",0,"errorDuringReplay","_s",0,{DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},"bc",0,{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"}},"yP",0,s])},5270(e,t,r){"use strict";r.d(t,{Aw:()=>a,SR:()=>s,rF:()=>o});var n=r(384),i=r(7767);function s(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function a(e){return!0===e?.session_replay.preload&&s(e)}function o(e,t){try{if("string"==typeof t?.type&&"password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738(e,t,r){"use strict";const n=r(860).K7.sessionTrace,i="-start",s="-end",a="fn"+i,o="fn"+s;r.d(t,["He",0,"bstResource","Kp",0,s,"Lc",0,o,"Rz",0,"pushState","TZ",0,n,"bD",0,"resource","bc",0,{CROSS_TAB:{message:"Session Entity was set to OFF on another tab"},ENTITLEMENTS:{message:"Session Trace is not allowed and will not be started"},RESET:{message:"Session was reset"},SESSION_CHANGED:{message:"Session identifier changed unexpectedly"}},"d3",0,i,"uP",0,a])},3962(e,t,r){"use strict";const n=r(860).K7.softNav;r.d(t,["O2",0,{INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},"OV",0,"popstate","Qu",0,{INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},"TZ",0,n,"ih",0,{IP:"in progress",PF:"pending finish",FIN:"finished",CAN:"cancelled"},"pP",0,"initialPageLoad","tC",0,["click","keydown","submit"]])},4234(e,t,r){"use strict";r.d(t,{W:()=>i});var n=r(1687);class i{constructor(e,t){this.agentRef=e,this.ee=e?.ee,this.featureName=t,this.blocked=!1}deregisterDrain(){(0,n.x3)(this.agentRef,this.featureName)}}},7767(e,t,r){"use strict";var n=r(6154);r.d(t,["V",0,e=>n.RI&&!0===e?.privacy.cookies_enabled])},8362(e,t,r){"use strict";r.d(t,{d:()=>s});var n=r(9566),i=r(1741);class s extends i.W{agentIdentifier=(0,n.LA)(16)}},1741(e,t,r){"use strict";r.d(t,{W:()=>s});var n=r(944),i=r(4261);class s{#e(e,...t){if(this[e]!==s.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e,t=!1){return this.#e(i.Dl,e,t)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e("log",e,t)}start(){return this.#e("start")}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(e){return this.#e(i.dT,e)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}measure(e,t){return this.#e(i.V1,e,t)}consent(e){return this.#e(i.Pv,e)}}},4261(e,t,r){"use strict";r.d(t,["BL",0,"finished","CH",0,"recordReplay","Dl",0,"setUserId","Fw",0,"setPageViewName","PA",0,"setCurrentRouteName","Pv",0,"consent","Tb",0,"pauseReplay","U2",0,"addToTrace","V1",0,"measure","Wb",0,"wrapLogger","bt",0,"setErrorHandler","cD",0,"setCustomAttribute","dT",0,"interaction","eY",0,"register","fF",0,"recordCustomEvent","hG",0,"addPageAction","hw",0,"api-ixn-","k6",0,"addRelease","nb",0,"setApplicationVersion","o5",0,"noticeError"])},1738(e,t,r){"use strict";r.d(t,{U:()=>l,Y:()=>u});var n=r(3241),i=r(9908),s=r(1863),a=r(944),o=r(3969),c=r(8362),d=r(860);function u(e,t,r,s){const u=s||r;!u||u[e]&&u[e]!==c.d.prototype[e]||(u[e]=function(){(0,i.p)(o.xV,["API/"+e+"/called"],void 0,d.K7.metrics,r.ee),(0,n.W)({drained:!!r.runtime?.activatedFeatures,type:"data",name:"api",feature:"api-"+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,a.R)(23,e)}})}function l(e,t,r,n,a){const o=e.info;null===r?delete o.jsAttributes[t]:o.jsAttributes[t]=r,(a||null===r)&&(0,i.p)("api-"+n,[(0,s.t)(),t,r],void 0,"session",e.ee)}},8374(e,t,r){r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860(e,t,r){"use strict";const n="events",i="jserrors",s="browser/blobs",a="browser/logs",o={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"},c={[o.pageViewEvent]:1,[o.pageViewTiming]:2,[o.metrics]:3,[o.jserrors]:4,[o.softNav]:5,[o.ajax]:6,[o.sessionTrace]:7,[o.sessionReplay]:8,[o.logging]:9,[o.genericEvents]:10},d={[o.pageViewEvent]:"rum",[o.pageViewTiming]:n,[o.ajax]:n,[o.softNav]:n,[o.metrics]:i,[o.jserrors]:i,[o.sessionTrace]:s,[o.sessionReplay]:s,[o.logging]:a,[o.genericEvents]:"ins"};r.d(t,["$J",0,d,"K7",0,o,"P3",0,c,"XX",0,i,"Yy",0,a,"df",0,s,"hg",0,"connect"])}};const t={};function r(n){const i=t[n];if(void 0!==i)return i.exports;const s=t[n]={exports:{}};return e[n](s,s.exports,r),s.exports}r.m=e,r.d=(e,t)=>{if(Array.isArray(t))for(var n=0;n<t.length;){var i=t[n++],s=t[n++];r.o(e,i)?0===s&&n++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[n++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)r.o(t,i)&&!r.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,n)=>(r.f[n](e,t),t),[])),r.u=e=>({212:"nr-spa-compressor",238:"nr-spa-iframe-message-handler",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.322.0.min.js"),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{const e={},t="NRBA-1.322.0.PROD:";r.l=(n,i,s,a)=>
36{if(e[n])return void e[n].push(i);let o,c;if(void 0!==s){const e=document.getElementsByTagName("script");for(var d=0;d<e.length;d++){const r=e[d];if(r.getAttribute("src")==n||r.getAttribute("data-webpack")==t+s){o=r;break}}}if(!o){c=!0;var u={478:"sha512-SARROoir04gFygxlr/+mTI+PyMeFL+epi1vnUA2G5mTQ7s3G44ItQBJKbOaIMdIE5OBzuaKhb4k5JYta0NICxg==",249:"sha512-6DKQo5WP7YlpzX6l9UfYkgGLGK2oITdoaYTcZtgl5Foa22NY63lED/0z1hBBLeD7qZCz/YdlY19/r8drlol1tg==",212:"sha512-CYxuvSpDx6ErqWJwAvpoHn54eY37YdMcFao/axOumlw3BsSL7yioOeB2LWViY/Njs818sQG10dSglUhYCMfLPw==",238:"sha512-mvbMILWa3ohYst+u6TLfNrmtY2swUIB3rbJFN/uzt3W62KhgvUVwB81UEZ1R0/it5bfrQ5EVz864pi/CAmucNQ=="};o=document.createElement("script"),o.charset="utf-8",r.nc&&o.setAttribute("nonce",r.nc),o.setAttribute("data-webpack",t+s),o.src=n,0!==o.src.indexOf(window.location.origin+"/")&&(o.crossOrigin="anonymous"),u[a]&&(o.integrity=u[a])}e[n]=[i];const l=(t,r)=>{o.onerror=o.onload=null,clearTimeout(f);const i=e[n];if(delete e[n],o.parentNode?.removeChild(o),i?.forEach(e=>e(r)),t)return t(r)},f=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),c&&document.head.appendChild(o)}})(),r.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="https://js-agent.newrelic.com/",(()=>{const e={38:0,788:0};r.f.j=(t,n)=>{let i=r.o(e,t)?e[t]:void 0;if(0!==i)if(i)n.push(i[2]);else{const s=new Promise((r,n)=>i=e[t]=[r,n]);n.push(i[2]=s);const a=r.p+r.u(t),o=new Error,c=n=>{if(r.o(e,t)&&(i=e[t],0!==i&&(e[t]=void 0),i)){const e=n&&("load"===n.type?"missing":n.type),r=n&&n.target&&n.target.src;o.message="Loading chunk "+t+" failed: ("+e+": "+r+")",o.name="ChunkLoadError",o.type=e,o.request=r,i[1](o)}};r.l(a,c,"chunk-"+t,t)}};const t=(t,n)=>{let[i,s,a]=n;var o,c,d=0;if(i.some(t=>0!==e[t])){for(o in s)r.o(s,o)&&(r.m[o]=s[o]);if(a)a(r)}for(t&&t(n);d<i.length;d++)c=i[d],r.o(e,c)&&e[c]&&e[c][0](),e[c]=0},n=self["webpackChunk:NRBA-1.322.0.PROD"]=self["webpackChunk:NRBA-1.322.0.PROD"]||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})(),(()=>{"use strict";r(8374);var e=r(8362),t=r(860);const n=Object.values(t.K7);var i=r(384),s=r(1741);var a=r(2555),o=r(3333),c=r(9300);const d=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var u=r(2614),l=r(944),f=r(8122);const h="[data-nr-mask]",p=e=>(0,f.a)(e,(()=>{const e={feature_flags:[],experimental:{register:!1,resources:!1,iframe_bridge:!1,iframe_domains:[]},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,capture_payloads:c.mo.NONE},api:{register:{get enabled(){return e.feature_flags.includes(o.$v.REGISTER)||e.experimental.register},set enabled(t){e.experimental.register=t},duplicate_data_to_container:!1,get allow_iframe_bridge(){return e.feature_flags.includes(o.$v.IFRAME_BRIDGE)||e.experimental.iframe_bridge},set allow_iframe_bridge(t){e.experimental.iframe_bridge=t},get iframe_domains(){return e.experimental.iframe_domains},set iframe_domains(t){Array.isArray(t)?e.experimental.iframe_domains=t:(0,l.R)(1,t)}}},browser_consent_mode:{enabled:!1},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},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:{capture_marks:!1,capture_measures:!1,capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(o.$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:u.wk,inactiveMs:u.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inl
36ine_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){d(t)?e.mask_selector="".concat(t,",").concat(h):""===t||null===t?e.mask_selector=h:(0,l.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){d(t)?e.block_selector+=",".concat(t):""!==t&&(0,l.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,l.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]},web_sockets:{enabled:!1}}})());var g=r(6154),m=r(9324);let v=0;const y={buildEnv:"PROD",distMethod:"CDN",version:m.x,originTime:g.WN},b={consented:!1},E={activatedFeatures:void 0,appMetadata:{},configured:!1,get consented(){return this.session?.state?.consent||b.consented},set consented(e){b.consented=e},customTransaction:void 0,denyList:[],disabled:!1,drainRegistry:new Map,connector:void 0,harvester:void 0,v2Target:void 0,isolatedBacklog:!1,isRecording:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,registeredEntities:[],jsAttributesMetadata:{bytes:0},get harvestCount(){return++v},listeningForIframeMessages:!1};var w=r(9232);var R=r(7836),T=r(3241);const A={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0};var S=r(9908),x=r(9752);function O(e,t={},n,o){let{init:c,info:d,loader_config:u,runtime:l={},exposed:h=!0}=t;if(!d){const e=(0,i.pV)();c=e.init,d=e.info,u=e.loader_config}var m;e.init=p(c||{}),e.loader_config=(m=u||{},(0,f.a)(m,A)),d.jsAttributes??={},g.bv&&(d.jsAttributes.isWorker=!0),e.info=(0,a.D)(d);const v=e.init;e.runtime??=(e=>{const t=(0,f.a)(e,E),r=Object.keys(y).reduce((e,t)=>(e[t]={value:y[t],writable:!1,configurable:!0,enumerable:!0},e),{});return Object.defineProperties(t,r)})(l),e.runtime.v2Target??={type:w.f.BA,instance:e.agentIdentifier,get id(){return e.runtime.appMetadata?.agents?.[0]?.entityGuid},get attributes(){return{"entity.guid":this.id,appId:e.info.applicationID}}},v.proxy.assets&&(e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e})(v.proxy.assets),e.runtime.configured||(Object.defineProperty(e,"beacons",{get:()=>[e.info.beacon,e.info.errorBeacon,e.init.proxy.assets,e.init.proxy.beacon].filter(Boolean)}),Object.defineProperty(e.runtime,"denyList",{get:()=>[...e.init.ajax.deny_list||[],...e.init.ajax.block_internal?e.beacons:[]]}),e.runtime.ptid=e.agentIdentifier,function(e){const t=(0,i.pV)();Object.getOwnPropertyNames(s.W.prototype).forEach(r=>{const n=s.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let i=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return i?i(...t):n})})}(e),e.runtime.loaderType=n,e.ee=R.ee.get(e.agentIdentifier),e.exposed=h,(0,T.W)({drained:!!e.runtime.activatedFeatures,type:"lifecycle",name:"initialize",feature:void 0,data:e.config}),e.init.api.register.allow_iframe_bridge&&g.gm.addEventListener("message",t=>{"string"==typeof t.data?.type&&t.data.type.startsWith(x.Pl)&&(0,S.p)("iframe-message",[t],void 0,"IFRAME",e.ee)}),e.runtime.configured=!0)}var _=r(1863),k=r(4261),N=r(1738);var L=r(1687),M=r(4234),P=r(5289),I=r(5270),j=r(7767),C=r(6389),D=r(7699);const B=new WeakSet,H=new WeakMap;class W extends M.W{constructor(e,t){super(e,t),this.abortHandler=void 0,this.featAggregate=void 0,this.loadedSuccessfully=void 0,this.onAggregateImported=new Promise(e=>{this.loadedSuccessfully=e}),this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise((t,r)=>{this.ee.on("manual-start-all",(0,C.J)(()=>{(0,L.Ak)(e,this.featureName),t()}))}):(0,L.Ak)(e,t)}importAggregator(e,t,n={}){if(this.featAggregate)return;const i=async()=>{if(await this.deferred,this.#t(e),!(0,a.f)(e.info))return(0,l.R)(43),e.ee.abort(),void this.loadedSuccessfully(!1);try{await async function(e,t,n){if(H.has(e))return H.get(e);const i=(async()=>
36{if((0,j.V)(e.init))try{const{setupAgentSession:t}=await r.e(478).then(r.bind(r,8766));t(e)}catch(e){(0,l.R)(20,e),t.emit("internal-error",[e]),(0,S.p)(D.qh,[e],void 0,n,t)}if(e.init.api.register.allow_iframe_bridge)try{const{setupIframeMFEMessageListener:t}=await r.e(238).then(r.bind(r,6417));t(e)}catch(e){(0,l.R)(23,e)}const[{Connector:i},{Harvester:s}]=await Promise.all([r.e(478).then(r.bind(r,6589)),r.e(478).then(r.bind(r,5237))]);e.runtime.connector=new i(e),e.runtime.harvester=new s(e);const a=Object.values(e.features).filter(t=>e.runtime.drainRegistry.has(t.featureName));Promise.all(a.map(e=>e.onAggregateImported)).then(()=>e.runtime.harvester.startTimer())})();H.set(e,i),await i}(e,this.ee,this.featureName)}catch(e){return(0,l.R)(79,e),this.ee.abort(),void this.loadedSuccessfully(!1)}try{if(!this.#r(this.featureName,e.runtime.session,e.init))return this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName),void this.loadedSuccessfully(!1);const{Aggregate:r}=await t();this.featAggregate=new r(e,n),e.runtime.harvester.initializedAggregates.push(this.featAggregate),this.loadedSuccessfully(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,L.Ze)(this.agentRef,this.featureName,!0),this.loadedSuccessfully(!1)}};g.RI?(0,P.GG)(()=>i(),!0):i()}#r(e,r,n){if(this.blocked)return!1;switch(e){case t.K7.sessionReplay:return(0,I.SR)(n)&&!!r;case t.K7.sessionTrace:return!!r;default:return!0}}#t(e){if(!B.has(e)&&(B.add(e),!(0,a.f)(e.info))){const t=(0,i.pV)();let r={...t.info?.jsAttributes};try{r={...r,...e.info?.jsAttributes}}catch(e){}O(e,{...t,info:{...t.info,jsAttributes:r},runtime:e.runtime},e.runtime.loaderType)}}}var U=r(6630);class K extends W{static featureName=U.T;constructor(e){var t;super(e,U.T),this.setupInspectionEvents(),t=e,(0,N.Y)(k.Fw,function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,S.p)("api-"+k.Fw,[(0,_.t)()],void 0,void 0,t.ee))},t),this.importAggregator(e,()=>e.init.feature_flags.includes("rum_v2")?r.e(478).then(r.bind(r,908)):r.e(478).then(r.bind(r,7927)))}setupInspectionEvents(){const e=(e,t)=>{e&&(0,T.W)({timeStamp:e.timeStamp,loaded:"complete"===e.target.readyState,type:"window",name:t,data:e.target.location+""})};(0,P.sB)(t=>{e(t,"DOMContentLoaded")}),(0,P.GG)(t=>{e(t,"load")}),(0,P.Qr)(t=>{e(t,"navigate")}),this.ee.on(u.tS.UPDATE,(e,t)=>{(0,T.W)({type:"lifecycle",name:"session",data:t})})}}class F extends e.d{constructor(e){var t;(super(),g.gm)?(this.features={},(0,i.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(K),O(this,e,e.loaderType||"agent"),t=this,(0,N.Y)(k.cD,function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return(0,N.U)(t,e,r,k.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)},t),function(e){(0,N.Y)(k.Dl,function(t,r=!1){if("string"!=typeof t&&null!==t)return void(0,l.R)(41,typeof t);const n=e.info.jsAttributes["enduser.id"];r&&null!=n&&n!==t?(0,S.p)("api-setUserIdAndResetSession",[t],void 0,"session",e.ee):(0,N.U)(e,"enduser.id",t,k.Dl,!0)},e)}(this),function(e){(0,N.Y)(k.nb,function(t){if("string"==typeof t||null===t)return(0,N.U)(e,"application.version",t,k.nb,!1);(0,l.R)(42,typeof t)},e)}(this),function(e){(0,N.Y)("start",function(){e.ee.emit("manual-start-all")},e)}(this),function(e){(0,N.Y)(k.Pv,function(t=!0){if("boolean"==typeof t){if((0,S.p)("api-"+k.Pv,[t],void 0,"session",e.ee),e.runtime.consented=t,t){const t=e.features.page_view_event;t.onAggregateImported.then(e=>{const r=t.featAggregate;e&&!r.sentRum&&r.sendRum?.()})}}else(0,l.R)(65,typeof t)},e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return n.forEach(r=>{t[r]=!!e[r]?.enabled}),t}(this.init),r=[...this.desiredFeatures],i=this.init.feature_flags.includes("rum_v2");r.sort((e,r)=>t.P3[e.featureName]-t.P3[r.featureName]),r.forEach(r=>{if(!e[r.featureName]&&(i||r.featureName!==t.K7.pageViewEvent))return;const n=function(e){switch(e){case t.K7.ajax:return[t.K7.jserrors];case t.K7.sessionTrace:return[t.K7.ajax,t.K7.pageViewEvent];case t.K7.sessionReplay:return[t.K7.sessionTrace];case t.K7.pageViewTiming:return[t.K7.pageViewEvent];default:return[]}}(r.featureName).filter(e=>!(e in this.features));n.length>0&&(0,l.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)})}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,i.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}var V=r(2843),z=r(782);class G extends W{static featureName=z.T;constructor(e){super(e,z.T),g.RI&&((0,V.u)(()=>(0,S.p)("docHidden",[(0,_.t)()],void 0,z.T,this.ee),!0),(0,V.G)(()=>(0,S.p)("winPagehide",[(0,_.t)()],void 0,z.T,this.ee)),this.importAggregator(e,()=>r.e(478).then(r.bind(r,9917))))}}var q=r(3969);class Y extends W{static featureName=q.TZ;constructor(e){super(e,q.TZ),this.importAggregator(e,()=>r.e(478).then(r.bind(r,6555)))}}var Z=r(6774),J=r(3878),X=r(3304);class Q{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,X.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function ee(e){return ne(e)?e:new Q(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic,e?.cause)}function te(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(ne(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return ee(e.reason)}const r=ee(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function re(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new Q(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic,e.cause);return t.name=SyntaxError.name,t}return ne(e.error)?e.error:ee(e)}function ne(e){return e instanceof Error&&!!e.stack}function ie(e,r,n,i,s=(0,_.t)()){"string"==typeof e&&(e=new Error(e)),(0,S.p)("err",[e,s,!1,r,n.runtime.isRecording,void 0,i],void 0,t.K7.jserrors,n.ee),(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,n.ee)}var se=r(993),ae=r(3785);function oe(e,{customAttributes:t={},level:r=se.p_.INFO}={},n,i,s=(0,_.t)()){(0,ae.R)(n.ee,e,t,r,!1,i,s)}function ce(e,r,n,i,s=(0,_.t)()){(0,S.p)("api-"+k.hG,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}function de(e,r,n,i,s=(0,_.t)()){const{start:a,end:o,customAttributes:c}=r||{},d={customAttributes:c||{}};if("object"!=typeof d.customAttributes||"string"!=typeof e||0===e.length)return void(0,l.R)(57);const u=(e,t)=>
36null==e?t:"number"==typeof e?e:e instanceof PerformanceMark?e.startTime:Number.NaN;if(d.start=u(a,0),d.end=u(o,s),Number.isNaN(d.start)||Number.isNaN(d.end))(0,l.R)(57);else{if(d.duration=d.end-d.start,!(d.duration<0))return(0,S.p)("api-"+k.V1,[d,e,i],void 0,t.K7.genericEvents,n.ee),d;(0,l.R)(58)}}function ue(e,r={},n,i,s=(0,_.t)()){(0,S.p)("api-"+k.fF,[s,e,r,i],void 0,t.K7.genericEvents,n.ee)}var le=r(5718);const fe=(e,t)=>e?.nrMfeId===t.id&&(!e?.nrMfeObserved||e?.nrMfeObserved===t.instance),he=e=>{try{return g.gm.CSS.escape(e)}catch(t){return e}},pe=(e,t={})=>{const r=t.id,n=t.instance;if(!e||!r||!n)return!1;try{let r=1===e.nodeType?e:e.parentElement;for(;r?.tagName;){if(fe(r.dataset,t))return r.dataset.nrMfeObserved=n,!0;r=r.parentNode}}catch(e){}return!1},ge=(e,t)=>{const r=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]')),n=(Array.from(r)||[]).find(t=>fe(t.dataset,e));let i=!!n;i&&(n.dataset.nrMfeObserved??=e.instance);const s=new g.gm.MutationObserver(r=>{r.forEach(r=>{r.addedNodes.forEach(r=>{const n=1===r.nodeType?r:null;!i&&fe(n?.dataset,e)&&(s.disconnect(),s.observe(n,{childList:!0,subtree:!0}),i=!0,n.dataset.nrMfeObserved=e.instance),(e=>{try{return e?.textContent?.trim()||["img","video","canvas","svg"].includes(e?.nodeName?.toLowerCase())}catch(e){return!1}})(r)&&(i||pe(r,e))&&t(r,s)})})});return s.observe(n||g.gm.document,{childList:!0,subtree:!0}),s},me=(e,t,r)=>{try{const n=new g.gm.PerformanceObserver(e=>{e.getEntries().forEach(r)});return n.observe(t),e.push(n),n}catch(e){return null}};function ve(e,t){let r,n,i=!1;const s=e=>null==e?e:e-(t?.scriptStart||t?.registeredAt||0),a={fcp:{get value(){const e=s(r);return e>1e4?void 0:e},set value(e){i||(r=e)}},lcp:{get value(){if(void 0!==a.fcp.value)return s(n)},set value(e){i||(n=e)}},cls:{value:void 0},inp:{value:void 0},disconnect:()=>{}};if(!(e&&g.RI&&g.gm.MutationObserver&&g.gm.PerformanceObserver))return a;const o=[];setTimeout(()=>{r||a.disconnect()},1e4);const c=()=>{if(!i){if(null==r){const e=(0,_.t)();if(s(e)>1e4)return void a.disconnect();r=e}n??=(0,_.t)(),a.cls.value??=0}},d=ge(e,(e,t)=>{c(),t.disconnect()});o.push(d);let u=0,l=null;const f=new Set;try{l=new g.gm.ResizeObserver(e=>{i||e.forEach(e=>{try{const t=e.contentRect.width*e.contentRect.height;t>u&&(u=t,a.lcp.value=(0,_.t)()),l.unobserve(e.target)}catch(e){}})})}catch(e){}const h=ge(e,e=>{if(c(),l)try{const t=1===e.nodeType?e:e.parentElement;t&&!f.has(t)&&(f.add(t),"IMG"===t.tagName?t.complete?l.observe(t):t.addEventListener("load",()=>{l.observe(t)},{once:!0}):"VIDEO"===t.tagName?t.readyState>=2?l.observe(t):t.addEventListener("loadeddata",()=>{l.observe(t)},{once:!0}):l.observe(t))}catch(e){}});l&&o.push(l),o.push(h),me(o,{type:"layout-shift",buffered:!0},t=>{i||t.hadRecentInput||(t.sources||[]).some(r=>!!pe(r.node,e)&&(c(),a.cls.value+=t.value,!0))}),me(o,{type:"event",buffered:!0,durationThreshold:40},t=>{!i&&t.interactionId&&pe(t.target,e)&&(void 0===a.inp.value||t.duration>a.inp.value)&&(c(),a.inp.value=t.duration)});const p=["pointerdown","keydown"],m=()=>{p.forEach(e=>{g.gm.removeEventListener(e,v,{passive:!0})})};a.disconnect=()=>{i=!0,o.forEach(e=>{try{e?.disconnect()}catch(e){}}),m(),["visibilitychange","pagehide"].forEach(e=>{g.gm.removeEventListener(e,a.disconnect,{once:!0,passive:!0})})};const v=t=>{pe(t?.target,e)&&((()=>{try{h?.disconnect(),l?.disconnect()}catch(e){}})(),m())};p.forEach(e=>{g.gm.addEventListener(e,v,{passive:!0})}),["visibilitychange","pagehide"].forEach(e=>{g.gm.addEventListener(e,a.disconnect,{once:!0,passive:!0})});const y=g.gm.document?.querySelectorAll('[data-nr-mfe-id="'.concat(he(e.id),'"]'));return Array.from(y||[]).some(t=>fe(t.dataset,e))&&c(),a}var ye=r(9566),be=r(7560),Ee=r(9119);const we=["entry","scripts","all"],Re=["name","id","type"],Te=new Map([[ce,"addPageAction"],[oe,"log"],[de,"measure"],[ie,"noticeError"],[ue,"recordCustomEvent"]]),Ae={experimental:(0,C.J)(()=>(0,l.R)(54,"newrelic.register")),disabled:(0,C.J)(()=>(0,l.R)(55)),invalidTarget:(0,C.J)(e=>(0,l.R)(48,e)),deregistered:(0,C.J)(()=>(0,l.R)(68)),invalidTimingMethod:(0,C.J)(e=>(0,l.R)(80,e)),duplicateName:(0,C.J)(e=>(0,l.R)(81,e)),duplicateId:(0,C.J)(e=>(0,l.R)(82,e))};function Se(e){(0,N.Y)(k.eY,function(t){return xe(e,t)},e)}function xe(e,r){Ae.experimental(),r||={},r.instance=(0,ye.LA)(8),r.type=w.f.MFE,r.licenseKey||=e.info.licenseKey,r.blocked=!1,("object"!=typeof r.tags||null===r.tags||Array.isArray(r.tags))&&(r.tags={}),r.parent??={get id(){return e.runtime.appMetadata.agents?.[0].entityGuid},type:w.f.BA},r.manifest=(0,be.N)(r.manifest),void 0===r.timingMethod||we.includes(r.timingMethod)||(Ae.invali
36dTimingMethod(r.timingMethod),r.timingMethod=void 0);const n=(0,le.Qr)(r);r.manifest&&(0,le.xo)(n,r);const i=ve(r,n),s=(0,Ee.L)(""+location),a={};Object.prototype.hasOwnProperty.call(r,"attributes")||Object.defineProperty(r,"attributes",{get:()=>({...a,"source.id":r.id,"source.name":r.name,"source.type":r.type,"parent.type":r.parent?.type||w.f.BA,"parent.id":r.parent?.id})}),Object.entries(r.tags).forEach(([e,t])=>{Re.includes(e)||(a["source.".concat(e)]=t)});let o=()=>{};const c=e.runtime.registeredEntities,d=e=>{r.blocked=!0,o=e};function u(e){return"string"==typeof e&&!!e.trim()&&e.trim().length<501}e.init.api.register.enabled||d(Ae.disabled),u(r.id)&&u(r.name)||d(()=>Ae.invalidTarget(r)),c.forEach(e=>{try{const{name:t,id:n}=e.metadata.target;t===r.name&&n!==r.id&&Ae.duplicateName(r),n===r.id&&t!==r.name&&Ae.duplicateId(r)}catch(e){}});const f={addPageAction:(t,n={})=>m(ce,[t,{...a,...n},e],r),deregister:()=>{p(),d(Ae.deregistered)},log:(t,n={})=>m(oe,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),measure:(t,n={})=>m(de,[t,{...n,customAttributes:{...a,...n.customAttributes||{}}},e],r),noticeError:(t,n={})=>m(ie,[t,{...a,...n},e],r),recordCustomEvent:(t,n={})=>m(ue,[t,{...a,...n},e],r),setApplicationVersion:e=>g("application.version",e),setCustomAttribute:(e,t)=>g(e,t),setUserId:e=>g("enduser.id",e),metadata:{get customAttributes(){return a},target:r,timings:n,vitals:i,events:{latestTimestamp:void 0}}},h=()=>(r.blocked&&o(),r.blocked);function p(){if(n.reportedAt)return;n.reportedAt=(0,_.t)(),i.disconnect(),n.fcp=i.fcp,n.lcp=i.lcp,n.cls=i.cls,n.inp=i.inp;const e=n.fetchEnd-n.fetchStart,t=n.scriptEnd-n.scriptStart,r={assetUrl:n.asset,assetType:n.type,registerUrl:s,deregisterUrl:(0,Ee.L)(""+location),pageUrl:void 0,currentUrl:void 0,timeAlive:n.reportedAt-n.registeredAt,timeToBeRequested:n.fetchStart,timeToExecute:t,timeToFetch:e,timeToLoad:e+t,t
36imeToRegister:n.registeredAt,totalWeight:n.totalWeight,...void 0!==n.renderBlocking&&{renderBlocking:n.renderBlocking},...i.fcp.value>=0&&{"vitals.fcp.value":i.fcp.value},...i.lcp.value>=0&&{"vitals.lcp.value":i.lcp.value},...i.cls.value>=0&&{"vitals.cls.value":i.cls.value},...i.inp.value>=0&&{"vitals.inp.value":i.inp.value}};f.recordCustomEvent("MicroFrontEndTiming",r)}h()||(c.push(f),(0,V.G)(p));const g=(e,t)=>{h()||(a[e]=t)},m=(r,n,i)=>{if(h()&&r!==xe)return;const s=f.metadata.events.latestTimestamp??(0,_.t)();f.metadata.events.latestTimestamp=void 0;const a=Te.get(r)||"unknown";(0,S.p)(q.xV,["API/register/".concat(a,"/called")],void 0,t.K7.metrics,e.ee);try{return r(...n,i,s)}catch(e){(0,l.R)(50,e)}};return f}class Oe extends W{static featureName=Z.T;constructor(e){var t;super(e,Z.T),t=e,(0,N.Y)(k.o5,(e,r)=>ie(e,r,t),t),function(e){(0,N.Y)(k.bt,function(t){e.runtime.onerror=t},e)}(e),function(e){let t=0;(0,N.Y)(k.k6,function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))},e)}(e),Se(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",(t,r)=>{this.abortHandler&&(0,S.p)("ierr",[ee(t),(0,_.t)(),!0,{},e.runtime.isRecording,r],void 0,this.featureName,this.ee)}),g.gm.addEventListener("unhandledrejection",t=>{this.abortHandler&&(0,S.p)("err",[te(t),(0,_.t)(),!1,{unhandledPromiseRejection:1},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",t=>{this.abortHandler&&(0,S.p)("err",[re(t),(0,_.t)(),!1,{},e.runtime.isRecording],void 0,this.featureName,this.ee)},(0,J.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,()=>r.e(478).then(r.bind(r,9377)))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var _e=r(8990);let ke=1;function Ne(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,_e.I)(e,"nr@id",function(){return ke++})}function Le(e){if("string"==typeof e)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,X.A)(e).length}catch(e){return}}}var Me=r(8139),Pe=r(3434),Ie=r(5732);const je={},Ce=["open","send","setRequestHeader"];function De(e,t){var r=e||R.ee;const n=function(e){return(e||R.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(je[n.debugId]++)return n;je[n.debugId]=1,(0,Me.u)(r,t);var i=(0,Pe.YM)(n,void 0,t),s=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,o=g.gm.Promise,c=g.gm.setInterval,d="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],f=[],h=g.gm.XMLHttpRequest=function(e){const r=new s(e),a=n.context(r);a.targets=(0,Ie.$5)(t);try{n.emit("new-xhr",[r],a),r.addEventListener(d,(o=a,function(){var e=this;e.readyState>3&&!o.resolved&&(o.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,u,"fn-",E)}),(0,J.jT)(!1))}catch(e){(0,l.R)(15,e);try{n.emit("internal-error",[e])}catch(e){}}var o;return r};function p(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(s,h),h.prototype=s.prototype,i.inPlace(h.prototype,Ce,"-xhr-",E),n.on("send-xhr-start",function(e,t){p(e,t),function(e){f.push(e),a&&(m?m.then(b):c?c(b):(v=-v,y.data=v))}(t)}),n.on("open-xhr-start",p),a){var m=o&&o.resolve();if(!c&&!o){var v=1,y=document.createTextNode(v);new a(b).observe(y,{characterData:!0})}}else r.on("fn-end",function(e){e[0]&&e[0].type===d||b()});function b(){for(var e=0;e<f.length;e++)p(0,f[e]);f.length&&(f=[])}function E(e,t){return t}return n}var Be="fetch-",He=Be+"body-",We=["arrayBuffer","blob","json","text","formData"],Ue=g.gm.Request,Ke=g.gm.Response,Fe="prototype";const Ve={};function ze(e,t){const r=function(e){return(e||R.ee).get("fetch")}(e);if(!(Ue&&Ke&&g.gm.fetch))return r;if(Ve[r.debugId]++)return r;function n(e,n,i){var s=e[n];"function"==typeof s&&(e[n]=function(){var e=[...arguments];const n={},a=(0,Ie.$5)(t);var o;r.emit(i+"before-start",[e],n),n[R.P]&&n[R.P].dt&&(o=n[R.P].dt);var c=s.apply(this,e);return r.emit(i+"start",[e,o],c),c.then(function(e){return r.emit(i+"end",[null,e,a],c),e},function(e){throw r.emit(i+"end",[e,void 0,a],c),e})})}
36return Ve[r.debugId]=1,We.forEach(e=>{n(Ue[Fe],e,He),n(Ke[Fe],e,He)}),n(g.gm,"fetch",Be),r.on(Be+"end",function(e,n,i){var s=this;if(s.targets=i||[t.runtime.v2Target],n){var a=n.headers.get("content-length");null!==a&&(s.rxSize=a),r.emit(Be+"done",[null,n],s)}else r.emit(Be+"done",[e],s)}),r}var Ge=r(7485);class qe{constructor(e){this.agentRef=e}generateTracePayload(e){const t=this.agentRef.loader_config;if(!this.shouldGenerateTrace(e)||!t)return null;var r=(t.accountID||"").toString()||null,n=(t.agentID||"").toString()||null,i=(t.trustKey||"").toString()||null;if(!r||!n)return null;var s=(0,ye.ZF)(),a=(0,ye.el)(),o=Date.now(),c={spanId:s,traceId:a,timestamp:o};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(c.traceContextParentHeader=this.generateTraceContextParentHeader(s,a),c.traceContextStateHeader=this.generateTraceContextStateHeader(s,o,r,n,i)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(c.newrelicHeader=this.generateTraceHeader(s,a,o,r,n,i)),c}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,s){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return s&&n!==s&&(a.d.tk=s),btoa((0,X.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing?.enabled&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,Ge.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var Ye=r(7295);function Ze(e){return"string"==typeof e?e:e instanceof(0,i.dV)().o.REQ?e.url:g.gm?.URL&&e instanceof URL?e.href:void 0}function $e(e,t){var r=(0,Ge.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}var Je=["load","error","abort","timeout"],Xe=Je.length,Qe=(0,i.dV)().o.REQ,et=(0,i.dV)().o.XHR;const tt="X-NewRelic-App-Data",rt="internal-error";class nt extends W{static featureName=c.TZ;constructor(e){super(e,c.TZ),this.dt=new qe(e),this.handler=(e,t,r,n)=>(0,S.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach(r=>{if(r.initiatorType in e&&0!==r.responseStatus){const n={status:r.responseStatus},i={rxSize:r.transferSize,duration:Math.floor(r.duration),cbTime:0};$e(n,r.name),this.handler("xhr",[n,i,r.startTime,r.responseEnd,e[r.initiatorType]],void 0,t.K7.ajax)}})}catch(e){}ze(this.ee,e),De(this.ee,e),function(e,r,n,i){const s=[c.mo.ALL,c.mo.FAILURES].includes(e.init.ajax?.capture_payloads);function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},t.latestLongtaskEnd=0,e.addEventListener("load",function(r){O(t,e)},(0,J.jT)(!1)),g.lR||e.addEventListener("progress",function(e){t.lastSize=e.loaded},(0,J.jT)(!1))}function o(e){this.params={method:e[0]},$e(this,e[1]),this.metrics={}}function d(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var s=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),s=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),s=!0),s&&(this.dt=n)}}function u(e,t){s&&e.length>=2&&(this.requestHeaders??={},this.requestHeaders[e[0].toLowerCase()]=e[1])}function l(e,t){var n=this.metrics,i=e[0],s=this;if(n&&i){var a=Le(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.requestBody=i,this.listener=function(e){try{"abort"!==e.type||s.loadCaptureCalled||(s.params.aborted=!0),("load"
36!==e.type||s.called===s.totalCbs&&(s.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof s.end)&&s.end(t)}catch(e){try{r.emit(rt,[e])}catch(e){}}};for(var o=0;o<Xe;o++)t.addEventListener(Je[o],this.listener,(0,J.jT)(!1))}function f(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 h(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+Ne(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function m(){this.endTime=(0,_.t)()}function v(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-added",[e[1],e[2]],t)}function y(e,t){t instanceof et&&"load"===e[0]&&r.emit("xhr-load-removed",[e[1],e[2]],t)}function b(e,t,r){t instanceof et&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function E(e,t){this.xhrCbStart&&r.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,t],t)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.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,Ge.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)o(e[0].headers,n)&&(this.dt=n);else{var s={};for(var a in r)s[a]=r[a];s.headers=new Headers(r.headers||{}),o(s.headers,n)&&(this.dt=n),e.length>1?e[1]=s:e.push(s)}}function o(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 R(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t;let[r,n={}]=e;$e(this,Ze(r));const i=(""+(r&&r instanceof Qe&&r.method||n.method||"GET")).toUpperCase();this.params.method=i,this.txSize=Le(n.body||r?.body)||0;try{var a=n.headers||r?.headers;if(s&&a)if(this.requestHeaders??={},a instanceof Headers)a.forEach(function(e,t){this.requestHeaders[t.toLowerCase()]=e}.bind(this));else if("object"==typeof a)for(var o in a)this.requestHeaders[o.toLowerCase()]=a[o]}catch(e){}this.requestBody=n.body||r?.body}function T(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,Ye.iW)(this.params))return;this.params.status=t?t.status:0;const n=()=>{const e=+this.rxSize,t=null==this.rxSize||isNaN(e)?void 0:e,r={txSize:this.txSize,rxSize:t,duration:this.endTime-this.startTime},n=[this.params,r,this.startTime,this.endTime,"fetch"];this.targets.forEach(e=>x(n,this,e))};t&&s?t.clone().text().then(e=>{this.responseBody=e,this.rxSize&&"0"!==this.rxSize&&0!==this.rxSize||void 0===e||0===this.params.status||(this.rxSize=Le(e)),t?.headers&&(this.responseHeaders={},t.headers.forEach(function(e,t){this.responseHeaders[t.toLowerCase()]=e}.bind(this)))}).catch(e=>{r.emit(rt,[e])}).finally(()=>{n()}):n()}function A(e){const t=this.params,n=this.metrics;if(this.ended)return;this.ended=!0;for(let t=0;t<Xe;t++)e.removeEventListener(Je[t],this.listener,!1);if(t.aborted)return;if((0,Ye.iW)(t))return;if(n.duration=this.endTime-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):O(this,e),n.cbTime=this.cbTime,s){try{this.responseBody=e.responseText}catch(t){this.responseBody=e.response}if((!n.rxSize||0===n.rxSize)&&void 0!==this.responseBody&&0!==t.status){const e=Le(this.responseBody);void 0!==e&&(n.rxSize=e)}try{this.responseHeaders=function(e){const t={};return e?(e.split("\r\n").forEach(function(e){const r=e.indexOf(": ");if(r>0){const n=e.substring(0,r),i=e.substring(r+2);t[n.toLowerCase()]=i}}),t):t}(e.getAllResponseHeaders())}catch(e){r.emit(rt,[e])}}const i=[t,n,this.startTime,this.endTime,"xhr"];this.targets.forEach(e=>x(i,this,e))}function x(e,r,i){n("xhr",[...e,i],r,t.K7.ajax)}function O(e,n){e.params.status=n.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Le(e.response):"text"===r||""===r||void 0===r?Le(e.responseText):void 0}(n,e.lastSize);if(void 0!==i&&0!==n.status&&(e.metrics.rxSize=i),e.sameOrigin&&n.getAllResponseHeaders().indexOf(tt)>=0){var s=n.getResponseHeader(tt);s&&((0,S.p)("sm",["Ajax/CrossApplicationTracing/Header/Seen"],void 0,t.K7.metrics,r),e.params.cat=s.split(", ").pop())}e.loadCaptureCalled=!0}r.on("new-xhr",a),r.on("open-xhr-start",o),r.on("open-xhr-end",d),r.on("send-xhr-start",l),r.on("setRequestHeader-xhr-start",u),r.on("xhr-cb-time",f),r.on("xhr-load-added",h),r.on("xhr-load-removed",p),r.on("xhr-resolved",m),r.on("addEventListener-end",v),r.on("removeEventListener-end",y),r.on("fn-end",E),r.on("fetch-before-start",w),r.on("fetch-start",R),r.on("fn-start",b),r.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,()=>r.e(478).then(r.bind(r,3845)))}}const it={},st=["pushState","replaceState"];function at(e,t){const r=function(e){return(e||R.ee).get("history")}(e);return!g.RI||it[r.debugId]++||(it[r.debugId]=1,(0,Pe.YM)(r,void 0,t).inPlace(window.history,st,"-")),r}var ot=r(3738);function ct(e){(0,N.Y)(k.BL,function(r=Date.now()){const n=r-g.WN;n<0&&(0,l.R)(62,r),(0,S.p)(q.XG,[k.BL,{time:n}],void 0,t.K7.metrics,e.ee),e.addToTrace({name:k.BL,start:r,origin:"nr"}),(0,S.p)("api-"+k.hG,[n,k.BL],void 0,t.K7.genericEvents,e.ee)},e)}const{He:dt,bD:ut,d3:lt,Kp:ft,TZ:ht,Lc:pt,uP:gt,Rz:mt}=ot;class vt extends W{static featureName=ht;constructor(e){var n;super(e,ht),n=e,(0,N.Y)(k.U2,function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-g.WN,e:(e.end||e.start)-g.WN,o:e.origin||"",t:"api"};r.s<0||r.e<0||r.e<r.s?(0,l.R)(61,{start:r.s,end:r.e}):(0,S.p)("bstApi",[r],void 0,t.K7.sessionTrace,n.ee)},n),ct(e);
36if(!(0,j.V)(e.init))return void this.deregisterDrain();const i=this.ee;let s;at(i,e),this.eventsEE=(0,Me.u)(i,e),this.eventsEE.on(gt,function(e,t){this.bstStart=(0,_.t)()}),this.eventsEE.on(pt,function(e,r){(0,S.p)("bst",[e[0],r,this.bstStart,(0,_.t)()],void 0,t.K7.sessionTrace,i)}),i.on(mt+lt,function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash}),i.on(mt+ft,function(e){(0,S.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,t.K7.sessionTrace,i)});try{s=new PerformanceObserver(e=>{const r=e.getEntries();(0,S.p)(dt,[r],void 0,t.K7.sessionTrace,i)}),s.observe({type:ut,buffered:!0})}catch(e){}this.importAggregator(e,()=>r.e(478).then(r.bind(r,6974)),{resourceObserver:s})}}var yt=r(733),bt=r(6344);class Et extends W{static featureName=bt.TZ;#i;recorder;constructor(e){var n;let i;super(e,bt.TZ),n=e,(0,N.Y)(k.CH,function(){(0,S.p)(k.CH,[],void 0,t.K7.sessionReplay,n.ee)},n),function(e){(0,N.Y)(k.Tb,function(){(0,S.p)(k.Tb,[],void 0,t.K7.sessionReplay,e.ee)},e)}(e);const s="".concat(u.Wt).concat((0,yt.Y)(e.info.licenseKey,e.info.applicationID));try{i=JSON.parse(localStorage.getItem(s))}catch(e){}(0,I.SR)(e.init)&&this.ee.on(k.CH,()=>this.#s()),this.#a(i)&&this.importRecorder().then(e=>{e.startRecording(bt.Qb.PRELOAD,i?.sessionReplayMode)}),this.abortHandler=this.#n,this.importAggregator(this.agentRef,()=>r.e(478).then(r.bind(r,6167)),this),this.ee.on("err",e=>{this.blocked||this.agentRef.runtime.isRecording&&(this.errorNoticed=!0,(0,S.p)(bt.Vh,[e],void 0,this.featureName,this.ee))})}#a(e){return e&&(e.sessionReplayMode===u.g.FULL||e.sessionReplayMode===u.g.ERROR)||(0,I.Aw)(this.agentRef.init)}importRecorder(){return this.recorder?Promise.resolve(this.recorder):(this.#i??=Promise.all([r.e(478),r.e(249)]).then(r.bind(r,4866)).then(({Recorder:e})=>(this.recorder=new e(this),this.recorder)).catch(e=>{throw this.ee.emit("internal-error",[e]),this.blocked=!0,e}),this.#i)}#s(){this.blocked||(this.featAggregate?this.featAggregate.mode!==u.g.FULL&&this.featAggregate.initializeRecording(u.g.FULL,!0,bt.Qb.API):this.importRecorder().then(()=>{this.recorder.startRecording(bt.Qb.API,u.g.FULL)}))}#n(){this.recorder?.stopRecording()}}var wt=r(3962);class Rt extends W{static featureName=wt.TZ;constructor(e){if(super(e,wt.TZ),function(e){const r=e.ee.get("tracer");function n(){}(0,N.Y)(k.dT,function(e){return(new n).get("object"==typeof e?e:{})},e);const i=n.prototype={createTracer:function(n,i){var s={},a=this,o="function"==typeof i;return(0,S.p)(q.xV,["API/createTracer/called"],void 0,t.K7.metrics,e.ee),function(){if(r.emit((o?"":"no-")+"fn-start",[(0,_.t)(),a,o],s),o)try{return i.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw r.emit("fn-err",[arguments,this,t],s),t}finally{r.emit("fn-end",[(0,_.t)()],s)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach(r=>{N.Y.apply(this,[r,function(){return(0,S.p)(k.hw+r,[performance.now(),...arguments],this,t.K7.softNav,e.ee),this},e,i])}),(0,N.Y)(k.PA,function(){(0,S.p)(k.hw+"routeName",[performance.now(),...arguments],void 0,t.K7.softNav,e.ee)},e)}(e),!g.RI||!(0,i.dV)().o.MO)return;const n=at(this.ee,e);try{this.removeOnAbort=new AbortController}catch(e){}wt.tC.forEach(e=>{(0,J.sp)(e,e=>{c(e)},!0,this.removeOnAbort?.signal)}
36);const s=()=>(0,S.p)("newURL",[(0,_.t)(),""+window.location],void 0,this.featureName,this.ee);n.on("pushState-end",s),n.on("replaceState-end",s),(0,J.sp)(wt.OV,e=>{c(e),(0,S.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)},!0,this.removeOnAbort?.signal);let a=!1;const o=new((0,i.dV)().o.MO)((e,t)=>{a||(a=!0,requestAnimationFrame(()=>{(0,S.p)("newDom",[(0,_.t)()],void 0,this.featureName,this.ee),a=!1}))}),c=(0,C.s)(e=>{"loading"!==document.readyState&&((0,S.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,()=>r.e(478).then(r.bind(r,4393)),{domObserver:o})}}var Tt=r(981);const At={},St=new Set;function xt(e){return"string"==typeof e?{type:"string",size:(new TextEncoder).encode(e).length}:e instanceof ArrayBuffer?{type:"ArrayBuffer",size:e.byteLength}:e instanceof Blob?{type:"Blob",size:e.size}:e instanceof DataView?{type:"DataView",size:e.byteLength}:ArrayBuffer.isView(e)?{type:"TypedArray",size:e.byteLength}:{type:"unknown",size:0}}class Ot{constructor(e,t){this.timestamp=(0,_.t)(),this.currentUrl=(0,Ee.L)(window.location.href),this.socketId=(0,ye.LA)(8),this.requestedUrl=(0,Ee.L)(e),this.requestedProtocols=Array.isArray(t)?t.join(","):t||"",this.openedAt=void 0,this.protocol=void 0,this.extensions=void 0,this.binaryType=void 0,this.messageOrigin=void 0,this.messageCount=0,this.messageBytes=0,this.messageBytesMin=0,this.messageBytesMax=0,this.messageTypes=void 0,this.sendCount=0,this.sendBytes=0,this.sendBytesMin=0,this.sendBytesMax=0,this.sendTypes=void 0,this.closedAt=void 0,this.closeCode=void 0,this.closeReason="unknown",this.closeWasClean=void 0,this.connectedDuration=0,this.hasErrors=void 0}}class _t extends W{static featureName=o.TZ;constructor(e){super(e,o.TZ);const n=e.init.feature_flags.includes("websockets")||e.init.web_sockets?.enabled,s=!e.init.feature_flags.includes("no_spv"),a=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.performance.resources.enabled,e.init.user_actions.enabled,n,s];var c;let d;if(c=e,(0,N.Y)(k.hG,(e,t)=>ce(e,t,c),c),function(e){(0,N.Y)(k.fF,(t,r)=>ue(t,r,e),e)}(e),ct(e),Se(e),function(e){(0,N.Y)(k.V1,(t,r)=>de(t,r,e),e)}(e),this.removeOnAbort=new AbortController,this.abortHandler=()=>{this.removeOnAbort.abort(),this.abortHandler=void 0},n){const u=function(e,t){if(!(0,i.dV)().o.WS)return e;const r=e.get("websockets");if(At[r.debugId]++)return r;At[r.debugId]=1,(0,V.G)(()=>{const e=(0,_.t)();St.forEach(t=>{t.nrData.closedAt=e,t.nrData.closeCode=1001,t.nrData.closeReason="Page navigating away",t.nrData.closeWasClean=!1,t.nrData.openedAt&&(t.nrData.connectedDuration=e-t.nrData.openedAt),r.emit("ws",[t.nrData,t.targets],t)})});
36class n extends WebSocket{static name=Tt.R.WS;static toString(){return"function WebSocket() { [native code] }"}toString(){return"[object WebSocket]"}get[Symbol.toStringTag](){return n.name}#o(e){(e.__newrelic??={}).socketId=this.nrData.socketId,this.nrData.hasErrors??=!0}constructor(...e){super(...e),this.nrData=new Ot(e[0],e[1]),this.targets=(0,Ie.$5)(t),this.addEventListener("open",()=>{this.nrData.openedAt=(0,_.t)(),["protocol","extensions","binaryType"].forEach(e=>{this.nrData[e]=this[e]}),St.add(this)}),this.addEventListener("message",e=>{const{type:t,size:r}=xt(e.data);this.nrData.messageOrigin??=(0,Ee.L)(e.origin),this.nrData.messageCount++,this.nrData.messageBytes+=r,this.nrData.messageBytesMin=Math.min(this.nrData.messageBytesMin||1/0,r),this.nrData.messageBytesMax=Math.max(this.nrData.messageBytesMax,r),(this.nrData.messageTypes??"").includes(t)||(this.nrData.messageTypes=this.nrData.messageTypes?"".concat(this.nrData.messageTypes,",").concat(t):t)}),this.addEventListener("close",e=>{this.nrData.closedAt=(0,_.t)(),this.nrData.closeCode=e.code,e.reason&&(this.nrData.closeReason=e.reason),this.nrData.closeWasClean=e.wasClean,this.nrData.connectedDuration=this.nrData.closedAt-this.nrData.openedAt,St.delete(this),r.emit("ws",[this.nrData,this.targets],this)})}addEventListener(e,t,...r){const n=this,i="function"==typeof t?function(...e){try{return t.apply(this,e)}catch(e){throw n.#o(e),e}}:t?.handleEvent?{handleEvent:function(...e){try{return t.handleEvent.apply(t,e)}catch(e){throw n.#o(e),e}}}:t;return super.addEventListener(e,i,...r)}send(e){if(this.readyState===WebSocket.OPEN){const{type:t,size:r}=xt(e);this.nrData.sendCount++,this.nrData.sendBytes+=r,this.nrData.sendBytesMin=Math.min(this.nrData.sendBytesMin||1/0,r),this.nrData.sendBytesMax=Math.max(this.nrData.sendBytesMax,r),(this.nrData.sendTypes??"").includes(t)||(this.nrData.sendTypes=this.nrData.sendTypes?"".concat(this.nrData.sendTypes,",").concat(t):t)}try{return super.send(e)}catch(e){throw this.#o(e),e}}close(...e){try{super.close(...e)}catch(e){throw this.#o(e),e}}}return g.gm.WebSocket=n,r}(this.ee,e);u.on("ws",(e,t)=>{(0,S.p)("ws-complete",[e,t],void 0,this.featureName,this.ee)})}if(s){if("function"==typeof g.gm.ReportingObserver){const l=new g.gm.ReportingObserver(e=>{e.forEach(e=>{(0,S.p)("spv",[kt(e),(0,_.t)()],void 0,t.K7.genericEvents,this.ee)}),l.disconnect()},{types:["csp-violation"],buffered:!0});l.observe()}g.gm.addEventListener("securitypolicyviolation",e=>{(0,S.p)("spv",[kt(e),e.timeStamp],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal))}if(g.RI){if(ze(this.ee,e),De(this.ee,e),d=at(this.ee,e),e.init.user_actions.enabled){function f(t){const r=(0,Ge.D)(t);return e.beacons.includes(r.hostname+":"+r.port)}function h(){d.emit("navChange")}o.Zp.forEach(e=>(0,J.sp)(e,e=>(0,S.p)("ua",[e],void 0,this.featureName,this.ee),!0)),o.qN.forEac
36h(e=>{const t=(0,C.s)(e=>{(0,S.p)("ua",[e],void 0,this.featureName,this.ee)},500,{leading:!0});(0,J.sp)(e,t)}),g.gm.addEventListener("error",()=>{(0,S.p)("uaErr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(!1,this.removeOnAbort.signal)),this.ee.on("open-xhr-start",(e,r)=>{f(e[1])||r.addEventListener("readystatechange",()=>{2===r.readyState&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)},(0,J.jT)(void 0,this.removeOnAbort.signal))}),this.ee.on("fetch-start",e=>{e.length>=1&&!f(Ze(e[0]))&&(0,S.p)("uaXhr",[],void 0,t.K7.genericEvents,this.ee)}),d.on("pushState-end",h),d.on("replaceState-end",h),window.addEventListener("hashchange",h,(0,J.jT)(!0,this.removeOnAbort.signal)),window.addEventListener("popstate",h,(0,J.jT)(!0,this.removeOnAbort.signal))}if(e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource")){new PerformanceObserver(e=>{e.getEntries().forEach(e=>{(0,S.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)})}).observe({type:"resource",buffered:!0})}}a.some(e=>e)?this.importAggregator(e,()=>r.e(478).then(r.bind(r,8019))):this.deregisterDrain()}}function kt(e){const t=e.body??e;return{blockedUrl:t.blockedURL??e.blockedURI,documentUrl:t.documentURL??e.documentURI,effectiveDirective:t.effectiveDirective,originalPolicy:t.originalPolicy,sourceFile:t.sourceFile,statusCode:t.statusCode,lineNumber:t.lineNumber,columnNumber:t.columnNumber,disposition:"reporting"===t.disposition?"report":t.disposition,sample:t.sample,referrer:t.referrer}}var Nt=r(2646);const Lt=new Map;function Mt(e,t,r,n,i=!0,s){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const a=function(e){return(e||R.ee).get("logger")}(e),o=(0,Pe.YM)(a,void 0,s),c=new Nt.y(R.P);c.level=n.level,c.customAttributes=n.customAttributes,c.autoCaptured=i;const d=t[r]?.[Pe.Jt]||t[r];return Lt.set(d,c),o.inPlace(t,[r],"wrap-logger-",()=>Lt.get(d),void 0,!0),a}var Pt=r(1910);class It extends W{static featureName=se.TZ;constructor(e){var t;super(e,se.TZ),t=e,(0,N.Y)("log",(e,r)=>oe(e,r,t),t),function(e){(0,N.Y)(k.Wb,(t,r,{customAttributes:n={},level:i=se.p_.INFO}={})=>{Mt(e.ee,t,r,{customAttributes:n,level:i},!1,e)},e)}(e),Se(e);const n=this.ee;["log","error","warn","info","debug","trace"].forEach(t=>{(0,Pt.i)(g.gm.console[t]),Mt(n,g.gm.console,t,{level:"log"===t?"info":t},void 0,e)}),this.ee.on("wrap-logger-end",function([t],r,i,s=[e.runtime.v2Target]){const{level:a,customAttributes:o,autoCaptured:c}=this;s.forEach(e=>{(0,ae.R)(n,t,o,a,c,e)})}),this.importAggregator(e,()=>r.e(478).then(r.bind(r,5288)))}}new F({features:[nt,K,G,vt,Et,Y,Oe,_t,It,Rt],loaderType:"spa"})})()})();</script>
vendor: 71 bytes, lines 36-38
36
37    
38<script async src="https://www.googletagmanager.com/gtag/js?id=
38G-ZKZ1S0W4JT
vendor: 13 bytes, line 38
38"></script>
39<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
vendor: 130 bytes, lines 40-43
40window.dataLayer = window.dataLayer || [];
41function gtag(){dataLayer.push(arguments);}
42gtag('js', new Date());
43gtag('config', '
43G-ZKZ1S0W4JT
vendor: 5 bytes, line 43
43');
44</script>
44
45
46    
47    <!-- Google tag (gtag.js) -->
48<head>
vendor: 63 bytes, line 48
48<script async src="https://www.googletagmanager.com/gtag/js?id=
48G-ZKZ1S0W4JT
vendor: 42 bytes, line 48
48" data-novi-association-source></script>
49<script data-novi-association-source>
50  
vendor: 138 bytes, lines 50-54
50window.dataLayer = window.dataLayer || [];
51  function gtag(){dataLayer.push(arguments);}
52  gtag('js', new Date());
53
54  gtag('config', '
54G-ZKZ1S0W4JT
vendor: 5 bytes, line 54
54');
55</script>
55
56</head>
57    
58    <style type="text/css">
59        html body div#content.body-content.c-body-content__ div.section.upcoming div.events.hidden-xs.hidden-sm div.container div.events-nav.clearfix a.pull-right{
60float: right !important;}
61    </style>
62</head>
63<body>
64    
65        <a href="#content" class="skip">Skip to content</a>
66    
67    
68        <header>
69            
70
71
72
73<div class="c-nav" id="c-nav">
74
75    <a href="/products/checkout" id="cart-items-link-mobile" class="cart cart-mobile hidden-md hidden-lg" style="display:none" data-bind="visible: profileViewModel && profileViewModel.CartHasItems && profileViewModel.CartHasItems()" aria-label="View Cart">
76    <span class="novicon novicon-cart" aria-hidden="true"></span>
77    <strong>
78        <span class="items-in-cart" data-bind="html: profileViewModel.CartItemQuantity()" role="status"></span> <span data-bind="html: profileViewModel.CartItemQuantityLabel()"></span>
79    </strong> in your cart <span class="view-cart">View Cart</span>
80</a>
81
82
83
84    <div class="c-nav-utility" role="list">
85
86        <!-- CART BEGIN -->
87        <a href="/products/checkout" id="cart-items-link" class="cart c-nav-utility__link c-nav-utility__cart-link hidden-xs hidden-sm"  style="display:none" data-bind="visible: profileViewModel && profileViewModel.CartHasItems && profileViewModel.CartHasItems()" aria-label="Items in cart" role="listitem">
88            <span class="items-in-cart c-nav-utility__span c-nav-utility__items-in-cart" role="status" data-bind="html: profileViewModel.CartItemQuantity()">
89            </span>
90            <span class="c-nav-utility__span c-nav-utility__cart">
91                Cart
92            </span>
93        </a>
94        <!-- CART END -->
95        <!-- LOGIN/USER BEGIN -->
96                <a href="#join-modal" data-toggle="modal" id="join-link" class="c-nav-utility__link c-nav-utility__join-link" role="listitem">
97                    <span class="join-modal-link c-nav-utility__span c-nav-utility__join">
98                        Join
99                    </span>
100                </a>
101            <a href="
102/login" class="c-nav-utility__link c-nav-utility__login-link" role="listitem">
103                <span class="c-nav-utility__span c-nav-utility__login">
104                    Login
105                </span>
106            </a>
107        <!-- LOGIN/USER END -->
108        <!-- CUSTOM BEGIN -->
109        <div class="c-nav-utility__custom-display">
110            
111
112        </div>
113        <!-- CUSTOM END -->
114        <!-- CONTACT US BEGIN -->
115        <a href="/contact-us" class="c-nav-utility__link c-nav-utility__contact-link">
116            <span class="c-nav-utility__span c-nav-utility__contact">
117                Contact
118            </span>
119        </a>
120        <!-- CONTACT US END -->
121
122        <!-- SEARCH PANEL BEGIN -->
123
124        <a href="#search-panel" class="hidden-xs hidden-sm search-toggle c-nav-utility__link" aria-label="Search Site" aria-expanded="false">
125            <span class="c-nav-utility__span">
126                <i class="fas fa-search" aria-hidden="true"></i>
127            </span>
128        </a>
129
130        <div id="search-panel">
131            <div class="form-group">
132                <span class="pull-left">
133                    <input type="text" class="form-control search-text" aria-label="Enter keyword to search site for" placeholder="Search site" />
134                </span>
135                <a href="/search" aria-label="Search Site" class="btn search-go" role="search">
136                    <span class="novicon novicon-arrow-right" aria-hidden="true"></span>
137                </a>
138            </div>
139        </div>
140        <!-- SEARCH PANEL END -->
141
142    </div>
143
144
145
146    <div class="c-nav-navigation" id="c-nav-navigation">
147
148        <div class="navbar__wrapper">
149
150            <a href="/" class="navbar__logo-wrapper">
151
152                <img alt="The Chlorine Institute Logo" src="https://assets.noviams.com/novi-file-uploads/tci/structure/main_logo.png" class="img-responsive c-nav-navigation__img" />
153
154            </a>
155
156            <a href="javascript:void(0);" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse" aria-label="Open and close the menu">
157                <span class="">
158                    <i class="fas fa-bars" aria-hidden="true"></i>
159                </span>
160            </a>
161
162            <div class="c-nav-navigation__collapse-wrapper">
163
164                <nav class="navbar-collapse collapse c-nav-navigation__collapse">
165
166                    <ul class="nav navbar-nav c-nav-navigation__ul">
167                        <li class="c-nav-navigation__toggle-wrapper">
168    <a href="javascript:void(0);" target="">
169        <span class="c-nav-navigation__toggle"></span>
170        About
171        <span class="caret c-nav-navigation__caret-mobile"></span>
172    </a>
173    <ul class="dropdown-menu level-2">
174<li class="c-nav-navigation__toggle-wrapper">
175    <a href="javascript:void(0);" target="">
176        <span class="c-nav-navigation__toggle"></span>
177        Mission Chemicals
178        <span class="caret c-nav-navigation__caret-mobile"></span>
179    </a>
180    <ul class="dropdown-menu level-3">
181<li class="c-nav-navigation__toggle-wrapper">
182    <a href="/chlorine" target="_self">
183        Chlorine
184    </a>
185</li>
186<li class="c-nav-navigation__toggle-wrapper">
187    <a href="/sodium-hypochlorite" target="_self">
188        Sodium Hypochlorite
189    </a>
190</li>
191<li class="c-nav-navigation__toggle-wrapper">
192    <a href="/hydrogen-chloride" target="_self">
193        Hydrogen Chloride
194    </a>
195</li>
196<li class="c-nav-navigation__toggle-wrapper">
197    <a href="/sodium-hydroxide" target="_self">
198        Sodium Hydroxide
199    </a>
200</li>
201<li class="c-nav-navigation__toggle-wrapper">
202    <a href="/potassium-hydroxide" target="_self">
203        Potassium Hydroxide
204    </a>
205</li>
206    </ul>
207</li>
208<li class="c-nav-navigation__toggle-wrapper">
209    <a href="/about-us" target="_self">
210        About Us
211    </a>
212</li>
213<li class="c-nav-navigation__toggle-wrapper">
214    <a href="/news/latest-news" target="_self">
215        <span class="c-nav-navigation__toggle"></span>
216        Latest News
217        <span class="caret c-nav-navigation__caret-mobile"></span>
218    </a>
219    <ul class="dropdown-menu level-3">
220<li class="c-nav-navigation__toggle-wrapper">
221    <a href="/news/press-releases" target="_self">
222        Press Releases
223    </a>
224</li>
225    </ul>
226</li>
227<li class="c-nav-navigation__toggle-wrapper">
228    <a href="/faqs" target="_self">
229        Frequently Asked Questions
230    </a>
231</li>
232<li class="c-nav-navigation__toggle-wrapper">
233    <a href="/technical-services" target="_self">
234        Technical Service Questions
235    </a>
236</li>
237<li class="c-nav-navigation__toggle-wrapper">
238    <a href="/contact-us" target="_self">
239        Contact Us
240    </a>
241</li>
242    </ul>
243</li>
244<li class="c-nav-navigation__toggle-wrapper">
245    <a href="javascript:void(0);" target="">
246        <span class="c-nav-navigation__toggle"></span>
247        Membership
248        <span class="caret c-nav-navigation__caret-mobile"></span>
249    </a>
250    <ul class="dropdown-menu level-2">
251<li class="c-nav-navigation__toggle-wrapper">
252    <a href="/why-join" target="_self">
253        Why Join
254    </a>
255</li>
256<li class="c-nav-navigation__toggle-wrapper">
257    <a href="/member-compass" target="_self">
258        Member Compass
259    </a>
260</li>
261<li class="c-nav-navigation__toggle-wrapper">
262    <a href="/board-of-directors-handbook" target="_self">
263        Board of Directors Handbook
264    </a>
265</li>
266<li class="c-nav-navigation__toggle-wrapper">
267    <a href="/official-correspondent-manual" target="_self">
268        Official Correspondent Manual
269    </a>
270</li>
271<li class="c-nav-navigation__toggle-wrapper">
272    <a href="/member-directory/" target="_self">
273        Member Directory
274    </a>
275</li>
276<li class="c-nav-navigation__toggle-wrapper">
277    <a href="/member-directory-public/" target="_self">
278        Member Directory (Public)
279    </a>
280</li>
281    </ul>
282</li>
283<li class="c-nav-navigation__toggle-wrapper">
284    <a href="javascript:void(0);" target="">
285        <span class="c-nav-navigation__toggle"></span>
286        Technical Committees
287        <span class="caret c-nav-navigation__caret-mobile"></span>
288    </a>
289    <ul class="dropdown-menu level-2">
290<li class="c-nav-navigation__toggle-wrapper">
291    <a href="javascript:void(0);" target="">
292        <span class="c-nav-navigation__toggle"></span>
293        Stewardship
294        <span class="caret c-nav-navigation__caret-mobile"></span>
295    </a>
296    <ul class="dropdown-menu level-3">
297<li class="c-nav-navigation__toggle-wrapper">
298    <a href="/stewardship-overview" target="_self">
299        Stewardship Overview
300    </a>
301</li>
302<li class="c-nav-navigation__toggle-wrapper">
303    <a href="/government-activity" target="_self">
304        Stewardship Government Activity
305    </a>
306</li>
307<li class="c-nav-navigation__toggle-wrapper">
308    <a href="/stewardship-resources" target="_self">
309        Stewardship Resources
310    </a>
311</li>
312<li class="c-nav-navigation__toggle-wrapper">
313    <a href="/ambassador-package" target="_self">
314        Ambassador Package
315    </a>
316</li>
317    </ul>
318</li>
319<li class="c-nav-navigation__toggle-wrapper">
320    <a href="javascript:void(0);" target="">
321        <span class="c-nav-navigation__toggle"></span>
322        Health, Environment, Safety &amp; Security
323        <span class="caret c-nav-navigation__caret-mobile"></span>
324    </a>
325    <ul class="dropdown-menu level-3">
326<li class="c-nav-navigation__toggle-wrapper">
327    <a href="/hess-overview" target="_self">
328        HESS Overview
329    </a>
330</li>
331<li class="c-nav-navigation__toggle-wrapper">
332    <a href="/ci-safety-incident-reporting" target="_self">
333        CI Safety Incident Reporting
334    </a>
335</li>
336<li class="c-nav-navigation__toggle-wrapper">
337    <a href="/performance-recognition" target="_self">
338        Performance Recognition
339    </a>
340</li>
341<li class="c-nav-navigation__toggle-wrapper">
342    <a href="/hess-government-activity" target="_self">
343        HESS Government Activity
344    </a>
345</li>
346<li class="c-nav-navigation__toggle-wrapper">
347    <a href="/hess-resources" target="_self">
348        Health, Environment, Safety &amp; Security Resources
349    </a>
350</li>
351<li class="c-nav-navigation__toggle-wrapper">
352    <a href="/monthly-fixed-facility-updates-overview" target="_self">
353        Monthly Fixed Facility Updates
354    </a>
355</li>
356<li class="c-nav-navigation__toggle-wrapper">
357    <a href="/international-wcc" target="_self">
358        International WCC
359    </a>
360</li>
361    </ul>
362</li>
363<li class="c-nav-navigation__toggle-wrapper">
364    <a href="javascript:void(0);" target="">
365        <span class="c-nav-navigation__toggle"></span>
366        Emergency Preparedness
367        <span class="caret c-nav-navigation__caret-mobile"></span>
368    </a>
369    <ul class="dropdown-menu level-3">
370<li class="c-nav-navigation__toggle-wrapper">
371    <a href="/emergency-preparedness-overview" target="_self">
372        Emergency Preparedness Overview
373    </a>
374</li>
375<li class="c-nav-navigation__toggle-wrapper">
376    <a href="/chlorep" target="_self">
377        Chlorine Response / CHLOREP
378    </a>
379</li>
380<li class="c-nav-navigation__toggle-wrapper">
381    <a href="/er-training-exercises-and-outreach" target="_self">
382        ER Training, Exercises &amp; Outreach
383    </a>
384</li>
385<li class="c-nav-navigation__toggle-wrapper">
386    <a href="/emergency-response-resources" target="_self">
387        Emergency Response Resources
388    </a>
389</li>
390    </ul>
391</li>
392<li class="c-nav-navigation__toggle-wrapper">
393    <a href="javascript:void(0);" target="">
394        <span class="c-nav-navigation__toggle"></span>
395        Transportation
396        <span class="caret c-nav-navigation__caret-mobile"></span>
397    </a>
398    <ul class="dropdown-menu level-3">
399<li class="c-nav-navigation__toggle-wrapper">
400    <a href="/transportation-overview" target="_self">
401        Transportation Overview
402    </a>
403</li>
404<li class="c-nav-navigation__toggle-wrapper">
405    <a href="/incident-statistics" target="_self">
406        Incident Statistics
407    </a>
408</li>
409<li class="c-nav-navigation__toggle-wrapper">
410    <a href="/industry-initiatives" target="_self">
411        Industry Initiatives
412    </a>
413</li>
414<li class="c-nav-navigation__toggle-wrapper">
415    <a href="/transportation-government-activity" target="_self">
416        Transportation Government Activity
417    </a>
418</li>
419<li class="c-nav-navigation__toggle-wrapper">
420    <a href="/transportation-monthly-updates" target="_self">
421        Transportation Monthly Updates
422    </a>
423</li>
424<li class="c-nav-navigation__toggle-wrapper">
425    <a href="/transportation-resources-overview" target="_self">
426        Transportation Resources Overview
427    </a>
428</li>
429    </ul>
430</li>
431    </ul>
432</li>
433<li class="c-nav-navigation__toggle-wrapper">
434    <a href="https://www.chlorineinstitute.org/meetings-overview/" target="_blank">
435        <span class="c-nav-navigation__toggle"></span>
436        Events &amp; Education
437        <span class="caret c-nav-navigation__caret-mobile"></span>
438    </a>
439    <ul class="dropdown-menu level-2">
440<li class="c-nav-navigation__toggle-wrapper">
441    <a href="/ci-education-hub-construction" target="_self">
442        CI Education Hub
443    </a>
444</li>
445<li class="c-nav-navigation__toggle-wrapper">
446    <a href="/news/past-meetings" target="_self">
447        Past Meetings
448    </a>
449</li>
450<li class="c-nav-navigation__toggle-wrapper">
451    <a href="/news/past-webinars" target="_self">
452        Past Webinars
453    </a>
454</li>
455    </ul>
456</li>
457<li class="c-nav-navigation__toggle-wrapper">
458    <a href="https://www.chlorineinstitute.org/products" target="_blank">
459        <span class="c-nav-navigation__toggle"></span>
460        Bookstore
461        <span class="caret c-nav-navigation__caret-mobile"></span>
462    </a>
463    <ul class="dropdown-menu level-2">
464<li class="c-nav-navigation__toggle-wrapper">
465    <a href="https://assets.noviams.com/novi-file-uploads/tci/2026_Resource_Catalog.pdf" target="_blank">
466        2026 CI Resource Catalog
467    </a>
468</li>
469<li class="c-nav-navigation__toggle-wrapper">
470    <a href="/ci-publications-report" target="_self">
471        CI Publications Report
472    </a>
473</li>
474<li class="c-nav-navigation__toggle-wrapper">
475    <a href="/recursos-en-espanol" target="_self">
476        Recursos en Espa&#241;ol
477    </a>
478</li>
479    </ul>
480</li>
481
482                    </ul>
483
484                    <ul class="nav navbar-nav c-nav-navigation__ul c-nav-navigation__ul--mobile">
485
486                        <li>
487
488                            <div class="c-nav-utility__custom-display">
489                                
490
491                            </div>
492                        </li>
493
494                        <li>
495                            <!-- CONTACT US BEGIN -->
496                            <a href="/contact-us" class="c-nav-utility__link c-nav-utility__contact-link">
497                                <span class="c-nav-utility__span c-nav-utility__contact">
498                                    Contact
499                                </span>
500                            </a>
501                            <!-- CONTACT US END -->
502
503                        </li>
504
505                        <li class="visible-xs visible-sm">
506                            <div id="search-panel-mobile" role="search">
507                                <div class="form-group">
508                                    <span><input type="text" class="form-control search-text" aria-label="Enter keyword to search site for" placeholder="Search site" /></span>
509                                    <a href="/search" aria-label="Click to search site" class="btn btn-secondary search-go"><span class="novicon novicon-arrow-right"></span></a>
510                                </div>
511                            </div>
512                        </li>
513
514                        <li>
515
516                                    <a href="#join-modal" data-toggle="modal" id="mobile-join-link" class="c-nav-utility__link c-nav-utility__join-link">
517                                        <span class="join-modal-link c-nav-utility__span c-nav-utility__join">
518                                            Join
519                                        </span>
520                                    </a>
521                                <a href="
522/login" class="c-nav-utility__link c-nav-utility__login-link">
523                                    <span class="c-nav-utility__span c-nav-utility__login">
524                                        Login
525                                    </span>
526                                </a>
527                            <!-- LOGIN/USER END -->
528
529                        </li>
530
531                    </ul>
532
533                </nav>
534
535            </div>
536
537
538        </div>
539
540    </div>
541
542</div>
543
544
545
546
547
548<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
549    var novi = {};
550    novi.checkScroll = function () {
551
552        // Determine the viewport width your in using a media query from Javascript
553        var mediaQuery = window.matchMedia("(max-width: 991px)");
554
555        // Get the distance the user has scrolled from the top
556        var scrollTop = Math.max(window.pageYOffset, document.documentElement.scrollTop, document.body.scrollTop);
557
558        // We are determining if we need to recalculate the distance the #main-nav element is from the top based on
559        // the ternary if statements below. Basically we don't want the novi.navTop value to be calculated to the exact
560        // scroll top position and we want the #main-nav element to be a certain distance from the top of the page when
561        // the page is wide enough (hence the media query)
562        novi.navTop = mediaQuery.matches && novi.navTop < novi.nav.offset().top && novi.nav.offset().top < scrollTop
563            ? novi.nav.offset().top
564            : novi.navTop;
565
566        // If we have scrolled far enough down, we need to pin the navigation menu to the top (provided we're in a wide enough page for the navigation bar
567        // and not the hamburger menu button)
568        if (!mediaQuery.matches && scrollTop > novi.navTop + novi.navHeight) {
569            var height = novi.nav.outerHeight();
570            novi.navBackground.addClass("c-nav-scroll");
571            novi.nav.addClass("c-nav-scroll__anchor");
572            novi.navBrand.addClass("nav-brand-show");
573            novi.bodyClass.css('margin-top', novi.navHeight);
574
575        }
576        else if (mediaQuery.matches || scrollTop <= novi.navTop) {
577            novi.navBackground.removeClass("c-nav-scroll");
578            novi.nav.removeClass("c-nav-scroll__anchor");
579            novi.navBrand.removeClass("nav-brand-show");
580            novi.bodyClass.css('margin-top', '0');
581
582        }
583    };
584    document.addEventListener("DOMContentLoaded", function (event) {
585        novi.nav = $("#c-nav");
586        novi.navBackground = $("#c-nav");
587        novi.navBrand = $("#nav-brand");
588        novi.bodyClass = $("#content");
589        novi.navHeight = $(".c-nav").outerHeight();
590
591
592        // NOTE [Brian Hall 2017-07-17]: This is a work around for when adding a member via the member-compass --> Staff area
593        var navOffset = novi.nav.offset();
594        novi.navTop = typeof (navOffset) === "undefined" || navOffset === null ? null : novi.nav.offset().top;
595
596        novi.navOffset = 0;
597        var adminBar = $("#admin-bar");
598        if (adminBar)
599            novi.navOffset = adminBar.outerHeight();
600        $(window).scroll(function () {
601            novi.checkScroll();
602        });
603        $(window).on("resize", function () {
604            novi.checkScroll();
605        });
606        novi.checkScroll();
607
608        $('.navbar-toggle').click(function () {
609            $(this).next('span').slideToggle('500');
610            $(this).find('i').toggleClass('fa-bars fa-times')
611        });
612    });
613</script>
613
614        </header>
615
616    <div class="body-content c-body-content__ c-body-content__homepage" id="content" role="main">
617        
618
619<div id="top-featured-carousel" class="section main-event" data-slick='{"infinite": true, "arrows": false, "dots": true, "slidesToShow": 1, "autoplay": true}' >
620            <div class="">
621                <div class="background" style="background-image: url(&#39;https://assets.noviams.com/novi-file-uploads/tci/backgrounds/ddc5bc12-b17c-0093-a9927940d845109f-1.jpeg&#39;);">
622                    <div class="overlay">
623                        <div class="container">
624                            <div class="event-info">
625                                <div class="date"><span class="novicon novicon-chat-bubble"></span>News</div>
626                                <hr />
627                                <h1>Welcome to the New CI Website</h1>
628                                <a class="btn btn-transparent" href="/news/welcome-to-the-new-ci-website">Read More</a>
629                            </div>
630                        </div>
631                    </div>
632                </div>
633            </div>
634            <div class="slick-slide">
635                <div class="background" style="background-image: url(&#39;https://assets.noviams.com/novi-file-uploads/tci/blog/articles/hess-seminar-graphics-1.png&#39;);">
636                    <div class="overlay">
637                        <div class="container">
638                            <div class="event-info">
639                                <div class="date"><span class="novicon novicon-chat-bubble"></span>News</div>
640                                <hr />
641                                <h1 class="long">Speaker Proposals Now Invited for 2027 HESS+ Seminar</h1>
642                                <a class="btn btn-transparent" href="/news/speaker-proposals-now-invited-for-2027-hess-seminar">Read More</a>
643                            </div>
644                        </div>
645                    </div>
646                </div>
647            </div>
648            <div class="slick-slide">
649                <div class="background" style="background-image: url(&#39;https://assets.noviams.com/novi-file-uploads/tci/events/webinar_banner_for_website2-1-1.png&#39;);">
650                    <div class="overlay">
651                        <div class="container">
652                            <div class="event-info">
653                                <div class="date"><span class="novicon novicon-calendar"></span>Thursday, October 8, 2026</div>
654                                <hr />
655                                <h1 class="really-long">Webinar | A General Overview of Pamphlet 6) Dry Chlorine Piping Systems ...</h1>
656                                <a class="btn btn-transparent" href="/meetings/webinar--a-general-overview-of-pamphlet-6-dry-chlorine-piping-systems---series-2">View Event</a>
657                            </div>
658                        </div>
659                    </div>
660                </div>
661            </div>
662
663</div>
664<div class="section single-region" id='blocks'>
665    <div class="container">
666        <div class="region">
667            
668<novi-content-wrapper><div class="color-block-full-width col-md-3 col-xs-6"><i class="far fa-address-book"></i> <a href="/member-directory/"> Member Directory</a></div>
669<div class="color-block-full-width col-md-3 col-xs-6"><i class="fa-regular fa-lightbulb"></i> <a href="/news/member-spotlight">Member Spotlight </a></div>
670<div class="color-block-full-width col-md-3 col-xs-6"><i class="far fa-calendar-alt"></i> <a href="/meetings-overview/"> Meetings &amp; Events </a></div>
671<div class="color-block-full-width col-md-3 col-xs-6"><i class="fas fa-hands-helping"></i> <a href="/why-join/"> Join </a></div></novi-content-wrapper>
672        </div>
673    </div>
674</div>
675<div class="section single-region" id='about-association'>
676    <div class="container">
677        <div class="region">
678            
679<novi-content-wrapper><div class="c-hp-about-association">
680<h3 style="text-align: center;">WHAT IS THE CHLORINE INSTITUTE</h3>
681<p class="c-hp-about-association__p"><br>The Chlorine Institute (CI) founded in 1924, is a technical trade association of companies involved in the safe production, distribution and use of chlorine, sodium and potassium hydroxides and sodium hypochlorite, the distribution and use of hydrogen chloride and the distribution of vinyl chloride monomer.</p>
682<p class="c-hp-about-association__p"><a href="/about-us/" class="btn btn-primary c-hp-about-association__button"> About Us </a> <a href="/history/" class="btn btn-primary c-hp-about-association__button"> Our History </a></p>
683</div></novi-content-wrapper>
684        </div>
685    </div>
686</div>
687
688<div class="section featured-slider" >
689</div>
690
691<div class="section upcoming" >
692        <div class="events hidden-xs hidden-sm">
693            <div class="container">
694                <span class="events-tab"><span class="novicon novicon-calendar"></span></span>
695                <div class="events-nav clearfix">
696                    <a href="meetings/?PastEvents=1" class="pull-left">Past Events</a>
697                    <a href="meetings/" class="pull-right">View Calendar</a>
698                    <h2>Upcoming Events</h2>
699                </div>
700                    <div class="col-md-4 event" role="listitem">
701                        
702
703
704<div class="event-table c-event-date-stub">
705    <div class="c-event-date-stub__wrapper">
706        <div class="date-stub c-event-date-stub__start" title="Starts October 8, 2026 at 2:00 PM">
707            Oct <strong>8</strong>
708        </div>
709
710    </div>
711
712    <div class="title c-event-date-stub__event-wrapper">
713        <a href="/meetings/webinar--a-general-overview-of-pamphlet-6-dry-chlorine-piping-systems---series-2"  data-aria-label="Event Details for Webinar | A General Overview of Pamphlet 6) Dry Chlorine Piping Systems - Series 2">
714            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
715                Webinar | A General Overview of Pamphlet 6) Dry Chlorine Piping Systems ...
716                    <i class="fa fa-laptop c-event-date-stub__virtual-offering-indicator" role="img" title="This is a virtual offering."></i>
717            </strong>
718        </a>
719            <span class="time c-event-date-stub__time">2:00 PM - 3:00 PM</span>
720                <span class="time c-event-date-stub__time"><small>EDT</small></span>
721
722    <a href="/meetings/webinar--a-general-overview-of-pamphlet-6-dry-chlorine-piping-systems---series-2"  data-aria-label="Event Details for Webinar | A General Overview of Pamphlet 6) Dry Chlorine Piping Systems - Series 2">
723        <span class="c-event-date-stub__btn">
724            Details
725        </span>
726    </a>
727    </div>
728</div>
729                    </div>
730                    <div class="col-md-4 event" role="listitem">
731                        
732
733
734<div class="event-table c-event-date-stub">
735    <div class="c-event-date-stub__wrapper">
736        <div class="date-stub c-event-date-stub__start" title="Starts October 15, 2026 at 2:00 PM">
737            Oct <strong>15</strong>
738        </div>
739
740    </div>
741
742    <div class="title c-event-date-stub__event-wrapper">
743        <a href="/meetings/webinar--how-do-you-use-pamphlet-91-checklist-for-chlorine-packaging-plants"  data-aria-label="Event Details for Webinar | How do YOU use Pamphlet 91) Checklist for Chlorine Packaging Plants?">
744            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
745                Webinar | How do YOU use Pamphlet 91) Checklist for Chlorine Packaging P...
746                    <i class="fa fa-laptop c-event-date-stub__virtual-offering-indicator" role="img" title="This is a virtual offering."></i>
747            </strong>
748        </a>
749            <span class="time c-event-date-stub__time">2:00 PM - 3:00 PM</span>
750                <span class="time c-event-date-stub__time"><small>EDT</small></span>
751
752    <a href="/meetings/webinar--how-do-you-use-pamphlet-91-checklist-for-chlorine-packaging-plants"  data-aria-label="Event Details for Webinar | How do YOU use Pamphlet 91) Checklist for Chlorine Packaging Plants?">
753        <span class="c-event-date-stub__btn">
754            Details
755        </span>
756    </a>
757    </div>
758</div>
759                    </div>
760                    <div class="col-md-4 event" role="listitem">
761                        
762
763
764<div class="event-table c-event-date-stub">
765    <div class="c-event-date-stub__wrapper">
766        <div class="date-stub c-event-date-stub__start" title="Starts October 27, 2026 at 2:00 PM">
767            Oct <strong>27</strong>
768        </div>
769
770    </div>
771
772    <div class="title c-event-date-stub__event-wrapper">
773        <a href="/meetings/webinar--a-look-into-newly-update-pamphlet-64-emergency-response-plans-for-chlor-alkali-sodium-hypochlorite-and-hydrogen-chloride-facilities"  data-aria-label="Event Details for Webinar | A Look into Newly Update Pamphlet 64) Emergency Re
773sponse Plans for Chlor-Alkali, Sodium Hypochlorite, and Hydrogen Chloride Facilities">
774            <strong class="c-event-date-stub__event-name" role="heading" aria-level="3">
775                Webinar | A Look into Newly Update Pamphlet 64) Emergency Response Plans...
776                    <i class="fa fa-laptop c-event-date-stub__virtual-offering-indicator" role="img" title="This is a virtual offering."></i>
777            </strong>
778        </a>
779            <span class="time c-event-date-stub__time">2:00 PM - 3:00 PM</span>
780                <span class="time c-event-date-stub__time"><small>EDT</small></span>
781
782    <a href="/meetings/webinar--a-look-into-newly-update-pamphlet-64-emergency-response-plans-for-chlor-alkali-sodium-hypochlorite-and-hydrogen-chloride-facilities"  data-aria-label="Event Details for Webinar | A Look into Newly Update Pamphlet 64) Emergency Response Plans for Chlor-Alkali, Sodium Hypochlorite, and Hydrogen Chloride Facilities">
783        <span class="c-event-date-stub__btn">
784            Details
785        </span>
786    </a>
787    </div>
788</div>
789                    </div>
790            </div>
791        </div>
792    <div class="mobile-callouts hidden-md hidden-lg">
793        <div class="container">
794            <a href="meetings/?CalendarView=1" class="btn btn-primary btn-mobile"><span class="border"><span class="novicon novicon-calendar"></span>Events Calendar</span></a>
795        </div>
796    </div>
797</div>
798
799<div class="section we-are" >
800    <div class="parallax" style="background-image: url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/water-bkd-1.jpeg');">
801        <div class="overlay">
802            <div class="container">
803                
804<novi-content-wrapper><h2>Our Mission</h2>
805<p>The Chlorine Institute exists to support the chlor-alkali industry in advancing safe, secure, environmentally compatible, and sustainable production, distribution, and use of its mission chemicals*.</p>
806<p><em>*CI&rsquo;s mission chemicals: &nbsp;chlorine, sodium and potassium hydroxides, sodium hypochlorite, the distribution of vinyl chloride monomer (VCM), and the distribution and use of hydrogen chloride.</em></p>
807<p><a href="/mission/" class="btn btn-primary">Read More</a></p>
808<p></p></novi-content-wrapper>
809            </div>
810        </div>
811    </div>
812</div>
813<div class="section triple-region widgets" id='widgets'>
814    <div class="container">
815        <div class="region triple-region-left">
816            
817<novi-content-wrapper><h5 style="text-align: center;">Technical Services Questions</h5>
818<div class="content" style="text-align: center;">As a public service, the Chlorine Institute regularly fields technical questions about the chlor-alkali industry. Anyone can ask a question. Before submitting your request we encourage you to review our list of <a href="https://www.chlorineinstitute.org/faqs">Frequently Asked Questions (FAQs)</a>&nbsp;to see if your question may already be answered on the web page.<br><br><a href="https://www.chlorineinstitute.org/technical-services" class="btn btn-secondary"> Learn More </a></div></novi-content-wrapper>
819        </div>
820        <div class="region triple-region-center">
821            
822<novi-content-wrapper><h5 style="text-align: center;">Listen to the Stay Tuned with CI Podcast</h5>
823<div class="content" style="text-align: center;">CI's quarterly podcast,&nbsp;<em>Stay Tuned with CI,</em> will feature a new guest speaker in each episode. Aligning with our safety mission, the podcast will focus on safety topics related to the chlor-alkali industry. You can listen to the episodes on the CI website, as well as with Apple and Android podcast apps.<br><br><a href="https://www.chlorineinstitute.org/news/podcast" class="btn btn-secondary"> Learn More </a></div></novi-content-wrapper>
824        </div>
825        <div class="region triple-region-right">
826            
827<novi-content-wrapper><h5 style="text-align: center;">Nominate a member for the Peter M. Mayo Award</h5>
828<div class="content" style="text-align: center;">Established in 2004 and sponsored by the Institute's Board of Directors, the award is given in memory of Peter M. Mayo, a leader in the industry, a strong supporter of safety excellence, a former Chair of the Storage and Transport Committee, and an active participant in CI for more than 30 years.<br><br><a href="https://www.chlorineinstitute.org/peter-m-mayo-award" class="btn btn-secondary"> Learn More </a></div></novi-content-wrapper>
829        </div>
830    </div>
831</div>
832<div class="section single-region" id='resources'>
833    <div class="container">
834        <div class="region">
835            
836
837        </div>
838    </div>
839</div>
840
841    </div>
842
843    
844
845
846    <footer>
847        <div class="footer-cms-region">
848            <div class="container">
849                
850
851            </div>
852        </div>
853
854        <div class="c-footer">
855
856            <div class="container">
857
858                <div class="o-column g-footer__left c-footer__left">
859
860                    <p class="address c-footer__address">
861                        1300 Wilson Blvd., Suite 525<br />Arlington, VA 22209
862                    </p>
863
864                    <span class="c-footer__line">
865                        &#8212;
866                    </span>
867
868                    <p class="phone c-footer__phone">
869                        703.894.4140
870                    </p>
871
872                    <div class="social-icons c-footer__social-icons c-footer__social-icons--left" role="list">
873                            <span role="listitem"><a href="https://www.facebook.com/thechlorineinstitute/" aria-label="Find us on Facebook" class="icon facebook c-footer__social-icons--facebook" target="_blank"><span class="novicon novicon-facebook" aria-hidden="true"></span></a></span>
874                                                    <span role="listitem"><a href="https://twitter.com/TheChlorineINST" aria-label="Tweet at us on X" class="icon twitter c-footer__social-icons--twitter" target="_blank"><i class="fa-brands fa-x-twitter" aria-hidden="true"></i></a></span>
875                                                    <span role="listitem"><a href="https://www.linkedin.com/company/3904115?report%2Esuccess=8y99HFeuiFA4KUntTOkhwLzz_ErOdHQU3NPjcO43ie7GOan_6YSgKLSpixM4OYpa3USEnjmpiUMVldpx60FuSrSO7HB3lqWU6IS6KsVo_YoLJk" aria-label="Connect with us on LinkedIn" class="icon linked-in c-footer__social-icons--linkedin" target="_blank"><span class="novicon novicon-linked-in" aria-hidden="true"></span></a></span>
876                                                                            <span role="listitem"><a href="https://www.youtube.com/user/TheChlorineInstitute" aria-label="Find us on YouTube" class="icon youtube c-footer__social-icons--youtube" target="_blank"><span class="novicon novicon-youtube" aria-hidden="true"></span></a></span>
877                        <span role="listitem"><a href="/contact-us" aria-label="Contact Us via Email" class="icon facebook c-footer__social-icons--envelope"><span class="novicon novicon-envelope" aria-hidden="true"></span></a></span>
878                    </div>
879
880                </div>
881
882                <div class="o-column g-footer__center c-footer__center">
883
884                    <div class="c-footer__affiliates">
885                        
886
887                    </div>
888
889                    <div class="c-footer__static-wrapper">
890                        
891
892                    </div>
893
894                </div>
895
896                <div class="o-column g-footer__right c-footer__right">
897
898                    <div class="c-footer__text-block">
899                        
900
901                    </div>
902
903                    <div class="social-icons c-footer__social-icons c-footer__social-icons--right">
904                            <a href="https://www.facebook.com/thechlorineinstitute/" title="Find us on Facebook" class="icon facebook c-footer__social-icons--facebook" target="_blank"><span class="novicon novicon-facebook"></span></a>
905                                                    <a href="https://twitter.com/TheChlorineINST" title="Tweet at us" class="icon twitter c-footer__social-icons--twitter" target="_blank"><i class="fa-brands fa-x-twitter" aria-hidden="true"></i></a>
906                                                    <a href="https://www.linkedin.com/company/3904115?report%2Esuccess=8y99HFeuiFA4KUntTOkhwLzz_ErOdHQU3NPjcO43ie7GOan_6YSgKLSpixM4OYpa3USEnjmpiUMVldpx60FuSrSO7HB3lqWU6IS6KsVo_YoLJk" title="Connect with us on LinkedIn" class="icon linked-in c-footer__social-icons--linkedin" target="_blank"><span class="novicon novicon-linked-in"></span></a>
907                                                                            <a href="https://www.youtube.com/user/TheChlorineInstitute" title="Find us on YouTube" class="icon youtube c-footer__social-icons--youtube" target="_blank"><span class="novicon novicon-youtube"></span></a>
908                        <a href="/contact-us" title="Contact Us" class="icon facebook c-footer__social-icons--envelope"><span class="novicon novicon-envelope"></span></a>
909                    </div>
910
911                    <div class="c-footer__novi">
912                        <a class="novi" href="https://www.noviams.com">
913                            <img alt="Novi AMS" src="/img/noviams-logo.png" class="img-responsive" />
914                            <br />
915                            Association Management Software
916                        </a>
917                    </div>
918                </div>
919
920            </div>
921
922            <div class="container">
923                <div class="c-footer__copyright-wrapper">
924
925                    <p class="c-footer__copyright">
926                        Copyright &copy; 2026 - The Chlorine Institute. <a href="/legal" class="c-footer__legal">Legal</a>
927                    </p>
928                </div>
929
930
931
932            </div>
933
934</footer>
935<div class="modal fade sliced-corner" id="join-modal" tabindex="-1" role="dialog" aria-labelledby="modal-title">
936	<div class="modal-dialog">
937		<div class="modal-content">
938			<div class="modal-header">
939				<a href="javascript:void(0);" class="close" data-dismiss="modal" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>
940				<h3 class="modal-title" id="modal-title" role="heading" aria-level="2">Membership &amp; Account Access</h3>
941			</div>
942			<div class="modal-body">
943				<div class="well">
944					<div class="row">
945						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
946							
947<novi-content-wrapper><h4 style="text-align: center;">Is Your Company a Member?</h4>
948<p><strong>If your company is already a member, we invite you to set up an online account to:</strong></p>
949<ul>
950<li>Update Your Profile</li>
951<li>Register for Events</li>
952<li>Receive Legislative Updates</li>
953<li>View &amp; Pay Invoices</li>
954<li>Access the Member Directory</li>
955</ul></novi-content-wrapper>
956							<a href="/register?memberTypeID=null" class="btn btn-secondary create-account-link" role="button">Create an Account</a>
957						</div>
958						<div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between">
959							
960<novi-content-wrapper><h4 center;“="" style="text-align: center;">Interested in Membership?</h4>
961<p>The members of CI invite and encourage you to join! By working together, we can achieve our mission to maintain and enhance our industry as a whole.</p>
962<p>All membership applications for CI must be approved by the Board of Directors.</p>
963<p>If you are ready to join, click below to get started!</p></novi-content-wrapper>						
964							<a href="/membership-information" class="btn btn-secondary" role="button">View Membership Information</a>
965						</div>
966					</div>
967				</div>
968			</div>
969		</div>
970	</div>
971</div>
972        
vendor: 1,751 bytes, lines 972-973
972<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
973            !function (t, e) { var o, n, p, r; e.__SV || (window.posthog = e, e._i = [], e.init = function (i, s, a) { function g(t, e) { var o = e.split("."); 2 == o.length && (t = t[o[0]], e = o[1]), t[e] = function () { t.push([e].concat(Array.prototype.slice.call(arguments, 0))) } } (p = t.createElement("script")).type = "text/javascript", p.async = !0, p.src = s.api_host.replace(".i.posthog.com", "-assets.i.posthog.com") + "/static/array.js", (r = t.getElementsByTagName("script")[0]).parentNode.insertBefore(p, r); var u = e; for (void 0 !== a ? u = e[a] = [] : a = "posthog", u.people = u.people || [], u.toString = function (t) { var e = "posthog"; return "posthog" !== a && (e += "." + a), t || (e += " (stub)"), e }, u.people.toString = function () { return u.toString(1) + ".people (stub)" }, o = "init capture register register_once register_for_session unregister unregister_for_session getFeatureFlag getFeatureFlagPayload isFeatureEnabled reloadFeatureFlags updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures on onFeatureFlags onSessionId getSurveys getActiveMatchingSurveys renderSurvey canRenderSurvey getNextSurveyStep identify setPersonProperties group resetGroups setPersonPropertiesForFlags resetPersonPropertiesForFlags setGroupPropertiesForFlags resetGroupPropertiesForFlags reset get_distinct_id getGroups get_session_id get_session_replay_url alias set_config startSessionRecording stopSessionRecording sessionRecordingStarted captureException loadToolbar get_property getSessionProperty createPersonProfile opt_in_capturing opt_out_capturing has_opted_in_capturing has_opted_out_capturing clear_opt_in_out_capturing debug".split(" "), n = 0; n < o.length; n++)g(u, o[n]);
973 e._i.push([i, s, a]) }, e.__SV = 1) }(document, window.posthog || []);
974            posthog.init('phc_9mA7xuJ96NmAImMoWFFwQxkBB0lJKsVfiRQISVf3iDv', {
975                api_host: 'https://us.i.posthog.com',
976                person_profiles: 'identified_only',
977                enable_recording_console_log: true,
978                session_recording: {
979                    maskAllInputs: false,
980                    maskInputOptions: { password: true }
981                },
982                integrations: {
983                    intercom: true
984                }
985            });
986
987            
988            posthog.reset();
989            
990
991        </script>
991
992    
992<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
993        var serverTimeOffset = -4;
994        window.noviCmsNamespace = window.noviCmsNamespace || {};
995    </script>
995
996    
996<script src="/client-apps/main/dist/js/scripts-fingerprint9122de35482ea65306f6643c48dc6a94cf6d71b596ec0f51dfb1a7fd26f2c21f/knockout-3.5.3.js" integrity="sha256-kSLeNUguplMG9mQ8SNxqlM9tcbWW7A9R37Gn/Sbywh8=" crossorigin="anonymous" data-justification="" data-novi-source="true"></script>
996
997    
997<script src="/client-apps/main/dist/js/scripts-fingerprint389c0211008fab85e0b8e29e04df7b37e7e54e3cebb801612b6b9458828d67a5/knockout-bindings.js" integrity="sha256-OJwCEQCPq4XguOKeBN97N+flTjzruAFhK2uUWIKNZ6U=" crossorigin="anonymous" data-justification="Shared helpers for applying Knockout bindings without double-binding errors." data-novi-source="true"></script>
997
998    
998<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint8CC497C30BE0890AA90B263D2735F1C7/frontend-bundle.js"></script>
998
999        
999<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
1000        setTimeout(() => {
1001            imageMapResize();
1002        }, 1);
1003
1004        $('[data-toggle="tooltip"]').tooltip({ container: "body" });
1005        var isPageEditToggleUrl = "/AdminBar/SetIsPageEditToggled";
1006        var getUsersToImpersonateUrl = "/Account/GetUsersToImpersonate";
1007        var impersonateUserUrl = "/Account/ImpersonateUser";
1008        var getStaticRegionRevisionsUrl = "/StaticPage/GetStaticRegionRevisions";
1009        var attendeeEventStartingReadUrl = "/events/attendee-event-starting-read";
1010
1011        var pageID = 40190;
1012        var staticPageRegionIds = [86423,86424,89555,89556,89557,89558,89559,89561,86425,86426,89560,93796,93797,93800,96515];
1013        var getLinkedCustomerAccountsUrl = "/Account/GetLinkedCustomerAccounts";
1014        var switchCustomerRecordUrl = "/Account/SwitchCustomerRecord";
1015        var isAuthenticated = false;
1016        var attendeeStartTimes = [];
1017        var cartItemQuantity = 0;
1018        var noviNs = noviNs || {};
1019        noviNs.tenantSettings = { customStyling: false };
1020        var allowMultipleAccounts = false;
1021    </script>
1021
1022
1023    
1023<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
1024    var answerNpsSurveyUrl = "/Account/AnswerNpsSurvey";
1025    var getNpsSurveyFormDataUrl = "/Account/GetNpsSurveyFormData";
1026    var snoozeNpsSurveyUrl = "/Account/SnoozeNpsSurvey";
1027    var skipNpsSurveyUrl = "/Account/SkipNpsSurvey";
1028    var npsSurveyId = null;
1029    </script>
1029
1030
1031
1032
1033
1034        <div id="fb-root"></div>
1035        
1035<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
1036            (function (d, s, id) {
1037                var js, fjs = d.getElementsByTagName(s)[0];
1038                if (d.getElementById(id)) return;
1039                js = d.createElement(s); js.id = id;
1040                js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.0&appId=682198771971182';
1041                fjs.parentNode.insertBefore(js, fjs);
1042            }(document, 'script', 'facebook-jssdk'));</script>
1042
1043    
1044	
1044<script src="/client-apps/main/dist/js/bundles/libraries-fingerprint767D998DDB5567E76A57554F11D9C69E/slickjs-bundle.js"></script>
1044
1045	
1045<script src="/client-apps/main/dist/js/scripts-fingerprint04111BE651FEA4BA2C67531AA78031C6/accessibility-home-page.js"></script>
1045
1046
1047    
1047<script src="/client-apps/main/dist/js/bundles/frontend-fingerprintc55afadbe274e6d24bb1c30c9ddb1593131d2ee8b723670ea3c52b48223840d6/nps-survey-bundle.js" integrity="sha256-xVr62+J05tJLscMMndsVkxMdLui3I2cOo8UrSCI4QNY=" crossorigin="anonymous" data-justification="" data-novi-source="true"></script>
1047
1048
1049    
1049<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint259DDE4CE032190C4F795F7C48C9534A/nps-survey-bundle.js" data-novi-source data-justification="The nps-survey-bundle.js script is used for handling the display and submission of NPS (Net Promoter Score) surveys."></script>
1049
1050    
1051
1052
1053
1054<script nonce="wfrs+TtgBOtgq4mQ1/GZGw==">
1055    window.noviCmsNamespace = window.noviNs || {};
1056    window.noviCmsNamespace.isPageEditToggled = false;
1057    window.noviCmsNamespace.contentRegionsLoadedEvent = 'contentRegionsLoaded';
1058    window.noviCmsNamespace.waitToLoadTinyMce = false;
1059</script>
vendor: 2 bytes, line 1059
1059
1060<script src="/client-apps/main/dist/js-fingerprint55cde5548e6a513a0d3898e6986b6db360d83b6749ca4429ccf286b92e0fd46b/prism.js" integrity="sha256-Vc3lVI5qUToNOJjmmGtts2DYO2dJykQpzPKGuS4P1Gs=" crossorigin="anonymous" data-justification="The prism.js script is a lightweight syntax highlighter used for displaying code snippets in a user-friendly format. It does not process, store, or transmit any PCI-sensitive data." data-novi-source="true"></script>
1060
1061
1062    <span style="display: none;">
1063        
1064    </span>
1065</body>
1066</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.