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>Latest News - The Chlorine Institute</title> 16 17 18 <link rel="canonical" href="https://www.chlorineinstitute.org/news/latest-news" /> 19 <meta property="og:url" content="https://www.chlorineinstitute.org/news/latest-news" /> 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":"bwQGMkVZWBFQV0FfXlZOKTB0F3QOXlN2WV9MEwsKW11ETXhaUVNJ","queueTime":0,"applicationTime":844,"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="JZjWojSX8FgbksSzmsO9qA==">
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 & 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 & 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 & 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 & 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ñ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="JZjWojSX8FgbksSzmsO9qA=="> 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__latest-news c-body-content__latest-news" id="content" role="main"> 617 618<div class="container moved-up blog-list-container" role="main"> 619 <div class="header-ribbon" aria-labelledby="ac-article-list-title"> 620 <h1 id="ac-article-list-title" class="c-article-list__h1">Latest News</h1> 621 <h2 class="subtitle c-article-list__subtitle" role="presentation">Stay informed with all that is happening within the industry.</h2> 622 </div> 623 <div class="well box c-article-list"> 624 625 <div class="categories c-article-list__category-list"> 626 627 <div class="c-article-list__category-list-wrapper" role="list"> 628 629 <span class="category c-article-list__category"> 630 <a class="c-article-list__category--link" href="/news/latest-news">Latest News</a> 631 </span> 632 <span class="category c-article-list__category"> 633 <a class="c-article-list__category--link" href="/news/member-spotlight">Member Spotlight</a> 634 </span> 635 <span class="category c-article-list__category"> 636 <a class="c-article-list__category--link" href="/news/podcast">Podcast</a> 637 </span> 638 <span class="category c-article-list__category"> 639 <a class="c-article-list__category--link" href="/news/press-releases">Press Releases</a> 640 </span> 641 </div> 642 </div> 643 644 645 646 <div class="o-filter-bar clearfix"> 647 <div class="o-filter-bar__quick-search" role="search"> 648 <label for="search-box">Search</label> 649 <div class="search input-group"> 650 651 <input type="text" id="search-box" aria-label="Enter text to search News" class="form-control" placeholder="Search News" /> 652 653 <a href="javascript:void(0);" class="btn btn-primary input-group-addon c-article-list__filters-btn" aria-label="Search" id="search-go"> 654 <span class="novicon novicon-arrow-right" aria-hidden="true"></span> 655 </a> 656 657 </div> 658 </div> 659 660 <div> 661 <select aria-label="Select a Blog Category" class="form-control" id="Category" name="Category"><option value="">Topic/Category</option> 662<option selected="selected" value="news/latest-news">Latest News</option> 663<option value="news/member-spotlight">Member Spotlight</option> 664<option value="news/podcast">Podcast</option> 665<option value="news/press-releases">Press Releases</option> 666</select> 667 </div> 668 </div> 669 <div class="articles clearfix" aria-label="Articles"> 670<div class="article col-xs-12 c-article-list"> 671 672 <hr class="c-article-list__hr--top" /> 673 674 <div class="g-article-list__left"> 675 676 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy"> 677 CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members 678 </a> 679 680 <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members "></div> 681 682 </div> 683 684 <div class="g-article-list__right"> 685 686 <div class="categories" 687 role="region" 688 aria-label="Categories"> 689 <div role="list"> 690 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 691 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 692 <a href="/news/member-spotlight" role="listitem"><span class="c-article-list-full-width__category">Member Spotlight</span></a><span class="separator">,</span> 693 </div> 694 </div> 695 696 <a class="c-article-list-full-width__wrapper" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy"> 697 <div class="title c-article-list-full-width__title c-article-list-full-width--large">
698 <span role="heading" aria-level="2">CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members </span> 699 </div> 700 </a> 701 <p class="c-article-list__description"> 702 The Chlorine Institute (CI) is pleased to welcome three new members approved by the CI Board of Directors. These organizations bring valuable expertise and industry experience that will further strengthen CI’s membership community and support the Institute’s mission of advancing... <a href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials-copy" aria-label="Continue reading more about CI Welcomes Emerald Electrolytic Systems, Halocarbon, and OURAY as New Members "><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 703 </p> 704 705 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 706 </div> 707 708 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 709 <span class="sr-only">Date posted</span>09/1/2026 710 </div> 711 </div> 712 713 <hr class="c-article-list__hr--bottom" /> 714 715</div><div class="article col-xs-12 c-article-list"> 716 717 <hr class="c-article-list__hr--top" /> 718 719 <div class="g-article-list__left"> 720 721 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/welcome-new-project-engineer--david-karpf"> 722 Welcome New Project Engineer â David Karpf 723 </a> 724 725 <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for Welcome New Project Engineer â David Karpf"></div> 726 727 </div> 728 729 <div class="g-article-list__right"> 730 731 <div class="categories" 732 role="region" 733 aria-label="Categories"> 734 <div role="list"> 735 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 736 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 737 </div> 738 </div> 739 740 <a class="c-article-list-full-width__wrapper" href="/news/welcome-new-project-engineer--david-karpf"> 741 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 742 <span role="heading" aria-level="2">Welcome New Project Engineer â David Karpf</span> 743 </div> 744 </a> 745 <p class="c-article-list__description"> 746 Please join us in welcoming CI’s new staff member, David Karpf, Project Engineer. David is a chemical engineer and graduate of University of Nebraska-Lincoln. His previous experience includes project and process engineering roles at Nebraska Nitrogen and Ag Processing Inc. 747As Project... <a href="/news/welcome-new-project-engineer--david-karpf" aria-label="Continue reading more about Welcome New Project Engineer â David Karpf"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 748 </p> 749 750 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 751 </div> 752 753 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 754 <span class="sr-only">Date posted</span>09/1/2026 755 </div> 756 </div> 757 758 <hr class="c-article-list__hr--bottom" /> 759 760</div><div class="article col-xs-12 c-article-list"> 761 762 <hr class="c-article-list__hr--top" /> 763 764 <div class="g-article-list__left"> 765 766 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/syracuse-training"> 767 Registration Open: Chlorine Rail Safety &
767 Hazmat Emergency Response Training in Syracuse, NY 768 </a> 769 770 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/syracuse-ny-transcaer-flyer-2026-1.png')" aria-label="Image for Registration Open: Chlorine Rail Safety & Hazmat Emergency Response Training in Syracuse, NY"></div> 771 772 </div> 773 774 <div class="g-article-list__right"> 775 776 <div class="categories" 777 role="region" 778 aria-label="Categories"> 779 <div role="list"> 780 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 781 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 782 </div> 783 </div> 784 785 <a class="c-article-list-full-width__wrapper" href="/news/syracuse-training"> 786 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 787 <span role="heading" aria-level="2">Registration Open: Chlorine Rail Safety & Hazmat Emergency Response Training in Syracuse, NY</span> 788 </div> 789 </a> 790 <p class="c-article-list__description"> 791 Don’t miss your chance to attend CI’s next TRANSCAER event in Syracuse, NY from September 9-11, 2026! This free hazmat training is designed to help you and your colleagues strengthen your emergency response skills alongside industry experts and community leaders. We’d love to... <a href="/news/syracuse-training" aria-label="Continue reading more about Registration Open: Chlorine Rail Safety & Hazmat Emergency Response Training in Syracuse, NY"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 792 </p> 793 794 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 795<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span> 796 </div> 797 798 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 799 <span class="sr-only">Date posted</span>09/1/2026 800 </div> 801 </div> 802 803 <hr class="c-article-list__hr--bottom" /> 804 805</div><div class="article col-xs-12 c-article-list"> 806 807 <hr class="c-article-list__hr--top" /> 808 809 <div class="g-article-list__left"> 810 811 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials"> 812 CI Welcomes AOC, City of Astoria, HS&E Compliance Resources, Inc., and MP Materials 813 </a> 814 815 <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Welcomes AOC, City of Astoria, HS&E Compliance Resources, Inc., and MP Materials"></div> 816 817 </div> 818 819 <div class="g-article-list__right"> 820 821 <div class="categories" 822 role="region" 823 aria-label="Categories"> 824 <div role="list"> 825 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 826 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 827 <a href="/news/member-spotlight" role="listitem"><span class="c-article-list-full-width__category">Member Spotlight</span></a><span class="separator">,</span> 828 </div> 829 </div> 830 831 <a class="c-article-list-full-width__wrapper" href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials"> 832 <div class="title c-article-list-full-width__title c-article-list-full-width--large">
833 <span role="heading" aria-level="2">CI Welcomes AOC, City of Astoria, HS&E Compliance Resources, Inc., and MP Materials</span> 834 </div> 835 </a> 836 <p class="c-article-list__description"> 837 The Chlorine Institute (CI) is pleased to welcome four new members approved by the CI Board of Directors. These organizations bring valuable expertise and industry experience that will further strengthen CI’s membership community and support the Institute’s mission of advancing safety,... <a href="/news/ci-welcomes-aoc-city-of-astoria-hsande-compliance-resources-inc-and-mp-materials" aria-label="Continue reading more about CI Welcomes AOC, City of Astoria, HS&E Compliance Resources, Inc., and MP Materials"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 838 </p> 839 840 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 841 </div> 842 843 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 844 <span class="sr-only">Date posted</span>08/4/2026 845 </div> 846 </div> 847 848 <hr class="c-article-list__hr--bottom" /> 849 850</div><div class="article col-xs-12 c-article-list"> 851 852 <hr class="c-article-list__hr--top" /> 853 854 <div class="g-article-list__left"> 855 856 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors"> 857 Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors 858 </a> 859 860 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/ci-logo-no-inc-process-paths-copy-1.jpg')" aria-label="Image for Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors"></div> 861 862 </div> 863 864 <div class="g-article-list__right"> 865 866 <div class="categories" 867 role="region" 868 aria-label="Categories"> 869 <div role="list"> 870 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 871 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 872 <a href="/news/press-releases" role="listitem"><span class="c-article-list-full-width__category">Press Releases</span></a><span class="separator">,</span> 873 </div> 874 </div> 875 876 <a class="c-article-list-full-width__wrapper" href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors"> 877 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 878 <span role="heading" aria-level="2">Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors</span> 879 </div> 880 </a> 881 <p class="c-article-list__description"> 882 The Chlorine Institute (CI) has announced several leadership updates to its Board of Directors. 883Lenny Scott, Vice President – Global Process Technology at Olin Corporation, has been appointed Chair of the CI Board of Directors. Lenny brings extensive industry experience and a longstanding... <a href="/news/chlorine-institute-announces-board-leadership-transition-and-welcomes-new-directors" aria-label="Continue reading more about Chlorine Institute Announces Board Leadership Transition and Welcomes New Directors"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 884 </p> 885 886 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 887<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span> 888 </div> 889 890 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted">
891 <span class="sr-only">Date posted</span>08/4/2026 892 </div> 893 </div> 894 895 <hr class="c-article-list__hr--bottom" /> 896 897</div><div class="article col-xs-12 c-article-list"> 898 899 <hr class="c-article-list__hr--top" /> 900 901 <div class="g-article-list__left"> 902 903 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/speaker-proposals-now-invited-for-2027-hess-seminar"> 904 Speaker Proposals Now Invited for 2027 HESS+ Seminar 905 </a> 906 907 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/hess-seminar-graphics-1.png')" aria-label="Image for Speaker Proposals Now Invited for 2027 HESS+ Seminar"></div> 908 909 </div> 910 911 <div class="g-article-list__right"> 912 913 <div class="categories" 914 role="region" 915 aria-label="Categories"> 916 <div role="list"> 917 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 918 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 919 </div> 920 </div> 921 922 <a class="c-article-list-full-width__wrapper" href="/news/speaker-proposals-now-invited-for-2027-hess-seminar"> 923 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 924 <span role="heading" aria-level="2">Speaker Proposals Now Invited for 2027 HESS+ Seminar</span> 925 </div> 926 </a> 927 <p class="c-article-list__description"> 928 Planning is underway for The Chlorine Institute’s 2027 HESS+ Seminar, to be held during our regular Annual Meeting on April 7, 2027, at The Westin Charlotte in Charlotte, North Carolina. 929The Health, Environment, Safety and Security Plus or HESS+ Seminar will feature two rooms of concurrent... <a href="/news/speaker-proposals-now-invited-for-2027-hess-seminar" aria-label="Continue reading more about Speaker Proposals Now Invited for 2027 HESS+ Seminar"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 930 </p> 931 932 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 933 </div> 934 935 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 936 <span class="sr-only">Date posted</span>07/30/2026 937 </div> 938 </div> 939 940 <hr class="c-article-list__hr--bottom" /> 941 942</div><div class="article col-xs-12 c-article-list"> 943 944 <hr class="c-article-list__hr--top" /> 945 946 <div class="g-article-list__left"> 947 948 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership"> 949 CI's Indianapolis Training Highlights Collaboration and Honors Leadership 950 </a> 951 952 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/img_2394-1.jpeg')" aria-label="Image for CI's Indianapolis Training Highlights Collaboration and Honors Leadership"></div> 953 954 </div> 955 956 <div class="g-article-list__right"> 957 958 <div class="categories" 959 role="region" 960 aria-label="Categories"> 961 <div role="list"> 962 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 963 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 964 </div> 965 </div> 966 967 <a class="c-article-list-full-width__wrapper" href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership"> 968 <div class="title c-article-list-full-width__title c-article-list-full-width--large">
969 <span role="heading" aria-level="2">CI's Indianapolis Training Highlights Collaboration and Honors Leadership</span> 970 </div> 971 </a> 972 <p class="c-article-list__description"> 973 974Earlier this month, CI held its second chlorine emergency response training event of 2026 in Indianapolis, IN from June 2-4 in partnership with our host CSX in its Avon railyard. The training brought together 82 responders from 29 different organizations, including significant representation by... <a href="/news/cis-indianapolis-training-highlights-collaboration-and-honors-leadership" aria-label="Continue reading more about CI's Indianapolis Training Highlights Collaboration and Honors Leadership"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 975 </p> 976 977 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 978 </div> 979 980 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 981 <span class="sr-only">Date posted</span>07/1/2026 982 </div> 983 </div> 984 985 <hr class="c-article-list__hr--bottom" /> 986 987</div><div class="article col-xs-12 c-article-list"> 988 989 <hr class="c-article-list__hr--top" /> 990 991 <div class="g-article-list__left"> 992 993 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/stay-current-with-cis-newly-revised-resources--"> 994 Stay Current with CI's Newly Revised Resources 995 </a> 996 997 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/combined-for-insider-1.png')" aria-label="Image for Stay Current with CI's Newly Revised Resources "></div> 998 999 </div> 1000 1001 <div class="g-article-list__right"> 1002 1003 <div class="categories" 1004 role="region" 1005 aria-label="Categories"> 1006 <div role="list"> 1007 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 1008 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 1009 </div> 1010 </div> 1011 1012 <a class="c-article-list-full-width__wrapper" href="/news/stay-current-with-cis-newly-revised-resources--"> 1013 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 1014 <span role="heading" aria-level="2">Stay Current with CI's Newly Revised Resources </span> 1015 </div> 1016 </a> 1017 <p class="c-article-list__description"> 1018 1019The Chlorine Institute is pleased to announce the release of several newly revised resources designed to support safety, emergency preparedness, and continuous improvement across the chlorine industry. 1020Among the latest updates are the Emergency Kit A, B, and C Instruction Booklets, trusted... <a href="/news/stay-current-with-cis-newly-revised-resources--" aria-label="Continue reading more about Stay Current with CI's Newly Revised Resources "><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 1021 </p> 1022 1023 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 1024 </div> 1025 1026 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 1027 <span class="sr-only">Date posted</span>07/1/2026 1028 </div> 1029 </div> 1030 1031 <hr class="c-article-list__hr--bottom" /> 1032 1033</div><div class="article col-xs-12 c-article-list"> 1034 1035 <hr class="c-article-list__hr--top" /> 1036 1037 <div class="g-article-list__left"> 1038 1039 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/june-2026-recently-revised-resources"> 1040 June 2026 Recently Revised Resources 1041 </a> 1042 1043 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/june-2026-revised-resources-1.png')" aria-label="Image for June 2026 Recently Revised Resources"></div> 1044 1045 </div> 1046 1047 <div class="g-article-list__right"> 1048 1049 <div class="categories" 1050 role="region" 1051 aria-label="Categories"> 1052 <div role="list"> 1053 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 1054 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 1055 </div> 1056 </div> 1057 1058 <a class="c-article-list-full-width__wrapper" href="/news/june-2026-recently-revised-resources"> 1059 <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1060 <span role="heading" aria-level="2">June 2026 Recently Revised Resources</span> 1061 </div> 1062 </a> 1063 <p class="c-article-list__description"> 1064 Check out the newest editions of CI Pamphlets 91 and 167! <a href="/news/june-2026-recently-revised-resources" aria-label="Continue reading more about June 2026 Recently Revised Resources"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 1065 </p> 1066 1067 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 1068 </div> 1069 1070 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 1071 <span class="sr-only">Date posted</span>06/11/2026 1072 </div> 1073 </div> 1074 1075 <hr class="c-article-list__hr--bottom" /> 1076 1077</div><div class="article col-xs-12 c-article-list"> 1078 1079 <hr class="c-article-list__hr--top" /> 1080 1081 <div class="g-article-list__left"> 1082 1083 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training"> 1084 Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training 1085 </a> 1086 1087 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/msfa-plaque-1.jpg')" aria-label="Image for Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training"></div> 1088 1089 </div> 1090 1091 <div class="g-article-list__right"> 1092 1093 <div class="categories" 1094 role="region" 1095 aria-label="Categories"> 1096 <div role="list"> 1097 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 1098 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 1099 </div> 1100 </div> 1101 1102 <a class="c-article-list-full-width__wrapper" href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training"> 1103 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 1104 <span role="heading" aria-level="2">Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training</span> 1105 </div> 1106 </a> 1107 <p class="c-article-list__description"> 1108 CI's 2026 CHLOREP Team Training brought another successful—and record-setting—week to the Mississippi State Fire Academy (MSFA), welcoming 129 students and 70 instructors for hands-on, scenario-based emergency response training. 1109 1110This year also marked a significant milestone: 20... <a href="/news/celebrating-20-years-at-msfa-2026-chlorep-team-training" aria-label="Continue reading more about Celebrating 20 Years at MSFA: 2026 CHLOREP Team Training"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 1111 </p> 1112 1113 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 1114<span class="sr-only">Posted</span><span>by </span>Brooke Lobdell<span></span> 1115 </div> 1116 1117 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 1118 <span class="sr-only">Date posted</span>06/2/2026 1119 </div> 1120 </div> 1121 1122 <hr class="c-article-list__hr--bottom" /> 1123 1124</div><div class="article col-xs-12 c-article-list"> 1125 1126 <hr class="c-article-list__hr--top" /> 1127 1128 <div class="g-article-list__left"> 1129 1130 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/rmp2026"> 1131 CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach 1132 </a> 1133 1134 <div role="img" class="c-article-list__img " style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/backgrounds/powerpoint-background-picture.jpg')" aria-label="Image for CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach"></div> 1135 1136 </div> 1137 1138 <div class="g-article-list__right"> 1139 1140 <div class="categories" 1141 role="region" 1142 aria-label="Categories"> 1143 <div role="list"> 1144 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 1145 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 1146 </div> 1147 </div> 1148 1149 <a class="c-article-list-full-width__wrapper" href="/news/rmp2026"> 1150 <div class="title c-article-list-full-width__title c-article-list-full-width--large">
1151 <span role="heading" aria-level="2">CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach</span> 1152 </div> 1153 </a> 1154 <p class="c-article-list__description"> 1155 CI submitted comments on EPA’s Risk Management Program (RMP) Proposed Rule on May 11, 2026, reaffirming that its members are committed to achieving zero releases through both strong regulatory frameworks and voluntary best practices. In its letter, CI urged EPA to adopt a... <a href="/news/rmp2026" aria-label="Continue reading more about CI Urges Changes in RMP Proposed Rule to Support a Performance-Based Approach"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 1156 </p> 1157 1158 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 1159 </div> 1160 1161 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 1162 <span class="sr-only">Date posted</span>05/19/2026 1163 </div> 1164 </div> 1165 1166 <hr class="c-article-list__hr--bottom" /> 1167 1168</div><div class="article col-xs-12 c-article-list"> 1169 1170 <hr class="c-article-list__hr--top" /> 1171 1172 <div class="g-article-list__left"> 1173 1174 <a class="title c-article-list-full-width__title c-article-list-full-width--small" href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis"> 1175 Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis 1176 </a> 1177 1178 <div role="img" class="c-article-list__img c-article-list__img--show" style="background-image:url('https://assets.noviams.com/novi-file-uploads/tci/blog/articles/img_4045-1.jpeg')" aria-label="Image for Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis"></div> 1179 1180 </div> 1181 1182 <div class="g-article-list__right"> 1183 1184 <div class="categories" 1185 role="region" 1186 aria-label="Categories"> 1187 <div role="list"> 1188 <a href="/news/ci-insider" role="listitem"><span class="c-article-list-full-width__category">CI Insider</span></a><span class="separator">,</span> 1189 <a href="/news/latest-news" role="listitem"><span class="c-article-list-full-width__category">Latest News</span></a><span class="separator">,</span> 1190 </div> 1191 </div> 1192 1193 <a class="c-article-list-full-width__wrapper" href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis"> 1194 <div class="title c-article-list-full-width__title c-article-list-full-width--large"> 1195 <span role="heading" aria-level="2">Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis</span> 1196 </div> 1197 </a> 1198 <p class="c-article-list__description"> 1199 Registration is now open for a free TRANSCAER hazardous materials response training in Indianapolis offered June 2-4, 2026. 1200Designed for emergency responders and community partners, this training focuses on realâworld response to hazmat transportation incidents and coordination with... <a href="/news/registration-is-open-free-transcaer-hazmat-training-in-indianapolis" aria-label="Continue reading more about Registration Is Open: Free TRANSCAER Hazmat Training in Indianapolis"><span class="c-article-list__read-more"><span>Continue Reading</span><svg viewBox="0 0 13 20"><polyline points="0.5 19.5 3 19.5 12.5 10 3 0.5" /></svg></span></a> 1201 </p> 1202 1203 <div class="g-article-list__right-posted-by c-article-list__posted-by"> 1204 </div> 1205 1206 <div class="g-article-list__right-date c-article-list__date" aria-label="Date posted"> 1207 <span class="sr-only">Date posted</span>04/30/2026 1208 </div> 1209 </div> 1210 1211 <hr class="c-article-list__hr--bottom" /> 1212 1213</div> </div> 1214<div class="pagination clearfix" role="navigation" aria-label="Pagination"> 1215 <div class="paging-scroller"> 1216 <ul class="page-numbers list-unstyled"> 1217 <li>
1218 <span tabindex="0" aria-label="current page 1" aria-current="page">1</span> 1219 </li> 1220 <li> 1221 <a href="/news/latest-news?Page=2">2</a> 1222 </li> 1223 <li> 1224 <a href="/news/latest-news?Page=3">3</a> 1225 </li> 1226 </ul> 1227 </div> 1228 <a href="/news/latest-news?Page=2" class="next"><span class="novicon novicon-arrow-right" role="img" aria-label="Next"></span>Next</a> 1229</div> 1230 </div> 1231</div> 1232 1233 </div> 1234 1235 1236 1237 1238 <footer> 1239 <div class="footer-cms-region"> 1240 <div class="container"> 1241 1242 1243 </div> 1244 </div> 1245 1246 <div class="c-footer"> 1247 1248 <div class="container"> 1249 1250 <div class="o-column g-footer__left c-footer__left"> 1251 1252 <p class="address c-footer__address"> 1253 1300 Wilson Blvd., Suite 525<br />Arlington, VA 22209 1254 </p> 1255 1256 <span class="c-footer__line"> 1257 — 1258 </span> 1259 1260 <p class="phone c-footer__phone"> 1261 703.894.4140 1262 </p> 1263 1264 <div class="social-icons c-footer__social-icons c-footer__social-icons--left" role="list"> 1265 <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> 1266 <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> 1267 <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> 1268 <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> 1269 <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> 1270 </div> 1271 1272 </div> 1273 1274 <div class="o-column g-footer__center c-footer__center"> 1275 1276 <div class="c-footer__affiliates"> 1277 1278 1279 </div> 1280 1281 <div class="c-footer__static-wrapper"> 1282 1283 1284 </div> 1285 1286 </div> 1287 1288 <div class="o-column g-footer__right c-footer__right"> 1289 1290 <div class="c-footer__text-block"> 1291 1292 1293 </div> 1294 1295 <div class="social-icons c-footer__social-icons c-footer__social-icons--right"> 1296 <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> 1297 <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> 1298 <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> 1299 <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> 1300 <a href="/contact-us" title="Contact Us" class="icon facebook c-footer__social-icons--envelope"><span class="novicon novicon-envelope"></span></a> 1301 </div> 1302 1303 <div class="c-footer__novi"> 1304 <a class="novi" href="https://www.noviams.com"> 1305 <img alt="Novi AMS" src="/img/noviams-logo.png" class="img-responsive" /> 1306 <br /> 1307 Association Management Software 1308 </a> 1309 </div> 1310 </div> 1311 1312 </div> 1313 1314 <div class="container">
1315 <div class="c-footer__copyright-wrapper"> 1316 1317 <p class="c-footer__copyright"> 1318 Copyright © 2026 - The Chlorine Institute. <a href="/legal" class="c-footer__legal">Legal</a> 1319 </p> 1320 </div> 1321 1322 1323 1324 </div> 1325 1326</footer> 1327<div class="modal fade sliced-corner" id="join-modal" tabindex="-1" role="dialog" aria-labelledby="modal-title"> 1328 <div class="modal-dialog"> 1329 <div class="modal-content"> 1330 <div class="modal-header"> 1331 <a href="javascript:void(0);" class="close" data-dismiss="modal" aria-label="Close" role="button"><span aria-hidden="true">×</span></a> 1332 <h3 class="modal-title" id="modal-title" role="heading" aria-level="2">Membership & Account Access</h3> 1333 </div> 1334 <div class="modal-body"> 1335 <div class="well"> 1336 <div class="row"> 1337 <div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between"> 1338 1339<novi-content-wrapper><h4 style="text-align: center;">Is Your Company a Member?</h4> 1340<p><strong>If your company is already a member, we invite you to set up an online account to:</strong></p> 1341<ul> 1342<li>Update Your Profile</li> 1343<li>Register for Events</li> 1344<li>Receive Legislative Updates</li> 1345<li>View & Pay Invoices</li> 1346<li>Access the Member Directory</li> 1347</ul></novi-content-wrapper> 1348 <a href="/register?memberTypeID=null" class="btn btn-secondary create-account-link" role="button">Create an Account</a> 1349 </div> 1350 <div class="col-sm-6" style="display: flex; flex-direction: column; justify-content: space-between"> 1351 1352<novi-content-wrapper><h4 center;â="" style="text-align: center;">Interested in Membership?</h4> 1353<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> 1354<p>All membership applications for CI must be approved by the Board of Directors.</p> 1355<p>If you are ready to join, click below to get started!</p></novi-content-wrapper> 1356 <a href="/membership-information" class="btn btn-secondary" role="button">View Membership Information</a> 1357 </div> 1358 </div> 1359 </div> 1360 </div> 1361 </div> 1362 </div> 1363</div> 1364
1364<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1365 var serverTimeOffset = -4; 1366 window.noviCmsNamespace = window.noviCmsNamespace || {}; 1367 </script>
1367 1368
1368<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>
1368 1369
1369<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>
1369 1370
1370<script src="/client-apps/main/dist/js/bundles/frontend-fingerprint8CC497C30BE0890AA90B263D2735F1C7/frontend-bundle.js"></script>
1370 1371
1371<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1372 setTimeout(() => { 1373 imageMapResize(); 1374 }, 1); 1375 1376 $('[data-toggle="tooltip"]').tooltip({ container: "body" }); 1377 var isPageEditToggleUrl = "/AdminBar/SetIsPageEditToggled"; 1378 var getUsersToImpersonateUrl = "/Account/GetUsersToImpersonate"; 1379 var impersonateUserUrl = "/Account/ImpersonateUser"; 1380 var getStaticRegionRevisionsUrl = "/StaticPage/GetStaticRegionRevisions"; 1381 var attendeeEventStartingReadUrl = "/events/attendee-event-starting-read"; 1382 1383 var pageID = 0; 1384 var staticPageRegionIds = [86425,86426,89560,93796,93797,93800,96515]; 1385 var getLinkedCustomerAccountsUrl = "/Account/GetLinkedCustomerAccounts"; 1386 var switchCustomerRecordUrl = "/Account/SwitchCustomerRecord"; 1387 var isAuthenticated = false; 1388 var attendeeStartTimes = []; 1389 var cartItemQuantity = 0; 1390 var noviNs = noviNs || {}; 1391 noviNs.tenantSettings = { customStyling: false }; 1392 var allowMultipleAccounts = false; 1393 </script>
1393 1394 1395
1395<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1396 var answerNpsSurveyUrl = "/Account/AnswerNpsSurvey"; 1397 var getNpsSurveyFormDataUrl = "/Account/GetNpsSurveyFormData"; 1398 var snoozeNpsSurveyUrl = "/Account/SnoozeNpsSurvey"; 1399 var skipNpsSurveyUrl = "/Account/SkipNpsSurvey"; 1400 var npsSurveyId = null; 1401 </script>
1401 1402 1403 1404 1405 1406 <div id="fb-root"></div> 1407
1407<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1408 (function (d, s, id) { 1409 var js, fjs = d.getElementsByTagName(s)[0]; 1410 if (d.getElementById(id)) return; 1411 js = d.createElement(s); js.id = id; 1412 js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&autoLogAppEvents=1&version=v3.0&appId=682198771971182'; 1413 fjs.parentNode.insertBefore(js, fjs); 1414 }(document, 'script', 'facebook-jssdk'));</script>
1414 1415 1416
1416<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1417 var baseUrl = "/"; 1418 var urlPrefix = "news/"; 1419 </script>
1419 1420
1420<script src="/client-apps/main/dist/js/scripts-fingerprint968996D7AABC97A79E93192CCF4B4E89/blog.js"></script>
1420 1421 1422
1422<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>
1422 1423 1424
1424<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>
1424 1425 1426 1427 1428
1429<script nonce="JZjWojSX8FgbksSzmsO9qA=="> 1430 window.noviCmsNamespace = window.noviNs || {}; 1431 window.noviCmsNamespace.isPageEditToggled = false; 1432 window.noviCmsNamespace.contentRegionsLoadedEvent = 'contentRegionsLoaded'; 1433 window.noviCmsNamespace.waitToLoadTinyMce = false; 1434</script>
vendor: 2 bytes, line 1434
1434
1435<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>
1435 1436 1437 <span style="display: none;"> 1438 1439 </span> 1440</body> 1441</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.