1<!DOCTYPE html> 2<html lang="en-US"> 3<head> 4 <meta charset="UTF-8">
4<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:"1588887924",accountID:"541911",trustKey:"541911",xpid:"UQIGWFdSGwIFVFJQBwQAV1M=",licenseKey:"NRBR-3c087b243cdad8817da",applicationID:"1503205717",browserID:"1588887924"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */ 5(()=>{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};
5e.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;
5const 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);
5if(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$:()=>
5o,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])}
5(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}
5;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)=>
5{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
5ine_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()=>
5{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)=>
5null==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
5dTimingMethod(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
5imeToRegister: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})})}
5return 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"
5!==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);
5if(!(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)}
5);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)})});
5class 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
5h(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>
5 6 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 7 <title>Codes & Standards - ICC</title><link rel="stylesheet" href="https://www.iccsafe.org/wp-content/cache/min/1/724298ebc24a521d975b4d18a7ed6c0b.css" media="all" data-minify="1" /> 8 <link rel="icon" href="https://www.iccsafe.org/wp-content/themes/iccsafe/favicon.ico" type="image/x-icon" /> 9 <link rel="apple-touch-icon" href="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/apple-touch-icon.png.webp" /> 10 <link rel="preload" href="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/fonts/fontawesome-webfont.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 11 <link rel="preload" href="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/fonts/fontawesome-webfont.woff" as="font" type="font/woff" crossorigin="anonymous"> 12 <link rel="preload" href="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/fonts/fontawesome-webfont.ttf" as="font" type="font/ttf" crossorigin="anonymous"> 13 14 <!-- Google Tag Manager -->
15<script>
vendor: 347 bytes, lines 15-19
15(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 16 new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 17 j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 18 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 19})(window,document,'script','dataLayer','
19GTM-NPKHPXR
vendor: 3 bytes, line 19
19');
19</script>
19 20<!-- End Google Tag Manager --> 21 22<!-- Temporary CSS for Emerging Leaders Form iFrame (fixes font resizer issue 10/24/19 JNishihira) --> 23<style type="text/css"> 24.site-content.reps { 25 width: 80% !important; 26} 27</style> 28<!-- START Termly cookie consent layout adjustments--> 29 30<style type-"text/css"> 31#consent p { 32 flex-direction: column; 33} 34#consent p span { 35 padding-bottom: 1.5rem; 36} 37</style> 38<!-- END Termly cookie consent -->
38<script>(function(d, s, id){ 39 var js, fjs = d.getElementsByTagName(s)[0]; 40 if (d.getElementById(id)) {return;} 41 js = d.createElement(s); js.id = id; 42 js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.6"; 43 fjs.parentNode.insertBefore(js, fjs); 44 }(document, 'script', 'facebook-jssdk'));</script>
44<meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> 45 46 <!-- This site is optimized with the Yoast SEO plugin v27.4 - https://yoast.com/product/yoast-seo-wordpress/ --> 47 <link rel="canonical" href="https://www.iccsafe.org/products-and-services/codes-standards/" /> 48 <meta property="og:locale" content="en_US" /> 49 <meta property="og:type" content="article" /> 50 <meta property="og:title" content="Codes & Standards - ICC" /> 51 <meta property="og:description" content="ICC CODES AND STANDARDS The Most Trusted and Adopted Global Model Codes The International Codes, or I-Codes, are the most trusted source of model codes and standards. Decades of knowledge..." /> 52 <meta property="og:url" content="https://www.iccsafe.org/products-and-services/codes-standards/" /> 53 <meta property="og:site_name" content="ICC" /> 54 <meta property="article:publisher" content="https://www.facebook.com/InternationalCodeCouncil" /> 55 <meta property="article:published_time" content="2020-05-18T11:38:57+00:00" /> 56 <meta property="article:modified_time" content="2026-09-14T19:00:40+00:00" /> 57 <meta property="og:image" content="https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2.png" /> 58 <meta name="author" content="[email protected]" /> 59 <meta name="twitter:card" content="summary_large_image" /> 60 <meta name="twitter:creator" content="@IntlCodeCouncil" /> 61 <meta name="twitter:site" content="@IntlCodeCouncil" /> 62 <meta name="twitter:label1" content="Written by" /> 63 <meta name="twitter:data1" content="[email protected]" /> 64 <meta name="twitter:label2" content="Est. reading time" /> 65 <meta name="twitter:data2" content="3 minutes" /> 66
66<script type="application/ld+json" class="yoast-schema-graph">{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#article","isPartOf":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/"},"author":{"name":"[email protected]","@id":"https:\/\/www.iccsafe.org\/#\/schema\/person\/3c6467f4a9e891b6a480f3ba236a7b4f"},"headline":"Codes & Standards","datePublished":"2020-05-18T11:38:57+00:00","dateModified":"2026-09-14T19:00:40+00:00","mainEntityOfPage":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/"},"wordCount":403,"publisher":{"@id":"https:\/\/www.iccsafe.org\/#organization"},"image":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/pr-sr-group_codes2.png","articleSection":["Codes and Standards","Products & Services"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/","url":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/","name":"Codes & Standards - ICC","isPartOf":{"@id":"https:\/\/www.iccsafe.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#primaryimage"},"image":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#primaryimage"},"thumbnailUrl":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/pr-sr-group_codes2.png","datePublished":"2020-05-18T11:38:57+00:00","dateModified":"2026-09-14T19:00:40+00:00","breadcrumb":{"@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#primaryimage","url":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/pr-sr-group_codes2.png","contentUrl":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/pr-sr-group_codes2.png","width":600,"height":442,"caption":"pr sr group codes2"},{"@type":"BreadcrumbList","@id":"https:\/\/www.iccsafe.org\/products-and-services\/codes-standards\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.iccsafe.org\/"},{"@type":"ListItem","position":2,"name":"Codes & Standards"}]},{"@type":"WebSite","@id":"https:\/\/www.iccsafe.org\/#website","url":"https:\/\/www.iccsafe.org\/","name":"ICC","description":"International Code Council","publisher":{"@id":"https:\/\/www.iccsafe.org\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.iccsafe.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.iccsafe.org\/#organization","name":"International Code Council","url":"https:\/\/www.iccsafe.org\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.iccsafe.org\/#\/schema\/logo\/image\/","url":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/family-icc-logo.jpg","contentUrl":"https:\/\/www.iccsafe.org\/wp-content\/uploads\/family-icc-logo.jpg","width":297,"height":100,"caption":"International Code Council"},"image":{"@id":"https:\/\/www.iccsafe.org\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/InternationalCodeCouncil","https:\/\/x.com\/IntlCodeCouncil","https:\/\/www.linkedin.com\/organization-guest\/company\/international-code-council","https:\/\/www.youtube.com\/user\/ICCMEDIA"]},{"@type":"Person","@id":"https:\/\/www.iccsafe.org\/#\/schema\/person\/3c6467f4a9e891b6a480f3ba236a7b4f","name":"[email protected]"}]}</script>
66 67 <!-- / Yoast SEO plugin. --> 68 69 70<link rel='dns-prefetch' href='//maxcdn.bootstrapcdn.com' /> 71 72<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.iccsafe.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.iccsafe.org%2Fproducts-and-services%2Fcodes-standards%2F" /> 73<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.iccsafe.org/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.iccsafe.org%2Fproducts-and-services%2Fcodes-standards%2F&format=xml" /> 74<link rel="preload" href="https://www.iccsafe.org/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/webfonts/fa-solid-900.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 75<link rel="preload" href="https://www.iccsafe.org/wp-content/plugins/bb-plugin/fonts/fontawesome/5.15.4/webfonts/fa-brands-400.woff2" as="font" type="font/woff2" crossorigin="anonymous"> 76<style id='wp-img-auto-sizes-contain-inline-css' type='text/css'> 77img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 78/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 79</style> 80 81 82 83 84 85<style id='wp-emoji-styles-inline-css' type='text/css'> 86 87 img.wp-smiley, img.emoji { 88 display: inline !important; 89 border: none !important; 90 box-shadow: none !important; 91 height: 1em !important; 92 width: 1em !important; 93 margin: 0 0.07em !important; 94 vertical-align: -0.1em !important; 95 background: none !important; 96 padding: 0 !important; 97 } 98/*# sourceURL=wp-emoji-styles-inline-css */ 99</style> 100 101 102<style id='classic-theme-styles-inline-css' type='text/css'> 103/*! This file is auto-generated */ 104.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 105/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 106</style> 107<style id='global-styles-inline-css' type='text/css'> 108:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
108--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
108.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 109/*# sourceURL=global-styles-inline-css */ 110</style> 111 112 113 114 115 116 117 118 119 120 121<style id='rocket-lazyload-inline-css' type='text/css'> 122.rll-youtube-player{position:relative;padding-bottom:56.23%;height:0;overflow:hidden;max-width:100%;}.rll-youtube-player:focus-within{outline: 2px solid currentColor;outline-offset: 5px;}.rll-youtube-player iframe{position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;background:0 0}.rll-youtube-player img{bottom:0;display:block;left:0;margin:auto;max-width:100%;width:100%;position:absolute;right:0;top:0;border:none;height:auto;-webkit-transition:.4s all;-moz-transition:.4s all;transition:.4s all}.rll-youtube-player img:hover{-webkit-filter:brightness(75%)}.rll-youtube-player .play{height:100%;width:100%;left:0;top:0;position:absolute;background:url(https://www.iccsafe.org/wp-content/plugins/wp-rocket/assets/img/youtube.png) no-repeat center;background-color: transparent !important;cursor:pointer;border:none;} 123/*# sourceURL=rocket-lazyload-inline-css */ 124</style>
125<script type="text/javascript" src="https://www.iccsafe.org/app/wp-content/themes/iccsafe/assets/js/cognito-live.js?ver=0.1" id="cognito-live-js" defer></script>
vendor: 1 bytes, line 125
125
126<script type="text/javascript" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/js/jquery-3.7.1.min.js?ver=3.7.1" id="jquery-js"></script>
vendor: 1 bytes, line 126
126
127<script data-minify="1" type="text/javascript" src="https://www.iccsafe.org/wp-content/cache/min/1/wp-content/themes/iccsafe/build/runtime.11b67d30.js?ver=1790238020" id="scripts-header-myicc-js" defer></script>
vendor: 1 bytes, line 127
127
128<script data-minify="1" type="text/javascript" src="https://www.iccsafe.org/wp-content/cache/min/1/wp-content/themes/iccsafe/build/scripts-header.bdd1a341.js?ver=1790238020" id="scripts-header-js" defer></script>
vendor: 1 bytes, line 128
128
129<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/advanced-custom-fields-widget-master/assets/js/script.js?ver=f24d8351bd67f6945fbb071016396239" id="acf-widget-script-js"></script>
vendor: 1 bytes, line 129
129
130<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/service-layer-wp-plugin/public/js/icc_service_layer-public.js?ver=1.0.1" id="icc_service_layer-js"></script>
vendor: 1 bytes, line 130
130
131<script type="text/javascript" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/js/jquery-ui.min.js?ver=f24d8351bd67f6945fbb071016396239" id="jquery-ui-script-js"></script>
vendor: 1 bytes, line 131
131
132<script data-minify="1" type="text/javascript" src="https://www.iccsafe.org/wp-content/cache/min/1/wp-content/themes/iccsafe/build/scripts.fd4af358.js?ver=1790238020" id="iccsafe-scripts-js" defer></script>
vendor: 1 bytes, line 132
132
133<script type="text/javascript" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/js/popper.min.js?ver=f24d8351bd67f6945fbb071016396239" id="popper-script-js"></script>
vendor: 1 bytes, line 133
133
134<script data-minify="1" type="text/javascript" src="https://www.iccsafe.org/wp-content/cache/min/1/wp-content/themes/iccsafe/build/scripts-authentication-cerberus.7abc8d63.js?ver=1790238020" id="scripts-authentication-cerberus-js" defer></script>
vendor: 1 bytes, line 134
134
135<script type="text/javascript" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/js/bootstrap.min.js?ver=f24d8351bd67f6945fbb071016396239" id="bootstrap-script-js"></script>
vendor: 1 bytes, line 135
135
136<script type="text/javascript" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/dependencies/js/bootstrap.bundle.min.js?ver=f24d8351bd67f6945fbb071016396239" id="bootstrap-bundle-script-js"></script>
136 137<link rel="https://api.w.org/" href="https://www.iccsafe.org/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.iccsafe.org/wp-json/wp/v2/posts/223830" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.iccsafe.org/xmlrpc.php?rsd" /> 138 139<link rel='shortlink' href='https://www.iccsafe.org/?p=223830' /> 140<style type="text/css"> 141.wpNoJsCookieAlert{border: 1px solid #FF0000;color: #FF0000;padding: 0.5em;text-align: center;margin: auto;width: 900px;} 142#wp_nojs_warning{background:#FFFECF;position:fixed;left:0;top:0;padding:10px 10px 10px 0px;width:100%;border-bottom: 1px solid #E8E7C3;} 143#wp_nocookie_warning{background:#FFFECF;position:fixed;left:0;top:0;padding:10px 10px 10px 0px;width:100%;border-bottom: 1px solid #E8E7C3;} 144</style>
145<script type="text/javascript"> 146(function(url){ 147 if(/(?:Chrome\/26\.0\.1410\.63 Safari\/537\.31|WordfenceTestMonBot)/.test(navigator.userAgent)){ return; } 148 var addEvent = function(evt, handler) { 149 if (window.addEventListener) { 150 document.addEventListener(evt, handler, false); 151 } else if (window.attachEvent) { 152 document.attachEvent('on' + evt, handler); 153 } 154 }; 155 var removeEvent = function(evt, handler) { 156 if (window.removeEventListener) { 157 document.removeEventListener(evt, handler, false); 158 } else if (window.detachEvent) { 159 document.detachEvent('on' + evt, handler); 160 } 161 }; 162 var evts = 'contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop keydown keypress keyup mousedown mousemove mouseout mouseover mouseup mousewheel scroll'.split(' '); 163 var logHuman = function() { 164 if (window.wfLogHumanRan) { return; } 165 window.wfLogHumanRan = true; 166 var wfscr = document.createElement('script'); 167 wfscr.type = 'text/javascript'; 168 wfscr.async = true; 169 wfscr.src = url + '&r=' + Math.random(); 170 (document.getElementsByTagName('head')[0]||document.getElementsByTagName('body')[0]).appendChild(wfscr); 171 for (var i = 0; i < evts.length; i++) { 172 removeEvent(evts[i], logHuman); 173 } 174 }; 175 for (var i = 0; i < evts.length; i++) { 176 addEvent(evts[i], logHuman); 177 } 178})('//www.iccsafe.org/?wordfence_lh=1&hid=29F408F2C9282CA596834076893D01AF'); 179</script>
179<meta name="tec-api-version" content="v1"><meta name="tec-api-origin" content="https://www.iccsafe.org"><link rel="alternate" href="https://www.iccsafe.org/wp-json/tribe/events/v1/" /><meta name="robots" content="index, follow"><meta name="twitter:image" content="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg"><meta property="og:image" content="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg"><link rel="preconnect" href="//code.tidio.co"> <style type="text/css" id="wp-custom-css"> 180 footer .footer-wrapper .footer-nav-menus ul li { 181 padding: 0 40px !important; 182} 183.new-layout a:link { 184 color: #0b5940; 185} 186.new-layout h3 { 187 color: #21837c; 188} 189.new-layout table a:link { 190 color: #0b5940; 191} 192.new-layout table h3 { 193 color: #21837c; 194} 195.new-layout button, .new-layout btn-success { 196 background-color: #21837c; 197 border-color: #21837c; 198} 199.new-layout .acf-widget-data .accord-toggle{ 200 background-color: #21837c !important; 201} 202.new-layout .acf-widget-data .accord-toggle:hover{ 203 background-color: #21837c !important; 204} 205.new-layout .select-container .cat-reset{ 206 color: #fff !important; 207} 208.new-layout .fl-accordion-button-label { 209 color: #FFFFFF !important; 210} 211.acf-widget-data .accord-toggle .label { 212 color: white; 213} 214 215.ar-toc-toggle { background-color: #0077A8 !important;} </style> 216 217<!-- Global Schema -->
218<script type="application/ld+json"> 219{ 220 "@context": "https://schema.org", 221 "@graph": [ 222 { 223 "@type": "Organization", 224 "@id": "https://www.iccsafe.org/#organization", 225 "name": "International Code Council", 226 "alternateName": "ICC", 227 "url": "https://www.iccsafe.org/", 228 "slogan": "Building Confidence, Building Community\u00ae", 229 "description": "The International Code Council is the leading global source of model codes and standards and building safety solutions that include product evaluation, accreditation, technology, training, and certification.", 230 "foundingDate": "1994", 231 "sameAs": [ 232 "https://www.linkedin.com/company/31134", 233 "https://www.facebook.com/pages/International-Code-Council/122907857740822?ref=ts", 234 "https://twitter.com/IntlCodeCouncil", 235 "https://www.youtube.com/user/ICCMEDIA", 236 "https://www.instagram.com/intlcodecouncil/" 237 ], 238 "contactPoint": [ 239 { 240 "@type": "ContactPoint", 241 "contactType": "Customer Support", 242 "email": "[email protected]", 243 "telephone": "+1-888-422-7233", 244 "availableLanguage": "en" 245 } 246 ], 247 "location": [ 248 { 249 "@type": "Place", 250 "@id": "https://www.iccsafe.org/#location-washington-dc-hq", 251 "name": "International Code Council Headquarters (Washington, DC)", 252 "address": { 253 "@type": "PostalAddress", 254 "streetAddress": "200 Massachusetts Ave, NW, Suite 250", 255 "addressLocality": "Washington", 256 "addressRegion": "DC", 257 "postalCode": "20001", 258 "addressCountry": "US" 259 }, 260 "telephone": [ 261 "+1-888-422-7233", 262 "+1-202-370-1800" 263 ] 264 }, 265 { 266 "@type": "Place", 267 "@id": "https://www.iccsafe.org/#location-birmingham-al-eastern", 268 "name": "International Code Council Eastern Regional Office (Birmingham, AL)", 269 "address": { 270 "@type": "PostalAddress", 271 "streetAddress": "900 Montclair Road", 272 "addressLocality": "Birmingham", 273 "addressRegion": "AL", 274 "postalCode": "35213", 275 "addressCountry": "US" 276 }, 277 "telephone": "+1-888-422-7233", 278 "faxNumber": "+1-205-599-9871" 279 }, 280 { 281 "@type": "Place", 282 "@id": "https://www.iccsafe.org/#location-country-club-hills-il-central", 283 "name": "International Code Council Central Regional Office (Country Club Hills, IL)", 284 "address": { 285 "@type": "PostalAddress", 286 "streetAddress": "4051 Flossmoor Road", 287 "addressLocality": "Country Club Hills", 288 "addressRegion": "IL", 289 "postalCode": "60478", 290 "addressCountry": "US" 291 }, 292 "telephone": "+1-888-422-7233", 293 "faxNumber": "+1-708-799-4981" 294 }, 295 { 296 "@type": "Place", 297 "@id": "https://www.iccsafe.org/#location-brea-ca-western", 298 "name": "International Code Council Western Regional Office (Brea, CA)", 299 "address": { 300 "@type": "PostalAddress", 301 "streetAddress": "3060 Saturn Street, Suite 100", 302 "addressLocality": "Brea", 303 "addressRegion": "CA", 304 "postalCode": "92821", 305 "addressCountry": "US" 306 }, 307 "telephone": [ 308 "+1-888-422-7233", 309 "+1-800-786-4452" 310 ], 311 "faxNumber": [ 312 "+1-562-908-5524", 313 "+1-866-891-1695" 314 ] 315 }, 316 { 317 "@type": "Place", 318 "@id": "https://www.iccsafe.org/#location-lenexa-ks-distribution", 319 "name": "International Code Council Distribution Center (Lenexa, KS)", 320 "address": { 321 "@type": "PostalAddress", 322 "streetAddress": "11711 W 85th Street", 323 "addressLocality": "Lenexa", 324 "addressRegion": "KS", 325 "postalCode": "66214", 326 "addressCountry": "US" 327 }, 328 "telephone": "+1-888-422-7233", 329 "faxNumber": "+1-913-888-4526" 330 }, 331 { 332 "@type": "Place", 333 "@id": "https://www.iccsafe.org/#location-palatine-il-skghosh", 334 "name": "S. K. Ghosh Associates (Palatine, IL)", 335 "address": { 336 "@type": "PostalAddress", 337 "streetAddress": "334 East Colfax Street, Unit E", 338 "addressLocality": "Palatine", 339 "addressRegion": "IL", 340 "postalCode": "60067", 341 "addressCountry": "US" 342 }, 343 "telephone": "+1-847-991-2700", 344 "faxNumber": "+1-847-991-2702"
345 }, 346 { 347 "@type": "Place", 348 "@id": "https://www.iccsafe.org/#location-rochester-ny-generalcode", 349 "name": "General Code / ICC Community Development Solutions (Rochester, NY)", 350 "address": { 351 "@type": "PostalAddress", 352 "streetAddress": "3490 Winton Place", 353 "addressLocality": "Rochester", 354 "addressRegion": "NY", 355 "postalCode": "14623", 356 "addressCountry": "US" 357 }, 358 "telephone": "+1-800-836-8834" 359 }, 360 { 361 "@type": "Place", 362 "@id": "https://www.iccsafe.org/#location-nappanee-in-nta", 363 "name": "NTA (Nappanee, IN)", 364 "address": { 365 "@type": "PostalAddress", 366 "streetAddress": "305 N. Oakland Ave., P.O. Box 490", 367 "addressLocality": "Nappanee", 368 "addressRegion": "IN", 369 "postalCode": "46550", 370 "addressCountry": "US" 371 }, 372 "telephone": "+1-574-773-7975" 373 }, 374 { 375 "@type": "Place", 376 "@id": "https://www.iccsafe.org/#location-bryan-tx-nta-lab", 377 "name": "NTA Testing Laboratory (Bryan, TX)", 378 "address": { 379 "@type": "PostalAddress", 380 "streetAddress": "6151 Mumford Road", 381 "addressLocality": "Bryan", 382 "addressRegion": "TX", 383 "postalCode": "77807", 384 "addressCountry": "US" 385 }, 386 "telephone": "+1-979-487-2350" 387 }, 388 { 389 "@type": "Place", 390 "@id": "https://www.iccsafe.org/#location-dubai-uae-mena", 391 "name": "International Code Council MENA Regional Office (Dubai, UAE)", 392 "address": { 393 "@type": "PostalAddress", 394 "streetAddress": "Dubai Association Centre Office, One Central, Building 2, Office 8, Dubai World Trade Centre Complex, P.O. Box 9292", 395 "addressLocality": "Dubai", 396 "addressCountry": "AE" 397 }, 398 "telephone": [ 399 "+9714 5163035", 400 "+97152 2673007" 401 ] 402 }, 403 { 404 "@type": "Place", 405 "@id": "https://www.iccsafe.org/#location-canberra-au-oceania", 406 "name": "International Code Council OCEANIA Regional Office (Canberra ACT, Australia)", 407 "address": { 408 "@type": "PostalAddress", 409 "streetAddress": "Level 9 Nishi Building, 2 Phillip Law Street, NewActon", 410 "addressLocality": "Canberra", 411 "addressRegion": "ACT", 412 "postalCode": "2601", 413 "addressCountry": "AU" 414 }, 415 "telephone": [ 416 "+61 417 734 749", 417 "+61 2 6243 5192" 418 ] 419 } 420 ] 421 }, 422 { 423 "@type": "WebSite", 424 "@id": "https://www.iccsafe.org/#website", 425 "url": "https://www.iccsafe.org/", 426 "name": "ICC - International Code Council", 427 "publisher": { 428 "@id": "https://www.iccsafe.org/#organization" 429 } 430 } 431 ] 432} 433</script>
433 434<!-- Post/Page Specific Schema -->
435<script type="application/ld+json"> 436{ 437 "@context": "https://schema.org", 438 "@graph": [ 439 { 440 "@type": "WebPage", 441 "@id": "https://www.iccsafe.org/products-and-services/codes-standards/#webpage", 442 "url": "https://www.iccsafe.org/products-and-services/codes-standards/", 443 "name": "Codes & Standards", 444 "description": "International Code Council overview of codes and standards, code and standards development processes, and key tools and resources for committees, hearings, and participation.", 445 "isPartOf": { 446 "@id": "https://www.iccsafe.org/#website" 447 }, 448 "publisher": { 449 "@id": "https://www.iccsafe.org/#organization" 450 }, 451 "about": [ 452 { 453 "@type": "Thing", 454 "name": "International Codes (I-Codes)" 455 }, 456 { 457 "@type": "Thing", 458 "name": "Model codes" 459 }, 460 { 461 "@type": "Thing", 462 "name": "Standards development" 463 }, 464 { 465 "@type": "Thing", 466 "name": "Code development process" 467 }, 468 { 469 "@type": "Thing", 470 "name": "Technical committees" 471 } 472 ], 473 "mentions": [ 474 { 475 "@type": "Thing", 476 "name": "Committees & Council Pages" 477 }, 478 { 479 "@type": "Thing", 480 "name": "Hearing videos" 481 }, 482 { 483 "@type": "Thing", 484 "name": "Interim Code Amendments" 485 }, 486 { 487 "@type": "Thing", 488 "name": "Scope & Intent Questions" 489 }, 490 { 491 "@type": "Thing", 492 "name": "Digital Codes Premium" 493 }, 494 { 495 "@type": "Thing", 496 "name": "Technical Support" 497 }, 498 { 499 "@type": "Thing", 500 "name": "cdpACCESS" 501 } 502 ], 503 "significantLink": [ 504 "https://www.iccsafe.org/products-and-services/i-codes/the-i-codes/", 505 "https://www.iccsafe.org/products-and-services/codes-standards-dev/", 506 "https://www.cdpaccess.com/", 507 "https://energy.cdpaccess.com/", 508 "https://codes.iccsafe.org/" 509 ], 510 "hasPart": [ 511 { 512 "@type": "MediaObject", 513 "@id": "https://www.iccsafe.org/products-and-services/codes-standards/#icc-periodic-table-pdf", 514 "name": "International Code Council Periodic Table (International Codes, Standards & Guidelines)", 515 "encodingFormat": "application/pdf", 516 "contentUrl": "https://www.iccsafe.org/wp-content/uploads/ICC_Periodic_Table_INFO.pdf", 517 "publisher": { 518 "@id": "https://www.iccsafe.org/#organization" 519 } 520 }, 521 { 522 "@type": "MediaObject", 523 "@id": "https://www.iccsafe.org/products-and-services/codes-standards/#committee-position-types-pdf", 524 "name": "Codes, Standard, and Guideline Committee Position Types", 525 "encodingFormat": "application/pdf", 526 "contentUrl": "https://www.iccsafe.org/wp-content/uploads/ICC_TS_Committee_Types.pdf", 527 "publisher": { 528 "@id": "https://www.iccsafe.org/#organization" 529 } 530 } 531 ] 532 } 533 ] 534} 535</script>
535
536<script>if(typeof ajaxurl == "undefined"){var ajaxurl = "https://www.iccsafe.org/front-ajax.php"; }else{ ajaxurl = "https://www.iccsafe.org/front-ajax.php"; }</script>
536<script>var homeurl = "https://www.iccsafe.org";</script>
536<noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript></head> 537 538<body class="wp-singular post-template post-template-page-templates post-template-bsm-full-width post-template-page-templatesbsm-full-width-php single single-post postid-223830 single-format-standard wp-theme-iccsafe fl-builder fl-builder-2-10-1-3 fl-no-js tribe-no-js"> 539 540<header id="main-header"> 541 <article> 542 <a id="skip-to-main-content" href="#scroll-to-main-content">Skip to Main Content</a> 543 <button id="open-mobile-menu" title="Open main menu" aria-haspopup="true" aria-controls="main-menu">Open main menu</button> 544 <a id="link-header-logo" href="https://www.iccsafe.org/" aria-label="Home"> 545 <figure> 546 <img class="logo" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="International Code Council Logo" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/logo-desktop.svg"><noscript><img class="logo" src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/logo-desktop.svg" alt="International Code Council Logo"></noscript> 547 <figcaption><h1 role="heading" aria-level="1">International Code Council</h1></figcaption> 548 </figure> 549 </a> 550 <nav id="main-menu" role="navigation" aria-expanded="false" aria-labelledby="main-menu-title"><h1 id="main-menu-title">Main Menu</h1><button id="close-mobile-menu" title="Close main menu" aria-controls="main-menu">Close main menu</button><h2>Menu</h2><ul><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: About">About</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/26-26325_CORP_Affordability_Nav_WAD_FINAL.jpg" class="rocket-lazyload" href="https://www.iccsafe.org/affordability" title="Building Codes Save Lives and Money" style="" aria-label="Link opens a new tab" target="_blank"></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: About">About</button></li><li class=""><a href="https://www.iccsafe.org/about/who-we-are/">Who We Are</a></li><li class=""><a href="https://www.iccsafe.org/about/leadership/">Leadership</a></li><li class=""><a href="https://www.iccsafe.org/about/sponsors/">Sponsors</a></li><li class=""><a href="https://www.iccsafe.org/icc-bylaws-and-council-policies/">Corporate Governance</a></li><li class=""><a href="https://www.iccsafe.org/about/news-and-events/code-council-awards/">Annual Awards</a></li><li class=""><a href="https://www.iccsafe.org/about/careers-at-icc/">Careers at ICC</a></li><li class=""><a href="https://www.iccsafe.org/about/contact-icc/">Contact Us</a></li><li class=""><a href="https://www.iccsafe.org/annual-report" target="_blank" aria-label="Annual Reports - link opens a new tab">Annual Reports</a></li></ul></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: Membership">Membership</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/22-22033_MEM_HomePg_Nav_Graphics_WEB_FINAL_C_Benefits.jpg" class="rocket-lazyload" href="https://www.iccsafe.org/membership" title="Membership benefits, join today" style="" aria-label="Link opens a new tab" target="_blank"></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: Membership">Membership</button></li><li class=""><a href="https://www.iccsafe.org/membership/about-membership/">Join ICC</a></li><li class=""><a href="https://www.iccsafe.org/membership/membership-renewal/">Renew/Reinstate</a></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Member Resources">Member Resources</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Member Resources">Member Resources</button></li><li class=""><a href="https://www.iccsafe.org/membership/membership-resources/">Resources Homepage</a></li><li class=""><a href="https://support.iccsafe.org/article-categories/membership/" target="_blank" aria-label="Support Portal - link o
550pens a new tab">Support Portal</a></li></ul></li><li class=""><a href="https://www.iccsafe.org/content/member-discussions/" target="_blank" aria-label="Member Community - link opens a new tab">Member Community</a></li><li class=""><a href="https://www.iccsafe.org/membership/councils-and-committees/">Councils & Committees</a></li><li class=""><a href="https://www.iccsafe.org/membership/chapters/chapters-overview/">Chapters</a></li><li class=""><a href="https://support.iccsafe.org/article-categories/membership/" target="_blank" aria-label="Support Portal - link opens a new tab">Support Portal</a></li></ul></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: Professional Development">Professional Development</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/25-25502_CORP_Code_Enforcement_Program_Nav_Ad_WAD_FINAL.jpg" class="rocket-lazyload" href="https://solutions.iccsafe.org/code-enforcement-program" title="New! ICC Code Enforcement Program" style="" aria-label="Link opens a new tab" target="_blank"></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: Professional Development">Professional Development</button></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Training">Training</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Training">Training</button></li><li class=""><a href="https://www.iccsafe.org/professional-development/training/">Training Programs</a></li><li class=""><a href="https://www.iccsafe.org/professional-development/icc-learn-live-events/">ICC Learn Live</a></li><li class=""><a href="https://www.iccsafe.org/content/online-learning-subscription/">Online Learning Subscription</a></li><li class=""><a href="https://ppp.iccsafe.org/" target="_blank" aria-label="Preferred Provider - link opens a new tab">Preferred Provider</a></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Credentialing">Credentialing</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Credentialing">Credentialing</button></li><li class=""><a href="https://www.iccsafe.org/professional-development/certifications-and-testing/credentialing/">Credentialing Homepage</a></li><li class=""><a href="https://www.iccsafe.org/credentialing/pronto/">PRONTO</a></li><li class=""><a href="https://www.iccsafe.org/certification-exam-catalog/">Exam Catalog</a></li><li class=""><a href="https://www.iccsafe.org/credentialing/maintain-renew/">Maintain/Renew Certification</a></li><li class=""><a href="https://www.iccsafe.org/search-for-certified-professionals/">Search for Certified Professionals</a></li></ul></li><li class=""><a href="https://www.iccsafe.org/content/job-board-member-redirect/" target="_blank" aria-label="Job Board - link opens a new tab">Job Board</a></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Start in Building Safety">Start in Building Safety</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Start in Building Safety">Start in Building Safety</button></li><li class=""><a href="/professional-development/safety2/">Safety 2.0 Program</a></li><li class=""><a href="/building-safety-your-new-career-path/">Building Safety Career Path</a></li><li class=""><a href="/professional-development/safety2/technical-training-program/">Technical Training Program</a></li><li class=""><a href="/professional-development/safety2/#mentor">Mentor Program</a></li><li class=""><a href="/professional-development/safety2/icc-military-families-building-career-path-program/">Military Families Career Path</a></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Scholarships">
550Scholarships</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Scholarships">Scholarships</button></li><li class=""><a href="/professional-development/education/scholarships/">Scholarships Homepage</a></li><li class=""><a href="/membership/scholarships/code-of-honor-scholarships/">Code of Honor</a></li><li class=""><a href="/membership/scholarships/emory-r-rodgers-leadership-in-building-safety-fellowship/">Emory Rodgers</a></li><li class=""><a href="/professional-development/safety2/leadership-experience/">Leadership Experience</a></li></ul></li></ul></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: Products/Services">Products/Services</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/24-23853_CDS_DigEplan_Nav_AD_FINAL_2a.jpg" class="rocket-lazyload" href="https://icc-cds.com/digeplan/" title="CDS DigEplan Ad" style="" aria-label="Link opens a new tab" target="_blank"></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: Products/Services">Products/Services</button></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Codes & Standards">Codes & Standards</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Codes & Standards">Codes & Standards</button></li><li class=""><a href="/products-and-services/codes-standards/">Codes & Standards Homepage</a></li><li class=""><a href="https://www.cdpaccess.com/login/" target="_blank" aria-label="cdpACCESS - link opens a new tab">cdpACCESS</a></li><li class=""><a href="/advocacy/">Code Adoptions</a></li><li class=""><a href="/products-and-services/i-codes/code-development/">Code Development</a></li><li class=""><a href="/products-and-services/standards-development/standard-development-process/">Standard Development</a></li><li class=""><a href="/products-and-services/technical-opinions/">Code Interpretations</a></li></ul></li><li class=""><a href="/products-and-services/product-evaluation-and-testing/">Product Evaluation & Testing</a></li><li class=""><a href="/products-and-services/accreditation/">Accreditation</a></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Innovation & Technology">Innovation & Technology</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Innovation & Technology">Innovation & Technology</button></li><li class=""><a href="/products-and-services/innovation/">ICC Innovation Homepage</a></li><li class=""><a href="https://www.generalcode.com/codification/?__hstc=22899940.ae8049e2815a2272d4618cc24624583a.1638371292132.1640111022179.1640114253231.70&__hssc=22899940.8.1640114253231&__hsfp=892684130" target="_blank" aria-label="Codification Services - link opens a new tab">Codification Services</a></li><li class=""><a href="https://icc-cds.com/?__hstc=22899940.ae8049e2815a2272d4618cc24624583a.1638371292132.1640111022179.1640114253231.70&__hssc=22899940.5.1640114253231&__hsfp=892684130" target="_blank" aria-label="Community Development Solutions - link opens a new tab">Community Development Solutions</a></li><li class=""><a href="https://codes.iccsafe.org/" target="_blank" aria-label="Digital Codes Premium - link opens a new tab">Digital Codes Premium</a></li><li class=""><a href="/advocacy/safety-toolkits/remote-virtual-inspections/">Remote Virtual Inspections</a></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: Expert Services">Expert Services</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - Expert Services">Expert Services</button></li><li class=""><a href="/products-and-services/consulting/">Expert Services Homepage</a></li><li class=""><a href="/products-and-services/planreview/">Plan Review</a></li><li class="">
550<a href="https://icc-es.org/marketinsights/">Market Insights</a></li><li class=""><a href="https://www.iccsafe.org/products-and-services/technical-opinions/">Code Opinions</a></li></ul></li><li class=""><a href="/products-and-services/global-services/">Global Solutions</a></li></ul></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: Resources/News">Resources/News</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/26-26282_CORP_FDM_Battery_Pro_Rpt_Nav_WAD_v2aa.jpg" class="rocket-lazyload" href="https://www.iccsafe.org/wp-content/uploads/ICC_Early_Release_Guide_2027_International_Fire_Code_Battery_Safety_Provisions.pdf" title="Early Release 2027 IFC Battery Provisions" style="" aria-label="Link opens a new tab" target="_blank"></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: Resources/News">Resources/News</button></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="2" title="Open sub-menu: News & Events">News & Events</button><ul class="main-nav-third-level" aria-expanded="false"><li class="title"><button class="close-submenu" title="Return to the previous menu - News & Events">News & Events</button></li><li class=""><a href="/about/news-and-events/">News & Events Homepage</a></li><li class=""><a href="/about/news-and-events/annual-conferences-hearings/future-annual-meetings/">Annual Meetings</a></li><li class=""><a href="/building-safety-journal/" target="_blank" aria-label="Building Safety Journal - link opens a new tab">Building Safety Journal</a></li><li class=""><a href="http://buildingsafetymonth.org">Building Safety Month</a></li><li class=""><a href="/advocacy/position-statements-and-comments/">Position Statements & Comments</a></li></ul></li><li class=""><a href="/affordability">Affordability Resource</a></li><li class=""><a href="/products-and-services/codes-standards/energy/">Energy Resource</a></li><li class=""><a href="https://www.iccsafe.org/products-and-services/fdm/">Fire and Disaster Mitigation Resource</a></li><li class=""><a href="/advocacy/safety-toolkits/offsite-construction">Off-Site Construction Resource</a></li><li class=""><a href="/products-and-services/i-codes/pmg/">PMG Resource</a></li><li class=""><a href="/advocacy/safety-toolkits/">More Building Topics</a></li></ul></li></ul></li><li class="has-children" aria-haspopup="true" aria-expanded="false"><button class="open-submenu" data-level="1" title="Open sub-menu: Store">Store</button><ul class="main-menu-second-level" aria-expanded="false" class="no-print"><li class="main-menu-nav-image"><a data-bg="https://www.iccsafe.org/wp-content/uploads/26-25987_CORP_MTS_NASH_Nav_170x240_WAD_FINAL.jpg" class="rocket-lazyload" href="https://www.iccsafe.org/events/conference/welcome/" title="2026 ICC Annual Conference & Expo" style="" ></a></li><li class="main-menu-second-level-items"><ul><li class="title"><button class="close-submenu" title="Return to the previous menu: Store">Store</button></li><li class=""><a href="https://shop.iccsafe.org/" target="_blank" aria-label="ICC Products - link opens a new tab">ICC Products</a></li><li class=""><a href="https://icodecouncil.itemorder.com">ICC Gear & Accessories</a></li></ul></li></ul></li><li class=""><a href="https://codes.iccsafe.org/" target="_blank" aria-label="Digital Codes - link opens a new tab">Digital Codes</a></li></ul></nav> <ul id="actions-menu" aria-owns="open-family-of-solutions-menu open-search-box open-sign-in-popup open-user-menu link-my-icc link-open-admin-panel link-logout"> 551 <li> 552 <button id="open-family-of-solutions-menu" title="Open Family of Solutions menu" aria-haspopup="true" aria-owns="fos-flyout-menu">Open Family of Solutions menu</button> 553 <ul id="fos-flyout-menu" class="fos-menu-ul hide-fos"><li id="menu-item-316805" class="fos-menu-header menu-item menu-item-type-custom menu-item-object-custom menu-item-316805 nav-item" role="none presentation"><a title="ICC Family of Solutions" href="#" class="nav-link" role="menuitem">ICC Family of Solutions</a></li> 554<li id="menu-item-316798" class="fos-menu-link fos-iccsafe menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-316798 nav-item" role="none presentation"><a title="ICCSafe" href="https://www.iccsafe.org" class="nav-link" role="menuitem">ICCSafe</a></li> 555<li id="menu-item-316799" class="fos-menu-link fos-myicc menu-item menu-item-type-custom menu-item-object-custom menu-item-316799 nav-item" role="none presentation"><a title="myICC" href="https://my.iccsafe.org" class="nav-link" role="menuitem">myICC</a></li> 556<li id="menu-item-316800" class="fos-menu-link fos-digitalcodes menu-item menu-item-type-custom menu-item-object-custom menu-item-316800 nav-item" role="none presentation"><a title="Digital Codes" href="https://codes.iccsafe.org" class="nav-link" role="menuitem">Digital Codes</a></li> 557<li id="menu-item-316801" class="fos-menu-link fos-cdpaccess menu-item menu-item-type-custom menu-item-object-custom menu-item-316801 nav-item" role="none presentation"><a title="cdpACCESS" href="https://www.cdpaccess.com" class="nav-link" role="menuitem">cdpACCESS</a></li> 558<li id="menu-item-316802" class="fos-menu-link fos-store menu-item menu-item-type-custom menu-item-object-custom menu-item-316802 nav-item" role="none presentation"><a title="Store" href="https://shop.iccsafe.org/" class="nav-link" role="menuitem">Store</a></li> 559<li id="menu-item-316803" class="fos-menu-link fos-support menu-item menu-item-type-custom menu-item-object-custom menu-item-316803 nav-item" role="none presentation"><a title="Support" href="https://support.iccsafe.org/" class="nav-link" role="menuitem">Support</a></li> 560</ul> </li> 561 <li>
561<button id="open-search-box" title="Open the search field" aria-haspopup="true" aria-owns="google-search-box">Open Search</button></li> 562 <li><button id="open-sign-in-popup" class="sign-in-span" title="Opens the sign in popup" aria-haspopup="dialog" aria-owns="login-block">Sign In</button>
562<script>let userIsLoggedIn = false;</script>
562</li> 563 </ul> 564 </article> 565 <aside id="google-search-box" role="search"><div class="gcse-searchbox-only" data-resultsUrl="https://www.iccsafe.org/search_gcse/"></div></aside> 566</header> 567 568<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 568-570
568 569<noscript> 570 <iframe src="https://www.googletagmanager.com/ns.html?id=
570GTM-NPKHPXR
vendor: 84 bytes, lines 570-571
570" height="0" width="0" style="display:none;visibility:hidden"></iframe> 571</noscript>
572<!-- End Google Tag Manager (noscript) --> 573<div class="sign-in-overlay" role="dialog"> 574 <div class="loader-content"> 575 <aside id="login-block"> 576 <button type="button" class="close" data-dismiss="login-block" aria-label="Close" aria-hidden="true">×</button> 577 <p id="signin-register-heading">Sign In or <a href="/register">Register Here</a></p> 578 579 <form id="login-form" class="sign-in-block-inner"> 580 <fieldset class="labeled"> 581 <legend>Provide your email address</legend> 582 <label class="user" id="sign-in-email">Username</label> 583 <input id="eml_field" name="input-email" value="" type="text" class="form-control sign-in-email-field" aria-describedby="sign-in-email" aria-label="Sign in email input field" placeholder="Provide your email address"> 584 </fieldset> 585 <fieldset class="labeled"> 586 <legend>Provide your password</legend> 587 <label class="password" id="sign-in-password">Password</label> 588 <input name="input-password" value="" type="password" class="form-control sign-in-password-field" aria-describedby="sign-in-password" aria-label="Sign in password input field" placeholder="Provide your password"> 589 </fieldset> 590 <fieldset class="labeled"> 591 <legend>Answer the math challenge</legend> 592 <label class="math" id="sign-in-input-math">4 plus three</label> 593 <input name="input-login-math" type="text" class="form-control sign-in-input-math-field" aria-describedby="sign-in-input-math" aria-label="sign in input math field" placeholder="Answer the math challenge" value=""> 594 <input name="input-math-recipe" type="hidden" value="A2N73koaNMJua+pm5qmiGw=="> 595 </fieldset> 596 <aside class="hidden"> 597 <span class="input-group-addon" id="sign-in-validate-password-verify"></span> 598 <input name="input-password-verify" type="text" aria-describedby="sign-in-validate-password-verify" aria-label="sign in validate password verify field" placeholder="Verify your password" value=""> 599 <input name="action" type="hidden" class="form-control" value="attempt_login"> 600 <input name="input_csrf_login" type="hidden" id="login_csrf" value="ae6f4c4c64bfe417bb0879ffc45f4bccdf11b4d4"> 601 <input name="input_csrf_recipe" type="hidden" value="NvX5NyEIi42GRKPpnlPmvsNsBByhZLjhKNlvr+QJWV+6giDqv87Y5jlPVVRB2UY2"> 602 </aside> 603 <button type="submit" id="hidden-login-btn" style="display: none;">Submit</button> 604 </form> 605 606 <form id="reset-password-form" class="forgot-password-block"> 607 <input type="hidden" name="input-current-page-link" value="https%3A%2F%2Fwww.iccsafe.org%2Fproducts-and-services%2Fcodes-standards%2F"> 608 <header>Please enter your e-mail address below. We will email you a link to reset your password.</header> 609 <fieldset class="labeled"> 610 <legend>Provide your email address</legend> 611 <label class="user" id="reset-email">Username</label> 612 <input id="reset-field" name="input-reset-email" value="" type="text" class="form-control reset-email-field" aria-describedby="reset-email" aria-label="reset email field" placeholder="Provide your email address"> 613 </fieldset> 614 <fieldset class="labeled"> 615 <legend>Answer the math challenge</legend> 616 <label class="math" id="reset-input-math">8 minus four</label> 617 <input name="input-reset-math" type="text" class="form-control reset-math-field" aria-describedby="reset-input-math" aria-label="reset math challenge field" placeholder="Answer the math challenge" value=""> 618 <input name="input-math-recipe" type="hidden" value="aCN1KYa3qxrsZVbEsBTixw=="> 619 </fieldset> 620 <aside class="hidden"> 621 <span class="input-group-addon" id="reset-validate-password-verify"></span> 622 <input name="input-password-verify" type="text" aria-describedby="reset-validate-password-verify" aria-label="reset validate password verify field" placeholder="Verify your password" value=""> 623 <input name="action" type="hidden" class="form-control" value="forgot_password_by_email"> 624 <input name="input_csrf_forgot" type="hidden" id="input_csrf_forgot" value="20c9bc02c2e860f27b6bf4e768abe76e8e23342b"> 625 <input name="input_csrf_recipe" type="hidden" value="kH79navQs9SDoTXI8zQjAxl72ML2DT8JXXEi33Gazrf3hf4/00JC6DyRfBxXY6Zd"> 626 </aside> 627 <button type="submit" id="hidden-submit-btn" style="display: none;">Submit</button> 628 </form> 629 630 <form id="confirm-email-form" class="confirm-email-block"> 631 <header>To complete your registration, please verify your email address.</header> 632 <fieldset class="labeled"> 633 <legend>Answer the math challenge</legend> 634 <label class="math" id="email-confirm-input-math">1 plus one</label> 635 <input name="input-email-confirm-math" type="text" class="form-control email-confirm-math-field" aria-describedby="email-confirm-input-math" aria-label="email confirm input math field" placeholder="Answer the math challenge" value=""> 636 <input name="input-math-recipe" type="hidden" value="dwTfegspcOXspV6cvCL7Pg=="> 637 </fieldset> 638 <aside class="hidden"> 639 <input name="action" type="hidden" class="form-control" value="send_account_confirmation_email"> 640 <input name="user-email" id="user-email-conf" type="hidden" value=""> 641 <input name="is_not_confirmed" type="hidden" value="1"> 642 <input name="input_csrf_confirm_email" type="hidden" id="input_csrf_confirm_email" value="446bfea434cf414e2343591268281fa940c75d24"> 643 <input name="input_csrf_recipe" type="hidden" value="MtcXnZdt5Q4sT1eyt+4VDb9ryfpg1ZR/LgfdswEw03JutvEgE0SNSdv0bEKSqjBl"> 644 </aside> 645 <button type="submit" id="hidden-confirm-email-btn" style="display: none;">Submit</button> 646 </form> 647 648 <article class="sent-confirm-email-block"> 649 <p>We have emailed the address you provided. Please click the link in the email to confirm your email address.</p> 650 </article> 651 652 <form id="force-reset-form" class="force-reset-block"> 653 <header>Your account has been marked for password reset. Please change your password.</header> 654 <fieldset> 655 <legend>Provide your new password</legend>
656 <span class="input-group-addon" id="force-password"><i class="fa fa-lock" aria-label="New Password"></i></span> 657 <input name="input-force-new-password" aria-label="New Password" autocomplete="off" value="" type="password" class="form-control" aria-describedby="force-password" placeholder="Provide your new password"> 658 </fieldset> 659 <fieldset> 660 <legend>Verify your new password</legend> 661 <span class="input-group-addon" id="password"><i class="fa fa-lock" aria-label="Verify Password"></i></span> 662 <input name="input-force-verify-password" aria-label="Current Password" autocomplete="off" value="" type="password" class="form-control" aria-describedby="password" placeholder="Verify your new password"> 663 </fieldset> 664 <fieldset> 665 <legend>Answer the math challenge</legend> 666 <span class="input-group-addon" id="force-input-math">9 minus four</span> 667 <input name="input-force-math" type="text" class="form-control force-input-math-field" aria-describedby="force-input-math" aria-label="force input math field" placeholder="Answer the math challenge" value=""> 668 </fieldset> 669 <aside class="hidden"> 670 <input name="input-math-recipe" type="hidden" value="2IAxTKjrSRPrJaDqwMl0tQ=="> 671 <span class="input-group-addon" id="force-validate-password-verify"></span> 672 <input name="input-force-password-verify" type="text" aria-describedby="force-validate-password-verify" aria-label="force validate password verify field" placeholder="Verify your password" value=""> 673 <input name="action" type="hidden" class="form-control" value="force_reset_password_by_avectra"> 674 <input name="user-email" type="hidden" value=""> 675 <input name="input-force-old-password" type="hidden" value=""> 676 <input name="input_csrf_force" type="hidden" id="input_csrf_force" value="53493e5ebef3f436710341bd15cc5e652837d6fc"> 677 <input name="input_csrf_recipe" type="hidden" value="ZJv554CDej30UWt1irdOupSkaTPN5S3KhMMqjxckbrmQ5yU6d4n9xteLRPj62zFu"> 678 </aside>
679 <button type="submit" id="hidden-force-reset-btn" style="display: none;">Submit</button> 680 </form> 681 682 <article class="restricted-content-block"> 683 <p>Only registered ICC members have access to this article at this time.</p> 684 <p><a href="/benefits" class="alert-link">Explore all the benefits that ICC Membership has to offer</a> and become a member today to gain access to this exciting content.</p> 685 <p>If you're already an ICC member <a href="#" class="form-toggle">Sign In</a> Now.</p> 686 </article> 687 688 <div id="action-block"> 689 <button type="submit" id="login_forgot_password_submit" class="login-button form-action">Sign In</button> 690 </div> 691 <div class="flash-card"><div id="flash-block" role="alert" aria-relevant="all"></div></div> 692 <article class="login-block-footer"> 693 <p id="can-we-help-text">Can We Help?</p> 694 <ul> 695 <li><a class="form-toggle" href="#">Reset My Password</a></li> 696 <li><a href="https://support.iccsafe.org/?ht_kb_category=myicc" target="_blank" aria-label="Link opens support.iccsafe.org in a new tab" rel="noopener">I Need More Help</a></li> 697 </ul> 698 </article> 699 </aside> </div> 700</div> 701 702<hr id="scroll-to-main-content"><aside id="top-banner"> 703 <figure id="top-banner"> 704 705 <img class="desktop" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Codes & Standards" data-lazy-src="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg.webp" /><noscript><img class="desktop" src="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg.webp" alt="Codes & Standards" /></noscript> 706 <img class="mobile" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Codes & Standards" data-lazy-src="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg.webp" /><noscript><img class="mobile" src="https://www.iccsafe.org/wp-content/uploads/codes-standards-header.jpg.webp" alt="Codes & Standards" /></noscript> 707 </figure> 708</aside><main id="main-content"> 709<article id="post-223830" class="post-223830 post type-post status-publish format-standard hentry category-codes-and-standards category-products-and-services"> 710 <div class="fl-builder-content fl-builder-content-223830 fl-builder-content-primary fl-builder-global-templates-locked" data-post-id="223830"><div class="fl-row fl-row-fixed-width fl-row-bg-none fl-node-5ec273f33b5e4 fl-row-default-height fl-row-align-center" data-node="5ec273f33b5e4"> 711 <div class="fl-row-content-wrap"> 712 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 713 714<div class="fl-col-group fl-node-5ec273f33b632" data-node="5ec273f33b632"> 715 <div class="fl-col fl-node-5ec273f33b67a fl-col-bg-color" data-node="5ec273f33b67a"> 716 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-html fl-html fl-node-5ec273f33b6bf" data-node="5ec273f33b6bf"> 717 <style> 718 main .content-area{ 719 margin-bottom:0; 720 } 721 main .top-banner-container .top-banner img{ 722 height:auto!important; 723 min-height: auto !important; 724 } 725 main .top-banner-container { 726 min-height: auto !important; 727 } 728 729 .fl-builder-content .fl-col.fl-col-small, .fl-builder-content .fl-module { 730 margin-bottom: 16px; 731} 732</style></div> 733</div> 734</div> 735 </div> 736 </div> 737 </div> 738</div> 739<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-5ec273f33b705 fl-row-default-height fl-row-align-center" data-node="5ec273f33b705"> 740 <div class="fl-row-content-wrap"> 741 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 742 743<div class="fl-col-group fl-node-5ec273f33b749" data-node="5ec273f33b749"> 744 <div class="fl-col fl-node-5ec273f33b798 fl-col-bg-color" data-node="5ec273f33b798"> 745 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a5b6044828" data-node="604a5b6044828"> 746 <h1 style="text-align: center; color: #0b5940; margin-bottom: 5px;">ICC CODES AND STANDARDS</h1> 747<h5 style="text-align: center; color: #21837c; font-size: 28px;">The Most Trusted and Adopted Global Model Codes</h5> 748</div> 749</div> 750</div> 751 </div> 752 </div> 753 </div> 754</div> 755<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-604a5be2afdf3 fl-row-default-height fl-row-align-center" data-node="604a5be2afdf3"> 756 <div class="fl-row-content-wrap"> 757 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 758 759<div class="fl-col-group fl-node-604a5be2c42db fl-col-group-equal-height fl-col-group-align-center" data-node="604a5be2c42db"> 760 <div class="fl-col fl-node-604a5be2c4411 fl-col-bg-color fl-col-small" data-node="604a5be2c4411"> 761 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-html fl-html fl-node-604a5be2af977" data-node="604a5be2af977"> 762 <p style="text-align: left; margin-top:0px; margin-bottom: 20px; font-size: 20px; line-height: 164%;">The International Codes, or I-Codes, are the most trusted source of 763model codes and standards. Decades of knowledge and experience guide our code development process to create safe, sustainable and affordable communities 764and a level playing field for builders, developers and manufacturers. As industry experts, we provide the codes and standards that our members turn to, 765building safety professionals rely on and manufacturers trust.</p> 766<p class="main" style="text-align: left; margin-bottom: 20px; font-size: 20px; line-height: 134%;"> 767 <a href="https://www.iccsafe.org/products-and-services/i-codes/the-i-codes/">Learn More About I-Codes</a></p></div> 768</div> 769</div> 770 <div class="fl-col fl-node-m5s01vgiok24 fl-col-bg-color fl-col-small" data-node="m5s01vgiok24"> 771 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-594ph7oi0qf2" data-node="594ph7oi0qf2"> 772 <p style="text-align: center;"><img fetchpriority="high" decoding="async" class="aligncenter wp-image-246284" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20500%20368'%3E%3C/svg%3E" alt="pr sr group codes2" width="500" height="368" data-lazy-srcset="https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2.png.webp 600w,https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2-300x221.png.webp 300w" data-lazy-sizes="(max-width: 500px) 100v
772w, 500px" data-lazy-src="https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2.png.webp" /><noscript><img fetchpriority="high" decoding="async" class="aligncenter wp-image-246284" src="https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2.png.webp" alt="pr sr group codes2" width="500" height="368" srcset="https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2.png.webp 600w,https://www.iccsafe.org/wp-content/uploads/pr-sr-group_codes2-300x221.png.webp 300w" sizes="(max-width: 500px) 100vw, 500px" /></noscript></p> 773</div> 774</div> 775</div> 776 </div> 777 </div> 778 </div> 779</div> 780<div class="fl-row fl-row-full-width fl-row-bg-color fl-node-jvwdz06bcqnh fl-row-custom-height fl-row-align-center" data-node="jvwdz06bcqnh"> 781 <div class="fl-row-content-wrap"> 782 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 783 784<div class="fl-col-group fl-node-iq4rymhsxt08" data-node="iq4rymhsxt08"> 785 <div class="fl-col fl-node-kjha7twli68g fl-col-bg-color" data-node="kjha7twli68g"> 786 <div class="fl-col-content fl-node-content"></div> 787</div> 788 </div> 789 790<div class="fl-col-group fl-node-kj9c7hm0e42y" data-node="kj9c7hm0e42y"> 791 <div class="fl-col fl-node-w6sun2mtog5h fl-col-bg-color" data-node="w6sun2mtog5h"> 792 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a5d14b1d68" data-node="604a5d14b1d68"> 793 <h3 style="text-align: center; color: #0b5940;">Quick Links</h3> 794</div> 795</div> 796</div> 797 </div> 798 799<div class="fl-col-group fl-node-v89uclti6mne" data-node="v89uclti6mne"> 800 <div class="fl-col fl-node-6fxidmeatv5g fl-col-bg-color fl-col-small" data-node="6fxidmeatv5g"> 801 <div class="fl-col-content fl-node-content"></div> 802</div> 803 <div class="fl-col fl-node-p3f86ntomx40 fl-col-bg-color fl-col-small" data-node="p3f86ntomx40"> 804 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-z6fdpw4irmu9" id="news-btn" data-node="z6fdpw4irmu9"> 805 <a href="https://www.iccsafe.org/products-and-services/i-codes/code-development-committees/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 806 <i class="fl-button-icon fl-button-icon-before fas fa-users" aria-hidden="true"></i> 807 <span class="fl-button-text">Committees & Council Pages</span> 808 </a> 809 </div> 810<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-of2s0d19iyqa" data-node="of2s0d19iyqa"> 811 <a href="https://www.iccsafe.org/products-and-services/i-codes/code-development-changes/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 812 <i class="fl-button-icon fl-button-icon-before fas fa-bacterium" aria-hidden="true"></i> 813 <span class="fl-button-text">Code Process</span> 814 </a> 815 </div> 816<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-tyfw9nko0m5d" data-node="tyfw9nko0m5d"> 817 <a href="/committees/cdc/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 818 <i class="fl-button-icon fl-button-icon-before dashicons dashicons-before dashicons-media-document" aria-hidden="true"></i> 819 <span class="fl-button-text">Code Cycle Information & Committees Page</span> 820 </a> 821 </div> 822<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-7jpolx53wify" data-node="7jpolx53wify"> 823 <a href="https://2023701800.sharepoint.com/:b:/s/ICC-CS_AETECHNICALSERVICESGROUP/EQkXKtEoHDVOqRmR8a6em3QBbzRpFfDbPUb_YWWLbNkm1w?e=3k0jO7" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 824 <i class="fl-button-icon fl-button-icon-before fas fa-edit" aria-hidden="true"></i> 825 <span class="fl-button-text">CP-28 Cost Impact Supplemental Guideline</span> 826 </a> 827 </div> 828<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-63h71lx9ugnf" id="news-btn" data-node="63h71lx9ugnf"> 829 <a href="https://form.jotform.com/Code_Apps/ICC_Appeal" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 830 <i class="fl-button-icon fl-button-icon-before fas fa-balance-scale" aria-hidden="true"></i> 831 <span class="fl-button-text">Appeal (Process Complaints)</span> 832 </a> 833 </div> 834<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-hw8zmrq47a3y" id="news-btn" data-node="hw8zmrq47a3y"> 835 <a href="https://www.iccsafe.org/products-and-services/technical-opinions/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 836 <i class="fl-button-icon fl-button-icon-before fab fa-buromobelexperte" aria-hidden="true"></i> 837 <span class="fl-button-text">Code Opinions / Interpretations</span> 838 </a> 839 </div> 840<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-4f10hgraw8sj" id="news-btn" data-node="4f10hgraw8sj"> 841 <a href="https://form.jotform.com/Code_Apps/icc_SIQ" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 842 <i class="fl-button-icon fl-button-icon-before fas fa-question-circle" aria-hidden="true"></i> 843 <span class="fl-button-text">Scope & Intent Question</span> 844 </a> 845 </div> 846<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-lcgmf509q2zb" id="news-btn" data-node="lcgmf509q2zb"> 847 <a href="https://iccsafe.jotform.com/260114907524048" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 848 <i class="fl-button-icon fl-button-icon-before fas fa-bug" aria-hidden="true"></i> 849 <span class="fl-button-text">Errata</span> 850 </a> 851 </div> 852<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-63o0fj9zk2xn" id="news-btn" data-node="63o0fj9zk2xn"> 853 <a href="https://form.jotform.com/Code_Apps/ICC_ICA" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 854 <i class="fl-button-icon fl-button-icon-before fas fa-plus-square" aria-hidden="true"></i> 855 <span class="fl-button-text">Interim Code Amendment</span> 856 </a> 857 </div> 858<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-cd25xptf3w8i" id="news-btn" data-node="cd25xptf3w8i"> 859 <a href="https://iccsafe.jotform.com/form/ICC-NDA_Agreement_Request" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 860 <i class="fl-button-icon fl-button-icon-before fas fa-handshake" aria-hidden="true"></i> 861 <span class="fl-button-text">NDA</span> 862 </a> 863 </div> 864</div> 865</div> 866 <div class="fl-col fl-node-e4k3mrc1ogn2 fl-col-bg-color fl-col-small" data-node="e4k3mrc1ogn2"> 867 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-pl1kewm3uyzs" data-node="pl1kewm3uyzs"> 868 <a href="https://www.iccsafe.org/membership/councils-committees/call-for-councils-and-committees/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 869 <i class="fl-button-icon fl-button-icon-before fas fa-money-check" aria-hidden="true"></i> 870 <span class="fl-button-text">Call for Committee</span> 871 </a> 872 </div> 873<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-odb80cxm53as" data-node="odb80cxm53as"> 874 <a href="https://www.iccsafe.org/membership/councils-committees/icc-committee-application/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 875 <i class="fl-button-icon fl-button-icon-before fas fa-id-card" aria-hidden="true"></i> 876 <span class="fl-button-text">Committee Applications & Interested Parties</span> 877 </a> 878 </div> 879<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-hu0y2fcmr7wq" id="news-btn" data-node="hu0y2fcmr7wq"> 880 <a href="https://forms.microsoft.com/r/PUAiR38n8u" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 881 <i class="fl-button-icon fl-button-icon-before fas fa-address-card" aria-hidden="true"></i> 882 <span class="fl-button-text">Update my Contact Information for Committees</span> 883 </a> 884 </div> 885<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-cfmuo12g4q9y" id="news-btn" data-node="cfmuo12g4q9y"> 886 <a href="https://www.cdpaccess.com/videos/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 887 <i class="fl-button-icon fl-button-icon-before fas fa-video" aria-hidden="true"></i> 888 <span class="fl-button-text">Hearing Videos</span> 889 </a> 890 </div> 891<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-cluv7wh523gr" id="news-btn" data-node="cluv7wh523gr"> 892 <a href="https://cdpaccess.com" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 893 <i class="fl-button-icon fl-button-icon-before fas fa-comments" aria-hidden="true"></i> 894 <span class="fl-button-text">cdpAccess | Codes</span> 895 </a> 896 </div> 897<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-5wsl03ck84hd" id="news-btn" data-node="5wsl03ck84hd"> 898 <a href="https://energy.cdpaccess.com" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 899 <i class="fl-button-icon fl-button-icon-before fas fa-leaf" aria-hidden="true"></i> 900 <span class="fl-button-text">cdpAccess | Standards</span> 901 </a> 902 </div> 903<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-qez7ujtv3fin" id="news-btn" data-node="qez7u
903jtv3fin"> 904 <a href="https://www.iccsafe.org/about/news-and-events/" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 905 <i class="fl-button-icon fl-button-icon-before fas fa-flag" aria-hidden="true"></i> 906 <span class="fl-button-text">News and Events/BSJ</span> 907 </a> 908 </div> 909<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-96cheqj07ks2" id="news-btn" data-node="96cheqj07ks2"> 910 <a href="https://2023701800.sharepoint.com/:f:/s/ICC-CS_AETECHNICALSERVICESGROUP/En2CdbGij1dHvxByDCevSScBBfnut0DenqWk-Yq7Y6kAZQ?e=mmRjBQ" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 911 <i class="fl-button-icon fl-button-icon-before fas fa-plane" aria-hidden="true"></i> 912 <span class="fl-button-text">Committee Travel Resources</span> 913 </a> 914 </div> 915<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-button-has-icon fl-node-rd8xyim3ws7h" id="news-btn" data-node="rd8xyim3ws7h"> 916 <a href="https://forms.microsoft.com/r/JY1HMukcF5" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 917 <i class="fl-button-icon fl-button-icon-before fas fa-clipboard-list" aria-hidden="true"></i> 918 <span class="fl-button-text">Committee Meeting SignIn <br> (Select Committee Use)</span> 919 </a> 920 </div> 921<div class="fl-module fl-module-button fl-button-wrap fl-button-width-custom fl-button-center fl-node-cy852usrl7pv" id="news-btn" data-node="cy852usrl7pv"> 922 <a href="https://2023701800.sharepoint.com/:b:/s/ICC-CS_AETECHNICALSERVICESGROUP/IQCshBW2MEXwQaPBWohSQvvfATsbv3OupenBCqe813mq-hY?e=GAgBei" target="_blank" rel="noopener" class="fl-button" rel="noopener" > 923 <span class="fl-button-text">ICC Style Guide for Codes, <br>Standards and Guidelines</span> 924 </a> 925 </div> 926</div> 927</div> 928 <div class="fl-col fl-node-uifdz1oxhsep fl-col-bg-color fl-col-small" data-node="uifdz1oxhsep"> 929 <div class="fl-col-content fl-node-content"></div> 930</div> 931 </div> 932 933<div class="fl-col-group fl-node-8d43lpjaxyq6" data-node="8d43lpjaxyq6"> 934 <div class="fl-col fl-node-84dxlegrh9f7 fl-col-bg-color" data-node="84dxlegrh9f7"> 935 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-fdpotqmwr5xa" data-node="fdpotqmwr5xa"> 936 <p style="text-align: center; margin-top: 40px;"><a href="https://www.iccsafe.org/wp-content/uploads/ICC_Periodic_Table_INFO.pdf" target="_blank" rel="noopener"><img decoding="async" class="aligncenter wp-image-542004" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20543%20275'%3E%3C/svg%3E" alt="ICC Periodic Table. International Codes, Standards, Guidlines" width="543" height="275" data-lazy-src="https://www.iccsafe.org/wp-content/uploads/23-22734_CORP_Periodic_Table_Thumbnails_WEB_v3a.gif" /><noscript><img decoding="async" class="aligncenter wp-image-542004" src="https://www.iccsafe.org/wp-content/uploads/23-22734_CORP_Periodic_Table_Thumbnails_WEB_v3a.gif" alt="ICC Periodic Table. International Codes, Standards, Guidlines" width="543" height="275" /></noscript></a></p> 937</div> 938<div class="fl-module fl-module-rich-text fl-rich-text fl-node-q97smzypiufv" data-node="q97smzypiufv"> 939 <div style="max-width: 600px; margin: 0 auto;"> 940<p id="committee-type" class="main2" style="font-size: 17px; margin-bottom: 10px; text-align: center; padding: 0px 20px;">Download the <a style="color: #19625d;" href="https://www.iccsafe.org/wp-content/uploads/ICC_Periodic_Table_INFO.pdf" target="_blank" rel="noopener">International Code Council Periodic Table</a> as a quick reference to all of ICC's codes, standards and guidelines.</p> 941</div> 942</div> 943<div class="fl-module fl-module-rich-text fl-rich-text fl-node-ie1tqsz9j3gv" data-node="ie1tqsz9j3gv"> 944 <p style="text-align: center; margin-top: 40px;"><a href="https://www.iccsafe.org/wp-content/uploads/ICC_TS_Committee_Types.pdf" target="_blank" rel="noopener"><img decoding="async" class="aligncenter wp-image-596408" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20543%20305'%3E%3C/svg%3E" alt="Technical Services Committee Types table" width="543" height="305" data-lazy-srcset="https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img.jpg.webp 720w,https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img-300x169.jpg.webp 300w" data-lazy-sizes="(max-width: 543px) 100vw, 543px" data-lazy-src="https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img.jpg.webp" /><noscript><img decoding="async" class="aligncenter wp-image-596408" src="https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img.jpg.webp" alt="Technical Services Committee Types table" width="543" height="305" srcset="https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img.jpg.webp 720w,https://www.iccsafe.org/wp-content/uploads/TS_Committee_Types_img-300x169.jpg.webp 300w" sizes="(max-width: 543px) 100vw, 543px" /></noscript></a></p> 945</div> 946<div class="fl-module fl-module-rich-text fl-rich-text fl-node-brf4ioglc3ny" data-node="brf4ioglc3ny"> 947 <div style="max-width: 600px; margin: 0 auto;"> 948<p class="main2" style="font-size: 17px; margin-bottom: 10px; text-align: center; padding: 0px 20px;">View the <a style="color: #19625d;" href="https://www.iccsafe.org/wp-content/uploads/ICC_TS_Committee_Types.pdf" target="_blank" rel="noopener">Codes, Standard, and Guideline Committee Position Types</a></p> 949</div> 950</div> 951</div> 952</div> 953 </div> 954 </div> 955 </div> 956</div> 957<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-604a5d14b208f fl-row-custom-height fl-row-align-center" data-node="604a5d14b208f"> 958 <div class="fl-row-content-wrap"> 959 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 960 961<div class="fl-col-group fl-node-604a5d14c5a42" data-node="604a5d14c5a42"> 962 <div class="fl-col fl-node-604a5d14c5ad1 fl-col-bg-color" data-node="604a5d14c5ad1"> 963 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-gjtcn1u0ipwz" data-node="gjtcn1u0ipwz"> 964 <h3 style="text-align: center; color: #0b5940;">Codes and Standards Development Processes</h3> 965<p style="font-size: 17px; margin-bottom: 20px; text-align: center; padding: 0px 30px;">The International Code Council has a system for developing model codes and standards based on trust and transparency.</p> 966</div> 967</div> 968</div> 969 </div> 970 971<div class="fl-col-group fl-node-604a5ec24d509" data-node="604a5ec24d509"> 972 <div class="fl-col fl-node-604a5ec24d624 fl-col-bg-color fl-col-small fl-animation fl-fade-up" data-node="604a5ec24d624" data-animation-delay="0" data-animation-duration="1"> 973 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a5ed27dbd4" data-node="604a5ed27dbd4"> 974 <h4 style="color: #21837c;">Codes</h4> 975<p style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;">Our democratic approach to developing and publishing codes (I‑Codes) enables the people closest to codes to shape the regulations and participate in ensuring public health, safety and welfare of the people who live in, work in and visit the community you serve.</p> 976<p class="main" style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;"><a href="https://www.iccsafe.org/products-and-services/i-codes/code-development/">Learn more</a></p> 977</div> 978</div> 979</div> 980 <div class="fl-col fl-node-604a5ec24d62b fl-col-bg-color fl-col-small fl-animation fl-fade-up" data-node="604a5ec24d62b" data-animation-delay="1" data-animation-duration="1"> 981 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a5f2b6f94a" data-node="604a5f2b6f94a"> 982 <h4 style="color: #21837c;">Standards</h4> 983<p style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;">The process of developing standards is led by a technical committee, including stakeholders, through meetings guided by expert opinions to ensure the safest standards are implemented.</p> 984<p class="main" style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;"><a href="https://www.iccsafe.org/products-and-services/standards-development/standard-development-process/">Learn more</a></p> 985</div> 986</div> 987</div> 988 </div> 989 </div> 990 </div> 991</div> 992<div class="fl-row fl-row-full-width fl-row-bg-color fl-node-604a63f738bdd fl-row-custom-height fl-row-align-center" data-node="604a63f738bdd"> 993 <div class="fl-row-content-wrap"> 994 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 995 996<div class="fl-col-group fl-node-604a63f74eee8" data-node="604a63f74eee8"> 997 <div class="fl-col fl-node-604a63f74f008 fl-col-bg-color fl-col-has-cols" data-node="604a63f74f008"> 998 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a6401bc8f8" data-node="604a6401bc8f8"> 999 <h3 style="text-align: center; color: #0b5940; padding: 0px 20px;">Code and Standards Tools</h3> 1000<div style="max-width: 800px; margin: 0 auto;"> 1001<p style="font-size: 17px; margin-bottom: 20px; text-align: center; padding: 0px 30px;">As the creator of the most trusted and adopted codes and standards, our comprehensive solutions and tools help you fully understand and apply the codes we develop.</p> 1002</div> 1003</div> 1004
1005<div class="fl-col-group fl-node-zf92japcwk0x fl-col-group-nested" data-node="zf92japcwk0x"> 1006 <div class="fl-col fl-node-qz680kb2xd3r fl-col-bg-color fl-col-small" data-node="qz680kb2xd3r"> 1007 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a6460a6358" data-node="604a6460a6358"> 1008 <h4 style="color: #21837c;">Technical Support</h4> 1009<p style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;">We make the process of understanding and applying code efficient and straightforward by offering plan reviews, code commentaries and code interpretations.</p> 1010<p class="main" style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;"><a style="color: #19625d;" href="https://www.iccsafe.org/products-and-services/technical-services/">Learn more</a></p> 1011</div> 1012</div> 1013</div> 1014 <div class="fl-col fl-node-kecqh6urin8x fl-col-bg-color fl-col-small" data-node="kecqh6urin8x"> 1015 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a647e16ea7" data-node="604a647e16ea7"> 1016 <h4 style="color: #21837c;">Digital Codes</h4> 1017<p style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;">Simplify your code research process with our digital codes platform. Stay up to date with code changes, easily find and review codes, collaborate with teammates and organize all of your work in one place.</p> 1018<p class="main" style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;"><a style="color: #19625d;" href="https://codes.iccsafe.org/">Learn more</a></p> 1019</div> 1020</div> 1021</div> 1022 <div class="fl-col fl-node-t2rmibsuafge fl-col-bg-color fl-col-small" data-node="t2rmibsuafge"> 1023 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-u7m6hr1ilzy4" data-node="u7m6hr1ilzy4"> 1024 <h4 style="color: #21837c;">Publications</h4> 1025<p style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;">Search our store for the latest in codes and standards publications. Print, PDF, and digital versions available.</p> 1026<p class="main" style="font-size: 17px; margin-bottom: 20px; text-align: left; padding: 0px;"><a style="color: #19625d;" href="https://shop.iccsafe.org/">Learn more</a></p> 1027</div> 1028</div> 1029</div> 1030 </div> 1031</div> 1032</div> 1033 </div> 1034 </div> 1035 </div> 1036</div> 1037<div class="fl-row fl-row-full-width fl-row-bg-none fl-node-604a654b9b2d7 fl-row-custom-height fl-row-align-center" data-node="604a654b9b2d7"> 1038 <div class="fl-row-content-wrap"> 1039 <div class="fl-row-content fl-row-fixed-width fl-node-content"> 1040 1041<div class="fl-col-group fl-node-604a654bb59a2" data-node="604a654bb59a2"> 1042 <div class="fl-col fl-node-604a654bb5b5b fl-col-bg-color" data-node="604a654bb5b5b"> 1043 <div class="fl-col-content fl-node-content"><div class="fl-module fl-module-rich-text fl-rich-text fl-node-604a65553d081" data-node="604a65553d081"> 1044 <p style="margin-bottom: 20px; font-size: 30px; line-height: 134%; text-align: center; padding: 0px 20px;">Be Confident in the Codes You Implement</p> 1045</div> 1046<div class="fl-module fl-module-button fl-button-wrap fl-button-width-auto fl-button-center fl-node-604a657c3f43d" data-node="604a657c3f43d"> 1047 <a href="https://www.iccsafe.org/about/contact-icc/" target="_self" class="fl-button" > 1048 <span class="fl-button-text">Contact Us</span> 1049 </a> 1050 </div> 1051</div> 1052</div> 1053 </div> 1054 </div> 1055 </div> 1056</div> 1057</div></article></main> 1058 <!-- Creates the bootstrap modal where the image will appear --> 1059 <div class="modal fade" id="imagemodal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> 1060 <div class="modal-dialog"> 1061 <div class="modal-content"> 1062 <div class="modal-header"> 1063 <button type="button" class="close" data-dismiss="modal"> 1064 <span aria-hidden="true">×</span> 1065 <span class="sr-only">Close</span> 1066 </button> 1067 </div> 1068 <div class="modal-body"> 1069 <img src="" class="imagepreview" style="width:100%;" alt="image in modal box" > 1070 </div> 1071 <div class="modal-footer"> 1072 <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 1073 </div> 1074 </div> 1075 </div> 1076 </div> 1077<footer id="mainFooter" role="contentinfo"> 1078 <section class="top"> 1079 <figure class="corporateLogo desktop"> 1080 <button type="button" class="footer-logo-btn" data-scroll-top aria-label="Scroll to top of page" title="Scroll to top of page"> 1081 <img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="International Code Council" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/footer-logo.svg"><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/footer-logo.svg" alt="International Code Council"></noscript> 1082 </button>
1083 <figcaption>International Code Council</figcaption> 1084 </figure> 1085 <figure class="corporateLogo mobile"> 1086 <button type="button" class="footer-logo-btn" data-scroll-top aria-label="Scroll to top of page" title="Scroll to top of page"> 1087 <img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="International Code Council" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/icc_logo.svg"><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/icc_logo.svg" alt="International Code Council"></noscript> 1088 </button> 1089 <figcaption>International Code Council</figcaption> 1090 </figure> 1091 <article class="subscribe"> 1092 <h2>Subscribe to the Building Safety Journal</h2> 1093 <a href="/about/periodicals-and-newsroom/subscribe/">Subscribe</a> 1094 </article> 1095 <article class="social"> 1096 <h2>Connect with Us</h2> 1097 <ul> 1098 <li><a href="//www.linkedin.com/company/31134" class="linkedin" target="_blank" rel="noopener" title="Link opens ICC Linked-In page in a new tab">LinkedIn</a></li> 1099 <li><a href="//www.facebook.com/pages/International-Code-Council/122907857740822?ref=ts" class="facebook" target="_blank" rel="noopener" title="Link opens ICC Facebook page in a new tab">Facebook</a></li> 1100 <li><a href="//twitter.com/IntlCodeCouncil" class="x" target="_blank" rel="noopener" title="Link opens ICC Twitter X page in a new tab">X</a></li> 1101 <li><a href="//www.youtube.com/user/ICCMEDIA" class="youtube" target="_blank" rel="noopener" title="Link opens ICC Youtube page in a new tab">YouTube</a></li> 1102 <li><a href="https://www.instagram.com/intlcodecouncil/" class="instagram" target="_blank" rel="noopener" title="Link opens ICC Instagram page in a new tab">Instagram</a></li> 1103 </ul> 1104 </article> 1105 </section> 1106 <section class="bottom"> 1107 <h2>oneICC</h2> 1108 <ul class="logos"> 1109 <li class="icc"><a href="https://iccsafe.org/" target="_blank" rel="noopener" title="Link opens iccsafe.org in a new tab"> 1110 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="International Code Council" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc.svg" alt="International Code Council" loading="lazy" /></noscript></figure> 1111 </a></li> 1112 <li class="es"><a href="//icc-es.org/" target="_blank" rel="noopener" title="Link opens //icc-es.org/ in a new tab"> 1113 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="ICC Evaluation Service" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-es.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-es.svg" alt="ICC Evaluation Service" loading="lazy" /></noscript></figure> 1114 </a></li> 1115 <li class="ias"><a href="//www.iasonline.org/" target="_blank" rel="noopener" title="Link opens //www.iasonline.org/ in a new tab"> 1116 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="International Accreditation Service" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-ias.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-ias.svg" alt="International Accreditation Service" loading="lazy" /></noscript></figure> 1117 </a></li> 1118 <li class="skga"><a href="//skghoshassociates.com/" target="_blank" rel="noopener" title="Link opens //skghoshassociates.com/ in a new tab"> 1119 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="S. K. Gosh Associates" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/skga.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/skga.svg" alt="S. K. Gosh Associates" loading="lazy" /></noscript></figure> 1120 </a></li> 1121 <li class="nta"><a href="//www.icc-nta.org/" target="_blank" rel="noopener" title="Link opens //www.icc-nta.org/ in a new tab"> 1122 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="ICC NTA" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-nta.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-nta.svg" alt="ICC NTA" loading="lazy" /></noscript></figure> 1123 </a></li> 1124 <li class="cds"><a href="https://icc-cds.com" target="_blank" rel="noopener" title="Link opens https://icc-cds.com in a
1124new tab"> 1125 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="ICC Community Development" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-code-development.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/icc-code-development.svg" alt="ICC Community Development" loading="lazy" /></noscript></figure> 1126 </a></li> 1127 <li class="alp"><a href="https://www.icccodesolutions.org/" target="_blank" rel="noopener" title="Link opens https://www.icccodesolutions.org/ in a new tab"> 1128 <figure><img src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="ICC Code Solutions" loading="lazy" data-lazy-src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/code-solutions.svg" /><noscript><img src="https://www.iccsafe.org/wp-content/themes/iccsafe/assets/img/oneicc/code-solutions.svg" alt="ICC Code Solutions" loading="lazy" /></noscript></figure> 1129 </a></li> 1130 </ul> 1131 <nav role="navigation"><div class="menu-footer-menu-2022-container"><ul id="menu-footer-menu-2022" class="menu"><li id="menu-item-515417" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-515417"><a href="/about/icc-online-privacy-policy/">Privacy Policy</a></li> 1132<li id="menu-item-515420" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-515420"><a href="/about/terms-of-use/">Terms of Use</a></li> 1133<li id="menu-item-515421" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-515421"><a href="/about/contact-icc/">Contact Us</a></li> 1134<li id="menu-item-515422" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-515422"><a href="/content/accessibility/">Accessibility Policy</a></li> 1135</ul></div></nav> 1136 </section> 1137</footer>
1138<script type="speculationrules"> 1139{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/iccsafe/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 1140</script>
1140 1141
1141<script type="text/javascript"> 1142 var cookieEnabled=(navigator.cookieEnabled)? true : false; 1143 if (typeof navigator.cookieEnabled=="undefined" && !cookieEnabled){ 1144 document.cookie="testcookie"; 1145 cookieEnabled=(document.cookie.indexOf("testcookie")!=-1)? true : false; 1146 } 1147 if(!cookieEnabled){ 1148 document.write('<div id="wp_nocookie_warning"><p class="wpNoJsCookieAlert">NOTE: Many features on this website require Cookies. You can enable Cookie via your browser\'s preference settings. If you need help, contact our WebSupport via LiveChat.</p></div>'); 1149 } 1150 </script>
1150 1151 <noscript><div id="wp_nojs_warning"><p class="wpNoJsCookieAlert">NOTE: Many features on ICCSafe's website require JavaScript. You can enable JavaScript via your browser's preference settings. If you need help, contact our WebSupport via LiveChat.</p></div></noscript>
1151<script> 1152 ( function ( body ) { 1153 'use strict'; 1154 body.className = body.className.replace( /\btribe-no-js\b/, 'tribe-js' ); 1155 } )( document.body ); 1156 </script>
1156 1157
1157<script> /* <![CDATA[ */var tribe_l10n_datatables = {"aria":{"sort_ascending":": activate to sort column ascending","sort_descending":": activate to sort column descending"},"length_menu":"Show _MENU_ entries","empty_table":"No data available in table","info":"Showing _START_ to _END_ of _TOTAL_ entries","info_empty":"Showing 0 to 0 of 0 entries","info_filtered":"(filtered from _MAX_ total entries)","zero_records":"No matching records found","search":"Search:","all_selected_text":"All items on this page were selected. ","select_all_link":"Select all pages","clear_selection":"Clear Selection.","pagination":{"all":"All","next":"Next","previous":"Previous"},"select":{"rows":{"0":"","_":": Selected %d rows","1":": Selected 1 row"}},"datepicker":{"dayNames":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"dayNamesShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"dayNamesMin":["S","M","T","W","T","F","S"],"monthNames":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesShort":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthNamesMin":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"nextText":"Next","prevText":"Prev","currentText":"Today","closeText":"Done","today":"Today","clear":"Clear"}};/* ]]> */ </script>
1157<script type="text/javascript" id="google_cse_v2-js-extra"> 1158/* <![CDATA[ */ 1159var scriptParams = {"google_search_engine_id":"011680485502119705034:96joabtwwby"}; 1160//# sourceURL=google_cse_v2-js-extra 1161/* ]]> */ 1162</script>
vendor: 1 bytes, line 1162
1162
1163<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/wp-google-search/assets/js/google_cse_v2.js?ver=1" id="google_cse_v2-js"></script>
vendor: 1 bytes, line 1163
1163
1164<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/the-events-calendar/common/build/js/user-agent.js?ver=da75d0bdea6dde3898df" id="tec-user-agent-js"></script>
vendor: 1 bytes, line 1164
1164
1165<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/bb-plugin/js/libs/jquery.imagesloaded.min.js?ver=2.10.1.3" id="imagesloaded-js"></script>
vendor: 1 bytes, line 1165
1165
1166<script type="text/javascript" src="https://www.iccsafe.org/wp-includes/js/masonry.min.js?ver=4.2.2" id="masonry-js" defer></script>
vendor: 1 bytes, line 1166
1166
1167<script type="text/javascript" src="https://www.iccsafe.org/wp-includes/js/jquery/jquery.masonry.min.js?ver=3.1.2b" id="jquery-masonry-js" defer></script>
vendor: 1 bytes, line 1167
1167
1168<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/bb-plugin/js/libs/jquery.waypoints.min.js?ver=2.10.1.3" id="jquery-waypoints-js"></script>
vendor: 1 bytes, line 1168
1168
1169<script data-minify="1" type="text/javascript" src="https://www.iccsafe.org/wp-content/cache/min/1/wp-content/uploads/bb-plugin/cache/223830-layout.js?ver=1790238874" id="fl-builder-layout-223830-js" defer></script>
vendor: 1 bytes, line 1169
1169
1170<script type="text/javascript" id="iccSSO_public-js-extra"> 1171/* <![CDATA[ */ 1172var iccSSO = {"ajax_url":"https://www.iccsafe.org/wp-admin/admin-ajax.php","security":"42d128c582"}; 1173//# sourceURL=iccSSO_public-js-extra 1174/* ]]> */ 1175</script>
vendor: 1 bytes, line 1175
1175
1176<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/cognito-wp-plugin-master/public/assets/js/cognito-login.js" id="iccSSO_public-js"></script>
vendor: 1 bytes, line 1176
1176
1177<script type="text/javascript" src="https://www.iccsafe.org/wp-content/plugins/simple-share-buttons-adder/js/ssba.js?ver=f24d8351bd67f6945fbb071016396239" id="simple-share-buttons-adder-ssba-js"></script>
vendor: 1 bytes, line 1177
1177
1178<script type="text/javascript" id="simple-share-buttons-adder-ssba-js-after"> 1179/* <![CDATA[ */ 1180Main.boot( [] ); 1181//# sourceURL=simple-share-buttons-adder-ssba-js-after 1182/* ]]> */ 1183</script>
vendor: 1 bytes, line 1183
1183
1184<script type="text/javascript" id="rocket-browser-checker-js-after"> 1185/* <![CDATA[ */ 1186"use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); 1187//# sourceURL=rocket-browser-checker-js-after 1188/* ]]> */ 1189</script>
vendor: 1 bytes, line 1189
1189
1190<script type="text/javascript" id="rocket-preload-links-js-extra"> 1191/* <![CDATA[ */ 1192var RocketPreloadLinksConfig = {"excludeUris":"/myicc/|/building-safety-journal/|/professional-development/technical-training-program/|/building-safety-your-new-career-path/|/safety2/|/products-and-services/i-codes/code-development/iecc-2024-and-beyond/|/products-and-services/energy/join-the-conversation/|/products-and-services/codes-standards/energy/|/about/contact-us/|/advocacy/building-safety-month/2021-building-safety-month/proclamations/online-form/|/products-and-services/performance-code/|/codessave/|/advocacy/coronavirus-response-center/advocacy/|/advocacy/building-safety-month/2026-proclamations/|/advocacy/building-safety-month/2023-proclamations-form/|/advocacy/building-safety-month/2023-proclamations/|/advocacy/building-safety-month/2024-proclamations/|/advocacy/iecc-benefits/|/certification-exam-catalog/|/professional-development/development-committees/|/professional-development/certifications-and-testing/certification-reinstatement/|/events/conference/welcome/|/events/conference/speakers-ac23/|/annual-report-2021/|/connect-with-the-assessment-center/|/content/exam-development-committee-archive/|/advocacy/|/products-and-services/technical-opinions/request-for-code-opinion/|/membership/scholarships/emory-r-rodgers-leadership-in-building-safety-fellowship/|/advocacy/building-safety-month/2025-proclamations/|/content/bsj-submissions/|/contractor-training/ct-all/|/contractor-training/pceal/|/contractor-training/pceco/|/contractor-training/mgifl/|/contractor-training/bcus/|/contractor-training/mgmus/|/contractor-training/pectx/|/contractor-training/peptx/|/contractor-training/plctx/|/contractor-training/pcetx/|/contractor-training/usrap/|/contractor-training/nccer/|/contractor-training/asse/|/contractor-training/ct-home/|/contractor-training/pictx/|/contractor-training/apprenticeship/|/contractor-training/bpat/|/international-code-adoptions/|/about/overview/international-code-adoptions/|/(?:.+/)?feed(?:/(?:.+/?)?)?$|/(?:.+/)?embed/|/(index\\.php/)?wp\\-json(/.*|$)|/icc-admin/|/wp-admin/|/logout/|/icc-admin/|/refer/|/go/|/recommend/|/recommends/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|php|pdf|html|htm","siteUrl":"https://www.iccsafe.org","onHoverDelay":"100","rateThrottle":"3"}; 1193//# sourceURL=rocket-preload-links-js-extra 1194/* ]]> */ 1195</script>
vendor: 1 bytes, line 1195
1195
1196<script type="text/javascript" id="rocket-preload-links-js-after"> 1197/* <![CDATA[ */ 1198(function() { 1199"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); 1200}()); 1201 1202//# sourceURL=rocket-preload-links-js-after 1203/* ]]> */ 1204</script>
vendor: 1 bytes, line 1204
1204
1205<script type='text/javascript'> 1206document.tidioChatCode = "k8t1fnmfe1rywpbfgugd4cxoref1bwji"; 1207(function() { 1208 function asyncLoad() { 1209 var tidioScript = document.createElement("script"); 1210 tidioScript.type = "text/javascript"; 1211 tidioScript.async = true; 1212 tidioScript.src = "//code.tidio.co/k8t1fnmfe1rywpbfgugd4cxoref1bwji.js"; 1213 document.body.appendChild(tidioScript); 1214 } 1215 if (window.attachEvent) { 1216 window.attachEvent("onload", asyncLoad); 1217 } else { 1218 window.addEventListener("load", asyncLoad, false); 1219 } 1220})(); 1221</script>
1221<script>window.lazyLoadOptions={elements_selector:"img[data-lazy-src],.rocket-lazyload,iframe[data-lazy-src]",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}};window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} 1222if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} 1223images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} 1224if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script>
1224<script data-no-minify="1" async src="https://www.iccsafe.org/wp-content/plugins/wp-rocket/assets/js/lazyload/17.5/lazyload.min.js"></script>
1224<script>function lazyLoadThumb(e){var t='<img data-lazy-src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"><noscript><img src="https://i.ytimg.com/vi/ID/hqdefault.jpg" alt="" width="480" height="360"></noscript>',a='<button class="play" aria-label="play Youtube video"></button>';return t.replace("ID",e)+a}function lazyLoadYoutubeIframe(){var e=document.createElement("iframe"),t="ID?autoplay=1";t+=0===this.parentNode.dataset.query.length?'':'&'+this.parentNode.dataset.query;e.setAttribute("src",t.replace("ID",this.parentNode.dataset.src)),e.setAttribute("frameborder","0"),e.setAttribute("allowfullscreen","1"),e.setAttribute("allow", "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"),this.parentNode.parentNode.replaceChild(e,this.parentNode)}document.addEventListener("DOMContentLoaded",function(){var e,t,p,a=document.getElementsByClassName("rll-youtube-player");for(t=0;t<a.length;t++)e=document.createElement("div"),e.setAttribute("data-id",a[t].dataset.id),e.setAttribute("data-query", a[t].dataset.query),e.setAttribute("data-src", a[t].dataset.src),e.innerHTML=lazyLoadThumb(a[t].dataset.id),a[t].appendChild(e),p=e.querySelector('.play'),p.onclick=lazyLoadYoutubeIframe});</script>
1224<script> 1225 //for event calendar plugin 1226 if (typeof GeoLoc !== "undefined" && ajaxurl !== "undefined") { 1227 GeoLoc.ajaxurl = ajaxurl; 1228 } 1229 if (typeof TribeList !== "undefined" && ajaxurl !== "undefined") { 1230 TribeList.ajaxurl = ajaxurl; 1231 } 1232 if (typeof TribeCalendar !== "undefined" && ajaxurl !== "undefined") { 1233 TribeCalendar.ajaxurl = ajaxurl; 1234 } 1235 if (typeof TribeWeek !== "undefined" && ajaxurl !== "undefined") { 1236 TribeWeek.ajaxurl = ajaxurl; 1237 } 1238 //for YouTube gallery plugin 1239 if (typeof ytcAjax !== "undefined" && ajaxurl !== "undefined") { 1240 ytcAjax.ajaxurl = ajaxurl; 1241 } 1242 //change ACF plugin AJAX URL to front-end ajax url 1243 if (typeof acf !== "undefined" && typeof acf.o !== "undefined" && ajaxurl !== "undefined") { 1244 acf.o.ajaxurl = ajaxurl; 1245 } 1246 //LiveChat send more info about user 1247 const phplive_v = {}; 1248 phplive_v["Member_ID"] = ""; 1249</script>
vendor: 1 bytes, line 1249
1249
1250<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"NRBR-3c087b243cdad8817da","applicationID":"1503205717","transactionName":"b1ZSYhADV0UCUkdYW1YccVUWC1ZYTFNAXBleRlxaTxVQUhdZ","queueTime":0,"applicationTime":7375,"atts":"QxFRFFgZREs=","errorBeacon":"bam.nr-data.net","agent":""}</script>
1250</body> 1251 1252<a hidden href="/YBwA8hOpggLUz3IQrv6YRa-vFWFoXA88xQyZLkyHvh4=.html">YBwA8hOpggLUz3IQrv6YRa-vFWFoXA88xQyZLkyHvh4=.html</a></html><!-- 1253Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com 1254 1255Retrieved 7585 objects (6 MB) from Redis using PhpRedis (v6.0.2). 1256--> 1257 1258<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me -->
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.