! function() {
    "use strict";
    const t = "/_hcms/perf/v2",
        e = window,
        n = Math.pow(2, 31);
    var i = {
        mode: "compressed",
        staticDomainPrefix: "//static.hsappstatic.net",
        bender: {
            depVersions: {
                "content-cwv-embed": "static-1.1293",
                "browserslist-config-hubspot": "static-1.114",
                csstype: "static-1.8",
                "head-dlb": "static-1.1074",
                HeadJS: "static-2.440",
                "hoist-non-react-statics": "static-3.9",
                "hs-test-utils": "static-1.3276",
                "hub-http": "static-1.2011",
                "hub-http-janus": "static-1.493",
                "hub-http-rxjs": "static-1.463",
                HubStyleTokens: "static-2.6808",
                jasmine: "static-4.425",
                "jasmine-runner": "static-1.1821",
                "metrics-js": "static-1.4705",
                msw: "static-1.39",
                quartz: "static-1.2288",
                react: "static-7.123",
                "react-dom": "static-7.85",
                "react-redux": "static-7.16",
                redux: "static-4.16",
                "redux-thunk": "static-2.17",
                rxjs: "static-5.10",
                StyleGuideUI: "static-3.401",
                "testing-library": "static-1.99",
                "webpack-env": "static-1.4",
                enviro: "static-4.230",
                "hs-promise-rejection-tracking": "static-1.903",
                PortalIdParser: "static-2.218",
                raven: "static-3.863",
                "raven-hubspot": "static-1.1170"
            },
            depPathPrefixes: {
                "content-cwv-embed": "/content-cwv-embed/static-1.1293",
                "browserslist-config-hubspot": "/browserslist-config-hubspot/static-1.114",
                csstype: "/csstype/static-1.8",
                "head-dlb": "/head-dlb/static-1.1074",
                HeadJS: "/HeadJS/static-2.440",
                "hoist-non-react-statics": "/hoist-non-react-statics/static-3.9",
                "hs-test-utils": "/hs-test-utils/static-1.3276",
                "hub-http": "/hub-http/static-1.2011",
                "hub-http-janus": "/hub-http-janus/static-1.493",
                "hub-http-rxjs": "/hub-http-rxjs/static-1.463",
                HubStyleTokens: "/HubStyleTokens/static-2.6808",
                jasmine: "/jasmine/static-4.425",
                "jasmine-runner": "/jasmine-runner/static-1.1821",
                "metrics-js": "/metrics-js/static-1.4705",
                msw: "/msw/static-1.39",
                quartz: "/quartz/static-1.2288",
                react: "/react/static-7.123",
                "react-dom": "/react-dom/static-7.85",
                "react-redux": "/react-redux/static-7.16",
                redux: "/redux/static-4.16",
                "redux-thunk": "/redux-thunk/static-2.17",
                rxjs: "/rxjs/static-5.10",
                StyleGuideUI: "/StyleGuideUI/static-3.401",
                "testing-library": "/testing-library/static-1.99",
                "webpack-env": "/webpack-env/static-1.4",
                enviro: "/enviro/static-4.230",
                "hs-promise-rejection-tracking": "/hs-promise-rejection-tracking/static-1.903",
                PortalIdParser: "/PortalIdParser/static-2.218",
                raven: "/raven/static-3.863",
                "raven-hubspot": "/raven-hubspot/static-1.1170"
            },
            project: "content-cwv-embed",
            staticDomain: "//static.hsappstatic.net",
            staticDomainPrefix: "//static.hsappstatic.net"
        }
    };

    function r() {
        const t = document.getElementById("hs-script-loader");
        return t && "SCRIPT" === t.tagName
    }

    function a() {
        return Array.prototype.slice.apply(document.querySelectorAll('script[data-loader="hs-scriptloader"], script#hs-analytics')).filter((t => t.src)).map((t => t.id))
    }

    function o() {
        if (!r()) return {
            usesScriptLoader: !1,
            embedIdsPresent: []
        };
        return {
            usesScriptLoader: !0,
            embedIdsPresent: a()
        }
    }

    function c() {
        const t = navigator,
            e = t.connection || t.mozConnection || t.webkitConnection;
        return e ? {
            type: e.type,
            effectiveType: e.effectiveType,
            downlink: e.downlink,
            rtt: e.rtt
        } : {}
    }
    let s = {};

    function u(t) {
        const e = t.navigationType;
        "navigate" !== e && "reload" !== e && "prerender" !== e || (s[t.name] = t.value)
    }

    function d() {
        const t = s;
        s = {};
        return t
    }

    function f(t, e) {
        return Math.floor(Math.round(t / e) * e)
    }

    function p() {
        return performance.timing.toJSON()
    }

    function l() {
        return performance.getEntriesByType("navigation")[0]
    }

    function m() {
        const t = l();
        return {
            startTime: t.startTime,
            requestStart: t.requestStart,
            responseStart: t.responseStart,
            responseEnd: t.responseEnd,
            domComplete: t.domComplete,
            decodedBodySize: t.decodedBodySize,
            encodedBodySize: t.encodedBodySize,
            activationStart: t.activationStart,
            deliveryType: t.deliveryType
        }
    }

    function h() {
        const t = e.hsVars;
        t || console.warn("Cannot collect HS CMS performance data, hsVars are missing");
        const n = i.bender.depVersions[i.bender.project].replace(/static-/, ""),
            r = "static" === n;
        return {
            url: location.href,
            portal: t.portal_id,
            content: t.page_id,
            group: t.content_group_id,
            renderId: t.render_id,
            embedPackageVersion: r ? void 0 : n
        }
    }

    function v() {
        return Object.assign({}, h(), {
            visibleOnScriptLoad: !1
        })
    }

    function g() {
        const t = Object.assign({}, h(), {
                visibleOnScriptLoad: !0,
                connection: c(),
                timing: p(),
                navTiming: m(),
                scriptLoader: o()
            }),
            {
                width: i,
                height: r
            } = b();
        i && r && (t.viewport = {
            width: i,
            height: r
        });
        if (e.hsVideoApi && "function" == typeof e.hsVideoApi.getPerformanceMetrics) {
            const {
                embedType: i,
                embedVersion: r,
                firstVideoLoadedAt: a,
                firstVideoReadyAt: o,
                firstVideoPlayedAt: c,
                numHsVideos: s,
                numAutoplay: u,
                numInitiallyVisible: d,
                numInteractedWith: f,
                secondsOfVideoPlayed: p
            } = e.hsVideoApi.getPerformanceMetrics();
            if (s > 0) {
                t.hsVideo = {
                    embedType: i,
                    embedVersion: r,
                    numHsVideos: s,
                    numAutoplay: u,
                    numInitiallyVisible: d,
                    numInteractedWith: f,
                    secondsOfVideoPlayed: p
                };
                a && (t.hsVideo.firstVideoLoadedAt = Math.min(a, n));
                o && (t.hsVideo.firstVideoReadyAt = Math.min(o, n));
                c && (t.hsVideo.firstVideoPlayedAt = Math.min(c, n))
            }
        }
        if (e.leadflows && e.leadflows.perfMetrics && "function" == typeof e.leadflows.perfMetrics.getPerformanceMetrics) {
            const {
                numConfigured: n,
                numEmbedsPresent: i,
                numMatchingCurrentUrl: r,
                numRendered: a
            } = e.leadflows.perfMetrics.getPerformanceMetrics();
            n > 0 && (t.leadflows = {
                numConfigured: n,
                numEmbedsPresent: i,
                numMatchingCurrentUrl: r,
                numRendered: a
            })
        }
        if (e.hsCookieBanner && "function" == typeof e.hsCookieBanner.getPerfMetrics) {
            const n = e.hsCookieBanner.getPerfMetrics();
            if (n) {
                const {
                    numSettings: e,
                    bannerInitAt: i,
                    bannerStartAt: r,
                    bannerReadyAt: a,
                    matchedBannerType: o,
                    usesGpc: c,
                    geolocationRequestInCriticalPath: s,
                    geolocationRequestDuration: u,
                    bannerRendered: d
                } = n;
                t.cookieBanner = {
                    numSettings: e,
                    bannerInitAt: i,
                    bannerStartAt: r,
                    bannerReadyAt: a,
                    matchedBannerType: o,
                    usesGpc: c,
                    geolocationRequestInCriticalPath: s,
                    geolocationRequestDuration: u,
                    bannerRendered: d
                }
            }
        }
        return t
    }

    function y() {
        const t = g(),
            e = d();
        e && (t.cwv = e);
        return t
    }

    function b() {
        const t = window.innerWidth,
            e = window.innerHeight;
        return t > 0 && e > 0 ? {
            width: f(t, 25),
            height: f(e, 25)
        } : {}
    }
    let w, S = !1;

    function T(e) {
        const n = new XMLHttpRequest;
        n.open("POST", t, !0);
        n.setRequestHeader("Content-type", "application/json");
        n.onreadystatechange = function() {};
        n.send(JSON.stringify(e));
        S = !0
    }

    function E(e) {
        S = navigator.sendBeacon(`${t}?viaBeacon=true`, new Blob([JSON.stringify(e)], {
            type: "application/json"
        }))
    }

    function C(t) {
        try {
            navigator.sendBeacon ? E(t) : T(t)
        } catch (t) {
            console.warn("Error sending HSCMS perf data", t)
        }
    }

    function P() {
        S || C(y())
    }

    function A() {
        S || C(v())
    }

    function L(t) {
        const e = () => {
            if ("hidden" === document.visibilityState) {
                t();
                removeEventListener("visibilitychange", e, !0)
            }
        };
        addEventListener("visibilitychange", e, !0);
        addEventListener("pagehide", t, {
            capture: !0,
            once: !0
        });
        w = () => {
            removeEventListener("visibilitychange", e, !0);
            removeEventListener("pagehide", t, {
                capture: !0
            })
        }
    }

    function I() {
        L(P)
    }

    function M() {
        L(A)
    }
    var j, k, V, x, B, R = -1,
        H = function(t) {
            addEventListener("pageshow", (function(e) {
                e.persisted && (R = e.timeStamp, t(e))
            }), !0)
        },
        q = function() {
            return window.performance && performance.getEntriesByType && performance.getEntriesByType("navigation")[0]
        },
        O = function() {
            var t = q();
            return t && t.activationStart || 0
        },
        D = function(t, e) {
            var n = q(),
                i = "navigate";
            R >= 0 ? i = "back-forward-cache" : n && (document.prerendering || O() > 0 ? i = "prerender" : document.wasDiscarded ? i = "restore" : n.type && (i = n.type.replace(/_/g, "-")));
            return {
                name: t,
                value: void 0 === e ? -1 : e,
                rating: "good",
                delta: 0,
                entries: [],
                id: "v3-".concat(Date.now(), "-").concat(Math.floor(8999999999999 * Math.random()) + 1e12),
                navigationType: i
            }
        },
        z = function(t, e, n) {
            try {
                if (PerformanceObserver.supportedEntryTypes.includes(t)) {
                    var i = new PerformanceObserver((function(t) {
                        Promise.resolve().then((function() {
                            e(t.getEntries())
                        }))
                    }));
                    return i.observe(Object.assign({
                        type: t,
                        buffered: !0
                    }, n || {})), i
                }
            } catch (t) {}
        },
        F = function(t, e, n, i) {
            var r, a;
            return function(o) {
                e.value >= 0 && (o || i) && ((a = e.value - (r || 0)) || void 0 === r) && (r = e.value, e.delta = a, e.rating = function(t, e) {
                    return t > e[1] ? "poor" : t > e[0] ? "needs-improvement" : "good"
                }(e.value, n), t(e))
            }
        },
        _ = function(t) {
            requestAnimationFrame((function() {
                return requestAnimationFrame((function() {
                    return t()
                }))
            }))
        },
        J = function(t) {
            var e = function(e) {
                "pagehide" !== e.type && "hidden" !== document.visibilityState || t(e)
            };
            addEventListener("visibilitychange", e, !0), addEventListener("pagehide", e, !0)
        },
        N = function(t) {
            var e = !1;
            return function(n) {
                e || (t(n), e = !0)
            }
        },
        G = -1,
        U = function() {
            return "hidden" !== document.visibilityState || document.prerendering ? 1 / 0 : 0
        },
        W = function(t) {
            "hidden" === document.visibilityState && G > -1 && (G = "visibilitychange" === t.type ? t.timeStamp : 0, $())
        },
        X = function() {
            addEventListener("visibilitychange", W, !0), addEventListener("prerenderingchange", W, !0)
        },
        $ = function() {
            removeEventListener("visibilitychange", W, !0), removeEventListener("prerenderingchange", W, !0)
        },
        K = function() {
            return G < 0 && (G = U(), X(), H((function() {
                setTimeout((function() {
                    G = U(), X()
                }), 0)
            }))), {
                get firstHiddenTime() {
                    return G
                }
            }
        },
        Q = function(t) {
            document.prerendering ? addEventListener("prerenderingchange", (function() {
                return t()
            }), !0) : t()
        },
        Y = [1800, 3e3],
        Z = function(t, e) {
            e = e || {}, Q((function() {
                var n, i = K(),
                    r = D("FCP"),
                    a = z("paint", (function(t) {
                        t.forEach((function(t) {
                            "first-contentful-paint" === t.name && (a.disconnect(), t.startTime < i.firstHiddenTime && (r.value = Math.max(t.startTime - O(), 0), r.entries.push(t), n(!0)))
                        }))
                    }));
                a && (n = F(t, r, Y, e.reportAllChanges), H((function(i) {
                    r = D("FCP"), n = F(t, r, Y, e.reportAllChanges), _((function() {
                        r.value = performance.now() - i.timeStamp, n(!0)
                    }))
                })))
            }))
        },
        tt = [.1, .25],
        et = function(t, e) {
            e = e || {}, Z(N((function() {
                var n, i = D("CLS", 0),
                    r = 0,
                    a = [],
                    o = function(t) {
                        t.forEach((function(t) {
                            if (!t.hadRecentInput) {
                                var e = a[0],
                                    n = a[a.length - 1];
                                r && t.startTime - n.startTime < 1e3 && t.startTime - e.startTime < 5e3 ? (r += t.value, a.push(t)) : (r = t.value, a = [t])
                            }
                        })), r > i.value && (i.value = r, i.entries = a, n())
                    },
                    c = z("layout-shift", o);
                c && (n = F(t, i, tt, e.reportAllChanges), J((function() {
                    o(c.takeRecords()), n(!0)
                })), H((function() {
                    r = 0, i = D("CLS", 0), n = F(t, i, tt, e.reportAllChanges), _((function() {
                        return n()
                    }))
                })), setTimeout(n, 0))
            })))
        },
        nt = {
            passive: !0,
            capture: !0
        },
        it = new Date,
        rt = function(t, e) {
            j || (j = e, k = t, V = new Date, ct(removeEventListener), at())
        },
        at = function() {
            if (k >= 0 && k < V - it) {
                var t = {
                    entryType: "first-input",
                    name: j.type,
                    target: j.target,
                    cancelable: j.cancelable,
                    startTime: j.timeStamp,
                    processingStart: j.timeStamp + k
                };
                x.forEach((function(e) {
                    e(t)
                })), x = []
            }
        },
        ot = function(t) {
            if (t.cancelable) {
                var e = (t.timeStamp > 1e12 ? new Date : performance.now()) - t.timeStamp;
                "pointerdown" == t.type ? function(t, e) {
                    var n = function() {
                            rt(t, e), r()
                        },
                        i = function() {
                            r()
                        },
                        r = function() {
                            removeEventListener("pointerup", n, nt), removeEventListener("pointercancel", i, nt)
                        };
                    addEventListener("pointerup", n, nt), addEventListener("pointercancel", i, nt)
                }(e, t) : rt(e, t)
            }
        },
        ct = function(t) {
            ["mousedown", "keydown", "touchstart", "pointerdown"].forEach((function(e) {
                return t(e, ot, nt)
            }))
        },
        st = [100, 300],
        ut = function(t, e) {
            e = e || {}, Q((function() {
                var n, i = K(),
                    r = D("FID"),
                    a = function(t) {
                        t.startTime < i.firstHiddenTime && (r.value = t.processingStart - t.startTime, r.entries.push(t), n(!0))
                    },
                    o = function(t) {
                        t.forEach(a)
                    },
                    c = z("first-input", o);
                n = F(t, r, st, e.reportAllChanges), c && J(N((function() {
                    o(c.takeRecords()), c.disconnect()
                }))), c && H((function() {
                    var i;
                    r = D("FID"), n = F(t, r, st, e.reportAllChanges), x = [], k = -1, j = null, ct(addEventListener), i = a, x.push(i), at()
                }))
            }))
        },
        dt = 0,
        ft = 1 / 0,
        pt = 0,
        lt = function(t) {
            t.forEach((function(t) {
                t.interactionId && (ft = Math.min(ft, t.interactionId), pt = Math.max(pt, t.interactionId), dt = pt ? (pt - ft) / 7 + 1 : 0)
            }))
        },
        mt = function() {
            return B ? dt : performance.interactionCount || 0
        },
        ht = function() {
            "interactionCount" in performance || B || (B = z("event", lt, {
                type: "event",
                buffered: !0,
                durationThreshold: 0
            }))
        },
        vt = [200, 500],
        gt = 0,
        yt = function() {
            return mt() - gt
        },
        bt = [],
        wt = {},
        St = function(t) {
            var e = bt[bt.length - 1],
                n = wt[t.interactionId];
            if (n || bt.length < 10 || t.duration > e.latency) {
                if (n) n.entries.push(t), n.latency = Math.max(n.latency, t.duration);
                else {
                    var i = {
                        id: t.interactionId,
                        latency: t.duration,
                        entries: [t]
                    };
                    wt[i.id] = i, bt.push(i)
                }
                bt.sort((function(t, e) {
                    return e.latency - t.latency
                })), bt.splice(10).forEach((function(t) {
                    delete wt[t.id]
                }))
            }
        },
        Tt = function(t, e) {
            e = e || {}, Q((function() {
                var n;
                ht();
                var i, r = D("INP"),
                    a = function(t) {
                        t.forEach((function(t) {
                            (t.interactionId && St(t), "first-input" === t.entryType) && !bt.some((function(e) {
                                return e.entries.some((function(e) {
                                    return t.duration === e.duration && t.startTime === e.startTime
                                }))
                            })) && St(t)
                        }));
                        var e, n = (e = Math.min(bt.length - 1, Math.floor(yt() / 50)), bt[e]);
                        n && n.latency !== r.value && (r.value = n.latency, r.entries = n.entries, i())
                    },
                    o = z("event", a, {
                        durationThreshold: null !== (n = e.durationThreshold) && void 0 !== n ? n : 40
                    });
                i = F(t, r, vt, e.reportAllChanges), o && ("PerformanceEventTiming" in window && "interactionId" in PerformanceEventTiming.prototype && o.observe({
                    type: "first-input",
                    buffered: !0
                }), J((function() {
                    a(o.takeRecords()), r.value < 0 && yt() > 0 && (r.value = 0, r.entries = []), i(!0)
                })), H((function() {
                    bt = [], gt = mt(), r = D("INP"), i = F(t, r, vt, e.reportAllChanges)
                })))
            }))
        },
        Et = [2500, 4e3],
        Ct = {},
        Pt = function(t, e) {
            e = e || {}, Q((function() {
                var n, i = K(),
                    r = D("LCP"),
                    a = function(t) {
                        var e = t[t.length - 1];
                        e && e.startTime < i.firstHiddenTime && (r.value = Math.max(e.startTime - O(), 0), r.entries = [e], n())
                    },
                    o = z("largest-contentful-paint", a);
                if (o) {
                    n = F(t, r, Et, e.reportAllChanges);
                    var c = N((function() {
                        Ct[r.id] || (a(o.takeRecords()), o.disconnect(), Ct[r.id] = !0, n(!0))
                    }));
                    ["keydown", "click"].forEach((function(t) {
                        addEventListener(t, (function() {
                            return setTimeout(c, 0)
                        }), !0)
                    })), J(c), H((function(i) {
                        r = D("LCP"), n = F(t, r, Et, e.reportAllChanges), _((function() {
                            r.value = performance.now() - i.timeStamp, Ct[r.id] = !0, n(!0)
                        }))
                    }))
                }
            }))
        },
        At = [800, 1800],
        Lt = function t(e) {
            document.prerendering ? Q((function() {
                return t(e)
            })) : "complete" !== document.readyState ? addEventListener("load", (function() {
                return t(e)
            }), !0) : setTimeout(e, 0)
        },
        It = function(t, e) {
            e = e || {};
            var n = D("TTFB"),
                i = F(t, n, At, e.reportAllChanges);
            Lt((function() {
                var r = q();
                if (r) {
                    var a = r.responseStart;
                    if (a <= 0 || a > performance.now()) return;
                    n.value = Math.max(a - O(), 0), n.entries = [r], i(!0), H((function() {
                        n = D("TTFB", 0), (i = F(t, n, At, e.reportAllChanges))(!0)
                    }))
                }
            }))
        };

    function Mt() {
        if ("hidden" !== document.visibilityState) {
            et(u, {
                reportAllChanges: !0
            });
            Tt(u, {
                reportAllChanges: !0
            });
            ut(u);
            Z(u);
            Pt(u);
            It(u);
            I()
        } else M()
    }

    function jt() {
        !!document.prerendering ? document.addEventListener("prerenderingchange", Mt, {
            once: !0
        }) : Mt()
    }
    jt()
}();