PageSourceSearch

https://www.strategytraining.com/pages/contact-us

html strategytraining.com collected 2026-09-24 12:54:55 UTC 144,582 bytes, 1,028 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3  <head>
4    
5    <meta charset="utf-8">
6<script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"NRJS-76a079092d7e7822b1b","applicationID":"522494065","transactionName":"c1gNEEJcVVgHQ01AQl9FBgJCXFdATUEDVFNDGBAMX0Q=","queueTime":0,"applicationTime":134,"agent":""}</script>
vendor: 1 bytes, line 6
6
7<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:"601537969",accountID:"6520289",trustKey:"6520289",xpid:"UgMFUVRbARAFVlNWDgUHUFE=",licenseKey:"NRJS-76a079092d7e7822b1b",applicationID:"522494065",browserID:"601537969"};;/*! For license information please see nr-loader-spa-1.322.0.min.js.LICENSE.txt */
8(()=>{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};
8e.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;
8const 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);
8if(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$:()=>
8o,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])}
8(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}
8;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)=>
8{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
8ine_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()=>
8{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)=>
8null==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
8dTimingMethod(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
8imeToRegister: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})})}
8return 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"
8!==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);
8if(!(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)}
8);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)})});
8class 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
8h(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>
8
9      <title>Contact Us</title>
10      <meta property="og:title" content="Contact Us">
11      <meta name="twitter:title" content="Contact Us">
12      <meta name="description" content="FIRMSconsulting is by design a smaller and focused firm. We manage websites, OTT strategy streaming Apps, podcast channels, a Youtube channel, editing/updating books while working on special projects, editing videos, podcasts, and articles, run our business design studio, managing the start-ups while planning programs with partners and often traveling to shoot the 4K content and programming you see.">
13      <meta property="og:description" content="FIRMSconsulting is by design a smaller and focused firm. We manage websites, OTT strategy streaming Apps, podcast channels, a Youtube channel, editing/updating books while working on special projects, editing videos, podcasts, and articles, run our business design studio, managing the start-ups while planning programs with partners and often traveling to shoot the 4K content and programming you see.">
14      <meta name="twitter:description" content=" FIRMSconsulting is by design a smaller and focused firm. We manage websites, OTT strategy streaming Apps, podcast channels, a Youtube channel, editing/updating books while working on special projects, editing videos, podcasts, and articles, run our business design studio, managing the start-ups while planning programs with partners and often traveling to shoot the 4K content and programming you see.">
15      <link
16  rel="icon"
17  href="https://www.strategytraining.com/images/favicontypes/27640/strategy_training_logo_2_favicon.1647682638.png"
18>
19<link
20  rel="apple-touch-icon"
21  sizes="180x180"
22  href="https://www.strategytraining.com/images/favicontypes/27640/strategy_training_logo_2_favicon.1647682638.png"
23>
24    <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
25    <meta name="csrf-param" content="authenticity_token" />
26<meta name="csrf-token" content="-g1styYyMBwiOfSrTvHz0UYPN4FaNLk61Y-GW2oppZd9yrpUBeRNtP1s6Wyqgp56tZl69K3l1gB8iSAERwfnjw" />
27    <link rel="preconnect" href="https://fonts.googleapis.com">
28    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
29    <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
30    
30<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.5.10/webfont.js"></script>
30
31    
31<script>
32      window.editorId = 386381;
33      window.editorLink = 'https://app.uscreen.tv/bullet/page_builder/386381';
34      window.body_font_family = 'Poppins:300,400,700,900';
35      window.heading_font_family = 'Poppins:300,400,700,900';
36    </script>
36
37    <link rel="stylesheet" href="https://assets-gke.uscreencdn.com/vite/assets/tailwind-E3yzYTmj.css" media="all" />
38      
38<script src="https://assets-gke.uscreencdn.com/vite/assets/storefront_hotwire-Sroif_gs.js" crossorigin="anonymous" type="module"></script>
38<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/preload-helper-s3Hva0Xc.js" as="script" crossorigin="anonymous">
39<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/excludeTurboTrainBroadcastReactEvents-BZh0xnrk.js" as="script" crossorigin="anonymous">
40<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/VideoTracker-BZWAH44E.js" as="script" crossorigin="anonymous">
41<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/_commonjsHelpers-BosuxZz1.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="https://assets-gke.uscreencdn.com/vite/assets/storefront_hotwire-DtHu4oK3.css" media="screen" />
42      
42<script src="https://assets-gke.uscreencdn.com/vite/assets/web-components-BnSq9iDb.js" crossorigin="anonymous" type="module"></script>
42<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/preload-helper-s3Hva0Xc.js" as="script" crossorigin="anonymous">
43
44    <link rel="stylesheet" href="https://assets-gke.uscreencdn.com/vite/assets/page_builder-BMl1NNRh.css" media="all" />
45    <style>
46    :root {
47        --primary: #2bc0e3ff;
48        --primary-rgb: 43, 192, 227;
49        --contrast-text-color: #FFFFFF;
50        --contrast-to-primary-color: #fff;
51    }
52</style>
53<style id="custom-theme-styles" media="all">
54    body.light {
55        --main-color-h: 0;
56        --main-color-s: 100;
57        --main-color-l: 100;
58        --ds-bg-main: hsl(0, 100%, 100%);
59
60        --ds-bg-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 96%);
61        --ds-bg-inset: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 91%);
62        --ds-bg-overlay: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 98%);
63        --ds-bg-subtle: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 91%);
64
65        --ds-border-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 85%);
66        --ds-fg-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 8%);
67        --ds-fg-muted: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 25%);
68        --ds-fg-subtle: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 50%);
69    }
70
71    body.dark {
72        --main-color-h: 0;
73        --main-color-s: 100;
74        --main-color-l: 0;
75        --ds-bg-main: hsl(0, 100%, 0%);
76
77        --ds-bg-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 10%);
78        --ds-bg-overlay: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 2%);
79        --ds-bg-inset: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 6%);
80        --ds-bg-subtle: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 15%);
81
82        --ds-border-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 20%);
83        --ds-fg-default: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 98%);
84        --ds-fg-muted: hsl(var(--main-color-h), calc(var(--main-color-s) * 1%), 70%);
85        --ds-fg-subtle: hsl(var(--main-color-h), clamp(7%, calc(calc(var(--main-color-s) - 10) * 1%), 100%), 60%);
86    }
87
88    body.dark,
89    body.light {
90        --main-color-h: 206;
91        --main-color-s: 35;
92        --main-color-l: 16;
93        --ds-bg-main: hsl(206, 35%, 16%);
94    }
95</style>
96    <!-- ==========================================================================
97     StrategyTraining - Head Code
98     Settings > Snippets > Head Code
99
100     PASTE THIS WHOLE FILE, REPLACING THE ENTIRE CONTENTS OF THE BOX.
101     It already contains everything that was in there before.
102
103     Contains SIX active items. KEEP ALL SIX.
104       1. Gift card "Custom Amount" hider     - pre-existing (Artchen, Feb 28)
105       2. Kris page marker + link marker      - added Aug 2026, generalised Sep 2026
106       3. Sub-nav hider + nav tab highlight   - added Sep 2026
107       4. Kris link routing (join vs chat)    - added Sep 2026
108       5. (the identity bridge moved out - see block 5 below)
109       6. Address-bar rewrite /delphi -> /kris-ai - added Sep 4 2026
110       7. Delphi user-avatar hider            - added Sep 23 2026
111
112     TWO DIFFERENT PAGES, DO NOT CONFUSE THEM
113       /delphi            "Kris AI"         - the existing page, powered by Delphi
114       /kris-ai-memory    "Kris AI Memory"  - the new page, powered by BuddyPro
115
116     Blocks 2-4 style and route BOTH pages. The widget itself and its identity
117     bridge live in the Kris AI Memory page's own Custom HTML block, NOT here -
118     Uscreen does not inject Head Code into landing pages. See block 5.
119
120     THE /kris-ai ALIAS (added Sep 4 2026)
121       The Delphi integration owns the path /delphi and neither Uscreen nor
122       Delphi can rename it. Uscreen support instead added a 301:
123       /kris-ai -> /delphi. So /kris-ai is a real, shareable URL that serves the
124       Kris AI page, and block 6 makes the address bar display it. Both paths
125       therefore mean the same page, which is why ALIASES exists in block 2.
126
127     IF YOUR NEW PAGE USES A DIFFERENT SLUG, change it in ONE place:
128     PAGES.memory in block 2. Nothing else refers to the slug - the CSS keys on
129     classes this script adds, not on hrefs.
130     ========================================================================== -->
131
132<!-- 1 ---------------------------------------------------------------------
133     Hide Custom Amount from GC page - Artchen Feb 28th
134     DO NOT REMOVE - this was here before and is still needed.
135     ---------------------------------------------------------------------- -->
136<style>
137  #gift_card_form_element > div.border-b.border-gray-300.dark\:border-gray-700.pb-8.mb-8.mt-8 > div > div.storefront-radio-buttons-group.mb-6 > ds-radio-group > ul > li:nth-child(2) > button{
138    display: none !important;
139  }
140</style>
141
142<!-- 2 ---------------------------------------------------------------------
143     Page marker and link marker. This is the only block that knows the slugs.
144
145     Sets on <html>:
146       .st-kris          on either Kris page  (drives the sub-nav hider)
147       .st-delphi        on /delphi only      (kept in case anything else uses it)
148       .st-kris-memory   on the new page only
149
150     Adds to every nav link pointing at a Kris page:
151       .st-kris-link     always
152       .is-current       when it points at the page you are on
153
154     Marking the links with a class means block 3's CSS never has to repeat a
155     slug, so changing PAGES.memory below is the only edit ever needed.
156
157     It runs in <head>, so the <html> class is set before the sub-nav is parsed
158     and there is no flash. Links get marked once the DOM exists, and again on
159     every Turbo navigation - Uscreen is a Hotwire app and swaps pages without
160     a full reload.
161     ---------------------------------------------------------------------- -->
162<script>
163(function () {
164  /* ---- the only place a slug is written -------------------------------- */
165  var PAGES = {
166    delphi: '/delphi',            // existing "Kris AI" page (Delphi)
167    memory: '/pages/kris-ai-memory',  // new "Kris AI Memory" page (BuddyPro)
168  };
169
170  /* Extra paths that mean the same page. /kris-ai is the 301 alias Uscreen
171     support added on Sep 4 2026, and it is also what the address bar reads
172     once block 6 has run - so it must resolve to 'delphi' or the tab
173     highlight and the sub-nav hider would switch off on their own page.
174     Keys are lower-case; the redirect is case-insensitive. */
175  var ALIASES = {
176    '/kris-ai': 'delphi',
177  };
178
179  /* Shared with blocks 4, 5 and 6 so nothing is declared twice. */
180  window.ST_KRIS = {
181    pages: PAGES,
182    aliases: ALIASES,
183    vanity: '/kris-ai',           // what block 6 shows in the address bar
184    widgetOrigin: 'https://kris-ai-memory-baefm.ondigitalocean.app',
185    path: function () {
186      return location.pathname.replace(/\/+$/, '') || '/';
187    },
188    /* Which Kris page a URL points at, or '' for anything else. Compares the
189       pathname, so it works whether the nav stores a relative href or an
190       absolute one - the existing nav item stores the absolute URL. */
191    pageOf: function (url) {
192      var p;
193      try {
194        p = new URL(url, location.href).pathname.replace(/\/+$/, '') || '/';
195      } catch (e) {
196        return '';
197      }
198      if (p === PAGES.delphi) return 'delphi';
199      if (p === PAGES.memory) return 'memory';
200      if (ALIASES[p.toLowerCase()]) return ALIASES[p.toLowerCase()];
201      return '';
202    },
203  };
204
205  function markPage() {
206    try {
207      var which = window.ST_KRIS.pageOf(location.href);
208      var root = document.documentElement;
209      root.classList.toggle('st-kris', which !== '');
210      root.classList.toggle('st-delphi', which === 'delphi');
211      root.classList.toggle('st-kris-memory', which === 'memory');
212    } catch (e) {}
213  }
214
215  function markLinks() {
216    try {
217      var here = window.ST_KRIS.pageOf(location.href);
218      var links = document.querySelectorAll('a[href]');
219      for (var i = 0; i < links.length; i++) {
220        var which = window.ST_KRIS.pageOf(links[i].getAttribute('href'));
221        if (!which) continue;
222        links[i].classList.add('st-kris-link');
223        links[i].classList.toggle('is-current', which === here);
224      }
225    } catch (e) {}
226  }
227
228  function run() {
229    markPage();
230    markLinks();
231  }
232
233  markPage();  /* before the sub-nav is parsed - no flash */
234  if (document.readyState === 'loading') {
235    document.addEventListener('DOMContentLoaded', run);
236  } else {
237    run();
238  }
239  document.addEventListener('turbo:load', run);
240  document.addEventListener('turbo:render', run);
241})();
242</script>
242
243
244<!-- 3 ---------------------------------------------------------------------
245     Sub-nav hider and nav tab highlight. CSS only - no slugs in here.
246
247     SUB-NAV: hides the catalog bar (Browse / Favorites / Playlists / Watch
248     history) on both Kris pages. The bar is the div immediately after
249     </header>:
250       <div class="w-full border-b border-ds-default bg-ds-main overflow-x-auto z-[20]">
251
252     HIGHLIGHT: the nav item is stored as an absolute URL, so Uscreen's own
253     active-state logic never matches it against the current path and the tab
254     never lights up. This applies the active look manually, using the
255     .is-current class block 2 adds. Works for the top nav and the burger menu.
256
257     An inset box-shadow is used instead of border-bottom so nothing shifts.
258     ---------------------------------------------------------------------- -->
259<style>
260  html.st-kris div.w-full.border-b.bg-ds-main.overflow-x-auto {
261    display: none !important;
262  }
263
264  a.st-kris-link.is-current {
265    color: var(--primary, #2bc0e3) !important;
266    box-shadow: inset 0 -3px 0 0 var(--primary, #2bc0e3) !important;
267    text-decoration: none !important;
268  }
269</style>
270
271<!-- 4 ---------------------------------------------------------------------
272     Kris link routing. Applies to BOTH Kris pages.
273
274       logged out               -> /join   (intercepted at click, instant)
275       logged in, no sub        -> /join   (Uscreen bounces them, we catch it)
276       logged in, subscriber    -> the page (untouched)
277
278     HOW IT KNOWS: it asks Uscreen once per page - GET /account, same-origin, so
279     the session cookie rides along, and with NO Accept header. Measured on this
280     store: 401 signed out, 200 signed in. Asking for JSON instead returns 406
281     when signed in, because that route only renders HTML - so 406 counts as
282     signed in too, since reaching it means the auth check passed.
283
284     It does NOT read the DOM for a sign-in link. That test is unreliable here:
285     the store keeps an <a href="/sign_in"> in a menu even when someone is
286     signed in, and the visible Sign in control is a <ds-button>, not an <a>. A
287     false "signed out" would send a paying member to /join, which is worse than
288     doing nothing.
289
290     So this FAILS OPEN: until the probe has answered, and if it never answers,
291     clicks are left alone. That is safe because routing is only a convenience -
292     the widget on the Kris AI Memory page gates access on its own, and Uscreen
293     gates /delphi on its own.
294
295     For a logged-in non-subscriber there is no client signal at all, so we set a
296     short-lived flag on click: if they end up anywhere other than a Kris page
297     within 12s, Uscreen rejected them and we send them to /join rather than
298     dumping them on the homepage.
299
300     A link to /kris-ai counts as a Kris link too - block 2's ALIASES makes
301     pageOf() resolve it - so the nav item can point at either path.
302
303     Note for /kris-ai-memory: it is a landing page, so it is PUBLIC and Uscreen
304     will not bounce anyone from it. The click interception above is what keeps
305     logged-out visitors out, and the widget itself refuses to open without a
306     signed-in claim from block 5. A logged-in visitor without a subscription
307     will reach the widget and be able to use it - that is what you asked for
308     ("logged in or subscribed"). Telling a free account from a paying one needs
309     MEMBER_GATE_MODE=strict and the Uscreen Publisher API key.
310     ---------------------------------------------------------------------- -->
311<script>
312(function () {
313  var KEY = 'st_kai_click';
314  var WINDOW_MS = 12000;
315
316  /* null until Uscreen answers, then true/false. null means "do not touch". */
317  var signedIn = null;
318
319  function probeAccount() {
320    try {
321      /* No Accept header on purpose - see HOW IT KNOWS above. */
322      fetch('/account', { credentials: 'same-origin' })
323        .then(function (res) {
324          var path = '';
325          try {
326            path = new URL(res.url, location.href).pathname;
327          } catch (e) {}
328
329          if (/\/(sign_in|login|join)\b/.test(path)) signedIn = false;
330          else if (res.status === 401 || res.status === 403) signedIn = false;
331          else if (res.ok || res.status === 406) signedIn = true;
332        })
333        .catch(function () {
334          /* leave it null - clicks stay untouched */
335        });
336    } catch (e) {}
337  }
338
339  function knownSignedOut() {
340    return signedIn === false;
341  }
342
343  document.addEventListener('click', function (e) {
344    try {
345      var a = e.target && e.target.closest ? e.target.closest('a') : null;
346      if (!a) return;
347      /* Ask block 2 whether this link is a Kris link - one source of truth. */
348      if (!window.ST_KRIS || !window.ST_KRIS.pageOf(a.getAttribute('href'))) return;
349
350      /* Only when Uscreen has actually said so. Unknown = leave it alone. */
351      if (knownSignedOut()) {     // no point sending them to a page that rejects them
352        e.preventDefault();
353        location.href = '/join';
354        return;
355      }
356      sessionStorage.setItem(KEY, String(Date.now()));   // backstop for non-subscribers
357    } catch (err) {}
358  }, true);
359
360  function check() {
361    try {
362      var t = sessionStorage.getItem(KEY);
363      if (!t) return;
364      /* Landed on either Kris page = they got in. */
365      if (window.ST_KRIS && window.ST_KRIS.pageOf(location.href)) {
366        sessionStorage.removeItem(KEY);
367        return;
368      }
369
370      sessionStorage.removeItem(KEY);
371      var path = window.ST_KRIS ? window.ST_KRIS.path() : location.pathname;
372      if (Date.now() - parseInt(t, 10) < WINDOW_MS && path !== '/join') {
373        location.replace('/join');
374      }
375    } catch (err) {}
376  }
377
378  probeAccount();
379  check();
380  document.addEventListener('turbo:load', function () {
381    /* A Turbo navigation can be a sign-in or a sign-out, so ask again. */
382    signedIn = null;
383    probeAccount();
384    check();
385  });
386})();
387</script>
387
388
389<!-- 5 ---------------------------------------------------------------------
390     The Kris AI Memory identity bridge USED TO BE HERE. It has moved into
391     uscreen/kris-ai-memory-page.html, the Custom HTML block on the page itself.
392
393     WHY: Uscreen does not inject this Head Code into landing pages. Verified on
394     this store - the homepage and /join carry it, /pages/kris-ai-memory carries
395     none of it, not even block 1 which has been live since February. A bridge
396     here would never have run on the one page that needs it, and every member
397     would have seen "Please sign in" while logged in and subscribed.
398
399     Nothing to paste here for it. Do not add it back.
400     ---------------------------------------------------------------------- -->
401
402<!-- 6 ---------------------------------------------------------------------
403     Address-bar rewrite: show /kris-ai while sitting on /delphi.
404
405     The Delphi integration serves the Kris AI page at /delphi and that path
406     cannot be renamed - confirmed by both Delphi and Uscreen support. Uscreen
407     support added a 301 /kris-ai -> /delphi instead, so /kris-ai is a real,
408     shareable URL, but the browser still lands on /delphi and displays it.
409     This rewrites the DISPLAYED url only: no reload, no navigation, no effect
410     on the page, on Delphi SSO, or on Uscreen's member gate.
411
412     SAFE BECAUSE /kris-ai resolves server-side, so refresh, back/forward and
413     copy-paste of the visible URL all work. Both are single-segment root paths,
414     so relative link resolution is identical either way. Block 2's ALIASES
415     makes every other block treat the rewritten path as the same page.
416
417     DEPENDS ON that 301 staying in place. If the redirect is ever removed,
418     delete this block - otherwise a refresh would 404.
419
420     To undo: delete this sixth block only. Nothing else references it.
421     ---------------------------------------------------------------------- -->
422<script>
423(function () {
424  function rewrite() {
425    try {
426      if (!window.ST_KRIS || !window.history || !history.replaceState) return;
427      var from = window.ST_KRIS.pages.delphi;          // '/delphi'
428      var to   = window.ST_KRIS.vanity;                // '/kris-ai'
429      if (window.ST_KRIS.path().toLowerCase() !== from) return;
430      history.replaceState(history.state, '', to + location.search + location.hash);
431    } catch (e) { /* never break the page */ }
432  }
433
434  rewrite();
435  document.addEventListener('turbo:load', rewrite);
436  document.addEventListener('turbo:render', rewrite);
437})();
438</script>
438
439
440<!-- 7 ---------------------------------------------------------------------
441     Hide Delphi's user-profile avatar on the Kris AI page (added Sep 23 2026).
442
443     Delphi renders its own account menu top-right of the chat, showing its
444     default placeholder image (clone-default.png) instead of the member's
445     photo - the gray circle. Members manage their account through Uscreen's
446     own avatar in the header, so Delphi's copy is redundant and looks broken.
447
448     TARGET: Delphi wraps it in <div data-delphi-part="header-actions">, which
449     holds only that dropdown trigger. data-delphi-part is Delphi's own stable
450     hook (not a Tailwind class), and Uscreen never uses it, so this cannot
451     hide anything outside the Delphi embed. Chat History on the left is
452     untouched. The delphi-auth-menu-* classes are a second net.
453
454     visibility:hidden (not display:none) on the container keeps the header
455     layout exactly as it is - nothing shifts.
456
457     WHY IT IS A SCRIPT, NOT JUST CSS: in case Delphi draws its UI inside a
458     shadow root, which CSS in <head> cannot reach. So the same rule is put
459     INSIDE every shadow root too:
460       - it wraps attachShadow (runs in <head>, before Delphi loads), so each
461         new shadow root gets the rule the moment it is created
462       - it also scans shadow roots / same-origin iframes that already exist
463       - and it hides the element directly as a last resort
464     Every step is wrapped in try/catch - it can never break the page.
465
466     To undo: delete this seventh block only. Nothing else references it.
467     ---------------------------------------------------------------------- -->
468<style id="st-hide-delphi-avatar">
469  [data-delphi-part="header-actions"] {
470    visibility: hidden !important;
471    pointer-events: none !important;
472  }
473  .delphi-auth-menu-avatar,
474  .delphi-auth-menu-avatar-image {
475    display: none !important;
476  }
477</style>
478<script>
479(function () {
480  var ID = 'st-hide-delphi-avatar';
481  var CSS =
482    '[data-delphi-part="header-actions"]{visibility:hidden !important;pointer-events:none !important;}' +
483    '.delphi-auth-menu-avatar,.delphi-auth-menu-avatar-image{display:none !important;}';
484
485  function inject(root) {
486    try {
487      if (!root || root === document || root.querySelector('#' + ID)) return;
488      var s = document.createElement('style');
489      s.id = ID;
490      s.textContent = CSS;
491      (root.head || root).appendChild(s);
492    } catch (e) {}
493  }
494
495  /* 1. Every shadow root created from now on gets the rule immediately. */
496  try {
497    var orig = Element.prototype.attachShadow;
498    if (orig && !orig.__stWrapped) {
499      var wrapped = function () {
500        var root = orig.apply(this, arguments);
501        inject(root);
502        return root;
503      };
504      wrapped.__stWrapped = true;
505      Element.prototype.attachShadow = wrapped;
506    }
507  } catch (e) {}
508
509  /* 2. Existing shadow roots / same-origin iframes, plus a direct hide. */
510  function hide(el) {
511    try {
512      el.style.setProperty('visibility', 'hidden', 'important');
513      el.style.setProperty('pointer-events', 'none', 'important');
514    } catch (e) {}
515  }
516
517  function scan(root, depth) {
518    try {
519      if (!root || depth > 6) return;
520      inject(root);
521      var parts = root.querySelectorAll('[data-delphi-part="header-actions"]');
522      for (var j = 0; j < parts.length; j++) hide(parts[j]);
523      var els = root.querySelectorAll('*');
524      for (var i = 0; i < els.length; i++) {
525        var el = els[i];
526        if (el.shadowRoot) scan(el.shadowRoot, depth + 1);
527        if (el.tagName === 'IFRAME') {
528          try { if (el.contentDocument) scan(el.contentDocument, depth + 1); } catch (e) {}
529        }
530      }
531    } catch (e) {}
532  }
533
534  var timer = null;
535  function schedule() {
536    if (timer) return;
537    timer = setTimeout(function () {
538      timer = null;
539      scan(document, 0);
540    }, 250);
541  }
542
543  function start() {
544    scan(document, 0);
545    try {
546      new MutationObserver(schedule).observe(document.documentElement, {
547        childList: true,
548        subtree: true,
549      });
550    } catch (e) {}
551  }
552
553  if (document.readyState === 'loading') {
554    document.addEventListener('DOMContentLoaded', start);
555  } else {
556    start();
557  }
558  document.addEventListener('turbo:load', schedule);
559  document.addEventListener('turbo:render', schedule);
560})();
561</script>
561
562
563  </head>
564  <body dir="ltr" class="dark themeless group/body bg-ds-default">
565    <style id="card_border_radius">
566      .pb-card {
567        border-radius: 0.5rem;
568      }
569    </style>
570    <style id="button_border_radius">
571      .pb-button {
572        border-radius: 9999px;
573      }
574    </style>
575    <style id="heading_font_family">
576      .heading_font_family {
577        font-family: 'Poppins';
578      }
579    </style>
580    <style id="body_font_family">
581      .body_font_family {
582        font-family: 'Poppins';
583      }
584    </style>
585    
585<script src="https://assets-gke.uscreencdn.com/vite/assets/page_builder-BZTiR_iK.js" crossorigin="anonymous" type="module"></script>
585<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/api-CAiQbrBo-BbgJmk-9.js" as="script" crossorigin="anonymous">
586<link rel="modulepreload" href="https://assets-gke.uscreencdn.com/vite/assets/_commonjsHelpers-DaMA6jEr-DwXtFsJ3.js" as="script" crossorigin="anonymous">
587    <turbo-frame id="website_modal"></turbo-frame>
588    <div class="sticky top-0 z-[100]">
589      
590      
591      <header id="website-header"
592  class="sticky top-0 z-[100] flex bg-ds-main h-20 border-b border-ds-default"
593  data-controller="themeless--header"
594>
595  <div class="container flex justify-between items-center my-auto">
596    <div class="flex justify-start w-[8.75rem] flex-none">
597      <a class="max-w-36 me-auto text-sm md:text-base text-ds-default" id="store-logo" data-type="main_logo" href="/pages/welcome-to-strategytraining">
598          <img alt="StrategyTraining.com" src="https://alpha.uscreencdn.com/images/logotypes/27640/strategy-training-logo-horizontal-stacked.1774418274.png" />
599</a>    </div>
600
601    <nav id="website-links" class="h-full min-w-0 mx-auto hidden md:flex justify-center -mb-px" data-themeless--header-target="navigation">
602      <ul class="h-full flex justify-start space-x-4 invisible" data-themeless--header-target="navigationLinks">
603
604          <li class="relative group/item">
605            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_self" data-type="home" href="/"><span class="flex items-center"><span>Home</span></span></a>
606          </li>
607
608          <li class="relative group/item">
609            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_self" data-type="catalog" href="/catalog"><span class="flex items-center"><span>Videos</span></span></a>
610          </li>
611
612          <li class="relative group/item">
613            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_self" href="/pages/scr"><span class="flex items-center"><span>Strategy Control Room</span></span></a>
614          </li>
615
616          <li class="relative group/item">
617            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_self" href="/pages/rent"><span class="flex items-center"><span>Individual Programs</span></span></a>
618          </li>
619
620          <li class="relative group/item">
621            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_blank" href="https://www.workwithmichael.ai"><span class="flex items-center"><span>WorkWithMichael.ai</span></span></a>
622          </li>
623
624          <li class="relative group/item">
625            <a class="flex items-center min-w-max overflow-y-hidden text-center px-4 pt-8 pb-7 h-full border-b border-b-4 hover:text-primary font-medium border-transparent text-ds-default" target="_self" href="https://www.strategytraining.com/kris-ai"><span class="flex items-center"><span>Kris AI</span></span></a>
626          </li>
627      </ul>
628    </nav>
629
630    <div class="flex gap-x-2 items-center justify-end relative flex-none">
631
632
633      <ds-button style="--font-size: var(--font-size-4-5)" class="hidden lg:block" size="big" variant="regular" href="/sign_in">Sign in</ds-button>
634          <ds-button style="--font-size: var(--font-size-4-5)" size="big" variant="primary" href="/join">Join</ds-button>
635
636    <div class="relative flex items-center">
637      <input type="checkbox" id="menu-toggle" class="peer hidden" data-themeless--header-target="toggle" data-action="change->themeless--header#onMenuToggle">
638      <label for="menu-toggle" class="overlay hidden peer-checked:block fixed inset-0 "></label>
639      <label for="menu-toggle" class="cursor-pointer flex items-center justify-center p-2 rounded bg-ds-subtle hover:opacity-80 lg:hidden w-12"
640        data-themeless--header-target="toggleBurger"
641      >
642        <ds-icon class="text-ds-default block p-1" name="burger" size="24"></ds-icon>
643        <ds-icon class="text-ds-default hidden p-1" name="cross" size="24"></ds-icon>
644      </label>
645
646      <div id="main-menu" class="invisible" data-themeless--header-target="menu">
647        <div class="overflow-hidden relative box-border h-full flex w-full">
648          <nav class="h-auto max-h-full w-full min-h-0 overflow-y-auto px-4 py-2 border-ds-default" data-themeless--header-target="menuNavigation">
649            <ul class="flex flex-col space-y-1">
650                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
651                  <a class="block py-2 h-10 md:h-8 hover:underline" href="/sign_in">Sign in</a>
652                </li>
653                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
654                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_self" data-type="home" href="/"><span class="flex items-center justify-items-stretch"><span>Home</span></span></a>
655                </li>
656                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
657                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_self" data-type="catalog" href="/catalog"><span class="flex items-center justify-items-stretch"><span>Videos</span></span></a>
658                </li>
659                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
660                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_self" href="/pages/scr"><span class="flex items-center justify-items-stretch"><span>Strategy Control Room</span></span></a>
661                </li>
662                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
663                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_self" href="/pages/rent"><span class="flex items-center justify-items-stretch"><span>Individual Programs</span></span></a>
664                </li>
665                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
666                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_blank" href="https://www.workwithmichael.ai"><span class="flex items-center justify-items-stretch"><span>WorkWithMichael.ai</span></span></a>
667                </li>
668                <li class="text-base md:text-sm font-normal leading-tight md:leading-none">
669                  <a class="block py-2 min-h-10 md:min-h-8 hover:underline underline-offset-2" target="_self" href="https://www.strategytraining.com/kris-ai"><span class="flex items-center justify-items-stretch"><span>Kris AI</span></span></a>
670                </li>
671              <ds-viewport data-action="change->themeless--header#onScrollAnchorChange">
672                <div class="w-full h-[1px]"></div>
673              </ds-viewport>
674            </ul>
675          </nav>
676          <div aria-hidden="true" class="absolute top-0 left-0 right-0 bottom-0 pointer-events-none opacity-1 translate-y-0 aria-hidden:translate-y-10 aria-hidden:opacity-0 transition-all" style="box-shadow: 0px -60px 30px -32px var(--ds-bg-overlay) inset;" data-themeless--header-target="menuNavigationScrollShadow"></div>
677        </div>
678        <div class="p-4 border-ds-default border-t bg-ds-overlay text-xs font-normal">
679          <div class="flex flex-wrap gap-y-2">
680              <a class="block w-full mb-2 text-primary hover:underline underline-offset-2" data-turbo="true" data-turbo-frame="website_modal" href="/about/apps">Get the app -&gt;</a>
681              <a class="text-ds-muted text-sm md:text-[11px]" href="/pages/contact-us">
682                <span class="hover:underline underline-offset-2">Contact Us</span>
683</a>              <span class="flex items-center font-medium mx-1 last:hidden">∙</span>
684              <a class="text-ds-muted text-sm md:text-[11px]" href="/terms">
685                <span class="hover:underline underline-offset-2">Terms</span>
686</a>              <span class="flex items-center font-medium mx-1 last:hidden">∙</span>
687              <a class="text-ds-muted text-sm md:text-[11px]" href="/privacy">
688                <span class="hover:underline underline-offset-2">Privacy</span>
689</a>              <span class="flex items-center font-medium mx-1 last:hidden">∙</span>
690          </div>
691        </div>
692      </div>
693    </div>
694  </div>
695  </div>
696</header>
697
698
699    </div>
700    <div id="el-081514a06c2097b1" class="text-white relative" data-editor="section">
701<section class="relative overflow-hidden py-12 md:py-24" style="background-color: #000000;">
702  <div data-controller="lazy-loaded" data-target="lazy-loaded.image" class="      opacity-50 bg-center
703      sm:bg-center bg-cover
704      absolute top-0 left-0 flex w-full h-full bg-cover bg-top
705  lazy-loaded-bg" id="bg-e2a068d7"><style>      @media only screen {
706        #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/640xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
707      }
708      @media only screen and (min-resolution: 2dppx),
709        only screen and (-webkit-min-device-pixel-ratio: 2) {
710        #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1280xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
711      }
712        @media only screen and (min-width: 640px) {
713           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1024xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
714        }
715        @media only screen and (min-width: 640px) and (min-resolution: 2dppx),
716          only screen and (min-width: 640px) and (-webkit-min-device-pixel-ratio: 2) {
717           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1800xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
718        }
719        @media only screen and (min-width: 1024px) {
720           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1280xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
721        }
722        @media only screen and (min-width: 1024px) and (min-resolution: 2dppx),
723          only screen and (min-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
724           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1920xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
725        }
726        @media only screen and (min-width: 1280px) {
727           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1536xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
728        }
729        @media only screen and (min-width: 1280px) and (min-resolution: 2dppx),
730          only screen and (min-width: 1280px) and (-webkit-min-device-pixel-ratio: 2) {
731          #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/2304xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
732        }
733        @media only screen and (min-width: 1536px) {
734           #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/1920xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
735        }
736        @media only screen and (min-width: 1536px) and (min-resolution: 2dppx),
737          only screen and (min-width: 1536px) and (-webkit-min-device-pixel-ratio: 2) {
738          #bg-e2a068d7 { background-image: url("https://alpha.uscreencdn.com/2880xnull/assets%2Fpage-builder%2Fstrategytraining-generic-bg.1774401079.jpg"); }
739        }
740      #bg-e2a068d7.lazy-loaded-bg { background-image: none; background-color: #c6c9ced1; }
741</style></div>
742  <div class=" mx-4 md:max-w-lg lg:max-w-2xl md:mx-auto flex flex-col items-center justify-center relative z-10 ">
743    <h2 class="        
744       md: 
745 mb-4 text-2xl md:text-3xl text-center md:text-center heading_font_family" style=" "><div class="editor-content"><p><span style="font-size:3rem;"><strong>CONTACT US</strong></span></p></div></h2>
746    <div class="        
747       md: 
748 mb-6 text-base md:text-lg text-center md:text-center body_font_family" style=" "><div class="editor-content"><p><strong>An important note about our hours and email policy.</strong></p></div></div>
749  </div>
750</section>
751</div><div id="el-000c434057bd7248" class="text-black relative" data-editor="section">
752  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
753    
754    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
755      
756      <div class="        
757       md: 
758 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
759<p style="text-align:left;">FIRMSconsulting is by design a smaller and focused firm. We manage websites, OTT strategy streaming Apps, podcast channels, a Youtube channel, editing/updating books while working on special projects, editing videos, podcasts, and articles, run our business design studio, managing the start-ups while planning programs with partners and often traveling to shoot the 4K content and programming you see.</p>
760<p style="text-align:left;"> </p>
761<p style="text-align:left;">We receive lots of emails which were initially all routed to the partners. For the first few years the partners answered almost all the emails. We usually answered emails late at night, early morning and every weekend while doing all on the left. We rarely took time away and never took a full day off, even on weekends. We were famous for our detailed and rapid responses.</p>
762<p style="text-align:left;"> </p>
763<p style="text-align:left;">As we grew, it became harder responding to emails and managing all the startups and programming we were producing. We started falling behind. And that hurt the entire experience our members had. We luckily changed things.</p>
764<p style="text-align:left;"> </p>
765<p style="text-align:left;">We brought in a team to help us manage the editing, Apps, subscriptions, customer requests, etc. It’s still a tiny team because we rely on automation. Together, we can get through everything that comes in.</p>
766<p style="text-align:left;"> </p>
767<p style="text-align:left;">Our support team receives all our emails, no matter whom it is addressed to, but if you see the email signed by myself (Kris) or one of the partner’s, it is really us who are answering. My support team does not pretend to be one of the partners.</p>
768<p style="text-align:left;"> </p>
769<p style="text-align:left;">Even so, we get a mountain of emails. Therefore, please respect the time and effort it will take to get back to you. In almost all cases it will not be immediate and in the answers, you want will almost certainly be on this site.</p>
770</div></div>
771    </div>
772  </section>
773</div><div id="el-bf8aa6147d597486" class="text-black relative" data-editor="section">
774  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
775    
776    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
777      <div class="        
778       md: 
779 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content">
780<h1><strong>HERE ARE SOME ANSWERS TO THE MOST ASKED QUESTIONS</strong></h1>
781<h1><strong>WE GET ABOUT OUR PROGRAMS AND STRATEGIES:</strong></h1>
782</div></div>
783      
784    </div>
785  </section>
786</div><div id="el-56c4a9aeeb35e301" class="text-black relative" data-editor="section">
787  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
788    
789    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
790      <div class="        
791       md: 
792 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1 style="text-align:center;"><strong>I have a question about subscriptions, accessing the Apps, changing my login details, downloading, buffering the videos…?</strong></h1></div></div>
793      <div class="        
794       md: 
795 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
796<p style="text-align:left;">Everything related to management of your account, across all our websites and Apps, is handled by our support team, and they can be reached at <a target="_blank" rel="noopener noreferrer nofollow" href="mailto:[email protected]"><u>[email protected]</u></a>. Please make sure to give the support team all the information they need to help you:</p>
797<ol>
798<li><p style="text-align:left;">email address of your account</p></li>
799<li><p style="text-align:left;">username</p></li>
800<li><p style="text-align:left;">name of the site/App you are trying to access (we have more than one)</p></li>
801<li><p style="text-align:left;">phone/tablet/PC/laptop/browser you are using</p></li>
802<li><p style="text-align:left;">the exact URL/video you cannot open etc. (very important)</p></li>
803</ol>
804<p style="text-align:left;">If you write in that you cannot access a video, but do not provide us with all the information above, we will need to write back to collect this information. This will cause further delays that will prevent us from helping you quickly.</p>
805</div></div>
806    </div>
807  </section>
808</div><div id="el-86521a9c9634d08a" class="text-black relative" data-editor="section">
809  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
810    
811    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
812      <div class="        
813       md: 
814 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>How do I become a leader given my profile?</strong></h1></div></div>
815      <div class="        
816       md: 
817 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content"><p style="text-align:left;">That’s a great question and it’s what our websites/platforms/programs are designed to teach you. It’s also the most common question we receive. Use our <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/quarterly/firmsconsulting-content-guide/"><u>guide</u></a> to help you understand where to start. Use our free <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/strategy-p
817odcast/">iTunes</a> and <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.youtube.com/channel/UCBeUWFTGiqPHMnENybTpPww"><u>YouTube</u></a> channels. They have a lot of information with &gt;450 free episodes. If you feel you are ready, you may <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/#pricing-plans"><u>subscribe</u></a>.</p></div></div>
818    </div>
819  </section>
820</div><div id="el-a73d45d08ebcf4fa" class="text-black relative" data-editor="section">
821  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
822    
823    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
824      <div class="        
825       md: 
826 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>How do I know if I can even learn strategy, become a leader and grow a business like the partners on FIRMSconsulting?</strong></h1></div></div>
827      <div class="        
828       md: 
829 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
830<p style="text-align:left;">This is a common question and a common fear of many members. We are passionate about teaching. That is why we built FIRMSconsulting. Everyone can learn to think creatively, critically, insightfully, and intuitively. Think of mastering strategy and leadership as a series of smaller skills you need to master like defining the problem statement, breaking down the problem, etc. Focus on learning one at a time. Also start thinking of an investment less as a financial decision and more about the operating issues required to unlock value. The good news is we lay this all out for you.</p>
831<p style="text-align:left;"> </p>
832<p style="text-align:left;">But don’t stop with learning. You have to be implementing what we teach. That is the difference between an <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/leader-vs-analyst/"><u>analyst and a leader</u></a>.</p>
833<p style="text-align:left;"> </p>
834<p style="text-align:left;">Follow the free iTunes podcast channel <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/strategy-podcast/"><u>Strategy Skills</u></a> and our <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.youtube.com/channel/UCBeUWFTGiqPHMnENybTpPww"><u>YouTube</u></a> channel to follow a strategy study and get a sense of how we teach. It’s also a fun way to be introduced to strategy and managing a career-defining assignment.</p>
835<p style="text-align:left;"> </p>
836<p style="text-align:left;">We also released <a target="_blank" rel="noopener noreferrer nofollow" href="https://amzn.to/3a3atTn"><u>Succeeding as a Management Consultant, 2nd Edition</u></a>.  If you are worried about mastering the core problem-solving skills, read this book. It lays out the process step-by-step. <a target="_blank" rel="noopener noreferrer nofollow" href="https://amzn.to/2QGft9d"><u>The Strategy Journal</u></a> is an outstanding book explaining step-by-step how to solve complex problems; this is a book you should carry along with you. <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/titans-of-strategy/"><u>Competitive Strategy</u></a> is a great program to understand how CEOs think and arrive at answers, without days and weeks of analyses. So is <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/rapid-results/"><u>How to Develop Deep Insights</u></a>.</p>
837<p style="text-align:left;"> </p>
838<p style="text-align:left;">If you are an analyst, consultant, or a leader assigned to oversee a detailed study within a corporate structure, follow the online video course <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/strategy-studies/"><u>A McKinsey, BCG et al., Strategy Engagement aka The Tech M&amp;A Strategy Program</u></a>, which takes you deeper. You will follow an engagement to learn how consultants would approach structuring a study to arrive at an answer. This is probably the best program on our website to learn the fundamentals. There is nothing like it, even at elite consulting firms.</p>
839</div></div>
840    </div>
841  </section>
842</div><div id="el-45f66c5c6cc73da6" class="text-black relative" data-editor="section">
843  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
844    
845    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
846      <div class="        
847       md: 
848 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>I have great leadership potential. Can you coach me?</strong></h1></div></div>
849      <div class="        
850       md: 
851 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
852<p style="text-align:left;">The only <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/coaching/"><u>
852coaching</u></a>, we offer is one where we record the entire experience for our members. You are most welcome to apply.</p>
853<p style="text-align:left;"> </p>
854<p style="text-align:left;">After releasing <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/leadership/"><u>The Leadership Program</u> </a>and <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/startups/"><u>The Start-up: Launching a Digital Brand</u></a> we received a lot of requests to launch businesses. We launch businesses only when invited to participate by our most loyal members. We don’t solicit clients, nor do we go out and actively search for businesses to build, and we don’t pitch for the opportunity to invest in a business. It is rare for us to partner with someone who has not been a member for an extended period.</p>
855</div></div>
856    </div>
857  </section>
858</div><div id="el-d57d1fd6576d3ba1" class="text-black relative" data-editor="section">
859  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
860    
861    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
862      <div class="        
863       md: 
864 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>I want to ask questions. Can I email you or post a comment on the websites?</strong></h1></div></div>
865      <div class="        
866       md: 
867 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
868<p style="text-align:left;">Thank you so much for asking. So that we can help the largest number of people, we don’t offer individual information calls, don’t provide detailed answers via email, and have disabled comments. Before pointing out how we can answer your questions, let us explain why we have this policy.</p>
869<p style="text-align:left;"> </p>
870<p style="text-align:left;">Responding to emails and comments takes up much time and prevents us from offering useful advice.</p>
871<p style="text-align:left;"> </p>
872<p style="text-align:left;">We need to read the question.</p>
873<p style="text-align:left;"> </p>
874<p style="text-align:left;">We must think about what the client is asking if the question is vague.</p>
875<p style="text-align:left;"> </p>
876<p style="text-align:left;">If the question is not vague, we need to determine if the client is asking the right question to solve their perceived problem.</p>
877<p style="text-align:left;"> </p>
878<p style="text-align:left;">We usually need to review the video/podcast/article/post to see why the client asked the question.</p>
879<p style="text-align:left;"> </p>
880<p style="text-align:left;">We must link to other podcasts/videos/articles on our sites that can help answer the question.</p>
881<p style="text-align:left;"> </p>
882<p style="text-align:left;">We try to type up a response that can be understood by everyone, especially someone missing the context of the question.</p>
883<p style="text-align:left;"> </p>
884<p style="text-align:left;">Even a simple yes or no question requires significant thought.</p>
885<p style="text-align:left;"> </p>
886<p style="text-align:left;">Questions arrive at odd times, and we cannot always get to them.</p>
887<p style="text-align:left;"> </p>
888<p style="text-align:left;">Typing takes longer than speaking so it is harder to write responses.</p>
889<p style="text-align:left;"> </p>
890<p style="text-align:left;">There is repetition since questions are not in one place and members repeat questions.</p>
891<p style="text-align:left;"> </p>
892<p style="text-align:left;">Emails have their unique problems since they arrive in an inbox and if that partner is away, no one is going to see that email for a long time.</p>
893<p style="text-align:left;"> </p>
894<p style="text-align:left;">Many members also send numerous attachments and updates, all of which take time to review.</p>
895<p style="text-align:left;"> </p>
896<p style="text-align:left;">Members attach complicated ‘rules’ for what can and cannot be disclosed from the attachments.</p>
897<p style="text-align:left;"> </p>
898<p style="text-align:left;">It takes too much time ensure we are following the ‘rules.’</p>
899<p style="text-align:left;"> </p>
900<p style="text-align:left;">Members use the comments section as a Q&amp;A feature.</p>
901<p style="text-align:left;"> </p>
902<p style="text-align:left;">To avoid further confusion, we removed the ability to submit questions as comments.</p>
903<p style="text-align:left;"> </p>
904<p style="text-align:left;">This was the best way to avoid the impression we were ignoring a question.</p>
905<p style="text-align:left;"> </p>
906<p style="text-align:left;">The new process fixes the problems above and focuses on the things most of you want.</p>
907<p style="text-align:left;"> </p>
908<p style="text-align:left;">The best way to get a response is to join our <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/coaching/">coaching</a> program.</p>
909</div></div>
910    </div>
911  </section>
912</div><div id="el-645e4b5fe0be87f7" class="text-black relative" data-editor="section">
913  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
914    
915    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
916      <div class="        
917       md: 
918 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>Can I use your emails, articles, podcasts, videos, frameworks, and book excerpts on my website or distribute them internally?</strong></h1></div></div>
919      <div class="        
920       md: 
921 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
922<p style="text-align:left;">
922No, you may not copy, reprint, republish, adapt, assimilate and/or recreate any of our content without our explicit written permission. Except where otherwise specified, all content is the copyright of FIRMSconsulting LLC and its assigns.</p>
923<p style="text-align:left;"> </p>
924<p style="text-align:left;">Using content without permission is not a nice way to become successful and you would not like it if someone did the same thing to you. We work very hard to produce the content and are rigorous about enforcing our copyrights.</p>
925<p style="text-align:left;"> </p>
926<p style="text-align:left;">You can do better and I am sure you will find the right way to do it.</p>
927<p style="text-align:left;"> </p>
928<p style="text-align:left;">If you are a member, our <a target="_blank" rel="noopener noreferrer nofollow" href="https://firmsconsulting.uscreen.io/pages/terms"><u>terms</u></a> offer you a non-transferrable license to use the material for your personal use only, provided you are (A) not a competitor and (B) you credit FIRMSconsulting LLC in every instance where our frameworks, insights, ideas, etc., are used.</p>
929</div></div>
930    </div>
931  </section>
932</div><div id="el-63dd356e8a8fbe1a" class="text-black relative" data-editor="section">
933  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
934    
935    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
936      <div class="        
937       md: 
938 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>Can I translate your work into a different language?</strong></h1></div></div>
939      <div class="        
940       md: 
941 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content"><p>We receive many offers to translate our content. Translating requires much more than simply converting words and phrases. We want to ensure the entire customer experience works. That is why this is something we will consider on a case-by-case basis.</p></div></div>
942    </div>
943  </section>
944</div><div id="el-a5a0aa3fba130bd2" class="text-black relative" data-editor="section">
945  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
946    
947    <div class="flex flex-col p-8 mx-6 justify-center" style="background-color: ;">
948      <div class="        
949       md: 
950 text-center w-full heading_font_family mb-2 md:mb-3 font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><h1><strong>Can I get a discount or free access?</strong></h1></div></div>
951      <div class="        
952       md: 
953 text-center body_font_family mb-3 md:mb-4 text-base" style=" "><div class="editor-content">
954<p style="text-align:left;">We do not offer discounts, for individuals or group, because the effort to support members does not decrease with more members. It increases.</p>
955<p style="text-align:left;"> </p>
956<p style="text-align:left;">We do, however, feel your pain and respect it. We have many members in emerging markets. We have always distinguished between an expense and an investment. FIRMSconsulting is an investment for members who want to have a big impact in the world.</p>
957<p style="text-align:left;"> </p>
958<p style="text-align:left;">We want to proudly attach our name to everything we put out. We want to make a difference. All of that requires investment to produce and maintain dedicated Apps, websites and books, not to mention producing so much content. We offer a library of +480 free podcasts alone.</p>
959<p style="text-align:left;"> </p>
960<p style="text-align:left;">If we lower prices it will lead to little funding to reinvest in the content we want and need to produce and the experience we want you to have, and hope you keep having.</p>
961<p style="text-align:left;"> </p>
962<p style="text-align:left;">We believe the <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.firmsconsulting.com/career-roi/">ROI</a> speaks for itself. It’s a cost-benefit analysis versus cost analysis. We know the impact we have in the lives of our members and the benefits are enormous. Many of our members have been with us since we started, over 10 years ago.</p>
963</div></div>
964    </div>
965  </section>
966</div><div id="el-24e5c78bed6e37d3" class="text-black relative" data-editor="section">
967  <section class="relative overflow-hidden py-4" style="background-color: #FFFFFF;">
968    
969    <div class="max-w-xl md:max-w-2xl lg:max-w-3xl p-8 md:p-20 mx-6 md:mx-auto flex flex-col items-center justify-center relative " style="background-color: ;">
970        <div class="        
971       md: 
972 text-center heading_font_family mb-2 md:mb-3  font-bold text-2xl md:text-4xl" style=" "><div class="editor-content"><p>Still have questions?</p></div></div>
973        
974          <a href="mailto: [email protected]" target="_self" style="background-color: #1A2A36;  " class="        
975       md: 
976 pb-button px-6 py-3 body_font_family text-white mt-6"><div class="editor-content"><p>Email Us</p></div></a>
977
978    </div>
979  </section>
980</div>
981      <footer class="px-[3%] py-8 lg:py-6 w-full bg-ds-main border-t border-ds-default bg-ds-default text-ds-muted text-ds-base-regular">
982  <div class="container flex flex-col space-y-4 justify-center">
983    <div class="flex flex-wrap justify-center items-center space-y-2 space-x-2 text-center md:text-left rtl:md:text-right">
984        <p class="mt-2 flex justify-center space-x-2 w-full md:w-fit text-center text-sm font-normal leading-5 text-ds-muted">
985          <span id="store-title">© 2026 StrategyTraining.com</span>
986          <span class="ms-2 text-sm font-normal leading-5 text-ds-muted hidden md:inline-block">∙</span>
987        </p>
988          <p class="text-sm font-normal leading-5 text-ds-muted">
989            <a class="hover:underline underline-offset-2 underline" target="_self" href="/pages/contact-us">Contact Us</a>
990          </p>
991          <p class="text-sm font-normal leading-5 text-ds-muted last-of-type:hidden">∙</p>
992          <p class="text-sm font-normal leading-5 text-ds-muted">
993            <a class="hover:underline underline-offset-2" target="_self" href="/terms">Terms</a>
994          </p>
995          <p class="text-sm font-normal leading-5 text-ds-muted last-of-type:hidden">∙</p>
996          <p class="text-sm font-normal leading-5 text-ds-muted">
997            <a class="hover:underline underline-offset-2" target="_self" href="/privacy">Privacy</a>
998          </p>
999          <p class="text-sm font-normal leading-5 text-ds-muted last-of-type:hidden">∙</p>
1000          <div class="mt-4 md:!ms-4 w-full md:w-fit text-center text-primary hover:underline underline-offset-2 leading-5">
1001            <a class="text-sm text-primary font-medium" data-turbo="true" data-turbo-frame="website_modal" href="/about/apps">Get the app -&gt;</a>
1002          </div>
1003      </div>
1004
1005  </div>
1006  <div class="flex mt-0 md:mt-4 items-center justify-center">
1007    
1008  </div>
1009</footer>
1010
1011    
1011<script>(function(w,r){w._rwq=r;w[r]=w[r]||function(){(w[r].q=w[r].q||[]).push(arguments)}})(window,'rewardful');</script>
vendor: 1 bytes, line 1011
1011
1012<script async src='https://r.wdfl.co/rw.js' data-rewardful='a8dccc'></script>
vendor: 1 bytes, line 1012
1012
1013<script>
1014  rewardful('ready', function() {
1015    if (Rewardful.referral) {
1016      // The current website visitor is a referral from an affiliate.
1017      var d = new Date();
1018      d.setTime(d.getTime() + (30*24*60*60*1000));
1019      var expires = "expires="+ d.toUTCString();
1020      document.cookie = 'rewardfulRef' + "=" + Rewardful.referral + ";" + expires + ";path=/";
1021    }
1022  });
1023</script>
1023
1024
1025
1026
1027  </body>
1028</html>

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