@tscircuit/runframe 0.0.3071 → 0.0.3072
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/standalone.min.js
CHANGED
|
@@ -1065,8 +1065,8 @@ ${n.map(m=>m.spiceString).join(`
|
|
|
1065
1065
|
[zustand devtools middleware] Unsupported __setState action format.
|
|
1066
1066
|
When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
|
|
1067
1067
|
and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
|
|
1068
|
-
`);const D=l.state[C];if(D==null)return;JSON.stringify(t.getState())!==JSON.stringify(D)&&r(D);return}t.dispatchFromDevtools&&typeof t.dispatch=="function"&&t.dispatch(l)});case"DISPATCH":switch(c.payload.type){case"RESET":return r(a),C===void 0?E?.init(t.getState()):E?.init(_lA(Q.name));case"COMMIT":if(C===void 0){E?.init(t.getState());return}return E?.init(_lA(Q.name));case"ROLLBACK":return RHA(c.state,l=>{if(C===void 0){r(l),E?.init(t.getState());return}r(l[C]),E?.init(_lA(Q.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return RHA(c.state,l=>{if(C===void 0){r(l);return}JSON.stringify(t.getState())!==JSON.stringify(l[C])&&r(l[C])});case"IMPORT_STATE":{const{nextLiftedState:l}=c.payload,D=(h=l.computedStates.slice(-1)[0])==null?void 0:h.state;if(!D)return;r(C===void 0?D:D[C]),E?.send(null,l);return}case"PAUSE_RECORDING":return s=!s}return}}),a},RHA=(g,A)=>{let I;try{I=JSON.parse(g)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}I!==void 0&&A(I)},Um=window.TSCIRCUIT_FILESERVER_API_BASE_URL??"/api",Xat=[".tsx",".ts",".jsx",".js",".mjs",".json",".kicad_pcb",".kicad_sym",".kicad_sch",".kicad_prl",".kicad_pro"],NHA=g=>Xat.some(A=>g.endsWith(A)),qAA=tXg.extend("store");async function dXg(g,A){return(await(await fetch(`${Um}/files/upsert`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file_path:g,text_content:A})})).json()).file}async function xHA(g){return(await(await fetch(`${Um}/files/get?file_path=${encodeURIComponent(g)}`)).json()).file}async function $at(g){const A=g?`${Um}/events/list?since=${encodeURIComponent(g)}`:`${Um}/events/list`;return(await(await fetch(A)).json()).event_list}async function Art(){const g=await fetch(`${Um}/files/list`),{file_list:A}=await g.json(),I=new Map;for(const e of A){if(NHA(e.file_path)){const t=await xHA(e.file_path);I.set(e.file_path,t.text_content);continue}I.set(e.file_path,"__STATIC_ASSET__")}return I}const grt=["manual-edits.json","manual_edits.json"],Kc=lXg()(DXg((g,A)=>({fsMap:new Map,lastEventTime:new Date().toISOString(),isPolling:!1,error:null,circuitJson:null,lastManualEditsChangeSentAt:0,recentEvents:[],simulateScenarioOrder:void 0,currentMainComponentPath:null,recentlySavedFiles:[],loadInitialFiles:async()=>{const I=await Art();qAA("loaded initial files",{fsMap:I}),g({fsMap:I})},upsertFile:async(I,e)=>{try{const t=await dXg(I,e);g(o=>({fsMap:new Map(o.fsMap).set(t.file_path,t.text_content)}))}catch(t){g({error:t})}},getFile:async I=>{try{const e=await xHA(I);g(t=>({fsMap:new Map(t.fsMap).set(e.file_path,e.text_content)}))}catch(e){g({error:e})}},setCircuitJson:I=>{I!==A().circuitJson&&g({circuitJson:I})},addRecentlySavedFile:I=>{g(e=>{if(grt.includes(I)||!NHA(I))return e;const t=e.recentlySavedFiles.filter(o=>o!==I);return{recentlySavedFiles:[I,...t].slice(0,10)}})},startPolling:()=>{const I=async()=>{const e=A();if(e.isPolling){try{const t=await $at(e.lastEventTime);if(t.length>0){const o=t[t.length-1].created_at;qAA("received events",t.map(Q=>Q.event_type)),g(Q=>({recentEvents:[...Q.recentEvents,...t].slice(0,100),lastEventTime:o}));let B=0;const C=new Map(e.fsMap);for(const Q of t)if(Q.event_type==="FILE_UPDATED"){B++;const i=await xHA(Q.file_path);if(Q.file_path==="manual_edits.json"&&Date.now()-e.lastManualEditsChangeSentAt<1e3)continue;NHA(i.file_path)?C.set(i.file_path,i.text_content??""):C.set(i.file_path,"__STATIC_ASSET__"),A().addRecentlySavedFile(Q.file_path)}else Q.event_type==="FILE_DELETED"&&(B++,C.delete(Q.file_path));B>0&&(qAA("updating fsMap, fsUpdateCount:",B),g({fsMap:C}))}}catch(t){g({error:t})}setTimeout(I,1e3)}};g({isPolling:!0}),I()},stopPolling:()=>{g({isPolling:!1})},pushEvent:async I=>{await fetch(`${Um}/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(I)})},applyEditEventsAndUpdateManualEditsJson:async I=>{qAA("applyEditEventsAndUpdateManualEditsJson",{editEvents:I});const e=A();if(!e.circuitJson)return;const t=e.fsMap.get("manual-edits.json"),o=t?JSON.parse(t):{},B=OVg({circuitJson:e.circuitJson,editEvents:I,manualEditsFile:o});qAA("updatedManualEditsFileContent",B),g(C=>({lastManualEditsChangeSentAt:Date.now(),fsMap:new Map(C.fsMap).set("manual-edits.json",JSON.stringify(B))})),await dXg("manual-edits.json",JSON.stringify(B,null,2))},setSimulateScenarioOrder:I=>g({simulateScenarioOrder:I}),setCurrentMainComponentPath:I=>g({currentMainComponentPath:I})}),{name:"run-frame-store"})),Irt=tXg.extend("useEditEventController"),ert=()=>{const g=Kc(r=>r.applyEditEventsAndUpdateManualEditsJson),[A,I]=z.useState([]),[e,t]=z.useState(!1),o=A.filter(r=>!r._applied),B=A.filter(r=>r._applied),C=e?A:o,Q=z.useCallback(r=>{I(a=>[...a,{...r,_applied:!1}])},[]),i=z.useCallback(r=>{I(a=>a.map(c=>c===r?{...c,_applied:!0}:c))},[]),E=z.useCallback(()=>{I(r=>r.map(a=>({...a,_applied:!0})))},[]),n=z.useCallback(()=>{t(!0),A.length!==0&&(Irt("removing edit events that are applied"),I(r=>r.filter(a=>!a._applied)))},[A]),s=z.useCallback(()=>{t(!1)},[]);return z.useEffect(()=>{if(A.filter(a=>!a._applied).length===0)return;const r=setTimeout(()=>{E(),g(A)},1e3);return()=>clearTimeout(r)},[A]),{unappliedEditEvents:o,appliedEditEvents:B,editEventsForRender:C,pushEditEvent:Q,markEditEventApplied:i,markRenderStarted:n,markRenderComplete:s,markAllEditEventsApplied:E}},FHA=kE("run-frame:useHasReceivedInitialFilesLoaded"),trt=()=>{const[g,A]=z.useState(!1),I=Kc(t=>t.recentEvents),e=Kc(t=>t.loadInitialFiles);return z.useEffect(()=>{(async()=>{await e();try{const o=await fetch(`${Um}/events/list?event_type=INITIAL_FILES_UPLOADED`);if(o.ok){const{event_list:B}=await o.json();if(B.length>0){FHA("INITIAL_FILES_UPLOADED found in history. Assuming ready."),A(!0);return}}}catch(o){console.error("Failed to check for event history",o)}FHA("No INITIAL_FILES_UPLOADED in history, waiting for polling.")})()},[e]),z.useEffect(()=>{g||I.some(t=>t.event_type==="INITIAL_FILES_UPLOADED")&&(FHA("INITIAL_FILES_UPLOADED received via polling. Assuming ready."),A(!0))},[I,g]),g};function XT(g,A,I){const[e,t]=z.useState(()=>{if(I!==void 0)return I;try{const o=window.localStorage.getItem(g);return o?JSON.parse(o):A}catch(o){return console.error("Error reading from localStorage:",o),A}});return z.useEffect(()=>{try{window.localStorage.setItem(g,JSON.stringify(e))}catch(o){console.error("Error writing to localStorage:",o)}},[g,e]),[e,t]}var ort=Object.defineProperty,$T=(g,A)=>ort(g,"name",{value:A,configurable:!0}),yXg=!!(typeof window<"u"&&window.document&&window.document.createElement);function fo(g,A,{checkForDefaultPrevented:I=!0}={}){return $T(function(t){if(g?.(t),I===!1||!t||!t.defaultPrevented)return A?.(t)},"handleEvent")}$T(fo,"composeEventHandlers");function Brt(g){if(!yXg)throw new Error("Cannot access window outside of the DOM");return g?.ownerDocument?.defaultView??window}$T(Brt,"getOwnerWindow");function UHA(g){if(!yXg)throw new Error("Cannot access document outside of the DOM");return g?.ownerDocument??document}$T(UHA,"getOwnerDocument");function wXg(g,A=!1){const{activeElement:I}=UHA(g);if(!I?.nodeName)return null;if(uXg(I)&&I.contentDocument)return wXg(I.contentDocument.body,A);if(A){const e=I.getAttribute("aria-activedescendant");if(e){const t=UHA(I).getElementById(e);if(t)return t}}return I}$T(wXg,"getActiveElement");function uXg(g){return g.tagName==="IFRAME"}$T(uXg,"isFrame");var Crt=Object.defineProperty,X2=(g,A)=>Crt(g,"name",{value:A,configurable:!0});function Qrt(g,A){const I=z.createContext(A);I.displayName=g+"Context";const e=X2(o=>{const{children:B,...C}=o,Q=z.useMemo(()=>C,Object.values(C));return T.jsx(I.Provider,{value:Q,children:B})},"Provider");e.displayName=g+"Provider";function t(o,B={}){const{optional:C=!1}=B,Q=z.useContext(I);if(Q)return Q;if(A!==void 0)return A;if(!C)throw new Error(`\`${o}\` must be used within \`${g}\``)}return X2(t,"useContext"),[e,t]}X2(Qrt,"createContext");function hk(g,A=[]){let I=[];function e(o,B){const C=z.createContext(B);C.displayName=o+"Context";const Q=I.length;I=[...I,B];const i=X2(n=>{const{scope:s,children:r,...a}=n,c=s?.[g]?.[Q]||C,h=z.useMemo(()=>a,Object.values(a));return T.jsx(c.Provider,{value:h,children:r})},"Provider");i.displayName=o+"Provider";function E(n,s,r={}){const{optional:a=!1}=r,c=s?.[g]?.[Q]||C,h=z.useContext(c);if(h)return h;if(B!==void 0)return B;if(!a)throw new Error(`\`${n}\` must be used within \`${o}\``)}return X2(E,"useContext"),[i,E]}X2(e,"createContext");const t=X2(()=>{const o=I.map(B=>z.createContext(B));return X2(function(C){const Q=C?.[g]||o;return z.useMemo(()=>({[`__scope${g}`]:{...C,[g]:Q}}),[C,Q])},"useScope")},"createScope");return t.scopeName=g,[e,GXg(t,...A)]}X2(hk,"createContextScope");function GXg(...g){const A=g[0];if(g.length===1)return A;const I=X2(()=>{const e=g.map(t=>({useScope:t(),scopeName:t.scopeName}));return X2(function(o){const B=e.reduce((C,{useScope:Q,scopeName:i})=>{const n=Q(o)[`__scope${i}`];return{...C,...n}},{});return z.useMemo(()=>({[`__scope${A.scopeName}`]:B}),[B])},"useComposedScopes")},"createScope");return I.scopeName=A.scopeName,I}X2(GXg,"composeContextScopes");var irt=Object.defineProperty,JHA=(g,A)=>irt(g,"name",{value:A,configurable:!0});function PHA(g,A){if(typeof g=="function")return g(A);g!=null&&(g.current=A)}JHA(PHA,"setRef");function o5(...g){return A=>{let I=!1;const e=g.map(t=>{const o=PHA(t,A);return!I&&typeof o=="function"&&(I=!0),o});if(I)return()=>{for(let t=0;t<e.length;t++){const o=e[t];typeof o=="function"?o():PHA(g[t],null)}}}}JHA(o5,"composeRefs");function Gi(...g){return z.useCallback(o5(...g),g)}JHA(Gi,"useComposedRefs");var Ert=Object.defineProperty,XM=(g,A)=>Ert(g,"name",{value:A,configurable:!0});function fR(g){const A=z.forwardRef((I,e)=>{let{children:t,...o}=I,B=null,C=!1;const Q=[];t=RXg(t),z.Children.forEach(t,s=>{if(SXg(s)){C=!0;const r=s;let a="child"in r.props?r.props.child:r.props.children;for(;KHA(a)&&typeof blA=="function";)a=blA(a._payload);B=srt(r,a),Q.push(B?.props?.children)}else Q.push(s)}),B?B=z.cloneElement(B,void 0,Q):!C&&z.Children.count(t)===1&&z.isValidElement(t)&&(B=t);const i=B?MXg(B):void 0,E=Gi(e,i);if(!B){if(t||t===0)throw new Error(C?crt(g):rrt(g));return t}const n=kXg(o,B.props??{});return B.type!==z.Fragment&&(n.ref=e?E:i),z.cloneElement(B,n)});return A.displayName=`${g}.Slot`,A}XM(fR,"createSlot");var nrt=fR("Slot"),mXg=Symbol.for("radix.slottable");function pXg(g){const A=XM(I=>"child"in I?I.children(I.child):I.children,"Slottable");return A.displayName=`${g}.Slottable`,A.__radixId=mXg,A}XM(pXg,"createSlottable");var srt=XM((g,A)=>"child"in g.props?z.isValidElement(A)?z.cloneElement(A,void 0,g.props.children(A.props.children)):null:z.isValidElement(A)?A:null,"getSlottableElementFromSlottable");function kXg(g,A){const I={...A};for(const e in A){const t=g[e],o=A[e];/^on[A-Z]/.test(e)?t&&o?I[e]=(...C)=>{const Q=o(...C);return t(...C),Q}:t&&(I[e]=t):e==="style"?I[e]={...t,...o}:e==="className"?I[e]=[t,o].filter(Boolean).join(" "):e==="aria-describedby"&&(I[e]=NXg(o,t))}return{...g,...I}}XM(kXg,"mergeProps");function MXg(g){let A=Object.getOwnPropertyDescriptor(g.props,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning;return I?g.ref:(A=Object.getOwnPropertyDescriptor(g,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning,I?g.props.ref:g.props.ref||g.ref)}XM(MXg,"getElementRef");function SXg(g){return z.isValidElement(g)&&typeof g.type=="function"&&"__radixId"in g.type&&g.type.__radixId===mXg}XM(SXg,"isSlottable");var art=Symbol.for("react.lazy");function KHA(g){return g!=null&&typeof g=="object"&&"$$typeof"in g&&g.$$typeof===art&&"_payload"in g&&fXg(g._payload)}XM(KHA,"isLazyComponent");function fXg(g){return typeof g=="object"&&g!==null&&"then"in g}XM(fXg,"isPromiseLike");function RXg(g){let A=g;for(;KHA(A)&&typeof blA=="function";)A=blA(A._payload);return A}XM(RXg,"useUnwrappedLazy");function NXg(...g){const A=new Set;for(const I of g)if(typeof I=="string")for(const e of String(I).trim().split(/\s+/))e&&A.add(e);return A.size>0?Array.from(A).join(" "):void 0}XM(NXg,"concatAriaDescribedby");var rrt=XM(g=>`${g} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),crt=XM(g=>`${g} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),blA=qp[" use ".trim().toString()],uh=globalThis?.document?z.useLayoutEffect:()=>{},hrt=Object.defineProperty,fd=(g,A)=>hrt(g,"name",{value:A,configurable:!0});function HlA(g){const A=g+"CollectionProvider",[I,e]=hk(A),[t,o]=I(A,{collectionRef:{current:null},itemMap:new Map}),B=fd(c=>{const{scope:h,children:l}=c,D=z.useRef(null),d=z.useRef(new Map).current;return T.jsx(t,{scope:h,itemMap:d,collectionRef:D,children:l})},"CollectionProvider");B.displayName=A;const C=g+"CollectionSlot",Q=fR(C),i=z.forwardRef((c,h)=>{const{scope:l,children:D}=c,d=o(C,l),y=Gi(h,d.collectionRef);return T.jsx(Q,{ref:y,children:D})});i.displayName=C;const E=g+"CollectionItemSlot",n="data-radix-collection-item",s=fR(E),r=z.forwardRef((c,h)=>{const{scope:l,children:D,...d}=c,y=z.useRef(null),w=Gi(h,y),u=o(E,l);return z.useEffect(()=>(u.itemMap.set(y,{ref:y,...d}),()=>{u.itemMap.delete(y)})),T.jsx(s,{[n]:"",ref:w,children:D})});r.displayName=E;function a(c){const h=o(g+"CollectionConsumer",c);return z.useCallback(()=>{const D=h.collectionRef.current;if(!D)return[];const d=Array.from(D.querySelectorAll(`[${n}]`));return Array.from(h.itemMap.values()).sort((u,G)=>d.indexOf(u.ref.current)-d.indexOf(G.ref.current))},[h.collectionRef,h.itemMap])}return fd(a,"useCollection"),[{Provider:B,Slot:i,ItemSlot:r},a,e]}fd(HlA,"createCollection");var xXg=new WeakMap,vlA=(KS=class extends Map{constructor(I){super(I);Clg(this,vl);mCA(this,vl,[...super.keys()]),xXg.set(this,!0)}set(I,e){return xXg.get(this)&&!this.has(I)&&Xn(this,vl).push(I),super.set(I,e),this}insert(I,e,t){const o=this.has(e),B=o?this.size:this.size+1,C=LHA(I),Q=C>=0?Math.min(C,B-1):Math.max(B+C,0);if(o?Xn(this,vl).indexOf(e)===Q:Q===this.size)return this.set(e,t),this;const i=Xn(this,vl).filter(n=>n!==e);i.splice(Q,0,e);const E=i.map(n=>[n,n===e?t:this.get(n)]);this.clear();for(const[n,s]of E)this.set(n,s);return this}with(I,e,t){const o=new KS(this);return o.insert(I,e,t),o}before(I){const e=Xn(this,vl).indexOf(I)-1;if(!(e<0))return this.entryAt(e)}setBefore(I,e,t){const o=Xn(this,vl).indexOf(I);if(o===-1)return this;const B=Xn(this,vl).indexOf(e),C=B!==-1&&B<o?o-1:o;return this.insert(C,e,t)}after(I){let e=Xn(this,vl).indexOf(I);if(e=e===-1||e===this.size-1?-1:e+1,e!==-1)return this.entryAt(e)}setAfter(I,e,t){const o=Xn(this,vl).indexOf(I);if(o===-1)return this;const B=Xn(this,vl).indexOf(e),C=B!==-1&&B<=o?o:o+1;return this.insert(C,e,t)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return mCA(this,vl,[]),super.clear()}delete(I){const e=super.delete(I);return e&&Xn(this,vl).splice(Xn(this,vl).indexOf(I),1),e}deleteAt(I){const e=this.keyAt(I);return e!==void 0?this.delete(e):!1}at(I){const e=TlA(Xn(this,vl),I);if(e!==void 0)return this.get(e)}entryAt(I){const e=TlA(Xn(this,vl),I);if(e!==void 0)return[e,this.get(e)]}indexOf(I){return Xn(this,vl).indexOf(I)}keyAt(I){return TlA(Xn(this,vl),I)}from(I,e){const t=this.indexOf(I);if(t===-1)return;let o=t+e;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.at(o)}keyFrom(I,e){const t=this.indexOf(I);if(t===-1)return;let o=t+e;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.keyAt(o)}find(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return o;t++}}findIndex(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return t;t++}return-1}filter(I,e){const t=[];let o=0;for(const B of this)Reflect.apply(I,e,[B,o,this])&&t.push(B),o++;return new KS(t)}map(I,e){const t=[];let o=0;for(const B of this)t.push([B[0],Reflect.apply(I,e,[B,o,this])]),o++;return new KS(t)}reduce(...I){const[e,t]=I,o=I.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let B=0,C=t;for(const Q of this)B===0&&!o?C=Q:C=Reflect.apply(e,this,[C,Q,B,this]),B++;return C}reduceRight(...I){const[e,t]=I,o=I.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let B=t;for(let C=this.size-1;C>=0;C--){const Q=this.entryAt(C);C===this.size-1&&!o?B=Q:B=Reflect.apply(e,this,[B,Q,C,this])}return B}sort(I){if(typeof I!="function")throw new TypeError("OrderedDict.sort requires a compare function");const e=[...this.entries()].sort(I);this.clear();for(const[t,o]of e)this.set(t,o);return this}toSorted(I){if(typeof I!="function")throw new TypeError("OrderedDict.toSorted requires a compare function");const e=[...this.entries()].sort(I);return new KS(e)}toReversed(){const I=new KS;for(let e=this.size-1;e>=0;e--){const t=this.keyAt(e),o=this.get(t);I.set(t,o)}return I}toSpliced(...I){const e=[...this.entries()];return e.splice(...I),new KS(e)}slice(I,e){const t=new KS;for(const o of Xn(this,vl).slice(I,e))t.set(o,this.get(o));return t}every(I,e){let t=0;for(const o of this){if(!Reflect.apply(I,e,[o,t,this]))return!1;t++}return!0}some(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return!0;t++}return!1}},vl=new WeakMap,fd(KS,"OrderedDict"),KS);function TlA(g,A){if("at"in Array.prototype)return Array.prototype.at.call(g,A);const I=FXg(g,A);return I===-1?void 0:g[I]}fd(TlA,"at");function FXg(g,A){const I=g.length,e=LHA(A),t=e>=0?e:I+e;return t<0||t>=I?-1:t}fd(FXg,"toSafeIndex");function LHA(g){return g!==g||g===0?0:Math.trunc(g)}fd(LHA,"toSafeInteger");function lrt(g){const A=g+"CollectionProvider",[I,e]=hk(A),[t,o]=I(A);t.displayName=g+"CollectionStableContextProvider";const[B,C]=I(A);B.displayName=g+"CollectionStatefulContextProvider";const Q=fd(({state:u,...G})=>u?T.jsx(E,{...G,state:u}):T.jsx(i,{...G}),"CollectionProvider");Q.displayName=A;const i=fd(u=>{const G=D();return T.jsx(E,{...u,state:G})},"CollectionInit");i.displayName=g+"CollectionInit";const E=fd(u=>{const{scope:G,children:m,state:p}=u,k=z.useRef(null),[S,R]=z.useState(null),x=Gi(k,R),[N,U]=p,K=z.useRef(new vlA),Y=z.useCallback(()=>{const _=K.current;return PXg(_)||_.sort(qlA),_},[]);return z.useEffect(()=>{if(!S)return;const _=KXg(()=>{U(q=>{const j=q.toSorted(qlA);return j.some(([Z],$)=>q.keyAt($)!==Z)?j:q})});return _.observe(S,{childList:!0,subtree:!0}),()=>{_.disconnect()}},[S,U]),T.jsx(t,{scope:G,collectionElementRef:x,collectionElementRefObject:k,getCollection:Y,setCollection:U,registryRef:K,children:T.jsx(B,{scope:G,collectionElement:S,collection:N,children:m})})},"CollectionProviderImpl");E.displayName=g+"CollectionProviderImpl";const n=g+"CollectionSlot",s=fR(n),r=z.forwardRef((u,G)=>{const{scope:m,children:p}=u,k=o(n,m),S=Gi(G,k.collectionElementRef);return T.jsx(s,{ref:S,children:p})});r.displayName=n;const a=g+"CollectionItemSlot",c="data-radix-collection-item",h=fR(a),l=z.forwardRef((u,G)=>{const{scope:m,children:p,...k}=u,S=z.useRef(null),R=o(a,m),{setCollection:x,registryRef:N}=R,U=z.useRef(k);UXg(U.current,k)||(U.current=k);const K=U.current,Y=z.useCallback(j=>{const W=N.current;j?W.set(j,{...U.current,element:j}):S.current&&W.delete(S.current)},[N]),_=Gi(G,Y,S);uh(()=>{const j=S.current,W=N.current;j&&W.has(j)&&W.set(j,{...K,element:j})},[K,N]);const q=z.useRef(null);return z.useEffect(()=>{const j=S.current,W=q.current;(W?.element??null)===j&&(!j||W?.itemData===K)||(q.current=j?{element:j,itemData:K}:null,x(Z=>{const $=new vlA(Z);return W&&W.element!==j&&$.delete(W.element),j&&$.set(j,{...K,element:j}),$.sort(qlA)}))}),z.useEffect(()=>()=>{const j=q.current;q.current=null,j&&x(W=>{if(!W.has(j.element))return W;const Z=new vlA(W);return Z.delete(j.element),Z})},[x]),T.jsx(h,{[c]:"",ref:_,children:p})});l.displayName=a;function D(){return z.useState(new vlA)}fd(D,"useInitCollection");function d(u){const{collection:G}=C(g+"CollectionConsumer",u);return G}fd(d,"useCollection");function y(u){const{getCollection:G}=o(g+"CollectionConsumer",u);return G}return fd(y,"useGetCollection"),[{Provider:Q,Slot:r,ItemSlot:l},{createCollectionScope:e,useCollection:d,useGetCollection:y,useInitCollection:D}]}fd(lrt,"createCollection");function UXg(g,A){if(g===A)return!0;if(typeof g!="object"||typeof A!="object"||g==null||A==null)return!1;const I=Object.keys(g),e=Object.keys(A);if(I.length!==e.length)return!1;for(const t of I)if(!Object.prototype.hasOwnProperty.call(A,t)||g[t]!==A[t])return!1;return!0}fd(UXg,"shallowEqual");function JXg(g,A){return!!(A.compareDocumentPosition(g)&Node.DOCUMENT_POSITION_PRECEDING)}fd(JXg,"isElementPreceding");function PXg(g){let A;for(const I of g.keys()){if(A){const e=A.compareDocumentPosition(I);if(!(e&Node.DOCUMENT_POSITION_DISCONNECTED)&&e&Node.DOCUMENT_POSITION_PRECEDING)return!1}A=I}return!0}fd(PXg,"isInDocumentOrder");function qlA(g,A){return!g[1].element||!A[1].element?0:JXg(g[1].element,A[1].element)?-1:1}fd(qlA,"sortByDocumentPosition");function KXg(g){return new MutationObserver(I=>{for(const e of I)if(e.type==="childList"){g();return}})}fd(KXg,"getChildListObserver");var Drt=Object.defineProperty,drt=(g,A)=>Drt(g,"name",{value:A,configurable:!0}),yrt=qp[" useId ".trim().toString()]||(()=>{}),wrt=0;function _0(g){const[A,I]=z.useState(yrt());return uh(()=>{g||I(e=>e??String(wrt++))},[g]),g||(A?`radix-${A}`:"")}drt(_0,"useId");var dx=iRA();const LXg=vp(dx);var urt=Object.defineProperty,Grt=(g,A)=>urt(g,"name",{value:A,configurable:!0}),mrt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],yQ=mrt.reduce((g,A)=>{const I=fR(`Primitive.${A}`),e=z.forwardRef((t,o)=>{const{asChild:B,...C}=t,Q=B?I:A;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),T.jsx(Q,{...C,ref:o})});return e.displayName=`Primitive.${A}`,{...g,[A]:e}},{});function YHA(g,A){g&&dx.flushSync(()=>g.dispatchEvent(A))}Grt(YHA,"dispatchDiscreteCustomEvent");var prt=Object.defineProperty,krt=(g,A)=>prt(g,"name",{value:A,configurable:!0}),YXg=qp[" useInsertionEffect ".trim().toString()];function $M(g){const A=z.useRef(g);return typeof YXg=="function"?YXg(()=>{A.current=g}):uh(()=>{A.current=g}),z.useMemo(()=>((...I)=>A.current?.(...I)),[])}krt($M,"useCallbackRef");var Mrt=Object.defineProperty,Srt=(g,A)=>Mrt(g,"name",{value:A,configurable:!0}),_Xg=qp[" useEffectEvent ".trim().toString()],bXg=qp[" useInsertionEffect ".trim().toString()];function HXg(g){if(typeof _Xg=="function")return _Xg(g);const A=z.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof bXg=="function"?bXg(()=>{A.current=g}):uh(()=>{A.current=g}),z.useMemo(()=>((...I)=>A.current?.(...I)),[])}Srt(HXg,"useEffectEvent");var frt=Object.defineProperty,ZAA=(g,A)=>frt(g,"name",{value:A,configurable:!0}),Rrt=qp[" useInsertionEffect ".trim().toString()]||uh;function RR({prop:g,defaultProp:A,onChange:I=ZAA(()=>{},"onChange"),caller:e}){const[t,o,B]=vXg({defaultProp:A,onChange:I}),C=g!==void 0,Q=C?g:t,i=z.useCallback(E=>{if(C){const n=TXg(E)?E(g):E;n!==g&&B.current?.(n)}else o(E)},[C,g,o,B]);return[Q,i]}ZAA(RR,"useControllableState");function vXg({defaultProp:g,onChange:A}){const[I,e]=z.useState(g),t=z.useRef(I),o=z.useRef(A);return Rrt(()=>{o.current=A},[A]),z.useEffect(()=>{t.current!==I&&(o.current?.(I),t.current=I)},[I,t]),[I,e,o]}ZAA(vXg,"useUncontrolledState");function TXg(g){return typeof g=="function"}ZAA(TXg,"isFunction");var qXg=Symbol("RADIX:SYNC_STATE");function Nrt(g,A,I,e){const{prop:t,defaultProp:o,onChange:B,caller:C}=A,Q=t!==void 0,i=HXg(B),E=[{...I,state:o}];e&&E.push(e);const[n,s]=z.useReducer((h,l)=>{if(l.type===qXg)return{...h,state:l.state};const D=g(h,l);return Q&&!Object.is(D.state,h.state)&&i(D.state),D},...E),r=n.state,a=z.useRef(r);z.useEffect(()=>{a.current!==r&&(a.current=r,Q||i(r))},[r,a,Q]);const c=z.useMemo(()=>t!==void 0?{...n,state:t}:n,[n,t]);return z.useEffect(()=>{Q&&!Object.is(t,n.state)&&s({type:qXg,state:t})},[t,n.state,Q]),[c,s]}ZAA(Nrt,"useControllableStateReducer");var xrt=Object.defineProperty,Frt=(g,A)=>xrt(g,"name",{value:A,configurable:!0}),Urt={LTR:"ltr"},Jrt=z.createContext(void 0);function OAA(g){const A=z.useContext(Jrt);return g||A||Urt.LTR}Frt(OAA,"useDirection");var Prt=Object.defineProperty,_HA=(g,A)=>Prt(g,"name",{value:A,configurable:!0}),bHA=!1;function ZXg(){const[g,A]=z.useState(bHA);return z.useEffect(()=>{bHA||(bHA=!0,A(!0))},[]),g}_HA(ZXg,"useIsHydrated");var OXg=qp[" useSyncExternalStore ".trim().toString()];function WXg(){return()=>{}}_HA(WXg,"subscribe");function VXg(){return OXg(WXg,()=>!0,()=>!1)}_HA(VXg,"useIsHydratedModern");var Krt=typeof OXg=="function"?VXg:ZXg,Lrt=Object.defineProperty,B5=(g,A)=>Lrt(g,"name",{value:A,configurable:!0}),HHA="rovingFocusGroup.onEntryFocus",Yrt={bubbles:!1,cancelable:!0},ZlA="RovingFocusGroup",[vHA,jXg,_rt]=HlA(ZlA),[brt,OlA]=hk(ZlA,[_rt]),zXg={Vertical:"vertical",Horizontal:"horizontal"},Hrt={RTL:"rtl"},[vrt,Trt]=brt(ZlA),XXg=z.forwardRef(B5(function(A,I){return T.jsx(vHA.Provider,{scope:A.__scopeRovingFocusGroup,children:T.jsx(vHA.Slot,{scope:A.__scopeRovingFocusGroup,children:T.jsx(qrt,{...A,ref:I})})})},"RovingFocusGroup")),qrt=z.forwardRef(B5(function(A,I){const{__scopeRovingFocusGroup:e,orientation:t,loop:o=!1,dir:B,currentTabStopId:C,defaultCurrentTabStopId:Q,onCurrentTabStopIdChange:i,onEntryFocus:E,preventScrollOnEntryFocus:n=!1,...s}=A,r=z.useRef(null),a=Gi(I,r),c=OAA(B),[h,l]=RR({prop:C,defaultProp:Q??null,onChange:i,caller:ZlA}),[D,d]=z.useState(!1),y=$M(E),w=jXg(e),u=z.useRef(!1),[G,m]=z.useState(0);return z.useEffect(()=>{const p=r.current;if(p)return p.addEventListener(HHA,y),()=>p.removeEventListener(HHA,y)},[y]),T.jsx(vrt,{scope:e,orientation:t,dir:c,loop:o,currentTabStopId:h,onItemFocus:z.useCallback(p=>l(p),[l]),onItemShiftTab:z.useCallback(()=>d(!0),[]),onFocusableItemAdd:z.useCallback(()=>m(p=>p+1),[]),onFocusableItemRemove:z.useCallback(()=>m(p=>p-1),[]),children:T.jsx(yQ.div,{tabIndex:D||G===0?-1:0,"data-orientation":t,...s,ref:a,style:{outline:"none",...A.style},onMouseDown:fo(A.onMouseDown,()=>{u.current=!0}),onFocus:fo(A.onFocus,p=>{const k=!u.current;if(p.target===p.currentTarget&&k&&!D){const S=new CustomEvent(HHA,Yrt);if(p.currentTarget.dispatchEvent(S),!S.defaultPrevented){const R=w().filter(Y=>Y.focusable),x=R.find(Y=>Y.active),N=R.find(Y=>Y.id===h),K=[x,N,...R].filter(Boolean).map(Y=>Y.ref.current);THA(K,n)}}u.current=!1}),onBlur:fo(A.onBlur,()=>d(!1))})})},"RovingFocusGroupImpl")),Zrt="RovingFocusGroupItem",$Xg=z.forwardRef(B5(function(A,I){const{__scopeRovingFocusGroup:e,focusable:t=!0,active:o=!1,tabStopId:B,children:C,...Q}=A,i=_0(),E=B||i,n=Trt(Zrt,e),s=n.currentTabStopId===E,r=jXg(e),{onFocusableItemAdd:a,onFocusableItemRemove:c,currentTabStopId:h}=n,l=Krt();return uh(()=>{if(!(!l||!t))return a(),()=>c()},[l,t,a,c]),z.useEffect(()=>{if(!(l||!t))return a(),()=>c()},[l,t,a,c]),T.jsx(vHA.ItemSlot,{scope:e,id:E,focusable:t,active:o,children:T.jsx(yQ.span,{tabIndex:s?0:-1,"data-orientation":n.orientation,...Q,ref:I,onMouseDown:fo(A.onMouseDown,D=>{t?n.onItemFocus(E):D.preventDefault()}),onFocus:fo(A.onFocus,()=>n.onItemFocus(E)),onKeyDown:fo(A.onKeyDown,D=>{if(D.key==="Tab"&&D.shiftKey){n.onItemShiftTab();return}if(D.target!==D.currentTarget)return;const d=g$g(D,n.orientation,n.dir);if(d!==void 0){if(D.metaKey||D.ctrlKey||D.altKey||D.shiftKey)return;D.preventDefault();let w=r().filter(u=>u.focusable).map(u=>u.ref.current);if(d==="last")w.reverse();else if(d==="prev"||d==="next"){d==="prev"&&w.reverse();const u=w.indexOf(D.currentTarget);w=n.loop?I$g(w,u+1):w.slice(u+1)}setTimeout(()=>THA(w))}}),children:typeof C=="function"?C({isCurrentTabStop:s,hasTabStop:h!=null}):C})})},"RovingFocusGroupItem")),Ort={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A$g(g,A){return A!==Hrt.RTL?g:g==="ArrowLeft"?"ArrowRight":g==="ArrowRight"?"ArrowLeft":g}B5(A$g,"getDirectionAwareKey");function g$g(g,A,I){const e=A$g(g.key,I);if(!(A===zXg.Vertical&&["ArrowLeft","ArrowRight"].includes(e))&&!(A===zXg.Horizontal&&["ArrowUp","ArrowDown"].includes(e)))return Ort[e]}B5(g$g,"getFocusIntent");function THA(g,A=!1){const I=document.activeElement;for(const e of g)if(e===I||(e.focus({preventScroll:A}),document.activeElement!==I))return}B5(THA,"focusFirst");function I$g(g,A){return g.map((I,e)=>g[(A+e)%g.length])}B5(I$g,"wrapArray");var Wrt=Object.defineProperty,iJ=(g,A)=>Wrt(g,"name",{value:A,configurable:!0});function e$g(g,A){return z.useReducer((I,e)=>A[I][e]??I,g)}iJ(e$g,"useStateMachine");var AS=iJ(g=>{const{present:A,children:I}=g,e=t$g(A),t=typeof I=="function"?I({present:e.isPresent}):z.Children.only(I),o=o$g(e.ref,B$g(t));return typeof I=="function"||e.isPresent?z.cloneElement(t,{ref:o}):null},"Presence");function t$g(g){const[A,I]=z.useState(),e=z.useRef(null),t=z.useRef(g),o=z.useRef("none"),B=z.useRef(void 0),C=g?"mounted":"unmounted",[Q,i]=e$g(C,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return z.useEffect(()=>{Q==="mounted"?(o.current=B.current??Aq(e.current),B.current=void 0):o.current="none"},[Q]),uh(()=>{const E=e.current,n=t.current;if(n!==g){const r=o.current,a=Aq(E);g?(B.current=a,i("MOUNT")):a==="none"||E?.display==="none"?i("UNMOUNT"):i(n&&r!==a?"ANIMATION_OUT":"UNMOUNT"),t.current=g}},[g,i]),uh(()=>{if(A){let E;const n=A.ownerDocument.defaultView??window,s=iJ(a=>{const h=Aq(e.current).includes(CSS.escape(a.animationName));if(a.target===A&&h&&(i("ANIMATION_END"),!t.current)){const l=A.style.animationFillMode;A.style.animationFillMode="forwards",E=n.setTimeout(()=>{A.style.animationFillMode==="forwards"&&(A.style.animationFillMode=l)})}},"handleAnimationEnd"),r=iJ(a=>{a.target===A&&(o.current=Aq(e.current))},"handleAnimationStart");return A.addEventListener("animationstart",r),A.addEventListener("animationcancel",s),A.addEventListener("animationend",s),()=>{n.clearTimeout(E),A.removeEventListener("animationstart",r),A.removeEventListener("animationcancel",s),A.removeEventListener("animationend",s)}}else i("ANIMATION_END")},[A,i]),{isPresent:["mounted","unmountSuspended"].includes(Q),ref:z.useCallback(E=>{if(E){const n=getComputedStyle(E);e.current=n,B.current=Aq(n)}else e.current=null;I(E)},[])}}iJ(t$g,"usePresence");function qHA(g,A){if(typeof g=="function")return g(A);g!=null&&(g.current=A)}iJ(qHA,"setRef");function o$g(...g){const A=z.useRef(g);return A.current=g,z.useCallback(I=>{const e=A.current;let t=!1;const o=e.map(B=>{const C=qHA(B,I);return!t&&typeof C=="function"&&(t=!0),C});if(t)return()=>{for(let B=0;B<o.length;B++){const C=o[B];typeof C=="function"?C():qHA(e[B],null)}}},[])}iJ(o$g,"useStableComposedRefs");function Aq(g){return g?.animationName||"none"}iJ(Aq,"getAnimationName");function B$g(g){let A=Object.getOwnPropertyDescriptor(g.props,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning;return I?g.ref:(A=Object.getOwnPropertyDescriptor(g,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning,I?g.props.ref:g.props.ref||g.ref)}iJ(B$g,"getElementRef");var Vrt=Object.defineProperty,gq=(g,A)=>Vrt(g,"name",{value:A,configurable:!0}),C$g={Automatic:"automatic",Manual:"manual"},ZHA="Tabs",[jrt,boB]=hk(ZHA,[OlA]),Q$g=OlA(),[zrt,OHA]=jrt(ZHA),Xrt=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,onValueChange:o,defaultValue:B,orientation:C="horizontal",dir:Q,activationMode:i=C$g.Automatic,...E}=A,n=OAA(Q),[s,r]=RR({prop:t,onChange:o,defaultProp:B??"",caller:ZHA});return T.jsx(zrt,{scope:e,baseId:_0(),value:s,onValueChange:r,orientation:C,dir:n,activationMode:i,children:T.jsx(yQ.div,{dir:n,"data-orientation":C,...E,ref:I})})},"Tabs")),$rt="TabsList",i$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,loop:t=!0,...o}=A,B=OHA($rt,e),C=Q$g(e);return T.jsx(XXg,{asChild:!0,...C,orientation:B.orientation,dir:B.dir,loop:t,children:T.jsx(yQ.div,{role:"tablist","aria-orientation":B.orientation,...o,ref:I})})},"TabsList")),Act="TabsTrigger",E$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,disabled:o=!1,...B}=A,C=OHA(Act,e),Q=Q$g(e),i=WHA(C.baseId,t),E=VHA(C.baseId,t),n=t===C.value;return T.jsx($Xg,{asChild:!0,...Q,focusable:!o,active:n,children:T.jsx(yQ.button,{type:"button",role:"tab","aria-selected":n,"aria-controls":E,"data-state":n?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:i,...B,ref:I,onMouseDown:fo(A.onMouseDown,s=>{!o&&s.button===0&&s.ctrlKey===!1?(s.currentTarget.focus(),C.onValueChange(t)):s.preventDefault()}),onKeyDown:fo(A.onKeyDown,s=>{o||s.target!==s.currentTarget||[" ","Enter"].includes(s.key)&&C.onValueChange(t)}),onFocus:fo(A.onFocus,()=>{const s=C.activationMode!==C$g.Manual;!n&&!o&&s&&C.onValueChange(t)})})})},"TabsTrigger")),gct="TabsContent",n$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,forceMount:o,children:B,...C}=A,Q=OHA(gct,e),i=WHA(Q.baseId,t),E=VHA(Q.baseId,t),n=t===Q.value,s=z.useRef(n);return z.useEffect(()=>{const r=requestAnimationFrame(()=>s.current=!1);return()=>cancelAnimationFrame(r)},[]),T.jsx(AS,{present:o||n,children:({present:r})=>T.jsx(yQ.div,{"data-state":n?"active":"inactive","data-orientation":Q.orientation,role:"tabpanel","aria-labelledby":i,hidden:!r,id:E,tabIndex:0,...C,ref:I,style:{...A.style,animationDuration:s.current?"0s":void 0},children:r&&B})})},"TabsContent"));function WHA(g,A){return`${g}-trigger-${A}`}gq(WHA,"makeTriggerId");function VHA(g,A){return`${g}-content-${A}`}gq(VHA,"makeContentId");function s$g(g){var A,I,e="";if(typeof g=="string"||typeof g=="number")e+=g;else if(typeof g=="object")if(Array.isArray(g)){var t=g.length;for(A=0;A<t;A++)g[A]&&(I=s$g(g[A]))&&(e&&(e+=" "),e+=I)}else for(I in g)g[I]&&(e&&(e+=" "),e+=I);return e}function NR(){for(var g,A,I=0,e="",t=arguments.length;I<t;I++)(g=arguments[I])&&(A=s$g(g))&&(e&&(e+=" "),e+=A);return e}const jHA="-",Ict=g=>{const A=tct(g),{conflictingClassGroups:I,conflictingClassGroupModifiers:e}=g;return{getClassGroupId:B=>{const C=B.split(jHA);return C[0]===""&&C.length!==1&&C.shift(),a$g(C,A)||ect(B)},getConflictingClassGroupIds:(B,C)=>{const Q=I[B]||[];return C&&e[B]?[...Q,...e[B]]:Q}}},a$g=(g,A)=>{if(g.length===0)return A.classGroupId;const I=g[0],e=A.nextPart.get(I),t=e?a$g(g.slice(1),e):void 0;if(t)return t;if(A.validators.length===0)return;const o=g.join(jHA);return A.validators.find(({validator:B})=>B(o))?.classGroupId},r$g=/^\[(.+)\]$/,ect=g=>{if(r$g.test(g)){const A=r$g.exec(g)[1],I=A?.substring(0,A.indexOf(":"));if(I)return"arbitrary.."+I}},tct=g=>{const{theme:A,prefix:I}=g,e={nextPart:new Map,validators:[]};return Bct(Object.entries(g.classGroups),I).forEach(([o,B])=>{zHA(B,e,o,A)}),e},zHA=(g,A,I,e)=>{g.forEach(t=>{if(typeof t=="string"){const o=t===""?A:c$g(A,t);o.classGroupId=I;return}if(typeof t=="function"){if(oct(t)){zHA(t(e),A,I,e);return}A.validators.push({validator:t,classGroupId:I});return}Object.entries(t).forEach(([o,B])=>{zHA(B,c$g(A,o),I,e)})})},c$g=(g,A)=>{let I=g;return A.split(jHA).forEach(e=>{I.nextPart.has(e)||I.nextPart.set(e,{nextPart:new Map,validators:[]}),I=I.nextPart.get(e)}),I},oct=g=>g.isThemeGetter,Bct=(g,A)=>A?g.map(([I,e])=>{const t=e.map(o=>typeof o=="string"?A+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([B,C])=>[A+B,C])):o);return[I,t]}):g,Cct=g=>{if(g<1)return{get:()=>{},set:()=>{}};let A=0,I=new Map,e=new Map;const t=(o,B)=>{I.set(o,B),A++,A>g&&(A=0,e=I,I=new Map)};return{get(o){let B=I.get(o);if(B!==void 0)return B;if((B=e.get(o))!==void 0)return t(o,B),B},set(o,B){I.has(o)?I.set(o,B):t(o,B)}}},h$g="!",Qct=g=>{const{separator:A,experimentalParseClassName:I}=g,e=A.length===1,t=A[0],o=A.length,B=C=>{const Q=[];let i=0,E=0,n;for(let h=0;h<C.length;h++){let l=C[h];if(i===0){if(l===t&&(e||C.slice(h,h+o)===A)){Q.push(C.slice(E,h)),E=h+o;continue}if(l==="/"){n=h;continue}}l==="["?i++:l==="]"&&i--}const s=Q.length===0?C:C.substring(E),r=s.startsWith(h$g),a=r?s.substring(1):s,c=n&&n>E?n-E:void 0;return{modifiers:Q,hasImportantModifier:r,baseClassName:a,maybePostfixModifierPosition:c}};return I?C=>I({className:C,parseClassName:B}):B},ict=g=>{if(g.length<=1)return g;const A=[];let I=[];return g.forEach(e=>{e[0]==="["?(A.push(...I.sort(),e),I=[]):I.push(e)}),A.push(...I.sort()),A},Ect=g=>({cache:Cct(g.cacheSize),parseClassName:Qct(g),...Ict(g)}),nct=/\s+/,sct=(g,A)=>{const{parseClassName:I,getClassGroupId:e,getConflictingClassGroupIds:t}=A,o=[],B=g.trim().split(nct);let C="";for(let Q=B.length-1;Q>=0;Q-=1){const i=B[Q],{modifiers:E,hasImportantModifier:n,baseClassName:s,maybePostfixModifierPosition:r}=I(i);let a=!!r,c=e(a?s.substring(0,r):s);if(!c){if(!a){C=i+(C.length>0?" "+C:C);continue}if(c=e(s),!c){C=i+(C.length>0?" "+C:C);continue}a=!1}const h=ict(E).join(":"),l=n?h+h$g:h,D=l+c;if(o.includes(D))continue;o.push(D);const d=t(c,a);for(let y=0;y<d.length;++y){const w=d[y];o.push(l+w)}C=i+(C.length>0?" "+C:C)}return C};function act(){let g=0,A,I,e="";for(;g<arguments.length;)(A=arguments[g++])&&(I=l$g(A))&&(e&&(e+=" "),e+=I);return e}const l$g=g=>{if(typeof g=="string")return g;let A,I="";for(let e=0;e<g.length;e++)g[e]&&(A=l$g(g[e]))&&(I&&(I+=" "),I+=A);return I};function rct(g,...A){let I,e,t,o=B;function B(Q){const i=A.reduce((E,n)=>n(E),g());return I=Ect(i),e=I.cache.get,t=I.cache.set,o=C,C(Q)}function C(Q){const i=e(Q);if(i)return i;const E=sct(Q,I);return t(Q,E),E}return function(){return o(act.apply(null,arguments))}}const Lc=g=>{const A=I=>I[g]||[];return A.isThemeGetter=!0,A},D$g=/^\[(?:([a-z-]+):)?(.+)\]$/i,cct=/^\d+\/\d+$/,hct=new Set(["px","full","screen"]),lct=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Dct=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,dct=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yct=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,wct=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,EJ=g=>Iq(g)||hct.has(g)||cct.test(g),Q3=g=>eq(g,"length",fct),Iq=g=>!!g&&!Number.isNaN(Number(g)),XHA=g=>eq(g,"number",Iq),WAA=g=>!!g&&Number.isInteger(Number(g)),uct=g=>g.endsWith("%")&&Iq(g.slice(0,-1)),fi=g=>D$g.test(g),i3=g=>lct.test(g),Gct=new Set(["length","size","percentage"]),mct=g=>eq(g,Gct,d$g),pct=g=>eq(g,"position",d$g),kct=new Set(["image","url"]),Mct=g=>eq(g,kct,Nct),Sct=g=>eq(g,"",Rct),VAA=()=>!0,eq=(g,A,I)=>{const e=D$g.exec(g);return e?e[1]?typeof A=="string"?e[1]===A:A.has(e[1]):I(e[2]):!1},fct=g=>Dct.test(g)&&!dct.test(g),d$g=()=>!1,Rct=g=>yct.test(g),Nct=g=>wct.test(g),xct=rct(()=>{const g=Lc("colors"),A=Lc("spacing"),I=Lc("blur"),e=Lc("brightness"),t=Lc("borderColor"),o=Lc("borderRadius"),B=Lc("borderSpacing"),C=Lc("borderWidth"),Q=Lc("contrast"),i=Lc("grayscale"),E=Lc("hueRotate"),n=Lc("invert"),s=Lc("gap"),r=Lc("gradientColorStops"),a=Lc("gradientColorStopPositions"),c=Lc("inset"),h=Lc("margin"),l=Lc("opacity"),D=Lc("padding"),d=Lc("saturate"),y=Lc("scale"),w=Lc("sepia"),u=Lc("skew"),G=Lc("space"),m=Lc("translate"),p=()=>["auto","contain","none"],k=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto",fi,A],R=()=>[fi,A],x=()=>["",EJ,Q3],N=()=>["auto",Iq,fi],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],K=()=>["solid","dashed","dotted","double","none"],Y=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],q=()=>["","0",fi],j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>[Iq,fi];return{cacheSize:500,separator:":",theme:{colors:[VAA],spacing:[EJ,Q3],blur:["none","",i3,fi],brightness:W(),borderColor:[g],borderRadius:["none","","full",i3,fi],borderSpacing:R(),borderWidth:x(),contrast:W(),grayscale:q(),hueRotate:W(),invert:q(),gap:R(),gradientColorStops:[g],gradientColorStopPositions:[uct,Q3],inset:S(),margin:S(),opacity:W(),padding:R(),saturate:W(),scale:W(),sepia:q(),skew:W(),space:R(),translate:R()},classGroups:{aspect:[{aspect:["auto","square","video",fi]}],container:["container"],columns:[{columns:[i3]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),fi]}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:p()}],"overscroll-x":[{"overscroll-x":p()}],"overscroll-y":[{"overscroll-y":p()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[c]}],"inset-x":[{"inset-x":[c]}],"inset-y":[{"inset-y":[c]}],start:[{start:[c]}],end:[{end:[c]}],top:[{top:[c]}],right:[{right:[c]}],bottom:[{bottom:[c]}],left:[{left:[c]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",WAA,fi]}],basis:[{basis:S()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",fi]}],grow:[{grow:q()}],shrink:[{shrink:q()}],order:[{order:["first","last","none",WAA,fi]}],"grid-cols":[{"grid-cols":[VAA]}],"col-start-end":[{col:["auto",{span:["full",WAA,fi]},fi]}],"col-start":[{"col-start":N()}],"col-end":[{"col-end":N()}],"grid-rows":[{"grid-rows":[VAA]}],"row-start-end":[{row:["auto",{span:[WAA,fi]},fi]}],"row-start":[{"row-start":N()}],"row-end":[{"row-end":N()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",fi]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",fi]}],gap:[{gap:[s]}],"gap-x":[{"gap-x":[s]}],"gap-y":[{"gap-y":[s]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[D]}],px:[{px:[D]}],py:[{py:[D]}],ps:[{ps:[D]}],pe:[{pe:[D]}],pt:[{pt:[D]}],pr:[{pr:[D]}],pb:[{pb:[D]}],pl:[{pl:[D]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[G]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[G]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",fi,A]}],"min-w":[{"min-w":[fi,A,"min","max","fit"]}],"max-w":[{"max-w":[fi,A,"none","full","min","max","fit","prose",{screen:[i3]},i3]}],h:[{h:[fi,A,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[fi,A,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[fi,A,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[fi,A,"auto","min","max","fit"]}],"font-size":[{text:["base",i3,Q3]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",XHA]}],"font-family":[{font:[VAA]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",fi]}],"line-clamp":[{"line-clamp":["none",Iq,XHA]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",EJ,fi]}],"list-image":[{"list-image":["none",fi]}],"list-style-type":[{list:["none","disc","decimal",fi]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[g]}],"placeholder-opacity":[{"placeholder-opacity":[l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[g]}],"text-opacity":[{"text-opacity":[l]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...K(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",EJ,Q3]}],"underline-offset":[{"underline-offset":["auto",EJ,fi]}],"text-decoration-color":[{decoration:[g]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fi]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fi]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[l]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),pct]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",mct]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Mct]}],"bg-color":[{bg:[g]}],"gradient-from-pos":[{from:[a]}],"gradient-via-pos":[{via:[a]}],"gradient-to-pos":[{to:[a]}],"gradient-from":[{from:[r]}],"gradient-via":[{via:[r]}],"gradient-to":[{to:[r]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[C]}],"border-w-x":[{"border-x":[C]}],"border-w-y":[{"border-y":[C]}],"border-w-s":[{"border-s":[C]}],"border-w-e":[{"border-e":[C]}],"border-w-t":[{"border-t":[C]}],"border-w-r":[{"border-r":[C]}],"border-w-b":[{"border-b":[C]}],"border-w-l":[{"border-l":[C]}],"border-opacity":[{"border-opacity":[l]}],"border-style":[{border:[...K(),"hidden"]}],"divide-x":[{"divide-x":[C]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[C]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[l]}],"divide-style":[{divide:K()}],"border-color":[{border:[t]}],"border-color-x":[{"border-x":[t]}],"border-color-y":[{"border-y":[t]}],"border-color-s":[{"border-s":[t]}],"border-color-e":[{"border-e":[t]}],"border-color-t":[{"border-t":[t]}],"border-color-r":[{"border-r":[t]}],"border-color-b":[{"border-b":[t]}],"border-color-l":[{"border-l":[t]}],"divide-color":[{divide:[t]}],"outline-style":[{outline:["",...K()]}],"outline-offset":[{"outline-offset":[EJ,fi]}],"outline-w":[{outline:[EJ,Q3]}],"outline-color":[{outline:[g]}],"ring-w":[{ring:x()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[g]}],"ring-opacity":[{"ring-opacity":[l]}],"ring-offset-w":[{"ring-offset":[EJ,Q3]}],"ring-offset-color":[{"ring-offset":[g]}],shadow:[{shadow:["","inner","none",i3,Sct]}],"shadow-color":[{shadow:[VAA]}],opacity:[{opacity:[l]}],"mix-blend":[{"mix-blend":[...Y(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Y()}],filter:[{filter:["","none"]}],blur:[{blur:[I]}],brightness:[{brightness:[e]}],contrast:[{contrast:[Q]}],"drop-shadow":[{"drop-shadow":["","none",i3,fi]}],grayscale:[{grayscale:[i]}],"hue-rotate":[{"hue-rotate":[E]}],invert:[{invert:[n]}],saturate:[{saturate:[d]}],sepia:[{sepia:[w]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[I]}],"backdrop-brightness":[{"backdrop-brightness":[e]}],"backdrop-contrast":[{"backdrop-contrast":[Q]}],"backdrop-grayscale":[{"backdrop-grayscale":[i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[E]}],"backdrop-invert":[{"backdrop-invert":[n]}],"backdrop-opacity":[{"backdrop-opacity":[l]}],"backdrop-saturate":[{"backdrop-saturate":[d]}],"backdrop-sepia":[{"backdrop-sepia":[w]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[B]}],"border-spacing-x":[{"border-spacing-x":[B]}],"border-spacing-y":[{"border-spacing-y":[B]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",fi]}],duration:[{duration:W()}],ease:[{ease:["linear","in","out","in-out",fi]}],delay:[{delay:W()}],animate:[{animate:["none","spin","ping","pulse","bounce",fi]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[y]}],"scale-x":[{"scale-x":[y]}],"scale-y":[{"scale-y":[y]}],rotate:[{rotate:[WAA,fi]}],"translate-x":[{"translate-x":[m]}],"translate-y":[{"translate-y":[m]}],"skew-x":[{"skew-x":[u]}],"skew-y":[{"skew-y":[u]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",fi]}],accent:[{accent:["auto",g]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fi]}],"caret-color":[{caret:[g]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fi]}],fill:[{fill:[g,"none"]}],"stroke-w":[{stroke:[EJ,Q3,XHA]}],stroke:[{stroke:[g,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});var y$g={env:{},version:""};const Se="u">typeof window?window:void 0,sG="u">typeof globalThis?globalThis:Se,Tw=sG?.navigator,co=sG?.document,Qa=sG?.location,jAA=sG?.fetch,$HA=sG?.XMLHttpRequest&&"withCredentials"in new sG.XMLHttpRequest?sG.XMLHttpRequest:void 0,w$g=sG?.AbortController,Fct=sG?.CompressionStream,Jm=Tw?.userAgent,zAA=typeof globalThis<"u"?globalThis:Se;zAA&&typeof self>"u"&&(zAA.self=zAA),zAA&&typeof File>"u"&&(zAA.File=function(){});const JB=Se??{},Uct="0.9.11",nJ={DEBUG:!1,LIB_VERSION:Uct,LIB_NAME:"browser-common"};var yx=(function(g){return g.AnonymousId="anonymous_id",g.DistinctId="distinct_id",g.Props="props",g.EnablePersonProcessing="enable_person_processing",g.PersonMode="person_mode",g.FeatureFlagDetails="feature_flag_details",g.FeatureFlags="feature_flags",g.FeatureFlagPayloads="feature_flag_payloads",g.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",g.BootstrapFeatureFlags="bootstrap_feature_flags",g.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",g.OverrideFeatureFlags="override_feature_flags",g.Queue="queue",g.AiQueue="ai_queue",g.AiCaptureQueue="ai_capture_queue",g.LogsQueue="logs_queue",g.OptedOut="opted_out",g.SessionId="session_id",g.SessionStartTimestamp="session_start_timestamp",g.SessionLastTimestamp="session_timestamp",g.PersonProperties="person_properties",g.GroupProperties="group_properties",g.InstalledAppBuild="installed_app_build",g.InstalledAppVersion="installed_app_version",g.SessionReplay="session_replay",g.PushRegistered="push_registered",g.SessionReplayEventTriggerActivatedSession="session_replay_event_trigger_activated_session",g.SurveyLastSeenDate="survey_last_seen_date",g.SurveysInProgress="surveys_in_progress",g.SurveysSeen="surveys_seen",g.Surveys="surveys",g.RemoteConfig="remote_config",g.FlagsEndpointWasHit="flags_endpoint_was_hit",g.DeviceId="device_id",g})({}),A6A=(function(g){return g.GZipJS="gzip-js",g.Base64="base64",g})({});const Jct=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"],Pct=["token"];function yB(g,A){return g.indexOf(A)!==-1}const tq=function(g){return g.trim()},g6A=function(g){return g.replace(/^\$/,"")};function u$g(g){var A;const I=[];return(A=JSON.stringify(g,function(e,t){if(typeof t=="bigint")return t.toString();if(typeof t!="function"&&typeof t!="symbol"){if(t instanceof Error)return{name:t.name,message:t.message,stack:t.stack};if(t&&typeof t=="object"){for(;I.length>0&&I[I.length-1]!==this;)I.pop();if(I.includes(t))return"[Circular]";I.push(t)}return t}}))!==null&&A!==void 0?A:"null"}const G$g=Object.prototype,I6A=G$g.hasOwnProperty,WlA=G$g.toString,cB=Array.isArray||function(g){return WlA.call(g)==="[object Array]"},Q0=g=>typeof g=="function",yC=g=>g===Object(g)&&!cB(g),lk=g=>{if(yC(g)){for(const A in g)if(I6A.call(g,A))return!1;return!0}return!1},Le=g=>g===void 0,KC=g=>WlA.call(g)=="[object String]",XAA=g=>KC(g)&&g.trim().length===0,Yc=g=>g===null,hC=g=>Le(g)||Yc(g),i0=g=>WlA.call(g)=="[object Number]"&&g==g,sJ=g=>i0(g)&&g>0,Pm=g=>WlA.call(g)==="[object Boolean]",Kct=g=>yB(Jct,g),Lct=g=>yB(Pct,g);function m$g(g){return g===null||typeof g!="object"}function VlA(g,A){return{}.toString.call(g)===`[object ${A}]`}function oq(g){switch({}.toString.call(g)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object DOMError]":case"[object WebAssembly.Exception]":return!0;default:return p$g(g,Error)}}function e6A(g){return"u">typeof Event&&p$g(g,Event)}function p$g(g,A){try{return g instanceof A}catch{return!1}}const Yct=[!0,"true",1,"1","yes"],t6A=g=>yB(Yct,g),_ct=[!1,"false",0,"0","no"];function k$g(g,A,I,e,t,o,B){try{var C=g[o](B),Q=C.value}catch(i){return void I(i)}C.done?A(Q):Promise.resolve(Q).then(e,t)}function ia(g){return function(){var A=this,I=arguments;return new Promise(function(e,t){var o=g.apply(A,I);function B(Q){k$g(o,e,t,B,C,"next",Q)}function C(Q){k$g(o,e,t,B,C,"throw",Q)}B(void 0)})}}const bct=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterestbot","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],jlA=new Map,M$g=function(g,A=[]){if(!g)return!1;const I=(function(B,C){let Q="";for(let i=0;C.length>i;i++){const E=C[i];Q+=E.length+":"+E}return B.length+":"+B+"|"+C.length+":"+Q})(g,A),e=jlA.get(I);if(e!==void 0)return e;const t=g.toLowerCase(),o=bct.concat(A).some(B=>t.indexOf(B.toLowerCase())!==-1);return 256>jlA.size||jlA.clear(),jlA.set(I,o),o};function wx(g,A,I,e,t){return A>I&&(e.warn("min cannot be greater than max."),A=I),i0(g)?g>I?(e.warn(" cannot be greater than max: "+I+". Using max value instead."),I):A>g?(e.warn(" cannot be less than min: "+A+". Using min value instead."),A):g:(e.warn(" must be a number. using max or fallback. max: "+I+", fallback: "+t),wx(t??I,A,I,e))}var Hct=class{constructor(A){this.C={},this.I=A.I,this.R=wx(A.bucketSize,0,100,A.$),this.A=wx(A.refillRate,0,this.R,A.$),this.O=wx(A.refillInterval,0,864e5,A.$)}F(A,I){const e=Math.floor((I-A.lastAccess)/this.O);e>0&&(A.tokens=Math.min(A.tokens+e*this.A,this.R),A.lastAccess=A.lastAccess+e*this.O)}consumeRateLimit(A){var I;const e=Date.now(),t=String(A);let o=this.C[t];return o?this.F(o,e):(o={tokens:this.R,lastAccess:e},this.C[t]=o),o.tokens===0||(o.tokens--,o.tokens===0&&((I=this.I)===null||I===void 0||I.call(this,A)),o.tokens===0)}stop(){this.C={}}};const Bq="Mobile",$AA="Android",zlA="Tablet",S$g="Android Tablet",f$g="iPad",R$g="Apple Watch",XlA="Safari",$lA="BlackBerry",N$g="Samsung Internet",ADA="Chrome",x$g="Chrome iOS",F$g="Internet Explorer",U$g="Internet Explorer Mobile",J$g="Opera",P$g="Microsoft Edge",gDA="Firefox",K$g="Firefox iOS",IDA="Nintendo",eDA="PlayStation",tDA="Xbox",L$g="Android Mobile",Y$g="Mobile Safari",o6A="Windows",_$g="Windows Phone",b$g="Nokia",B6A="Ouya",vct="Generic "+Bq.toLowerCase(),H$g="Generic "+zlA.toLowerCase(),C6A="Konqueror",v$g="Oculus Browser",T$g="Vivaldi",q$g="Yandex",Z$g="Whale",O$g="DuckDuckGo",W$g="Pale Moon",V$g="Waterfox",Q6A="Brave",j$g="Claude",z$g="Codex",X$g="ChatGPT",$$g="Google Search App",i6A=new RegExp("Version/(\\d+(\\.\\d+)?)"),E6A=new RegExp("(Claude|Codex|ChatGPT)\\/(\\d+(\\.\\d+)?)"),Tct=new RegExp(tDA,"i"),qct=new RegExp("PlayStation \\w+","i"),Zct=new RegExp("Nintendo \\w+","i"),n6A=new RegExp("BlackBerry|PlayBook|BB10","i"),Oct={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},AAI=function(g,A,I,e){return A=A||"",(function(o){return o?.brave?Q6A:null})(I)||(e?.detectGoogleSearchApp&&yB(g,"GSA/")?$$g:yB(g," OPR/")&&yB(g,"Mini")?"Opera Mini":yB(g," OPR/")?J$g:n6A.test(g)?$lA:yB(g,"IEMobile")||yB(g,"WPDesktop")?U$g:yB(g,"OculusBrowser")?v$g:yB(g,"SamsungBrowser")?N$g:yB(g,"Edge")||yB(g,"Edg/")?P$g:yB(g,"Vivaldi/")?T$g:yB(g,"YaBrowser/")?q$g:yB(g,"Whale/")?Z$g:yB(g,"DuckDuckGo/")||yB(g,"Ddg/")?O$g:yB(g,"Claude/")?j$g:yB(g,"Codex/")?z$g:yB(g,"ChatGPT/")?X$g:yB(g,"FBIOS")?"Facebook Mobile":yB(g,"UCWEB")||yB(g,"UCBrowser")?"UC Browser":yB(g,"CriOS")?x$g:yB(g,"CrMo")||yB(g,ADA)?ADA:yB(g,$AA)&&yB(g,XlA)?L$g:yB(g,"FxiOS")?K$g:yB(g.toLowerCase(),C6A.toLowerCase())?C6A:yB(g,"Brave/")?Q6A:((o,B)=>B&&yB(B,"Apple")||(function(C){return yB(C,XlA)&&!yB(C,ADA)&&!yB(C,$AA)})(o))(g,A)?yB(g,Bq)?Y$g:XlA:yB(g,"PaleMoon/")?W$g:yB(g,"Waterfox/")?V$g:yB(g,gDA)?gDA:yB(g,"MSIE")||yB(g,"Trident/")?F$g:yB(g,"Gecko")?gDA:"")},Wct={[U$g]:[new RegExp("rv:(\\d+(\\.\\d+)?)")],[P$g]:[new RegExp("Edge?\\/(\\d+(\\.\\d+)?)")],[ADA]:[new RegExp("(Chrome|CrMo)\\/(\\d+(\\.\\d+)?)")],[x$g]:[new RegExp("CriOS\\/(\\d+(\\.\\d+)?)")],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)")],[XlA]:[i6A],[Y$g]:[i6A],[J$g]:[new RegExp("(Opera|OPR)\\/(\\d+(\\.\\d+)?)")],[gDA]:[new RegExp("Firefox\\/(\\d+(\\.\\d+)?)")],[K$g]:[new RegExp("FxiOS\\/(\\d+(\\.\\d+)?)")],[C6A]:[new RegExp("Konqueror[:/]?(\\d+(\\.\\d+)?)","i")],[$lA]:[new RegExp("BlackBerry (\\d+(\\.\\d+)?)"),i6A],[L$g]:[new RegExp("android\\s(\\d+(\\.\\d+)?)","i")],[N$g]:[new RegExp("SamsungBrowser\\/(\\d+(\\.\\d+)?)")],[v$g]:[new RegExp("OculusBrowser\\/(\\d+(\\.\\d+)?)")],[T$g]:[new RegExp("Vivaldi\\/(\\d+(\\.\\d+)?)")],[q$g]:[new RegExp("YaBrowser\\/(\\d+(\\.\\d+)?)")],[Z$g]:[new RegExp("Whale\\/(\\d+(\\.\\d+)?)")],[Q6A]:[new RegExp("Brave\\/(\\d+(\\.\\d+)?)")],[j$g]:[E6A],[z$g]:[E6A],[X$g]:[E6A],[O$g]:[new RegExp("(DuckDuckGo|Ddg)\\/(\\d+(\\.\\d+)?)")],[W$g]:[new RegExp("PaleMoon\\/(\\d+(\\.\\d+)?)")],[V$g]:[new RegExp("Waterfox\\/(\\d+(\\.\\d+)?)")],[$$g]:[new RegExp("GSA\\/(\\d+(\\.\\d+)?)")],[F$g]:[new RegExp("(rv:|MSIE )(\\d+(\\.\\d+)?)")],Mozilla:[new RegExp("rv:(\\d+(\\.\\d+)?)")]},Vct=function(g,A,I,e){const t=AAI(g,A,I,e),o=Wct[t];if(Le(o))return null;for(let B=0;o.length>B;B++){const C=g.match(o[B]);if(C)return parseFloat(C[C.length-2])}return null},gAI=[[new RegExp("Xbox; Xbox (.*?)[);]","i"),g=>[tDA,g&&g[1]||""]],[new RegExp(IDA,"i"),[IDA,""]],[new RegExp(eDA,"i"),[eDA,""]],[n6A,[$lA,""]],[new RegExp(o6A,"i"),(g,A)=>{if(/Phone/.test(A)||/WPDesktop/.test(A))return[_$g,""];if(new RegExp(Bq).test(A)&&!/IEMobile\b/.test(A))return["Windows Mobile",""];const I=/Windows NT ([0-9.]+)/i.exec(A);if(I&&I[1]){let e=Oct[I[1]]||"";return/arm/i.test(A)&&(e="RT"),[o6A,e]}return[o6A,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,g=>g&&g[3]?["iOS",[g[3],g[4],g[5]||"0"].join(".")]:["iOS",""]],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,g=>{let A="";return g&&g.length>=3&&(A=Le(g[2])?g[3]:g[2]),["watchOS",A]}],[new RegExp("(Android (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)","i"),g=>g&&g[2]?[$AA,[g[2],g[3],g[4]||"0"].join(".")]:[$AA,""]],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,g=>{const A=["Mac OS X",""];return g&&g[1]&&(A[1]=[g[1],g[2],g[3]||"0"].join(".")),A}],[/Mac/i,["Mac OS X",""]],[/CrOS/,["Chrome OS",""]],[/Linux|debian/i,["Linux",""]]],IAI=function(g){for(let A=0;gAI.length>A;A++){const[I,e]=gAI[A],t=I.exec(g),o=t&&(Q0(e)?e(t,g):e);if(o)return o}return["",""]},eAI=function(g){return Zct.test(g)?IDA:qct.test(g)?eDA:Tct.test(g)?tDA:new RegExp(B6A,"i").test(g)?B6A:new RegExp("(Windows Phone|WPDesktop)","i").test(g)?_$g:/iPad/.test(g)?f$g:/iPod/.test(g)?"iPod Touch":/iPhone/.test(g)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(g)?R$g:n6A.test(g)?$lA:/(kobo)\s(ereader|touch)/i.test(g)?"Kobo":new RegExp(b$g,"i").test(g)?b$g:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(g)||/(kf[a-z]+)( bui|\)).+silk\//i.test(g)?"Kindle Fire":/(Android|ZTE)/i.test(g)?new RegExp(Bq).test(g)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(g)||/pixel[\daxl ]{1,6}/i.test(g)&&!/pixel c/i.test(g)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(g)||/lmy47v/i.test(g)&&!/QTAQZ3/i.test(g)?$AA:S$g:new RegExp("(pda|Mobile)","i").test(g)?vct:new RegExp(zlA,"i").test(g)&&!new RegExp("Tablet pc","i").test(g)?H$g:""},jct=function(g,A){var I;const e=eAI(g);return e===f$g||e===S$g||e==="Kobo"||e==="Kindle Fire"||e===H$g?zlA:e===IDA||e===tDA||e===eDA||e===B6A?"Console":e===R$g?"Wearable":e?Bq:A?.userAgentDataPlatform==="Android"&&((I=A?.maxTouchPoints)!==null&&I!==void 0?I:0)>0?600>Math.min((t=A?.screenWidth)!==null&&t!==void 0?t:0,(o=A?.screenHeight)!==null&&o!==void 0?o:0)/((B=A?.devicePixelRatio)!==null&&B!==void 0?B:1)?Bq:zlA:"Desktop";var t,o,B},s6A=/\bFBAV\/(\d+(?:\.\d+)*)/i,tAI=[[/\bInstagram(?:[ /](\d+(?:\.\d+)*))?\b/i,"Instagram"],[/\bBarcelona[ /](\d+(?:\.\d+)*)?/i,"Threads"],[/\b(?:MessengerForiOS|(?:FBAN|FB_IAB)\/Orca-Android)\b/i,"Messenger",s6A],[/\bFBAN\/EMA\b/i,"Facebook Lite",s6A],[/\b(?:FBIOS|(?:FBAN|FB_IAB)\/(?:FB4A|FBIOS))\b/i,"Facebook",s6A],[/\bLinkedInApp(?:\]?\/(\d+(?:\.\d+)*))?\b/i,"LinkedIn"],[/\bTwitter(?:Android| for (?:iPhone|iPad|Android))(?:\/(\d+(?:\.\d+)*))?\b/i,"Twitter"],[/\b(?:musical_ly|trill)(?:[_/](\d+\.\d+(?:\.\d+)*))?(?=\b|_)/i,"TikTok",/\bapp_version\/(\d+(?:\.\d+)*)/i],[/\b(?:MicroMessenger|WeChat)\/(\d+(?:\.\d+)*)?/i,"WeChat"],[/\bLine\/(\d+(?:\.\d+)*)?/i,"Line"],[/\bGSA\/(\d+(?:\.\d+)*)?/i,"Google"],[/\[Pinterest\/(?:iOS|Android)\b|\bPinterest(?: for (?:Android(?: Tablet)?|iOS))?\/(\d+(?:\.\d+)*)/i,"Pinterest"],[/\b(?:WA4A|WAiOS)\/(\d+(?:\.\d+)*)?/i,"WhatsApp"],[/\bSnapchat[ /](\d+(?:\.\d+)*)?/i,"Snapchat"],[/\bBing(?:Web|Sapphire)\/(\d+(?:\.\d+)*)?/i,"Bing"],[/\bNAVER\(inapp; search;/i,"Naver",/\bNAVER\(inapp; search;[^;)]*; (\d+(?:\.\d+)*)/i],[/\bKAKAOTALK[ /](\d+\.\d+(?:\.\d+)*)?/i,"KakaoTalk"]],a6A="[Truncated]",AgA="[Unserializable]";function Cq(g){let A="";for(let I=0;g.length>I;I++){const e=g.charCodeAt(I);if(55296>e||e>56319)A+=56320>e||e>57343?g[I]:"�";else{const t=g.charCodeAt(I+1);56320>t||t>57343?A+="�":(A+=g[I]+g[I+1],I++)}}return A}function oAI(g,A){if(!A)return g;let I=[];try{I=Object.keys(A)}catch{I=[]}for(const e of I){let t;try{t=A[e]}catch{t=AgA}Object.defineProperty(g,e,{value:t,enumerable:!0,writable:!0,configurable:!0})}return g}const oDA=3e5;var BAI=class{record(A){if(A.kind==="too-large")return;if(A.kind!=="retry-later")return void this.reset();if(!A.retryAfterMs)return;const I=this.isOpen(),e=Date.now(),t=Math.min(A.retryAfterMs,oDA);if(!I)return this.ts=e,void(this.es=e+t);this.es=Math.max(this.es,Math.min(e+t,this.ts+oDA))}remainingMs(){const A=Date.now();if(this.ts-5e3>A)return this.reset(),0;const I=Math.min(oDA,Math.max(0,this.es-A));return I===0&&this.reset(),I}isOpen(){return this.remainingMs()>0}reset(){this.es=0,this.ts=0}constructor(){this.es=0,this.ts=0}};const zct=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function CAI(g,A){return typeof(I=g)=="string"&&zct.test(I)?g:A();var I}function QAI(g,A){const I=new Error(A);try{Object.defineProperty(I,"name",{value:g,writable:!0,enumerable:!0,configurable:!0})}catch{}return I}function E3(g){return g&&g.split("#")[0]}function iAI(g){try{return g()}catch{return}}function EAI(g,A){const I=setTimeout(g,A);return I!=null&&I.unref&&I?.unref(),I}function nAI(g,A,I){return sAI.apply(this,arguments)}function sAI(){return(sAI=ia(function*(g,A,I){let e;try{return yield Promise.race([g,new Promise((t,o)=>{e=EAI(()=>{try{I?.(),t()}catch(B){o(B)}},A)})])}finally{clearTimeout(e)}})).apply(this,arguments)}function ggA(g){return ggA=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},ggA(g)}function Xct(g,A,I){return(A=(function(e){var t=(function(o){if(ggA(o)!="object"||!o)return o;var B=o[Symbol.toPrimitive];if(B!==void 0){var C=B.call(o,"string");if(ggA(C)!="object")return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(o)})(e);return ggA(t)=="symbol"?t:t+""})(A))in g?Object.defineProperty(g,A,{value:I,enumerable:!0,configurable:!0,writable:!0}):g[A]=I,g}function aAI(g,A){var I=Object.keys(g);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(g);A&&(e=e.filter(function(t){return Object.getOwnPropertyDescriptor(g,t).enumerable})),I.push.apply(I,e)}return I}function QI(g){for(var A=1;arguments.length>A;A++){var I=arguments[A]!=null?arguments[A]:{};A%2?aAI(Object(I),!0).forEach(function(e){Xct(g,e,I[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(I)):aAI(Object(I)).forEach(function(e){Object.defineProperty(g,e,Object.getOwnPropertyDescriptor(I,e))})}return g}let IgA,rAI,cAI,Qq;function $ct(g){var A;const I=globalThis._posthogChunkIds,e=globalThis._debugIds;if(!I&&!e)return;const t=I?Object.keys(I):[],o=e?Object.keys(e):[];if(Qq&&hAI(I,t,rAI)&&hAI(e,o,cAI))return Qq;rAI=I?QI({},I):void 0,cAI=e?QI({},e):void 0,Qq={},(A=IgA)!==null&&A!==void 0||(IgA={});const B=(C,Q)=>{for(const E of C){const n=Q[E];if(!n)continue;const s=IgA?.[E];if(s){Qq[s]=n;continue}const r=g(E);for(let a=r.length-1;a>=0;a--){var i;const c=(i=r[a])===null||i===void 0?void 0:i.filename;if(c){Qq[c]=n,IgA[E]=c;break}}}};return e&&B(o,e),I&&B(t,I),Qq}function hAI(g,A,I){return g&&I?A.length===Object.keys(I).length&&A.every(e=>g[e]===I[e]):g===I}var Aht=class{constructor(A,I,e=[]){this.coercers=A,this.stackParser=I,this.modifiers=e}buildFromUnknown(A,I={}){const e=I&&I.mechanism||{handled:!0,type:"generic"},t=this.buildCoercingContext(e,I,0).apply(A),o=this.buildParsingContext(I),B=this.parseStacktrace(t,o);return{$exception_list:this.convertToExceptionList(B,e),$exception_level:"error"}}modifyFrames(A){var I=this;return ia(function*(){for(const e of A)e.stacktrace&&e.stacktrace.frames&&cB(e.stacktrace.frames)&&(e.stacktrace.frames=yield I.applyModifiers(e.stacktrace.frames));return A})()}coerceFallback(A){var I;return{type:"Error",value:"Unknown error",stack:(I=A.syntheticException)===null||I===void 0?void 0:I.stack,synthetic:!0}}parseStacktrace(A,I){var e;let t,o;if(A.cause!=null&&(t=this.parseStacktrace(A.cause,I)),A.stack!=""&&A.stack!=null)try{o=this.applyChunkIds(this.stackParser(A.stack,A.synthetic?I.skipFirstLines:0),I.chunkIdMap)}catch{}return QI(QI({},A),{},{cause:t,stack:o,errors:(e=A.errors)===null||e===void 0?void 0:e.map(B=>this.parseStacktrace(B,I))})}applyChunkIds(A,I){return A.map(e=>(e.filename&&I&&(e.chunk_id=I[e.filename]),e))}applyCoercers(A,I){for(const e of this.coercers)if(e.match(A))return e.coerce(A,I);return this.coerceFallback(I)}applyModifiers(A){var I=this;return ia(function*(){let e=A;for(const t of I.modifiers)e=yield t(e);return e})()}convertToExceptionList(A,I){const e=[],t=(o,B,C)=>{var Q;const i=e.length,E=B===void 0?QI(QI({type:typeof I.type=="string"&&I.type.length>0?I.type:"generic"},typeof I.handled=="boolean"?{handled:I.handled}:I.handled===void 0?{handled:!0}:{}),{},{synthetic:typeof I.synthetic=="boolean"?I.synthetic:o.synthetic,exception_id:i}):{type:"chained",source:C,synthetic:o.synthetic,exception_id:i,parent_id:B},n={type:o.type,value:o.value,mechanism:E};o.stack&&(n.stacktrace={type:"raw",frames:o.stack}),e.push(n),o.cause&&t(o.cause,i,"cause");for(const s of(Q=o.errors)!==null&&Q!==void 0?Q:[])t(s,i,"member")};return t(A),e}buildParsingContext(A){var I;return{chunkIdMap:$ct(this.stackParser),skipFirstLines:(I=A.skipFirstLines)!==null&&I!==void 0?I:1}}getAggregateErrors(A){try{if(oq(A)){let e=Object.getPrototypeOf(A);for(let t=0;e&&100>t;t++){var I;const o=(I=Object.getOwnPropertyDescriptor(e,"constructor"))===null||I===void 0?void 0:I.value;if(typeof o=="function"&&o.name==="AggregateError"){const B=A.errors;return cB(B)?B:void 0}e=Object.getPrototypeOf(e)}}}catch{}}buildCoercingContext(A,I,e=0){let t=0,o=0,B=!1;const C=new Set,Q=[],i={},E=(r,a,c=0)=>{const h=n(a,c),l=h.apply;if(h.apply=G=>{Q.push(r);try{return l(G)}finally{Q.pop()}},c>4||c>0&&Q.indexOf(r)!==-1)return this.coerceFallback(h);const D=typeof r=="object"&&r!==null||typeof r=="function";if(c===0&&t>=50||D&&C.has(r))return;D&&C.add(r),c===0&&t++;const d=this.getAggregateErrors(r);let y,w;B||(B=!!d);try{if(y=this.applyCoercers(r,h),!y)throw i}catch(G){if(G===i)return void(c===0&&t--);if(!B)throw G;y=this.coerceFallback(h)}if(!d||t>=50)return y;try{w=d.length}catch{return y}if(!Number.isInteger(w)||0>w||w>4294967295)return y;const u=[];for(let G=0;50>t&&1e3>o&&w>G;G++){let m;o++;try{m=h.next(d[G])}catch{t++,m=this.coerceFallback(n(a+1))}m&&u.push(m)}return QI(QI({},y),{},{errors:u})},n=(r,a=0)=>QI(QI({},I),{},{syntheticException:r==0?I.syntheticException:void 0,mechanism:r==0?A:{},apply(c){const h=E(c,r,a+1);if(!h)throw i;return h},next:c=>E(c,r+1)}),s=n(e);return QI(QI({},s),{},{apply:r=>{var a;return(a=E(r,e))!==null&&a!==void 0?a:this.coerceFallback(s)}})}};const ght=/^([a-z][a-z0-9.+-]+):/i,Iht=["http","https","file","blob","app","capacitor","ionic","webpack","webpack-internal","ng"];function eht(g){if(!g||g==="<anonymous>")return!1;const A=ght.exec(g);return!A||Iht.includes(A[1].toLowerCase())}function r6A(g,A,I,e,t){const o={platform:g,filename:A,function:I==="<anonymous>"?"?":I,in_app:eht(A)};return Le(e)||(o.lineno=e),Le(t)||(o.colno=t),o}const lAI=(g,A)=>{const I=g.indexOf("safari-extension")!==-1,e=g.indexOf("safari-web-extension")!==-1;return I||e?[g.indexOf("@")!==-1?g.split("@")[0]:"?",I?`safari-extension:${A}`:`safari-web-extension:${A}`]:[g,A]},tht=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,oht=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Bht=/\((\S*)(?::(\d+))(?::(\d+))\)/,Cht=(g,A)=>{const I=tht.exec(g);if(I){const[,t,o,B]=I;return r6A(A,t,"?",+o,+B)}const e=oht.exec(g);if(e){if(e[2]&&e[2].indexOf("eval")===0){const B=Bht.exec(e[2]);B&&(e[2]=B[1],e[3]=B[2],e[4]=B[3])}const[t,o]=lAI(e[1]||"?",e[2]);return r6A(A,o,t,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}},Qht=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,iht=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Eht=(g,A)=>{const I=Qht.exec(g);if(I){if(I[3]&&I[3].indexOf(" > eval")>-1){const o=iht.exec(I[3]);o&&(I[1]=I[1]||"eval",I[3]=o[1],I[4]=o[2],I[5]="")}let e=I[3],t=I[1]||"?";return[t,e]=lAI(t,e),r6A(A,e,t,I[4]?+I[4]:void 0,I[5]?+I[5]:void 0)}},DAI=/\(error: (.*)\)/;function c6A(g,A){return g.filename===A.filename&&g.function===A.function&&g.module===A.module&&g.lineno===A.lineno&&g.colno===A.colno}function nht(g){for(let A=1;10>=A;A++){const I=g.length-2*A;if(0>I)break;let e=!0;for(let t=0;A>t;t++)if(!c6A(g[I+t],g[I+A+t])){e=!1;break}if(e){for(let t=0;A>t;t++)g[I+t]=g[I+A+t];return g.length=I+A,{start:I,length:A}}}}function sht(g,A){const I=A.start+A.length,e=yAI(g,A);e&&g.splice(I+e===g.length?I:A.start,e)}function dAI(g,A){let I=A.start;for(;I>0&&c6A(g[I-1],g[I-1+A.length]);)I--;return A.start-I}function yAI(g,A){const I=A.start+A.length;let e=I;for(;g.length>e&&c6A(g[e],g[e-A.length]);)e++;return e-I}function aht(g,A){const I=A[0];let e=g.length-(I?dAI(g,I):0);for(const t of A)e-=yAI(g,t);return e}function rht(g,A,I){for(let e=0;g.length>e;e++){const t=g[(A+e)%g.length],o=g[(I+e)%g.length];if(t!==o)return o>t}return!1}var cht=class{match(A){return this.isDOMException(A)||this.isDOMError(A)}coerce(A,I){const e=KC(A.stack);return{type:this.getType(A),value:this.getValue(A),stack:e?A.stack:void 0,cause:A.cause?I.next(A.cause):void 0,synthetic:!1}}getType(A){return this.isDOMError(A)?"DOMError":"DOMException"}getValue(A){const I=A.name||(this.isDOMError(A)?"DOMError":"DOMException");return A.message?`${I}: ${A.message}`:I}isDOMException(A){return VlA(A,"DOMException")}isDOMError(A){return VlA(A,"DOMError")}},hht=class{match(A){return oq(A)}coerce(A,I){var e;const t=this.getStack(A),o=t===void 0?(e=I.syntheticException)===null||e===void 0?void 0:e.stack:void 0,B=!!o;return{type:this.getType(A),value:this.getMessage(A,I),stack:t??o,cause:A.cause?I.next(A.cause):void 0,synthetic:B}}getType(A){return A.name||A.constructor.name}getMessage(A,I){const e=A.message;return String(e.error&&typeof e.error.message=="string"?e.error.message:e)}getStack(A){try{const I=A.stacktrace;if(typeof I=="string"&&I.length>0)return I;const e=A.stack;return typeof e=="string"&&e.length>0?e:void 0}catch{return}}},lht=class{match(A){return!!VlA(A,"ErrorEvent")&&(A.error!=null||this.hr(A))}coerce(A,I){var e;if(A.error!=null)return I.apply(A.error);const t=I.apply(A.message);return QI(QI({},t),{},{stack:(e=this.vr(A))!==null&&e!==void 0?e:t.stack,synthetic:!0})}hr(A){return KC(A.message)&&A.message.length>0}vr(A){var I,e;const t=A,o=(I=t.lineno)!==null&&I!==void 0?I:0,B=(e=t.colno)!==null&&e!==void 0?e:0;if(KC(t.filename)&&t.filename.length!==0&&o!==0)return`Error
|
|
1069
|
-
at ${t.filename}:${o}:${B}`}};const Dht=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;var dht=class{match(A){return typeof A=="string"}coerce(A,I){var e;const[t,o]=this.getInfos(A);return{type:t??"Error",value:o??A,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}getInfos(A){let I="Error",e=A;const t=A.match(Dht);return t&&(I=t[1],e=t[2]),[I,e]}};const yht=["fatal","error","warning","log","info","debug"];function wAI(g,A=40){const I=Object.keys(g);if(I.sort(),!I.length)return"[object has no keys]";for(let e=I.length;e>0;e--){const t=I.slice(0,e).join(", ");if(A>=t.length)return e===I.length?t:t.length>A?`${t.slice(0,A)}...`:t}return""}var wht=class{match(A){return typeof A=="object"&&A!==null}coerce(A,I){var e,t;const o=this.getErrorPropertyFromObject(A);return o?I.apply(o):{type:this.getType(A),value:this.getValue(A),stack:(e=this.getStack(A))!==null&&e!==void 0?e:(t=I.syntheticException)===null||t===void 0?void 0:t.stack,level:this.isSeverityLevel(A.level)?A.level:"error",synthetic:!0}}getType(A){if(e6A(A))return A.constructor.name;const I="name"in A?A.name:void 0;return KC(I)&&!XAA(I)?I:"Error"}getValue(A){if("name"in A&&typeof A.name=="string"){let e=`'${A.name}' captured as exception`;return"message"in A&&typeof A.message=="string"&&(e+=` with message: '${A.message}'`),e}if("message"in A&&typeof A.message=="string")return A.message;const I=this.getObjectClassName(A);return`${I&&I!=="Object"?`'${I}'`:"Object"} captured as exception with keys: ${wAI(A)}`}isSeverityLevel(A){return KC(A)&&!XAA(A)&&yht.indexOf(A)>=0}getStack(A){try{return KC(A.stacktrace)&&A.stacktrace.length>0?A.stacktrace:KC(A.stack)&&A.stack.length>0?A.stack:void 0}catch{return}}getErrorPropertyFromObject(A){for(const I in A)if({}.hasOwnProperty.call(A,I)){const e=A[I];if(oq(e))return e}}getObjectClassName(A){try{const I=Object.getPrototypeOf(A);return I?I.constructor.name:void 0}catch{return}}},uht=class{match(A){return e6A(A)}coerce(A,I){var e;const t=A.constructor.name;return{type:t,value:`${t} captured as exception with keys: ${wAI(A)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}},Ght=class{match(A){return m$g(A)}coerce(A,I){var e;return{type:"Error",value:`Primitive value captured as exception: ${String(A)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}},mht=class{match(A){return VlA(A,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(A)}isCustomEventWrappingRejection(A){if(!e6A(A))return!1;try{const I=A.detail;return I!=null&&typeof I=="object"&&"reason"in I}catch{return!1}}coerce(A,I){var e;const t=this.getUnhandledRejectionReason(A);return m$g(t)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}:I.apply(t)}getUnhandledRejectionReason(A){try{if("reason"in A)return A.reason;if("detail"in A&&A.detail!=null&&typeof A.detail=="object"&&"reason"in A.detail)return A.detail.reason}catch{}return A}};const BDA="$message",CDA="$timestamp",pht=new Set([BDA,CDA]),h6A={enabled:!0,max_bytes:32768};function QDA(g){var A;return g?{enabled:(A=g.enabled)!==null&&A!==void 0?A:h6A.enabled,max_bytes:Mht(g.max_bytes,h6A.max_bytes)}:QI({},h6A)}var kht=class{constructor(A){this.ns=[],this.ss=0,this.Ar=QDA(A)}setConfig(A){this.Ar=QDA(A),this.rs()}add(A){const I=(function(t){let o;try{o=u$g(t)}catch{return}try{const B=JSON.parse(o);if(!yC(B))return;const C=B,Q=C[BDA],i=C[CDA];return!KC(Q)||Q.trim().length===0||!KC(i)&&!i0(i)?void 0:{step:C,json:o}}catch{return}})(A);if(!I)return;const e=(function(t){if("u">typeof TextEncoder)return new TextEncoder().encode(t).length;const o=encodeURIComponent(t);let B=0;for(let C=0;o.length>C;C++)o[C]==="%"?(B+=1,C+=2):B+=1;return B})(I.json);e>this.Ar.max_bytes||(this.ns.push({step:I.step,bytes:e}),this.ss+=e,this.rs())}getAttachable(){return this.ns.map(A=>A.step)}clear(){this.ns=[],this.ss=0}size(){return this.ns.length}rs(){for(;this.ss>this.Ar.max_bytes&&this.ns.length>0;){const A=this.ns.shift();A&&(this.ss-=A.bytes)}}};function Mht(g,A){if(!i0(g)||g===1/0||g===-1/0)return A;const I=Math.floor(g);return 0>I?A:I}const uAI=g=>{if(typeof g!="string")return g;try{return JSON.parse(g)}catch{return g}};function GAI(g){return typeof g=="string"||g}function mAI(g){return typeof g=="string"?g:void 0}const Sht=["$feature_flag","$feature_flag_response","$feature_flag_has_experiment","$feature_flag_id","$feature_flag_version","$feature_flag_reason","$feature_flag_request_id","$feature_flag_evaluated_at","$feature_flag_error","locally_evaluated","$groups","$process_person_profile","$geoip_disable","$current_url","$pathname","$referring_domain","utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid","gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","oppref","bfcid","irclid","_kx","$session_id","$window_id","$lib","$lib_version","$device_id","$is_server"],pAI="NativeGzipValidationError",l6A=g=>g.length>=2&&g[0]===31&&g[1]===139,kAI=(g,A)=>g===A6A.GZipJS||A===A6A.GZipJS||A==="gzip",MAI=g=>!(!g||typeof g!="object")&&("name"in g?String(g.name):"")==="NotReadableError";let egA;const iDA=g=>{throw QAI(pAI,`Native gzip produced invalid output: ${g}`)},fht=(SAI=ia(function*(g,A){18>g.size&&iDA("too-short");const I=new Uint8Array(yield g.slice(0,10).arrayBuffer());l6A(I)&&I[2]===8||iDA("invalid-header");const e=new DataView(yield g.slice(g.size-8).arrayBuffer());e.getUint32(0,!0)!==(o=>{const B=(()=>{if(egA)return egA;egA=[];for(let Q=0;256>Q;Q++){let i=Q;for(let E=0;8>E;E++)i=1&i?3988292384^i>>>1:i>>>1;egA[Q]=i>>>0}return egA})();let C=4294967295;for(let Q=0;o.length>Q;Q++)C=B[255&(C^o[Q])]^C>>>8;return(4294967295^C)>>>0})(A)&&iDA("invalid-crc");const t=A.length>>>0;e.getUint32(4,!0)!==t&&iDA("invalid-size")}),function(g,A){return SAI.apply(this,arguments)});var SAI;function D6A(){return D6A=ia(function*(g,A=!0,I){try{const t=new TextEncoder().encode(g),o=new globalThis.CompressionStream("gzip"),B=o.writable.getWriter(),C=B.write(t).then(()=>B.close()).catch((e=ia(function*(E){try{yield B.abort(E)}catch{}throw E}),function(E){return e.apply(this,arguments)})),Q=new Response(o.readable).blob(),[i]=yield Promise.all([Q,C]);return yield fht(i,t),i}catch(t){if(I?.rethrow)throw t;return A&&console.error("Failed to gzip compress data",t),null}var e}),D6A.apply(this,arguments)}function fAI(g,A){if(g==null)return{};var I,e,t=(function(B,C){if(B==null)return{};var Q={};for(var i in B)if({}.hasOwnProperty.call(B,i)){if(C.includes(i))continue;Q[i]=B[i]}return Q})(g,A);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(g);for(e=0;o.length>e;e++)A.includes(I=o[e])||{}.propertyIsEnumerable.call(g,I)&&(t[I]=g[I])}return t}const aG="[redacted]",Rht=/^[A-Za-z0-9+/\n\r]+=*$/,Nht=/^[A-Za-z0-9_-]+={0,2}$/,xht=/[-_]/,Fht=/^data:[^,\s]*;base64,/i,Uht=/^[A-Za-z0-9+/_-]+={0,2}$/,Jht=/\bph[a-z]_[A-Za-z0-9_-]{20,}\b/g,Pht=/^(authorization|cookie|set-cookie|x-api-key|api[-_]?key|api[-_]?token|access[-_]?token|refresh[-_]?token|token|password|secret|client[-_]?secret|private[-_]?key)$/i,RAI=/[a-z][a-z0-9+.-]{0,63}:[^\s<>"]+/gi,Kht=/[\s<>"]/,NAI=new RegExp(RAI.source,"i"),xAI=/[a-z][a-z0-9+.-]{0,63}:\/\//i,Lht=new RegExp(`^${xAI.source}`,"i"),Yht=new RegExp(xAI.source,"gi"),_ht=/(^|[-_./;])(auth|token|secret|password|passwd|pwd|credential|signature|sig|key|hmac|sas|bearer|jwt|session|sessionid)([-_./;]|$)/i,bht=/^(code|AWSAccessKeyId|GoogleAccessId|Policy)$/i,Hht=/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g,vht=/[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9.-]{1,255}\.[A-Za-z]{2,24}/g,Tht=/\b(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\b/g,qht=/(^|[^\w:])((?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(?:[0-9A-Fa-f]{1,4}:){1,7}:|(?:[0-9A-Fa-f]{1,4}:){1,6}:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,5}|::(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,6})))(?=$|[^\w:])/g,Zht=/\b\d{3}[ .-]\d{2}[ .-]\d{4}\b/g,Oht=/\b\d(?:[ ./-]?\d){12,}\b/g,FAI=/\d+/g,Wht=/(^|[^\w+])((?:\+?1[ ./-]?)?(?:\(\d{3}\)[ ./-]?|\d{3}[ ./-])\d{3}[ ./-]\d{4})(?![\w])/g,Vht=/(^|[^\w])(\+\d{1,3}(?:[ ./()-]{0,2}\d){7,13})(?![\w])/g;function d6A(g){return(function(A){return Pht.test(A)})(g)||_ht.test(g)||bht.test(g)}function y6A(g){return g.split("&",129).length>128}function jht(g,A,I){return d6A(g)||A.includes(";")&&(function(e){return e.split(";").some(t=>d6A(t.split("=",1)[0]))})(A)?aG:NAI.test(A)?I?u6A(A,{allowNestedUrls:!1,stripPunctuation:!0}):aG:A}function UAI(g,A){const I=new URLSearchParams;let e=!1,t=!1;for(const[o,B]of new URLSearchParams(g)){const C=EDA(o),Q=EDA(B);e||(e=C!==o||Q!==B);const i=jht(C,Q,A);e||(e=i!==Q),t=d6A(C)||i!==Q,I.append(C,i)}return{changed:e,lastFieldSensitive:t,serialized:I.toString()}}function JAI(g,A){if(!g.includes("="))return{value:zht(g,A),lastFieldSensitive:!1};const I=UAI(g,A);return{value:I.changed?I.serialized:g,lastFieldSensitive:I.lastFieldSensitive}}function zht(g,A){return A?u6A(g,{allowNestedUrls:!1,stripPunctuation:!0}):NAI.test(g)?aG:g}function Xht(g,A,I){return g==="#"?!A.fragment&&(A.fragment=!0):g==="?"&&(A.fragment?I!=="="&&!A.fragmentQuery&&(A.fragmentQuery=!0):!A.query&&(A.query=!0))}function w6A(g,A){var I;if(g.length>8192&&Lht.test(g))return aG;const{address:e,suffix:t}=A.stripPunctuation?(function(h){let l=h.length;for(;l>0&&".,;:!?)]}'".includes(h[l-1]);)l--;return{address:h.slice(0,l),suffix:h.slice(l)}})(g):{address:g,suffix:""};let o;try{o=new URL(e)}catch{return aG+t}const B=o.search.slice(1),C=o.hash!=="",Q=(function(h){const l=h.slice(1),D=l.indexOf("?");return 0>D?{head:l,tail:null}:{head:l.slice(0,D),tail:l.slice(D+1)}})(o.hash);if(y6A(B)||y6A(Q.head)||y6A((I=Q.tail)!==null&&I!==void 0?I:""))return aG+t;let i=!1;(o.username||o.password)&&(o.username=aG,o.password="",i=!0);const E=UAI(B,A.allowNestedUrls);E.changed&&(o.search=E.serialized,i=!0);const n=JAI(Q.head,A.allowNestedUrls),s=Q.tail===null?null:(r=Q.tail,n.lastFieldSensitive?{value:r===""?"":aG,lastFieldSensitive:!0}:JAI(r,A.allowNestedUrls));var r;const a=s===null?n.value:`${n.value}?${s.value}`;a!==o.hash.slice(1)&&(o.hash=a,i=!0);const c=C?s??n:E;return(i?EDA(o.toString()):e)+(c.lastFieldSensitive?"":t)}function u6A(g,A){return g.replace(RAI,I=>(function(e,t){const o=(function(Q){if(!Q.includes("://"))return[];const i=[...Q.matchAll(Yht)].map(c=>c.index),E=[],n={query:!1,fragment:!1,fragmentQuery:!1};let s=0,r=!1,a="";for(let c=0;Q.length>c&&i.length>s;c++){i[s]===c&&(c>0&&a!=="="&&E.push(c),s++);const h=Q[c];Xht(h,n,a)?(a=h,r=!0):r&&"=&".includes(h)&&(a=h)}return E})(e);if(o.length===0)return w6A(e,t);let B="",C=0;for(const Q of o)B+=w6A(e.slice(C,Q),QI(QI({},t),{},{stripPunctuation:!1})),C=Q;return B+w6A(e.slice(C),t)})(I,QI(QI({},A),{},{stripPunctuation:A.stripPunctuation&&I.length!==g.length})))}function EDA(g){return g.replace(Jht,aG)}function PAI(g,A){return(function(I){return I.length>=10240&&(Rht.test(I)||(function(e){const t=Fht.exec(e);if(!t)return!1;let o;try{o=decodeURIComponent(e.slice(t[0].length))}catch{return!1}return Uht.test(o.replace(/[\r\n]/g,""))})(I)||xht.test(I)&&Nht.test(I))})(g)?"[binary data redacted - not supported by PostHog MCP analytics]":(function(I,e,t){const o=4*t.maxStringLength;if(I.length>o){const B=e(I.slice(0,(function(C,Q){let i=Q;for(;i>0&&!Kht.test(C[i-1]);)i--;return i})(I,o)));if(B.length>=2*t.maxStringLength)return B+t.truncationSuffix}return e(I)})(g,I=>(function(e){return u6A(e,{allowNestedUrls:!0,stripPunctuation:!0})})((function(e){let t=e.replace(Hht," ");return t=t.replace(vht,aG),t=t.replace(Tht,aG),t=t.replace(qht,`$1${aG}`),t=t.replace(Oht,A0t),t=t.replace(Zht,aG),t=t.replace(Wht,`$1${aG}`),t=t.replace(Vht,`$1${aG}`),t})(EDA(I))),A)}function $ht(g){let A=0,I=!1;for(let e=g.length-1;e>=0;e--){let t=g.charCodeAt(e)-48;if(0>t||t>9)return!1;I&&(t*=2,t>9&&(t-=9)),A+=t,I=!I}return A%10==0}function A0t(g){const A=[];for(let o=FAI.exec(g);o!==null;o=FAI.exec(g))A.push({digits:o[0],start:o.index,end:o.index+o[0].length});let I="",e=0,t=0;for(;A.length>t;){let o="",B=-1;for(let C=t;A.length>C&&(o+=A[C].digits,19>=o.length);C++)o.length>=13&&$ht(o)&&(B=C);0>B?t++:(I+=g.slice(e,A[t].start)+aG,e=A[B].end,t=B+1)}return I+g.slice(e)}const g0t={}.propertyIsEnumerable;function nDA(g,A){try{return KAI(g,A,{ancestors:new WeakSet,remainingNodes:1e4},0)}catch{return[]}}function G6A(g,A,I,e){if(0>=I.remainingNodes)return{stringValue:a6A};if(I.remainingNodes--,Pm(g))return{boolValue:g};if(typeof g=="bigint")return(function(t,o){const B=t.toString(),C=BigInt("9223372036854775808");return t>=C||-C>t?(o?.debug(`Attribute ${B} is outside the int64 range; encoding it as a string`),{stringValue:B}):{intValue:B}})(g,A);if(typeof g=="number"){if(!Number.isFinite(g))return{stringValue:String(g)};if(Number.isInteger(g)){if(Number.isSafeInteger(g))return{intValue:String(g)};if(typeof BigInt>"u")return{stringValue:String(g)};const t=BigInt(g).toString();return g>=9223372036854776e3||-9223372036854776e3>g?(A?.debug(`Attribute ${t} is outside the int64 range; encoding it as a string`),{stringValue:t}):{intValue:t}}return{doubleValue:g}}if(typeof g=="string")return{stringValue:Cq(g)};if(typeof g=="function")return{stringValue:"[Function]"};if(typeof g=="symbol")return{stringValue:String(g)};if(typeof g=="object"&&g!==null){if(I.ancestors.has(g))return{stringValue:"[Circular]"};if(e>=20)return{stringValue:a6A};if(g instanceof Date){const t=g.getTime(),o=Number.isFinite(t)?g.toISOString():String(g);return{stringValue:typeof o=="string"?Cq(o):String(o)}}I.ancestors.add(g);try{try{const t=g.toJSON;if(typeof t=="function")return G6A(t.call(g),A,I,e+1)}catch{}return cB(g)?{arrayValue:{values:I0t(g,A,I,e+1)}}:{kvlistValue:{values:KAI(g,A,I,e+1)}}}finally{I.ancestors.delete(g)}}return{stringValue:Cq(String(g))}}function I0t(g,A,I,e){const t=[],o=Math.min(g.length,1e3);let B=0;for(;o>B&&I.remainingNodes>0;B++)try{const C=B in g?g[B]:void 0;if(hC(C))continue;t.push(G6A(C,A,I,e))}catch{t.push({stringValue:AgA})}return g.length>B&&t.push({stringValue:a6A}),t}function KAI(g,A,I,e){const t=[];for(const o in g)if(g0t.call(g,o)){if(!o){A?.debug("Dropping an attribute with an empty key");continue}if(t.length>=1e3||0>=I.remainingNodes){A?.debug("Attributes truncated: the value exceeds the OTLP encoder budget");break}try{const B=g[o];if(Yc(B)||Le(B))continue;t.push({key:Cq(o),value:G6A(B,A,I,e)})}catch{t.push({key:Cq(o),value:{stringValue:AgA}})}}return t}function LAI(g,A,I){return QI(QI(QI(QI({},oAI({},g.resourceAttributes)),{},{"service.name":g.serviceName||"unknown_service"},g.environment&&{"deployment.environment":g.environment}),g.serviceVersion&&{"service.version":g.serviceVersion}),{},{"telemetry.sdk.name":A,"telemetry.sdk.version":I})}const e0t=["service.name","deployment.environment","service.version","telemetry.sdk.name","telemetry.sdk.version"];function YAI(g,A){const I=oAI({},g),e={};for(const t of e0t)({}).hasOwnProperty.call(I,t)&&(e[t]=I[t],delete I[t]);return[...nDA(I,A),...nDA(e,A)]}const _AI={darwin:"macOS",win32:"Windows",cygwin:"Windows",linux:"Linux",android:"Android",freebsd:"FreeBSD",openbsd:"OpenBSD",netbsd:"NetBSD",sunos:"SunOS",aix:"AIX",haiku:"Haiku","Mac OS X":"macOS"},bAI={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},t0t=bAI.info;function o0t(g){try{return Cq(String(g))}catch{return AgA}}function B0t(g,A,I,e){const t=g.level||"info",{text:o,number:B}=bAI[t]||t0t,C=(function(s=Date.now()){return String(s)+"000000"})(i0(e)?e:void 0),Q={};A.distinctId&&(Q.posthogDistinctId=A.distinctId),A.sessionId&&(Q.sessionId=A.sessionId),A.windowId&&(Q["window.id"]=A.windowId),hC(A.sessionStartTimestamp)||(Q.sessionStartTimestamp=String(A.sessionStartTimestamp)),hC(A.lastActivityTimestamp)||(Q.lastActivityTimestamp=String(A.lastActivityTimestamp)),A.currentUrl&&(Q["url.full"]=A.currentUrl),A.screenName&&(Q["screen.name"]=A.screenName),A.appState&&(Q["app.state"]=A.appState),A.activeFeatureFlags&&A.activeFeatureFlags.length>0&&(Q.feature_flags=A.activeFeatureFlags);const i=QI({},Q),E=g.attributes;if(E){let s=[];try{s=Object.keys(E)}catch{s=[]}for(const r of s){let a;try{a=E[r]}catch{a=AgA}Object.defineProperty(i,r,{value:a,enumerable:!0,writable:!0,configurable:!0})}}const n={timeUnixNano:C,observedTimeUnixNano:C,severityNumber:B,severityText:o,body:{stringValue:o0t(g.body)},attributes:nDA(i,I)};return g.trace_id&&(n.traceId=g.trace_id),g.span_id&&(n.spanId=g.span_id),Le(g.trace_flags)||(n.flags=g.trace_flags),n}function HAI(g,A,I){return LAI(g,A,I)}function vAI(g,A,I,e){return{resourceLogs:[{resource:{attributes:YAI(A)},scopeLogs:[{scope:{name:I,version:e},logRecords:g}]}]}}var TAI=class{constructor(A){this.ls=A,this.us=0}get pending(){return!!this.cs}arm(A){this.clear(),this.us=Date.now()+A,this.cs=EAI(()=>{this.cs=void 0,this.ls()},A)}armNoEarlierThan(A){this.cs&&Date.now()+A<=this.us||this.arm(A)}clear(){this.cs&&(clearTimeout(this.cs),this.cs=void 0)}};function qAI(){return .75+.5*Math.random()}function ZAI(g,A,I,e){const t=Math.min(Math.max(0,A-1),6),o=g*Math.pow(2,t);return Math.round(Math.min(o,Math.max(e,g))*I)}var C0t=class{constructor(A,I,e,t,o,B=()=>Promise.resolve(),C){var Q;this._instance=A,this.Ar=I,this.$=e,this.hs=t,this.ds=o,this.vs=B,this.fs=C,this.ps=new TAI(()=>this.gs()),this.ys=null,this.bs=0,this._s=0,this.ws=new BAI,this.ks=0,this.Ss=1,this.xs=0,this.$s=0,this.Cs=!1,this.Ts=I.maxBufferSize,this.Is=Math.max((Q=I.maxQueueSize)!==null&&Q!==void 0?Q:I.maxBufferSize,I.maxBufferSize),this.Ms=I.flushIntervalMs,this.Es=I.maxBatchRecordsPerPost,this.Ps=I.rateCapWindowMs,this.Rs=I.maxLogsPerInterval}clearQueue(){this._s++,this._instance.setPersistedProperty(yx.LogsQueue,[])}reset(){this.ps.clear(),this.xs=0,this.$s=0,this.Cs=!1,this.ks=0,this.Ss=1,this.ws.reset(),this.Es=this.Ar.maxBatchRecordsPerPost}onReconnect(){this.ks=0,this.Ss=1,this.ws.isOpen()?this.As()&&this.Fs():this.gs()}captureLog(A,I){var e;if(this._instance.isDisabled||this._instance.optedOut||!A?.body)return;const t=this.Os(A);if(t===null)return;if(!t.body)return void this.$.info("Log was rejected in beforeSend function");if(!this.Ds())return;const o={record:B0t(t,(e=I?.context)!==null&&e!==void 0?e:this.hs(),this.$,I?.occurredAtMs)};this.ds(()=>this.Ls(o))}Os(A){const I=this.Ar.beforeSend;if(!I)return A;const e=cB(I)?I:[I];let t=A;for(const o of e)try{const B=o(t);if(!B)return this.$.info("Log was rejected in beforeSend function"),null;t=B}catch(B){return this.$.error("Error in beforeSend function for log:",B),null}return t}Ds(){if(this.Rs===void 0)return!0;const A=Date.now(),I=A-this.xs;return this.Ps>I&&I>=0||(this.xs=A,this.$s=0,this.Cs=!1),this.Rs>this.$s?(this.$s++,!0):(this.Cs||(this.$.warn(`captureLog dropping logs: exceeded ${this.Rs} logs per ${this.Ps}ms`),this.Cs=!0),!1)}flush(){var A=this;return ia(function*(){if(!A._instance.isDisabled)return A.ys||(A.ys=A.Ns().finally(()=>{A.ys=null})),A.ys})()}Ns(){var A=this;return ia(function*(){var I;A.ps.clear();let e=(I=A._instance.getPersistedProperty(yx.LogsQueue))!==null&&I!==void 0?I:[];if(e.length===0)return;const t=e.length;let o=0;for(;e.length>0&&t>o;){var B,C;const Q=A._s;A.bs=0;const i=Math.min(e.length,A.Es),E=e.slice(0,i),n=vAI(E.map(r=>r.record),A.qs(),(B=A.fs)!==null&&B!==void 0?B:A._instance.getLibraryId(),A._instance.getLibraryVersion()),s=yield A._instance.js(n);if(A._s!==Q)return;if(s.kind==="too-large"&&E.length>1)A.Es=Math.max(1,Math.floor(E.length/2)),A.$.warn(`Logs batch of size ${E.length} was too large for the ingestion endpoint, reducing batch size to ${A.Es}`);else if(A.ws.record(s),A.ps.pending&&A.ps.arm(Math.max(A.Ms,A.ws.remainingMs())),s.kind==="retry-later"||(s.kind==="too-large"?A.$.warn("Dropping a single log record with batch size 1 — the record is larger than the server cap and cannot be split further."):s.kind==="ok"&&A.Ar.maxBatchRecordsPerPost>A.Es&&(A.Es=Math.min(A.Ar.maxBatchRecordsPerPost,A.Es+1)),yield A.Bs(E.length),e=(C=A._instance.getPersistedProperty(yx.LogsQueue))!==null&&C!==void 0?C:[],o+=E.length,s.kind==="fatal"))throw s.error}})()}Bs(A){var I=this;return ia(function*(){var e;const t=Math.max(0,A-I.bs),o=(e=I._instance.getPersistedProperty(yx.LogsQueue))!==null&&e!==void 0?e:[];I._instance.setPersistedProperty(yx.LogsQueue,o.slice(t)),yield I.vs()})()}qs(){return HAI(this.Ar,this._instance.getLibraryId(),this._instance.getLibraryVersion())}Ls(A){var I;if(this._instance.optedOut)return;const e=(I=this._instance.getPersistedProperty(yx.LogsQueue))!==null&&I!==void 0?I:[];this.Is>e.length||(e.shift(),this.bs++,this.$.info("Logs queue is full, dropping oldest record.")),e.push(A),this._instance.setPersistedProperty(yx.LogsQueue,e),this.Ts>e.length||this.ws.isOpen()?this.Fs():this.gs()}Fs(){this.ps.pending||this.ps.arm(Math.max(this.Ms,this.ws.remainingMs()))}zs(){return Math.max(ZAI(this.Ms,this.ks,this.Ss,3e4),this.ws.remainingMs())}As(){const A=this._instance.getPersistedProperty(yx.LogsQueue);return!!A&&A.length>0}shutdown(A){var I=this;return ia(function*(){I.ps.clear();const e=I.flush().catch(()=>{});A!==void 0?yield nAI(e,A):yield e})()}flushWithTimeout(A){var I=this;return ia(function*(){const e=I.flush();yield nAI(e,A,()=>{e.catch(()=>{})})})()}gs(){this.flush().then(()=>{this.ks=0,this.Ss=1},A=>{this.ks++,this.Ss=qAI(),this.$.error("PostHog logs flush failed:",A)}).finally(()=>{!this._instance.isDisabled&&this.As()&&this.ps.armNoEarlierThan(this.zs())})}};const Q0t=/^[0-9a-f]+$/;function OAI(g,A,I){return typeof g=="string"&&g.length===A&&g!==I&&Q0t.test(g)}const i0t=/^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})(-.*)?$/,E0t="00",m6A=[0,5,10,25,50,75,100,250,500,750,1e3,2500,5e3,7500,1e4];function p6A(g){return String(g)+"000000"}function WAI(g,A,I,e){let t="";return e&&(t=Object.keys(e).sort().map(o=>`${JSON.stringify(o)}:${JSON.stringify(e[o])}`).join(",")),`${g}\0${A}\0${I??""}\0${t}`}var n0t=class{constructor(A,I,e){this._instance=A,this.Ar=I,this.$=e,this.Hs=new Map,this.ps=new TAI(()=>this.flush().catch(t=>{this.$.error("Metrics flush failed:",t)})),this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.ws=new BAI,this.ks=0,this.Ss=1,this.Gs=0}count(A,I=1,e){this.Qs({name:A,type:"count",value:I,unit:e?.unit,attributes:e?.attributes})}gauge(A,I,e){this.Qs({name:A,type:"gauge",value:I,unit:e?.unit,attributes:e?.attributes})}histogram(A,I,e){this.Qs({name:A,type:"histogram",value:I,unit:e?.unit,attributes:e?.attributes})}flush(){var A=this;const I=this.ys,e=(function(){var t=ia(function*(){I&&(yield I.catch(()=>{})),yield A.Zs()});return function(){return t.apply(this,arguments)}})()().finally(()=>{this.ys===e&&(this.ys=null)});return this.ys=e,e}drainWindow(){if(this.Hs.size===0)return null;const A=this.Hs;return this.Hs=new Map,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.Js(A)}reset(){this.Gs++,this.ws.reset(),this.ks=0,this.Ss=1,this.ps.clear(),this.Hs=new Map,this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set}Qs(A){if(this._instance.isDisabled||this._instance.optedOut)return;const I=this.Os(A);if(I===null)return;if(!I.name||typeof I.name!="string")return void this.$.warn("Dropping metric with empty name");if(typeof I.value!="number"||!Number.isFinite(I.value))return void this.$.warn(`Dropping metric '${I.name}': value must be a finite number`);if(I.type==="count"&&0>I.value)return void this.$.warn(`Dropping count '${I.name}': counters are monotonic, value must be >= 0`);let e,t;try{e=I.attributes?QI({},I.attributes):void 0,t=WAI(I.type,I.name,I.unit,e)}catch(Q){return void this.$.warn(`Dropping metric '${I.name}': attributes could not be serialized`,Q)}let o=this.Hs.get(t);if(!o){if(!this.Ks())return;o={name:I.name,type:I.type,unit:I.unit,attributes:e,windowStartMs:Date.now()},this.Hs.set(t,o)}const B=this.Ws.get(I.name);B===void 0?this.Ws.set(I.name,I.type):B===I.type||this.Vs.has(I.name)||(this.Vs.add(I.name),this.$.warn(`Metric name '${I.name}' is already used as a ${B}; recording it as a ${I.type} too will blend both series in charts. Use a distinct name.`)),this.Xs(o,I.value);const C=this.Ys();C&&(o.exemplar=QI(QI({},C),{},{value:I.value,timeMs:Date.now()})),this.Fs()}Ys(){try{var A,I;const e=(function(t){const o=(function(C){if(typeof C!="string")return;const Q=i0t.exec(C.trim());if(!Q)return;const[,i,E,n,s,r]=Q;return i==="ff"||i==="00"&&r||!(function(a){return OAI(a,32,"00000000000000000000000000000000")})(E)||!(function(a){return OAI(a,16,"0000000000000000")})(n)?void 0:{version:i,traceId:E,spanId:n,flags:s}})(t);return o&&{traceId:o.traceId,spanId:o.spanId,flags:(B=o.flags,1&parseInt(B,16)?"01":E0t)};var B})((A=(I=this._instance).getActiveSpan)===null||A===void 0||(A=A.call(I))===null||A===void 0?void 0:A.traceparent());if(e&&e.flags==="01")return{traceId:e.traceId,spanId:e.spanId}}catch{}}Ks(){return this.Ar.maxSeriesPerFlush>this.Hs.size||(this.Us||(this.Us=!0,this.$.warn(`Metric series cap reached (${this.Ar.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`)),!1)}Xs(A,I){switch(A.type){case"count":var e;A.total=((e=A.total)!==null&&e!==void 0?e:0)+I;break;case"gauge":A.last=I;break;case"histogram":{A.hist||(A.hist={count:0,sum:0,min:I,max:I,bucketCounts:new Array(m6A.length+1).fill(0)});const t=A.hist;t.count+=1,t.sum+=I,t.min=Math.min(t.min,I),t.max=Math.max(t.max,I),t.bucketCounts[(function(o,B){for(let C=0;B.length>C;C++)if(B[C]>=o)return C;return B.length})(I,m6A)]+=1;break}}}Os(A){const I=this.Ar.beforeSend;if(!I)return A;const e=cB(I)?I:[I];let t=A;for(const o of e)try{const B=o(t);if(!B)return this.$.info("Metric was rejected in beforeSend function"),null;t=B}catch(B){return this.$.error("Error in beforeSend function for metric:",B),null}return t}Fs(){this.ps.pending||this.ps.arm(this.zs())}zs(){return Math.max(ZAI(this.Ar.flushIntervalMs,this.ks,this.Ss,3e4),this.ws.remainingMs())}Zs(){var A=this;return ia(function*(){if(A.ps.clear(),A.Hs.size===0)return;const I=A.Hs;A.Hs=new Map,A.Us=!1,A.Ws=new Map,A.Vs=new Set;const e=A.Gs,t=yield A._instance.po(A.Js(I));if(e===A.Gs)switch(A.ws.record(t),t.kind==="retry-later"?(A.ks++,A.Ss=qAI()):(A.ks=0,A.Ss=1),A.ps.pending&&A.ps.arm(A.zs()),t.kind){case"ok":return;case"retry-later":return A.mo(I),void A.ps.armNoEarlierThan(A.zs());case"too-large":return void A.$.warn("Metrics batch exceeded the server size limit and was dropped");case"fatal":return void A.$.error("Failed to send metrics batch:",t.error)}})()}Js(A){return I=this.yo(A),e=(function(B,C,Q){return LAI(B,C,Q)})(this.Ar,this._instance.getLibraryId(),this._instance.getLibraryVersion()),t=this._instance.getLibraryId(),o=this._instance.getLibraryVersion(),{resourceMetrics:[{resource:{attributes:YAI(e)},scopeMetrics:[{scope:{name:t,version:o},metrics:I}]}]};var I,e,t,o}yo(A){const I=p6A(Date.now()),e=new Map;for(const C of A.values()){var t;const Q=WAI(C.type,C.name,C.unit,void 0);let i=e.get(Q);i||(i=QI({name:C.name},C.unit&&{unit:C.unit}),C.type==="count"?i.sum={aggregationTemporality:1,isMonotonic:!0,dataPoints:[]}:C.type==="gauge"?i.gauge={dataPoints:[]}:i.histogram={aggregationTemporality:1,dataPoints:[]},e.set(Q,i));const E=nDA((t=C.attributes)!==null&&t!==void 0?t:{},this.$),n=p6A(C.windowStartMs),s=s0t(C.exemplar);if(C.type==="count"){var o;const r=QI({attributes:E,startTimeUnixNano:n,timeUnixNano:I,asDouble:(o=C.total)!==null&&o!==void 0?o:0},s);i.sum.dataPoints.push(r)}else if(C.type==="gauge"){var B;const r=QI({attributes:E,timeUnixNano:I,asDouble:(B=C.last)!==null&&B!==void 0?B:0},s);i.gauge.dataPoints.push(r)}else if(C.hist){const r=QI({attributes:E,startTimeUnixNano:n,timeUnixNano:I,count:C.hist.count,sum:C.hist.sum,min:C.hist.min,max:C.hist.max,bucketCounts:C.hist.bucketCounts,explicitBounds:m6A},s);i.histogram.dataPoints.push(r)}}return Array.from(e.values())}mo(A){for(const[o,B]of A){var I;const C=this.Hs.get(o);if(C)switch(C.windowStartMs=Math.min(C.windowStartMs,B.windowStartMs),C.exemplar=(I=C.exemplar)!==null&&I!==void 0?I:B.exemplar,C.type){case"count":var e,t;C.total=((e=C.total)!==null&&e!==void 0?e:0)+((t=B.total)!==null&&t!==void 0?t:0);break;case"gauge":break;case"histogram":if(B.hist)if(C.hist){C.hist.count+=B.hist.count,C.hist.sum+=B.hist.sum,C.hist.min=Math.min(C.hist.min,B.hist.min),C.hist.max=Math.max(C.hist.max,B.hist.max);for(let Q=0;C.hist.bucketCounts.length>Q;Q++)C.hist.bucketCounts[Q]+=B.hist.bucketCounts[Q]}else C.hist=B.hist}else this.Ks()&&this.Hs.set(o,B)}}};function s0t(g){return g?{exemplars:[{filteredAttributes:[],timeUnixNano:p6A(g.timeMs),asDouble:g.value,traceId:g.traceId,spanId:g.spanId}]}:{}}const VAI=(g,{debugEnabled:A}={})=>{const I={N(e,...t){let o;try{o=typeof window>"u"?void 0:window}catch{return}o&&(nJ.DEBUG||o.POSTHOG_DEBUG||A)&&!Le(o.console)&&o.console&&("__rrweb_original__"in o.console[e]?o.console[e].__rrweb_original__:o.console[e])(g,...t)},debug(...e){I.N("debug",...e)},info(...e){I.N("log",...e)},warn(...e){I.N("warn",...e)},error(...e){I.N("error",...e)},critical(...e){console.error(g,...e)},uninitializedWarning(e){I.error(`You must initialize PostHog before calling ${e}`)},createLogger:(e,t)=>VAI(`${g} ${e}`,t)};return I},Dt=VAI("[PostHog.js]"),Ic=Dt.createLogger,a0t=Ic("[ExternalScriptsLoader]"),sDA=g=>{const A=co?.querySelectorAll("script");if(A){for(let I=0;A.length>I;I++)if(A[I].src===g||A[I].getAttribute("src")===g)return A[I]}},C5=(g,A,I)=>{if(g.config.disable_external_dependency_loading)return a0t.warn(`${A} was requested but loading of external scripts is disabled.`),I("Loading of external scripts is disabled");const e=sDA(A);if(e){if(e.__posthog_loading_callback_fired)return I();const o=e.__posthog_loading_error;return o?I(o):(e.addEventListener("load",B=>{e.__posthog_loading_callback_fired=!0,I(void 0,B)}),void e.addEventListener("error",B=>{e.__posthog_loading_error=B,I(B)}))}const t=()=>{if(!co)return I("document not found");if(sDA(A))return C5(g,A,I);let o=co.createElement("script");if(o.type="text/javascript",o.crossOrigin="anonymous",o.src=A,o.onload=C=>{o.__posthog_loading_callback_fired=!0,I(void 0,C)},o.onerror=C=>{o.__posthog_loading_error=C,I(C)},g.config.prepare_external_dependency_script&&(o=g.config.prepare_external_dependency_script(o)),!o)return I("prepare_external_dependency_script returned null");if(g.config.external_scripts_inject_target==="head")co.head.appendChild(o);else{const C=co.querySelectorAll("body > script");var B;C.length>0?(B=C[0].parentNode)===null||B===void 0||B.insertBefore(o,C[0]):co.body.appendChild(o)}};co?.body?t():co?.addEventListener("DOMContentLoaded",t)},k6A={},jAI=(g,A)=>{let I=`/static/${A}.js?v=${g.version}`;return A==="toolbar"&&(I=`${I}&t=${Math.floor(Date.now()/3e5)*3e5}`),g.requestRouter.endpointFor("assets",I)};JB.__PosthogExtensions__=JB.__PosthogExtensions__||{},JB.__PosthogExtensions__.loadExternalDependency=(g,A,I)=>{if(A==="remote-config"){const t=g.requestRouter.endpointFor("assets",`/array/${g.config.token}/config.js`);return void C5(g,t,I)}const e=g.config.strict_script_versioning;if(e){const t=g.requestRouter.endpointFor("assets",`/static/${g.version}/${A}.js`),o=k6A[t];if(e==="fallback"&&o){if(sDA(o))return void C5(g,o,I);delete k6A[t]}return void C5(g,t,e==="fallback"?(B,C)=>{if(B)if(typeof B=="string")I(B);else{var Q;const i=jAI(g,A);k6A[t]=i;const E=sDA(t);E==null||(Q=E.parentNode)===null||Q===void 0||Q.removeChild(E),C5(g,i,I)}else I(void 0,C)}:I)}C5(g,jAI(g,A),I)},JB.__PosthogExtensions__.loadSiteApp=(g,A,I)=>{const e=g.requestRouter.endpointFor("api",A);C5(g,e,I)},nJ.DEBUG=!1,nJ.LIB_VERSION="1.438.23",nJ.LIB_NAME="web";var Dk=nJ;const M6A="$early_access_features",aJ="$active_feature_flags",Q5="$feature_flag_details",tgA="$feature_flag_errors",n3="$feature_flag_evaluated_at",i5="$feature_flag_request_id",ogA="$minimal_flag_called_events",xR="$enabled_feature_flags",s3="$stored_group_properties",a3="$stored_person_properties",rJ="$flag_call_reported",BgA="$flag_call_reported_session_id",r3="$feature_flag_payloads",ux="$override_feature_flags",E5="$override_feature_flag_payloads",iq="visibilitychange",zAI="$autocapture_disabled_server_side",CgA="$surveys",aDA="$surveys_loaded_at",S6A="PostHog loadExternalDependency extension not found.",f6A="$surveys_activated",rDA="$surveys_activated_session",cDA="$surveys_activated_timestamps",r0t="$people_distinct_id",FR="distinct_id",R6A="$device_id",N6A="$device_model",hDA="__alias",c0t="__cmpns",XAI="$fbc",Eq="$fbc_persistence",$AI="$fbp",QgA="$fbp_persistence",x6A="__timers",F6A="$heatmaps_enabled_server_side",U6A="$exception_capture_enabled_server_side",AgI="$error_tracking_suppression_rules",J6A="$error_tracking_capture_extension_exceptions",P6A="$web_vitals_enabled_server_side",K6A="$dead_clicks_enabled_server_side",L6A="$product_tours_enabled_server_side",ggI="$logs_capture_enabled_server_side",IgI="$web_vitals_allowed_metrics",igA="$session_recording_remote_config",h0t="$session_recording_enabled_server_side",l0t="$replay_sample_rate",D0t="$replay_override_sampling",d0t="$replay_override_linked_flag",y0t="$replay_override_url_trigger",w0t="$replay_override_event_trigger",nq="$sesid",egI="$session_is_sampled",u0t="$session_past_minimum_duration",G0t="$session_recording_url_trigger_activated_session",m0t="$session_recording_event_trigger_activated_session",p0t="$debug_first_full_snapshot_timestamp",k0t="$sess_rec_flush_size",tgI="$groups",Y6A="ph_product_tours",M0t="$product_tours_activated",S0t="$product_tours_activated_session",f0t="$conversations_widget_session_id",R0t="$conversations_ticket_id",N0t="$conversations_widget_state",x0t="$conversations_user_traits",Km="$user_state",_6A="$client_session_props",F0t="$capture_rate_limit",ogI="$initial_campaign_params",BgI="$initial_referrer_info",sq="$initial_person_info",b6A="$epp",H6A="$posthog_cookieless",CgI="$cookieless_mode",QgI="$sdk_debug_extensions_init_method",igI="$sdk_debug_extensions_init_time_ms",v6A="$sdk_debug_recording_script_not_loaded",T6A="$sdk_debug_replay_stale_config",EgI="$sdk_debug_replay_event_trigger_status",ngI="$sdk_debug_replay_linked_flag_trigger_status",sgI="$sdk_debug_replay_matched_recording_trigger_groups",agI="$sdk_debug_replay_pending_trigger_conditions",rgI="$sdk_debug_replay_remote_trigger_matching_config",cgI="$sdk_debug_replay_trigger_groups_count",hgI="$sdk_debug_replay_url_trigger_status",U0t="$session_recording_start_reason",cJ="anonymous",lDA="identified",lgI="identified_only",DDA="beforeunload",q6A="$pageview",DgI="$pageleave",dgI="$identify",ygI="$groupidentify";function aq(g,A){cB(g)&&g.forEach(A)}function Gn(g,A){if(!hC(g))if(cB(g))g.forEach(A);else if((I=>I instanceof FormData)(g))g.forEach((I,e)=>A(I,e));else for(const I in g)I6A.call(g,I)&&A(g[I],I)}const ar=function(g,...A){for(const I of A)for(const e in I)I[e]!==void 0&&(g[e]=I[e]);return g};function dDA(g){const A=Object.keys(g);let I=A.length;const e=new Array(I);for(;I--;)e[I]=[A[I],g[A[I]]];return e}const J0t=function(g){return function(...A){try{return g.apply(this,A)}catch(I){Dt.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),Dt.critical(I)}}},Z6A=function(g){const A={};return Gn(g,function(I,e){(KC(I)&&I.length>0||i0(I))&&(A[e]=I)}),A};function wgI(g){const A=QI({},g);for(const I of["name","message","stack","cause","errors"])try{I in g&&(A[I]=g[I])}catch{}return A}const P0t=["herokuapp.com","vercel.app","netlify.app"];function K0t(g){const A=g?.hostname;if(!KC(A))return!1;const I=A.split(".").slice(-2).join(".");for(const e of P0t)if(I===e)return!1;return!0}function NE(g,A,I,e){const{capture:t=!1,passive:o=!0}=e??{};g?.addEventListener(A,I,{capture:t,passive:o})}function O6A(g){return g.name==="ph_toolbar_internal"}const EgA=g=>{if(co){try{const A=g+"=",I=co.cookie.split(";").filter(e=>e.length);for(let e=0;I.length>e;e++){let t=I[e];for(;t.charAt(0)==" ";)t=t.substring(1,t.length);if(t.indexOf(A)===0)return decodeURIComponent(t.substring(A.length,t.length))}}catch{}return null}};var L0t=class dlg{constructor(A){if(this.bytes=A,A.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(A,I,e,t){if(!Number.isInteger(A)||!Number.isInteger(I)||!Number.isInteger(e)||!Number.isInteger(t)||0>A||0>I||0>e||0>t||A>0xffffffffffff||I>4095||e>1073741823||t>4294967295)throw new RangeError("invalid field value");const o=new Uint8Array(16);return o[0]=A/Math.pow(2,40),o[1]=A/Math.pow(2,32),o[2]=A/Math.pow(2,24),o[3]=A/Math.pow(2,16),o[4]=A/256,o[5]=A,o[6]=112|I>>>8,o[7]=I,o[8]=128|e>>>24,o[9]=e>>>16,o[10]=e>>>8,o[11]=e,o[12]=t>>>24,o[13]=t>>>16,o[14]=t>>>8,o[15]=t,new dlg(o)}toString(){let A="";for(let I=0;this.bytes.length>I;I++)A=A+(this.bytes[I]>>>4).toString(16)+(15&this.bytes[I]).toString(16),I!==3&&I!==5&&I!==7&&I!==9||(A+="-");if(A.length!==36)throw new Error("Invalid UUIDv7 was generated");return A}clone(){return new dlg(this.bytes.slice(0))}equals(A){return this.compareTo(A)===0}compareTo(A){for(let I=0;16>I;I++){const e=this.bytes[I]-A.bytes[I];if(e!==0)return Math.sign(e)}return 0}},Y0t=class{generate(){const A=this.generateOrAbort();if(!Le(A))return A;{this.Ct=0;const I=this.generateOrAbort();if(Le(I))throw new Error("Could not generate UUID after timestamp reset");return I}}generateOrAbort(){const A=(()=>{const I=Date.now();return i0(I)&&isFinite(I)?Math.min(Math.max(Math.floor(I),0),0xffffffffffff):0})();if(A>this.Ct)this.Ct=A,this.It();else{if(this.Ct>=A+1e4)return;this.Mt++,this.Mt>4398046511103&&(this.Ct++,this.It())}return L0t.fromFieldsV7(this.Ct,Math.trunc(this.Mt/Math.pow(2,30)),this.Mt&Math.pow(2,30)-1,this.Tt.nextUint32())}It(){this.Mt=1024*this.Tt.nextUint32()+(1023&this.Tt.nextUint32())}constructor(){this.Ct=0,this.Mt=0,this.Tt=new b0t}};const _0t=g=>{if("u">typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(let A=0;g.length>A;A++)g[A]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return g};let ugI;var b0t=class{nextUint32(){var A;return this.Rt.length>this.Et||(((A=ugI)!==null&&A!==void 0?A:ugI="u">typeof window&&!Le(window.crypto)&&crypto.getRandomValues?I=>crypto.getRandomValues(I):_0t)(this.Rt),this.Et=0),this.Rt[this.Et++]}constructor(){this.Rt=new Uint32Array(8),this.Et=1/0}};let GgI;const UR=()=>H0t().toString(),H0t=()=>(GgI||(GgI=new Y0t)).generate();let ngA="";const v0t=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;let rq=null;const rr={$t(){if(!Yc(rq))return rq;if(rq=!1,co)try{const g=`__ph_cookie_support_${UR()}`;rr.At(g,"xyz"),rq=EgA(g)==='"xyz"',rr.Pt(g)}catch{rq=!1}return rq},Ft(g){Dt.error("cookieStore error: "+g)},Ot:EgA,Lt(g){let A;try{A=JSON.parse(rr.Ot(g))||{}}catch{}return A},At(g,A,I,e,t){if(!co)return!1;try{let o="",B="";const C=(function(i,E){if(E){let n=(function(s,r=co){if(ngA)return ngA;if(!r||["localhost","127.0.0.1"].includes(s))return"";const a=s.split(".");let c=Math.min(a.length,8);const h="dmn_chk_"+UR();for(;!ngA&&c--;){const l=a.slice(c).join("."),D=h+"=1;domain=."+l+";path=/";r.cookie=D+";max-age=3",r.cookie.includes(h)&&(r.cookie=D+";max-age=0",ngA=l)}return ngA})(i);if(!n){const s=(r=>{const a=r.match(v0t);return a?a[0]:""})(i);s!==n&&Dt.info("Warning: cookie subdomain discovery mismatch",s,n),n=s}return n?"; domain=."+n:""}return""})(co.location.hostname,e);if(I){const i=new Date;i.setTime(i.getTime()+864e5*I),o="; expires="+i.toUTCString()}t&&(B="; secure");const Q=g+"="+encodeURIComponent(JSON.stringify(A))+o+"; SameSite=Lax; path=/"+C+B;return Q.length>3686.4&&Dt.warn("cookieStore warning: large cookie, len="+Q.length),co.cookie=Q,!0}catch{return!1}},Pt(g,A){if(co?.cookie&&(!A||!Yc(EgA(g))))try{rr.At(g,"",-1,A)}catch{return}}};let W6A=null;const eE={$t(){if(!Yc(W6A))return W6A;let g=!0;if(Le(Se))g=!1;else try{const A="__mplssupport__";eE.At(A,"xyz"),eE.Ot(A)!=='"xyz"'&&(g=!1),eE.Pt(A)}catch{g=!1}return g||Dt.error("localStorage unsupported; falling back to cookie store"),W6A=g,g},Ft(g){Dt.error("localStorage error: "+g)},Ot(g){try{return Se?.localStorage.getItem(g)}catch(A){eE.Ft(A)}return null},Lt(g){try{return JSON.parse(eE.Ot(g))||{}}catch{}return null},At(g,A){try{return Se?.localStorage.setItem(g,JSON.stringify(A)),!0}catch(I){eE.Ft(I)}return!1},Pt(g){try{Se?.localStorage.removeItem(g)}catch(A){eE.Ft(A)}}},V6A=[a3,aJ,xR,Q5,r3,i5,n3,tgA,rJ],n5=[R6A,FR,nq,egI,b6A,sq,Eq,Km],sgA=g=>g+"_cpm",T0t=["__proto__","constructor","prototype"],j6A=g=>{if(!yC(g))return{};const A={};return Object.keys(g).forEach(I=>{T0t.indexOf(I)===-1&&(A[I]=g[I])}),A},z6A=(g,A=[])=>{const I={};return[...n5,...A].forEach(e=>{const t=g[e];Le(t)||Yc(t)||t===""||(I[e]=t)}),I},mgI=g=>{let A=5381,I=2166136261;for(let e=0;g.length>e;e++){const t=g.charCodeAt(e);A=33*A^t,I=Math.imul(I^t,16777619)}return g.length.toString(36)+"."+(A>>>0).toString(36)+"."+(I>>>0).toString(36)},pgI=(g,A)=>({p:A,f:mgI(JSON.stringify(g))}),kgI=(g,A)=>{if(!A)return{properties:[],isValid:!1};try{const I=rr.Lt(sgA(g)),e=I?.f===mgI(A)&&cB(I.p);return{properties:e?I.p:[],isValid:e}}catch{return{properties:[],isValid:!1}}},X6A=(g,A)=>A+"|"+(rr.Ot(sgA(g))||""),cq={},$6A={$t:()=>!0,Ft(g){Dt.error("memoryStorage error: "+g)},Ot:g=>g in cq?cq[g]:null,Lt:g=>g in cq?cq[g]:null,At:(g,A)=>(cq[g]=A,!0),Pt(g){delete cq[g]}};let s5=null;const Ea={$t(){if(!Yc(s5))return s5;if(s5=!0,Le(Se))s5=!1;else try{const g="__support__";Ea.At(g,"xyz"),Ea.Ot(g)!=='"xyz"'&&(s5=!1),Ea.Pt(g)}catch{s5=!1}return s5},Ft(g){Dt.error("sessionStorage error: ",g)},Ot(g){try{return Se?.sessionStorage.getItem(g)}catch(A){Ea.Ft(A)}return null},Lt(g){try{return JSON.parse(Ea.Ot(g))||null}catch{}return null},At(g,A){try{return Se?.sessionStorage.setItem(g,JSON.stringify(A)),!0}catch(I){Ea.Ft(I)}return!1},Pt(g){try{Se?.sessionStorage.removeItem(g)}catch(A){Ea.Ft(A)}}};var q0t=class{constructor(A){this._instance=A}get Ar(){return this._instance.config}get consent(){return this.Sl()?0:this.xl}isOptedOut(){return this.Ar.cookieless_mode==="always"||this.isRejected()||this.consent===-1&&this.Ar.cookieless_mode==="on_reject"}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===0}isRejected(){return this.consent===0||this.consent===-1&&this.Ar.opt_out_capturing_by_default}optInOut(A){this.$l.At(this.Cl,A?1:0,this.Ar.cookie_expiration,this.Ar.cross_subdomain_cookie,this.Ar.secure_cookie)}reset(){this.$l.Pt(this.Cl,this.Ar.cross_subdomain_cookie)}get Cl(){const{token:A,opt_out_capturing_cookie_prefix:I,consent_persistence_name:e}=this._instance.config;return e||(I?I+A:"__ph_opt_in_out_"+A)}get xl(){const A=this.$l.Ot(this.Cl);return t6A(A)?1:yB(_ct,A)?0:-1}get $l(){const A=this.Ar.opt_out_capturing_persistence_type,I=A==="localStorage"?eE:rr,e=I.$t()?I:$6A;if(!this.Tl||this.Tl!==e){this.Tl=e;const t=A==="localStorage"?rr:eE;t.Ot(this.Cl)&&(this.Tl.Ot(this.Cl)||this.optInOut(t6A(t.Ot(this.Cl))),t.Pt(this.Cl,this.Ar.cross_subdomain_cookie))}return this.Tl}Sl(){return!!this.Ar.respect_dnt&&[Tw?.doNotTrack,Tw?.msDoNotTrack,JB.doNotTrack,Tw?.globalPrivacyControl].some(A=>t6A(A))}};function MgI(g,A){var I;const e=g==null||(I=g.config)===null||I===void 0?void 0:I.get_current_url;if(!Q0(e))return A;try{const t=e(A);return KC(t)&&t?t:A}catch(t){return Dt.error("Error in get_current_url, falling back to window.location.href",t),A}}function SgI(g){var A;return g instanceof Element&&(g.id==="__POSTHOG_TOOLBAR__"||!!(!((A=g.closest)===null||A===void 0)&&A.call(g,".toolbar-global-fade-container")))}function JR(g){return!!g&&g.nodeType===1}function qw(g,A){return!!g&&!!g.tagName&&g.tagName.toLowerCase()===A.toLowerCase()}function fgI(g){return!!g&&g.nodeType===3}function AvA(g){return!!g&&g.nodeType===11&&JR(g.host)}function gvA(g){return g?tq(g).split(/\s+/):[]}function RgI(g,A){const I=(function(e){var t;const o=typeof window>"u"?void 0:window,B=o==null||(t=o.location)===null||t===void 0?void 0:t.href;return Le(B)?void 0:MgI(e,B)})(A);return!!(I&&g&&g.some(e=>I.match(e)))}function hq(g){let A="";switch(typeof g.className){case"string":A=g.className;break;case"object":A=(g.className&&"baseVal"in g.className?g.className.baseVal:null)||g.getAttribute("class")||"";break;default:A=""}return gvA(A)}function NgI(g){return hC(g)?null:tq(g).split(/(\s+)/).filter(A=>Dq(A)).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function agA(g){let A="";return a5(g)&&!lq(g)&&g.childNodes&&g.childNodes.length&&Gn(g.childNodes,function(I){var e;fgI(I)&&I.textContent&&(A+=(e=NgI(I.textContent))!==null&&e!==void 0?e:"")}),tq(A)}function rgA(g){var A;return Le(g.target)?g.srcElement||null:!((A=g.target)===null||A===void 0)&&A.shadowRoot?g.composedPath()[0]||null:g.target||null}const IvA=["a","button","form","input","select","textarea","label"];function evA(g,A){const I=g.matches||g.matchesSelector||g.msMatchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.oMatchesSelector;try{return!!I&&I.call(g,A)}catch{return!1}}function tvA(g,A){if(Le(A))return!0;for(const I of g)if(A.some(e=>evA(I,e)))return!0;return!1}function xgI(g){const A=g.parentNode;return!(!A||!JR(A))&&A}const ovA=[".ph-no-autocapture","[data-ph-no-autocapture]"],FgI=["next","previous","prev",">","<","→","←","›","‹","»","«","▶","◀","❯","❮"],BvA=[...FgI,"+","-","−","–"],UgI=BvA.length+10,Z0t=["button","a","input","select","textarea","label"],O0t=["button","link","tab","menuitem","option"],JgI=(g,A)=>/[a-z0-9]/i.test(A)?yB(BvA,A)?new RegExp(`\\b${A}\\b`).test(g):g.includes(A):g===A,W0t=g=>yB(Z0t,g.tagName.toLowerCase())||yB(O0t,(g.getAttribute("role")||"").toLowerCase());function CvA(g){let A="",I="";const e=B=>{JR(B)&&a5(B)&&!lq(B)&&(A+=` ${agA(B)}`,I=I||B.getAttribute("aria-label")||"",Gn(B.childNodes,e))};e(g),A=tq(A.replace(/\s+/g," "));const t=(Dq(A)?A:"").toLowerCase(),o=g.getAttribute("aria-label")||(t?"":I);return{safeText:t,ariaLabel:tq(o).toLowerCase()}}const PgI=[".ph-no-rageclick",".ph-no-capture"],V0t=["","text","search","email","password","url","tel","number"];function KgI(g,A){if(!(!(typeof window>"u")&&window)||QvA(g))return!1;let I,e,t;var o,B;if(Pm(A)?(I=!!A&&PgI,e=void 0,t=!1):(I=(o=A?.css_selector_ignorelist)!==null&&o!==void 0?o:PgI,e=A?.content_ignorelist,t=(B=A?.ignore_text_selection)!==null&&B!==void 0&&B),I===!1||t&&(function(Q){return!(!Q||!JR(Q))&&(!!qw(Q,"textarea")||(qw(Q,"input")?yB(V0t,(Q.getAttribute("type")||"").toLowerCase()):(function(i){var E;if(i.isContentEditable)return!0;const n=(E=i.getAttribute)===null||E===void 0?void 0:E.call(i,"contenteditable");return n==="true"||n===""})(Q)))})(g))return!1;const{targetElementList:C}=LgI(g,!1);return!(e&&(function(Q,{safeText:i,ariaLabel:E}){let n;if(Q===!0)n=FgI;else{if(!cB(Q))return!1;if(Q.length>UgI)return Dt.error(`[PostHog] content_ignorelist array cannot exceed ${UgI} items. Use css_selector_ignorelist for more complex matching.`),!1;n=Q.map(s=>s.toLowerCase())}return n.some(s=>JgI(i,s)||JgI(E,s))})(e,(function(Q,i){for(const n of i)if(W0t(n))return CvA(n);for(const n of i){try{var E;if(((E=window)===null||E===void 0?void 0:E.getComputedStyle(n).getPropertyValue("cursor"))!=="pointer")break}catch{break}const s=CvA(n);if(s.safeText||s.ariaLabel)return s}return CvA(Q)})(g,C))||tvA(C,I))}const QvA=g=>!g||qw(g,"html")||!JR(g),LgI=(g,A)=>{const I=typeof window>"u"?void 0:window;if(!I||QvA(g))return{parentIsUsefulElement:!1,targetElementList:[]};let e=!1;const t=[g];let o=g;for(;o.parentNode&&!qw(o,"body");){if(AvA(o.parentNode)){t.push(o.parentNode.host),o=o.parentNode.host;continue}const B=xgI(o);if(!B)break;if(A||IvA.indexOf(B.tagName.toLowerCase())>-1)e=!0;else try{const C=I.getComputedStyle(B);C&&C.getPropertyValue("cursor")==="pointer"&&(e=!0)}catch{}t.push(B),o=B}return{parentIsUsefulElement:e,targetElementList:t}};function a5(g){const A=new Set;let I=0;for(let o=g;o.parentNode&&!qw(o,"body");o=o.parentNode){if(I++>=1e3||A.has(o))return!1;A.add(o);const B=hq(o);if(yB(B,"ph-sensitive")||yB(B,"ph-no-capture"))return!1}if(yB(hq(g),"ph-include"))return!0;const e=g.type||"";if(KC(e))switch(e.toLowerCase()){case"hidden":case"password":return!1}const t=g.name||g.id||"";return!KC(t)||!/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(t.replace(/[^a-zA-Z0-9]/g,""))}function lq(g){return!!(qw(g,"input")&&!["button","checkbox","submit","reset"].includes(g.type)||qw(g,"select")||qw(g,"textarea")||g.getAttribute("contenteditable")==="true")}const YgI=new RegExp("^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$"),_gI=/(^|[^0-9A-Za-z_])([0-9][0-9 -]*[0-9])(?=$|[^0-9A-Za-z_])/g,j0t=[16,15,14,13],z0t=new RegExp("^(\\d{3}-?\\d{2}-?\\d{4})$"),bgI=new RegExp("(^|[^0-9])((?!000|666)[0-9]{3}-?(?!00)[0-9]{2}-?(?!0000)[0-9]{4})(?=$|([^0-9]))","g"),HgI=/[0-9A-Za-z_]/;function X0t(g){let A=0,I=!1;for(let e=g.length-1;e>=0;e--){let t=g.charCodeAt(e)-48;I&&(t*=2,t>9&&(t-=9)),A+=t,I=!I}return A%10==0}function Dq(g,A=!0){return!(hC(g)||KC(g)&&(g=tq(g),(A?YgI.test((g||"").replace(/[- ]/g,"")):(function(I){let e;for(_gI.lastIndex=0;e=_gI.exec(I);){const t=e[2];if(!t)continue;const o=t.replace(/[- ]/g,"");for(let B=0;o.length>B;B++)for(const C of j0t){const Q=B+C;if(o.length>=Q){const i=o.slice(B,Q);if(YgI.test(i)&&X0t(i))return!0}}}return!1})(g))||(A?z0t.test(g):(function(I){let e;for(bgI.lastIndex=0;e=bgI.exec(I);){const t=e[1],o=e[3];if(!(t&&o&&HgI.test(t)&&HgI.test(o)))return!0}return!1})(g))))}function vgI(g){let A=agA(g);return A=`${A} ${TgI(g)}`.trim(),Dq(A)?A:""}function TgI(g){let A="";return g&&g.childNodes&&g.childNodes.length&&Gn(g.childNodes,function(I){var e;if(I&&((e=I.tagName)===null||e===void 0?void 0:e.toLowerCase())==="span")try{const t=agA(I);A=`${A} ${t}`.trim(),I.childNodes&&I.childNodes.length&&(A=`${A} ${TgI(I)}`.trim())}catch(t){Dt.error("[AutoCapture]",t)}}),A}function qgI(g){return g.replace(/"|\\"/g,'\\"')}function $0t(g){const A=g.attr__class;if(A)return cB(A)?A:gvA(A)}const yDA=Ic("[Dead Clicks]"),Alt=()=>!0,glt=g=>{var A;const I=!!(!((A=g.instance.persistence)===null||A===void 0)&&A.get_property(K6A)),e=g.instance.config.capture_dead_clicks;return Pm(e)?e:!!yC(e)||I};var ZgI=class{get lazyLoadedDeadClicksAutocapture(){return this.Il}constructor(A,I,e){this.instance=A,this.isEnabled=I,this.onCapture=e,this.startIfEnabledOrStop()}onRemoteConfig(A){if(!A.ok)return;const I=A.config;"captureDeadClicks"in I&&(this.instance.persistence&&this.instance.persistence.register({[K6A]:I.captureDeadClicks}),this.startIfEnabledOrStop())}startIfEnabledOrStop(){this.isEnabled(this)?this.Ml(()=>{this.El()}):this.stop()}Ml(A){var I,e,t;!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.initDeadClicksAutocapture?A():(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this.instance,"dead-clicks-autocapture",o=>{o?yDA.error("failed to load script",o):A()})}El(){var A;if(co){if(!this.Il&&(!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.initDeadClicksAutocapture)){const I=yC(this.instance.config.capture_dead_clicks)?QI({},this.instance.config.capture_dead_clicks):{};I.__onCapture=this.onCapture,this.onCapture&&(I.capture_dead_swipes=!1),this.Il=JB.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,I),this.Il.start(co),yDA.info("starting...")}}else yDA.error("`document` not found. Cannot start.")}stop(){this.Il&&(this.Il.stop(),this.Il=void 0,yDA.info("stopping..."))}};const cgA=Ic("[SegmentIntegration]");function OgI(g,A,I=!0){const e=g.config.segment;if(!e)return A();const{analytics:t,filterProperties:o}=(C=>Q0(C.register))(B=e)?{analytics:B}:B;var B;(function(C,Q,i,E){const n=r=>{const a=()=>r.anonymousId()||UR();C.config.get_device_id=a,E&&r.id()&&(C.register({distinct_id:r.id(),$device_id:a()}),C.persistence.set_property(Km,lDA)),i(E?void 0:r.anonymousId()||void 0)},s=Q.user();"then"in s&&Q0(s.then)?s.then(n):n(s)})(g,t,C=>{t.register(((Q,i,{filterProperties:E}={})=>{typeof Promise<"u"&&Promise.resolve||cgA.warn("This browser does not have Promise support, and can not use the segment integration");const n=(s,r)=>{if(!r)return s;const a=!!i&&s.event.anonymousId===i&&!s.event.userId;a||s.event.userId||s.event.anonymousId===Q.get_distinct_id()||(cgA.info("No userId set, resetting PostHog"),Q.reset()),a||(i=void 0),s.event.userId&&s.event.userId!==Q.get_distinct_id()&&(cgA.info("UserId set, identifying with PostHog"),Q.identify(s.event.userId));let c=Q.calculateEventProperties(r,s.event.properties);if(!hC(E)){const h=s.event.properties||{},l={};for(const d of Object.keys(c))I6A.call(h,d)||(l[d]=c[d]);const D=((d,y)=>{const w=cB(d)?d:[d];let u=QI({},y);for(const G of w)try{if(u=G(u),hC(u))return null}catch(m){return cgA.error("Error in Segment filterProperties:",m),null}return u})(E,l);if(hC(D))return s;c=D}return s.event.properties=Object.assign({},c,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded(){return!0},load(){return Promise.resolve()},track(s){return n(s,s.event.event)},page(s){return n(s,q6A)},identify(s){return n(s,dgI)},screen(s){return n(s,"$screen")}}})(g,C,{filterProperties:o})).then(()=>{A()},Q=>{cgA.error("Failed to register the Segment integration",Q),A()})},I)}const WgI="posthog-js";function VgI(g,{organization:A,projectId:I,prefix:e,severityAllowList:t=["error"],sendExceptionsToPostHog:o=!0}={}){return B=>{var C,Q,i,E,n;if(t!=="*"&&!t.includes(B.level)||!g.__loaded)return B;B.tags||(B.tags={});const s=g.requestRouter.endpointFor("ui",`/project/${g.config.token}/person/${g.get_distinct_id()}`);B.tags["PostHog Person URL"]=s,g.sessionRecordingStarted()&&(B.tags["PostHog Recording URL"]=g.get_session_replay_url({withTimestamp:!0}));const r=((C=B.exception)===null||C===void 0?void 0:C.values)||[],a=r.map(l=>QI(QI({},l),{},{stacktrace:l.stacktrace?QI(QI({},l.stacktrace),{},{type:"raw",frames:(l.stacktrace.frames||[]).map(D=>QI(QI({},D),{},{platform:"web:javascript"}))}):void 0})),c={$exception_message:((Q=r[0])===null||Q===void 0?void 0:Q.value)||B.message,$exception_type:(i=r[0])===null||i===void 0?void 0:i.type,$exception_level:B.level,$exception_list:a,$sentry_event_id:B.event_id,$sentry_exception:B.exception,$sentry_exception_message:((E=r[0])===null||E===void 0?void 0:E.value)||B.message,$sentry_exception_type:(n=r[0])===null||n===void 0?void 0:n.type,$sentry_tags:B.tags};var h;return A&&I&&(c.$sentry_url=(e||"https://sentry.io/organizations/")+A+"/issues/?project="+I+"&query="+B.event_id),o&&((h=g.exceptions)===null||h===void 0||h.sendExceptionEvent(c)),B}}var Ilt=class{constructor(A,I,e,t,o,B){this.name=WgI,this.setupOnce=function(C){C(VgI(A,{organization:I,projectId:e,prefix:t,severityAllowList:o,sendExceptionsToPostHog:B==null||B}))}}},jgI=class{constructor(A){this.Pl=(I,e,t)=>{t&&(t.noSessionId||t.activityTimeout||t.sessionPastMaximumLength||t.crossTabAdoption)&&(Dt.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:I,changeReason:t}),this.Rl=void 0,this._instance.scrollManager.resetContext())},this._instance=A,this.Al()}Al(){var A;this.Fl=(A=this._instance.sessionManager)===null||A===void 0?void 0:A.onSessionId(this.Pl)}destroy(){var A;(A=this.Fl)===null||A===void 0||A.call(this),this.Fl=void 0}doPageView(A,I){var e;const t=this.Ol(A,I);return this.Rl={pathname:(e=Se?.location.pathname)!==null&&e!==void 0?e:"",pageViewId:I,timestamp:A},this._instance.scrollManager.resetContext(),t}doPageLeave(A){var I;return this.Ol(A,(I=this.Rl)===null||I===void 0?void 0:I.pageViewId)}doEvent(){var A;return{$pageview_id:(A=this.Rl)===null||A===void 0?void 0:A.pageViewId}}Ol(A,I){const e=this.Rl;if(!e)return{$pageview_id:I};let t={$pageview_id:I,$prev_pageview_id:e.pageViewId};const o=this._instance.scrollManager.getContext();if(o&&!this._instance.config.disable_scroll_properties){let{maxScrollHeight:B,lastScrollY:C,maxScrollY:Q,maxContentHeight:i,lastContentY:E,maxContentY:n}=o;if(!(Le(B)||Le(C)||Le(Q)||Le(i)||Le(E)||Le(n))){B=Math.ceil(B),C=Math.ceil(C),Q=Math.ceil(Q),i=Math.ceil(i),E=Math.ceil(E),n=Math.ceil(n);const s=B>1?wx(C/B,0,1,Dt):1,r=B>1?wx(Q/B,0,1,Dt):1,a=i>1?wx(E/i,0,1,Dt):1,c=i>1?wx(n/i,0,1,Dt):1;t=ar(t,{$prev_pageview_last_scroll:C,$prev_pageview_last_scroll_percentage:s,$prev_pageview_max_scroll:Q,$prev_pageview_max_scroll_percentage:r,$prev_pageview_last_content:E,$prev_pageview_last_content_percentage:a,$prev_pageview_max_content:n,$prev_pageview_max_content_percentage:c})}}return e.pathname&&(t.$prev_pageview_pathname=e.pathname),e.timestamp&&(t.$prev_pageview_duration=(A.getTime()-e.timestamp.getTime())/1e3),t}};const hgA=["flags","surveys"],elt={[r0t]:{exposure:"hidden"},[hDA]:{exposure:"hidden"},[c0t]:{exposure:"hidden"},[x6A]:{exposure:"hidden"},[Eq]:{exposure:"hidden"},[QgA]:{exposure:"hidden"},[zAI]:{exposure:"event"},[F6A]:{exposure:"hidden"},[ggI]:{exposure:"hidden"},[U6A]:{exposure:"event"},[AgI]:{exposure:"hidden"},[J6A]:{exposure:"event"},[P6A]:{exposure:"event"},[K6A]:{exposure:"event"},[L6A]:{exposure:"hidden"},[IgI]:{exposure:"event"},[igA]:{exposure:"hidden"},[h0t]:{exposure:"hidden"},[nq]:{exposure:"hidden"},[egI]:{exposure:"event"},[l0t]:{exposure:"event",shouldSkipFromEventProperties:g=>Yc(g)},[u0t]:{exposure:"event"},[G0t]:{exposure:"event"},[m0t]:{exposure:"event"},[p0t]:{exposure:"event"},[k0t]:{exposure:"hidden"},[xR]:{exposure:"hidden",storageGroup:"flags"},[aJ]:{exposure:"hidden",storageGroup:"flags"},[M6A]:{exposure:"hidden"},[Q5]:{exposure:"hidden",storageGroup:"flags"},[r3]:{exposure:"hidden",storageGroup:"flags"},[i5]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[ogA]:{exposure:"hidden",storageGroup:"flags"},[ux]:{exposure:"hidden"},[E5]:{exposure:"hidden"},[a3]:{exposure:"hidden"},[s3]:{exposure:"hidden"},[CgA]:{exposure:"hidden",storageGroup:"surveys"},[aDA]:{exposure:"hidden",storageGroup:"surveys",volatile:!0},[f6A]:{exposure:"event"},[rDA]:{exposure:"hidden"},[cDA]:{exposure:"hidden"},[Y6A]:{exposure:"hidden"},[M0t]:{exposure:"hidden"},[S0t]:{exposure:"hidden"},[f0t]:{exposure:"event"},[R0t]:{exposure:"event"},[N0t]:{exposure:"event"},[x0t]:{exposure:"event"},[rJ]:{exposure:"hidden"},[BgA]:{exposure:"hidden"},[tgI]:{exposure:"event"},[tgA]:{exposure:"hidden"},[n3]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[Km]:{exposure:"hidden"},[_6A]:{exposure:"hidden"},[F0t]:{exposure:"hidden"},[ogI]:{exposure:"hidden"},[BgI]:{exposure:"hidden"},[sq]:{exposure:"hidden"},[b6A]:{exposure:"hidden"},[D0t]:{exposure:"event"},[d0t]:{exposure:"event"},[y0t]:{exposure:"event"},[w0t]:{exposure:"event"},[QgI]:{exposure:"event"},[igI]:{exposure:"event"},[v6A]:{exposure:"hidden"},[T6A]:{exposure:"hidden"},[EgI]:{exposure:"hidden"},[ngI]:{exposure:"hidden"},[sgI]:{exposure:"hidden"},[agI]:{exposure:"hidden"},[rgI]:{exposure:"hidden"},[cgI]:{exposure:"hidden"},[hgI]:{exposure:"hidden"},[U0t]:{exposure:"event"}},tlt=[["$posthog_sr_group_event_trigger_",{exposure:"hidden"}],["$posthog_sr_group_url_trigger_",{exposure:"hidden"}],["$posthog_sr_group_sampling_",{exposure:"hidden"}]],Ny=g=>{const A=elt[g];if(A)return A;for(const[I,e]of tlt)if(g.indexOf(I)===0)return e};function zgI(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}const hJ=g=>{const A=typeof document>"u"?void 0:document,I=A?.createElement("a");return Le(I)?null:(I.href=g,I)},XgI=()=>{try{return"u">typeof window&&window.navigator.onLine!==!1}catch{return!1}},$gI=(g,A)=>g>=A&&XgI(),AII=(g,A,I,e)=>{if(g===0){if(XgI()){const t=A+1;return t===I&&e(),t}return A}return 0},dq=(g,A)=>{try{let I;return JSON.stringify(g,(e,t)=>{var o;return oq(t)?((o=I)!==null&&o!==void 0||(I=new WeakMap),I.has(t)||I.set(t,wgI(t)),I.get(t)):typeof t=="bigint"?t.toString():t},A)}catch{return u$g(g)}},yq=function(g,A){const I=((g.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&");let e;for(let t=0;I.length>t;t++){const o=I[t].split(/=(.*)/);if(o[0]===A){e=o;break}}if(!cB(e)||2>e.length)return"";{let t=e[1].replace(/\+/g," ");try{t=decodeURIComponent(t)}catch{Dt.error("Skipping decoding for malformed query param: "+t)}return t}},lgA=function(g,A,I){if(!g||!A||!A.length)return g;const e=g.split("#"),t=e[1],o=(e[0]||"").split("?"),B=o[1],C=o[0],Q=(B||"").split("&"),i=[];for(let n=0;Q.length>n;n++){const s=Q[n].split("=");cB(s)&&(A.includes(s[0])?i.push(s[0]+"="+I):i.push(Q[n]))}let E=C;return B!=null&&(E+="?"+i.join("&")),t!=null&&(E+="#"+t),E},wDA=function(g,A){const I=g.match(new RegExp(A+"=([^&]*)"));return I?I[1]:null},wq=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","oppref","bfcid","irclid","_kx"],olt=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid",...wq],DgA="<masked>",Blt=["li_fat_id"];function gII(g,A,I){if(!co)return{};const e=A?[...wq,...I||[]]:[],t=III(lgA(co.URL,e,DgA),g),o=(function(){const B={};return Gn(Blt,function(C){const Q=EgA(C);B[C]=Q||null}),B})();return ar(o,t)}function III(g,A){const I=olt.concat(A||[]),e={};return Gn(I,function(t){const o=yq(g,t);e[t]=o||null}),e}function eII(g){const A=(function(t){return t?t.search("https?://(.*)google.([^/?]*)")===0?"google":t.search("https?://(.*)bing.com")===0?"bing":t.search("https?://(.*)yahoo.com")===0?"yahoo":t.search("https?://(.*)duckduckgo.com")===0?"duckduckgo":null:null})(g),I=A!="yahoo"?"q":"p",e={};if(!Yc(A)){e.$search_engine=A;const t=co?yq(co.referrer,I):"";t.length&&(e.ph_keyword=t)}return e}function tII(){return navigator.language||navigator.userLanguage}function Clt(){const g=tII();return typeof g=="string"?g.split("-")[0]:void 0}const uDA="$direct";function oII(){return co?.referrer||uDA}function BII(g,A,I=!1){const e=g?[...wq,...A||[]]:[],t=I?E3(Qa?.href):Qa?.href,o=t?.substring(0,1e3);return{r:oII().substring(0,1e3),u:o?lgA(o,e,DgA):void 0}}function CII(g,A=!1){var I;const{r:e,u:t}=g,o=A?E3(t):t,B={$referrer:e,$referring_domain:e==null?void 0:e==uDA?uDA:(I=hJ(e))===null||I===void 0?void 0:I.host};if(o){B.$current_url=o;const C=hJ(o);B.$host=C?.host,B.$pathname=C?.pathname;const Q=III(o);ar(B,Q)}if(e){const C=eII(e);ar(B,C)}return B}function Qlt(){try{return new Date().getTimezoneOffset()}catch{return}}const ilt={flags:n3,surveys:aDA},Elt=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],GDA=g=>`${g}_cookie_identity_change_pending`,mDA=g=>{let A="",I=0;for(const e of g){const t=encodeURIComponent(JSON.stringify(e).slice(1,-1)).length;if(I+t>1e3)break;A+=e,I+=t}return A},SD="main",lJ=[xR,aJ,Q5,r3,i5,n3,ogA,a3],ivA=g=>lJ.indexOf(g)!==-1,QII=[Eq,QgA],iII=g=>QII.indexOf(g)!==-1,c3=(g,A)=>{try{return JSON.stringify(g)===JSON.stringify(A)}catch{return g===A}},uq=g=>{if(!g)return{};const A=JSON.parse(g);return yC(A)?A:{}},EII=(g,A)=>{Gn(g,(I,e)=>{const t=Ny(e);t&&t.exposure!=="event"||{}.hasOwnProperty.call(A,e)||delete g[e]})};var EvA=class{constructor(A,I,e=!0,t=!A.cookieless_mode){if(this.Dl={},this.Ll=!1,this.Nl=!1,this.ql=!1,this.jl=!1,this.Bl=!1,this.zl=new Map,this.Hl=!1,this.Ul=!1,this.Wl=!1,this.Vl=new Set,this.Gl=new Set,this.Ar=A,this.Ql=e,this.props={},this.Zl=void 0,this.Jl=(o=>{let B="";return o.token&&(B=o.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),o.persistence_name?"ph_"+o.persistence_name:"ph_"+B+"_posthog"})(A),this.hi=A.disable_persistence||!!I,this.$l=this.Kl(A),this.ql=this.Xl(A),this.load(t),this.Yl(),A.debug&&Dt.info("Persistence loaded",A.persistence,QI({},this.props)),this.update_config(A,A,I),this.save(),Se){const o=()=>this.flush();NE(Se,"beforeunload",o,{capture:!1}),NE(Se,"pagehide",o,{capture:!1}),this.tu=B=>{if(this.Ll&&(!B.storageArea||B.storageArea===Se?.localStorage)&&B.key)if(B.key!==this.Jl){if(this.ql){const C=hgA.find(Q=>B.key===this.eu(Q));C&&this.iu(B.key,C)}}else this.iu(B.key,SD)},NE(Se,"storage",this.tu)}}markCrossTabFeatureFlagChanges(A){Object.entries(A).forEach(([I,e])=>{const t=this.zl.get(I);if(!ivA(I)||t===!0)return;if(e===!0)return void this.nu(I,!0);const o=new Set(t||[]);e.forEach(B=>o.add(B)),o.size&&this.nu(I,o)})}onCrossTabFeatureFlagChange(A){return this.Gl.add(A),()=>this.Gl.delete(A)}destroy(){this.tu&&Se&&(Se.removeEventListener("storage",this.tu),this.tu=void 0),this.Gl.clear()}iu(A,I,e=!0){if(this.hi)return!1;let t,o;try{if(o=eE.Ot(A),Yc(o)){const Q=this.su(I);return Q.storageValue=null,I!==SD&&(Q.persisted=!1),!1}t=uq(o)}catch{return!1}const B=I===SD?t:eE.Lt(this.Jl);if(B&&this.ru(B))return!1;const C=this.ou(t,I,e);return I===SD&&this.ql&&!c3(this.au().main,t)||this.lu(t,I,!0,o),C}ru(A){const I=this.props[FR],e=A[FR];return!Le(I)&&!Le(e)&&I!==e}lu(A,I,e,t){const o=this.su(I);o.storageValue=t,I!==SD&&(o.persisted=e);try{o.fingerprint=this.uu(A,I)}catch{o.fingerprint=void 0}}ou(A,I,e){let t=!1;return lJ.forEach(o=>{var B;const C=(B=Ny(o))===null||B===void 0?void 0:B.storageGroup;if(I===SD&&this.ql&&C||I!==SD&&C!==I)return;const Q=o in A,i=this.cu(o,Q?A[o]:void 0),E=this.zl.has(o)?o in this.props:Q;E===o in this.props&&c3(i,this.props[o])||(E?this.hu(o,i,!1):this.du(o,!1),t=!0)}),t&&e&&this.Gl.forEach(o=>o()),t}vu(){if(!this.Ll)return!1;try{this.Wl=!1;const A=eE.Ot(this.Jl),I=this.su(SD);let e,t=!1,o=!1;if(A!==I.storageValue)if(Yc(A))I.storageValue=null;else{if(e=uq(A),this.Wl=!this.Ul&&this.ru(e),this.Wl)return!1;o=this.ou(e,SD,!1),!this.ql||c3(this.au().main,e)?this.lu(e,SD,!0,A):I.storageValue=A,t=!0}return this.ql&&hgA.forEach(B=>{const C=eE.Ot(this.eu(B)),Q=this.su(B),i=e||{},E=t&&lJ.some(s=>{var r;return((r=Ny(s))===null||r===void 0?void 0:r.storageGroup)===B&&s in i});if(C===Q.storageValue&&!E)return;if(Yc(C))return Q.storageValue=null,Q.persisted=!1,void(E&&(o=this.ou(i,B,!1)||o));const n=uq(C);o=this.ou(n,B,!1)||o,this.lu(n,B,!0,C)}),o}catch{return!1}}nu(A,I){this.zl.set(A,I);const e=Ny(A);e?.volatile||(this.su((this.ql?e?.storageGroup:void 0)||SD).fingerprint=void 0,this.fu(A))}pu(){lJ.forEach(A=>this.zl.set(A,!0))}Yl(){if(this.Ll)try{const A=eE.Ot(this.Jl),I=uq(A);this.su(SD).storageValue=A,lJ.forEach(e=>{var t;const o=this.ql?(t=Ny(e))===null||t===void 0?void 0:t.storageGroup:void 0,B=o?eE.Ot(this.eu(o)):null;if(o){const Q=this.su(o);Q.storageValue=B,Q.persisted=!Yc(B)}const C=o&&!Yc(B)?uq(B):I;e in this.props?this.gu(e,C[e],this.props[e]):e in C&&this.nu(e,!0)})}catch{}}cu(A,I){const e=this.zl.get(A);if(!e)return I;if(e===!0)return this.props[A];if(A==="$active_feature_flags"){const B=new Set(cB(I)?I:[]),C=new Set(cB(this.props[A])?this.props[A]:[]);return e.forEach(Q=>C.has(Q)?B.add(Q):B.delete(Q)),Array.from(B)}const t=yC(I)?QI({},I):{},o=yC(this.props[A])?this.props[A]:{};return e.forEach(B=>{B in o?t[B]=o[B]:delete t[B]}),t}gu(A,I,e){if(!ivA(A))return;const t=this.zl.get(A);if(t===!0)return;let o=I;if(this.Ll)try{var B;const Q=this.ql?(B=Ny(A))===null||B===void 0?void 0:B.storageGroup:void 0,i=Q?this.eu(Q):this.Jl;o=uq(eE.Ot(i))[A]}catch{}const C=new Set(t||[]);if(A==="$active_feature_flags"){if(!Le(I)&&!cB(I)||!Le(o)&&!cB(o)||!cB(e))return void this.nu(A,!0);const Q=new Set(I||[]),i=new Set(o||[]),E=new Set(e);new Set([...Q,...E]).forEach(n=>{Q.has(n)!==E.has(n)&&C.add(n)}),C.forEach(n=>{i.has(n)===E.has(n)&&C.delete(n)})}else{if(!yC(e))return void(c3(o,e)?this.zl.delete(A):this.nu(A,!0));{if(!Le(I)&&!yC(I)||Le(I)&&lk(e)&&Le(o))return void this.nu(A,!0);const Q=yC(I)?I:{},i=yC(o)?o:{};new Set([...Object.keys(Q),...Object.keys(e)]).forEach(E=>{E in Q==E in e&&c3(Q[E],e[E])||C.add(E)}),C.forEach(E=>{E in i==E in e&&c3(i[E],e[E])&&C.delete(E)})}}C.size?this.nu(A,C):this.zl.delete(A)}mu(){var A;const I=(A=this.Ar)===null||A===void 0?void 0:A.persistence_save_debounce_ms;return i0(I)&&I>0?I:0}yu(A){if(this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie")if(A)try{const I=z6A(A,this.Ar.cookie_persisted_properties||[]),e=pgI(I,this.Ar.cookie_persisted_properties||[]),t=JSON.stringify(I)+"|"+JSON.stringify(e),o=rr.Ot(this.Jl)||void 0;o&&X6A(this.Jl,o)===t&&(this.bu=t,this._u=o)}catch{}else try{const I=rr.Ot(this.Jl)||void 0;this.bu=I?X6A(this.Jl,I):void 0,this._u=I}catch{}}syncCookieProperties(){return this.wu(this.Ar)}wu(A,I=!1){if(this.hi&&!I||this.Bl||!A.cookieWinsOnConflict||A.persistence.toLowerCase()!=="localstorage+cookie")return!1;let e;try{e=rr.Ot(this.Jl)||void 0}catch{}if(!e||e===this._u)return!1;const t=X6A(this.Jl,e);let o;try{o=j6A(JSON.parse(e))}catch{return!1}if((rr.Ot(this.Jl)||void 0)!==e)return!1;this.bu=t,this._u=e;const B=kgI(this.Jl,e),C=[...n5,...B.properties],Q={};if(Object.keys(o).forEach(h=>{const l=o[h];(Le(l)||Yc(l)||l===""||h==="$user_state"&&l!=="anonymous"&&l!=="identified")&&(Q[h]=!0,delete o[h])}),lk(o))return!1;const i="distinct_id"in o||o.$user_state==="anonymous"||o.$user_state==="identified",E=this.props,n=E[FR],s=E[Km],r=ar({},E);[...n5,...A.cookie_persisted_properties||[]].forEach(h=>{if(C.indexOf(h)!==-1&&!(h in o)&&!Q[h]&&(i||h!=="distinct_id"&&h!=="$user_state")){const l=r[h];(B.isValid||n5.indexOf(h)===-1||l!==!1&&l!==0)&&delete r[h]}}),this.props=ar(r,o),lJ.forEach(h=>{const l=h in this.props;h in E===l&&c3(E[h],this.props[h])||(l?this.gu(h,E[h],this.props[h]):this.nu(h,!0))}),!i||"$user_state"in o||"$user_state"in this.props||this.hu(Km,cJ);const a=this.props[FR],c=this.props[Km];return!i||a===n&&c===s||(this.Ul=!0,this.jl=!0,Ea.At(GDA(this.Jl),!0),this.du(a3),this.du(aJ),this.du(xR),this.du(Q5),this.du(r3),this.du(i5),this.du(n3),this.du(tgA),this.du(rJ),c!=="anonymous"||s!=="identified"&&o.$user_state!=="anonymous"&&(Le(n)||a===n)||(EII(this.props,o),this.du(s3)),c==="identified"?this.props.$user_id=a:delete this.props.$user_id,this.du(hDA)),!0}consumeCookieIdentityChange(){const A=GDA(this.Jl),I=this.jl||!!Ea.Ot(A);return this.jl=!1,I&&Ea.Pt(A),I}ku(A=!1){return!(this.Bl||this.hi&&!A||!this.Ar.cookieWinsOnConflict||this.Ar.persistence.toLowerCase()!=="localstorage+cookie"||(this.Bl=!0,0))}Su(){this.Bl&&(Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0),delete this.Dl[SD],this.$u(!0))}Cu(A=!0){if(this.Bl)try{A?this.Su():Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0)}finally{this.Bl=!1}}isDisabled(){return!!this.hi}Kl(A){Elt.indexOf(A.persistence.toLowerCase())===-1&&(Dt.critical("Unknown persistence type "+A.persistence+"; falling back to localStorage+cookie"),A.persistence="localStorage+cookie");const I=((C=[],Q=!1,i=()=>!1)=>{const E=[...n5,...C];return QI(QI({},eE),{},{Tu(n){return[rr.Ot(n),rr.Ot(sgA(n)),eE.Ot(n)].join("\0")},Lt(n){try{let r,a={};try{r=rr.Ot(n)||void 0,a=r?j6A(JSON.parse(r)):{}}catch{}const c=JSON.parse(eE.Ot(n)||"{}");let h;if(Q){const l=kgI(n,r),D=[...n5,...l.properties],d={};Object.keys(a).forEach(w=>{const u=a[w];Yc(u)||u===""||w==="$user_state"&&u!=="anonymous"&&u!=="identified"||(d[w]=u)});const y="distinct_id"in d||d.$user_state==="anonymous"||d.$user_state==="identified";if(Object.keys(d).length>0){var s;const w=c[FR],u=(s=c.$user_state)!==null&&s!==void 0?s:cJ;E.forEach(G=>{if(D.indexOf(G)!==-1&&!(G in a)&&(y||G!=="distinct_id"&&G!=="$user_state")){const m=c[G];(l.isValid||n5.indexOf(G)===-1||m!==!1&&m!==0)&&delete c[G]}}),!y||"$user_state"in a||"$user_state"in c||(c[Km]=cJ),!y||("distinct_id"in d?d[FR]:c[FR])===w&&("$user_state"in d?d[Km]:c[Km])===u||(V6A.forEach(G=>delete c[G]),d.$user_state==="identified"&&"distinct_id"in d?c.$user_id=d[FR]:delete c.$user_id,d.$user_state!=="identified"&&(delete c[tgI],delete c[s3]),delete c.__alias)}h=ar(c,d)}else h=ar(a,c);return i()||eE.At(n,h),h}catch{}return null},At(n,s,r,a,c,h){const l=eE.At(n,s,void 0,void 0,h);try{const D=z6A(s,C);if(Object.keys(D).length){if(Q){const d=sgA(n),y=pgI(D,C);if(rr.At(d,y,r,a,c,h),rr.Ot(d)!==JSON.stringify(y)){rr.Pt(d,a);const w=z6A(s);return rr.At(n,w,r,a,c,h),l}}rr.At(n,D,r,a,c,h)}}catch(D){eE.Ft(D)}return l},Pt(n,s){try{Se?.localStorage.removeItem(n),rr.Pt(n,s),rr.Pt(sgA(n),s)}catch(r){eE.Ft(r)}}})})(A.cookie_persisted_properties||[],A.cookieWinsOnConflict,()=>!!this.hi);let e,t=!1,o=!1;const B=A.persistence.toLowerCase();return B==="localstorage"&&eE.$t()?(e=eE,o=!0):B==="localstorage+cookie"&&I.$t()?(e=I,o=!0,t=!0):B==="sessionstorage"&&Ea.$t()?e=Ea:B==="memory"?e=$6A:B==="cookie"&&rr.$t()?(e=rr,t=!0):I.$t()?(e=I,o=!0,t=!0):rr.$t()?(e=rr,t=!0):e=$6A,this.Ll=o,this.Nl=t,e}eu(A){return`${this.Jl}__${A}`}Xl(A){return this.Ll&&!!A.split_storage}properties(){const A={};return Gn(this.props,(I,e)=>{const t=Ny(e);if(!t||t.exposure==="event"){var o;if(!(t==null||(o=t.shouldSkipFromEventProperties)===null||o===void 0)&&o.call(t,I))return;A[e]=I}}),A}load(A=!1){if(this.hi&&!A)return;const I=this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie",e=I?eE.Lt(this.Jl):null;let t={};if(I)try{t=j6A(rr.Lt(this.Jl)),Gn(t,(Q,i)=>{(Le(Q)||Yc(Q)||Q==="")&&delete t[i]})}catch{}const o=this.$l.Lt(this.Jl);if(o&&(this.props=ar({},o)),this.ql&&this.Iu(),I&&o){var B,C;const Q=e?.[FR],i=(B=e?.$user_state)!==null&&B!==void 0?B:cJ,E=o[FR],n=(C=o.$user_state)!==null&&C!==void 0?C:cJ;if(E!==Q||n!==i){this.jl=!0,this.hi||Ea.At(GDA(this.Jl),!0);const s=ar({},this.props);V6A.forEach(a=>delete s[a]),n!=="anonymous"||i!=="identified"&&t.$user_state!=="anonymous"&&(Le(Q)||E===Q)||(EII(s,t),delete s[s3]),this.props=s;const r=new Set;V6A.forEach(a=>{var c;const h=(c=Ny(a))===null||c===void 0?void 0:c.storageGroup;h&&r.add(h)}),r.forEach(a=>{if(this.hi)return;const c={};Gn(this.props,(h,l)=>{var D;((D=Ny(l))===null||D===void 0?void 0:D.storageGroup)===a&&(c[l]=h)}),lk(c)?(eE.Pt(this.eu(a)),this.Dl[a]={}):eE.At(this.eu(a),c)&&(this.Dl[a]={persisted:!0,fingerprint:this.uu(c,a)})})}}Ea.Ot(GDA(this.Jl))&&(this.jl=!0)}Iu(){for(const A of hgA){const I=eE.Lt(this.eu(A));if(I&&!lk(I)){const e=this.su(A);e.persisted=!0,this.Mu(A)||(e.fingerprint=this.uu(I,A)),this.Eu(A,I)||ar(this.props,I)}}}Mu(A){return Object.keys(this.props).some(I=>{var e;return((e=Ny(I))===null||e===void 0?void 0:e.storageGroup)===A})}Eu(A,I){const e=ilt[A];if(!e)return!1;const t=I[e],o=this.props[e];return i0(t)&&i0(o)&&o>t}refreshKey(A){this.Pu([A])}Pu(A){if(this.hi)return;let I,e=!1;const t=()=>(e||(I=this.$l.Lt(this.Jl),e=!0),I);A.forEach(o=>{var B;if(this.Vl.has(o))return;const C=this.ql?(B=Ny(o))===null||B===void 0?void 0:B.storageGroup:void 0,Q=C?eE.Lt(this.eu(C)):t();if(Q&&o in Q)this.hu(o,Q[o],!1);else{if(C){const i=t();if(i&&o in i)return void this.hu(o,i[o],!1)}this.du(o,!1)}})}refreshMetaIdentifiers(){if(this.hi)return;const A=this.Ru();(Le(A)||A!==this.Au)&&(this.Pu(QII),this.Fu(A))}Fu(A=this.Ru()){this.Au=this.Vl.size===0?A:void 0}Ru(){const A=this.$l.Tu?this.$l.Tu(this.Jl):this.$l.Ot(this.Jl);return KC(A)?A:void 0}save(){if(this.hi)return;const A=this.mu();A>0?Le(this.xu)&&(this.xu=setTimeout(()=>{this.xu=void 0,this.$u()},A)):this.$u()}flush(){Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0,this.$u())}$u(A=!1){if(this.hi||this.Bl&&!A)return;A||(this.syncCookieProperties(),this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie"||this.refreshMetaIdentifiers());const I=!A&&!this.Hl;I||(this.Wl=!1);const e=!!I&&this.vu();if(this.Wl)return void(this.Ar.debug&&Dt.warn("skipping persistence write because storage belongs to a different distinct ID"));if(this.ql)return this.Ou(),void(e&&this.Gl.forEach(o=>o()));const t=this.Du(this.$l,this.Jl,this.props,SD);t==="written"&&this.yu(this.props),t!=="failed"&&(this.zl.clear(),this.Ul=!1,this.Vl.clear()),t==="written"&&this.Fu(),e&&this.Gl.forEach(o=>o())}Ou(){const{main:A,groups:I}=this.au(),e=this.Du(this.$l,this.Jl,A,SD);e==="written"&&this.yu(A),e!=="failed"&&(this.Ul=!1,this.Vl.clear(),lJ.forEach(o=>{var B;!((B=Ny(o))===null||B===void 0)&&B.storageGroup||this.zl.delete(o)})),e==="written"&&this.Fu();for(const o of hgA){var t;const B=I[o];if(lk(B)&&!(!((t=this.Dl[o])===null||t===void 0)&&t.persisted)){lJ.forEach(Q=>{var i;((i=Ny(Q))===null||i===void 0?void 0:i.storageGroup)===o&&this.zl.delete(Q)});continue}const C=this.Du(eE,this.eu(o),B,o);C!=="failed"&&lJ.forEach(Q=>{const i=Ny(Q);i?.storageGroup!==o||C!=="written"&&i.volatile||this.zl.delete(Q)})}}au(){const A={},I={flags:{},surveys:{}};return Gn(this.props,(e,t)=>{var o;const B=(o=Ny(t))===null||o===void 0?void 0:o.storageGroup;B?I[B][t]=e:A[t]=e}),{main:A,groups:I}}uu(A,I){if(I===SD)return JSON.stringify(A)+"|"+this.Lu+"|"+this.Nu+"|"+this.qu;const e={};return Gn(A,(t,o)=>{var B;e[o]=!((B=Ny(o))===null||B===void 0)&&B.volatile?"__volatile__":t}),JSON.stringify(e)}Du(A,I,e,t){const o=this.su(t);if(t!==SD&&!o.dirty&&!Le(o.fingerprint))return"skipped";let B;try{if(B=this.uu(e,t),B===o.fingerprint)return o.dirty=!1,"skipped"}catch{B=void 0}return A.At(I,e,this.Lu,this.Nu,this.qu,this.Ar.debug)?(o.dirty=!1,t!==SD&&(o.persisted=!0),Le(B)||(o.fingerprint=B),this.Ll&&(o.storageValue=eE.Ot(I)),"written"):(this.Ar.debug&&Dt.warn(`failed to persist storage entry "${I}"; will retry on next save`),"failed")}remove({keepGroupEntries:A=!1}={}){if(this.pu(),Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0),this.$l.Pt(this.Jl,!1),this.$l.Pt(this.Jl,!0),!A&&this.Ql)for(const I of hgA)eE.Pt(this.eu(I));A?delete this.Dl[SD]:this.Dl={},this.bu=void 0,this._u=void 0}clear(){this.remove(),this.props={}}register_once(A,I,e){if(yC(A)){this.syncCookieProperties(),Le(I)&&(I="None"),this.Lu=Le(e)?this.ju:e;let t=!1;if(Gn(A,(o,B)=>{this.props.hasOwnProperty(B)&&this.props[B]!==I||(this.hu(B,o),t=!0)}),t)return this.save(),!0}return!1}register(A,I){if(yC(A)){this.syncCookieProperties(),this.Lu=Le(I)?this.ju:I;let e=!1;if(Gn(A,(t,o)=>{A.hasOwnProperty(o)&&(this.props[o]!==t||yC(t)||cB(t))&&(this.hu(o,t),e=!0)}),e)return this.save(),!0}return!1}unregister(A){this.syncCookieProperties();const I=typeof A=="string"?[A]:A;let e=!1;for(const t of I)t in this.props&&(this.du(t),e=!0);e&&this.save()}update_campaign_params(){const A=co?.URL;if(A===this.Zl)return;const I=gII(this.Ar.custom_campaign_params,this.Ar.mask_personal_data_properties,this.Ar.custom_personal_data_properties),e=!lk(Z6A(I));return e&&this.register(I),this.Zl=A,e?I:void 0}update_search_keyword(){this.register((function(){const A=co?.referrer;return A?eII(A):{}})())}update_referrer_info(){var A;this.register_once({$referrer:oII(),$referring_domain:co?.referrer&&((A=hJ(co.referrer))===null||A===void 0?void 0:A.host)||uDA},void 0)}set_initial_person_info(){if(this.props.$initial_campaign_params||this.props.$initial_referrer_info)return;const A=BII(this.Ar.mask_personal_data_properties,this.Ar.custom_personal_data_properties,this.Ar.disable_capture_url_hashes);this.register_once({[sq]:this.Nl?{r:mDA(A.r),u:A.u?mDA(A.u):void 0}:A},void 0)}get_initial_props(){const A={};Gn([BgI,ogI],e=>{const t=this.props[e];t&&Gn(t,function(o,B){A["$initial_"+g6A(B)]=o})});const I=this.props[sq];if(I){const e=(function(t,o=!1){const B=CII(t,o),C={};return Gn(B,function(Q,i){C[`$initial_${g6A(i)}`]=Q}),C})(I,this.Ar.disable_capture_url_hashes);ar(A,e)}return A}safe_merge(A){return Gn(this.props,function(I,e){e in A||(A[e]=I)}),A}update_config(A,I,e){const t=A.persistence!==I.persistence,o=!((a,c)=>{if(a.length!==c.length)return!1;const h=[...a].sort(),l=[...c].sort();return h.every((D,d)=>D===l[d])})(A.cookie_persisted_properties||[],I.cookie_persisted_properties||[]),B=t||o,C=A.cookieWinsOnConflict!==I.cookieWinsOnConflict,Q=A.disable_persistence||!!e,i=!!this.hi&&!Q;Q||this.wu(I,i),this.Ar=A,!Q&&(t||o||C)&&(this.bu=void 0,this._u=void 0,this.wu(QI(QI({},A),{},{cookie_persisted_properties:I.cookie_persisted_properties}),i));const E=B||C?this.Kl(A):this.$l;this.Bu();const n=this.Xl(A),s=B||n!==this.ql,r=!Q&&(s||A.cross_subdomain_cookie!==this.Nu||A.secure_cookie!==this.qu)&&this.ku(i);this.Hl=s;try{if(this.ju=this.Lu=A.cookie_expiration,this.set_disabled(Q),this.set_cross_subdomain(A.cross_subdomain_cookie),this.set_secure(A.secure_cookie),s){const a=this.props;this.clear(),this.$l=E,this.ql=n,this.props=a,this.save()}else C&&(this.$l=E,Q||(delete this.Dl[SD],this.$u()))}finally{this.Hl=!1,r&&this.Cu()}}Bu(){const A=this.props[sq];if(!this.Nl||!yC(A)||typeof A.r!="string")return;const I=mDA(A.r),e=typeof A.u=="string"?mDA(A.u):A.u;I===A.r&&e===A.u||this.hu(sq,QI(QI({},A),{},{r:I,u:e}))}set_disabled(A){this.hi=A,this.hi?this.remove():this.save()}set_cross_subdomain(A){A!==this.Nu&&(this.Nu=A,this.remove({keepGroupEntries:!0}),this.save())}set_secure(A){A!==this.qu&&(this.qu=A,this.remove({keepGroupEntries:!0}),this.save())}set_event_timer(A,I){const e=this.props.__timers||{};e[A]=I,this.hu(x6A,e),this.save()}remove_event_timer(A){const I=this.props.__timers||{},e=I[A];return Le(e)||(delete I[A],this.hu(x6A,I),this.save()),e}get_property(A){return this.props[A]}set_property(A,I){this.hu(A,I),this.save()}hu(A,I,e=!0){var t;const o=this.props[A];this.props[A]=I,e&&(A!=="distinct_id"&&A!=="$user_state"||o===I||(this.Ul=!0),iII(A)&&!c3(o,I)&&this.Vl.add(A),this.gu(A,o,I),!((t=Ny(A))===null||t===void 0)&&t.volatile||this.fu(A))}du(A,I=!0){delete this.props[A],I&&(ivA(A)&&this.nu(A,!0),iII(A)&&this.Vl.add(A),this.fu(A))}fu(A){var I;const e=(I=Ny(A))===null||I===void 0?void 0:I.storageGroup;e&&(this.su(e).dirty=!0)}su(A){return this.Dl[A]||(this.Dl[A]={})}};const gS={GZipJS:"gzip-js",Base64:"base64"},dgA={Activation:"events",Cancellation:"cancelEvents"},nvA={Popover:"popover",API:"api",Widget:"widget"},IS={SHOWN:"survey shown",DISMISSED:"survey dismissed",SENT:"survey sent"},svA={SURVEY_ID:"$survey_id",SURVEY_ITERATION:"$survey_iteration",SURVEY_LAST_SEEN_DATE:"$survey_last_seen_date"},avA={Popover:"popover",Inline:"inline"};function pDA(g){let A=!0;return{dispose(){if(A){A=!1;const I=g();I&&Q0(I.then)&&I.then(void 0,()=>{})}}}}const nlt={SHOWN:"product tour shown"},nII={TOUR_LAST_SEEN_DATE:"$product_tour_last_seen_date",TOUR_TYPE:"$product_tour_type"},sII=Ic("[RateLimiter]");var slt=class{constructor(g){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=A=>{const I=A.text;if(I&&I.length)try{(JSON.parse(I).quota_limited||[]).forEach(e=>{sII.info(`${e||"events"} is quota limited.`),this.serverLimits[e]=new Date().getTime()+6e4})}catch(e){return void sII.warn(`could not rate limit - continuing. Error: "${e?.message}"`,{text:I})}},this.instance=g,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var g;return((g=this.instance.config.rate_limiting)===null||g===void 0?void 0:g.events_per_second)||10}get captureEventsBurstLimit(){var g;return Math.max(((g=this.instance.config.rate_limiting)===null||g===void 0?void 0:g.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(g=!1){var A,I,e;const{captureEventsBurstLimit:t,captureEventsPerSecond:o}=this,B=new Date().getTime(),C=(A=(I=this.instance.persistence)===null||I===void 0?void 0:I.get_property("$capture_rate_limit"))!==null&&A!==void 0?A:{tokens:t,last:B};C.tokens+=Math.max(0,B-C.last)/1e3*o,C.last=Math.max(C.last,B),C.tokens>t&&(C.tokens=t);const Q=1>C.tokens;if(Q||g||(C.tokens=Math.max(0,C.tokens-1)),Q&&!g){const i=(i0(C.dropped)?C.dropped:0)+1;C.dropped=i,!this.lastEventRateLimited&&this.zu(i)&&(C.dropped=0)}return this.lastEventRateLimited=Q,(e=this.instance.persistence)===null||e===void 0||e.set_property("$capture_rate_limit",C),{isRateLimited:Q,remainingTokens:C.tokens}}Hu(g){const A=this.instance.config.property_denylist;return!cB(A)||!A.includes(g)}Uu(){var g;if(this.Hu("$current_url")&&this.Hu("$pathname")&&Qa?.pathname)return`${(g=Qa.origin)!==null&&g!==void 0?g:""}${Qa.pathname}`}zu(g){var A,I;const{captureEventsBurstLimit:e,captureEventsPerSecond:t}=this,o=this.Uu(),B=this.Hu("$session_id")?(A=(I=this.instance).get_session_id)===null||A===void 0?void 0:A.call(I):void 0,C=[`${g} event(s) dropped since the last warning`,o?`triggered on ${o}`:void 0,B?`session ${B}`:void 0].filter(Boolean).join(", ");return!!this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:`posthog-js client rate limited: ${C}. Config is set to ${t} events per second and ${e} events burst limit.`},{skip_client_rate_limiting:!0})}isServerRateLimited(g){const A=this.serverLimits[g||"events"]||!1;return A!==!1&&new Date().getTime()<A}};const h3=Ic("[RemoteConfig]");var aII=class{constructor(A){this._instance=A}get remoteConfig(){var A;return(A=JB._POSTHOG_REMOTE_CONFIG)===null||A===void 0||(A=A[this._instance.config.token])===null||A===void 0?void 0:A.config}Wu(A){var I,e,t;!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.loadExternalDependency?(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,"remote-config",()=>A(this.remoteConfig)):A()}Vu(A){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets",`/array/${this._instance.config.token}/config`),callback:A})}load(){try{if(this.remoteConfig)return h3.info("Using preloaded remote config",this.remoteConfig),void this.Gu(this.remoteConfig);if(this._instance.Qu())return void h3.warn("Remote config is disabled. Falling back to local config.");this.Wu(A=>{if(!A)return h3.info("No config found after loading remote JS config. Falling back to JSON."),void this.Vu(I=>{this.Gu(I.json,I)});this.Gu(A)})}catch(A){h3.error("Error loading remote config",A),this.Gu()}}Gu(A,I){!A&&I&&(I.statusCode===0?I.error||h3.warn("Failed to fetch remote config from PostHog."):h3.error("Failed to fetch remote config from PostHog."));try{this._instance.Gu(A?{ok:!0,config:A}:{ok:!1})}catch(t){h3.error("Error applying remote config",t)}if(A?.hasFeatureFlags!==!1&&!this._instance.config.advanced_disable_feature_flags_on_first_load)try{var e;(e=this._instance.featureFlags)===null||e===void 0||e.ensureFlagsLoaded()}catch(t){h3.error("Error loading feature flags",t)}}},$2=Uint8Array,dk=Uint16Array,Gq=Uint32Array,rvA=new $2([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),cvA=new $2([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),rII=new $2([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),cII=function(g,A){for(var I=new dk(31),e=0;31>e;++e)I[e]=A+=1<<g[e-1];var t=new Gq(I[30]);for(e=1;30>e;++e)for(var o=I[e];I[e+1]>o;++o)t[o]=o-I[e]<<5|e;return[I,t]},hII=cII(rvA,2),hvA=hII[1];hII[0][28]=258,hvA[258]=28;for(var lII=cII(cvA,0)[1],DII=new dk(32768),_c=0;32768>_c;++_c){var mq=(43690&_c)>>>1|(21845&_c)<<1;DII[_c]=((65280&(mq=(61680&(mq=(52428&mq)>>>2|(13107&mq)<<2))>>>4|(3855&mq)<<4))>>>8|(255&mq)<<8)>>>1}var ygA=function(g,A,I){for(var e=g.length,t=0,o=new dk(A);e>t;++t)++o[g[t]-1];var B,C=new dk(A);for(t=0;A>t;++t)C[t]=C[t-1]+o[t-1]<<1;for(B=new dk(e),t=0;e>t;++t)B[t]=DII[C[g[t]-1]++]>>>15-g[t];return B},r5=new $2(288);for(_c=0;144>_c;++_c)r5[_c]=8;for(_c=144;256>_c;++_c)r5[_c]=9;for(_c=256;280>_c;++_c)r5[_c]=7;for(_c=280;288>_c;++_c)r5[_c]=8;var kDA=new $2(32);for(_c=0;32>_c;++_c)kDA[_c]=5;var alt=ygA(r5,9),rlt=ygA(kDA,5),dII=function(g){return(g/8|0)+(7&g&&1)},yII=function(g,A,I){(I==null||I>g.length)&&(I=g.length);var e=new(g instanceof dk?dk:g instanceof Gq?Gq:$2)(I-A);return e.set(g.subarray(A,I)),e},DJ=function(g,A,I){var e=A/8|0;g[e]|=I<<=7&A,g[e+1]|=I>>>8},wgA=function(g,A,I){var e=A/8|0;g[e]|=I<<=7&A,g[e+1]|=I>>>8,g[e+2]|=I>>>16},lvA=function(g,A){for(var I=[],e=0;g.length>e;++e)g[e]&&I.push({s:e,f:g[e]});var t=I.length,o=I.slice();if(!t)return[new $2(0),0];if(t==1){var B=new $2(I[0].s+1);return B[I[0].s]=1,[B,1]}I.sort(function(w,u){return w.f-u.f}),I.push({s:-1,f:25001});var C=I[0],Q=I[1],i=0,E=1,n=2;for(I[0]={s:-1,f:C.f+Q.f,l:C,r:Q};E!=t-1;)C=I[I[n].f>I[i].f?i++:n++],Q=I[i!=E&&I[n].f>I[i].f?i++:n++],I[E++]={s:-1,f:C.f+Q.f,l:C,r:Q};var s=o[0].s;for(e=1;t>e;++e)o[e].s>s&&(s=o[e].s);var r=new dk(s+1),a=DvA(I[E-1],r,0);if(a>A){e=0;var c=0,h=a-A,l=1<<h;for(o.sort(function(w,u){return r[u.s]-r[w.s]||w.f-u.f});t>e;++e){var D=o[e].s;if(A>=r[D])break;c+=l-(1<<a-r[D]),r[D]=A}for(c>>>=h;c>0;){var d=o[e].s;A>r[d]?c-=1<<A-r[d]++-1:++e}for(;e>=0&&c;--e){var y=o[e].s;r[y]==A&&(--r[y],++c)}a=A}return[new $2(r),a]},DvA=function(g,A,I){return g.s==-1?Math.max(DvA(g.l,A,I+1),DvA(g.r,A,I+1)):A[g.s]=I},wII=function(g){for(var A=g.length;A&&!g[--A];);for(var I=new dk(++A),e=0,t=g[0],o=1,B=function(Q){I[e++]=Q},C=1;A>=C;++C)if(g[C]==t&&C!=A)++o;else{if(!t&&o>2){for(;o>138;o-=138)B(32754);o>2&&(B(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(B(t),--o;o>6;o-=6)B(8304);o>2&&(B(o-3<<5|8208),o=0)}for(;o--;)B(t);o=1,t=g[C]}return[I.subarray(0,e),A]},ugA=function(g,A){for(var I=0,e=0;A.length>e;++e)I+=g[e]*A[e];return I},dvA=function(g,A,I){var e=I.length,t=dII(A+2);g[t]=255&e,g[t+1]=e>>>8,g[t+2]=255^g[t],g[t+3]=255^g[t+1];for(var o=0;e>o;++o)g[t+o+4]=I[o];return 8*(t+4+e)},uII=function(g,A,I,e,t,o,B,C,Q,i,E){DJ(A,E++,I),++t[256];for(var n=lvA(t,15),s=n[0],r=n[1],a=lvA(o,15),c=a[0],h=a[1],l=wII(s),D=l[0],d=l[1],y=wII(c),w=y[0],u=y[1],G=new dk(19),m=0;D.length>m;++m)G[31&D[m]]++;for(m=0;w.length>m;++m)G[31&w[m]]++;for(var p=lvA(G,7),k=p[0],S=p[1],R=19;R>4&&!k[rII[R-1]];--R);var x,N,U,K,Y=i+5<<3,_=ugA(t,r5)+ugA(o,kDA)+B,q=ugA(t,s)+ugA(o,c)+B+14+3*R+ugA(G,k)+(2*G[16]+3*G[17]+7*G[18]);if(_>=Y&&q>=Y)return dvA(A,E,g.subarray(Q,Q+i));if(DJ(A,E,1+(_>q)),E+=2,_>q){x=ygA(s,r),N=s,U=ygA(c,h),K=c;var j=ygA(k,S);for(DJ(A,E,d-257),DJ(A,E+5,u-1),DJ(A,E+10,R-4),E+=14,m=0;R>m;++m)DJ(A,E+3*m,k[rII[m]]);E+=3*R;for(var W=[D,w],Z=0;2>Z;++Z){var $=W[Z];for(m=0;$.length>m;++m)DJ(A,E,j[eA=31&$[m]]),E+=k[eA],eA>15&&(DJ(A,E,$[m]>>>5&127),E+=$[m]>>>12)}}else x=alt,N=r5,U=rlt,K=kDA;for(m=0;C>m;++m)if(e[m]>255){var eA;wgA(A,E,x[257+(eA=e[m]>>>18&31)]),E+=N[eA+257],eA>7&&(DJ(A,E,e[m]>>>23&31),E+=rvA[eA]);var IA=31&e[m];wgA(A,E,U[IA]),E+=K[IA],IA>3&&(wgA(A,E,e[m]>>>5&8191),E+=cvA[IA])}else wgA(A,E,x[e[m]]),E+=N[e[m]];return wgA(A,E,x[256]),E+N[256]},clt=new Gq([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),hlt=(function(){for(var g=new Gq(256),A=0;256>A;++A){for(var I=A,e=9;--e;)I=(1&I&&3988292384)^I>>>1;g[A]=I}return g})(),yvA=function(g,A,I){for(;I;++A)g[A]=I,I>>>=8};function llt(g,A){A===void 0&&(A={});var I=(function(){var n=4294967295;return{p(s){for(var r=n,a=0;s.length>a;++a)r=hlt[255&r^s[a]]^r>>>8;n=r},d(){return 4294967295^n}}})(),e=g.length;I.p(g);var t,o,B,C,Q,i=(C=10+((t=A).filename&&t.filename.length+1||0),Q=8,(function(n,s,r,a,c,h){var l=n.length,D=new $2(a+l+5*(1+Math.floor(l/7e3))+c),d=D.subarray(a,D.length-c),y=0;if(!s||8>l)for(var w=0;l>=w;w+=65535){var u=w+65535;l>u?y=dvA(d,y,n.subarray(w,u)):(d[w]=h,y=dvA(d,y,n.subarray(w,l)))}else{for(var G=clt[s-1],m=G>>>13,p=8191&G,k=(1<<r)-1,S=new dk(32768),R=new dk(k+1),x=Math.ceil(r/3),N=2*x,U=function(dA){return(n[dA]^n[dA+1]<<x^n[dA+2]<<N)&k},K=new Gq(25e3),Y=new dk(288),_=new dk(32),q=0,j=0,W=(w=0,0),Z=0,$=0;l>w;++w){var eA=U(w),IA=32767&w,QA=R[eA];if(S[IA]=QA,R[eA]=IA,w>=Z){var sA=l-w;if((q>7e3||W>24576)&&sA>423){y=uII(n,d,0,K,Y,_,j,W,$,w-$,y),W=q=j=0,$=w;for(var lA=0;286>lA;++lA)Y[lA]=0;for(lA=0;30>lA;++lA)_[lA]=0}var BA=2,hA=0,nA=p,aA=IA-QA&32767;if(sA>2&&eA==U(w-aA))for(var SA=Math.min(m,sA)-1,FA=Math.min(32767,w),rA=Math.min(258,sA);FA>=aA&&--nA&&IA!=QA;){if(n[w+BA]==n[w+BA-aA]){for(var NA=0;rA>NA&&n[w+NA]==n[w+NA-aA];++NA);if(NA>BA){if(BA=NA,hA=aA,NA>SA)break;var RA=Math.min(aA,NA-2),xA=0;for(lA=0;RA>lA;++lA){var bA=w-aA+lA+32768&32767,JA=bA-S[bA]+32768&32767;JA>xA&&(xA=JA,QA=bA)}}}aA+=(IA=QA)-(QA=S[IA])+32768&32767}if(hA){K[W++]=268435456|hvA[BA]<<18|lII[hA];var mA=31&hvA[BA],LA=31&lII[hA];j+=rvA[mA]+cvA[LA],++Y[257+mA],++_[LA],Z=w+BA,++q}else K[W++]=n[w],++Y[n[w]]}}y=uII(n,d,h,K,Y,_,j,W,$,w-$,y)}return yII(D,0,a+dII(y)+c)})(o=g,(B=A).level==null?6:B.level,B.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(o.length)))):12+B.mem,C,Q,!0)),E=i.length;return(function(n,s){var r=s.filename;if(n[0]=31,n[1]=139,n[2]=8,n[8]=2>s.level?4:s.level==9?2:0,n[9]=3,s.mtime!=0&&yvA(n,4,Math.floor(new Date(s.mtime||Date.now())/1e3)),r){n[3]=8;for(var a=0;r.length>=a;++a)n[a+10]=r.charCodeAt(a)}})(i,A),yvA(i,E-8,I.d()),yvA(i,E-4,e),i}const Dlt=!!$HA||!!jAA,GII=new WeakMap,mII="text/plain";let wvA=0,MDA=!1;const pII=(g,A)=>{const[I,e]=g.split("#"),[t,o]=I.split("?");if(!o)return g;const B=o.split("&").filter(C=>C.split("=")[0]!==A).join("&");return`${t}${B?`?${B}`:""}${e?`#${e}`:""}`},SDA=(g,A,I=!0)=>{var e;const[t,o]=g.split("?"),B=QI({},A),C=(e=o?.split("&").map(i=>{var E;const[n,s]=i.split("="),r=I&&(E=B[n])!==null&&E!==void 0?E:s;return delete B[n],`${n}=${r}`}))!==null&&e!==void 0?e:[],Q=(function(i,E="&"){let n,s;const r=[];return Gn(i,function(a,c){Le(a)||Le(c)||c==="undefined"||(n=encodeURIComponent((h=>h instanceof File)(a)?a.name:a.toString()),s=encodeURIComponent(c),r[r.length]=s+"="+n)}),r.join(E)})(B);return Q&&C.push(Q),C.length>0?`${t}?${C.join("&")}`:t},uvA=g=>{if(g.lr)return g.lr;const{data:A,compression:I}=g;if(!A)return;if(I===gS.GZipJS){const t=llt((function(o){var B=o.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(o);for(var C=new $2(o.length+(o.length>>>1)),Q=0,i=function(r){C[Q++]=r},E=0;B>E;++E){if(Q+5>C.length){var n=new $2(Q+8+(B-E<<1));n.set(C),C=n}var s=o.charCodeAt(E);128>s?i(s):2048>s?(i(192|s>>>6),i(128|63&s)):s>55295&&57344>s?(i(240|(s=65536+(1047552&s)|1023&o.charCodeAt(++E))>>>18),i(128|s>>>12&63),i(128|s>>>6&63),i(128|63&s)):(i(224|s>>>12),i(128|s>>>6&63),i(128|63&s))}return yII(C,0,Q)})(dq(A)),{mtime:0});return{contentType:mII,body:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),estimatedSize:t.byteLength}}if(I===gS.Base64){const t=(function(B){return B&&btoa(encodeURIComponent(B).replace(/%([0-9A-F]{2})/g,(C,Q)=>String.fromCharCode(parseInt(Q,16))))})(dq(A)),o=(B=>"data="+encodeURIComponent(typeof B=="string"?B:dq(B)))(t);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}const e=dq(A);return{contentType:"application/json",body:e,estimatedSize:new Blob([e]).size}},kII=g=>{const A=()=>g.transport==="sendBeacon"?{url:SDA(g.url,{compression:gS.Base64}),encodedBody:uvA(QI(QI({},g),{},{compression:gS.Base64,lr:void 0}))}:{url:pII(g.url,"compression"),encodedBody:uvA(QI(QI({},g),{},{compression:void 0,lr:void 0}))};let I;try{I=uvA(g)}catch(t){if(kAI(g.compression,yq(g.url,"compression")))return Dt.error("Failed to gzip request body, sending uncompressed payload",t),A();throw t}return I&&kAI(g.compression,yq(g.url,"compression"))&&!((e=I.body)instanceof ArrayBuffer?l6A(new Uint8Array(e)):ArrayBuffer.isView(e)&&l6A(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)))?(MDA=!0,A()):{url:g.url,encodedBody:I};var e},MII=g=>{try{return kII(g)}catch(I){var A;return Dt.error(I),void((A=g.callback)===null||A===void 0||A.call(g,{statusCode:0,error:I}))}},dlt=(function(){var g=ia(function*(A){const I=yield(function(t){return D6A.apply(this,arguments)})(dq(A.data),Dk.DEBUG,{rethrow:!0});if(!I)return A;const e=yield I.arrayBuffer();return QI(QI({},A),{},{lr:{contentType:mII,body:e,estimatedSize:e.byteLength}})});return function(A){return g.apply(this,arguments)}})(),ylt=/Failed to fetch|NetworkError|Load failed/i,SII=g=>g?.name==="TypeError"&&ylt.test(g?.message||""),fII=g=>{try{const A=(function(I,e=Date.now()){if(typeof I!="string"||!I)return;const t=I.trim(),o=/^\d+\s*,/.test(t)?t.slice(0,t.indexOf(",")).trim():t;if(/^\d+$/.test(o)){const Q=1e3*Math.min(Number(o),300);return Q>0?Q:void 0}if(!/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[a-z]*[ ,]/.test(o))return;const B=/^\w{3} \w{3} /.test(o)?o+" GMT":o,C=Date.parse(B)-e;return Number.isFinite(C)&&C>0?Math.min(C,oDA):void 0})(g());return Le(A)?void 0:Math.min(A,3e4)}catch{return}},RII=g=>{const A=MII(g);if(!A)return;const I=new $HA;GII.set(I,!0);const{url:e,encodedBody:t}=A;I.open(g.method||"GET",e,!0);const{contentType:o,body:B}=t??{};Gn(g.headers,function(C,Q){I.setRequestHeader(Q,C)}),o&&I.setRequestHeader("Content-Type",o),g.timeout&&(I.timeout=g.timeout),I.onreadystatechange=()=>{if(I.readyState===4){var C;const Q={statusCode:I.status,text:I.responseText};if(I.status===200)try{Q.json=JSON.parse(I.responseText)}catch{}(C=g.callback)===null||C===void 0||C.call(g,Q,fII(()=>I.getResponseHeader("Retry-After")))}},I.send(B)},NII=g=>{const A=MII(g);if(!A)return;const{url:I,encodedBody:e}=A,{contentType:t,body:o,estimatedSize:B}=e??{},C=new Headers;Gn(g.headers,function(a,c){C.append(c,a)}),t&&C.append("Content-Type",t);let Q=null,i=!1;if(w$g){const a=new w$g;Q={signal:a.signal,timeout:setTimeout(()=>{i=!0;try{a.abort(QAI("AbortError","PostHog request timed out"+((c=g.timeout)?` after ${c}ms`:"")))}catch(h){n(h)}var c},g.timeout)}}let E=!1;const n=a=>{var c;E||(E=!0,i&&a?.name==="AbortError"||SII(a)?Dt.warn(a):Dt.error(a),(c=g.callback)===null||c===void 0||c.call(g,{statusCode:0,error:a}))};let s=0;const r=()=>{wvA-=s,s=0,Q&&clearTimeout(Q.timeout)};try{const a=QI({method:g?.method||"GET",headers:C,referrerPolicy:"strict-origin",body:o,signal:Q?.signal},g.fetchOptions),c=B??(Le(o)?0:void 0);a.keepalive=a.method==="POST"&&!g.kl&&a.keepalive!==!1&&a.body===o&&!Le(c)&&c>=0&&52428.8>wvA+c,a.keepalive&&(s=c,wvA+=s),jAA(I,a).then(h=>h.text().then(l=>{var D;if(E)return;const d={statusCode:h.status,text:l};if(h.status===200)try{d.json=JSON.parse(l)}catch(y){Dt.error(y)}E=!0,r(),(D=g.callback)===null||D===void 0||D.call(g,d,fII(()=>h.headers.get("Retry-After")))})).catch(h=>{r(),n(h)}).finally(r)}catch(a){r(),n(a)}},GvA=g=>{try{var A;const{url:I,encodedBody:e}=kII(g),{contentType:t,body:o,estimatedSize:B}=e??{};if(!o)return;const C=o instanceof Blob?o:new Blob([o],{type:t});if(Tw.sendBeacon(I,C))return;const Q=cB(g.data)?g.data:(A=g.data)===null||A===void 0?void 0:A.batch;if(cB(Q)&&Q.length>1&&(B??0)>16384){const i=Math.ceil(Q.length/2),E=n=>cB(g.data)?n:QI(QI({},g.data),{},{batch:n});return GvA(QI(QI({},g),{},{data:E(Q.slice(0,i))})),void GvA(QI(QI({},g),{},{data:E(Q.slice(i))}))}Dt.warn(`Beacon of ~${B??0} bytes was rejected by the browser, falling back to ${jAA?"fetch":"XHR"}`),jAA?NII(QI(QI({},g),{},{kl:!0})):RII(g)}catch(I){Dt.warn("Beacon send failed",I)}},xII=(g,A,I,e)=>{const t=e==="query"?A==="POST"?"sent_at":"_":void 0;return SDA(I===gS.GZipJS?pII(g,"compression"):g,QI(QI({},t?{[t]:Date.now().toString()}:{}),I===gS.GZipJS?{}:{compression:I}))},wlt=(()=>{const g=[];return jAA&&g.push({transport:"fetch",method:NII}),$HA&&g.push({transport:"XHR",method:RII}),Tw?.sendBeacon&&g.push({transport:"sendBeacon",method:GvA}),g})();let FII=!Dlt&&Jm?.indexOf("MSIE")===-1&&Jm?.indexOf("Mozilla")===-1;function UII(g,A,I){var e,t,o;I&&(A=QI(QI({},A),{},{callback:B=>I(B)})),g.__loaded?FII?g.__request_queue.push(A):g.rateLimiter.isServerRateLimited(A.batchKey)?A.fireCallbackOnDrop&&((t=A.callback)===null||t===void 0||t.call(A,{statusCode:429})):(A.transport=A.transport||g.config.api_transport,A.headers=QI(QI({},g.config.request_headers),A.headers),A.compression=A.compression==="best-available"?(e=g.compression)!==null&&e!==void 0?e:A.compressionFallback:A.compression,(Le(g.config.disable_beacon)?g.config.__preview_disable_beacon:g.config.disable_beacon)&&(A.disableTransport=["sendBeacon"]),A.fetchOptions=A.fetchOptions||g.config.fetch_options,((B,C)=>{var Q,i,E;const n=QI(QI({},B),{},{callback:C??(h=>{var l;return(l=B.callback)===null||l===void 0?void 0:l.call(B,h)})});n.timeout=n.timeout||6e4;const s=(Q=n.transport)!==null&&Q!==void 0?Q:"fetch";s==="sendBeacon"&&Le(n.compression)&&n.data&&(n.compression=gS.Base64),n.method==="POST"&&n.data&&(n.timestampMode==="capture-body"?n.data=(h=>{var l,D;const d=(cB(h)?h:[h]).map(w=>QI(QI({},w),w.timestamp instanceof Date&&!isNaN(w.timestamp.getTime())?{timestamp:w.timestamp.toISOString()}:{})),y=d[0];return{api_key:(l=y==null||(D=y.properties)===null||D===void 0?void 0:D.token)!==null&&l!==void 0?l:y?.token,batch:d,sent_at:new Date().toISOString()}})(n.data):n.timestampMode==="body"&&(n.data=((h,l=new Date().toISOString())=>cB(h)?h.map(D=>QI(QI({},D),{},{sent_at:l})):QI(QI({},h),{},{sent_at:l}))(n.data))),n.url=xII(n.url,n.method,n.compression,n.timestampMode);const r=wlt.filter(h=>!n.disableTransport||!h.transport||!n.disableTransport.includes(h.transport)),a=(i=(E=(function(h,l){for(let D=0;h.length>D;D++)if(l(h[D]))return h[D]})(r,h=>h.transport===s))===null||E===void 0?void 0:E.method)!==null&&i!==void 0?i:r[0].method;if(!a)throw new Error("No available transport method");const c=h=>{try{a(h)}catch(D){var l;SII(D)?Dt.warn(D):Dt.error(D),(l=n.callback)===null||l===void 0||l.call(n,{statusCode:0,error:D})}};s!=="sendBeacon"&&!n.preferSyncCompression&&n.data&&n.compression===gS.GZipJS&&Fct&&typeof Promise<"u"&&!MDA?dlt(n).then(h=>{c(h)}).catch(h=>{if(MAI(h))return MDA=!0,void c(QI(QI({},n),{},{compression:void 0,url:xII(B.url,B.method,void 0,B.timestampMode)}));(l=>{if(!l||typeof l!="object")return!1;const D="name"in l?String(l.name):"";return MAI(l)||D===pAI})(h)&&(MDA=!0),c(n)}):c(n)})(A,(B,C)=>{var Q,i,E;g.rateLimiter.checkForLimiting(B),400>B.statusCode||(Q=(i=g.config).on_request_error)===null||Q===void 0||Q.call(i,B),I?I(B,C):(E=A.callback)===null||E===void 0||E.call(A,B)})):A.fireCallbackOnDrop&&((o=A.callback)===null||o===void 0||o.call(A,{statusCode:0}))}var ult=class{constructor(A,I){this.Zu=!0,this.Ju=[],this.Ku=wx(I?.flush_interval_ms||3e3,250,5e3,Dt.createLogger("flush interval"),3e3),this.Xu=A}enqueue(A){this.Ju.push(A),this.Yu||this.tc()}unload(){this.ec();const A=this.Ju.length>0?this.nc():{},I=Object.values(A);[...I.filter(e=>e.url.indexOf("/e")===0),...I.filter(e=>e.url.indexOf("/e")!==0)].map(e=>{this.sc(QI(QI({},e),{},{callback:void 0}),"sendBeacon")})}enable(){this.Zu=!1,this.tc()}tc(){this.Zu||(this.Yu=setTimeout(()=>{this.ec(),this.rc()},this.Ku))}rc(){if(this.Ju.length>0){const A=this.nc();for(const I in A)this.sc(A[I])}}sc(A,I){try{this.Xu(A,I)}catch(e){Dt.error(e)}}ec(){clearTimeout(this.Yu),this.Yu=void 0}nc(){const A={},I={};Gn(this.Ju,e=>{var t;const o=e,B=((o?o.batchKey:null)||o.url)+(o.batchGroup?`:${o.batchGroup}`:"");Le(A[B])&&(A[B]=QI(QI({},o),{},{data:[],callback:void 0,fireCallbackOnDrop:void 0}),I[B]=[]),(t=A[B].data)===null||t===void 0||t.push(o.data),o.callback&&I[B].push(o.callback)});for(const e in I){const t=I[e];t.length&&(A[e].callback=o=>{for(const B of t)B(o)})}return this.Ju=[],A}};const Glt=["retriesPerformedSoFar"];var mlt=class{constructor(A){this._instance=A,this.oc=!1,this.ac=3e3,this.Ju=[],this.Ju=[],this.lc=!0,this.resume()}resume(){if(!Le(Se)&&"onLine"in Se.navigator){if(this.lc=Se.navigator.onLine,this.uc)return;this.uc=()=>{this.lc=!0,this.rc()},this.cc=()=>{this.lc=!1},NE(Se,"online",this.uc),NE(Se,"offline",this.cc)}}get length(){return this.Ju.length}retriableRequest(A,I){let{retriesPerformedSoFar:e}=A,t=fAI(A,Glt);sJ(e)&&(t.url=SDA(t.url,{retry_count:e})),UII(this._instance,I?QI(QI({},t),{},{transport:I}):t,(o,B)=>{var C;if(o.statusCode!==200&&(400>o.statusCode||o.statusCode>=500)){if((o.statusCode===0?3:10)>(e??0))return void this.Ls(QI({retriesPerformedSoFar:e},t),B);o.statusCode===0&&Dt.warn(`Request failed before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped retrying after ${e??0} retries.`)}(C=t.callback)===null||C===void 0||C.call(t,o)})}Ls(A,I){const e=A.retriesPerformedSoFar||0;A.retriesPerformedSoFar=e+1;const t=Math.max((function(C){const Q=3e3*Math.pow(2,C),i=Q/2,E=Math.min(18e5,Q),n=(Math.random()-.5)*(E-i);return Math.ceil(E+n)})(e),I??0),o=Date.now()+t;this.Ju.push({retryAt:o,requestOptions:A});let B=`Enqueued failed request for retry in ${t}`;navigator.onLine||(B+=" (Browser is offline)"),Dt.warn(B),this.oc||(this.oc=!0,this.hc())}hc(){if(this.dc&&clearTimeout(this.dc),this.Ju.length===0)return this.oc=!1,void(this.dc=void 0);this.dc=setTimeout(()=>{this.lc&&this.Ju.length>0&&this.rc(),this.hc()},this.ac)}rc(){const A=Date.now(),I=[],e=this.Ju.filter(t=>A>t.retryAt||(I.push(t),!1));if(this.Ju=I,e.length>0)for(const{requestOptions:t}of e)this.retriableRequest(t)}unload(){this.dc&&(clearTimeout(this.dc),this.dc=void 0),this.oc=!1,Le(Se)||(this.uc&&(Se.removeEventListener("online",this.uc),this.uc=void 0),this.cc&&(Se.removeEventListener("offline",this.cc),this.cc=void 0));for(const{requestOptions:A}of this.Ju)try{this._instance._send_request(QI(QI({},A),{},{callback:cB(A.data)?void 0:A.callback,transport:"sendBeacon"}))}catch(I){Dt.error(I)}this.Ju=[]}},plt=class{constructor(A){this._instance=A,this.vc=()=>{var I,e,t,o;this.fc||(this.fc={});const B=this.scrollElement(),C=this.scrollY(),Q=B?Math.max(0,B.scrollHeight-B.clientHeight):0,i=C+(B?.clientHeight||0),E=B?.scrollHeight||0;this.fc.lastScrollY=Math.ceil(C),this.fc.maxScrollY=Math.max(C,(I=this.fc.maxScrollY)!==null&&I!==void 0?I:0),this.fc.maxScrollHeight=Math.max(Q,(e=this.fc.maxScrollHeight)!==null&&e!==void 0?e:0),this.fc.lastContentY=i,this.fc.maxContentY=Math.max(i,(t=this.fc.maxContentY)!==null&&t!==void 0?t:0),this.fc.maxContentHeight=Math.max(E,(o=this.fc.maxContentHeight)!==null&&o!==void 0?o:0)}}get gc(){return this._instance.config.scroll_root_selector}getContext(){return this.fc}resetContext(){const A=this.fc;return this.fc=void 0,setTimeout(this.vc,0),A}startMeasuringScrollPosition(){NE(Se,"scroll",this.vc,{capture:!0}),NE(Se,"scrollend",this.vc,{capture:!0}),NE(Se,"resize",this.vc)}scrollElement(){if(this.gc){const e=cB(this.gc)?this.gc:[this.gc];for(const t of e){var A;const o=Se==null||(A=Se.document)===null||A===void 0?void 0:A.querySelector(t);if(o)return o}return}var I;return Se==null||(I=Se.document)===null||I===void 0?void 0:I.documentElement}mc(A){var I,e;const t=A==="y"?"scrollTop":"scrollLeft";if(this.gc){const o=this.scrollElement();return o&&o[t]||0}return Se?A==="y"?Se.scrollY||Se.pageYOffset||((I=Se.document)===null||I===void 0||(I=I.documentElement)===null||I===void 0?void 0:I.scrollTop)||0:Se.scrollX||Se.pageXOffset||((e=Se.document)===null||e===void 0||(e=e.documentElement)===null||e===void 0?void 0:e.scrollLeft)||0:0}scrollY(){return this.mc("y")}scrollX(){return this.mc("x")}};const klt=g=>BII(g?.config.mask_personal_data_properties,g?.config.custom_personal_data_properties,g?.config.disable_capture_url_hashes);var JII=class{constructor(A,I,e,t){this.qe=o=>{const B=this.yc();if(B&&B.sessionId===o)return;const C={sessionId:o,props:this.bc(this._instance)};this._c.register({[_6A]:C})},this._instance=A,this.wc=I,this._c=e,this.bc=t||klt,this.wc.onSessionId(this.qe)}yc(){return this._c.props[_6A]}getSetOnceProps(){var A;const I=(A=this.yc())===null||A===void 0?void 0:A.props;return I?"r"in I?CII(I,this._instance.config.disable_capture_url_hashes):{$referring_domain:I.referringDomain,$pathname:I.initialPathName,utm_source:I.utm_source,utm_campaign:I.utm_campaign,utm_medium:I.utm_medium,utm_content:I.utm_content,utm_term:I.utm_term}:{}}getSessionProps(){const A={};return Gn(Z6A(this.getSetOnceProps()),(I,e)=>{e==="$current_url"&&(e="url"),A[`$session_entry_${g6A(e)}`]=I}),A}},fDA=class{on(A,I){return this.bo[A]||(this.bo[A]=[]),this.bo[A].push(I),()=>{this.bo[A]=this.bo[A].filter(e=>e!==I)}}emit(A,I){for(const e of this.bo[A]||[])e(I);for(const e of this.bo["*"]||[])e(A,I)}constructor(){this.bo={}}};const pq=Ic("[SessionId]"),PII=864e5;var KII=class{on(g,A){return this.kc.on(g,A)}constructor(g,A,I){var e;if(this.Sc=null,this.xc=null,this.$c=[],this.Cc=void 0,this.Tc=!1,this.kc=new fDA,this.Ic=(o,B)=>!(!sJ(o)||!sJ(B))&&Math.abs(o-B)>this.sessionTimeoutMs,!g.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(g.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.Ar=g.config,this._c=g.persistence,this.je=void 0,this.Xt=void 0,this._sessionStartTimestamp=null,this.Mc=void 0,this._sessionActivityTimestamp=null,this.Ec=A||UR,this.Pc=I||UR;const t=this.Ar.persistence_name||this.Ar.token;if(this._sessionTimeoutMs=1e3*wx(this.Ar.session_idle_timeout_seconds||1800,60,36e3,pq.createLogger("session_idle_timeout_seconds"),1800),g.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.Rc(),this.Ac="ph_"+t+"_window_id",this.Fc="ph_"+t+"_primary_window_exists",this.Oc()){const o=Ea.Lt(this.Ac),B=Ea.Lt(this.Fc);o&&!B?this.je=o:Ea.Pt(this.Ac),Ea.At(this.Fc,!0)}!((e=this.Ar.bootstrap)===null||e===void 0)&&e.sessionID&&this.setBootstrapSessionId(this.Ar.bootstrap.sessionID),this.Dc()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(g){return Le(this.$c)&&(this.$c=[]),this.$c.push(g),this.Xt&&g(this.Xt,this.je),()=>{this.$c=this.$c.filter(A=>A!==g)}}Oc(){return this.Ar.persistence!=="memory"&&!this._c.hi&&Ea.$t()}Lc(g){g!==this.je&&(this.je=g,this.Oc()&&Ea.At(this.Ac,g))}Nc(){return this.je?this.je:this.Oc()?Ea.Lt(this.Ac):null}qc(g){const A=this.Sc;return!Yc(A)&&!Yc(g)&&5e3>Math.abs(g-A)}jc(g,A,I){const e=A!==this._sessionActivityTimestamp,t=!(g!==this.Xt||I!==this._sessionStartTimestamp);this._sessionStartTimestamp=I,this._sessionActivityTimestamp=A,this.Xt=g,t&&!e||t&&this.qc(A)||(this.Sc=A,this._c.register({[nq]:[A,g,I]}))}Bc(){var g;const A=(g=this.Ar)===null||g===void 0?void 0:g.persistence_save_debounce_ms;return sJ(A)&&A>0}zc(){this.Bc()?this._c.refreshKey(nq):(this._c.flush(),this._c.load())}Hc(){var g;if(Yc(this._sessionActivityTimestamp)||this._sessionActivityTimestamp===this.Sc)return;this.zc();const[,A,I]=this.Uc();A===this.Xt&&I===this._sessionStartTimestamp&&(this.Sc=this._sessionActivityTimestamp,this._c.register({[nq]:[this._sessionActivityTimestamp,(g=this.Xt)!==null&&g!==void 0?g:null,this._sessionStartTimestamp]}),this._c.flush())}Wc(){const[g]=this.Uc(),A=sJ(g)?g:0,I=sJ(this._sessionActivityTimestamp)?this._sessionActivityTimestamp:0;return Math.max(A,I)}Vc(g){return this.zc(),this.Ic(g,this.Wc())}Uc(){const g=this._c.props[nq];return cB(g)&&g.length===2&&g.push(g[0]),g||[0,null,0]}resetSessionId(){this.Sc=null,this.Mc=void 0,clearTimeout(this.Gc),this.Gc=void 0,this.jc(null,null,null)}setBootstrapSessionId(g,A=!1){const I=((e,t=new Date().getTime())=>{try{const o=(B=>{const C=B.replace(/-/g,"");if(C.length!==32)throw new Error("Not a valid UUID");if(C[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(C.substring(0,12),16)})(e);return o>t+6e4?void pq.error("Bootstrap sessionID cannot be in the future"):o}catch(o){return void pq.error("Invalid sessionID in bootstrap",o)}})(g);return!Le(I)&&(A?this.Mc={sessionId:g,sessionStartTimestamp:I}:this.jc(g,new Date().getTime(),I),!0)}destroy(){this.Tc=!0,this.Hc(),clearTimeout(this.Gc),this.Gc=void 0,this.Cc&&Se&&(Se.removeEventListener(DDA,this.Cc,{capture:!1}),this.Cc=void 0),this.$c=[]}Dc(){this.Cc=()=>{this.Hc(),this.Oc()&&Ea.Pt(this.Fc)},NE(Se,DDA,this.Cc,{capture:!1})}checkAndGetSessionAndWindowId(g=!1,A=null,I=!1){if(this.Ar.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');const e=A||new Date().getTime(),t=this.Xt;if(I)this.xc=e;else if(Yc(this.xc)||this.xc>e||e-this.xc>=1e3){var o,B;(o=(B=this._c).syncCookieProperties)===null||o===void 0||o.call(B),this.xc=e}let[,C,Q]=this.Uc();const i=!Le(t)&&C!==t,E=this.Wc();let n=this.Nc();const s=this.Mc,r=!!s&&(s.sessionStartTimestamp>e+6e4||e-s.sessionStartTimestamp>PII),a=s?r:sJ(Q)&&Math.abs(e-Q)>PII;let c=!1,h=i,l=!C||!!s;const D=C;let d=!l&&!g&&this.Ic(e,E);if(d&&(d=this.Vc(e),d||pq.info("cross-tab refresh kept the session alive",{sessionId:C}),[,C,Q]=this.Uc(),d||(l=!C||!!s)),l||d||a){h=!1;const G=s&&!r;C=G?s.sessionId:this.Ec(),n=this.Pc(),pq.info("new session ID assigned",{sessionId:C,windowId:n,bootstrapped:!!G,changeReason:{noSessionId:l,activityTimeout:d,sessionPastMaximumLength:a}}),Q=G?s.sessionStartTimestamp:e,this.Mc=void 0,c=!0}else n||(n=this.Pc(),c=!0),h=h||C!==D,h&&(pq.info("adopted cross-tab session id",{sessionId:C,windowId:n}),c=!0);const y=sJ(E)&&g&&!a?E:e,w=sJ(Q)?Q:new Date().getTime();this.Lc(n),this.jc(C,y,w),g||this.Rc();const u={noSessionId:l,activityTimeout:d,sessionPastMaximumLength:a,crossTabAdoption:h};return c&&this.$c.forEach(G=>G(C,n,u)),{sessionId:C,windowId:n,sessionStartTimestamp:w,changeReason:c?u:void 0,lastActivityTimestamp:E}}Rc(){this.Tc||(clearTimeout(this.Gc),this.Gc=setTimeout(()=>{if(!this.Tc)if(this.Vc(new Date().getTime())){const g=this.Xt;this.resetSessionId(),this.kc.emit("forcedIdleReset",{idleSessionId:g})}else this.Rc()},1.1*this.sessionTimeoutMs))}};const LII=function(g,A){if(!g)return!1;const I=g.userAgent;if(I&&M$g(I,A))return!0;try{const e=g?.userAgentData;if(e?.brands&&e.brands.some(t=>M$g(t?.brand,A)))return!0}catch{}return!!g.webdriver};function YII(){return(YII=ia(function*(){const g=Tw?.userAgentData;if(g?.getHighEntropyValues)try{const A=yield g.getHighEntropyValues(["model"]),I=A?.model;return KC(I)&&I.length>0?I:void 0}catch(A){return void Dt.info("Unable to resolve $device_model from userAgentData.getHighEntropyValues",A)}})).apply(this,arguments)}function Mlt(g,A){let I=`$survey_${A}/${g.id}`;return g.current_iteration&&g.current_iteration>0&&(I=`$survey_${A}/${g.id}/${g.current_iteration}`),I}function _II(g){var A;return!!(!((A=g.conditions)===null||A===void 0||(A=A.events)===null||A===void 0||(A=A.values)===null||A===void 0)&&A.length)}const RDA=(g,A)=>{if(!(I=>{try{new RegExp(I)}catch{return!1}return!0})(A))return!1;try{return new RegExp(A).test(g)}catch{return!1}},NDA=g=>g.toLowerCase(),bII={exact:(g,A)=>A.some(I=>g.some(e=>I===e)),is_not:(g,A)=>A.every(I=>g.every(e=>I!==e)),regex:(g,A)=>A.some(I=>g.some(e=>RDA(I,e))),not_regex:(g,A)=>A.every(I=>g.every(e=>!RDA(I,e))),icontains:(g,A)=>A.map(NDA).some(I=>g.map(NDA).some(e=>I.includes(e))),not_icontains:(g,A)=>A.map(NDA).every(I=>g.map(NDA).every(e=>!I.includes(e))),gt:(g,A)=>A.some(I=>{const e=parseFloat(I);return!isNaN(e)&&g.some(t=>e>parseFloat(t))}),lt:(g,A)=>A.some(I=>{const e=parseFloat(I);return!isNaN(e)&&g.some(t=>e<parseFloat(t))})};function HII(g,A){return!g||Object.entries(g).every(([I,e])=>{const t=A?.[I];if(t==null)return!1;const o=bII[e.operator];return!!o&&o(e.values.map(String),[String(t)])})}function mvA(g,A,I){return dq({distinct_id:g,userPropertiesToSet:A,userPropertiesToSetOnce:I})}const pvA="custom",vII="i.posthog.com",Slt=/^\/static\//,flt=["/s/","/e/","/i/"];var Rlt=class{constructor(A){this.Qc={},this.instance=A}get apiHost(){const A=this.instance.config.api_host.trim().replace(/\/$/,"");return A==="https://app.posthog.com"?"https://us.i.posthog.com":A}get flagsApiHost(){const A=this.instance.config.flags_api_host;return A?A.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var A;let I=(A=this.instance.config.ui_host)===null||A===void 0?void 0:A.replace(/\/$/,"");return I||(I=this.apiHost.replace(`.${vII}`,".posthog.com")),I==="https://app.posthog.com"?"https://us.posthog.com":I}get region(){return this.Qc[this.apiHost]||(this.Qc[this.apiHost]=/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"us":/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"eu":pvA),this.Qc[this.apiHost]}Zc(A){if(!Slt.test(A))return;const I=this.instance.config.asset_host;return typeof I=="string"&&I.trim().replace(/\/$/,"")||void 0}Jc(A){const I=hJ(A);return I?I.protocol+"//"+I.host+I.pathname:void 0}Kc(A,I,e){if(A==="ui")return e;let t=e;const o=this.instance.config.rewriteRequestPath;if(o){var B;const C=((B=hJ(e))===null||B===void 0?void 0:B.href)||e;t=o(new URL(C)).toString()}if(o&&A==="api"&&flt.some(C=>I.indexOf(C)===0)){const C=this.Jc(t);if(C){const Q=this.apiHost;let i=this.Xc;i?.apiHost===Q&&i.rewriteRequestPath===o||(i={apiHost:Q,rewriteRequestPath:o,urls:new Set},this.Xc=i),i.urls.add(C)}}return t}isIngestionEndpoint(A){const I=this.Xc,e=this.Jc(A);return I?.apiHost===this.apiHost&&I.rewriteRequestPath===this.instance.config.rewriteRequestPath&&!!e&&I.urls.has(e)}endpointFor(A,I=""){if(I&&(I=I[0]==="/"?I:`/${I}`),A==="ui")return this.Kc(A,I,this.uiHost+I);if(A==="flags")return this.Kc(A,I,this.flagsApiHost+I);if(A==="assets"){const t=this.Zc(I);if(t)return this.Kc(A,I,`${t}${I}`)}if(this.region===pvA)return this.Kc(A,I,this.apiHost+I);const e=vII+I;switch(A){case"assets":return this.Kc(A,I,`https://${this.region}-assets.${e}`);case"api":return this.Kc(A,I,`https://${this.region}.${e}`)}}};const mn=Ic("[Surveys]"),TII=g=>{try{const A=(I=>((e,t)=>`seenSurvey_${(function(o){return o.current_iteration&&o.current_iteration>0?`${o.id}_${o.current_iteration}`:o.id})(t)}`)(0,I))(g);if(localStorage.getItem(A))return;localStorage.setItem(A,"true")}catch(A){mn.error("Failed to persist survey seen state",A)}},Nlt=[nvA.Popover,nvA.Widget,nvA.API],xlt={ignoreConditions:!1,ignoreDelay:!1,displayType:avA.Popover},Flt=Ic("[PostHog ExternalIntegrations]"),Ult={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};var Jlt=class{constructor(A){this._instance=A}Ml(A,I){var e,t;(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,A,o=>{if(o)return Flt.error("failed to load script",o);I()})}startIfEnabledOrStop(){var A;for(const[o,B]of Object.entries((A=this._instance.config.integrations)!==null&&A!==void 0?A:{})){var I,e,t;B&&!(!((I=JB.__PosthogExtensions__)===null||I===void 0||(I=I.integrations)===null||I===void 0)&&I[o])&&this.Ml(Ult[o],()=>{var C;(C=JB.__PosthogExtensions__)===null||C===void 0||(C=C.integrations)===null||C===void 0||(C=C[o])===null||C===void 0||C.start(this._instance)}),!B&&(!((e=JB.__PosthogExtensions__)===null||e===void 0||(e=e.integrations)===null||e===void 0)&&e[o])&&((t=JB.__PosthogExtensions__)===null||t===void 0||(t=t.integrations)===null||t===void 0||(t=t[o])===null||t===void 0||t.stop())}}},qII=class{constructor(A){this.disabled=A===!1;const I=yC(A)?A:{};this.thresholdPx=I.threshold_px||30,this.timeoutMs=I.timeout_ms||1e3,this.clickCount=I.click_count||3,this.clicks=[]}isRageClick(A,I,e){if(this.disabled)return!1;const t=this.clicks[this.clicks.length-1];if(t&&Math.abs(A-t.x)+Math.abs(I-t.y)<this.thresholdPx&&this.timeoutMs>e-t.timestamp){if(this.clicks.push({x:A,y:I,timestamp:e}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:A,y:I,timestamp:e}];return!1}};const kvA=()=>typeof window>"u"?void 0:window,GgA=()=>typeof document>"u"?void 0:document,MvA="$copy_autocapture",SvA=Ic("[AutoCapture]");function fvA(g,A){return A.length>g?A.slice(0,g)+"...":A}function Plt(g){if(g.previousElementSibling)return g.previousElementSibling;let A=g;do A=A.previousSibling;while(A&&!JR(A));return A}function Klt(g,{e:A,maskAllElementAttributes:I,maskAllText:e,elementAttributeIgnoreList:t,elementsChainAsString:o,disableCaptureUrlHashes:B}){var C,Q;if(!JR(g))return{props:{}};const i=[g],E=new Set([g]);let n=g;for(;n.parentNode&&!qw(n,"body")&&1e3>i.length;){if(AvA(n.parentNode)){const u=n.parentNode.host;if(E.has(u))break;E.add(u),i.push(u),n=u;continue}if(!JR(n.parentNode)||E.has(n.parentNode))break;E.add(n.parentNode),i.push(n.parentNode),n=n.parentNode}const s=A.type==="click"&&g.namespaceURI==="http://www.w3.org/2000/svg"?i.findIndex(u=>qw(u,"button")||qw(u,"a")):-1;s>0&&(e=e||i.slice(0,s+1).some(u=>!a5(u)||lq(u)));const r=[],a={};let c,h=!1,l=!1;if(Gn(i,u=>{const G=a5(u);if(qw(u,"a")&&!I&&!t?.includes("href")){const m=u.getAttribute("href");h=!!(G&&m&&Dq(m))&&(B?E3(m):m)}yB(hq(u),"ph-no-capture")&&(l=!0),r.push((function(m,p,k,S,R=!1){const x=m.tagName.toLowerCase(),N={tag_name:x};IvA.indexOf(x)>-1&&!k&&(N.$el_text=x.toLowerCase()==="a"||x.toLowerCase()==="button"?fvA(1024,vgI(m)):fvA(1024,agA(m)));const U=hq(m);p||S?.includes("class")||0>=U.length||(N.classes=U.filter(function(q){return q!==""})),Gn(m.attributes,function(q){var j;if((!lq(m)||["name","id","class","aria-label"].indexOf(q.name)!==-1)&&!S?.includes(q.name)&&!p&&Dq(q.value)&&(!KC(j=q.name)||j.substring(0,10)!=="_ngcontent"&&j.substring(0,7)!=="_nghost")){let W=q.value;q.name==="class"&&(W=gvA(W).join(" ")),N["attr__"+q.name]=fvA(1024,q.name==="href"&&R?E3(W):W)}});let K=1,Y=1,_=m;for(;_=Plt(_);)K++,_.tagName===m.tagName&&Y++;return N.nth_child=K,N.nth_of_type=Y,N})(u,I,e,t,B)),Gn((function(m){if(!a5(m))return{};const p={};return Gn(m.attributes,function(k){if(k.name&&k.name.indexOf("data-ph-capture-attribute")===0){const S=k.name.replace("data-ph-capture-attribute-",""),R=k.value;S&&R&&Dq(R)&&(p[S]=R)}}),p})(u),(m,p)=>{({}).hasOwnProperty.call(a,p)||(a[p]=m)})}),l)return{props:{},explicitNoCapture:l};if(s>0&&(g=i[s],r.splice(0,s)),e||(r[0].$el_text=qw(g,"a")||qw(g,"button")?vgI(g):agA(g)),h){var D,d;r[0].attr__href=h;const u=(D=hJ(h))===null||D===void 0?void 0:D.host,G=(d=kvA())===null||d===void 0||(d=d.location)===null||d===void 0?void 0:d.host;u&&G&&u!==G&&(c=h)}return{props:ar((w=A.type,{$event_type:w,$ce_version:1}),o?{}:{$elements:r},{$elements_chain:(y=r,cB(y)?(function(u){return u.map(G=>{var m,p;let k="";if(G.tag_name&&(k+=G.tag_name),G.attr_class){G.attr_class.sort();for(const x of G.attr_class)k+=`.${x.replace(/"/g,"")}`}const S=QI(QI(QI(QI({},G.text?{text:G.text}:{}),{},{"nth-child":(m=G.nth_child)!==null&&m!==void 0?m:0,"nth-of-type":(p=G.nth_of_type)!==null&&p!==void 0?p:0},G.href?{href:G.href}:{}),G.attr_id?{attr_id:G.attr_id}:{}),G.attributes),R={};return dDA(S).sort(([x],[N])=>(function(U,K){return K>U?-1:U>K?1:0})(x,N)).forEach(([x,N])=>R[qgI(x.toString())]=qgI(N.toString())),k+=":",k+=dDA(R).map(([x,N])=>`${x}="${N}"`).join(""),k}).join(";")})((function(u){return u.map(G=>{var m,p;const k={text:(m=G.$el_text)===null||m===void 0?void 0:m.slice(0,400),tag_name:G.tag_name,href:(p=G.attr__href)===null||p===void 0?void 0:p.slice(0,2048),attr_class:$0t(G),attr_id:G.attr__id,nth_child:G.nth_child,nth_of_type:G.nth_of_type,attributes:{}};return dDA(G).filter(([S])=>S.indexOf("attr__")===0).forEach(([S,R])=>k.attributes[S]=R),k})})(y)):"")},!((C=r[0])===null||C===void 0)&&C.$el_text?{$el_text:(Q=r[0])===null||Q===void 0?void 0:Q.$el_text}:{},c&&A.type==="click"?{$external_click_url:c}:{},a),target:g};var y,w}const ZII="autocapture";var Llt=class{el(){this.il=void 0,clearTimeout(this.nl),this.nl=void 0}sl(A){var I;if(!a5(A))return!0;const e=(I=this.rl().css_selector_ignorelist)!==null&&I!==void 0?I:ovA,t=new Set;let o=A;for(;o;){if(t.size>=1e3||t.has(o))return!0;t.add(o);const B=o,C=hq(B);if(yB(C,"ph-no-capture")||yB(C,"ph-sensitive")||lq(B)||e.some(i=>evA(B,i)))return!0;const Q=o.parentNode;o=AvA(Q)?Q.host:Q&&JR(Q)?Q:null}return!1}ol(A){if(!this.isEnabled||A.type==="pointercancel")return void this.el();if(A.type==="pointerdown"){var I;this.el();const t=rgA(A);return void(A.isPrimary&&A.button===0&&!A.ctrlKey&&t&&JR(t)&&(this.il={target:t,excluded:this.sl(t),id:A.pointerId,x:A.clientX,y:A.clientY,released:!1,distinctId:(I=this.xa)===null||I===void 0?void 0:I.distinctId}))}const e=this.il;e&&(A.pointerId!==e.id||Math.abs(A.clientX-e.x)>5||Math.abs(A.clientY-e.y)>5?this.el():A.type==="pointerup"&&(e.released=!0,this.nl=setTimeout(()=>this.el(),0)))}al(A){var I;const e=this.il;this.el();const t=rgA(A);if(e?.released&&e.target.isConnected&&e.distinctId===((I=this.xa)===null||I===void 0?void 0:I.distinctId)&&A.pointerId===e.id&&(A.detail>0||A.pointerType==="touch"||A.pointerType==="pen")&&A.button===0&&5>=Math.abs(A.clientX-e.x)&&5>=Math.abs(A.clientY-e.y)&&t&&(qw(t,"html")||qw(t,"body"))){var o,B,C;if(e.excluded)return null;const Q=(o=this.rl().css_selector_ignorelist)!==null&&o!==void 0?o:ovA;return[t,(B=GgA())===null||B===void 0?void 0:B.documentElement,(C=GgA())===null||C===void 0?void 0:C.body].some(i=>{if(!i)return!1;const E=hq(i);return yB(E,"ph-no-capture")||yB(E,"ph-sensitive")||!a5(i)||lq(i)||Q.some(n=>evA(i,n))})?null:e.target}}constructor(A){this.Ta=A,this.name=ZII,this.ll=!1,this.ul=null,this.cl=!1,this.hl=new Map,this.dl=!1,this.Ar={enabled:!1,rageclick:!1,maskAllElementAttributes:!1,maskAllText:!1,disableCaptureUrlHashes:!1,remoteRequestsDisabled:!1},this.Ci=!1,this.Ta.refresh(this.Ar),this.rageclicks=new qII(this.Ar.rageclick),this.vl=null}setup(A){this.fl(),this.xa=A;const I=A.onRemoteConfig(this.onRemoteConfig.bind(this));this.Ci?I.dispose():(this.qa=I,this.startIfEnabled())}dispose(){var A;this.Ci||(this.Ci=!0,this.xa=void 0,(A=this.qa)===null||A===void 0||A.dispose(),this.qa=void 0,this.hl.clear(),this.vl=null,this.pl())}rl(){return this.Ta.refresh(this.Ar),this.Ar}fl(){var A,I;return this.rl(),this.Ar.url_allowlist=(A=this.Ar.url_allowlist)===null||A===void 0?void 0:A.map(e=>new RegExp(e)),this.Ar.url_ignorelist=(I=this.Ar.url_ignorelist)===null||I===void 0?void 0:I.map(e=>new RegExp(e)),this.Ar}gl(){const A=kvA(),I=GgA();if(!this.isBrowserSupported())return void SvA.info("Disabling Automatic Event Collection because this browser is not supported");if(!A||!I)return;this.ml=A,this.yl=I;const e=this.bl=t=>{t=t||A?.event;try{if(t.type==="blur")return void this.el();if(t.type.indexOf("pointer")===0)return void this.ol(t);const o=t.type==="click"?this.al(t):void 0;if(Yc(o))return;this._l(t,"$autocapture",o)}catch(o){SvA.error("Failed to capture event",o)}};if(NE(A,"blur",e),NE(I,"submit",e,{capture:!0}),NE(I,"change",e,{capture:!0}),NE(I,"click",e,{capture:!0}),Gn(["pointerdown","pointermove","pointerup","pointercancel"],t=>{NE(I,t,e,{capture:!0})}),this.rl().capture_copied_text){const t=this.wl=o=>{o=o||A?.event;try{this._l(o,MvA)}catch(B){SvA.error("Failed to capture clipboard event",B)}};NE(I,"copy",t,{capture:!0}),NE(I,"cut",t,{capture:!0}),NE(I,"paste",t,{capture:!0})}}pl(){const A=this.ml,I=this.yl;this.el(),this.bl&&(A?.removeEventListener("blur",this.bl),Gn(["pointerdown","pointermove","pointerup","pointercancel"],e=>{I?.removeEventListener(e,this.bl,!0)}),I?.removeEventListener("submit",this.bl,!0),I?.removeEventListener("change",this.bl,!0),I?.removeEventListener("click",this.bl,!0),this.bl=void 0),this.wl&&(I?.removeEventListener("copy",this.wl,!0),I?.removeEventListener("cut",this.wl,!0),I?.removeEventListener("paste",this.wl,!0),this.wl=void 0),this.ml=void 0,this.yl=void 0,this.ll=!1}startIfEnabled(){this.isEnabled||this.el(),!this.Ci&&this.xa&&this.isEnabled&&!this.ll&&(this.gl(),this.ll=!0)}onRemoteConfig(A){if(this.Ci)return;if(this.cl=!0,!A.ok)return void this.startIfEnabled();const I=A.config;I.elementsChainAsString&&(this.dl=I.elementsChainAsString);const e=I.autocapture_opt_out;var t;Pm(e)&&((t=this.xa)===null||t===void 0||t.kv.set("$autocapture_disabled_server_side",e),this.ul=e),this.startIfEnabled()}setElementSelectors(A,I=this){if(this.Ci)return;A.size?this.hl.set(I,new Set(A)):this.hl.delete(I);const e=new Set;this.hl.forEach(t=>{t.forEach(o=>e.add(o))}),this.vl=e}getElementSelectors(A,I){var e;const t=[];return(e=this.vl)===null||e===void 0||e.forEach(o=>{var B;const C=(B=GgA())===null||B===void 0?void 0:B.querySelectorAll(o);C?.forEach(Q=>{A!==Q&&I!==Q||yB(t,o)||t.push(o)})}),t}get isEnabled(){var A,I;if(this.Ci)return!1;const e=(A=this.xa)===null||A===void 0?void 0:A.kv.get(zAI),t=this.ul,o=this.rl();if(!o.remoteRequestsDisabled&&!this.cl)return!1;const B=o.remoteRequestsDisabled&&!this.cl;if(Yc(t)&&!Pm(e)&&!B)return!1;const C=(I=this.ul)!==null&&I!==void 0?I:!!e;return!!o.enabled&&!C}_l(A,I="$autocapture",e){if(!this.isEnabled)return void this.el();let t=e||rgA(A);fgI(t)&&(t=t.parentNode||null);const o=this.fl();var B;I==="$autocapture"&&A.type==="click"&&A instanceof MouseEvent&&o.rageclick&&(!((B=this.rageclicks)===null||B===void 0)&&B.isRageClick(A.clientX,A.clientY,A.timeStamp||new Date().getTime()))&&KgI(t,o.rageclick)&&this._l(A,"$rageclick",e);const C=I===MvA,Q=C?QI(QI({},o),{},{dom_event_allowlist:void 0}):o;if(t&&(function(s,r,a,c,h,l){var D;const d=typeof window>"u"?void 0:window;if(!d||QvA(s)||a?.url_allowlist&&!RgI(a.url_allowlist,l)||a?.url_ignorelist&&RgI(a.url_ignorelist,l))return!1;if(a?.dom_event_allowlist){const G=a.dom_event_allowlist;if(G&&!G.some(m=>r.type===m))return!1}const{parentIsUsefulElement:y,targetElementList:w}=LgI(s,c);if(!(function(G,m){const p=m?.element_allowlist;if(Le(p))return!0;for(const k of G)if(p.some(S=>k.tagName.toLowerCase()===S))return!0;return!1})(w,a)||!tvA(w,a?.css_selector_allowlist)||tvA(w,(D=a?.css_selector_ignorelist)!==null&&D!==void 0?D:ovA))return!1;try{const G=d.getComputedStyle(s);if(G&&G.getPropertyValue("cursor")==="pointer"&&r.type==="click")return!0}catch{}const u=s.tagName.toLowerCase();switch(u){case"html":return!1;case"form":return(h||["submit"]).indexOf(r.type)>=0;case"input":case"select":case"textarea":return(h||["change","click"]).indexOf(r.type)>=0;default:return y?(h||["click"]).indexOf(r.type)>=0:(h||["click"]).indexOf(r.type)>=0&&(IvA.indexOf(u)>-1||s.getAttribute("contenteditable")==="true")}})(t,A,Q,C,C?["copy","cut","paste"]:void 0,{config:{get_current_url:o.getCurrentUrl}})){var i;const{props:s,explicitNoCapture:r,target:a}=Klt(t,{e:A,maskAllElementAttributes:o.maskAllElementAttributes,maskAllText:o.maskAllText,elementAttributeIgnoreList:o.element_attribute_ignorelist,elementsChainAsString:this.dl,disableCaptureUrlHashes:o.disableCaptureUrlHashes});if(r)return!1;const c=this.getElementSelectors(t,a);if(c&&c.length>0&&(s.$element_selectors=c),I===MvA){const h=A.type||"clipboard";if(h!=="paste"){var E,n;const l=(E=kvA())===null||E===void 0||(E=E.getSelection())===null||E===void 0?void 0:E.toString(),D=NgI(l);if(!D)return!1;s.$selected_content=D,s.$clipboard_text_length=(n=l?.length)!==null&&n!==void 0?n:0}s.$copy_type=h}return(i=this.xa)===null||i===void 0||i.capture(I,s),!0}}isBrowserSupported(){var A;return Q0((A=GgA())===null||A===void 0?void 0:A.querySelectorAll)}};const OII="featureFlags",WII="logs";var Ylt=class{constructor(A){this._instance=A}initialize(){}get(A){const I=this._instance.persistence;if(typeof A=="string")return I?.get_property(A);const e={};for(const t of A){const o=I?.get_property(t);Le(o)||(e[t]=o)}return e}set(A,I){var e;(e=this._instance.persistence)===null||e===void 0||e.register(typeof A=="string"?{[A]:I}:A)}remove(A){var I;(I=this._instance.persistence)===null||I===void 0||I.unregister(A)}},_lt=class{constructor(A){this.instance=A,this.$=Dt,this.kv=new Ylt(A),this.onSession=I=>pDA(this.instance.onSessionId(e=>{try{I(e)}catch(t){this.$.error("Browser extension session listener failed",t)}})),this.onEvent=I=>pDA(this.instance._addCaptureHook((e,t)=>{if(t)try{I({event:e,properties:t.properties})}catch(o){this.$.error("Browser extension event listener failed",o)}})),this.onRemoteConfig=I=>{const e=o=>{try{I(o)}catch(B){this.$.error("Browser extension remote config listener failed",B)}},t=this.instance.ur.on("extensionsRemoteConfig",e);return this.instance.cr&&e(this.instance.cr),pDA(t)}}get logger(){return this.$}get distinctId(){return this.instance.get_distinct_id()}get anonymousId(){var A;return(A=this.instance.get_property("$device_id"))!==null&&A!==void 0?A:this.distinctId}get deviceId(){const A=this.instance.get_property(R6A);return typeof A=="string"?A:void 0}get library(){return{name:Dk.LIB_NAME,version:Dk.LIB_VERSION}}get initialPersonProperties(){var A,I;return(A=(I=this.instance.persistence)===null||I===void 0?void 0:I.get_initial_props())!==null&&A!==void 0?A:{}}get groups(){return this.instance.getGroups()}get session(){try{var A,I,e,t,o;const B=(A=this.instance.sessionManager)===null||A===void 0?void 0:A.checkAndGetSessionAndWindowId(!0);return{sessionId:(I=B?.sessionId)!==null&&I!==void 0?I:"",windowId:(e=B?.windowId)!==null&&e!==void 0?e:"",sessionStartTimestamp:(t=B?.sessionStartTimestamp)!==null&&t!==void 0?t:0,lastActivityTimestamp:(o=B?.lastActivityTimestamp)!==null&&o!==void 0?o:0}}catch{return{sessionId:"",windowId:"",sessionStartTimestamp:0,lastActivityTimestamp:0}}}get isOptedOut(){return this.instance.has_opted_out_capturing()}get canCapture(){return Q0(this.instance.is_capturing)?this.instance.is_capturing():!this.isOptedOut}get projectToken(){return this.instance.config.token}getExtension(A){let I;switch(A){case OII:case"featureFlagsCommon":I=this.instance.featureFlags;break;case WII:I=this.instance.logs;break;case"surveys":I=this.instance.surveys;break;case ZII:I=this.instance.autocapture}return I}capture(A,I,e){if(!e)return void this.instance.capture(A,I);const t=QI({timestamp:e.timestamp,uuid:e.uuid,$set:e.set,$set_once:e.setOnce},e.delivery==="unload"?{transport:"sendBeacon",send_instantly:!0}:{});this.instance.capture(A,I,t)}registerDynamicEventProperties(A){return pDA(this.instance.dr(A))}sendRequest(A){var I=this;return ia(function*(e,t={}){var o;const B=(o=t.target)!==null&&o!==void 0?o:"api",C=t.query?SDA(e,t.query):e,Q=I.instance.requestRouter.endpointFor(B,C),i={method:t.method,url:Q,data:t.body,headers:t.headers,timeout:t.timeoutMs,fireCallbackOnDrop:!0,transport:t.transport,compression:t.compression,compressionFallback:t.target==="flags"&&t.compression==="best-available"?A6A.Base64:void 0,timestampMode:t.sentAt};return B==="api"&&e==="/i/v1/logs"&&(i.batchKey="logs"),t.transport==="sendBeacon"?(I.instance._send_request(i),{statusCode:202}):new Promise(E=>{i.callback=E,I.instance._send_request(i)})}).apply(this,arguments)}};const mgA={};let RvA=0;const pgA=()=>{},VII='Consent opt in/out is not valid with cookieless_mode="always" and will be ignored',kq="Surveys module not available",jII="sanitize_properties is deprecated. Use before_send instead",zII="Invalid value for property_denylist config: ",blt=["$recording_status","$sdk_debug_recording_script_not_loaded","$sdk_debug_replay_url_trigger_status","$sdk_debug_replay_event_trigger_status","$sdk_debug_replay_linked_flag_trigger_status","$sdk_debug_replay_rrweb_error","$sdk_debug_replay_internal_buffer_length","$sdk_debug_replay_flushed_size"],Hlt=["$feature_flag_called","$$heatmap","$snapshot"],XII=g=>g.charAt(0)==="$"&&!yB(Hlt,g),vlt=/^[A-Za-z0-9_-]{1,400}$/,$II=/^fb\.[0-9]+\.[0-9]+\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?$/,AeI=/^fb\.[0-9]+\.[0-9]+\.[0-9]+$/,Tlt=["token","distinct_id",CgI],kgA="posthog",qlt=g=>{const A={};return g&&g!=="unset"&&("2025-11-30">g||(A.strictMinimumDuration=!0),"2026-05-30">g||(A.canvasCapture={resolutionScale:.6}),"2026-06-25">g||(A.streamNetworkBody=!0),"2026-08-30">g||(A.captureJsonLd=!0)),A},NvA=g=>{var A;return QI({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,asset_host:null,token:"",autocapture:!0,cross_subdomain_cookie:K0t(co?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:pgA,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:g??"unset",__preview_deferred_init_extensions:!1,__preview_replay_sync_fetch:!0,__preview_external_dependency_versioned_paths:!1,__preview_cookie_wins_on_conflict:!1,debug:Qa&&KC(Qa?.search)&&Qa.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!1,disableDeviceModel:!1,reuseAnonymousId:!1,disable_external_dependency_loading:!1,strict_script_versioning:"fallback",enable_recording_console_log:void 0,secure_cookie:(Se==null||(A=Se.location)===null||A===void 0?void 0:A.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_feature_flags_dedup_per_session:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,feature_flag_request_max_retries:1,surveys_request_timeout_ms:1e4,on_request_error(I){Dt.error("Bad HTTP status: "+I.statusCode+" "+I.text)},get_device_id:I=>I,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:lgI,before_send:void 0,get_current_url:void 0,request_queue_config:{flush_interval_ms:3e3},error_tracking:{},_onCapture:pgA},(I=>({rageclick:I&&I>="2026-05-30"?{content_ignorelist:BvA,ignore_text_selection:!0}:!I||"2025-11-30">I||{content_ignorelist:!0},capture_pageview:!I||"2025-05-24">I||"history_change",session_recording:qlt(I),external_scripts_inject_target:I&&I>="2026-01-30"?"head":"body",internal_or_test_user_hostname:I&&I>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0,persistence_save_debounce_ms:I&&I>="2026-05-30"?250:0,split_storage:!(!I||"2026-05-30">I),detect_google_search_app:!(!I||"2026-05-30">I),disable_capture_url_hashes:!(!I||"2026-06-25">I),cookieWinsOnConflict:!(!I||I==="unset"||"2026-08-29">I)}))(g))},Zlt=[["process_person","person_profiles"],["xhr_headers","request_headers"],["cookie_name","persistence_name"],["disable_cookie","disable_persistence"],["__preview_disable_beacon","disable_beacon"],["store_google","save_campaign_params"],["verbose","debug"],["__preview_cookie_wins_on_conflict","cookieWinsOnConflict"]],geI=g=>{const A={};for(const[t,o]of Zlt)Le(g[t])||(A[o]=g[t]);const I=ar({},A,g),e=g.__preview_external_dependency_versioned_paths;return Le(e)||(Le(g.strict_script_versioning)&&(I.strict_script_versioning=!!e),KC(e)&&Le(g.asset_host)&&(I.asset_host=e)),cB(g.property_blacklist)&&(Le(g.property_denylist)?I.property_denylist=g.property_blacklist:cB(g.property_denylist)?I.property_denylist=[...g.property_blacklist,...g.property_denylist]:Dt.error(zII+g.property_denylist)),I};var Olt=class{constructor(){this.__forceAllowLocalhost=!1}get Yc(){return this.__forceAllowLocalhost}set Yc(A){Dt.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=A}},MgA=class NY{th(A){if(!A)return;const I=this.eh.indexOf(A);I!==-1&&this.eh.splice(I,1)}ih(A,I){var e;return this.th(A),this.eh.push(I),(e=I.initialize)===null||e===void 0||e.call(I),I}nh(){return this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isRejected()}sh(){if(this.rh||this.config.reuseAnonymousId||this.config.segment||this.nh())return;const A=this.config.persistence==="memory"||this.config.persistence==="sessionStorage";if(!A&&!this.config.disable_persistence||this.oh)return;let I,e,t;A?(I=`persistence is set to '${this.config.persistence}'`,e=this.config.persistence==="memory"?"on every page load":"for every new browser tab or window",t="Either set persistence to 'localStorage+cookie', keep this persistence and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."):(I="persistence is disabled (disable_persistence is true)",e="on every page load",t="Either set disable_persistence to false, keep persistence disabled and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."),this.rh=!0,console.warn("[PostHog.js]",`${I} but no bootstrap.distinctID was provided. PostHog will mint a new distinct ID ${e}, so calling identify() merges a new ID onto the person each time. A person can then pass the distinct-ID limit and its events stop appearing on person pages and the session tab. ${t}`)}ah(){const A=this.persistence;if(!A||this.uh)return;if(this.nh())return void(this.config.cookieless_mode==="on_reject"&&this.get_distinct_id()!=="$posthog_cookieless"&&(this.hh(),this.dh()));if(this.get_distinct_id()!=="$posthog_cookieless")return;this.fh()||A.load(!0);const I=this.get_distinct_id();if(!I||I==="$posthog_cookieless"){const e=this.config.get_device_id(UR());this.register({distinct_id:e,$device_id:e}),A.set_property(Km,cJ)}this.hh()}get decideEndpointWasHit(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.hasLoadedFlags)!==null&&A!==void 0&&A}get flagsEndpointWasHit(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.hasLoadedFlags)!==null&&A!==void 0&&A}constructor(){var A;this.ph=!1,this.gh=!1,this.webPerformance=new Olt,this.mh=!1,this.version=Dk.LIB_VERSION,this.yh=new Set,this.bh="",this.ur=new fDA,this.eh=[],this._h=[],this.wh=!1,this.oh=!1,this.rh=!1,this.uh=!1,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=NvA(),this.SentryIntegration=Ilt,this.sentryIntegration=e=>(function(t,o){const B=VgI(t,o);return{name:WgI,processEvent:C=>B(C)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.kh=!1,this.Sh=null,this.xh=null,this.$h=null,this.scrollManager=new plt(this),this.pageViewManager=new jgI(this),this.rateLimiter=new slt(this),this.requestRouter=new Rlt(this),this.consent=new q0t(this),this.externalIntegrations=new Jlt(this);const I=(A=NY.__defaultExtensionClasses)!==null&&A!==void 0?A:{};this.featureFlags=I.featureFlags&&new I.featureFlags(this),this.toolbar=I.toolbar&&new I.toolbar(this),this.surveys=I.surveys&&new I.surveys(this),this.conversations=I.conversations&&new I.conversations(this),this.logs=I.logs&&new I.logs(this),this.metrics=I.metrics&&new I.metrics(this),this.experiments=I.experiments&&new I.experiments(this),this.exceptions=I.exceptions&&new I.exceptions(this),this.people={set:(e,t,o)=>{const B=KC(e)?{[e]:t}:e;this.setPersonProperties(B),o?.({})},set_once:(e,t,o)=>{const B=KC(e)?{[e]:t}:e;this.setPersonProperties(void 0,B),o?.({})}},this.on("eventCaptured",e=>Dt.info(`send "${e?.event}"`,e))}init(A,I,e){if(e&&e!==kgA){var t;const o=(t=mgA[e])!==null&&t!==void 0?t:new NY;return o._init(A,I,e),mgA[e]=o,mgA[kgA][e]=o,o}return this._init(A,I,e)}_init(A,I={},e){var t,o,B;const C=KC(A)?A.trim():"";if(!C)return Dt.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;var Q;if(this.__loaded)return C!==((Q=this.config)===null||Q===void 0?void 0:Q.token)?console.warn("[PostHog.js]",`You have already initialized PostHog with a different project token! Re-initializing is a no-op, so events will keep going to the project this instance was initialized with. To capture into a second project, load PostHog once, then initialize a named instance after the SDK has loaded, e.g. posthog.init('${C}', { ... }, 'project2')`):console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config=NvA(I.defaults),I.debug=this.Ch(I.debug),this.Th=I,this.Ih=[],I.person_profiles?this.xh=I.person_profiles:I.process_person&&(this.xh=I.process_person);const i=NvA(I.defaults),E=geI(I),n=ar({},i,E,{name:e,token:C});yC(i.rageclick)&&yC(E.rageclick)&&(n.rageclick=ar({},i.rageclick,E.rageclick)),yC(i.session_recording)&&yC(E.session_recording)&&(n.session_recording=ar({},i.session_recording,E.session_recording)),this.set_config(n),this.config.on_xhr_error&&Dt.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=I.disable_compression?void 0:gS.GZipJS;const s=this.fh(),r=!this.nh();if(this.persistence=new EvA(this.config,s,!0,r),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new EvA(QI(QI({},this.config),{},{persistence:"sessionStorage"}),s,!1,r),this.bh="ph_"+(this.config.persistence_name||this.config.token)+"_session_registered_properties",this.config.persistence!=="memory"&&!s&&Ea.$t()){const D=Ea.Lt(this.bh);cB(D)&&D.forEach(d=>{KC(d)&&this.yh.add(d)})}else Ea.Pt(this.bh);const a=QI({},this.persistence.props),c=QI({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Mh=new ult((D,d)=>this.Eh(D,d),this.config.request_queue_config),this.Ph=new mlt(this),this.__request_queue=[];const h=this.nh();h||(this.sessionManager=new KII(this),this.sessionPropsManager=new JII(this,this.sessionManager,this.persistence),this.sessionManager.onSessionId((D,d,y)=>{(y?.activityTimeout||y?.sessionPastMaximumLength||y?.crossTabAdoption)&&this.Rh()})),this.Ah(),this.config.__preview_deferred_init_extensions?(Dt.info("Deferring extension initialization to improve startup performance"),this.Fh=setTimeout(()=>{this.Fh=void 0,this.Oh(h)},0)):(Dt.info("Initializing extensions synchronously"),this.Oh(h)),Dk.DEBUG=Dk.DEBUG||this.config.debug,Dk.DEBUG&&Dt.info("Starting in debug mode",{this:this,config:I,thisC:QI({},this.config),p:a,s:c}),this.config.identity_distinct_id&&!(!((t=I.bootstrap)===null||t===void 0)&&t.distinctID)&&(I.bootstrap=QI(QI({},I.bootstrap),{},{distinctID:this.config.identity_distinct_id,isIdentifiedID:!0}));const l=(o=I.bootstrap)===null||o===void 0?void 0:o.distinctID;if(this.oh=!!l&&!XAA(l),(B=I.bootstrap)===null||B===void 0?void 0:B.distinctID){const D=I.bootstrap.distinctID,d=this.get_distinct_id(),y=this.persistence.get_property(Km);if(I.bootstrap.isIdentifiedID&&d!=null&&d!==D&&y==="anonymous")this.identify(D);else if(I.bootstrap.isIdentifiedID&&d!=null&&d!==D&&y==="identified")Dt.warn("Bootstrap distinctID differs from an already-identified user. The existing identity is preserved. Call reset() before reinitializing if you intend to switch users.");else{const w=this.config.get_device_id(UR()),u=I.bootstrap.isIdentifiedID?w:D;this.persistence.set_property(Km,I.bootstrap.isIdentifiedID?lDA:cJ),this.register({distinct_id:D,$device_id:u})}}if(h)this.register_once({distinct_id:H6A,$device_id:null},"");else if(!this.get_distinct_id()){const D=this.config.get_device_id(UR());this.register_once({distinct_id:D,$device_id:D},""),this.persistence.set_property(Km,cJ)}return NE(Se,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),NE(Se,"pageshow",()=>{var D;this.ph=!1,this.gh||(D=this.Ph)===null||D===void 0||D.resume()}),I.segment?OgI(this,()=>this.Dh()):this.Dh(),Q0(this.config._onCapture)&&this.config._onCapture!==pgA&&(Dt.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",D=>this.config._onCapture(D.event,D))),this.config.ip&&Dt.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this.config.disableDeviceModel||(function(){return YII.apply(this,arguments)})().then(D=>{D&&this.register({[N6A]:D})}).catch(pgA),this}Lh(A){const I=A;return KC(I.name)&&Q0(I.setup)}Nh(A,I){var e=this;this.Lh(A)?I.push(ia(function*(){try{yield A.setup(e.qh())}catch(o){Dt.error(`Failed to set up extension "${A.name}"`,o);try{var t;yield(t=A.dispose)===null||t===void 0?void 0:t.call(A)}catch(B){Dt.error(`Failed to dispose extension "${A.name}"`,B)}}})):this.eh.push(A)}Ah(){var A,I,e,t=this;const o=(A=(I=this.config.__extensionClasses)===null||I===void 0?void 0:I.featureFlags)!==null&&A!==void 0?A:(e=NY.__defaultExtensionClasses)===null||e===void 0?void 0:e.featureFlags;var B,C,Q;if(o)if(this.featureFlags&&this.featureFlags instanceof o||((B=this.jh)===null||B===void 0||B.call(this),this.jh=void 0,this.featureFlags=new o(this)),Q0(this.featureFlags.onReloading)&&Q0(this.featureFlags.setup)){if(!this.jh){this.jh=this.featureFlags.onReloading(()=>{this.ur.emit("featureFlagsReloading",!0)});const i=this.featureFlags;ia(function*(){try{yield i.setup(t.qh())}catch(E){Dt.error("Failed to set up feature flags",E);const n=t.jh;t.jh=void 0;try{n?.()}catch(s){Dt.error("Failed to unsubscribe feature flag reloading",s)}try{yield i.dispose()}catch(s){Dt.error("Failed to dispose feature flags",s)}}})()}}else(C=(Q=this.featureFlags).initialize)===null||C===void 0||C.call(Q)}Oh(A){const I=performance.now(),e=QI(QI({},NY.__defaultExtensionClasses),this.config.__extensionClasses),t=[];var o,B,C,Q,i,E,n,s;e.exceptions&&this.eh.push(this.exceptions=(o=this.exceptions)!==null&&o!==void 0?o:new e.exceptions(this)),e.historyAutocapture&&this.eh.push(this.historyAutocapture=new e.historyAutocapture(this)),e.tracingHeaders&&this.eh.push(this.tracingHeaders=new e.tracingHeaders(this)),e.siteApps&&this.eh.push(this.siteApps=new e.siteApps(this)),e.sessionRecording&&!A&&this.eh.push(this.sessionRecording=new e.sessionRecording(this)),this.config.disable_scroll_properties||t.push(()=>{this.scrollManager.startMeasuringScrollPosition()}),e.autocapture&&this.Nh(this.autocapture=new e.autocapture(this),t),e.surveys&&this.Nh(this.surveys=(B=this.surveys)!==null&&B!==void 0?B:new e.surveys(this),t),e.logs&&this.Nh(this.logs=(C=this.logs)!==null&&C!==void 0?C:new e.logs(this),t),e.metrics&&this.eh.push(this.metrics=(Q=this.metrics)!==null&&Q!==void 0?Q:new e.metrics(this)),e.conversations&&this.eh.push(this.conversations=(i=this.conversations)!==null&&i!==void 0?i:new e.conversations(this)),e.productTours&&this.eh.push(this.productTours=new e.productTours(this)),e.heatmaps&&this.eh.push(this.heatmaps=new e.heatmaps(this)),e.webVitalsAutocapture&&this.eh.push(this.webVitalsAutocapture=new e.webVitalsAutocapture(this)),e.exceptionObserver&&this.eh.push(this.exceptionObserver=new e.exceptionObserver(this)),e.deadClicksAutocapture&&this.eh.push(this.deadClicksAutocapture=new e.deadClicksAutocapture(this,glt)),e.toolbar&&this.eh.push(this.toolbar=(E=this.toolbar)!==null&&E!==void 0?E:new e.toolbar(this)),e.experiments&&this.eh.push(this.experiments=(n=this.experiments)!==null&&n!==void 0?n:new e.experiments(this)),e.webMCP&&this.eh.push(this.webMCP=(s=this.webMCP)!==null&&s!==void 0?s:new e.webMCP(this)),this.eh.forEach(r=>{r.initialize&&t.push(()=>{var a;(a=r.initialize)===null||a===void 0||a.call(r)})}),t.push(()=>{if(this.Bh){const r=this.Bh;this.Bh=void 0,this.eh.forEach(a=>{var c;return(c=a.onRemoteConfig)===null||c===void 0?void 0:c.call(a,r)})}}),this.zh(t,I)}zh(A,I){for(;A.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-I>=30&&A.length>0)return void(this.Fh=setTimeout(()=>{this.Fh=void 0,this.zh(A,I)},0));const t=A.shift();if(t)try{t()}catch(o){Dt.error("Error initializing extension:",o)}}const e=Math.round(performance.now()-I);this.register_for_session({[QgI]:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",[igI]:e}),this.config.__preview_deferred_init_extensions&&Dt.info(`PostHog extensions initialized (${e}ms)`)}Gu(A){if(!co||!co.body)return Dt.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout(()=>{this.Gu(A)},500);if(this.config.__preview_deferred_init_extensions&&(this.Bh=A),this.cr=A,this.compression=void 0,A.ok){var I;const e=A.config;e.supportedCompression&&!this.config.disable_compression&&(this.compression=yB(e.supportedCompression,gS.GZipJS)?gS.GZipJS:yB(e.supportedCompression,gS.Base64)?gS.Base64:void 0),!((I=e.analytics)===null||I===void 0)&&I.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint)}this.set_config({person_profiles:this.xh?this.xh:lgI}),this.ur.emit("extensionsRemoteConfig",A),this.eh.forEach(e=>{var t;return(t=e.onRemoteConfig)===null||t===void 0?void 0:t.call(e,A)})}Dh(){try{this.config.loaded(this)}catch(A){Dt.critical("`loaded` function failed",A)}if(this.Hh(),this.config.internal_or_test_user_hostname&&Qa?.hostname){const A=Qa.hostname,I=this.config.internal_or_test_user_hostname;(typeof I=="string"?A===I:I.test(A))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout(()=>{(this.consent.isOptedIn()||this.nh())&&this.Uh()},1),this.Wh=new aII(this),this.Wh.load()}Hh(){var A;this.is_capturing()&&this.config.request_batching&&((A=this.Mh)===null||A===void 0||A.enable())}_dom_loaded(){this.is_capturing()&&aq(this.__request_queue,A=>this.Eh(A)),this.__request_queue=[],this.Hh()}_handle_unload(){var A,I,e,t,o,B;this.ph=!0,(A=this.surveys)===null||A===void 0||(I=A.handlePageUnload)===null||I===void 0||I.call(A),(e=this.metrics)===null||e===void 0||e.flush("sendBeacon"),this.config.request_batching?(this.Vh()&&this.capture(DgI),(t=this.logs)===null||t===void 0||t.flushLogs("sendBeacon"),(o=this.Mh)===null||o===void 0||o.unload(),(B=this.Ph)===null||B===void 0||B.unload()):this.Vh()&&this.capture(DgI,null,{transport:"sendBeacon"})}_send_request(A){UII(this,A)}Eh(A,I){this.Ph?this.Ph.retriableRequest(A,I):this._send_request(I?QI(QI({},A),{},{transport:I}):A)}_execute_array(A){RvA++;try{let I;const e=[],t=[],o=[];aq(A,C=>{if(C)if(I=C[0],cB(I))o.push(C);else if(Q0(C))try{C.call(this)}catch(Q){Dt.error("Error executing queued PostHog call",C,Q)}else cB(C)&&I==="alias"?e.push(C):cB(C)&&I.indexOf("capture")!==-1&&Q0(this[I])?o.push(C):t.push(C)});const B=function(C,Q){aq(C,function(i){try{if(cB(i[0])){let E=Q;Gn(i,function(n){E=E[n[0]].apply(E,n.slice(1))})}else Q[i[0]].apply(Q,i.slice(1))}catch(E){Dt.error("Error executing queued PostHog call",i,E)}})};B(e,this),B(t,this),B(o,this)}finally{RvA--}}push(A){if(RvA>0&&cB(A)&&KC(A[0])){const I=NY.prototype[A[0]];return void(Q0(I)&&I.apply(this,A.slice(1)))}this._execute_array([A])}get Gh(){return{property:XAI,persistenceKey:Eq,cookieName:"_fbc",pattern:$II,register:(A,I)=>{var e;return(e=this.persistence)===null||e===void 0?void 0:e.register({[Eq]:{value:A,delivered:I}})},unregister:()=>{var A;return(A=this.persistence)===null||A===void 0?void 0:A.unregister(Eq)}}}get Qh(){return{property:$AI,persistenceKey:QgA,cookieName:"_fbp",pattern:AeI,register:(A,I)=>{var e;return(e=this.persistence)===null||e===void 0?void 0:e.register({[QgA]:{value:A,delivered:I}})},unregister:()=>{var A;return(A=this.persistence)===null||A===void 0?void 0:A.unregister(QgA)}}}Zh(A){var I;const e=(I=this.persistence)===null||I===void 0?void 0:I.get_property(A.persistenceKey);return KC(e)&&A.pattern.test(e)?{value:e,delivered:!1}:yC(e)&&KC(e.value)&&A.pattern.test(e.value)?{value:e.value,delivered:e.delivered===!0}:void 0}Jh(A,I,e){return I===e?.value?{value:I,pending:!e.delivered}:(A.register(I,!1),{value:I,pending:!0})}Kh(A){if(!this.config.save_campaign_params||this.nh())return;const I=EgA(A.cookieName);return KC(I)&&A.pattern.test(I)?I:void 0}Xh(A,I,e,t){if(!this.persistence)return;const o=this.Gh;this.persistence.refreshMetaIdentifiers();const B=this.Zh(o);if(t)return void o.unregister();if(e)return KC(I)&&$II.test(I)?this.Jh(o,I,B):void o.unregister();const C=KC(A)&&vlt.test(A)?A:void 0,Q=this.Kh(o);return Q&&((i,E,n)=>{const s=i.split(".");if(E)return s[3]===E;if(!n)return!0;const r=n.value.split(".");return s[3]===r[3]||Number(s[2])>Number(r[2])})(Q,C,B)?this.Jh(o,Q,B):C?B?.value.split(".")[3]===C?{value:B.value,pending:!B.delivered}:this.Jh(o,`fb.1.${Date.now()}.${C}`,B):B?{value:B.value,pending:!B.delivered}:void 0}Yh(A,I,e){if(!this.persistence)return;const t=this.Qh;this.persistence.refreshMetaIdentifiers();const o=this.Zh(t);if(e)return void t.unregister();if(I)return KC(A)&&AeI.test(A)?this.Jh(t,A,o):void t.unregister();const B=this.Kh(t);return B?this.Jh(t,B,o):o?{value:o.value,pending:!o.delivered}:void 0}td(A,I){if(!this.persistence)return;this.persistence.refreshMetaIdentifiers();const e=this.Zh(A);e?.value!==I||e.delivered||A.register(I,!0)}capture(A,I,e){var t,o;if(!(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Mh))return void Dt.uninitializedWarning("posthog.capture");if(!this.is_capturing())return void Dt.info(`Event "${A}" was not captured because capturing is disabled (opted out or consent pending).`);if(Le(A)||!KC(A))return void Dt.error("No event name provided to posthog.capture");if(this.ah(),A==="$snapshot"&&this.nh())return;const B=!this.config.opt_out_useragent_filter&&this._is_bot();if(B&&!this.config.__preview_capture_bot_pageviews)return void Dt.info(`Event "${A}" was not captured because the user agent looks like a bot. Set \`opt_out_useragent_filter: true\` to capture it.`);const C=e?.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(C?.isRateLimited)return void Dt.critical("This capture call is ignored due to client rate limiting.");let Q;I?.$current_url&&!KC(I?.$current_url)&&(Dt.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),I==null||delete I.$current_url),A!=="$exception"||e?.ed||Dt.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&(Q=this.sessionPersistence.update_campaign_params()),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();const i=new Date,E=e?.timestamp||i,n=CAI(e?.uuid,UR);let s={uuid:n,event:A,properties:this.calculateEventProperties(A,I||{},E,n)};A==="$pageview"&&this.config.__preview_capture_bot_pageviews&&B&&(s.event="$bot_pageview",s.properties.$browser_type="bot"),C&&(s.properties.$lib_rate_limit_remaining_tokens=C.remainingTokens);const r=A==="$feature_flag_called"&&s.properties.$feature_flag_has_experiment===!1&&this.get_property("$minimal_flag_called_events")===!0;e?.$set&&!r&&(s.$set=e?.$set);const a=yC(I?.$set)?I.$set:void 0,c=cB(I?.$unset)?I.$unset:[],h=e?.$unset||[],l=N=>{var U;const K=!!e?.$set&&N in e.$set;return{hasProvided:K||!!a&&N in a,provided:K?e==null||(U=e.$set)===null||U===void 0?void 0:U[N]:a?.[N],unset:c.indexOf(N)!==-1||h.indexOf(N)!==-1}},D=l(XAI),d=l($AI),y=[{channel:this.Gh,hasProvided:D.hasProvided,update:this.Xh(Q?.fbclid,D.provided,D.hasProvided,D.unset)},{channel:this.Qh,hasProvided:d.hasProvided,update:this.Yh(d.provided,d.hasProvided,d.unset)}];for(const{channel:N,hasProvided:U,update:K}of y)K&&s.properties.$process_person_profile===!0&&K.pending&&!U&&!r&&(s.$set=QI({[N.property]:K.value},s.$set));const w=e?.$unset;w&&(s.$unset=w);const u=r?void 0:this.nd(e?.$set_once,A!==ygI,A===dgI);if(u&&(s.$set_once=u),e?._noTruncate||(G=this.config.properties_string_max_length,s=(function(N,U){const K=new Set;return(function Y(_,q){if(_!==Object(_))return U?U(_):_;if(K.has(_))return;let j;if(K.add(_),cB(_))j=[],aq(_,W=>{j.push(Y(W))});else{const W={};Gn(oq(_)?wgI(_):_,(Z,$)=>{K.has(Z)||(W[$]=Y(Z))}),j=W}return j})(N)})(s,N=>KC(N)?N.slice(0,G):N)),s.timestamp=E,Le(e?.timestamp)||(s.properties.$event_time_override_provided=!0,s.properties.$event_time_override_system_time=i),r&&(s.properties=((N,U=[])=>{const K={},Y=_=>{N[_]!==void 0&&(K[_]=N[_])};return Sht.forEach(Y),U.forEach(Y),K})(s.properties,Tlt)),A===IS.DISMISSED||A===IS.SENT){const N=I?.[svA.SURVEY_ID],U=I?.[svA.SURVEY_ITERATION];TII({id:N,current_iteration:U}),s.$set=QI(QI({},s.$set),{},{[Mlt({id:N,current_iteration:U},A===IS.SENT?"responded":"dismissed")]:!0})}else A===IS.SHOWN&&(s.$set=QI(QI({},s.$set),{},{[svA.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var G;if(A===nlt.SHOWN){const N=I?.[nII.TOUR_TYPE];N&&(s.$set=QI(QI({},s.$set),{},{[`${nII.TOUR_LAST_SEEN_DATE}/${N}`]:new Date().toISOString()}))}const m=QI(QI({},s.properties.$set),s.$set);if(lk(m)||this.setPersonPropertiesForFlags(m),!hC(this.config.before_send)){const N=this.Os(s);if(!N)return;s=N,s.uuid=CAI(s.uuid,UR)}this.sessionRecording&&!this.wh&&XII(A)&&(this.wh=!0,setTimeout(()=>this.wh=!1,3e4));const p=y.filter(({channel:N,update:U})=>{var K,Y,_;const q=(K=(Y=s.$set)===null||Y===void 0?void 0:Y[N.property])!==null&&K!==void 0?K:yC((_=s.properties)===null||_===void 0?void 0:_.$set)?s.properties.$set[N.property]:void 0;return U?.pending&&q===U.value});this.ur.emit("eventCaptured",s);const k=(t=e?._url)!==null&&t!==void 0?t:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),S=e?._batchKey==="recordings"||/\/s\/(?:\?|$)/.test(k),R=QI(QI(QI({method:"POST",url:k,data:s,compression:"best-available",preferSyncCompression:e?.send_instantly,timestampMode:S?"body":"capture-body",batchKey:e?._batchKey},S&&(!((o=s.properties)===null||o===void 0)&&o.$session_id)?{batchGroup:s.properties.$session_id+(s.properties.$window_id?`-${s.properties.$window_id}`:"")}:{}),e?.transport?{transport:e.transport}:{}),p.length?{fireCallbackOnDrop:!0,callback:N=>{if(N.statusCode>=200&&300>N.statusCode)for(const{channel:U,update:K}of p)this.td(U,K.value)}}:{});if(!this.config.request_batching||e&&!e?._batchKey||e?.send_instantly){var x;let N;!R.transport&&!R.callback&&lk((x=this.config.request_headers)!==null&&x!==void 0?x:{})&&this.ph&&(N="sendBeacon"),this.Eh(R,N)}else this.Mh.enqueue(R);return s}_addCaptureHook(A){return this.on("eventCaptured",I=>A(I.event,I))}getExtension(A){var I;return(I=this.sd)===null||I===void 0?void 0:I.getExtension(A)}qh(){var A;return(A=this.sd)!==null&&A!==void 0?A:this.sd=new _lt(this)}dr(A){this._h.push(A);let I=!0;return()=>{if(!I)return;I=!1;const e=this._h.indexOf(A);e!==-1&&this._h.splice(e,1)}}rd(A=!0){var I,e,t;return!!(!((I=this.persistence)===null||I===void 0)&&I.consumeCookieIdentityChange())&&(this.$h=null,this.persistence.get_property("$user_state")==="anonymous"&&((t=this.sessionPersistence)===null||t===void 0||t.clear(),this.yh.clear(),this.od()),(e=this.featureFlags)===null||e===void 0||e.reset(),A&&this.reloadFeatureFlags(),!0)}calculateEventProperties(A,I,e,t,o){if(e=e||new Date,!this.persistence||!this.sessionPersistence)return I;this.ah(),this.persistence.syncCookieProperties(),this.rd();const B=o?void 0:this.persistence.remove_event_timer(A);let C=QI({},I);if(C.token=this.config.token,C.$config_defaults=this.config.defaults,this.nh()&&(C[CgI]=!0),A==="$snapshot"){const D=QI(QI({},this.persistence.properties()),this.sessionPersistence.properties());return C.distinct_id=D.distinct_id,(!KC(C.distinct_id)&&!i0(C.distinct_id)||XAA(C.distinct_id))&&Dt.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),C}const Q=(function(D,d,y,w=!1){var u,G,m,p;if(!Jm)return{};const k=D?[...wq,...d||[]]:[],[S,R]=IAI(Jm),[x,N]=(function(eA){for(let IA=0;tAI.length>IA;IA++){const[QA,sA,lA]=tAI[IA],BA=eA.match(QA);if(BA){const hA=lA&&eA.match(lA)||BA;return[sA,hA?.[1]||""]}}return["",""]})(Jm),U=(function(){const eA="u">typeof navigator?navigator:void 0;return eA?.brave?{brave:!0}:{}})(),K={};Le(y)||(K.detectGoogleSearchApp=y);const Y={},_=(u=navigator)===null||u===void 0||(u=u.userAgentData)===null||u===void 0?void 0:u.platform,q=(G=navigator)===null||G===void 0?void 0:G.maxTouchPoints,j=Se==null||(m=Se.screen)===null||m===void 0?void 0:m.width,W=Se==null||(p=Se.screen)===null||p===void 0?void 0:p.height,Z=Se?.devicePixelRatio;Le(_)||(Y.userAgentDataPlatform=_),Le(q)||(Y.maxTouchPoints=q),Le(j)||(Y.screenWidth=j),Le(W)||(Y.screenHeight=W),Le(Z)||(Y.devicePixelRatio=Z);const $=ar(Z6A({$os:S,$os_version:R,$browser:AAI(Jm,navigator.vendor,U,K),$webview_app:x,$webview_app_version:N,$device:eAI(Jm),$device_type:jct(Jm,Y),$timezone:zgI(),$timezone_offset:Qlt()}),{$current_url:lgA(w?E3(Qa?.href):Qa?.href,k,DgA),$host:Qa?.host,$pathname:Qa?.pathname,$raw_user_agent:Jm.length>1e3?Jm.substring(0,997)+"...":Jm,$browser_version:Vct(Jm,navigator.vendor,U,K),$browser_language:tII(),$browser_language_prefix:Clt(),$screen_height:Se?.screen.height,$screen_width:Se?.screen.width,$viewport_height:Se?.innerHeight,$viewport_width:Se?.innerWidth,$lib:nJ.LIB_NAME,$lib_version:nJ.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3});return nJ.SDK_DIST_CHANNEL&&($.$sdk_dist_channel=nJ.SDK_DIST_CHANNEL),$})(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties,this.config.detect_google_search_app,this.config.disable_capture_url_hashes);if(this.sessionManager){const{sessionId:D,windowId:d}=this.sessionManager.checkAndGetSessionAndWindowId(o,e.getTime(),!0);C.$session_id=D,C.$window_id=d}this.sessionPropsManager&&ar(C,this.sessionPropsManager.getSessionProps());try{var i;if(this.sessionRecording){const D=this.sessionRecording.sdkDebugProperties,d=!this.wh&&XII(A);for(const y in D)(d||yB(blt,y))&&(C[y]=D[y])}C.$sdk_debug_retry_queue_size=(i=this.Ph)===null||i===void 0?void 0:i.length}catch(D){C.$sdk_debug_error_capturing_properties=String(D)}let E;if(this.requestRouter.region===pvA&&(C.$lib_custom_api_host=this.config.api_host),E=A!=="$pageview"||o?A!=="$pageleave"||o?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(e):this.pageViewManager.doPageView(e,t),C=ar(C,E),A==="$pageview"&&co&&(C.title=co.title),!Le(B)){const D=e.getTime()-B;C.$duration=parseFloat((D/1e3).toFixed(3))}Jm&&this.config.opt_out_useragent_filter&&(C.$browser_type=this._is_bot()?"bot":"browser");const n=this.persistence.properties(),s=this.sessionPersistence.properties(),r=C.$groups,a=n.$groups;yC(r)&&!lk(r)&&(C.$groups=QI(QI({},yC(a)?a:{}),r)),Gn(["$referrer","$referring_domain"],D=>{D in n&&delete s[D]});const c={};if(this._h.length>0)for(const D of this._h.slice())try{ar(c,D())}catch(d){Dt.error("Failed to produce browser extension event properties",d)}C=ar({},Q,n,s,QI(QI({},c),C)),C.$is_identified=this._isIdentified(),cB(this.config.property_denylist)?Gn(this.config.property_denylist,function(D){delete C[D]}):Dt.error(zII+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);const h=this.config.sanitize_properties;h&&(Dt.error(jII),C=h(C,A));const l=this.ad();return C.$process_person_profile=l,l&&!o&&this.ld("_calculate_event_properties"),C}nd(A,I=!0,e=!1){var t;if(!this.persistence||!this.ad()||this.mh&&!e)return A;const o=this.persistence.get_initial_props(),B=(t=this.sessionPropsManager)===null||t===void 0?void 0:t.getSetOnceProps();let C=ar({},o,B||{},A||{});const Q=this.config.sanitize_properties;return Q&&(Dt.error(jII),C=Q(C,"$set_once")),I&&(this.mh=!0),lk(C)?void 0:C}register(A,I){var e;(e=this.persistence)===null||e===void 0||e.register(A,I)}register_once(A,I,e){var t;(t=this.persistence)===null||t===void 0||t.register_once(A,I,e)}register_for_session(A){var I,e;(I=this.persistence)===null||I===void 0||I.syncCookieProperties(),this.rd(),(e=this.sessionPersistence)===null||e===void 0||e.register(A),Object.keys(A).forEach(t=>this.yh.add(t)),this.od()}unregister(A){var I;(I=this.persistence)===null||I===void 0||I.unregister(A)}unregister_for_session(A){var I;(I=this.sessionPersistence)===null||I===void 0||I.unregister(A),this.yh.delete(A),this.od()}ud(A,I){this.register({[A]:I})}Rh(){this.yh.forEach(A=>{var I;(I=this.sessionPersistence)===null||I===void 0||I.unregister(A)}),this.yh.clear(),this.od()}od(){var A;if(!this.bh)return;if(this.config.persistence==="memory"||!((A=this.sessionPersistence)===null||A===void 0)&&A.hi||!Ea.$t())return void Ea.Pt(this.bh);const I=[];this.yh.forEach(e=>I.push(e)),I.length>0?Ea.At(this.bh,I):Ea.Pt(this.bh)}getFeatureFlag(A,I){var e;return(e=this.featureFlags)===null||e===void 0?void 0:e.getFeatureFlag(A,I)}getFeatureFlagPayload(A){var I;return(I=this.featureFlags)===null||I===void 0?void 0:I.getFeatureFlagPayload(A)}getFeatureFlagResult(A,I){var e;return(e=this.featureFlags)===null||e===void 0?void 0:e.getFeatureFlagResult(A,I)}getAllFeatureFlags(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.getAllFeatureFlags())!==null&&A!==void 0?A:[]}isFeatureEnabled(A,I){var e,t;return(e=(t=this.featureFlags)===null||t===void 0?void 0:t.isFeatureEnabled(A,I))!==null&&e!==void 0?e:I?.defaultValue}reloadFeatureFlags(){var A;(A=this.featureFlags)===null||A===void 0||A.reloadFeatureFlags()}updateFlags(A,I,e){var t;(t=this.featureFlags)===null||t===void 0||t.updateFlags(A,I,e)}updateEarlyAccessFeatureEnrollment(A,I,e){var t;(t=this.featureFlags)===null||t===void 0||t.updateEarlyAccessFeatureEnrollment(A,I,e)}getEarlyAccessFeatures(A,I=!1,e){var t;return(t=this.featureFlags)===null||t===void 0?void 0:t.getEarlyAccessFeatures(A,I,e)}on(A,I){return this.ur.on(A,I)}onFeatureFlags(A){return this.featureFlags?this.featureFlags.onFeatureFlags(A):(A([],{},{errorsLoading:!0}),()=>{})}onSurveysLoaded(A){return this.surveys?this.surveys.onSurveysLoaded(A):(A([],{isLoaded:!1,error:kq}),()=>{})}onSessionId(A){var I,e;return(I=(e=this.sessionManager)===null||e===void 0?void 0:e.onSessionId(A))!==null&&I!==void 0?I:()=>{}}getSurveys(A,I=!1){this.surveys?this.surveys.getSurveys(A,I):A([],{isLoaded:!1,error:kq})}getActiveMatchingSurveys(A,I=!1){this.surveys?this.surveys.getActiveMatchingSurveys(A,I):A([],{isLoaded:!1,error:kq})}onActiveMatchingSurveysChanged(A){return this.surveys?this.surveys.onActiveMatchingSurveysChanged(A):(A([],{isLoaded:!1,error:kq}),()=>{})}renderSurvey(A,I){var e;(e=this.surveys)===null||e===void 0||e.renderSurvey(A,I)}displaySurvey(A,I=xlt){var e;(e=this.surveys)===null||e===void 0||e.displaySurvey(A,I)}cancelPendingSurvey(A){var I;(I=this.surveys)===null||I===void 0||I.cancelPendingSurvey(A)}canRenderSurvey(A){var I,e;return(I=(e=this.surveys)===null||e===void 0?void 0:e.canRenderSurvey(A))!==null&&I!==void 0?I:{visible:!1,disabledReason:kq}}canRenderSurveyAsync(A,I=!1){var e,t;return(e=(t=this.surveys)===null||t===void 0?void 0:t.canRenderSurveyAsync(A,I))!==null&&e!==void 0?e:Promise.resolve({visible:!1,disabledReason:kq})}hd(A){return!A||XAA(A)?(Dt.critical("Unique user id has not been set in posthog.identify"),!1):A==="$posthog_cookieless"?(Dt.critical(`The string "${A}" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.`),!1):!["distinct_id","distinctid"].includes(A.toLowerCase())&&!["undefined","null"].includes(A.toLowerCase())||(Dt.critical(`The string "${A}" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.`),!1)}identify(A,I,e){if(!this.__loaded||!this.persistence)return Dt.uninitializedWarning("posthog.identify");if(i0(A)&&(A=A.toString(),Dt.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),!this.hd(A)||!this.ld("posthog.identify"))return;this.ah();const t=this.get_distinct_id(),o=this.persistence.syncCookieProperties()&&this.get_distinct_id()!==t,B=this.rd(!1),C=this.persistence.ku();let Q=!1;try{const E=this.get_distinct_id();this.register({$user_id:A}),this.get_property("$device_id")||this.register_once({$had_persisted_distinct_id:!0,$device_id:E},""),A!==E&&A!==this.get_property("__alias")&&(this.unregister(hDA),this.register({distinct_id:A}));const n=(this.persistence.get_property("$user_state")||"anonymous")===cJ,s=A!==E,r=!s&&n;if(s&&n){var i;const a=this.config.reuseAnonymousId?{distinct_id:A}:{distinct_id:A,$anon_distinct_id:E};this.persistence.set_property(Km,lDA),this.setPersonPropertiesForFlags({$set:I||{},$set_once:e||{}},!1),this.config.cookieWinsOnConflict&&this.persistence.Su(),this.capture("$identify",a,{$set:I||{},$set_once:e||{}})&&(this.$h=mvA(A,I,e)),(i=this.featureFlags)===null||i===void 0||i.setAnonymousDistinctId(this.config.reuseAnonymousId?void 0:E)}else if(r){this.persistence.set_property(Km,lDA);const a=I||{},c=e||{};this.setPersonPropertiesForFlags({$set:a,$set_once:c},!1),this.config.cookieWinsOnConflict&&this.persistence.Su(),this.capture("$set",{$set:a,$set_once:c})&&(this.$h=mvA(A,I,e))}else(I||e)&&this.setPersonProperties(I,e);s||o||B?(this.reloadFeatureFlags(),this.featureFlags?this.featureFlags.resetFlagCallReported():this.unregister(rJ)):r&&(I||e)&&this.reloadFeatureFlags(),Q=!0}finally{C&&this.persistence.Cu(Q)}}setPersonProperties(A,I){if(!A&&!I||!this.ld("posthog.setPersonProperties"))return;const e=mvA(this.get_distinct_id(),A,I);this.$h!==e?(this.setPersonPropertiesForFlags({$set:A||{},$set_once:I||{}},!0),this.capture("$set",{$set:A||{},$set_once:I||{}})&&(this.$h=e)):Dt.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}unsetPersonProperties(A){var I;const e=(cB(A)?A:[A]).filter(t=>KC(t)&&t.length>0);e.length!==0&&this.ld("posthog.unsetPersonProperties")&&((I=this.featureFlags)===null||I===void 0||I.unsetPersonPropertiesForFlags(e,!0),this.capture("$set",{$unset:e}),this.$h=null)}group(A,I,e){var t;if(!A||!I)return void Dt.error("posthog.group requires a group type and group key");(t=this.persistence)===null||t===void 0||t.syncCookieProperties(),this.rd();const o=this.getGroups(),B=o[A]!==I;if(B&&this.resetGroupPropertiesForFlags(A),this.register({$groups:QI(QI({},o),{},{[A]:I})}),(B||e)&&this.ad()){const C={$group_type:A,$group_key:I};e&&(C.$group_set=e),this.capture(ygI,C)}e&&this.setGroupPropertiesForFlags({[A]:e}),B&&!e&&this.reloadFeatureFlags()}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(A,I=!0){var e;(e=this.featureFlags)===null||e===void 0||e.setPersonPropertiesForFlags(A,I)}resetPersonPropertiesForFlags(A=!0){var I;(I=this.featureFlags)===null||I===void 0||I.resetPersonPropertiesForFlags(A)}setGroupPropertiesForFlags(A,I=!0){var e;this.ld("posthog.setGroupPropertiesForFlags")&&((e=this.featureFlags)===null||e===void 0||e.setGroupPropertiesForFlags(A,I))}resetGroupPropertiesForFlags(A){var I;(I=this.featureFlags)===null||I===void 0||I.resetGroupPropertiesForFlags(A)}reset(A){const I=Pm(A)?A:A?.resetDeviceID,e=Pm(A)||A==null?void 0:A.bootstrap;this.dd(I,!1,e)}dd(A,I=!1,e){var t,o,B,C,Q,i;if(Dt.info("reset"),!this.__loaded)return Dt.uninitializedWarning("posthog.reset");const E=e?.sessionID;this.config.bootstrap=e||((t=this.Th)===null||t===void 0?void 0:t.bootstrap)||{},(o=this.featureFlags)===null||o===void 0||(B=o.updateConfig)===null||B===void 0||B.call(o,this.config,this.Qu());const n=this.get_property(R6A),s=this.get_property(N6A),r=this.get_property(igA);(C=this.sessionRecording)===null||C===void 0||C.flushBeforeIdentityReset();const a=this.is_capturing();I||this.consent.reset(),I||!a||this.is_capturing()||console.warn("[PostHog.js]","reset() cleared the stored consent, and capturing is now off because of `opt_out_capturing_by_default`. Call opt_in_capturing() again, and prefer calling reset() before opting in rather than after.");const c=(Q=this.persistence)===null||Q===void 0||(i=Q.ku)===null||i===void 0?void 0:i.call(Q),h=this.uh;this.uh=h||I;let l=!1;try{var D,d,y,w,u,G,m,p,k,S,R,x,N;if((D=this.persistence)===null||D===void 0||D.clear(),(d=this.sessionPersistence)===null||d===void 0||d.clear(),this.yh.clear(),this.od(),Le(r)||(S=this.persistence)===null||S===void 0||S.register({$session_recording_remote_config:r}),(y=this.surveys)===null||y===void 0||y.reset(),(w=this.featureFlags)===null||w===void 0||w.reset(),(u=this.conversations)===null||u===void 0||u.reset(),(G=this.logs)===null||G===void 0||G.reset(),(m=this.metrics)===null||m===void 0||m.reset(),(p=this.persistence)===null||p===void 0||p.set_property("$user_state","anonymous"),(k=this.sessionManager)===null||k===void 0||k.resetSessionId(),this.$h=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:H6A,$device_id:null},"");else{const _=this.config.get_device_id(UR());this.register_once({distinct_id:_,$device_id:A?_:n},""),A||Le(s)||this.register({[N6A]:s})}if(this.register({$last_posthog_reset:new Date().toISOString()},1),e&&(e.distinctID&&!this.nh()&&((N=this.persistence)===null||N===void 0||N.set_property("$user_state",e.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:e.distinctID})),(R=this.featureFlags)===null||R===void 0||R.initialize(),!hC(E)&&!(!((x=this.sessionManager)===null||x===void 0)&&x.setBootstrapSessionId(E,!0)))){const _=QI({},e);delete _.sessionID,this.config.bootstrap=_}delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,l=!0}finally{var U,K;this.uh=h,c&&((U=this.persistence)===null||U===void 0||(K=U.Cu)===null||K===void 0||K.call(U,l))}var Y;this.cr&&((Y=this.conversations)===null||Y===void 0||Y.onRemoteConfig(this.cr)),this.reloadFeatureFlags()}shutdown(A){var I=this;return ia(function*(){if(!I.__loaded)return void Dt.uninitializedWarning("posthog.shutdown");I.gh=!0,clearTimeout(I.Fh),I.Fh=void 0;const e=I.jh;I.jh=void 0;for(const t of[()=>{var o;return(o=I.sessionRecording)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.logs)===null||o===void 0?void 0:o.flushLogs("sendBeacon")},()=>{var o;return(o=I.metrics)===null||o===void 0?void 0:o.flush("sendBeacon")},()=>{var o;return(o=I.metrics)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.logs)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.surveys)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.autocapture)===null||o===void 0?void 0:o.dispose()},()=>e?.(),()=>{var o;return(o=I.Mh)===null||o===void 0?void 0:o.unload()},()=>{var o;return(o=I.Ph)===null||o===void 0?void 0:o.unload()},()=>{var o;return(o=I.featureFlags)===null||o===void 0?void 0:o.destroy()},()=>{var o;return(o=I.persistence)===null||o===void 0?void 0:o.destroy()},()=>{var o;return(o=I.sessionPersistence)===null||o===void 0?void 0:o.destroy()}])try{const o=t();o&&Q0(o.then)&&o.then(void 0,B=>{Dt.error("Error during shutdown",B)})}catch(o){Dt.error("Error during shutdown",o)}})()}setIdentity(A,I){var e;delete this.config.identity_claims,this.config.identity_distinct_id=A,this.config.identity_hash=I,this.alias(A),(e=this.conversations)===null||e===void 0||e.vd()}clearIdentity(){var A;delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,(A=this.conversations)===null||A===void 0||A.fd()}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var A,I;return(A=(I=this.sessionManager)===null||I===void 0?void 0:I.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&A!==void 0?A:""}get_session_replay_url(A){if(!this.sessionManager)return"";const{sessionId:I,sessionStartTimestamp:e}=this.sessionManager.checkAndGetSessionAndWindowId(!0);let t=this.requestRouter.endpointFor("ui",`/project/${this.config.token}/replay/${I}`);if(A?.withTimestamp&&e){var o;const B=(o=A.timestampLookBack)!==null&&o!==void 0?o:10;if(!e)return t;t+=`?t=${Math.max(Math.floor((new Date().getTime()-e)/1e3)-B,0)}`}return t}alias(A,I){return A===this.get_property("$people_distinct_id")?(Dt.critical("Attempting to create alias for existing People user - aborting."),-2):this.ld("posthog.alias")?(Le(I)&&(I=this.get_distinct_id()),A!==I?(this.ud(hDA,A),this.capture("$create_alias",{alias:A,distinct_id:I})):(Dt.warn("alias matches current distinct_id - skipping api call."),this.identify(A),-1)):void 0}set_config(A){const I=QI({},this.config);if(yC(A)){var e,t,o,B,C,Q,i,E,n,s,r,a,c,h;ar(this.config,geI(A));const w=this.fh();if(this.persistence){const G=this.config.persistence==="sessionStorage"||this.config.persistence==="memory";var l,D;if(G&&this.sessionPersistence!==this.persistence&&((l=this.sessionPersistence)===null||l===void 0||l.remove(),(D=this.sessionPersistence)===null||D===void 0||D.destroy()),this.persistence.update_config(this.config,I,w),G)this.sessionPersistence=this.persistence;else if(this.sessionPersistence===this.persistence)this.sessionPersistence=new EvA(QI(QI({},this.config),{},{persistence:"sessionStorage"}),w,!1);else{var d;(d=this.sessionPersistence)===null||d===void 0||d.update_config(QI(QI({},this.config),{},{persistence:"sessionStorage"}),QI(QI({},I),{},{persistence:"sessionStorage"}),w)}}const u=this.Ch(this.config.debug);var y;Pm(u)&&(this.config.debug=u),Pm(this.config.debug)&&(this.config.debug?(Dk.DEBUG=!0,eE.$t()&&eE.At("ph_debug",!0),Dt.info("set_config",{config:A,oldConfig:I,newConfig:QI({},this.config)})):(Dk.DEBUG=!1,eE.$t()&&eE.Pt("ph_debug"))),(e=this.featureFlags)===null||e===void 0||(t=e.updateConfig)===null||t===void 0||t.call(e,this.config,this.Qu()),(o=this.exceptionObserver)===null||o===void 0||o.onConfigChange(),(B=this.exceptions)===null||B===void 0||B.onConfigChange(),(C=this.metrics)===null||C===void 0||C.onConfigChange(),(Q=this.webMCP)===null||Q===void 0||Q.startIfEnabled(),(i=this.sessionRecording)===null||i===void 0||i.startIfEnabledOrStop(),(E=this.tracingHeaders)===null||E===void 0||E.startIfEnabledOrStop(),(n=this.autocapture)===null||n===void 0||n.startIfEnabled(),(s=this.heatmaps)===null||s===void 0||s.startIfEnabled(),("capture_pageview"in A||"disable_capture_url_hashes"in A)&&((y=this.historyAutocapture)===null||y===void 0||y.startIfEnabledOrStop()),(r=this.exceptionObserver)===null||r===void 0||r.startIfEnabledOrStop(),(a=this.deadClicksAutocapture)===null||a===void 0||a.startIfEnabledOrStop(),(c=this.surveys)===null||c===void 0||c.loadIfEnabled(),this.hh(),(h=this.externalIntegrations)===null||h===void 0||h.startIfEnabledOrStop(),!I.segment&&this.config.segment&&this.persistence&&OgI(this,pgA,!1)}}_overrideSDKInfo(A,I){Dk.LIB_NAME=A,Dk.LIB_VERSION=I}startSessionRecording(A){const I=A===!0,e={sampling:I||!!A?.sampling,linked_flag:I||!!A?.linked_flag,url_trigger:I||!!A?.url_trigger,event_trigger:I||!!A?.event_trigger};var t,o,B,C,Q;Object.values(e).some(Boolean)&&((t=this.sessionManager)===null||t===void 0||t.checkAndGetSessionAndWindowId(),e.sampling&&((o=this.sessionRecording)===null||o===void 0||o.overrideSampling()),e.linked_flag&&((B=this.sessionRecording)===null||B===void 0||B.overrideLinkedFlag()),e.url_trigger&&((C=this.sessionRecording)===null||C===void 0||C.overrideTrigger("url")),e.event_trigger&&((Q=this.sessionRecording)===null||Q===void 0||Q.overrideTrigger("event"))),this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var A;return!!(!((A=this.sessionRecording)===null||A===void 0)&&A.started)}captureException(A,I){try{if(!this.exceptions)return;const e=this.exceptions.buildProperties(A,{handled:!0,syntheticException:new Error("PostHog syntheticException")});return this.exceptions.sendExceptionEvent(QI(QI({},e),I))}catch{return}}addExceptionStep(A,I){var e;(e=this.exceptions)===null||e===void 0||e.addExceptionStep(A,I)}captureLog(A){var I;(I=this.logs)===null||I===void 0||I.captureLog(A)}get logger(){var A,I;return(A=(I=this.logs)===null||I===void 0?void 0:I.logger)!==null&&A!==void 0?A:NY.pd}startExceptionAutocapture(A){this.set_config({capture_exceptions:A==null||A})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(A){var I,e;return(I=(e=this.toolbar)===null||e===void 0?void 0:e.loadToolbar(A))!==null&&I!==void 0&&I}get_property(A){var I;return(I=this.persistence)===null||I===void 0?void 0:I.props[A]}getSessionProperty(A){var I;return(I=this.sessionPersistence)===null||I===void 0?void 0:I.props[A]}toString(){var A;let I=(A=this.config.name)!==null&&A!==void 0?A:kgA;return I!==kgA&&(I="posthog."+I),I}_isIdentified(){var A,I;return((A=this.persistence)===null||A===void 0?void 0:A.get_property("$user_state"))==="identified"||((I=this.sessionPersistence)===null||I===void 0?void 0:I.get_property("$user_state"))==="identified"}ad(){var A,I;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&lk(this.getGroups())&&!(!((A=this.persistence)===null||A===void 0||(A=A.props)===null||A===void 0)&&A.__alias)&&!(!((I=this.persistence)===null||I===void 0||(I=I.props)===null||I===void 0)&&I.$epp))}Vh(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&!!this.config.capture_pageview}createPersonProfile(){this.ad()||this.ld("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ld("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ld(A){return this.config.person_profiles==="never"?(Dt.error(A+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.sh(),this.ud(b6A,!0),!0)}fh(){if(this.config.cookieless_mode==="always")return!0;const A=this.consent.isOptedOut();return this.config.disable_persistence||A&&!(!this.config.opt_out_persistence_by_default&&this.config.cookieless_mode!=="on_reject")}hh(){var A,I;const e=this.fh();var t,o,B;return this.is_capturing()||(t=this.logs)===null||t===void 0||t.gd(),((A=this.persistence)===null||A===void 0?void 0:A.hi)!==e&&((o=this.persistence)===null||o===void 0||o.set_disabled(e)),((I=this.sessionPersistence)===null||I===void 0?void 0:I.hi)!==e&&((B=this.sessionPersistence)===null||B===void 0||B.set_disabled(e)),this.od(),e}opt_in_capturing(A){var I;if(this.config.cookieless_mode!=="always"){if(this.nh()){var e,t,o,B,C,Q;(e=this.sessionRecording)===null||e===void 0||e.dispose({discardBufferedEvents:!0}),this.dd(!0,!0),(t=this.sessionManager)===null||t===void 0||t.destroy(),(o=this.pageViewManager)===null||o===void 0||o.destroy(),this.sessionManager=new KII(this),this.pageViewManager=new jgI(this),this.persistence&&(this.sessionPropsManager=new JII(this,this.sessionManager,this.persistence));const a=(B=(C=this.config.__extensionClasses)===null||C===void 0?void 0:C.sessionRecording)!==null&&B!==void 0?B:(Q=NY.__defaultExtensionClasses)===null||Q===void 0?void 0:Q.sessionRecording;var i,E;a&&(this.sessionRecording=this.ih(this.sessionRecording,new a(this)),this.cr&&((i=this.sessionRecording)===null||i===void 0||(E=i.onRemoteConfig)===null||E===void 0||E.call(i,this.cr)))}var n,s,r;this.consent.optInOut(!0),this.hh(),this.Hh(),(I=this.sessionRecording)===null||I===void 0||I.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&((n=this.surveys)===null||n===void 0||n.loadIfEnabled(),(s=this.conversations)===null||s===void 0||s.loadIfEnabled()),(Le(A?.captureEventName)||A?.captureEventName)&&this.capture((r=A?.captureEventName)!==null&&r!==void 0?r:"$opt_in",A?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.Uh()}else Dt.warn(VII)}opt_out_capturing(){this.config.cookieless_mode!=="always"?(this.consent.optInOut(!1),this.hh(),this.config.cookieless_mode==="on_reject"&&this.dh()):Dt.warn(VII)}dh(){var A,I;const e=this.sessionRecording;e?.dispose({discardBufferedEvents:!0}),this.get_distinct_id()!=="$posthog_cookieless"&&this.dd(!0,!0),this.register({distinct_id:H6A,$device_id:null}),this.th(e),this.sessionRecording=void 0,(A=this.sessionManager)===null||A===void 0||A.destroy(),(I=this.pageViewManager)===null||I===void 0||I.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,this.config.capture_pageview&&this.Uh(),this.Hh()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){const A=this.consent.consent;return A===1?"granted":A===0?"denied":"pending"}is_capturing(){return!this.uh&&(this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isRejected()||this.consent.isOptedIn():!this.has_opted_out_capturing()))}clear_opt_in_out_capturing(){this.consent.reset(),this.hh()}_is_bot(){return Tw?LII(Tw,this.config.custom_blocked_useragents):void 0}Uh(){co&&(co.visibilityState==="visible"?this.kh||(this.kh=!0,this.capture(q6A,{title:co.title},{send_instantly:!0}),this.Sh&&(co.removeEventListener(iq,this.Sh),this.Sh=null)):this.Sh||(this.Sh=this.Uh.bind(this),NE(co,iq,this.Sh)))}debug(A){A===!1?(Se?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(Se?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}Qu(){const A=this.Th||{};return"advanced_disable_flags"in A?!!A.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(Dt.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(function(I,e,t,o,B){const C=e in I&&!hC(I[e]),Q=t in I&&!hC(I[t]);return C?I[e]:!!Q&&(B&&B.warn(`Config field '${t}' is deprecated. Please use '${e}' instead. The old field will be removed in a future major version.`),I[t])})(A,"advanced_disable_flags","advanced_disable_decide",0,Dt)}Os(A){var I;if(hC(this.config.before_send))return A;const e=Object.keys((I=A.properties)!==null&&I!==void 0?I:{}).filter(Lct),t=cB(this.config.before_send)?this.config.before_send:[this.config.before_send];let o=A;for(const B of t)try{if(o=B(o),hC(o)){const C=`Event '${A.event}' was rejected in beforeSend function`;return Kct(A.event)?Dt.warn(`${C}. This can cause unexpected behavior.`):Dt.info(C),null}o.properties&&!lk(o.properties)||Dt.warn(`Event '${A.event}' has no properties after beforeSend function, this is likely an error.`)}catch(C){return Dt.error(`Error in beforeSend function for event '${A.event}':`,C),null}for(const B of e)if(o.properties&&hC(o.properties[B]))return Dt.warn(`Event '${A.event}' had its '${B}' property removed in a beforeSend function. This property is required for ingestion, so the event will be dropped.`),null;return o}getPageViewId(){var A;return(A=this.pageViewManager.Rl)===null||A===void 0?void 0:A.pageViewId}captureTraceFeedback(A,I){this.capture("$ai_feedback",{$ai_trace_id:String(A),$ai_feedback_text:I})}captureTraceMetric(A,I,e){this.capture("$ai_metric",{$ai_trace_id:String(A),$ai_metric_name:I,$ai_metric_value:String(e)})}Ch(A){const I=Pm(A)&&!A,e=eE.$t()&&eE.Ot("ph_debug")==="true";return!I&&(!!e||A)}};MgA.__defaultExtensionClasses={},MgA.pd=(()=>{const g=()=>{};return{trace:g,debug:g,info:g,warn:g,error:g,fatal:g}})(),(function(g,A){for(let I=0;A.length>I;I++)g.prototype[A[I]]=J0t(g.prototype[A[I]])})(MgA,["identify"]);var Wlt=class{constructor(A){this._instance=A}refresh(A){const I=this._instance.config,e=yC(I.autocapture)?I.autocapture:void 0;A.enabled=!!I.autocapture,A.rageclick=I.rageclick,A.maskAllElementAttributes=I.mask_all_element_attributes,A.maskAllText=I.mask_all_text,A.disableCaptureUrlHashes=I.disable_capture_url_hashes,A.getCurrentUrl=I.get_current_url,A.remoteRequestsDisabled=this._instance.Qu(),A.url_allowlist=e?.url_allowlist,A.url_ignorelist=e?.url_ignorelist,A.dom_event_allowlist=e?.dom_event_allowlist,A.element_allowlist=e?.element_allowlist,A.css_selector_allowlist=e?.css_selector_allowlist,A.css_selector_ignorelist=e?.css_selector_ignorelist,A.element_attribute_ignorelist=e?.element_attribute_ignorelist,A.capture_copied_text=e?.capture_copied_text}};const SgA=Ic("[ExceptionAutocapture]"),IeI=()=>{},eeI=g=>{var A;if(Q0(g))return(A=g.__posthog_layer__)!==null&&A!==void 0?A:g.__rrweb_layer__};function Mq(g,A,I){try{if(!(A in g))return IeI;const e={next:g[A]},t=I(function(...o){return e.next.apply(this,o)});return Q0(t)&&(t.prototype=t.prototype||{},Object.defineProperties(t,{__posthog_wrapped__:{enumerable:!1,value:!0},__posthog_layer__:{enumerable:!1,value:e}})),g[A]=t,()=>{if(g[A]===t)return void(g[A]=e.next);let o=g[A],B=eeI(o);for(;B;){if(B.next===t)return void(B.next=e.next);o=B.next,B=eeI(o)}}}catch{return IeI}}const Vlt=Ic("[TracingHeaders]"),c5=Ic("[Web Vitals]"),teI=9e5,oeI=["CLS","FCP","INP","LCP"],jlt=["INP","LCP"],zlt=["interactionTarget","interactionType","inputDelay","processingDuration","presentationDelay","loadState","target","url","timeToFirstByte","resourceLoadDelay","resourceLoadDuration","elementRenderDelay","largestShiftTarget","largestShiftTime","largestShiftValue","firstByteToFCP"],xvA="disabled",BeI="lazy_loading",dJ=Ic("[SessionRecording]"),Xlt=[v6A,T6A,EgI,ngI,sgI,agI,rgI,cgI,hgI],$lt=Ic("[Heatmaps]");function FvA(g){return yC(g)&&"clientX"in g&&"clientY"in g&&i0(g.clientX)&&i0(g.clientY)}const xDA=Ic("[Product Tours]"),UvA=g=>{var A;return!g.config.disable_product_tours&&!!(!((A=g.persistence)===null||A===void 0)&&A.get_property(L6A))},ADt=["$set_once","$set"],Gx=Ic("[SiteApps]"),CeI="Error while initializing PostHog app with config id ";function Sq(g,A,I){if(hC(g))return!1;switch(I){case"exact":return g===A;case"contains":{const e=A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(e,"i").test(g)}case"regex":try{return new RegExp(A).test(g)}catch{return!1}default:return!1}}var gDt=class{constructor(A){this.Ai=A,this._o=new Set,this.wo=new Set,this.ko=new fDA,this.So=(I,e)=>this.xo(I,e)&&this.$o(I,e)&&this.Co(I,e)&&this.To(I,e),this.xo=(I,e)=>!e?.event||I?.event===e?.event}init(){var A,I;Le((A=this.Ai)===null||A===void 0?void 0:A.subscribeCapture)||(this.Io=(I=this.Ai)===null||I===void 0?void 0:I.subscribeCapture((e,t)=>{this.on(e,t)}))}dispose(){var A,I,e;(A=this.Io)===null||A===void 0||A.call(this),this.Io=void 0,(I=this.Ai)===null||I===void 0||(e=I.setElementSelectors)===null||e===void 0||e.call(I,new Set,this),this.ko=new fDA}register(A){var I,e;if(!Le((I=this.Ai)===null||I===void 0?void 0:I.subscribeCapture)&&(A.forEach(t=>{var o;this._o.add(t),(o=t.steps)===null||o===void 0||o.forEach(B=>{this.wo.add(B?.event||"")})}),(e=this.Ai)===null||e===void 0?void 0:e.setElementSelectors)){const t=new Set;this._o.forEach(o=>{var B;(B=o.steps)===null||B===void 0||B.forEach(C=>{C?.selector&&t.add(C.selector)})}),this.Ai.setElementSelectors(t,this)}}replace(A){this._o.clear(),this.wo.clear(),this.register(A)}on(A,I){I!=null&&A.length!=0&&(this.wo.has(A)||this.wo.has(I.event))&&this._o.forEach(e=>{this.Mo(I,e)&&this.ko.emit("actionCaptured",e.name)})}Eo(A){this.onAction("actionCaptured",I=>A(I))}Mo(A,I){if(I?.steps==null)return!1;for(const e of I.steps)if(this.So(A,e))return!0;return!1}onAction(A,I){return this.ko.on(A,I)}$o(A,I){if(I?.url){var e;let B=A==null||(e=A.properties)===null||e===void 0?void 0:e.$current_url;if(!A?.properties||!("$current_url"in A.properties))try{var t,o;B=(t=this.Ai)===null||t===void 0||(o=t.getActionUrl)===null||o===void 0?void 0:o.call(t)}catch{return!1}if(!B||typeof B!="string"||!Sq(B,I.url,I.url_matching||"contains"))return!1}return!0}Co(A,I){return!!this.Po(A,I)&&!!this.Ro(A,I)&&!!this.Ao(A,I)}Po(A,I){var e;if(!I?.href)return!0;const t=this.Fo(A);if(t.length>0)return t.some(B=>Sq(B.href,I.href,I.href_matching||"exact"));const o=(A==null||(e=A.properties)===null||e===void 0?void 0:e.$elements_chain)||"";return!!o&&Sq((function(B){const C=B.match(/(?::|")href="(.*?)"/);return C?C[1]:""})(o),I.href,I.href_matching||"exact")}Ro(A,I){var e;if(!I?.text)return!0;const t=this.Fo(A);if(t.length>0)return t.some(i=>Sq(i.text,I.text,I.text_matching||"exact")||Sq(i.$el_text,I.text,I.text_matching||"exact"));const o=(A==null||(e=A.properties)===null||e===void 0?void 0:e.$elements_chain)||"";return!!o&&(B=(function(i){const E=[],n=/(?::|")text="(.*?)"/g;let s;for(;!hC(s=n.exec(i));)E.includes(s[1])||E.push(s[1]);return E})(o),C=I.text,Q=I.text_matching||"exact",B.some(i=>Sq(i,C,Q)));var B,C,Q}Ao(A,I){var e,t;if(!I?.selector)return!0;const o=A==null||(e=A.properties)===null||e===void 0?void 0:e.$element_selectors;if(o?.includes(I.selector))return!0;const B=(A==null||(t=A.properties)===null||t===void 0?void 0:t.$elements_chain)||"";if(I.selector_regex&&B)try{return new RegExp(I.selector_regex).test(B)}catch{}return!1}Fo(A){var I;return(A==null||(I=A.properties)===null||I===void 0?void 0:I.$elements)==null?[]:A?.properties.$elements}To(A,I){return!I?.properties||I.properties.length===0||HII(I.properties.reduce((e,t)=>{const o=cB(t.value)?t.value.map(String):t.value!=null?[String(t.value)]:[];return e[t.key]={values:o,operator:t.operator||"exact"},e},{}),A?.properties)}},IDt=class{constructor(A,I){this.Oo=I,this.Do=[],this.Ai=A,this.Lo=new Map,this.No=new Map,this.qo=new Map}jo(){var A,I;this.Bo=(A=(I=this.Ai).subscribeSession)===null||A===void 0?void 0:A.call(I,e=>this.zo(e))}Ho(A){return!1}Uo(){return null}Wo(A){}Vo(){}Go(A,I){return!!A&&HII(A.propertyFilters,I?.properties)}Qo(A,I){const e=new Map;return A.forEach(t=>{var o;(o=t.conditions)===null||o===void 0||(o=o[I])===null||o===void 0||(o=o.values)===null||o===void 0||o.forEach(B=>{if(B?.name){const C=e.get(B.name)||[];C.push(t.id),e.set(B.name,C)}})}),e}Zo(A,I,e){const t=(e===dgA.Activation?this.Lo:this.No).get(A);let o=[];return this.Jo(B=>{o=B.filter(C=>t?.includes(C.id))}),o.filter(B=>{var C;const Q=(C=B.conditions)===null||C===void 0||(C=C[e])===null||C===void 0||(C=C.values)===null||C===void 0?void 0:C.find(i=>i.name===A);return this.Go(Q,I)})}register(A){this.Ko(A,!1)}replace(A){this.Ko(A,!0)}Ko(A,I){Le(this.Ai.subscribeCapture)||(this.Xo(A,I),this.Yo(A,I))}Yo(A,I){const e=A.filter(B=>{var C;return(C=B.conditions)===null||C===void 0||(C=C.actions)===null||C===void 0||(C=C.values)===null||C===void 0?void 0:C.length});var t;if(I&&this.qo.clear(),e.length===0)return void(I&&((t=this.ta)===null||t===void 0||t.replace([])));this.ta||(this.ta=new gDt(this.Ai),this.ta.init(),this.ta.Eo(B=>this.onAction(B)));const o=[];e.forEach(B=>{var C;(C=B.conditions)===null||C===void 0||(C=C.actions)===null||C===void 0||C.values.forEach(Q=>{if(o.push(Q),Q.name){var i;const E=(i=this.qo.get(Q.name))!==null&&i!==void 0?i:[];E.includes(B.id)||E.push(B.id),this.qo.set(Q.name,E)}})}),I?this.ta.replace(o):this.ta.register(o)}ea(A,I){I.forEach((e,t)=>{var o;const B=(o=A.get(t))!==null&&o!==void 0?o:[];e.forEach(C=>{B.includes(C)||B.push(C)}),A.set(t,B)})}Xo(A,I){var e,t,o;const B=A.filter(E=>{var n,s;return((n=E.conditions)===null||n===void 0?void 0:n.events)&&((s=E.conditions)===null||s===void 0||(s=s.events)===null||s===void 0||(s=s.values)===null||s===void 0?void 0:s.length)>0}),C=A.filter(E=>{var n,s;return((n=E.conditions)===null||n===void 0?void 0:n.cancelEvents)&&((s=E.conditions)===null||s===void 0||(s=s.cancelEvents)===null||s===void 0||(s=s.values)===null||s===void 0?void 0:s.length)>0}),Q=this.Qo(A,dgA.Activation),i=this.Qo(A,dgA.Cancellation);I?(this.Lo=Q,this.No=i):(this.ea(this.Lo,Q),this.ea(this.No,i)),(B.length!==0||C.length!==0||A.some(E=>{var n;return(n=E.conditions)===null||n===void 0||(n=n.actions)===null||n===void 0||(n=n.values)===null||n===void 0?void 0:n.length}))&&((e=this.Io)!==null&&e!==void 0||(this.Io=(t=(o=this.Ai).subscribeCapture)===null||t===void 0?void 0:t.call(o,(E,n)=>{this.onEvent(E,n)})))}onEvent(A,I){var e,t;const o=this.ia(),B=(I==null||(e=I.properties)===null||e===void 0?void 0:e.$survey_id)||(I==null||(t=I.properties)===null||t===void 0?void 0:t.$product_tour_id);if(B&&this.getActivatedIds().includes(B)){const Q=this.na(A,B,I);if(Q==="consume")return o.info("event consumed activated item, removing it",{event:A,itemId:B}),void this.sa([B]);if(Q==="persist")return o.info("shown item promoted to persisted activation",{event:A,itemId:B}),this.ra(B),void this.oa([B])}if(this.No.has(A)){const Q=this.Zo(A,I,dgA.Cancellation);Q.length>0&&(o.info("cancel event matched, cancelling items",{event:A,itemsToCancel:Q.map(i=>i.id)}),this.sa(Q.map(i=>i.id)),Q.forEach(i=>this.aa(i.id)))}if(!this.Lo.has(A))return;o.info("event name matched",{event:A,eventPayload:I,items:this.Lo.get(A)});const C=this.Zo(A,I,dgA.Activation);this.la(C.map(Q=>Q.id))}onAction(A){this.qo.has(A)&&this.la(this.qo.get(A)||[])}la(A){if(A.length===0)return;const I=!!this.Ai.getSessionId(),e=[];for(const t of A)I&&this.Ho(t)?this.ra(t)&&this.ua(t):e.push(t);e.length>0&&(this.Do=[...new Set([...this.Do,...e])]),this.ia().info("updating activated items",{activatedItems:this.getActivatedIds()}),this.ca()}ra(A){this.Do=this.Do.filter(e=>e!==A);const I=this.ha();return!I.includes(A)&&(this.da([...I,A]),this.va(),!0)}sa(A){const I=new Set(A);this.Do=this.Do.filter(o=>!I.has(o));const e=this.fa(),t=e.filter(o=>!I.has(o));t.length!==e.length&&(this.da(t),t.length===0&&this.pa()),this.oa(A),this.ca()}ca(){try{var A;(A=this.Oo)===null||A===void 0||A.call(this)}catch(I){this.ia().error("Error while handling activated items change",I)}}ga(){const A=this.Uo();if(!A)return{};const I=this.Ai.getProperty(A);return I&&typeof I=="object"?I:{}}ua(A){if(!this.Uo())return;const I=this.ga();this.Wo(QI(QI({},I),{},{[A]:Date.now()}))}oa(A){if(!this.Uo())return;const I=this.ga(),e={};let t=!1;for(const[o,B]of Object.entries(I))A.includes(o)?t=!0:e[o]=B;t&&(lk(e)?this.Vo():this.Wo(e))}ma(){this.Uo()&&this.Vo()}getActivationTimestamp(A){if(!this.ha().includes(A))return;const I=this.ga()[A];return i0(I)?I:void 0}fa(){const A=this.ya();return this.Ai.getProperty(A)||[]}ha(){const A=this.fa();if(A.length===0)return[];const I=this.Ai.getProperty(this.ba()),e=this.Ai.getSessionId();return e&&I===e?A:[]}va(){const A=this.Ai.getSessionId();A&&this._a(A)}pa(){this.wa()}zo(A){const I=this.Ai.getProperty(this.ba());if(I&&I!==A){const e=this.fa(),t=this.ga();e.length>0&&(this.da([]),e.filter(o=>i0(t[o])).forEach(o=>this.aa(o))),this.pa(),this.ma(),e.length>0&&this.ca()}}getActivatedIds(){return[...new Set([...this.ha(),...this.Do])].filter(A=>!this.ka(A))}dispose(){var A,I,e;(A=this.Bo)===null||A===void 0||A.call(this),this.Bo=void 0,(I=this.Io)===null||I===void 0||I.call(this),this.Io=void 0,(e=this.ta)===null||e===void 0||e.dispose(),this.ta=void 0}reset(){this.Do=[],this.fa().length>0&&this.da([]),this.pa(),this.ma(),this.ca()}getEventToItemsMap(){return this.Lo}Sa(){return this.ta}},eDt=class extends IDt{constructor(A,I,e,t){var o;super({subscribeCapture(B){const C=A.onEvent(Q=>B(Q.event,Q));return()=>C.dispose()},subscribeSession(B){const C=A.onSession(B);return()=>C.dispose()},getSessionId(){var B;return(B=A.session)===null||B===void 0?void 0:B.sessionId},getProperty:B=>A.kv.get(B),getActionUrl:e?.getActionUrl,setElementSelectors:(o=e?.setElementSelectors)!==null&&o!==void 0?o:(B,C)=>{var Q;return(Q=A.getExtension("autocapture"))===null||Q===void 0?void 0:Q.setElementSelectors(B,C)}},t),this.xa=A,this.$a=I,this.jo()}ya(){return f6A}ba(){return rDA}Uo(){return cDA}Wo(A){this.xa.kv.set({[cDA]:A})}Vo(){this.xa.kv.remove(cDA)}Ho(A){var I;let e;this.Jo(o=>{e=o.find(B=>B.id===A)});const t=e==null||(I=e.appearance)===null||I===void 0?void 0:I.surveyPopupDelaySeconds;return i0(t)&&t>0}Ca(){return IS.SHOWN}Jo(A){this.$a.getSurveys(A)}aa(A){this.$a.cancelPendingSurvey(A)}ia(){return mn}da(A){this.xa.kv.set({[f6A]:A})}_a(A){this.xa.kv.set({[rDA]:A})}wa(){this.xa.kv.remove(rDA)}ka(){return!1}na(A,I,e){var t;if(A===IS.SENT&&(e==null||(t=e.properties)===null||t===void 0?void 0:t.$survey_completed)===!1)return"ignore";let o;return this.Jo(B=>{o=B.find(C=>C.id===I)}),!o||(function(B){var C;return _II(B)&&!!(!((C=B.conditions)===null||C===void 0||(C=C.events)===null||C===void 0)&&C.repeatedActivation)||B.schedule==="always"})(o)?A===IS.SHOWN?"consume":"ignore":A===IS.SHOWN?"persist":A===IS.DISMISSED||A===IS.SENT?"consume":"ignore"}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}};const JvA=(g,A)=>g?.then?g.then(A):A(g),fq="SDK is not enabled or survey functionality is not yet loaded",QeI="Disabled. Not loading surveys.";var tDt=class{constructor(A){this.Ta=A,this.name="surveys",this._surveyEventReceiver=null,this._surveyManager=null,this.Ia=!1,this.Ma=!1,this.Ea=[],this.Pa=[],this.Ra=null,this.Aa=null,this.Ci=!1,this.Fa=new Set,this.onRemoteConfig=I=>{if(this.Ci||this.Ar.disableSurveys)return;if(!I.ok)return this.Ma=!0,this.Oa({isLoaded:!1,error:"Remote config unavailable. Not loading surveys."}),mn.warn("Remote config unavailable. Not loading surveys.");const e=I.config.surveys;if(hC(e))return mn.warn("Flags not loaded yet. Not loading surveys.");this.Da=Pm(e)?e:e.length>0,mn.info(`flags response received, isSurveysEnabled: ${this.Da}`),this.loadIfEnabled()},this.Oa=I=>{this.Pa.slice().forEach(e=>this.La(e,I))}}setup(A){if(!this.Ci)return this.Na=A,JvA(A.kv.initialize(),()=>{if(this.Na!==A||this.Ci)return;this.Na=void 0,this.xa=A;const I=A.onRemoteConfig(this.onRemoteConfig);this.Ci?I.dispose():(this.qa=I,this.loadIfEnabled())})}dispose(){var A,I,e,t,o;this.Ci||(this.Ci=!0,this.Na=void 0,this.xa=void 0,(A=this.qa)===null||A===void 0||A.dispose(),this.qa=void 0,(I=this._surveyEventReceiver)===null||I===void 0||I.dispose(),this._surveyEventReceiver=null,(e=this._surveyManager)===null||e===void 0||(t=e.dispose)===null||t===void 0||t.call(e),this._surveyManager=null,this.Ea=[],this.Pa.forEach(B=>{B.active=!1}),this.Pa=[],(o=this.ja)===null||o===void 0||o.call(this),this.ja=void 0,this.Ra=null,this.Fa.forEach(B=>clearTimeout(B)),this.Fa.clear())}get Ar(){return this.Ta.get()}getRenderContext(){if(!this.xa)return;const A=this;return{client:this.xa,get config(){return A.Ar},surveys:A}}initialize(){this.loadIfEnabled()}reset(){var A,I;(A=this._surveyManager)===null||A===void 0||(I=A.clearInMemoryInProgressSurveyState)===null||I===void 0||I.call(A);try{var e;(e=this._surveyEventReceiver)===null||e===void 0||e.reset(),localStorage.removeItem("lastSeenSurveyDate");const t=[];for(let o=0;o<localStorage.length;o++){const B=localStorage.key(o);(B?.startsWith("seenSurvey_")||B?.startsWith("inProgressSurvey_"))&&t.push(B)}t.forEach(o=>localStorage.removeItem(o))}catch{}this.Oa()}loadIfEnabled(){if(this.Ci||!this.xa)return;const A=this.Ar;if(this._surveyManager)return;if(this.Ia)return void mn.info("Already initializing surveys, skipping...");if(A.disableSurveys)return void mn.info(QeI);if(A.cookielessMode&&this.xa.isOptedOut)return void mn.info("Not loading surveys in cookieless mode without consent.");const I=this.Ta.getExtensions();if(!I)return void this.Ba("PostHog Extensions not found.");if(Le(this.Da)&&!A.advancedEnableSurveys)return;const e=this.Da||A.advancedEnableSurveys;this.Ia=!0,this.Ma=!1;try{const t=I.generateSurveys;if(t)return this.za(t,e),void(this.Ia=!1);const o=I.loadExternalDependency;if(!o)return this.Ba(S6A),void(this.Ia=!1);o(B=>{try{if(this.Ci)return;const C=this.Ta.getExtensions();B||!C?.generateSurveys?this.Ba("Could not load surveys script",B):this.za(C.generateSurveys,e)}finally{this.Ia=!1}})}catch(t){throw this.Ia=!1,this.Ba("Error initializing surveys",t),t}}za(A,I){var e;if(this.Ci)return;this._surveyManager=A(I),this._surveyEventReceiver=this.Ha(this.xa,this.Oa);const t=(e=this.xa)===null||e===void 0?void 0:e.kv.get(CgA);t&&this.Ua(t),mn.info("Surveys loaded successfully"),this.Wa(),this.Oa(),this.Va({isLoaded:!0})}Ha(A,I){return new eDt(A,this,void 0,I)}Ba(A,I){this.Ma=!0,mn.error(A,I),this.Oa({isLoaded:!1,error:A}),this.Va({isLoaded:!1,error:A})}onSurveysLoaded(A){return this.Ea.push(A),this._surveyManager&&this.Va({isLoaded:!0}),()=>{this.Ea=this.Ea.filter(I=>I!==A)}}getSurveys(A,I=!1){if(this.Ci)return;const e=this.xa;if(!e)return A([],{isLoaded:!1,error:fq});if(this.Ar.disableSurveys)return mn.info(QeI),A([]);const t=e.kv.get(CgA);if(t&&!I)return A(t,{isLoaded:!0}),void(this.Ga()&&this.getSurveys(()=>{},!0));if(this.Ra)return void this.Ra.then(({surveys:C,context:Q})=>{this.Ci||A(C,Q)}).catch(C=>mn.error("Error in survey callback",C));const o=e.sendRequest("/api/surveys/",{method:"GET",query:{token:e.projectToken},sentAt:"query",timeoutMs:this.Ar.requestTimeoutMs}).then(C=>{try{return this.Qa(e,C)}catch(Q){return mn.error("Error processing surveys response",Q),this.Qa(e,{statusCode:0,error:Q})}},C=>this.Qa(e,{statusCode:0,error:C}));this.Ra=o;const B=()=>{this.Ra===o&&(this.Ra=null)};o.then(C=>{B(),this.Ci||(this.Oa(C.context),A(C.surveys,C.context))},B).catch(C=>mn.error("Error in survey callback",C))}Qa(A,I){if(this.Ci)return{surveys:[],context:{isLoaded:!1,error:fq}};const e=I.statusCode;if(e!==200||!I.json){const o=`Surveys API could not be loaded, status: ${e}`;return e!==0?mn.error(o):I.error||mn.warn(o),this.Aa=Date.now(),{surveys:[],context:{isLoaded:!1,error:o}}}this.Aa=null;const t=I.json.surveys||[];return A.kv.set({[CgA]:t,[aDA]:Date.now()}),this.Ua(t),{surveys:t,context:{isLoaded:!0}}}Ua(A){const I=A.filter(e=>(function(t){return!(!t.start_date||t.end_date)})(e)&&(_II(e)||(function(t){var o;return!!(!((o=t.conditions)===null||o===void 0||(o=o.actions)===null||o===void 0||(o=o.values)===null||o===void 0)&&o.length)})(e)));this.Za(I)}Za(A){var I;(I=this._surveyEventReceiver)===null||I===void 0||I.replace(A)}Ga(){return this.Ja()&&!this.Ra&&!this.Ka()}Ja(){var A;const I=(A=this.xa)===null||A===void 0?void 0:A.kv.get(aDA);return i0(I)&&Date.now()-I>3e5}Ka(){return i0(this.Aa)&&3e5>Date.now()-this.Aa}markSurveyAsSeen(A,I){var e;const t={id:A,current_iteration:(e=I?.iteration)!==null&&e!==void 0?e:null};TII(t);try{localStorage.setItem("lastSeenSurveyDate",new Date().toISOString())}catch{}this.Oa()}Va(A){for(const I of this.Ea){if(this.Ci)return;try{A.isLoaded?this.getSurveys(I):I([],A)}catch(e){mn.error("Error in survey callback",e)}}}getActiveMatchingSurveys(A,I=!1){if(!hC(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(A,I);mn.warn("init was not called")}onActiveMatchingSurveysChanged(A){var I;if(this.Ci)return()=>{};const e={callback:A,active:!0,revision:0};this.Pa.push(e),this.Wa();const t=(I=this.xa)===null||I===void 0?void 0:I.kv.get(CgA);return this.Ar.disableSurveys||!this._surveyManager&&this.Ma&&!this.Ia||!t&&!hC(this.Aa)&&!this.Ra?this.La(e,{isLoaded:!1}):this._surveyManager&&this.La(e),()=>{var o;e.active=!1,this.Pa=this.Pa.filter(B=>B!==e),this.Pa.length===0&&((o=this.ja)===null||o===void 0||o.call(this),this.ja=void 0)}}Wa(){var A,I,e;this._surveyManager&&this.Pa.length>0&&((A=this.ja)!==null&&A!==void 0||(this.ja=(I=(e=this.Ta).onMatchingConditionsChanged)===null||I===void 0?void 0:I.call(e,this.Oa)))}La(A,I){if(this.Ci||!A.active)return;const e=++A.revision,t=o=>{if(!this.Ci&&A.active&&e===A.revision)try{const B=I??{isLoaded:!0},C=JSON.stringify([o,B]);if(C===A.lastResult)return;A.lastResult=C,A.callback(o,B)}catch(B){mn.error("Error in active matching surveys callback",B)}};try{I&&!I.isLoaded?t([]):this.getActiveMatchingSurveys(t)}catch(o){mn.error("Error in active matching surveys callback",o)}}Xa(A){let I=null;return this.getSurveys(e=>{var t;I=(t=e.find(o=>o.id===A))!==null&&t!==void 0?t:null}),I}Ya(A){if(hC(this._surveyManager))return{eligible:!1,reason:fq};const I=typeof A=="string"?this.Xa(A):A;return I?this._surveyManager.checkSurveyEligibility(I):{eligible:!1,reason:"Survey not found"}}tl(A){var I;if(!(!((I=this.xa)===null||I===void 0)&&I.canCapture))return{eligible:!1,reason:"PostHog is not capturing, so a survey response cannot be recorded"};if(hC(this._surveyManager))return{eligible:!1,reason:fq};const e=typeof A=="string"?this.Xa(A):A;return e?this._surveyManager.checkSurveyRenderability(e):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(A){if(hC(this._surveyManager))return mn.warn("init was not called"),{visible:!1,disabledReason:fq};const I=this.tl(A);return{visible:I.eligible,disabledReason:I.reason}}canRenderSurveyAsync(A,I){return hC(this._surveyManager)?(mn.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:fq})):new Promise(e=>{this.getSurveys(t=>{var o;const B=(o=t.find(C=>C.id===A))!==null&&o!==void 0?o:null;if(B){const C=this.tl(B);e({visible:C.eligible,disabledReason:C.reason})}else e({visible:!1,disabledReason:"Survey not found"})},I)})}renderSurvey(A,I,e){var t,o,B;if(!(!((t=this.xa)===null||t===void 0)&&t.canCapture))return;if(hC(this._surveyManager))return void mn.warn("init was not called");const C=typeof A=="string"?this.Xa(A):A;if(!C?.id)return void mn.warn("Survey not found");if(!Nlt.includes(C.type))return void mn.warn(`Surveys of type ${C.type} cannot be rendered in the app`);const Q=(o=typeof document>"u"?void 0:document)===null||o===void 0?void 0:o.querySelector(I);if(Q){if(!((B=C.appearance)===null||B===void 0)&&B.surveyPopupDelaySeconds){mn.info(`Rendering survey ${C.id} with delay of ${C.appearance.surveyPopupDelaySeconds} seconds`);const i=setTimeout(()=>{var E,n,s;this.Fa.delete(i),!this.Ci&&(!((E=this.xa)===null||E===void 0)&&E.canCapture)&&(mn.info(`Rendering survey ${C.id} with delay of ${(n=C.appearance)===null||n===void 0?void 0:n.surveyPopupDelaySeconds} seconds`),(s=this._surveyManager)===null||s===void 0||s.renderSurvey(C,Q,e),mn.info(`Survey ${C.id} rendered`))},1e3*C.appearance.surveyPopupDelaySeconds);return void this.Fa.add(i)}this._surveyManager.renderSurvey(C,Q,e)}else mn.warn("Survey element not found")}displaySurvey(A,I){var e,t;if(!(!((e=this.xa)===null||e===void 0)&&e.canCapture))return;if(hC(this._surveyManager))return void mn.warn("init was not called");const o=this.Xa(A);if(!o)return void mn.warn("Survey not found");let B=o;if(!((t=o.appearance)===null||t===void 0)&&t.surveyPopupDelaySeconds&&I.ignoreDelay&&(B=QI(QI({},o),{},{appearance:QI(QI({},o.appearance),{},{surveyPopupDelaySeconds:0})})),I.displayType!==avA.Popover&&I.initialResponses&&mn.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),I.ignoreConditions===!1){const C=this.Ya(o);if(!C.eligible)return void mn.warn("Survey is not eligible to be displayed: ",C.reason)}I.displayType!==avA.Inline?this._surveyManager.handlePopoverSurvey(B,I):this.renderSurvey(B,I.selector,I.properties)}cancelPendingSurvey(A){hC(this._surveyManager)?mn.warn("init was not called"):this._surveyManager.cancelSurvey(A)}handlePageUnload(){var A,I;(A=this._surveyManager)===null||A===void 0||(I=A.handlePageUnload)===null||I===void 0||I.call(A)}},oDt=class{constructor(A){this._instance=A}get(){var A,I,e,t;const o=(A=this._instance)===null||A===void 0?void 0:A.config;return{disableSurveys:!!o?.disable_surveys,cookielessMode:!!o?.cookieless_mode,advancedEnableSurveys:!!o?.advanced_enable_surveys,requestTimeoutMs:(I=o?.surveys_request_timeout_ms)!==null&&I!==void 0?I:1e4,prefillFromUrl:!!(!(o==null||(e=o.surveys)===null||e===void 0)&&e.prefillFromUrl),automaticDisplay:!o?.disable_surveys_automatic_display,featureFlagEvaluation:!o?.advanced_disable_feature_flags,overrideLanguage:o?.override_display_language,prepareStylesheet:o?.prepare_external_dependency_stylesheet,get_current_url:o?.get_current_url,uiHost:(t=this._instance)===null||t===void 0||(t=t.requestRouter)===null||t===void 0?void 0:t.endpointFor("ui","")}}getExtensions(){const A=JB?.__PosthogExtensions__;if(!A||!this._instance)return;const I=this._instance,{generateSurveys:e,loadExternalDependency:t}=A;return{generateSurveys:e?o=>e(I,o):void 0,loadExternalDependency:t?o=>t(I,"surveys",o):void 0}}onMatchingConditionsChanged(A){var I,e;const t=(I=this._instance)===null||I===void 0?void 0:I._addCaptureHook(Q=>{Q!=="$pageview"&&Q!==IS.SHOWN&&Q!==IS.DISMISSED&&Q!==IS.SENT||A()}),o=()=>A();NE(Se,"PHSurveyShown",o);let B=!1;const C=(e=this._instance)===null||e===void 0?void 0:e.onFeatureFlags(()=>{B&&A()});return B=!0,()=>{B=!1,t?.(),C?.(),Se?.removeEventListener("PHSurveyShown",o)}}};const BDt=Se?.location?wDA(Se.location.hash,"__posthog")||wDA(location.hash,"state"):null,ieI="_postHogToolbarParams",EeI=Ic("[Toolbar]"),neI=Ic("[FeatureFlags]"),h5=Ic("[FeatureFlags]",{debugEnabled:!0}),PvA=`" failed. Feature flags didn't load in time.`,CDt=[502,504],seI=["click","keydown","wheel","touchstart","pointerdown"],aeI="connection_error",reI=g=>{const A={};for(let I=0;g.length>I;I++)A[g[I]]=!0;return A},ceI=g=>{const A={};for(const[I,e]of dDA(g||{}))e&&(A[I]=e);return A};var QDt=class{constructor(A){this.name="featureFlags",this.md=!1,this.featureFlagEventHandlers=[],this.$=neI,this.yd={},this.bd={},this._d=[],this.wd=new Set,this.kd=new Set,this.Sd=!1,this.xd=!1,this.$d=0,this.Cd=!1,this.Td=!1,this.Id=!1,this.Md=!1,this.Ed=!1,this.Pd=0,this.Rd=!1,this.rn=()=>{const I=this.Ad();this.Pd=0,I&&this.reloadFeatureFlags()},this.Fd=()=>{var I,e;const t=this.Od,o=(I=this.Dd)!==null&&I!==void 0?I:t;Le(t)||Le(o)||this.Ar.remoteRequestsDisabled||!this.Ld||this.Ld.visibilityState==="hidden"||Date.now()-((e=this.Nd)!==null&&e!==void 0?e:0)<o||(this.Dd=this.Rd||!this.Ar.idleRefreshBackoff?t:Math.min(2*o,36e5),this.Rd=!1,this.reloadFeatureFlags(),this.qd())},this.jd=()=>{this.Rd&&this.Dd===this.Od||this.Bd()},this.sn=()=>{var I;((I=this.Ld)===null||I===void 0?void 0:I.visibilityState)==="visible"&&this.Bd()},this.Ta=A}get zd(){}Hd(){this.xa&&this.Ud()}setup(A){try{this.Wd=typeof window>"u"?void 0:window,this.Ld=typeof document>"u"?void 0:document}catch{this.Wd=void 0,this.Ld=void 0}return this.Na=A,this.$=A.logger.createLogger("[FeatureFlags]"),JvA(A.kv.initialize(),()=>{this.Na===A&&(this.Na=void 0,this.xa=A,this.Vd(A))})}Vd(A){var I;if(this.xa===A)return this.Wd&&NE(this.Wd,"online",this.rn),this.Ud(),this.Gd=A.registerDynamicEventProperties(()=>this.Qd()?this.yd:this.bd),this.Zd=(I=this.zd)===null||I===void 0?void 0:I.onCrossTabFeatureFlagChange(()=>{this.Jd(),this.Kd(),this.Xd()}),this.Kd(),this.initialize()}Bd(){this.Rd=!0,this.Dd=this.Od,this.Fd()}Ud(){var A;const I=this.Ar.refreshIntervalMs,e=!this.Ar.remoteRequestsDisabled&&this.Ld&&!Le(I)&&I>0?I:void 0;this.Ar.idleRefreshBackoff||(this.Dd=e),e!==this.Od&&(this.Yd(),Le(e)||(this.Od=e,this.Dd=e,this.qd(),!((A=this.Ld)===null||A===void 0)&&A.addEventListener&&(NE(this.Ld,iq,this.sn),aq(seI,t=>{NE(this.Ld,t,this.jd,{capture:!0})}))))}qd(){Le(this.Od)||(Le(this.tv)||clearInterval(this.tv),this.Nd=Date.now(),this.tv=setInterval(this.Fd,this.Od))}Yd(){var A,I;Le(this.tv)||(clearInterval(this.tv),this.tv=void 0,(A=this.Ld)===null||A===void 0||(I=A.removeEventListener)===null||I===void 0||I.call(A,"visibilitychange",this.sn),aq(seI,e=>{var t,o;(t=this.Ld)===null||t===void 0||(o=t.removeEventListener)===null||o===void 0||o.call(t,e,this.jd,{capture:!0})})),this.Od=void 0,this.Dd=void 0,this.Rd=!1,this.Nd=void 0}destroy(){this.ev()}dispose(){this.ev()}ev(){var A,I,e;this.Yd(),this.$d++,this.Td=!1,this.Na=void 0,this.iv(this.wd,"cancelled"),this.iv(this.kd,"cancelled"),this.xa&&(this.nv(),(A=this.Gd)===null||A===void 0||A.dispose(),this.Gd=void 0,(I=this.Zd)===null||I===void 0||I.call(this),this.Zd=void 0,this._d=[],(e=this.Wd)===null||e===void 0||e.removeEventListener("online",this.rn),this.xa=void 0)}get Ar(){return this.Ta.get()}sv(A){var I;return this.rv&&A in this.rv?this.rv[A]:(I=this.xa)===null||I===void 0?void 0:I.kv.get(A)}Jd(){return!!this.rv&&(this.rv=void 0,!0)}ov(){var A;return!Le((A=this.xa)===null||A===void 0?void 0:A.kv.get("$enabled_feature_flags"))&&this.Jd()}At(A){this.av(()=>{var I;return(I=this.xa)===null||I===void 0?void 0:I.kv.set(A)})}lv(A,I,e){if(!this.zd||!A.$enabled_feature_flags)return;const t=this.sv("$enabled_feature_flags")||{},o=A.$enabled_feature_flags||{},B=I.flags||I.featureFlags,C=I.flags?Object.entries(I.flags).filter(([,l])=>!l?.failed).map(([l])=>l):[],Q=!!I.errorsWhileComputingFlags&&!!I.flags,i=Q?C:e&&!cB(B)?Object.keys(B||{}):Array.from(new Set([...Object.keys(t),...Object.keys(o)])),E=this.sv("$feature_flag_payloads")||{},n=A.$feature_flag_payloads||{},s=Q||e?i:Array.from(new Set([...Object.keys(E),...Object.keys(n)])),r=!Q&&!e,a=!!r||i,c=!!r||s,h={[aJ]:a,[xR]:a,[r3]:c};A.$feature_flag_details&&(h[Q5]=a);for(const l of[i5,n3,ogA])Le(A[l])||(h[l]=!0);this.zd.markCrossTabFeatureFlagChanges(h)}Pt(A){this.av(()=>{var I;return(I=this.xa)===null||I===void 0?void 0:I.kv.remove(A)})}av(A){try{A()}catch(I){this.$.error("Failed to update feature flag persistence",I)}}Kd(){const A={};for(const t of[aJ,r3,i5,ux]){const o=this.sv(t);Le(o)||(A[t]=o)}this.yd=A;const I=QI({},A),e=this.sv(xR);if(e)for(const[t,o]of Object.entries(e))I[`$feature/${t}`]=o;this.bd=I}Qd(){const A=this.Ar.cacheTtlMs;if(!A||0>=A)return!1;const I=this.sv(n3);return typeof I!="number"||Date.now()-I>A}uv(){return!!this.Qd()&&(this.Ed||this.xd||(this.Ed=!0,this.$.warn("Feature flag cache is stale, triggering refresh..."),this.reloadFeatureFlags()),!0)}hv(){const A=this.Ar.evaluationContexts;return A?.length?A.filter(I=>{const e=I&&typeof I=="string"&&I.trim().length>0;return e||this.$.error("Invalid evaluation context found:",I,"Expected non-empty string"),e}):[]}dv(){const A=this.Ar.flagKeys;if(!Le(A))return A.filter(I=>{const e=I&&typeof I=="string"&&I.trim().length>0;return e||this.$.error("Invalid flag key found:",I,"Expected non-empty string"),e})}initialize(){var A,I;const e=this.Ar,t=(A=(I=e.bootstrap)===null||I===void 0?void 0:I.featureFlags)!==null&&A!==void 0?A:{};if(Object.keys(t).length){var o,B;const C=(o=(B=e.bootstrap)===null||B===void 0?void 0:B.featureFlagPayloads)!==null&&o!==void 0?o:{},Q=Object.keys(t).filter(E=>!Le(t[E])).reduce((E,n)=>(E[n]=t[n],E),{}),i=Object.keys(C).filter(E=>Q[E]).reduce((E,n)=>(E[n]=C[n],E),{});return this.vv({featureFlags:Q,featureFlagPayloads:i},void 0,{persist:!1})}}updateFlags(A,I,e){var t,o;const B=e?.merge&&(t=this.sv("$enabled_feature_flags"))!==null&&t!==void 0?t:{},C=e?.merge&&(o=this.sv("$feature_flag_payloads"))!==null&&o!==void 0?o:{},Q=QI(QI({},B),A),i=QI(QI({},C),I),E={};for(const[n,s]of Object.entries(Q))E[n]={key:n,enabled:GAI(s),variant:mAI(s),reason:void 0,metadata:Le(i?.[n])?void 0:{id:0,version:void 0,description:void 0,payload:i[n]}};this.vv({flags:E})}get hasLoadedFlags(){return this.Sd}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){const A=this.sv(Q5),I=this.sv(ux),e=this.sv(E5);if(!e&&!I)return A||{};const t=ar({},A||{}),o=[...new Set([...Object.keys(e||{}),...Object.keys(I||{})])];for(const Q of o){var B,C;const i=t[Q],E=I?.[Q],n=Le(E)?(B=i?.enabled)!==null&&B!==void 0&&B:!!E,s=Le(E)?i?.variant:typeof E=="string"?E:void 0,r=e?.[Q],a=QI(QI({},i),{},{enabled:n,variant:n?s??i?.variant:void 0});n!==i?.enabled&&(a.original_enabled=i?.enabled),s!==i?.variant&&(a.original_variant=i?.variant),r&&(a.metadata=QI(QI({},i?.metadata),{},{payload:r,original_payload:i==null||(C=i.metadata)===null||C===void 0?void 0:C.payload})),t[Q]=a}return this.md||(this.$.warn(" Overriding feature flag details!",{flagDetails:A,overriddenPayloads:e,finalDetails:t}),this.md=!0),t}getAllFeatureFlags(){const A=this.getFlagVariants(),I=this.getFlagPayloads();return Object.keys(A).map(e=>{const t=A[e];return{key:e,enabled:GAI(t),variant:mAI(t),payload:uAI(I[e])}})}getFlagVariants(){const A=this.sv(xR),I=this.sv(ux);if(!I)return A||{};const e=ar({},A||{}),t=Object.keys(I);for(let o=0;t.length>o;o++)e[t[o]]=I[t[o]];return this.md||(this.$.warn(" Overriding feature flags!",{enabledFlags:A,overriddenFlags:I,finalFlags:e}),this.md=!0),e}getFlagPayloads(){const A=this.sv(r3),I=this.sv(E5);if(!I)return A||{};const e=ar({},A||{}),t=Object.keys(I);for(let o=0;t.length>o;o++)e[t[o]]=I[t[o]];return this.md||(this.$.warn(" Overriding feature flag payloads!",{flagPayloads:A,overriddenPayloads:I,finalPayloads:e}),this.md=!0),e}reloadFeatureFlags(){this.Cd||this.Ar.featureFlagsDisabled||this.Ad()||(this.Id&&this.$.warn("reloadFeatureFlags() was called inside an onFeatureFlags callback. This callback also runs when flags change in other tabs, so this can cause a request loop."),this.xd&&(this.Td=!0),this.fv||(this._d.slice().forEach(A=>{try{A()}catch(I){this.$.error("Error while running feature flags reloading callback",I)}}),this.fv=setTimeout(()=>{this.pv()},5)))}reloadFeatureFlagsAsync(){return!this.xa||this.Cd||this.Ar.featureFlagsDisabled||this.Ar.remoteRequestsDisabled||this.Ad()?Promise.resolve({status:"skipped"}):new Promise(A=>{this.wd.add(A),this.reloadFeatureFlags()})}iv(A,I){A.forEach(e=>e({status:I})),A.clear()}nv(){clearTimeout(this.fv),this.fv=void 0}onReloading(A){return this._d.push(A),()=>{this._d=this._d.filter(I=>I!==A)}}ensureFlagsLoaded(){this.Sd||this.xd||this.fv||this.reloadFeatureFlags()}setAnonymousDistinctId(A){this.$anon_distinct_id=A}setReloadingPaused(A){this.Cd=A}resetFlagCallReported(){this.Pt(rJ)}pv(A){var I;this.nv();const e=this.xa;if(!e||this.Ar.remoteRequestsDisabled||this.Ad())return void this.iv(this.wd,"skipped");if(this.xd)return void(this.Td=!0);const t={token:e.projectToken,distinct_id:e.distinctId,groups:e.groups,$anon_distinct_id:this.$anon_distinct_id,person_properties:QI(QI(QI({},e.initialPersonProperties),this.sv("$stored_person_properties")||{}),{},{$lib:e.library.name,$lib_version:e.library.version}),group_properties:this.sv(s3),timezone:zgI()};Le(e.deviceId)||(t.$device_id=e.deviceId),(A?.disableFlags||this.Ar.featureFlagsDisabled)&&(t.disable_flags=!0);const o=this.hv();o.length&&(t.evaluation_contexts=o);const B=this.dv();Le(B)||(t.flag_keys=B);const C=this.Ar.onlyEvaluateSurveyFeatureFlags,Q="/flags/?v=2"+(C?"&only_evaluate_survey_feature_flags=true":""),i=this.$d,E=this.wd;this.wd=new Set,this.kd=E,this.xd=!0;const n=()=>{this.Td&&(this.Td=!1,this.pv())},s=l=>{var D,d;const y=(D=l.json)!==null&&D!==void 0?D:{},w=l.statusCode!==200;if(this.xd=!1,i!==this.$d)return void n();if(this.gv(l.statusCode),w||this.Td||(this.$anon_distinct_id=void 0),t.disable_flags&&!this.Td)return void this.iv(E,"skipped");this.Md=!w;const u=[];l.error?u.push(l.error instanceof Error&&l.error.name==="AbortError"?"timeout":l.error instanceof Error?aeI:"unknown_error"):l.statusCode!==200&&u.push(`api_error_${l.statusCode}`),y.errorsWhileComputingFlags&&u.push("errors_while_computing_flags");const G=!!(!((d=y.quotaLimited)===null||d===void 0)&&d.includes("feature_flags"));G&&u.push("quota_limited"),this.At({[tgA]:u}),G?this.$.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more."):t.disable_flags||this.vv(y,w,{partialResponse:C}),this.iv(E,t.disable_flags?"skipped":u.length||!y.flags&&!y.featureFlags?"error":"loaded"),n()},r=l=>{this.xd=!1,i===this.$d&&(this.At({[tgA]:[aeI]}),this.$.error("Feature flag request failed",l),this.ov()&&this.Xd(!0),this.iv(E,"error")),n()};let a=(I=this.Ar.requestMaxRetries)!==null&&I!==void 0?I:1;const c=()=>a>0&&i===this.$d,h=()=>{if(i!==this.$d||!this.xa||this.Ar.remoteRequestsDisabled)return this.xd=!1,this.iv(E,"skipped"),void n();try{e.sendRequest(Q,{target:"flags",method:"POST",body:t,compression:this.Ar.compression,sentAt:"body",timeoutMs:this.Ar.requestTimeoutMs}).then(l=>{if((D=>CDt.includes(D.statusCode)||(d=>d.statusCode===0&&d.error instanceof Error&&d.error.name==="AbortError")(D))(l)&&c())return a--,void setTimeout(h,500);s(l)}).catch(r)}catch(l){r(l)}};h()}Ad(){return $gI(this.Pd,3)}gv(A){this.Pd=AII(A,this.Pd,3,()=>this.$.warn("Feature flag requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped refreshing feature flags; will try again when connectivity changes."))}getFeatureFlag(A,I={}){var e;if(I.fresh&&!this.Md)return;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlag for key "'+A+PvA);if(this.uv())return;const t=this.getFeatureFlagResult(A,I);return(e=t?.variant)!==null&&e!==void 0?e:t?.enabled}getFeatureFlagDetails(A){return this.getFlagsWithDetails()[A]}getFeatureFlagPayload(A){const I=this.getFeatureFlagResult(A,{send_event:!1});return I?.payload}getFeatureFlagResult(A,I={}){if(I.fresh&&!this.Md)return;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlagResult for key "'+A+PvA);if(this.uv())return;const e=this.getFlagVariants(),t=A in e,o=e[A],B=this.getFlagPayloads()[A],C=String(o),Q=this.sv("$feature_flag_request_id")||void 0,i=this.sv("$feature_flag_evaluated_at")||void 0;let E,n=this.sv("$flag_call_reported")||{};if(this.Ar.deduplicateCallsPerSession){var s;const R=(s=this.xa)===null||s===void 0||(s=s.session)===null||s===void 0?void 0:s.sessionId,x=this.sv(BgA);R&&R!==x&&(n={},E=R)}if(!I.send_event&&"send_event"in I)E&&this.At({[rJ]:n,[BgA]:E});else{var r,a;const R=(r=this.xa)===null||r===void 0?void 0:r.canCapture;if(!R&&Object.keys(n).length>0&&(n={},this.At({[rJ]:n})),R&&!(!((a=n[A])===null||a===void 0)&&a.includes(C))){var c,h,l,D,d,y,w,u,G,m,p,k,S;cB(n[A])?n[A].push(C):n[A]=[C],this.At(QI({[rJ]:n},E?{[BgA]:E}:{}));const x=this.getFeatureFlagDetails(A),N=[...(c=this.sv("$feature_flag_errors"))!==null&&c!==void 0?c:[]];Le(o)&&N.push("flag_missing");const U={$feature_flag:A,$feature_flag_response:o,$feature_flag_payload:B??null,$feature_flag_request_id:Q,$feature_flag_evaluated_at:i,$feature_flag_bootstrapped_response:(h=(l=this.Ar.bootstrap)===null||l===void 0||(l=l.featureFlags)===null||l===void 0?void 0:l[A])!==null&&h!==void 0?h:null,$feature_flag_bootstrapped_payload:(D=(d=this.Ar.bootstrap)===null||d===void 0||(d=d.featureFlagPayloads)===null||d===void 0?void 0:d[A])!==null&&D!==void 0?D:null,$used_bootstrap_value:!this.Md};Le(x==null||(y=x.metadata)===null||y===void 0?void 0:y.has_experiment)||(U.$feature_flag_has_experiment=x.metadata.has_experiment),Le(x==null||(w=x.metadata)===null||w===void 0?void 0:w.version)||(U.$feature_flag_version=x.metadata.version);const K=(u=x==null||(G=x.reason)===null||G===void 0?void 0:G.description)!==null&&u!==void 0?u:x==null||(m=x.reason)===null||m===void 0?void 0:m.code;K&&(U.$feature_flag_reason=K),!(x==null||(p=x.metadata)===null||p===void 0)&&p.id&&(U.$feature_flag_id=x.metadata.id),Le(x?.original_variant)&&Le(x?.original_enabled)||(U.$feature_flag_original_response=Le(x.original_variant)?x.original_enabled:x.original_variant),!(x==null||(k=x.metadata)===null||k===void 0)&&k.original_payload&&(U.$feature_flag_original_payload=x==null||(S=x.metadata)===null||S===void 0?void 0:S.original_payload),N.length&&(U.$feature_flag_error=N.join(",")),this.mv(U)}else E&&this.At({[rJ]:n,[BgA]:E})}return t?{key:A,enabled:!!o,variant:typeof o=="string"?o:void 0,payload:uAI(B)}:void 0}mv(A){try{var I;(I=this.xa)===null||I===void 0||I.capture("$feature_flag_called",A)}catch(e){this.$.error("Failed to capture feature flag call",e)}}getRemoteConfigPayload(A,I){this.yv(A,I)}yv(A,I){var e=this;return ia(function*(){const t=e.xa;if(!t)return;const o={distinct_id:t.distinctId,token:t.projectToken,person_properties:{$lib:t.library.name,$lib_version:t.library.version}},B=e.hv();B.length&&(o.evaluation_contexts=B);const C=e.dv();let Q;Le(C)||(o.flag_keys=C);try{var i;const E=(i=(yield t.sendRequest("/flags/?v=2",{target:"flags",method:"POST",body:o,compression:e.Ar.compression,sentAt:"body",timeoutMs:e.Ar.requestTimeoutMs})).json)===null||i===void 0?void 0:i.featureFlagPayloads;Q=E?.[A]||void 0}catch(E){return void e.$.error("Remote config feature flag request failed",E)}try{I(Q)}catch(E){e.$.error("Remote config feature flag callback failed",E)}})()}isFeatureEnabled(A,I={}){if(I.fresh&&!this.Md)return I.defaultValue;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return this.$.warn('isFeatureEnabled for key "'+A+PvA),I.defaultValue;const e=this.getFeatureFlag(A,I);return Le(e)?I.defaultValue:!!e}addFeatureFlagsHandler(A){this.featureFlagEventHandlers.push(A)}removeFeatureFlagsHandler(A){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter(I=>I!==A)}receivedFeatureFlags(A,I,e){this.vv(A,I,e)}vv(A,I,e){if(!this.xa)return;this.Sd=!0;const t=((o,B={},C={},Q={},i,E=neI)=>{const n=((y,w)=>{const u=y.flags;if(u){const G=Object.fromEntries(Object.keys(u).map(p=>{var k;return[p,(k=u[p].variant)!==null&&k!==void 0?k:u[p].enabled]})),m=Object.fromEntries(Object.keys(u).filter(p=>u[p].enabled).filter(p=>{var k;return!Le((k=u[p].metadata)===null||k===void 0?void 0:k.payload)}).map(p=>{var k;return[p,(k=u[p].metadata)===null||k===void 0?void 0:k.payload]}));return QI(QI({},y),{},{featureFlags:G,featureFlagPayloads:m})}return y.featureFlags&&w.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),y})(o,E),s=n.flags,r=n.featureFlags,a=n.featureFlagPayloads;if(!r)return;const c=o.requestId,h=o.evaluatedAt;if(cB(r)){E.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");const y={};if(r)for(let w=0;r.length>w;w++)y[r[w]]=!0;return{[aJ]:r,[xR]:y,[ogA]:!1}}let l=r,D=a,d=s;if(i?.partialResponse){const y=Object.keys(l),w=D||{};l=QI(QI({},B),l),D=QI(QI({},C),w),y.forEach(u=>{u in w||D==null||delete D[u]}),d=QI(QI({},Q),d)}else if(o.errorsWhileComputingFlags)if(s){const y=new Set(Object.keys(s).filter(u=>{var G;return!(!((G=s[u])===null||G===void 0)&&G.failed)}));l=QI(QI({},B),Object.fromEntries(Object.entries(l).filter(([u])=>y.has(u))));const w=Object.fromEntries(Object.entries(D||{}).filter(([u])=>y.has(u)));D=QI(QI({},C),w),y.forEach(u=>{u in w||D==null||delete D[u]}),d=QI(QI({},Q),Object.fromEntries(Object.entries(d||{}).filter(([u])=>y.has(u))))}else l=QI(QI({},B),l),D=QI(QI({},C),D),d=QI(QI({},Q),d);return QI(QI({[aJ]:Object.keys(ceI(l)),[xR]:l||{},[r3]:D||{},[Q5]:d||{},[ogA]:o.minimalFlagCalledEvents===!0},c?{[i5]:c}:{}),h?{[n3]:h}:{})})(A,this.getFlagVariants(),this.getFlagPayloads(),this.getFlagsWithDetails(),e,this.$);if(t)if(e?.persist===!1){const o=!Le(this.xa.kv.get(xR));this.rv=t,o||this.At(t)}else this.Jd(),this.lv(t,A,!!e?.partialResponse),this.At(t);else I&&this.ov();I||(this.Ed=!1),this.Xd(I)}override(A,I=!1){this.$.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:A,suppressWarning:I})}overrideFeatureFlags(A){this.bv(A)}bv(A){if(this.xa){if(A===!1)return this.Pt([ux,E5]),this.Xd(),void h5.info("All overrides cleared");if(cB(A))return this.At({[ux]:reI(A)}),this.Xd(),void h5.info("Flag overrides set",{flags:A});if(A&&typeof A=="object"&&("flags"in A||"payloads"in A)){var I;const e=A;this.md=!!((I=e.suppressWarning)!==null&&I!==void 0&&I);const t={},o=e.flags,B=e.payloads;return o&&(t[ux]=cB(o)?reI(o):o),B&&(t[E5]=B),Object.keys(t).length&&this.At(t),o===!1&&B===!1?this.Pt([ux,E5]):o===!1?this.Pt(ux):B===!1&&this.Pt(E5),this.Xd(),o===!1?h5.info("Flag overrides cleared"):o&&h5.info("Flag overrides set",{flags:o}),void(B===!1?h5.info("Payload overrides cleared"):B&&h5.info("Payload overrides set",{payloads:B}))}if(A&&typeof A=="object")return this.At({[ux]:A}),this.Xd(),void h5.info("Flag overrides set",{flags:A});this.$.warn("Invalid overrideOptions provided to overrideFeatureFlags",{overrideOptions:A})}else this.$.warn("posthog.featureFlags.overrideFeatureFlags called before feature flags were ready")}onFeatureFlags(A){if(this.addFeatureFlagsHandler(A),this.Sd){const{flags:I,flagVariants:e}=this._v();try{A(I,e)}catch(t){this.$.error("Error while running feature flags callback",t)}}return()=>this.removeFeatureFlagsHandler(A)}updateEarlyAccessFeatureEnrollment(A,I,e){var t;const o=(this.sv("$early_access_features")||[]).find(E=>E.flagKey===A),B={[`$feature_enrollment/${A}`]:I},C={$feature_flag:A,$feature_enrollment:I,$set:B};o&&(C.$early_access_feature_name=o.name),e&&(C.$feature_enrollment_stage=e);const Q=QI(QI({},this.getFlagVariants()),{},{[A]:I});(t=this.zd)===null||t===void 0||t.markCrossTabFeatureFlagChanges({$active_feature_flags:[A],$enabled_feature_flags:[A],$stored_person_properties:Object.keys(B)}),this.At({[aJ]:Object.keys(ceI(Q)),[xR]:Q,[a3]:QI(QI({},this.sv("$stored_person_properties")||{}),B)}),this.Xd();try{var i;(i=this.xa)===null||i===void 0||i.capture("$feature_enrollment_update",C)}catch(E){this.$.error("Failed to capture early access feature enrollment",E)}}getEarlyAccessFeatures(A,I=!1,e){const t=this.sv(M6A);!t||I?this.wv(A,e):A(t)}wv(A,I){var e=this;return ia(function*(){const t=e.xa;if(!t)return;const o=I?`&${I.map(C=>`stage=${C}`).join("&")}`:"";let B;try{const C=yield t.sendRequest(`/api/early_access_features/?token=${t.projectToken}${o}`,{target:"api",method:"GET",sentAt:"query"});if(!C.json)return;B=C.json.earlyAccessFeatures,e.At({[M6A]:B})}catch(C){return void e.$.error("Early access feature request failed",C)}try{A(B)}catch(C){e.$.error("Early access feature callback failed",C)}})()}_v(){const A=this.getFlags(),I=this.getFlagVariants();return{flags:A.filter(e=>I[e]),flagVariants:Object.keys(I).filter(e=>I[e]).reduce((e,t)=>(e[t]=I[t],e),{})}}Xd(A){this.Kd();const{flags:I,flagVariants:e}=this._v(),t=this.Id;this.Id=!0,this.featureFlagEventHandlers.forEach(o=>{try{o(I,e,{errorsLoading:A})}catch(B){this.$.error("Error while running feature flags callback",B)}}),this.Id=t}setPersonPropertiesForFlags(A,I=!0){this.Sv(A,I)}Sv(A,I=!0){const e=this.sv("$stored_person_properties")||{},t=A?.$set||(A?.$set_once?{}:A),o=A?.$set_once,B={};if(o)for(const C in o)({}).hasOwnProperty.call(o,C)&&(C in e||(B[C]=o[C]));this.At({[a3]:QI(QI(QI({},e),B),t)}),I&&this.reloadFeatureFlags()}unsetPersonPropertiesForFlags(A,I=!0){const e=QI({},this.sv("$stored_person_properties")||{});A.forEach(t=>{delete e[t]}),this.At({[a3]:e}),I&&this.reloadFeatureFlags()}resetPersonPropertiesForFlags(A=!0){this.Pt(a3),A&&this.reloadFeatureFlags()}setGroupPropertiesForFlags(A,I=!0){const e=this.sv("$stored_group_properties")||{},t=QI({},e);for(const o of Object.keys(A))t[o]=QI(QI({},e[o]),A[o]);this.At({[s3]:t}),I&&this.reloadFeatureFlags()}resetGroupPropertiesForFlags(A){if(A){const I=this.sv("$stored_group_properties")||{};this.At({[s3]:QI(QI({},I),{},{[A]:{}})})}else this.Pt(s3)}reset(){this.$d++,this.iv(this.wd,"cancelled"),this.iv(this.kd,"cancelled"),this.Td=!1,this.yd={},this.bd={},this.rv=void 0,this.Sd=!1,this.Cd=!1,this.Md=!1,this.$anon_distinct_id=void 0,this.nv(),this.md=!1,this.Pd=0}};const heI=Ic("[FeatureFlags]");var iDt=class{constructor(A,I=!1){this.xv=!1,this.update(A,I)}update(A,I){this.$v=((e,t)=>{var o,B,C,Q,i,E,n,s;return{bootstrap:{featureFlags:(o=(B=e.bootstrap)===null||B===void 0?void 0:B.featureFlags)!==null&&o!==void 0?o:void 0,featureFlagPayloads:(C=(Q=e.bootstrap)===null||Q===void 0?void 0:Q.featureFlagPayloads)!==null&&C!==void 0?C:void 0},remoteRequestsDisabled:t,featureFlagsDisabled:!!e.advanced_disable_feature_flags,onlyEvaluateSurveyFeatureFlags:!!e.advanced_only_evaluate_survey_feature_flags,deduplicateCallsPerSession:!!e.advanced_feature_flags_dedup_per_session,cacheTtlMs:e.feature_flag_cache_ttl_ms,refreshIntervalMs:(i=e.remote_config_refresh_interval_ms)!==null&&i!==void 0?i:3e5,idleRefreshBackoff:Le(e.remote_config_refresh_interval_ms),requestTimeoutMs:e.feature_flag_request_timeout_ms,requestMaxRetries:Math.max(0,(E=e.feature_flag_request_max_retries)!==null&&E!==void 0?E:1),compression:e.disable_compression?void 0:"best-available",evaluationContexts:(n=(s=e.evaluation_contexts)!==null&&s!==void 0?s:e.evaluation_environments)!==null&&n!==void 0?n:[],flagKeys:cB(e.flag_keys)?e.flag_keys:void 0}})(A,I),!A.evaluation_environments||A.evaluation_contexts||this.xv||(heI.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.xv=!0),Le(A.flag_keys)||cB(A.flag_keys)||heI.error("Invalid flag_keys found:",A.flag_keys,"Expected array of non-empty strings")}get(){return this.$v}};const leI=g=>oq(g)&&(g.name==="RangeError"&&g.message.indexOf("Maximum call stack size exceeded")===0||g.name==="InternalError"&&g.message==="too much recursion"),PR=Ic("[Error tracking]"),KvA="webkit-masked-url:",EDt=[{value:"isolatedAPI.contexts.topHostname",exact:!1},{value:"No response from target",exact:!0}],nDt=["chrome-extension://","moz-extension://","safari-extension:","safari-web-extension:",KvA],sDt=["__firefox__","__gCrWeb"],DeI="Refusing to render web experiment since the viewer is a likely bot",aDt={icontains:(g,A)=>A.toLowerCase().indexOf(g.toLowerCase())>-1,not_icontains:(g,A)=>A.toLowerCase().indexOf(g.toLowerCase())===-1,regex:(g,A)=>RDA(A,g),not_regex:(g,A)=>!RDA(A,g),exact:(g,A)=>A===g,is_not:(g,A)=>A!==g},Af=Ic("[Conversations]"),l5="Conversations not available yet.";function deI(g,A){var I,e,t,o,B,C,Q;const i=(I=g?.flushIntervalMs)!==null&&I!==void 0?I:3e3,E=(e=g?.maxBufferSize)!==null&&e!==void 0?e:100,n=A?.consoleCapture?void 0:(t=g?.maxLogsPerInterval)!==null&&t!==void 0?t:1e3,s=Le(n)?Math.max(E,2048):Math.max(E,n),r=QI(QI({},(function(){let a="",c="";try{var h;const l="u">typeof globalThis?globalThis:"u">typeof window?window:void 0,D=l==null||(h=l.navigator)===null||h===void 0?void 0:h.userAgent;D&&([a,c]=IAI(D))}catch{}return(function(l,D){const d=(function(y){if(y)return{}.hasOwnProperty.call(_AI,y)?_AI[y]:y})(l);return QI(QI({},d?{"os.name":d}:{}),D?{"os.version":D}:{})})(a,c)})()),g?.resourceAttributes);return{serviceName:(o=(B=r?.["service.name"])!==null&&B!==void 0?B:g?.serviceName)!==null&&o!==void 0?o:A?.serviceNameDefault,serviceVersion:(C=r?.["service.version"])!==null&&C!==void 0?C:g?.serviceVersion,environment:(Q=r?.["deployment.environment"])!==null&&Q!==void 0?Q:g?.environment,resourceAttributes:r,beforeSend:g?.beforeSend,flushIntervalMs:i,maxBufferSize:E,maxQueueSize:s,maxBatchRecordsPerPost:100,rateCapWindowMs:i,maxLogsPerInterval:n,backgroundFlushBudgetMs:0,terminationFlushBudgetMs:0}}const rDt=["debug","log","warn","error","info"],cDt=g=>{for(;g?.__rrweb_original__;)g=g.__rrweb_original__;return g},yeI="console",weI="__posthogHandledLogsRequestError",LvA=(g,A)=>{const I=g instanceof Error?g:new Error(A);return I[weI]=!0,I},ueI=g=>!!g&&typeof g=="object"&&g[weI]===!0;var hDt=class{get Cv(){return QI(QI({},this.$),{},{error:(...g)=>{g.some(ueI)||this.$.error(...g)}})}constructor(g,A){var I;this.Ta=g,this.Tv=A,this.name="logs",this.Iv=!1,this.Mv=!1,this.Ev=!1,this.$=Ic("[logs]"),this.Ju=[],this.Pv=[],this.Pd=0,this.Rv=!1,this.Ci=!1,this.Av=[],this.Fv=[],this.Ov=!1,this.Dv=!1,this.Lv=!1,this.Nv=()=>{var e,t;this.Ci||(this.Pd=0,(e=this.qv)===null||e===void 0||e.onReconnect(),(t=this.jv)===null||t===void 0||t.onReconnect())},this.Iv=!!(!((I=g.get())===null||I===void 0)&&I.captureConsoleLogs)}get Bv(){return!0}zv(){}Hv(){if(!this.Lv){try{this.Wd=typeof window>"u"?void 0:window}catch{this.Wd=void 0}this.Wd&&(NE(this.Wd,"online",this.Nv),this.Lv=!0)}}Uv(g,A,I,e){this.Hv();const t=deI(this.Ta.get(),I);return[new C0t(this.Wv(g,A),t,this.Cv,()=>this.Tv(),o=>o(),void 0,e),t]}Vv(){const g=this.Ta.get();var A;return this.qv&&this.Gv===g||((A=this.qv)===null||A===void 0||A.reset(),this.Gv=g,[this.qv,this.Qv]=this.Uv(()=>this.Ju,I=>{this.Ju=I})),this.qv}Zv(){const g=this.Ta.get();var A;return this.jv&&this.Jv===g||((A=this.jv)===null||A===void 0||A.reset(),this.Jv=g,[this.jv,this.Kv]=this.Uv(()=>this.Pv,I=>{this.Pv=I},{serviceNameDefault:"posthog-browser-logs",consoleCapture:!0},yeI)),this.jv}setup(g){if(!this.Ci&&!this.Rv)return this.Rv=!0,this.xa=g,this.$=g.logger.createLogger("[logs]"),JvA(g.kv.initialize(),()=>{this.Ci||this.Vd(g)})}Vd(g){var A;this.Hv(),!((A=this.Ta.get())===null||A===void 0)&&A.captureConsoleLogs&&(this.Iv=!0),(this.Iv||this.Ta.remoteConfigWillArrive&&g.kv.get(this.Ta.captureHintKey))&&this.Xv();let I=!1;const e=g.onRemoteConfig(t=>{var o;I=t.ok&&((o=t.config.logs)===null||o===void 0?void 0:o.captureConsoleLogs)===!0,this.onRemoteConfig(t)});this.Ci?e.dispose():(this.qa=e,I||this.loadIfEnabled())}dispose(){var g,A,I,e,t,o,B;this.Ci||(this.Ci=!0,this.Yv(),(g=this.qa)===null||g===void 0||g.dispose(),this.qa=void 0,this.xa=void 0,this.Ev=!1,(A=this.Wd)===null||A===void 0||A.removeEventListener("online",this.Nv),(I=this.tf)===null||I===void 0||I.call(this),this.tf=void 0,(e=this.qv)===null||e===void 0||e.clearQueue(),(t=this.jv)===null||t===void 0||t.clearQueue(),(o=this.qv)===null||o===void 0||o.reset(),(B=this.jv)===null||B===void 0||B.reset())}onRemoteConfig(g){var A,I;if(this.Ci)return;const e=g.ok?(A=g.config.logs)===null||A===void 0?void 0:A.captureConsoleLogs:void 0;hC(e)?this.ef():((I=this.xa)===null||I===void 0||I.kv.set(this.Ta.captureHintKey,!!e),e?(this.Iv=!0,this.Mv||this.Xv(),this.loadIfEnabled()):this.ef())}reset(){var g,A,I,e;this.Yv(),(g=this.qv)===null||g===void 0||g.clearQueue(),this.Ju=[],(A=this.qv)===null||A===void 0||A.reset(),(I=this.jv)===null||I===void 0||I.clearQueue(),this.Pv=[],(e=this.jv)===null||e===void 0||e.reset(),this.Pd=0}captureLog(g){!this.Ci&&this.xa&&this.Vv().captureLog(g)}captureConsoleLog(g){!this.Ci&&this.xa&&this.Zv().captureLog(g)}captureBufferedConsoleLog(g,A,I){!this.Ci&&this.xa&&this.Zv().captureLog(g,{context:A,occurredAtMs:I})}gd(){var g;this.Yv(),(g=this.jv)===null||g===void 0||g.clearQueue(),this.Pv=[]}ef(){this.Iv||this.Yv()}Xv(){var g;if(this.Ov||!(!((g=this.Wd)===null||g===void 0)&&g.console))return;const A=deI(this.Ta.get()).maxBufferSize;let I=!0;this.Fv.push(()=>{I=!1});for(const e of rDt){let t;try{t=cDt(this.Wd.console[e])}catch{continue}t&&this.Fv.push(Mq(this.Wd.console,e,o=>{const B=(...C)=>{try{I&&this.if(e,C,A)}catch{}return o.apply(this.Wd.console,C)};return B.__rrweb_original__=t,B}))}this.Ov=!0,this.nf=setTimeout(()=>{this.Yv()},3e4)}if(g,A,I){var e;if(this.Ov&&!this.Dv&&A.length!==0)if(!((e=this.xa)===null||e===void 0)&&e.canCapture){if(I>this.Av.length){this.Dv=!0;try{this.Av.push({level:g,args:A,occurredAtMs:Date.now(),context:this.Tv()})}finally{this.Dv=!1}}}else this.Yv()}Yv(){if(this.Av=[],this.Ov){this.Ov=!1,this.nf&&(clearTimeout(this.nf),this.nf=void 0);for(const g of this.Fv)g();this.Fv=[]}}sf(){const g=this.Av;return this.Yv(),g}get logger(){return this.rf||(this.rf={trace:(g,A)=>this.captureLog({body:g,level:"trace",attributes:A}),debug:(g,A)=>this.captureLog({body:g,level:"debug",attributes:A}),info:(g,A)=>this.captureLog({body:g,level:"info",attributes:A}),warn:(g,A)=>this.captureLog({body:g,level:"warn",attributes:A}),error:(g,A)=>this.captureLog({body:g,level:"error",attributes:A}),fatal:(g,A)=>this.captureLog({body:g,level:"fatal",attributes:A})}),this.rf}flushLogs(g){this.xa&&(g?this.af(g):(this.qv&&this.qv.flush().catch(A=>this.lf(A)),this.jv&&this.jv.flush().catch(A=>this.lf(A))))}flush(){var g=this;return ia(function*(){var A,I;const e=(A=g.qv)===null||A===void 0?void 0:A.flush().catch(o=>g.lf(o)),t=(I=g.jv)===null||I===void 0?void 0:I.flush().catch(o=>g.lf(o));yield e,yield t})()}lf(g){ueI(g)||this.$.error("PostHog logs flush failed:",g)}loadIfEnabled(){if(this.Ci||!this.Iv||this.Mv||this.Ev)return;const g=this.zv();if(g){this.Ev=!0;try{g((A,I)=>{if(this.Ev=!1,!this.Ci&&this.Iv)if(A||!I)this.$.error("Could not load logs script",A),this.Yv();else{const e=this.sf();this.tf=I.initialize(this.xa),this.Mv=!0,e.length>0&&I.replay(this.xa,e)}})}catch(A){throw this.Ev=!1,A}}else this.Yv()}Wv(g,A){const I=this.xa;return{get isDisabled(){return!1},get optedOut(){return!I.canCapture},getPersistedProperty:e=>e===yx.LogsQueue?g():void 0,setPersistedProperty(e,t){e===yx.LogsQueue&&A(t??[])},js:e=>this.js(e),getLibraryId:()=>I.library.name,getLibraryVersion:()=>I.library.version}}js(g){return new Promise(A=>{if($gI(this.Pd,3))return void A({kind:"fatal",error:LvA(void 0,"logs endpoint is unreachable, dropping batch")});let I=!1;const e=B=>{I||(I=!0,clearTimeout(t),A(B))},t=setTimeout(()=>{this.$.warn("Logs request timed out before receiving a response"),e({kind:"retry-later",error:LvA(void 0,"logs request timed out")})},9e4),o=this.Bv;this.xa.sendRequest("/i/v1/logs",{method:"POST",query:{token:this.xa.projectToken},body:g,compression:"best-available",timeoutMs:6e4}).then(B=>{var C;const Q=B.statusCode;this.uf(Q,o),Q>=200&&300>Q?e({kind:"ok"}):Q===413?e({kind:"too-large"}):Q!==0&&Q!==408&&Q!==429&&500>Q?e({kind:"fatal",error:new Error(`logs request failed with status ${Q}`)}):Q===0?(B.error||this.$.warn("Logs request failed before receiving an HTTP response"),e({kind:"retry-later",error:LvA(B.error,"logs request failed before receiving an HTTP response")})):e({kind:"retry-later",error:(C=B.error)!==null&&C!==void 0?C:new Error(`logs request failed with status ${Q}`)})},B=>{e({kind:"retry-later",error:B})})})}uf(g,A){(g!==0||A)&&(this.Pd=AII(g,this.Pd,3,()=>this.$.warn("Log requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped sending logs; will try again when connectivity changes.")))}af(g){this.Ju.length>0&&this.cf(g,this.Ju,this.Qv,this.xa.library.name,A=>{this.Ju=A}),this.Pv.length>0&&this.cf(g,this.Pv,this.Kv,yeI,A=>{this.Pv=A})}cf(g,A,I,e,t){if(A.length===0)return;const o=A.map(C=>C.record);t([]);const B=vAI(o,HAI(I,this.xa.library.name,this.xa.library.version),e,this.xa.library.version);this.xa.sendRequest("/i/v1/logs",{method:"POST",query:{token:this.xa.projectToken},body:B,compression:"best-available",transport:g,timeoutMs:6e4}).catch(C=>this.lf(C))}};const FDA=Ic("[NetworkMetrics]"),YvA=()=>{var g;return!(Se==null||(g=Se.performance)===null||g===void 0)&&g.now?Se.performance.now():Date.now()},lDt={"http:":80,"https:":443},DDt=new Set(["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]),GeI=(g,A)=>{var I;const e=String(A);return{method:String(g).toUpperCase(),url:((I=hJ(e))===null||I===void 0?void 0:I.href)||e}},_vA=(g,A,I,e,t,o,B=!1)=>{try{var C,Q;const i=t();if(!i)return;const E=I||void 0,n=YvA()-e,s=hJ(A.url);if(s&&s.protocol!=="http:"&&s.protocol!=="https:")return;const r={url:s?.href||A.url,method:A.method},a=Q0(i.name)?i.name(r):KC(i.name)?i.name:"http.client.request.duration";if(!a)return;const c=B&&!E?void 0:((l,D)=>l?400>l?void 0:String(l):D?.name||"_OTHER")(E,o),h=QI(QI(QI(QI(QI({},(l=>{const D=DDt.has(l)?l:"_OTHER";return QI({"http.request.method":D},D==="_OTHER"&&l!==D?{"http.request.method_original":l}:{})})(r.method)),s?(l=>{return{"server.address":l.hostname.startsWith("[")&&l.hostname.endsWith("]")?l.hostname.slice(1,-1):l.hostname,"server.port":Number(l.port)||lDt[l.protocol],"url.scheme":l.protocol.slice(0,-1),"url.template":(D=l.pathname,D.split("/").map(d=>(y=>/^\d+$/.test(y)||y.length>=8&&/^[0-9a-f-]*\d[0-9a-f-]*$/i.test(y))(d)?":id":d).join("/"))};var D})(s):{}),E?{"http.response.status_code":E}:{}),c?{"error.type":c}:{}),(C=i.attributes)===null||C===void 0?void 0:C.call(i,r,{status:E,durationMs:n}));(Q=g.metrics)===null||Q===void 0||Q.histogram(a,n,{unit:"ms",attributes:h})}catch(i){FDA.error("Failed to record network metric",i)}},meI=()=>{},dDt=(g,A)=>Q0(Se?.fetch)?Mq(Se,"fetch",I=>function(...e){const t=YvA(),o=I.apply(this,e);if(!A())return o;try{var B,C,Q;const[i,E]=e,n=GeI((B=(C=E?.method)!==null&&C!==void 0?C:i?.method)!==null&&B!==void 0?B:"GET",(Q=i?.url)!==null&&Q!==void 0?Q:i);return o.then(s=>(_vA(g,n,s?.status,t,A,void 0,!0),s),s=>{throw _vA(g,n,void 0,t,A,s),s})}catch(i){return FDA.error("Failed to observe fetch",i),o}}):meI,yDt=(g,A)=>{var I;const e=Se==null||(I=Se.XMLHttpRequest)===null||I===void 0?void 0:I.prototype;if(!e)return meI;const t=new WeakMap,o=Mq(e,"open",C=>function(...Q){try{GII.has(this)||t.set(this,GeI(Q[0],Q[1]))}catch(i){FDA.error("Failed to observe XHR open",i)}return C.apply(this,Q)}),B=Mq(e,"send",C=>function(...Q){let i;try{const E=t.get(this);if(E&&A()){const n=YvA();i=()=>{this.removeEventListener("loadend",i),_vA(g,E,this.status,n,A)},NE(this,"loadend",i)}}catch(E){FDA.error("Failed to observe XHR send",E)}try{return C.apply(this,Q)}catch(E){throw i&&this.removeEventListener("loadend",i),E}});return()=>{o(),B()}},peI=new WeakMap,wDt=new Set(["$comment","$defs","$id","$schema","additionalProperties","default","definitions","deprecated","description","examples","minProperties","properties","readOnly","required","title","type","writeOnly"]),uDt={maxStringLength:2048,truncationSuffix:"..."},GDt={maxStringLength:2048,truncationSuffix:"..."};function keI(g){if(g)return g===!0?{intent:!0,model:!0}:{intent:g.intent!==!1,model:g.model!==!1}}function bvA(g,A){return{}.hasOwnProperty.call(g,A)}function HvA(g,A){const I=Object.create(g);return A&&Object.defineProperty(I,"inputSchema",{configurable:!0,enumerable:!0,writable:!0,value:A}),I}function MeI(g,A,I=!1){if(!KC(g))return;const e=g.trim();return e?(I?PAI(e,uDt):e).slice(0,A):void 0}function SeI(g){try{return yC(g)&&g.isError===!0}catch{return!1}}function feI(g){return PAI(g||"Unknown error",GDt).slice(0,2048)}function mDt(g,A){try{return feI(A?(function(I){try{return!yC(I)||!cB(I.content)?void 0:I.content.filter(e=>yC(e)&&e.type==="text"&&KC(e.text)).map(e=>e.text).join(" ").trim()||void 0}catch{return}})(g):yC(g)&&KC(g.message)?g.message:KC(g)?g:String(g))}catch{return"Unknown error"}}function pDt(g,A,I){return A.errorResult?[{type:"Error",value:I,mechanism:{type:"generic",handled:!0,synthetic:!0,exception_id:0}}]:g.buildProperties(A.error,{handled:!0}).$exception_list.map(e=>QI(QI({},e),{},{value:feI(e.value)}))}function kDt(g,A){if(A)return"Error";try{if(!yC(g))return"Error";let I=KC(g.name)?g.name.trim():"";const e=g.constructor;return I&&I!=="Error"||!Q0(e)||e.name==="Error"||(I=e.name),(I||"Error").slice(0,256)}catch{return"Error"}}function MDt(g,A){return{message:mDt(g,A),type:kDt(g,A)}}const UDA={featureFlags:class extends QDt{constructor(g){const A=new iDt(g.config,g.Qu());super(A),this.name=OII,this._instance=g,this.hf=A}get zd(){return this._instance.persistence}updateConfig(g,A){this.hf.update(g,A),this.Hd()}}},SDt={sessionRecording:class{get Ar(){return this._instance.config}get _c(){return this._instance.persistence}get started(){var g;return!!(!((g=this.df)===null||g===void 0)&&g.isStarted)}get status(){var g,A;return this.vf==="awaiting_config"||this.vf==="missing_config"?this.vf:(g=(A=this.df)===null||A===void 0?void 0:A.status)!==null&&g!==void 0?g:this.vf}constructor(g){if(this._instance=g,this._forceAllowLocalhostNetworkCapture=!1,this.vf=xvA,this.ff=void 0,this.pf=!1,this.Je=(()=>{var A,I;if(!co?.visibilityState||co.visibilityState==="visible")return!0;const e=Se==null||(A=Se.performance)===null||A===void 0||(I=A.getEntriesByType)===null||I===void 0?void 0:I.call(A,"visibility-state");return!e?.length||e.some(t=>t.name==="visible")})(),this.sn=()=>{var A,I;co?.visibilityState==="visible"&&(this.Je=!0,(A=this.df)===null||A===void 0||(I=A.setDocumentWasEverVisible)===null||I===void 0||I.call(A,!0))},!this._instance.sessionManager)throw dJ.error("started without valid sessionManager"),new Error("[SessionRecording] started without valid sessionManager. This is a bug.");if(this.Ar.cookieless_mode==="always")throw new Error('[SessionRecording] cannot be used with cookieless_mode="always"');co?.addEventListener&&NE(co,"visibilitychange",this.sn)}initialize(){this.startIfEnabledOrStop()}dispose({discardBufferedEvents:g=!1}={}){var A;this.pf=!0,co==null||(A=co.removeEventListener)===null||A===void 0||A.call(co,"visibilitychange",this.sn),g?this.gf(!0):this.stopRecording()}get mf(){var g;const A=!!(!((g=this._instance.get_property("$session_recording_remote_config"))===null||g===void 0)&&g.enabled),I=!this.Ar.disable_session_recording,e=this.Ar.disable_session_recording||this._instance.consent.isOptedOut();return Se&&A&&I&&!e}startIfEnabledOrStop(g){var A;if(this.pf||this.mf&&(!((A=this.df)===null||A===void 0)&&A.isStarted))return;const I=!Le(Object.assign)&&!Le(Array.from);this.mf&&I?(this.yf(g),dJ.info("starting")):(this.vf=xvA,this.stopRecording())}yf(g){var A,I;if(this.mf)if(this.vf!=="awaiting_config"&&this.vf!=="missing_config"&&(this.vf=BeI),(JB==null||(A=JB.__PosthogExtensions__)===null||A===void 0||(A=A.rrweb)===null||A===void 0?void 0:A.record)&&((I=JB.__PosthogExtensions__)===null||I===void 0?void 0:I.initSessionRecording))this.bf(g);else{var e,t;const o=this._instance.sessionManager;(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,this._f,B=>{if(!this.pf&&this.mf&&this._instance.sessionManager===o)return B?(this._instance.register_for_session({$sdk_debug_recording_script_not_loaded:!0}),dJ.error("could not load recorder",B)):void this.bf(g);this.vf="disabled"})}}stopRecording(){var g,A;(g=this.ff)===null||g===void 0||g.call(this),this.ff=void 0,(A=this.df)===null||A===void 0||A.stop()}gf(g=!1){var A,I;(A=this.ff)===null||A===void 0||A.call(this),this.ff=void 0,(I=this.df)===null||I===void 0||I.discard({discardProducerEvents:g})}wf(){var g,A;(g=this._c)===null||g===void 0||g.unregister("$session_is_sampled"),(A=this._c)===null||A===void 0||A.unregister("$replay_sample_rate")}kf(g,A){if(hC(g))return null;const I=i0(g)?g:parseFloat(g);return typeof(e=I)!="number"||!Number.isFinite(e)||0>e||e>1?(dJ.warn(`${A} must be between 0 and 1. Ignoring invalid value:`,g),null):I;var e}Sf(g){if(this._c){var A,I;const e=this._c,t=()=>{var o;const B=g.sessionRecording===!1?void 0:g.sessionRecording,C=this.kf((o=this.Ar.session_recording)===null||o===void 0?void 0:o.sampleRate,"session_recording.sampleRate"),Q=this.kf(B?.sampleRate,"remote config sampleRate"),i=C??Q;hC(i)&&this.wf();const E=B?.minimumDurationMilliseconds;e.register({[igA]:QI(QI({cache_timestamp:Date.now(),enabled:!!B},B),{},{networkPayloadCapture:QI({capturePerformance:g.capturePerformance},B?.networkPayloadCapture),canvasRecording:{enabled:B?.recordCanvas,fps:B?.canvasFps,quality:B?.canvasQuality},sampleRate:i,minimumDurationMilliseconds:Le(E)?null:E,endpoint:B?.endpoint,triggerMatchType:B?.triggerMatchType,masking:B?.masking,urlTriggers:B?.urlTriggers,version:B?.version,triggerGroups:B?.triggerGroups})})};t(),(A=this.ff)===null||A===void 0||A.call(this),this.ff=(I=this._instance.sessionManager)===null||I===void 0?void 0:I.onSessionId(t)}}onRemoteConfig(g){const A=g.ok?g.config:void 0;return A&&"sessionRecording"in A?A.sessionRecording===!1?(this.Sf(A),void this.gf()):(this.Sf(A),void this.startIfEnabledOrStop()):(this.vf==="awaiting_config"&&(this.vf="missing_config",this._instance.register_for_session({[T6A]:!0}),dJ.warn("config refresh failed, recording will not start until page reload")),void this.startIfEnabledOrStop())}log(g,A="log"){var I;!((I=this.df)===null||I===void 0)&&I.log?this.df.log(g,A):dJ.warn("log called before recorder was ready")}get _f(){var g,A;const I=(g=this._instance)===null||g===void 0||(g=g.persistence)===null||g===void 0?void 0:g.get_property(igA);return(I==null||(A=I.scriptConfig)===null||A===void 0?void 0:A.script)||"lazy-recorder"}xf(){const g=this._instance.get_property(igA);if(!g)return!1;let A;try{A=typeof g=="object"?g:JSON.parse(g)}catch(I){return dJ.warn("persisted remote config for session recording is invalid and will be ignored",I),!1}return!hC(A.cache_timestamp)&&36e5>=Date.now()-A.cache_timestamp}bf(g){var A,I,e;if(!this.pf&&this.mf&&this._instance.sessionManager){if(!(!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.initSessionRecording))return dJ.warn("Called on script loaded before session recording is available. This can be caused by adblockers."),void this._instance.register_for_session({[v6A]:!0});var t;if(this.df||(this.df=(t=JB.__PosthogExtensions__)===null||t===void 0?void 0:t.initSessionRecording(this._instance,this.Je),this.df._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),!this.xf())return this.vf==="missing_config"||this.vf==="awaiting_config"?void 0:(this.vf="awaiting_config",dJ.info("persisted remote config is stale, requesting fresh config before starting"),void new aII(this._instance).load());this.vf=BeI,(I=(e=this.df).setDocumentWasEverVisible)===null||I===void 0||I.call(e,this.Je),this.df.start(g)}else this.vf=xvA}onRRwebEmit(g){var A,I;(A=this.df)===null||A===void 0||(I=A.onRRwebEmit)===null||I===void 0||I.call(A,g)}overrideLinkedFlag(){var g,A;this.df||(A=this._c)===null||A===void 0||A.register({$replay_override_linked_flag:!0}),(g=this.df)===null||g===void 0||g.overrideLinkedFlag()}overrideSampling(){var g,A;this.df||(A=this._c)===null||A===void 0||A.register({$replay_override_sampling:!0}),(g=this.df)===null||g===void 0||g.overrideSampling()}overrideTrigger(g){var A,I;this.df||(I=this._c)===null||I===void 0||I.register({[g==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(A=this.df)===null||A===void 0||A.overrideTrigger(g)}get sdkDebugProperties(){var g;const A={};for(const e of Xlt){var I;const t=(I=this._instance.sessionPersistence)===null||I===void 0?void 0:I.get_property(e);Le(t)||(A[e]=t)}return QI(QI({},A),((g=this.df)===null||g===void 0?void 0:g.sdkDebugProperties)||{$recording_status:this.status})}tryAddCustomEvent(g,A){var I;return!!(!((I=this.df)===null||I===void 0)&&I.tryAddCustomEvent(g,A))}flushBeforeIdentityReset(){var g,A;(g=this.df)===null||g===void 0||(A=g.flushBeforeIdentityReset)===null||A===void 0||A.call(g)}}},fDt={autocapture:class extends Llt{constructor(g){super(new Wlt(g)),this.instance=g}},historyAutocapture:class{constructor(g){this.$f=!1,this._instance=g,this.Cf=this.Tf()}initialize(){this.startIfEnabled()}get isEnabled(){const g=this.If();return!!(g.path||g.search||this.Mf(g))}startIfEnabled(){this.isEnabled&&(Dt.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}startIfEnabledOrStop(){this.stop(),this.Cf=this.Tf(),this.startIfEnabled()}stop(){this.Ef&&this.Ef(),this.Ef=void 0,this.Pf&&this.Pf(),this.Pf=void 0,Dt.info("History API monitoring stopped")}monitorHistoryChanges(){Se&&Se.history&&(this.Rf("pushState"),this.Rf("replaceState"),this.Af(),this.Mf()&&this.Ff())}Rf(g){var A;if(!Se||!((A=Se.history[g])===null||A===void 0)&&A.__posthog_wrapped__)return;const I=this;Mq(Se.history,g,e=>function(t,o,B){var C;I.Of(B)&&I.Df(),e.call(this,t,o,B),I.Lf(g,!I.$f&&(Se==null||(C=Se.event)===null||C===void 0?void 0:C.type)!=="popstate")})}Tf(){const g=Se?.location;if(g?.pathname)return{pathname:g.pathname,search:g.search,hash:g.hash}}If(){const g=this._instance.config.capture_pageview;return g==="history_change"?{path:!0}:yC(g)?g:{}}Mf(g=this.If()){return!!g.hash&&!this._instance.config.disable_capture_url_hashes}Nf(g){const A=this.If(),I=this.Cf;return!(!I||!(A.path&&g.pathname!==I.pathname||A.search&&g.search!==I.search||this.Mf(A)&&g.hash!==I.hash))}Lf(g,A=!1){try{A||this.Df();const I=this.Tf();if(!I)return;if(this.Nf(I)){const e=()=>this._instance.capture(q6A,{navigation_type:g});A?(this.qf=e,Promise.resolve().then(()=>this.Df())):e()}this.Cf=I}catch(I){Dt.error(`Error capturing ${g} pageview`,I)}}Of(g){var A,I;return!(hC(g)||!Se)&&((A=hJ(String(g)))===null||A===void 0?void 0:A.href)!==((I=Se.location)===null||I===void 0?void 0:I.href)}Df(){const g=this.qf;if(g){this.qf=void 0,this.$f=!0;try{g()}catch(A){Dt.error("Error capturing deferred pageview",A)}finally{this.$f=!1}this.Cf=this.Tf()}}Af(){if(this.Ef)return;const g=()=>{this.Lf("popstate")};NE(Se,"popstate",g),this.Ef=()=>{Se&&Se.removeEventListener("popstate",g)}}Ff(){if(this.Pf)return;const g=()=>{this.Lf("hashchange")};NE(Se,"hashchange",g),this.Pf=()=>{Se&&Se.removeEventListener("hashchange",g)}}},heatmaps:class{get Ar(){return this.instance.config}constructor(g){var A;this.jf=!1,this.ll=!1,this.Bf=null,this.instance=g,this.jf=!!(!((A=this.instance.persistence)===null||A===void 0)&&A.props[F6A]),this.rageclicks=new qII(g.config.rageclick)}initialize(){this.startIfEnabled()}get flushIntervalMilliseconds(){let g=5e3;return yC(this.Ar.capture_heatmaps)&&this.Ar.capture_heatmaps.flush_interval_milliseconds&&(g=this.Ar.capture_heatmaps.flush_interval_milliseconds),g}get isEnabled(){return hC(this.Ar.capture_heatmaps)?hC(this.Ar.enable_heatmaps)?this.jf:this.Ar.enable_heatmaps:this.Ar.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.ll)return;$lt.info("starting..."),this.zf(),this.sn()}else{var g;clearInterval((g=this.Bf)!==null&&g!==void 0?g:void 0),this.Hf(),this.getAndClearBuffer()}}onRemoteConfig(g){if(!g.ok)return;const A=g.config;if(!("heatmaps"in A))return;const I=!!A.heatmaps;this.instance.persistence&&this.instance.persistence.register({[F6A]:I}),this.jf=I,this.startIfEnabled()}getAndClearBuffer(){const g=this.Rt;return this.Rt=void 0,g}Uf(g){FvA(g.originalEvent)&&this.$r(g.originalEvent,"deadclick")}sn(){this.Bf&&clearInterval(this.Bf),this.Bf=co?.visibilityState==="visible"?setInterval(this.rc.bind(this),this.flushIntervalMilliseconds):null}zf(){Se&&co&&(this.Wf=this.rc.bind(this),NE(Se,DDA,this.Wf),this.Vf=g=>this.$r(g||Se?.event),NE(co,"click",this.Vf,{capture:!0}),this.Gf=g=>this.Qf(g||Se?.event),NE(co,"mousemove",this.Gf,{capture:!0}),this.Zf=new ZgI(this.instance,Alt,this.Uf.bind(this)),this.Zf.startIfEnabledOrStop(),this.Jf=this.sn.bind(this),NE(co,iq,this.Jf),this.ll=!0)}Hf(){var g;Se&&co&&(this.Wf&&Se.removeEventListener(DDA,this.Wf),this.Vf&&co.removeEventListener("click",this.Vf,{capture:!0}),this.Gf&&co.removeEventListener("mousemove",this.Gf,{capture:!0}),this.Jf&&co.removeEventListener(iq,this.Jf),clearTimeout(this.Kf),(g=this.Zf)===null||g===void 0||g.stop(),this.ll=!1)}Xf(g,A){const I=this.instance.scrollManager.scrollY(),e=this.instance.scrollManager.scrollX(),t=this.instance.scrollManager.scrollElement(),o=(function(B,C,Q){let i=B;for(;i&&JR(i)&&!qw(i,"body");){if(i===Q)return!1;let r;try{var E,n,s;r=(E=(n=(s=i.ownerDocument)===null||s===void 0?void 0:s.defaultView)!==null&&n!==void 0?n:Se)===null||E===void 0?void 0:E.getComputedStyle(i).position}catch{return!1}if(yB(C,r))return!0;i=xgI(i)}return!1})(rgA(g),["fixed","sticky"],t);return{x:g.clientX+(o?0:e),y:g.clientY+(o?0:I),target_fixed:o,type:A}}$r(g,A="click"){var I;if(SgI(g.target)||!FvA(g))return;const e=this.Xf(g,A);!((I=this.rageclicks)===null||I===void 0)&&I.isRageClick(g.clientX,g.clientY,new Date().getTime())&&KgI(rgA(g),this.instance.config.rageclick)&&this.Qs(QI(QI({},e),{},{type:"rageclick"})),this.Qs(e)}Qf(g){!SgI(g.target)&&FvA(g)&&(clearTimeout(this.Kf),this.Kf=setTimeout(()=>{this.Qs(this.Xf(g,"mousemove"))},500))}Qs(g){if(!Se)return;const A=this.Ar.disable_capture_url_hashes?E3(Se.location.href):Se.location.href,I=this.Ar.custom_personal_data_properties,e=this.Ar.mask_personal_data_properties?[...wq,...I||[]]:[],t=lgA(A,e,DgA);this.Rt=this.Rt||{},this.Rt[t]||(this.Rt[t]=[]),this.Rt[t].push(g)}rc(){this.Rt&&!lk(this.Rt)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},deadClicksAutocapture:ZgI,webVitalsAutocapture:class{constructor(g){var A;this._instance=g,this.jf=!1,this.ll=!1,this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Yf=(I=!1)=>{clearTimeout(this.tp),this.tp=void 0,this.Rt.metrics.length!==0&&(this._instance.capture("$web_vitals",QI({$current_url:this.Rt.url},this.Rt.metrics.reduce((e,t)=>QI(QI({},e),{},{[`$web_vitals_${t.name}_event`]:QI({},t),[`$web_vitals_${t.name}_value`]:t.value}),{})),I?{transport:"sendBeacon",send_instantly:!0}:void 0),this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.ep=I=>{var e;if(this.Rt=this.Rt||{navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},hC(I?.name)||hC(I?.value))return void c5.error("Invalid metric received",I);const t=typeof I.navigationURL=="string"?I.navigationURL:void 0,o=this.np(t);if(Le(o))return;const B=i0(I.navigationId)||typeof I.navigationId=="string"?`navigation:${I.navigationId}`:`url:${o}`;if(this.sp&&I.value>=this.sp)return void c5.error("Ignoring metric with value >= "+this.sp,I);this.Rt.navigationKey!==B&&(this.Yf(),this.tp=setTimeout(this.Yf,this.flushToCaptureTimeoutMs)),Le(this.Rt.navigationKey)&&(this.Rt.navigationKey=B,this.Rt.url=o),this.Rt.firstMetricTimestamp=Le(this.Rt.firstMetricTimestamp)?Date.now():this.Rt.firstMetricTimestamp;const C=(e=this._instance.sessionManager)===null||e===void 0?void 0:e.checkAndGetSessionAndWindowId(!0),Q=QI(QI(QI({},I),t?{navigationURL:o}:{}),{},{$current_url:o,timestamp:Date.now()});if(delete Q.entries,yC(I.attribution)&&this.attributionMetrics.indexOf(I.name)>-1){const i={};for(const E of zlt){const n=E==="url"&&typeof I.attribution[E]=="string"?this.np(I.attribution[E]):I.attribution[E];Le(n)||(i[E]=n)}Q.attribution=i}else delete Q.attribution;Le(C)||(Q.$session_id=C.sessionId,Q.$window_id=C.windowId),this.Rt.metrics.push(Q),this.Rt.metrics.length===this.allowedMetrics.length&&this.Yf()},this.rp=()=>{if(this.ll)return;let I,e,t,o,B=!1;const C=JB.__PosthogExtensions__,Q=C?.postHogWebVitalsCallbacksByFlavor,i=Q?.[this.op]||(this.op==="web-vitals"&&Le(Q)?C?.postHogWebVitalsCallbacks:void 0);if(!Le(i)){const r=i.withoutAttribution,a=this.attributionMetrics;B=!Le(r),I=a.indexOf("LCP")>-1?i.onLCP:r?.onLCP||i.onLCP,e=a.indexOf("CLS")>-1?i.onCLS:r?.onCLS||i.onCLS,t=a.indexOf("FCP")>-1?i.onFCP:r?.onFCP||i.onFCP,o=a.indexOf("INP")>-1?i.onINP:r?.onINP||i.onINP}if(!(I&&e&&t&&o))return void c5.error("web vitals callbacks not loaded - not starting");const E={reportSoftNavs:this.useSoftNavs},n=B&&this.attributionMetrics.indexOf("INP")>-1?QI(QI({},E),{},{includeProcessedEventEntries:!1}):E;this.allowedMetrics.indexOf("LCP")>-1&&I(this.ep.bind(this),E),this.allowedMetrics.indexOf("CLS")>-1&&e(this.ep.bind(this),E),this.allowedMetrics.indexOf("FCP")>-1&&t(this.ep.bind(this),E),this.allowedMetrics.indexOf("INP")>-1&&o(this.ep.bind(this),n);const s=Se?.document;NE(s,iq,()=>{s?.visibilityState==="hidden"&&this.Yf(!0)}),NE(Se,"pagehide",()=>this.Yf(!0)),this.ll=!0},this.jf=!!(!((A=this._instance.persistence)===null||A===void 0)&&A.props[P6A]),this.startIfEnabled()}get ap(){return this._instance.config.capture_performance}get allowedMetrics(){var g,A;const I=yC(this.ap)?(g=this.ap)===null||g===void 0?void 0:g.web_vitals_allowed_metrics:void 0;return hC(I)?((A=this._instance.persistence)===null||A===void 0?void 0:A.props.$web_vitals_allowed_metrics)||oeI:I}get flushToCaptureTimeoutMs(){return(yC(this.ap)?this.ap.web_vitals_delayed_flush_ms:void 0)||5e3}get attributionMetrics(){const g=yC(this.ap)?this.ap.web_vitals_attribution:void 0;return Pm(g)?g?oeI:[]:cB(g)?g:jlt}get useAttribution(){return this.attributionMetrics.length>0}get useSoftNavs(){const g=yC(this.ap)?this.ap.__preview_web_vitals_soft_navs:void 0;return g!=null&&g}get sp(){const g=yC(this.ap)&&i0(this.ap.__web_vitals_max_value)?this.ap.__web_vitals_max_value:teI;return g>0&&6e4>=g?teI:g}get isEnabled(){const g=Qa?.protocol;if(g!=="http:"&&g!=="https:")return c5.info("Web Vitals are disabled on non-http/https protocols"),!1;const A=yC(this.ap)?this.ap.web_vitals:Pm(this.ap)?this.ap:void 0;return Pm(A)?A:this.jf}startIfEnabled(){this.isEnabled&&!this.ll&&(c5.info("enabled, starting..."),this.Ml(this.rp))}onRemoteConfig(g){if(!g.ok)return;const A=g.config;if(!("capturePerformance"in A))return;const I=yC(A.capturePerformance)&&!!A.capturePerformance.web_vitals,e=yC(A.capturePerformance)?A.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[P6A]:I}),this._instance.persistence.register({[IgI]:e})),this.jf=I,this.startIfEnabled()}get op(){return this.useSoftNavs?this.useAttribution?"web-vitals-with-attribution-soft-navs":"web-vitals-soft-navs":this.useAttribution?"web-vitals-with-attribution":"web-vitals"}Ml(g){var A;const I=JB.__PosthogExtensions__,e=this.op,t=I?.postHogWebVitalsCallbacksByFlavor;t?.[e]||e==="web-vitals"&&Le(t)&&I?.postHogWebVitalsCallbacks?g():I==null||(A=I.loadExternalDependency)===null||A===void 0||A.call(I,this._instance,e,o=>{o?c5.error("failed to load script",o):g()})}np(g){const A=g||Se?.location.href;if(!A)return void c5.error("Could not determine current URL");const I=this._instance.config.disable_capture_url_hashes?E3(A):A,e=this._instance.config.custom_personal_data_properties,t=this._instance.config.mask_personal_data_properties?[...wq,...e||[]]:[];return lgA(I,t,DgA)}}},RDt={exceptionObserver:class{constructor(g){var A;this.rp=()=>{var I;if(!Se||!this.isEnabled||!(!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.errorWrappingFunctions))return;const e=JB.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,t=JB.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,o=JB.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.lp&&this.Ar.capture_unhandled_errors&&(this.lp=e(this.captureException.bind(this))),!this.up&&this.Ar.capture_unhandled_rejections&&(this.up=t(this.captureException.bind(this))),!this.cp&&this.Ar.capture_console_errors&&(this.cp=o(this.captureException.bind(this)))}catch(B){SgA.error("failed to start",B),this.hp()}},this._instance=g,this.dp=!!(!((A=this._instance.persistence)===null||A===void 0)&&A.props[U6A]),this.wt=new Hct(QI(QI({},(function(I={}){var e,t,o,B;return{refillRate:(e=(t=I.exceptionRateLimiterRefillRate)!==null&&t!==void 0?t:I.__exceptionRateLimiterRefillRate)!==null&&e!==void 0?e:1,bucketSize:(o=(B=I.exceptionRateLimiterBucketSize)!==null&&B!==void 0?B:I.__exceptionRateLimiterBucketSize)!==null&&o!==void 0?o:10}})(this._instance.config.error_tracking)),{},{refillInterval:1e4,$:SgA})),this.Ar=this.vp(),this.startIfEnabledOrStop()}vp(){const g=this._instance.config.capture_exceptions;let A={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return yC(g)?A=QI(QI({},A),g):(Le(g)?this.dp:g)&&(A=QI(QI({},A),{},{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),A}get isEnabled(){return this.Ar.capture_console_errors||this.Ar.capture_unhandled_errors||this.Ar.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(SgA.info("enabled"),this.hp(),this.Ml(this.rp)):this.hp()}Ml(g){var A,I,e;!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.errorWrappingFunctions?g():(I=JB.__PosthogExtensions__)===null||I===void 0||(e=I.loadExternalDependency)===null||e===void 0||e.call(I,this._instance,"exception-autocapture",t=>{if(t)return SgA.error("failed to load script",t);g()})}hp(){var g,A,I;(g=this.lp)===null||g===void 0||g.call(this),this.lp=void 0,(A=this.up)===null||A===void 0||A.call(this),this.up=void 0,(I=this.cp)===null||I===void 0||I.call(this),this.cp=void 0}onRemoteConfig(g){if(!g.ok)return;const A=g.config;"autocaptureExceptions"in A&&(this.dp=!!A.autocaptureExceptions||!1,this._instance.persistence&&this._instance.persistence.register({[U6A]:this.dp}),this.Ar=this.vp(),this.startIfEnabledOrStop())}onConfigChange(){this.Ar=this.vp()}captureException(g){try{var A,I,e;const t=(A=g==null||(I=g.$exception_list)===null||I===void 0||(I=I[0])===null||I===void 0?void 0:I.type)!==null&&A!==void 0?A:"Exception";if(this.wt.consumeRateLimit(t))return void SgA.info("Skipping exception capture because of client rate limiting.",{exception:t});(e=this._instance.exceptions)===null||e===void 0||e.sendExceptionEvent(g)}catch{}}},exceptions:class{constructor(g){var A,I;this.fp=[],this.pp=new Aht([new cht,new mht,new lht,new hht,new uht,new wht,new dht,new Ght],(function(e,...t){return(o,B=0)=>{const C=[],Q=o.split(`
|
|
1068
|
+
`);const D=l.state[C];if(D==null)return;JSON.stringify(t.getState())!==JSON.stringify(D)&&r(D);return}t.dispatchFromDevtools&&typeof t.dispatch=="function"&&t.dispatch(l)});case"DISPATCH":switch(c.payload.type){case"RESET":return r(a),C===void 0?E?.init(t.getState()):E?.init(_lA(Q.name));case"COMMIT":if(C===void 0){E?.init(t.getState());return}return E?.init(_lA(Q.name));case"ROLLBACK":return RHA(c.state,l=>{if(C===void 0){r(l),E?.init(t.getState());return}r(l[C]),E?.init(_lA(Q.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return RHA(c.state,l=>{if(C===void 0){r(l);return}JSON.stringify(t.getState())!==JSON.stringify(l[C])&&r(l[C])});case"IMPORT_STATE":{const{nextLiftedState:l}=c.payload,D=(h=l.computedStates.slice(-1)[0])==null?void 0:h.state;if(!D)return;r(C===void 0?D:D[C]),E?.send(null,l);return}case"PAUSE_RECORDING":return s=!s}return}}),a},RHA=(g,A)=>{let I;try{I=JSON.parse(g)}catch(e){console.error("[zustand devtools middleware] Could not parse the received json",e)}I!==void 0&&A(I)},Um=window.TSCIRCUIT_FILESERVER_API_BASE_URL??"/api",Xat=[".tsx",".ts",".jsx",".js",".mjs",".json",".kicad_pcb",".kicad_sym",".kicad_sch",".kicad_prl",".kicad_pro"],NHA=g=>Xat.some(A=>g.endsWith(A)),qAA=tXg.extend("store");async function dXg(g,A){return(await(await fetch(`${Um}/files/upsert`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({file_path:g,text_content:A})})).json()).file}async function xHA(g){return(await(await fetch(`${Um}/files/get?file_path=${encodeURIComponent(g)}`)).json()).file}async function $at(g){const A=g?`${Um}/events/list?since=${encodeURIComponent(g)}`:`${Um}/events/list`;return(await(await fetch(A)).json()).event_list}async function Art(){const g=await fetch(`${Um}/files/list`),{file_list:A}=await g.json(),I=new Map;for(const e of A){if(NHA(e.file_path)){const t=await xHA(e.file_path);I.set(e.file_path,t.text_content);continue}I.set(e.file_path,"__STATIC_ASSET__")}return I}const grt=["manual-edits.json","manual_edits.json"],Kc=lXg()(DXg((g,A)=>({fsMap:new Map,lastEventTime:new Date().toISOString(),isPolling:!1,error:null,circuitJson:null,lastManualEditsChangeSentAt:0,recentEvents:[],simulateScenarioOrder:void 0,currentMainComponentPath:null,recentlySavedFiles:[],loadInitialFiles:async()=>{const I=await Art();qAA("loaded initial files",{fsMap:I}),g({fsMap:I})},upsertFile:async(I,e)=>{try{const t=await dXg(I,e);g(o=>({fsMap:new Map(o.fsMap).set(t.file_path,t.text_content)}))}catch(t){g({error:t})}},getFile:async I=>{try{const e=await xHA(I);g(t=>({fsMap:new Map(t.fsMap).set(e.file_path,e.text_content)}))}catch(e){g({error:e})}},setCircuitJson:I=>{I!==A().circuitJson&&g({circuitJson:I})},addRecentlySavedFile:I=>{g(e=>{if(grt.includes(I)||!NHA(I))return e;const t=e.recentlySavedFiles.filter(o=>o!==I);return{recentlySavedFiles:[I,...t].slice(0,10)}})},startPolling:()=>{const I=async()=>{const e=A();if(e.isPolling){try{const t=await $at(e.lastEventTime);if(t.length>0){const o=t[t.length-1].created_at;qAA("received events",t.map(Q=>Q.event_type)),g(Q=>({recentEvents:[...Q.recentEvents,...t].slice(0,100),lastEventTime:o}));let B=0;const C=new Map(e.fsMap);for(const Q of t)if(Q.event_type==="FILE_UPDATED"){B++;const i=await xHA(Q.file_path);if(Q.file_path==="manual_edits.json"&&Date.now()-e.lastManualEditsChangeSentAt<1e3)continue;NHA(i.file_path)?C.set(i.file_path,i.text_content??""):C.set(i.file_path,"__STATIC_ASSET__"),A().addRecentlySavedFile(Q.file_path)}else Q.event_type==="FILE_DELETED"&&(B++,C.delete(Q.file_path));B>0&&(qAA("updating fsMap, fsUpdateCount:",B),g({fsMap:C}))}}catch(t){g({error:t})}setTimeout(I,1e3)}};g({isPolling:!0}),I()},stopPolling:()=>{g({isPolling:!1})},pushEvent:async I=>{await fetch(`${Um}/events/create`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(I)})},applyEditEventsAndUpdateManualEditsJson:async I=>{qAA("applyEditEventsAndUpdateManualEditsJson",{editEvents:I});const e=A();if(!e.circuitJson)return;const t=e.fsMap.get("manual-edits.json"),o=t?JSON.parse(t):{},B=OVg({circuitJson:e.circuitJson,editEvents:I,manualEditsFile:o});qAA("updatedManualEditsFileContent",B),g(C=>({lastManualEditsChangeSentAt:Date.now(),fsMap:new Map(C.fsMap).set("manual-edits.json",JSON.stringify(B))})),await dXg("manual-edits.json",JSON.stringify(B,null,2))},setSimulateScenarioOrder:I=>g({simulateScenarioOrder:I}),setCurrentMainComponentPath:I=>g({currentMainComponentPath:I})}),{name:"run-frame-store"})),Irt=tXg.extend("useEditEventController"),ert=()=>{const g=Kc(r=>r.applyEditEventsAndUpdateManualEditsJson),[A,I]=z.useState([]),[e,t]=z.useState(!1),o=A.filter(r=>!r._applied),B=A.filter(r=>r._applied),C=e?A:o,Q=z.useCallback(r=>{I(a=>[...a,{...r,_applied:!1}])},[]),i=z.useCallback(r=>{I(a=>a.map(c=>c===r?{...c,_applied:!0}:c))},[]),E=z.useCallback(()=>{I(r=>r.map(a=>({...a,_applied:!0})))},[]),n=z.useCallback(()=>{t(!0),A.length!==0&&(Irt("removing edit events that are applied"),I(r=>r.filter(a=>!a._applied)))},[A]),s=z.useCallback(()=>{t(!1)},[]);return z.useEffect(()=>{if(A.filter(a=>!a._applied).length===0)return;const r=setTimeout(()=>{E(),g(A)},1e3);return()=>clearTimeout(r)},[A]),{unappliedEditEvents:o,appliedEditEvents:B,editEventsForRender:C,pushEditEvent:Q,markEditEventApplied:i,markRenderStarted:n,markRenderComplete:s,markAllEditEventsApplied:E}},FHA=kE("run-frame:useHasReceivedInitialFilesLoaded"),trt=()=>{const[g,A]=z.useState(!1),I=Kc(t=>t.recentEvents),e=Kc(t=>t.loadInitialFiles);return z.useEffect(()=>{(async()=>{await e();try{const o=await fetch(`${Um}/events/list?event_type=INITIAL_FILES_UPLOADED`);if(o.ok){const{event_list:B}=await o.json();if(B.length>0){FHA("INITIAL_FILES_UPLOADED found in history. Assuming ready."),A(!0);return}}}catch(o){console.error("Failed to check for event history",o)}FHA("No INITIAL_FILES_UPLOADED in history, waiting for polling.")})()},[e]),z.useEffect(()=>{g||I.some(t=>t.event_type==="INITIAL_FILES_UPLOADED")&&(FHA("INITIAL_FILES_UPLOADED received via polling. Assuming ready."),A(!0))},[I,g]),g};function XT(g,A,I){const[e,t]=z.useState(()=>{if(I!==void 0)return I;try{const o=window.localStorage.getItem(g);return o?JSON.parse(o):A}catch(o){return console.error("Error reading from localStorage:",o),A}});return z.useEffect(()=>{try{window.localStorage.setItem(g,JSON.stringify(e))}catch(o){console.error("Error writing to localStorage:",o)}},[g,e]),[e,t]}var ort=Object.defineProperty,$T=(g,A)=>ort(g,"name",{value:A,configurable:!0}),yXg=!!(typeof window<"u"&&window.document&&window.document.createElement);function fo(g,A,{checkForDefaultPrevented:I=!0}={}){return $T(function(t){if(g?.(t),I===!1||!t||!t.defaultPrevented)return A?.(t)},"handleEvent")}$T(fo,"composeEventHandlers");function Brt(g){if(!yXg)throw new Error("Cannot access window outside of the DOM");return g?.ownerDocument?.defaultView??window}$T(Brt,"getOwnerWindow");function UHA(g){if(!yXg)throw new Error("Cannot access document outside of the DOM");return g?.ownerDocument??document}$T(UHA,"getOwnerDocument");function wXg(g,A=!1){const{activeElement:I}=UHA(g);if(!I?.nodeName)return null;if(uXg(I)&&I.contentDocument)return wXg(I.contentDocument.body,A);if(A){const e=I.getAttribute("aria-activedescendant");if(e){const t=UHA(I).getElementById(e);if(t)return t}}return I}$T(wXg,"getActiveElement");function uXg(g){return g.tagName==="IFRAME"}$T(uXg,"isFrame");var Crt=Object.defineProperty,X2=(g,A)=>Crt(g,"name",{value:A,configurable:!0});function Qrt(g,A){const I=z.createContext(A);I.displayName=g+"Context";const e=X2(o=>{const{children:B,...C}=o,Q=z.useMemo(()=>C,Object.values(C));return T.jsx(I.Provider,{value:Q,children:B})},"Provider");e.displayName=g+"Provider";function t(o,B={}){const{optional:C=!1}=B,Q=z.useContext(I);if(Q)return Q;if(A!==void 0)return A;if(!C)throw new Error(`\`${o}\` must be used within \`${g}\``)}return X2(t,"useContext"),[e,t]}X2(Qrt,"createContext");function hk(g,A=[]){let I=[];function e(o,B){const C=z.createContext(B);C.displayName=o+"Context";const Q=I.length;I=[...I,B];const i=X2(n=>{const{scope:s,children:r,...a}=n,c=s?.[g]?.[Q]||C,h=z.useMemo(()=>a,Object.values(a));return T.jsx(c.Provider,{value:h,children:r})},"Provider");i.displayName=o+"Provider";function E(n,s,r={}){const{optional:a=!1}=r,c=s?.[g]?.[Q]||C,h=z.useContext(c);if(h)return h;if(B!==void 0)return B;if(!a)throw new Error(`\`${n}\` must be used within \`${o}\``)}return X2(E,"useContext"),[i,E]}X2(e,"createContext");const t=X2(()=>{const o=I.map(B=>z.createContext(B));return X2(function(C){const Q=C?.[g]||o;return z.useMemo(()=>({[`__scope${g}`]:{...C,[g]:Q}}),[C,Q])},"useScope")},"createScope");return t.scopeName=g,[e,GXg(t,...A)]}X2(hk,"createContextScope");function GXg(...g){const A=g[0];if(g.length===1)return A;const I=X2(()=>{const e=g.map(t=>({useScope:t(),scopeName:t.scopeName}));return X2(function(o){const B=e.reduce((C,{useScope:Q,scopeName:i})=>{const n=Q(o)[`__scope${i}`];return{...C,...n}},{});return z.useMemo(()=>({[`__scope${A.scopeName}`]:B}),[B])},"useComposedScopes")},"createScope");return I.scopeName=A.scopeName,I}X2(GXg,"composeContextScopes");var irt=Object.defineProperty,JHA=(g,A)=>irt(g,"name",{value:A,configurable:!0});function PHA(g,A){if(typeof g=="function")return g(A);g!=null&&(g.current=A)}JHA(PHA,"setRef");function o5(...g){return A=>{let I=!1;const e=g.map(t=>{const o=PHA(t,A);return!I&&typeof o=="function"&&(I=!0),o});if(I)return()=>{for(let t=0;t<e.length;t++){const o=e[t];typeof o=="function"?o():PHA(g[t],null)}}}}JHA(o5,"composeRefs");function Gi(...g){return z.useCallback(o5(...g),g)}JHA(Gi,"useComposedRefs");var Ert=Object.defineProperty,XM=(g,A)=>Ert(g,"name",{value:A,configurable:!0});function fR(g){const A=z.forwardRef((I,e)=>{let{children:t,...o}=I,B=null,C=!1;const Q=[];t=RXg(t),z.Children.forEach(t,s=>{if(SXg(s)){C=!0;const r=s;let a="child"in r.props?r.props.child:r.props.children;for(;KHA(a)&&typeof blA=="function";)a=blA(a._payload);B=srt(r,a),Q.push(B?.props?.children)}else Q.push(s)}),B?B=z.cloneElement(B,void 0,Q):!C&&z.Children.count(t)===1&&z.isValidElement(t)&&(B=t);const i=B?MXg(B):void 0,E=Gi(e,i);if(!B){if(t||t===0)throw new Error(C?crt(g):rrt(g));return t}const n=kXg(o,B.props??{});return B.type!==z.Fragment&&(n.ref=e?E:i),z.cloneElement(B,n)});return A.displayName=`${g}.Slot`,A}XM(fR,"createSlot");var nrt=fR("Slot"),mXg=Symbol.for("radix.slottable");function pXg(g){const A=XM(I=>"child"in I?I.children(I.child):I.children,"Slottable");return A.displayName=`${g}.Slottable`,A.__radixId=mXg,A}XM(pXg,"createSlottable");var srt=XM((g,A)=>"child"in g.props?z.isValidElement(A)?z.cloneElement(A,void 0,g.props.children(A.props.children)):null:z.isValidElement(A)?A:null,"getSlottableElementFromSlottable");function kXg(g,A){const I={...A};for(const e in A){const t=g[e],o=A[e];/^on[A-Z]/.test(e)?t&&o?I[e]=(...C)=>{const Q=o(...C);return t(...C),Q}:t&&(I[e]=t):e==="style"?I[e]={...t,...o}:e==="className"?I[e]=[t,o].filter(Boolean).join(" "):e==="aria-describedby"&&(I[e]=NXg(o,t))}return{...g,...I}}XM(kXg,"mergeProps");function MXg(g){let A=Object.getOwnPropertyDescriptor(g.props,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning;return I?g.ref:(A=Object.getOwnPropertyDescriptor(g,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning,I?g.props.ref:g.props.ref||g.ref)}XM(MXg,"getElementRef");function SXg(g){return z.isValidElement(g)&&typeof g.type=="function"&&"__radixId"in g.type&&g.type.__radixId===mXg}XM(SXg,"isSlottable");var art=Symbol.for("react.lazy");function KHA(g){return g!=null&&typeof g=="object"&&"$$typeof"in g&&g.$$typeof===art&&"_payload"in g&&fXg(g._payload)}XM(KHA,"isLazyComponent");function fXg(g){return typeof g=="object"&&g!==null&&"then"in g}XM(fXg,"isPromiseLike");function RXg(g){let A=g;for(;KHA(A)&&typeof blA=="function";)A=blA(A._payload);return A}XM(RXg,"useUnwrappedLazy");function NXg(...g){const A=new Set;for(const I of g)if(typeof I=="string")for(const e of String(I).trim().split(/\s+/))e&&A.add(e);return A.size>0?Array.from(A).join(" "):void 0}XM(NXg,"concatAriaDescribedby");var rrt=XM(g=>`${g} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,"createSlotError"),crt=XM(g=>`${g} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,"createSlottableError"),blA=qp[" use ".trim().toString()],uh=globalThis?.document?z.useLayoutEffect:()=>{},hrt=Object.defineProperty,fd=(g,A)=>hrt(g,"name",{value:A,configurable:!0});function HlA(g){const A=g+"CollectionProvider",[I,e]=hk(A),[t,o]=I(A,{collectionRef:{current:null},itemMap:new Map}),B=fd(c=>{const{scope:h,children:l}=c,D=z.useRef(null),d=z.useRef(new Map).current;return T.jsx(t,{scope:h,itemMap:d,collectionRef:D,children:l})},"CollectionProvider");B.displayName=A;const C=g+"CollectionSlot",Q=fR(C),i=z.forwardRef((c,h)=>{const{scope:l,children:D}=c,d=o(C,l),y=Gi(h,d.collectionRef);return T.jsx(Q,{ref:y,children:D})});i.displayName=C;const E=g+"CollectionItemSlot",n="data-radix-collection-item",s=fR(E),r=z.forwardRef((c,h)=>{const{scope:l,children:D,...d}=c,y=z.useRef(null),w=Gi(h,y),u=o(E,l);return z.useEffect(()=>(u.itemMap.set(y,{ref:y,...d}),()=>{u.itemMap.delete(y)})),T.jsx(s,{[n]:"",ref:w,children:D})});r.displayName=E;function a(c){const h=o(g+"CollectionConsumer",c);return z.useCallback(()=>{const D=h.collectionRef.current;if(!D)return[];const d=Array.from(D.querySelectorAll(`[${n}]`));return Array.from(h.itemMap.values()).sort((u,G)=>d.indexOf(u.ref.current)-d.indexOf(G.ref.current))},[h.collectionRef,h.itemMap])}return fd(a,"useCollection"),[{Provider:B,Slot:i,ItemSlot:r},a,e]}fd(HlA,"createCollection");var xXg=new WeakMap,vlA=(KS=class extends Map{constructor(I){super(I);Clg(this,vl);mCA(this,vl,[...super.keys()]),xXg.set(this,!0)}set(I,e){return xXg.get(this)&&!this.has(I)&&Xn(this,vl).push(I),super.set(I,e),this}insert(I,e,t){const o=this.has(e),B=o?this.size:this.size+1,C=LHA(I),Q=C>=0?Math.min(C,B-1):Math.max(B+C,0);if(o?Xn(this,vl).indexOf(e)===Q:Q===this.size)return this.set(e,t),this;const i=Xn(this,vl).filter(n=>n!==e);i.splice(Q,0,e);const E=i.map(n=>[n,n===e?t:this.get(n)]);this.clear();for(const[n,s]of E)this.set(n,s);return this}with(I,e,t){const o=new KS(this);return o.insert(I,e,t),o}before(I){const e=Xn(this,vl).indexOf(I)-1;if(!(e<0))return this.entryAt(e)}setBefore(I,e,t){const o=Xn(this,vl).indexOf(I);if(o===-1)return this;const B=Xn(this,vl).indexOf(e),C=B!==-1&&B<o?o-1:o;return this.insert(C,e,t)}after(I){let e=Xn(this,vl).indexOf(I);if(e=e===-1||e===this.size-1?-1:e+1,e!==-1)return this.entryAt(e)}setAfter(I,e,t){const o=Xn(this,vl).indexOf(I);if(o===-1)return this;const B=Xn(this,vl).indexOf(e),C=B!==-1&&B<=o?o:o+1;return this.insert(C,e,t)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return mCA(this,vl,[]),super.clear()}delete(I){const e=super.delete(I);return e&&Xn(this,vl).splice(Xn(this,vl).indexOf(I),1),e}deleteAt(I){const e=this.keyAt(I);return e!==void 0?this.delete(e):!1}at(I){const e=TlA(Xn(this,vl),I);if(e!==void 0)return this.get(e)}entryAt(I){const e=TlA(Xn(this,vl),I);if(e!==void 0)return[e,this.get(e)]}indexOf(I){return Xn(this,vl).indexOf(I)}keyAt(I){return TlA(Xn(this,vl),I)}from(I,e){const t=this.indexOf(I);if(t===-1)return;let o=t+e;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.at(o)}keyFrom(I,e){const t=this.indexOf(I);if(t===-1)return;let o=t+e;return o<0&&(o=0),o>=this.size&&(o=this.size-1),this.keyAt(o)}find(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return o;t++}}findIndex(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return t;t++}return-1}filter(I,e){const t=[];let o=0;for(const B of this)Reflect.apply(I,e,[B,o,this])&&t.push(B),o++;return new KS(t)}map(I,e){const t=[];let o=0;for(const B of this)t.push([B[0],Reflect.apply(I,e,[B,o,this])]),o++;return new KS(t)}reduce(...I){const[e,t]=I,o=I.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let B=0,C=t;for(const Q of this)B===0&&!o?C=Q:C=Reflect.apply(e,this,[C,Q,B,this]),B++;return C}reduceRight(...I){const[e,t]=I,o=I.length>1;if(!o&&this.size===0)throw new TypeError("Reduce of empty OrderedDict with no initial value");let B=t;for(let C=this.size-1;C>=0;C--){const Q=this.entryAt(C);C===this.size-1&&!o?B=Q:B=Reflect.apply(e,this,[B,Q,C,this])}return B}sort(I){if(typeof I!="function")throw new TypeError("OrderedDict.sort requires a compare function");const e=[...this.entries()].sort(I);this.clear();for(const[t,o]of e)this.set(t,o);return this}toSorted(I){if(typeof I!="function")throw new TypeError("OrderedDict.toSorted requires a compare function");const e=[...this.entries()].sort(I);return new KS(e)}toReversed(){const I=new KS;for(let e=this.size-1;e>=0;e--){const t=this.keyAt(e),o=this.get(t);I.set(t,o)}return I}toSpliced(...I){const e=[...this.entries()];return e.splice(...I),new KS(e)}slice(I,e){const t=new KS;for(const o of Xn(this,vl).slice(I,e))t.set(o,this.get(o));return t}every(I,e){let t=0;for(const o of this){if(!Reflect.apply(I,e,[o,t,this]))return!1;t++}return!0}some(I,e){let t=0;for(const o of this){if(Reflect.apply(I,e,[o,t,this]))return!0;t++}return!1}},vl=new WeakMap,fd(KS,"OrderedDict"),KS);function TlA(g,A){if("at"in Array.prototype)return Array.prototype.at.call(g,A);const I=FXg(g,A);return I===-1?void 0:g[I]}fd(TlA,"at");function FXg(g,A){const I=g.length,e=LHA(A),t=e>=0?e:I+e;return t<0||t>=I?-1:t}fd(FXg,"toSafeIndex");function LHA(g){return g!==g||g===0?0:Math.trunc(g)}fd(LHA,"toSafeInteger");function lrt(g){const A=g+"CollectionProvider",[I,e]=hk(A),[t,o]=I(A);t.displayName=g+"CollectionStableContextProvider";const[B,C]=I(A);B.displayName=g+"CollectionStatefulContextProvider";const Q=fd(({state:u,...G})=>u?T.jsx(E,{...G,state:u}):T.jsx(i,{...G}),"CollectionProvider");Q.displayName=A;const i=fd(u=>{const G=D();return T.jsx(E,{...u,state:G})},"CollectionInit");i.displayName=g+"CollectionInit";const E=fd(u=>{const{scope:G,children:m,state:p}=u,k=z.useRef(null),[S,R]=z.useState(null),x=Gi(k,R),[N,U]=p,K=z.useRef(new vlA),Y=z.useCallback(()=>{const _=K.current;return PXg(_)||_.sort(qlA),_},[]);return z.useEffect(()=>{if(!S)return;const _=KXg(()=>{U(q=>{const j=q.toSorted(qlA);return j.some(([Z],$)=>q.keyAt($)!==Z)?j:q})});return _.observe(S,{childList:!0,subtree:!0}),()=>{_.disconnect()}},[S,U]),T.jsx(t,{scope:G,collectionElementRef:x,collectionElementRefObject:k,getCollection:Y,setCollection:U,registryRef:K,children:T.jsx(B,{scope:G,collectionElement:S,collection:N,children:m})})},"CollectionProviderImpl");E.displayName=g+"CollectionProviderImpl";const n=g+"CollectionSlot",s=fR(n),r=z.forwardRef((u,G)=>{const{scope:m,children:p}=u,k=o(n,m),S=Gi(G,k.collectionElementRef);return T.jsx(s,{ref:S,children:p})});r.displayName=n;const a=g+"CollectionItemSlot",c="data-radix-collection-item",h=fR(a),l=z.forwardRef((u,G)=>{const{scope:m,children:p,...k}=u,S=z.useRef(null),R=o(a,m),{setCollection:x,registryRef:N}=R,U=z.useRef(k);UXg(U.current,k)||(U.current=k);const K=U.current,Y=z.useCallback(j=>{const W=N.current;j?W.set(j,{...U.current,element:j}):S.current&&W.delete(S.current)},[N]),_=Gi(G,Y,S);uh(()=>{const j=S.current,W=N.current;j&&W.has(j)&&W.set(j,{...K,element:j})},[K,N]);const q=z.useRef(null);return z.useEffect(()=>{const j=S.current,W=q.current;(W?.element??null)===j&&(!j||W?.itemData===K)||(q.current=j?{element:j,itemData:K}:null,x(Z=>{const $=new vlA(Z);return W&&W.element!==j&&$.delete(W.element),j&&$.set(j,{...K,element:j}),$.sort(qlA)}))}),z.useEffect(()=>()=>{const j=q.current;q.current=null,j&&x(W=>{if(!W.has(j.element))return W;const Z=new vlA(W);return Z.delete(j.element),Z})},[x]),T.jsx(h,{[c]:"",ref:_,children:p})});l.displayName=a;function D(){return z.useState(new vlA)}fd(D,"useInitCollection");function d(u){const{collection:G}=C(g+"CollectionConsumer",u);return G}fd(d,"useCollection");function y(u){const{getCollection:G}=o(g+"CollectionConsumer",u);return G}return fd(y,"useGetCollection"),[{Provider:Q,Slot:r,ItemSlot:l},{createCollectionScope:e,useCollection:d,useGetCollection:y,useInitCollection:D}]}fd(lrt,"createCollection");function UXg(g,A){if(g===A)return!0;if(typeof g!="object"||typeof A!="object"||g==null||A==null)return!1;const I=Object.keys(g),e=Object.keys(A);if(I.length!==e.length)return!1;for(const t of I)if(!Object.prototype.hasOwnProperty.call(A,t)||g[t]!==A[t])return!1;return!0}fd(UXg,"shallowEqual");function JXg(g,A){return!!(A.compareDocumentPosition(g)&Node.DOCUMENT_POSITION_PRECEDING)}fd(JXg,"isElementPreceding");function PXg(g){let A;for(const I of g.keys()){if(A){const e=A.compareDocumentPosition(I);if(!(e&Node.DOCUMENT_POSITION_DISCONNECTED)&&e&Node.DOCUMENT_POSITION_PRECEDING)return!1}A=I}return!0}fd(PXg,"isInDocumentOrder");function qlA(g,A){return!g[1].element||!A[1].element?0:JXg(g[1].element,A[1].element)?-1:1}fd(qlA,"sortByDocumentPosition");function KXg(g){return new MutationObserver(I=>{for(const e of I)if(e.type==="childList"){g();return}})}fd(KXg,"getChildListObserver");var Drt=Object.defineProperty,drt=(g,A)=>Drt(g,"name",{value:A,configurable:!0}),yrt=qp[" useId ".trim().toString()]||(()=>{}),wrt=0;function _0(g){const[A,I]=z.useState(yrt());return uh(()=>{g||I(e=>e??String(wrt++))},[g]),g||(A?`radix-${A}`:"")}drt(_0,"useId");var dx=iRA();const LXg=vp(dx);var urt=Object.defineProperty,Grt=(g,A)=>urt(g,"name",{value:A,configurable:!0}),mrt=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],yQ=mrt.reduce((g,A)=>{const I=fR(`Primitive.${A}`),e=z.forwardRef((t,o)=>{const{asChild:B,...C}=t,Q=B?I:A;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),T.jsx(Q,{...C,ref:o})});return e.displayName=`Primitive.${A}`,{...g,[A]:e}},{});function YHA(g,A){g&&dx.flushSync(()=>g.dispatchEvent(A))}Grt(YHA,"dispatchDiscreteCustomEvent");var prt=Object.defineProperty,krt=(g,A)=>prt(g,"name",{value:A,configurable:!0}),YXg=qp[" useInsertionEffect ".trim().toString()];function $M(g){const A=z.useRef(g);return typeof YXg=="function"?YXg(()=>{A.current=g}):uh(()=>{A.current=g}),z.useMemo(()=>((...I)=>A.current?.(...I)),[])}krt($M,"useCallbackRef");var Mrt=Object.defineProperty,Srt=(g,A)=>Mrt(g,"name",{value:A,configurable:!0}),_Xg=qp[" useEffectEvent ".trim().toString()],bXg=qp[" useInsertionEffect ".trim().toString()];function HXg(g){if(typeof _Xg=="function")return _Xg(g);const A=z.useRef(()=>{throw new Error("Cannot call an event handler while rendering.")});return typeof bXg=="function"?bXg(()=>{A.current=g}):uh(()=>{A.current=g}),z.useMemo(()=>((...I)=>A.current?.(...I)),[])}Srt(HXg,"useEffectEvent");var frt=Object.defineProperty,ZAA=(g,A)=>frt(g,"name",{value:A,configurable:!0}),Rrt=qp[" useInsertionEffect ".trim().toString()]||uh;function RR({prop:g,defaultProp:A,onChange:I=ZAA(()=>{},"onChange"),caller:e}){const[t,o,B]=vXg({defaultProp:A,onChange:I}),C=g!==void 0,Q=C?g:t,i=z.useCallback(E=>{if(C){const n=TXg(E)?E(g):E;n!==g&&B.current?.(n)}else o(E)},[C,g,o,B]);return[Q,i]}ZAA(RR,"useControllableState");function vXg({defaultProp:g,onChange:A}){const[I,e]=z.useState(g),t=z.useRef(I),o=z.useRef(A);return Rrt(()=>{o.current=A},[A]),z.useEffect(()=>{t.current!==I&&(o.current?.(I),t.current=I)},[I,t]),[I,e,o]}ZAA(vXg,"useUncontrolledState");function TXg(g){return typeof g=="function"}ZAA(TXg,"isFunction");var qXg=Symbol("RADIX:SYNC_STATE");function Nrt(g,A,I,e){const{prop:t,defaultProp:o,onChange:B,caller:C}=A,Q=t!==void 0,i=HXg(B),E=[{...I,state:o}];e&&E.push(e);const[n,s]=z.useReducer((h,l)=>{if(l.type===qXg)return{...h,state:l.state};const D=g(h,l);return Q&&!Object.is(D.state,h.state)&&i(D.state),D},...E),r=n.state,a=z.useRef(r);z.useEffect(()=>{a.current!==r&&(a.current=r,Q||i(r))},[r,a,Q]);const c=z.useMemo(()=>t!==void 0?{...n,state:t}:n,[n,t]);return z.useEffect(()=>{Q&&!Object.is(t,n.state)&&s({type:qXg,state:t})},[t,n.state,Q]),[c,s]}ZAA(Nrt,"useControllableStateReducer");var xrt=Object.defineProperty,Frt=(g,A)=>xrt(g,"name",{value:A,configurable:!0}),Urt={LTR:"ltr"},Jrt=z.createContext(void 0);function OAA(g){const A=z.useContext(Jrt);return g||A||Urt.LTR}Frt(OAA,"useDirection");var Prt=Object.defineProperty,_HA=(g,A)=>Prt(g,"name",{value:A,configurable:!0}),bHA=!1;function ZXg(){const[g,A]=z.useState(bHA);return z.useEffect(()=>{bHA||(bHA=!0,A(!0))},[]),g}_HA(ZXg,"useIsHydrated");var OXg=qp[" useSyncExternalStore ".trim().toString()];function WXg(){return()=>{}}_HA(WXg,"subscribe");function VXg(){return OXg(WXg,()=>!0,()=>!1)}_HA(VXg,"useIsHydratedModern");var Krt=typeof OXg=="function"?VXg:ZXg,Lrt=Object.defineProperty,B5=(g,A)=>Lrt(g,"name",{value:A,configurable:!0}),HHA="rovingFocusGroup.onEntryFocus",Yrt={bubbles:!1,cancelable:!0},ZlA="RovingFocusGroup",[vHA,jXg,_rt]=HlA(ZlA),[brt,OlA]=hk(ZlA,[_rt]),zXg={Vertical:"vertical",Horizontal:"horizontal"},Hrt={RTL:"rtl"},[vrt,Trt]=brt(ZlA),XXg=z.forwardRef(B5(function(A,I){return T.jsx(vHA.Provider,{scope:A.__scopeRovingFocusGroup,children:T.jsx(vHA.Slot,{scope:A.__scopeRovingFocusGroup,children:T.jsx(qrt,{...A,ref:I})})})},"RovingFocusGroup")),qrt=z.forwardRef(B5(function(A,I){const{__scopeRovingFocusGroup:e,orientation:t,loop:o=!1,dir:B,currentTabStopId:C,defaultCurrentTabStopId:Q,onCurrentTabStopIdChange:i,onEntryFocus:E,preventScrollOnEntryFocus:n=!1,...s}=A,r=z.useRef(null),a=Gi(I,r),c=OAA(B),[h,l]=RR({prop:C,defaultProp:Q??null,onChange:i,caller:ZlA}),[D,d]=z.useState(!1),y=$M(E),w=jXg(e),u=z.useRef(!1),[G,m]=z.useState(0);return z.useEffect(()=>{const p=r.current;if(p)return p.addEventListener(HHA,y),()=>p.removeEventListener(HHA,y)},[y]),T.jsx(vrt,{scope:e,orientation:t,dir:c,loop:o,currentTabStopId:h,onItemFocus:z.useCallback(p=>l(p),[l]),onItemShiftTab:z.useCallback(()=>d(!0),[]),onFocusableItemAdd:z.useCallback(()=>m(p=>p+1),[]),onFocusableItemRemove:z.useCallback(()=>m(p=>p-1),[]),children:T.jsx(yQ.div,{tabIndex:D||G===0?-1:0,"data-orientation":t,...s,ref:a,style:{outline:"none",...A.style},onMouseDown:fo(A.onMouseDown,()=>{u.current=!0}),onFocus:fo(A.onFocus,p=>{const k=!u.current;if(p.target===p.currentTarget&&k&&!D){const S=new CustomEvent(HHA,Yrt);if(p.currentTarget.dispatchEvent(S),!S.defaultPrevented){const R=w().filter(Y=>Y.focusable),x=R.find(Y=>Y.active),N=R.find(Y=>Y.id===h),K=[x,N,...R].filter(Boolean).map(Y=>Y.ref.current);THA(K,n)}}u.current=!1}),onBlur:fo(A.onBlur,()=>d(!1))})})},"RovingFocusGroupImpl")),Zrt="RovingFocusGroupItem",$Xg=z.forwardRef(B5(function(A,I){const{__scopeRovingFocusGroup:e,focusable:t=!0,active:o=!1,tabStopId:B,children:C,...Q}=A,i=_0(),E=B||i,n=Trt(Zrt,e),s=n.currentTabStopId===E,r=jXg(e),{onFocusableItemAdd:a,onFocusableItemRemove:c,currentTabStopId:h}=n,l=Krt();return uh(()=>{if(!(!l||!t))return a(),()=>c()},[l,t,a,c]),z.useEffect(()=>{if(!(l||!t))return a(),()=>c()},[l,t,a,c]),T.jsx(vHA.ItemSlot,{scope:e,id:E,focusable:t,active:o,children:T.jsx(yQ.span,{tabIndex:s?0:-1,"data-orientation":n.orientation,...Q,ref:I,onMouseDown:fo(A.onMouseDown,D=>{t?n.onItemFocus(E):D.preventDefault()}),onFocus:fo(A.onFocus,()=>n.onItemFocus(E)),onKeyDown:fo(A.onKeyDown,D=>{if(D.key==="Tab"&&D.shiftKey){n.onItemShiftTab();return}if(D.target!==D.currentTarget)return;const d=g$g(D,n.orientation,n.dir);if(d!==void 0){if(D.metaKey||D.ctrlKey||D.altKey||D.shiftKey)return;D.preventDefault();let w=r().filter(u=>u.focusable).map(u=>u.ref.current);if(d==="last")w.reverse();else if(d==="prev"||d==="next"){d==="prev"&&w.reverse();const u=w.indexOf(D.currentTarget);w=n.loop?I$g(w,u+1):w.slice(u+1)}setTimeout(()=>THA(w))}}),children:typeof C=="function"?C({isCurrentTabStop:s,hasTabStop:h!=null}):C})})},"RovingFocusGroupItem")),Ort={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function A$g(g,A){return A!==Hrt.RTL?g:g==="ArrowLeft"?"ArrowRight":g==="ArrowRight"?"ArrowLeft":g}B5(A$g,"getDirectionAwareKey");function g$g(g,A,I){const e=A$g(g.key,I);if(!(A===zXg.Vertical&&["ArrowLeft","ArrowRight"].includes(e))&&!(A===zXg.Horizontal&&["ArrowUp","ArrowDown"].includes(e)))return Ort[e]}B5(g$g,"getFocusIntent");function THA(g,A=!1){const I=document.activeElement;for(const e of g)if(e===I||(e.focus({preventScroll:A}),document.activeElement!==I))return}B5(THA,"focusFirst");function I$g(g,A){return g.map((I,e)=>g[(A+e)%g.length])}B5(I$g,"wrapArray");var Wrt=Object.defineProperty,iJ=(g,A)=>Wrt(g,"name",{value:A,configurable:!0});function e$g(g,A){return z.useReducer((I,e)=>A[I][e]??I,g)}iJ(e$g,"useStateMachine");var AS=iJ(g=>{const{present:A,children:I}=g,e=t$g(A),t=typeof I=="function"?I({present:e.isPresent}):z.Children.only(I),o=o$g(e.ref,B$g(t));return typeof I=="function"||e.isPresent?z.cloneElement(t,{ref:o}):null},"Presence");function t$g(g){const[A,I]=z.useState(),e=z.useRef(null),t=z.useRef(g),o=z.useRef("none"),B=z.useRef(void 0),C=g?"mounted":"unmounted",[Q,i]=e$g(C,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return z.useEffect(()=>{Q==="mounted"?(o.current=B.current??Aq(e.current),B.current=void 0):o.current="none"},[Q]),uh(()=>{const E=e.current,n=t.current;if(n!==g){const r=o.current,a=Aq(E);g?(B.current=a,i("MOUNT")):a==="none"||E?.display==="none"?i("UNMOUNT"):i(n&&r!==a?"ANIMATION_OUT":"UNMOUNT"),t.current=g}},[g,i]),uh(()=>{if(A){let E;const n=A.ownerDocument.defaultView??window,s=iJ(a=>{const h=Aq(e.current).includes(CSS.escape(a.animationName));if(a.target===A&&h&&(i("ANIMATION_END"),!t.current)){const l=A.style.animationFillMode;A.style.animationFillMode="forwards",E=n.setTimeout(()=>{A.style.animationFillMode==="forwards"&&(A.style.animationFillMode=l)})}},"handleAnimationEnd"),r=iJ(a=>{a.target===A&&(o.current=Aq(e.current))},"handleAnimationStart");return A.addEventListener("animationstart",r),A.addEventListener("animationcancel",s),A.addEventListener("animationend",s),()=>{n.clearTimeout(E),A.removeEventListener("animationstart",r),A.removeEventListener("animationcancel",s),A.removeEventListener("animationend",s)}}else i("ANIMATION_END")},[A,i]),{isPresent:["mounted","unmountSuspended"].includes(Q),ref:z.useCallback(E=>{if(E){const n=getComputedStyle(E);e.current=n,B.current=Aq(n)}else e.current=null;I(E)},[])}}iJ(t$g,"usePresence");function qHA(g,A){if(typeof g=="function")return g(A);g!=null&&(g.current=A)}iJ(qHA,"setRef");function o$g(...g){const A=z.useRef(g);return A.current=g,z.useCallback(I=>{const e=A.current;let t=!1;const o=e.map(B=>{const C=qHA(B,I);return!t&&typeof C=="function"&&(t=!0),C});if(t)return()=>{for(let B=0;B<o.length;B++){const C=o[B];typeof C=="function"?C():qHA(e[B],null)}}},[])}iJ(o$g,"useStableComposedRefs");function Aq(g){return g?.animationName||"none"}iJ(Aq,"getAnimationName");function B$g(g){let A=Object.getOwnPropertyDescriptor(g.props,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning;return I?g.ref:(A=Object.getOwnPropertyDescriptor(g,"ref")?.get,I=A&&"isReactWarning"in A&&A.isReactWarning,I?g.props.ref:g.props.ref||g.ref)}iJ(B$g,"getElementRef");var Vrt=Object.defineProperty,gq=(g,A)=>Vrt(g,"name",{value:A,configurable:!0}),C$g={Automatic:"automatic",Manual:"manual"},ZHA="Tabs",[jrt,boB]=hk(ZHA,[OlA]),Q$g=OlA(),[zrt,OHA]=jrt(ZHA),Xrt=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,onValueChange:o,defaultValue:B,orientation:C="horizontal",dir:Q,activationMode:i=C$g.Automatic,...E}=A,n=OAA(Q),[s,r]=RR({prop:t,onChange:o,defaultProp:B??"",caller:ZHA});return T.jsx(zrt,{scope:e,baseId:_0(),value:s,onValueChange:r,orientation:C,dir:n,activationMode:i,children:T.jsx(yQ.div,{dir:n,"data-orientation":C,...E,ref:I})})},"Tabs")),$rt="TabsList",i$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,loop:t=!0,...o}=A,B=OHA($rt,e),C=Q$g(e);return T.jsx(XXg,{asChild:!0,...C,orientation:B.orientation,dir:B.dir,loop:t,children:T.jsx(yQ.div,{role:"tablist","aria-orientation":B.orientation,...o,ref:I})})},"TabsList")),Act="TabsTrigger",E$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,disabled:o=!1,...B}=A,C=OHA(Act,e),Q=Q$g(e),i=WHA(C.baseId,t),E=VHA(C.baseId,t),n=t===C.value;return T.jsx($Xg,{asChild:!0,...Q,focusable:!o,active:n,children:T.jsx(yQ.button,{type:"button",role:"tab","aria-selected":n,"aria-controls":E,"data-state":n?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:i,...B,ref:I,onMouseDown:fo(A.onMouseDown,s=>{!o&&s.button===0&&s.ctrlKey===!1?(s.currentTarget.focus(),C.onValueChange(t)):s.preventDefault()}),onKeyDown:fo(A.onKeyDown,s=>{o||s.target!==s.currentTarget||[" ","Enter"].includes(s.key)&&C.onValueChange(t)}),onFocus:fo(A.onFocus,()=>{const s=C.activationMode!==C$g.Manual;!n&&!o&&s&&C.onValueChange(t)})})})},"TabsTrigger")),gct="TabsContent",n$g=z.forwardRef(gq(function(A,I){const{__scopeTabs:e,value:t,forceMount:o,children:B,...C}=A,Q=OHA(gct,e),i=WHA(Q.baseId,t),E=VHA(Q.baseId,t),n=t===Q.value,s=z.useRef(n);return z.useEffect(()=>{const r=requestAnimationFrame(()=>s.current=!1);return()=>cancelAnimationFrame(r)},[]),T.jsx(AS,{present:o||n,children:({present:r})=>T.jsx(yQ.div,{"data-state":n?"active":"inactive","data-orientation":Q.orientation,role:"tabpanel","aria-labelledby":i,hidden:!r,id:E,tabIndex:0,...C,ref:I,style:{...A.style,animationDuration:s.current?"0s":void 0},children:r&&B})})},"TabsContent"));function WHA(g,A){return`${g}-trigger-${A}`}gq(WHA,"makeTriggerId");function VHA(g,A){return`${g}-content-${A}`}gq(VHA,"makeContentId");function s$g(g){var A,I,e="";if(typeof g=="string"||typeof g=="number")e+=g;else if(typeof g=="object")if(Array.isArray(g)){var t=g.length;for(A=0;A<t;A++)g[A]&&(I=s$g(g[A]))&&(e&&(e+=" "),e+=I)}else for(I in g)g[I]&&(e&&(e+=" "),e+=I);return e}function NR(){for(var g,A,I=0,e="",t=arguments.length;I<t;I++)(g=arguments[I])&&(A=s$g(g))&&(e&&(e+=" "),e+=A);return e}const jHA="-",Ict=g=>{const A=tct(g),{conflictingClassGroups:I,conflictingClassGroupModifiers:e}=g;return{getClassGroupId:B=>{const C=B.split(jHA);return C[0]===""&&C.length!==1&&C.shift(),a$g(C,A)||ect(B)},getConflictingClassGroupIds:(B,C)=>{const Q=I[B]||[];return C&&e[B]?[...Q,...e[B]]:Q}}},a$g=(g,A)=>{if(g.length===0)return A.classGroupId;const I=g[0],e=A.nextPart.get(I),t=e?a$g(g.slice(1),e):void 0;if(t)return t;if(A.validators.length===0)return;const o=g.join(jHA);return A.validators.find(({validator:B})=>B(o))?.classGroupId},r$g=/^\[(.+)\]$/,ect=g=>{if(r$g.test(g)){const A=r$g.exec(g)[1],I=A?.substring(0,A.indexOf(":"));if(I)return"arbitrary.."+I}},tct=g=>{const{theme:A,prefix:I}=g,e={nextPart:new Map,validators:[]};return Bct(Object.entries(g.classGroups),I).forEach(([o,B])=>{zHA(B,e,o,A)}),e},zHA=(g,A,I,e)=>{g.forEach(t=>{if(typeof t=="string"){const o=t===""?A:c$g(A,t);o.classGroupId=I;return}if(typeof t=="function"){if(oct(t)){zHA(t(e),A,I,e);return}A.validators.push({validator:t,classGroupId:I});return}Object.entries(t).forEach(([o,B])=>{zHA(B,c$g(A,o),I,e)})})},c$g=(g,A)=>{let I=g;return A.split(jHA).forEach(e=>{I.nextPart.has(e)||I.nextPart.set(e,{nextPart:new Map,validators:[]}),I=I.nextPart.get(e)}),I},oct=g=>g.isThemeGetter,Bct=(g,A)=>A?g.map(([I,e])=>{const t=e.map(o=>typeof o=="string"?A+o:typeof o=="object"?Object.fromEntries(Object.entries(o).map(([B,C])=>[A+B,C])):o);return[I,t]}):g,Cct=g=>{if(g<1)return{get:()=>{},set:()=>{}};let A=0,I=new Map,e=new Map;const t=(o,B)=>{I.set(o,B),A++,A>g&&(A=0,e=I,I=new Map)};return{get(o){let B=I.get(o);if(B!==void 0)return B;if((B=e.get(o))!==void 0)return t(o,B),B},set(o,B){I.has(o)?I.set(o,B):t(o,B)}}},h$g="!",Qct=g=>{const{separator:A,experimentalParseClassName:I}=g,e=A.length===1,t=A[0],o=A.length,B=C=>{const Q=[];let i=0,E=0,n;for(let h=0;h<C.length;h++){let l=C[h];if(i===0){if(l===t&&(e||C.slice(h,h+o)===A)){Q.push(C.slice(E,h)),E=h+o;continue}if(l==="/"){n=h;continue}}l==="["?i++:l==="]"&&i--}const s=Q.length===0?C:C.substring(E),r=s.startsWith(h$g),a=r?s.substring(1):s,c=n&&n>E?n-E:void 0;return{modifiers:Q,hasImportantModifier:r,baseClassName:a,maybePostfixModifierPosition:c}};return I?C=>I({className:C,parseClassName:B}):B},ict=g=>{if(g.length<=1)return g;const A=[];let I=[];return g.forEach(e=>{e[0]==="["?(A.push(...I.sort(),e),I=[]):I.push(e)}),A.push(...I.sort()),A},Ect=g=>({cache:Cct(g.cacheSize),parseClassName:Qct(g),...Ict(g)}),nct=/\s+/,sct=(g,A)=>{const{parseClassName:I,getClassGroupId:e,getConflictingClassGroupIds:t}=A,o=[],B=g.trim().split(nct);let C="";for(let Q=B.length-1;Q>=0;Q-=1){const i=B[Q],{modifiers:E,hasImportantModifier:n,baseClassName:s,maybePostfixModifierPosition:r}=I(i);let a=!!r,c=e(a?s.substring(0,r):s);if(!c){if(!a){C=i+(C.length>0?" "+C:C);continue}if(c=e(s),!c){C=i+(C.length>0?" "+C:C);continue}a=!1}const h=ict(E).join(":"),l=n?h+h$g:h,D=l+c;if(o.includes(D))continue;o.push(D);const d=t(c,a);for(let y=0;y<d.length;++y){const w=d[y];o.push(l+w)}C=i+(C.length>0?" "+C:C)}return C};function act(){let g=0,A,I,e="";for(;g<arguments.length;)(A=arguments[g++])&&(I=l$g(A))&&(e&&(e+=" "),e+=I);return e}const l$g=g=>{if(typeof g=="string")return g;let A,I="";for(let e=0;e<g.length;e++)g[e]&&(A=l$g(g[e]))&&(I&&(I+=" "),I+=A);return I};function rct(g,...A){let I,e,t,o=B;function B(Q){const i=A.reduce((E,n)=>n(E),g());return I=Ect(i),e=I.cache.get,t=I.cache.set,o=C,C(Q)}function C(Q){const i=e(Q);if(i)return i;const E=sct(Q,I);return t(Q,E),E}return function(){return o(act.apply(null,arguments))}}const Lc=g=>{const A=I=>I[g]||[];return A.isThemeGetter=!0,A},D$g=/^\[(?:([a-z-]+):)?(.+)\]$/i,cct=/^\d+\/\d+$/,hct=new Set(["px","full","screen"]),lct=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Dct=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,dct=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,yct=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,wct=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,EJ=g=>Iq(g)||hct.has(g)||cct.test(g),Q3=g=>eq(g,"length",fct),Iq=g=>!!g&&!Number.isNaN(Number(g)),XHA=g=>eq(g,"number",Iq),WAA=g=>!!g&&Number.isInteger(Number(g)),uct=g=>g.endsWith("%")&&Iq(g.slice(0,-1)),fi=g=>D$g.test(g),i3=g=>lct.test(g),Gct=new Set(["length","size","percentage"]),mct=g=>eq(g,Gct,d$g),pct=g=>eq(g,"position",d$g),kct=new Set(["image","url"]),Mct=g=>eq(g,kct,Nct),Sct=g=>eq(g,"",Rct),VAA=()=>!0,eq=(g,A,I)=>{const e=D$g.exec(g);return e?e[1]?typeof A=="string"?e[1]===A:A.has(e[1]):I(e[2]):!1},fct=g=>Dct.test(g)&&!dct.test(g),d$g=()=>!1,Rct=g=>yct.test(g),Nct=g=>wct.test(g),xct=rct(()=>{const g=Lc("colors"),A=Lc("spacing"),I=Lc("blur"),e=Lc("brightness"),t=Lc("borderColor"),o=Lc("borderRadius"),B=Lc("borderSpacing"),C=Lc("borderWidth"),Q=Lc("contrast"),i=Lc("grayscale"),E=Lc("hueRotate"),n=Lc("invert"),s=Lc("gap"),r=Lc("gradientColorStops"),a=Lc("gradientColorStopPositions"),c=Lc("inset"),h=Lc("margin"),l=Lc("opacity"),D=Lc("padding"),d=Lc("saturate"),y=Lc("scale"),w=Lc("sepia"),u=Lc("skew"),G=Lc("space"),m=Lc("translate"),p=()=>["auto","contain","none"],k=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto",fi,A],R=()=>[fi,A],x=()=>["",EJ,Q3],N=()=>["auto",Iq,fi],U=()=>["bottom","center","left","left-bottom","left-top","right","right-bottom","right-top","top"],K=()=>["solid","dashed","dotted","double","none"],Y=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],_=()=>["start","end","center","between","around","evenly","stretch"],q=()=>["","0",fi],j=()=>["auto","avoid","all","avoid-page","page","left","right","column"],W=()=>[Iq,fi];return{cacheSize:500,separator:":",theme:{colors:[VAA],spacing:[EJ,Q3],blur:["none","",i3,fi],brightness:W(),borderColor:[g],borderRadius:["none","","full",i3,fi],borderSpacing:R(),borderWidth:x(),contrast:W(),grayscale:q(),hueRotate:W(),invert:q(),gap:R(),gradientColorStops:[g],gradientColorStopPositions:[uct,Q3],inset:S(),margin:S(),opacity:W(),padding:R(),saturate:W(),scale:W(),sepia:q(),skew:W(),space:R(),translate:R()},classGroups:{aspect:[{aspect:["auto","square","video",fi]}],container:["container"],columns:[{columns:[i3]}],"break-after":[{"break-after":j()}],"break-before":[{"break-before":j()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:[...U(),fi]}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:p()}],"overscroll-x":[{"overscroll-x":p()}],"overscroll-y":[{"overscroll-y":p()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:[c]}],"inset-x":[{"inset-x":[c]}],"inset-y":[{"inset-y":[c]}],start:[{start:[c]}],end:[{end:[c]}],top:[{top:[c]}],right:[{right:[c]}],bottom:[{bottom:[c]}],left:[{left:[c]}],visibility:["visible","invisible","collapse"],z:[{z:["auto",WAA,fi]}],basis:[{basis:S()}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["wrap","wrap-reverse","nowrap"]}],flex:[{flex:["1","auto","initial","none",fi]}],grow:[{grow:q()}],shrink:[{shrink:q()}],order:[{order:["first","last","none",WAA,fi]}],"grid-cols":[{"grid-cols":[VAA]}],"col-start-end":[{col:["auto",{span:["full",WAA,fi]},fi]}],"col-start":[{"col-start":N()}],"col-end":[{"col-end":N()}],"grid-rows":[{"grid-rows":[VAA]}],"row-start-end":[{row:["auto",{span:[WAA,fi]},fi]}],"row-start":[{"row-start":N()}],"row-end":[{"row-end":N()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":["auto","min","max","fr",fi]}],"auto-rows":[{"auto-rows":["auto","min","max","fr",fi]}],gap:[{gap:[s]}],"gap-x":[{"gap-x":[s]}],"gap-y":[{"gap-y":[s]}],"justify-content":[{justify:["normal",..._()]}],"justify-items":[{"justify-items":["start","end","center","stretch"]}],"justify-self":[{"justify-self":["auto","start","end","center","stretch"]}],"align-content":[{content:["normal",..._(),"baseline"]}],"align-items":[{items:["start","end","center","baseline","stretch"]}],"align-self":[{self:["auto","start","end","center","stretch","baseline"]}],"place-content":[{"place-content":[..._(),"baseline"]}],"place-items":[{"place-items":["start","end","center","baseline","stretch"]}],"place-self":[{"place-self":["auto","start","end","center","stretch"]}],p:[{p:[D]}],px:[{px:[D]}],py:[{py:[D]}],ps:[{ps:[D]}],pe:[{pe:[D]}],pt:[{pt:[D]}],pr:[{pr:[D]}],pb:[{pb:[D]}],pl:[{pl:[D]}],m:[{m:[h]}],mx:[{mx:[h]}],my:[{my:[h]}],ms:[{ms:[h]}],me:[{me:[h]}],mt:[{mt:[h]}],mr:[{mr:[h]}],mb:[{mb:[h]}],ml:[{ml:[h]}],"space-x":[{"space-x":[G]}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":[G]}],"space-y-reverse":["space-y-reverse"],w:[{w:["auto","min","max","fit","svw","lvw","dvw",fi,A]}],"min-w":[{"min-w":[fi,A,"min","max","fit"]}],"max-w":[{"max-w":[fi,A,"none","full","min","max","fit","prose",{screen:[i3]},i3]}],h:[{h:[fi,A,"auto","min","max","fit","svh","lvh","dvh"]}],"min-h":[{"min-h":[fi,A,"min","max","fit","svh","lvh","dvh"]}],"max-h":[{"max-h":[fi,A,"min","max","fit","svh","lvh","dvh"]}],size:[{size:[fi,A,"auto","min","max","fit"]}],"font-size":[{text:["base",i3,Q3]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:["thin","extralight","light","normal","medium","semibold","bold","extrabold","black",XHA]}],"font-family":[{font:[VAA]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:["tighter","tight","normal","wide","wider","widest",fi]}],"line-clamp":[{"line-clamp":["none",Iq,XHA]}],leading:[{leading:["none","tight","snug","normal","relaxed","loose",EJ,fi]}],"list-image":[{"list-image":["none",fi]}],"list-style-type":[{list:["none","disc","decimal",fi]}],"list-style-position":[{list:["inside","outside"]}],"placeholder-color":[{placeholder:[g]}],"placeholder-opacity":[{"placeholder-opacity":[l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"text-color":[{text:[g]}],"text-opacity":[{"text-opacity":[l]}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...K(),"wavy"]}],"text-decoration-thickness":[{decoration:["auto","from-font",EJ,Q3]}],"underline-offset":[{"underline-offset":["auto",EJ,fi]}],"text-decoration-color":[{decoration:[g]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:R()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",fi]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",fi]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-opacity":[{"bg-opacity":[l]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:[...U(),pct]}],"bg-repeat":[{bg:["no-repeat",{repeat:["","x","y","round","space"]}]}],"bg-size":[{bg:["auto","cover","contain",mct]}],"bg-image":[{bg:["none",{"gradient-to":["t","tr","r","br","b","bl","l","tl"]},Mct]}],"bg-color":[{bg:[g]}],"gradient-from-pos":[{from:[a]}],"gradient-via-pos":[{via:[a]}],"gradient-to-pos":[{to:[a]}],"gradient-from":[{from:[r]}],"gradient-via":[{via:[r]}],"gradient-to":[{to:[r]}],rounded:[{rounded:[o]}],"rounded-s":[{"rounded-s":[o]}],"rounded-e":[{"rounded-e":[o]}],"rounded-t":[{"rounded-t":[o]}],"rounded-r":[{"rounded-r":[o]}],"rounded-b":[{"rounded-b":[o]}],"rounded-l":[{"rounded-l":[o]}],"rounded-ss":[{"rounded-ss":[o]}],"rounded-se":[{"rounded-se":[o]}],"rounded-ee":[{"rounded-ee":[o]}],"rounded-es":[{"rounded-es":[o]}],"rounded-tl":[{"rounded-tl":[o]}],"rounded-tr":[{"rounded-tr":[o]}],"rounded-br":[{"rounded-br":[o]}],"rounded-bl":[{"rounded-bl":[o]}],"border-w":[{border:[C]}],"border-w-x":[{"border-x":[C]}],"border-w-y":[{"border-y":[C]}],"border-w-s":[{"border-s":[C]}],"border-w-e":[{"border-e":[C]}],"border-w-t":[{"border-t":[C]}],"border-w-r":[{"border-r":[C]}],"border-w-b":[{"border-b":[C]}],"border-w-l":[{"border-l":[C]}],"border-opacity":[{"border-opacity":[l]}],"border-style":[{border:[...K(),"hidden"]}],"divide-x":[{"divide-x":[C]}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":[C]}],"divide-y-reverse":["divide-y-reverse"],"divide-opacity":[{"divide-opacity":[l]}],"divide-style":[{divide:K()}],"border-color":[{border:[t]}],"border-color-x":[{"border-x":[t]}],"border-color-y":[{"border-y":[t]}],"border-color-s":[{"border-s":[t]}],"border-color-e":[{"border-e":[t]}],"border-color-t":[{"border-t":[t]}],"border-color-r":[{"border-r":[t]}],"border-color-b":[{"border-b":[t]}],"border-color-l":[{"border-l":[t]}],"divide-color":[{divide:[t]}],"outline-style":[{outline:["",...K()]}],"outline-offset":[{"outline-offset":[EJ,fi]}],"outline-w":[{outline:[EJ,Q3]}],"outline-color":[{outline:[g]}],"ring-w":[{ring:x()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:[g]}],"ring-opacity":[{"ring-opacity":[l]}],"ring-offset-w":[{"ring-offset":[EJ,Q3]}],"ring-offset-color":[{"ring-offset":[g]}],shadow:[{shadow:["","inner","none",i3,Sct]}],"shadow-color":[{shadow:[VAA]}],opacity:[{opacity:[l]}],"mix-blend":[{"mix-blend":[...Y(),"plus-lighter","plus-darker"]}],"bg-blend":[{"bg-blend":Y()}],filter:[{filter:["","none"]}],blur:[{blur:[I]}],brightness:[{brightness:[e]}],contrast:[{contrast:[Q]}],"drop-shadow":[{"drop-shadow":["","none",i3,fi]}],grayscale:[{grayscale:[i]}],"hue-rotate":[{"hue-rotate":[E]}],invert:[{invert:[n]}],saturate:[{saturate:[d]}],sepia:[{sepia:[w]}],"backdrop-filter":[{"backdrop-filter":["","none"]}],"backdrop-blur":[{"backdrop-blur":[I]}],"backdrop-brightness":[{"backdrop-brightness":[e]}],"backdrop-contrast":[{"backdrop-contrast":[Q]}],"backdrop-grayscale":[{"backdrop-grayscale":[i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[E]}],"backdrop-invert":[{"backdrop-invert":[n]}],"backdrop-opacity":[{"backdrop-opacity":[l]}],"backdrop-saturate":[{"backdrop-saturate":[d]}],"backdrop-sepia":[{"backdrop-sepia":[w]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":[B]}],"border-spacing-x":[{"border-spacing-x":[B]}],"border-spacing-y":[{"border-spacing-y":[B]}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["none","all","","colors","opacity","shadow","transform",fi]}],duration:[{duration:W()}],ease:[{ease:["linear","in","out","in-out",fi]}],delay:[{delay:W()}],animate:[{animate:["none","spin","ping","pulse","bounce",fi]}],transform:[{transform:["","gpu","none"]}],scale:[{scale:[y]}],"scale-x":[{"scale-x":[y]}],"scale-y":[{"scale-y":[y]}],rotate:[{rotate:[WAA,fi]}],"translate-x":[{"translate-x":[m]}],"translate-y":[{"translate-y":[m]}],"skew-x":[{"skew-x":[u]}],"skew-y":[{"skew-y":[u]}],"transform-origin":[{origin:["center","top","top-right","right","bottom-right","bottom","bottom-left","left","top-left",fi]}],accent:[{accent:["auto",g]}],appearance:[{appearance:["none","auto"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",fi]}],"caret-color":[{caret:[g]}],"pointer-events":[{"pointer-events":["none","auto"]}],resize:[{resize:["none","y","x",""]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":R()}],"scroll-mx":[{"scroll-mx":R()}],"scroll-my":[{"scroll-my":R()}],"scroll-ms":[{"scroll-ms":R()}],"scroll-me":[{"scroll-me":R()}],"scroll-mt":[{"scroll-mt":R()}],"scroll-mr":[{"scroll-mr":R()}],"scroll-mb":[{"scroll-mb":R()}],"scroll-ml":[{"scroll-ml":R()}],"scroll-p":[{"scroll-p":R()}],"scroll-px":[{"scroll-px":R()}],"scroll-py":[{"scroll-py":R()}],"scroll-ps":[{"scroll-ps":R()}],"scroll-pe":[{"scroll-pe":R()}],"scroll-pt":[{"scroll-pt":R()}],"scroll-pr":[{"scroll-pr":R()}],"scroll-pb":[{"scroll-pb":R()}],"scroll-pl":[{"scroll-pl":R()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",fi]}],fill:[{fill:[g,"none"]}],"stroke-w":[{stroke:[EJ,Q3,XHA]}],stroke:[{stroke:[g,"none"]}],sr:["sr-only","not-sr-only"],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]}}});var y$g={env:{},version:""};const Se="u">typeof window?window:void 0,sG="u">typeof globalThis?globalThis:Se,Tw=sG?.navigator,co=sG?.document,Qa=sG?.location,jAA=sG?.fetch,$HA=sG?.XMLHttpRequest&&"withCredentials"in new sG.XMLHttpRequest?sG.XMLHttpRequest:void 0,w$g=sG?.AbortController,Fct=sG?.CompressionStream,Jm=Tw?.userAgent,zAA=typeof globalThis<"u"?globalThis:Se;zAA&&typeof self>"u"&&(zAA.self=zAA),zAA&&typeof File>"u"&&(zAA.File=function(){});const JB=Se??{},Uct="0.9.12",nJ={DEBUG:!1,LIB_VERSION:Uct,LIB_NAME:"browser-common"};var yx=(function(g){return g.AnonymousId="anonymous_id",g.DistinctId="distinct_id",g.Props="props",g.EnablePersonProcessing="enable_person_processing",g.PersonMode="person_mode",g.FeatureFlagDetails="feature_flag_details",g.FeatureFlags="feature_flags",g.FeatureFlagPayloads="feature_flag_payloads",g.BootstrapFeatureFlagDetails="bootstrap_feature_flag_details",g.BootstrapFeatureFlags="bootstrap_feature_flags",g.BootstrapFeatureFlagPayloads="bootstrap_feature_flag_payloads",g.OverrideFeatureFlags="override_feature_flags",g.Queue="queue",g.AiQueue="ai_queue",g.AiCaptureQueue="ai_capture_queue",g.LogsQueue="logs_queue",g.OptedOut="opted_out",g.SessionId="session_id",g.SessionStartTimestamp="session_start_timestamp",g.SessionLastTimestamp="session_timestamp",g.PersonProperties="person_properties",g.GroupProperties="group_properties",g.InstalledAppBuild="installed_app_build",g.InstalledAppVersion="installed_app_version",g.SessionReplay="session_replay",g.PushRegistered="push_registered",g.SessionReplayEventTriggerActivatedSession="session_replay_event_trigger_activated_session",g.SurveyLastSeenDate="survey_last_seen_date",g.SurveysInProgress="surveys_in_progress",g.SurveysSeen="surveys_seen",g.Surveys="surveys",g.RemoteConfig="remote_config",g.FlagsEndpointWasHit="flags_endpoint_was_hit",g.DeviceId="device_id",g})({}),A6A=(function(g){return g.GZipJS="gzip-js",g.Base64="base64",g})({});const Jct=["$snapshot","$pageview","$pageleave","$set","survey dismissed","survey sent","survey shown","$identify","$groupidentify","$create_alias","$$client_ingestion_warning","$web_experiment_applied","$feature_enrollment_update","$feature_flag_called"],Pct=["token"];function yB(g,A){return g.indexOf(A)!==-1}const tq=function(g){return g.trim()},g6A=function(g){return g.replace(/^\$/,"")};function u$g(g){var A;const I=[];return(A=JSON.stringify(g,function(e,t){if(typeof t=="bigint")return t.toString();if(typeof t!="function"&&typeof t!="symbol"){if(t instanceof Error)return{name:t.name,message:t.message,stack:t.stack};if(t&&typeof t=="object"){for(;I.length>0&&I[I.length-1]!==this;)I.pop();if(I.includes(t))return"[Circular]";I.push(t)}return t}}))!==null&&A!==void 0?A:"null"}const G$g=Object.prototype,I6A=G$g.hasOwnProperty,WlA=G$g.toString,cB=Array.isArray||function(g){return WlA.call(g)==="[object Array]"},Q0=g=>typeof g=="function",yC=g=>g===Object(g)&&!cB(g),lk=g=>{if(yC(g)){for(const A in g)if(I6A.call(g,A))return!1;return!0}return!1},Le=g=>g===void 0,KC=g=>WlA.call(g)=="[object String]",XAA=g=>KC(g)&&g.trim().length===0,Yc=g=>g===null,hC=g=>Le(g)||Yc(g),i0=g=>WlA.call(g)=="[object Number]"&&g==g,sJ=g=>i0(g)&&g>0,Pm=g=>WlA.call(g)==="[object Boolean]",Kct=g=>yB(Jct,g),Lct=g=>yB(Pct,g);function m$g(g){return g===null||typeof g!="object"}function VlA(g,A){return{}.toString.call(g)===`[object ${A}]`}function oq(g){switch({}.toString.call(g)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object DOMError]":case"[object WebAssembly.Exception]":return!0;default:return p$g(g,Error)}}function e6A(g){return"u">typeof Event&&p$g(g,Event)}function p$g(g,A){try{return g instanceof A}catch{return!1}}const Yct=[!0,"true",1,"1","yes"],t6A=g=>yB(Yct,g),_ct=[!1,"false",0,"0","no"];function k$g(g,A,I,e,t,o,B){try{var C=g[o](B),Q=C.value}catch(i){return void I(i)}C.done?A(Q):Promise.resolve(Q).then(e,t)}function ia(g){return function(){var A=this,I=arguments;return new Promise(function(e,t){var o=g.apply(A,I);function B(Q){k$g(o,e,t,B,C,"next",Q)}function C(Q){k$g(o,e,t,B,C,"throw",Q)}B(void 0)})}}const bct=["amazonbot","amazonproductbot","app.hypefactors.com","applebot","archive.org_bot","awariobot","backlinksextendedbot","baiduspider","bingbot","bingpreview","chrome-lighthouse","dataforseobot","deepscan","duckduckbot","facebookexternal","facebookcatalog","http://yandex.com/bots","hubspot","ia_archiver","leikibot","linkedinbot","meta-externalagent","mj12bot","msnbot","nessus","petalbot","pinterestbot","prerender","rogerbot","screaming frog","sebot-wa","sitebulb","slackbot","slurp","trendictionbot","turnitin","twitterbot","vercel-screenshot","vercelbot","yahoo! slurp","yandexbot","zoombot","bot.htm","bot.php","(bot;","bot/","crawler","ahrefsbot","ahrefssiteaudit","semrushbot","siteauditbot","splitsignalbot","gptbot","oai-searchbot","chatgpt-user","perplexitybot","better uptime bot","sentryuptimebot","uptimerobot","headlesschrome","cypress","google-hoteladsverifier","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleother","google-cloudvertexbot","googleweblight","mediapartners-google","storebot-google","google-inspectiontool","bytespider"],jlA=new Map,M$g=function(g,A=[]){if(!g)return!1;const I=(function(B,C){let Q="";for(let i=0;C.length>i;i++){const E=C[i];Q+=E.length+":"+E}return B.length+":"+B+"|"+C.length+":"+Q})(g,A),e=jlA.get(I);if(e!==void 0)return e;const t=g.toLowerCase(),o=bct.concat(A).some(B=>t.indexOf(B.toLowerCase())!==-1);return 256>jlA.size||jlA.clear(),jlA.set(I,o),o};function wx(g,A,I,e,t){return A>I&&(e.warn("min cannot be greater than max."),A=I),i0(g)?g>I?(e.warn(" cannot be greater than max: "+I+". Using max value instead."),I):A>g?(e.warn(" cannot be less than min: "+A+". Using min value instead."),A):g:(e.warn(" must be a number. using max or fallback. max: "+I+", fallback: "+t),wx(t??I,A,I,e))}var Hct=class{constructor(A){this.C={},this.I=A.I,this.R=wx(A.bucketSize,0,100,A.$),this.A=wx(A.refillRate,0,this.R,A.$),this.O=wx(A.refillInterval,0,864e5,A.$)}F(A,I){const e=Math.floor((I-A.lastAccess)/this.O);e>0&&(A.tokens=Math.min(A.tokens+e*this.A,this.R),A.lastAccess=A.lastAccess+e*this.O)}consumeRateLimit(A){var I;const e=Date.now(),t=String(A);let o=this.C[t];return o?this.F(o,e):(o={tokens:this.R,lastAccess:e},this.C[t]=o),o.tokens===0||(o.tokens--,o.tokens===0&&((I=this.I)===null||I===void 0||I.call(this,A)),o.tokens===0)}stop(){this.C={}}};const Bq="Mobile",$AA="Android",zlA="Tablet",S$g="Android Tablet",f$g="iPad",R$g="Apple Watch",XlA="Safari",$lA="BlackBerry",N$g="Samsung Internet",ADA="Chrome",x$g="Chrome iOS",F$g="Internet Explorer",U$g="Internet Explorer Mobile",J$g="Opera",P$g="Microsoft Edge",gDA="Firefox",K$g="Firefox iOS",IDA="Nintendo",eDA="PlayStation",tDA="Xbox",L$g="Android Mobile",Y$g="Mobile Safari",o6A="Windows",_$g="Windows Phone",b$g="Nokia",B6A="Ouya",vct="Generic "+Bq.toLowerCase(),H$g="Generic "+zlA.toLowerCase(),C6A="Konqueror",v$g="Oculus Browser",T$g="Vivaldi",q$g="Yandex",Z$g="Whale",O$g="DuckDuckGo",W$g="Pale Moon",V$g="Waterfox",Q6A="Brave",j$g="Claude",z$g="Codex",X$g="ChatGPT",$$g="Google Search App",i6A=new RegExp("Version/(\\d+(\\.\\d+)?)"),E6A=new RegExp("(Claude|Codex|ChatGPT)\\/(\\d+(\\.\\d+)?)"),Tct=new RegExp(tDA,"i"),qct=new RegExp("PlayStation \\w+","i"),Zct=new RegExp("Nintendo \\w+","i"),n6A=new RegExp("BlackBerry|PlayBook|BB10","i"),Oct={"NT3.51":"NT 3.11","NT4.0":"NT 4.0","5.0":"2000",5.1:"XP",5.2:"XP","6.0":"Vista",6.1:"7",6.2:"8",6.3:"8.1",6.4:"10","10.0":"10"},AAI=function(g,A,I,e){return A=A||"",(function(o){return o?.brave?Q6A:null})(I)||(e?.detectGoogleSearchApp&&yB(g,"GSA/")?$$g:yB(g," OPR/")&&yB(g,"Mini")?"Opera Mini":yB(g," OPR/")?J$g:n6A.test(g)?$lA:yB(g,"IEMobile")||yB(g,"WPDesktop")?U$g:yB(g,"OculusBrowser")?v$g:yB(g,"SamsungBrowser")?N$g:yB(g,"Edge")||yB(g,"Edg/")?P$g:yB(g,"Vivaldi/")?T$g:yB(g,"YaBrowser/")?q$g:yB(g,"Whale/")?Z$g:yB(g,"DuckDuckGo/")||yB(g,"Ddg/")?O$g:yB(g,"Claude/")?j$g:yB(g,"Codex/")?z$g:yB(g,"ChatGPT/")?X$g:yB(g,"FBIOS")?"Facebook Mobile":yB(g,"UCWEB")||yB(g,"UCBrowser")?"UC Browser":yB(g,"CriOS")?x$g:yB(g,"CrMo")||yB(g,ADA)?ADA:yB(g,$AA)&&yB(g,XlA)?L$g:yB(g,"FxiOS")?K$g:yB(g.toLowerCase(),C6A.toLowerCase())?C6A:yB(g,"Brave/")?Q6A:((o,B)=>B&&yB(B,"Apple")||(function(C){return yB(C,XlA)&&!yB(C,ADA)&&!yB(C,$AA)})(o))(g,A)?yB(g,Bq)?Y$g:XlA:yB(g,"PaleMoon/")?W$g:yB(g,"Waterfox/")?V$g:yB(g,gDA)?gDA:yB(g,"MSIE")||yB(g,"Trident/")?F$g:yB(g,"Gecko")?gDA:"")},Wct={[U$g]:[new RegExp("rv:(\\d+(\\.\\d+)?)")],[P$g]:[new RegExp("Edge?\\/(\\d+(\\.\\d+)?)")],[ADA]:[new RegExp("(Chrome|CrMo)\\/(\\d+(\\.\\d+)?)")],[x$g]:[new RegExp("CriOS\\/(\\d+(\\.\\d+)?)")],"UC Browser":[new RegExp("(UCBrowser|UCWEB)\\/(\\d+(\\.\\d+)?)")],[XlA]:[i6A],[Y$g]:[i6A],[J$g]:[new RegExp("(Opera|OPR)\\/(\\d+(\\.\\d+)?)")],[gDA]:[new RegExp("Firefox\\/(\\d+(\\.\\d+)?)")],[K$g]:[new RegExp("FxiOS\\/(\\d+(\\.\\d+)?)")],[C6A]:[new RegExp("Konqueror[:/]?(\\d+(\\.\\d+)?)","i")],[$lA]:[new RegExp("BlackBerry (\\d+(\\.\\d+)?)"),i6A],[L$g]:[new RegExp("android\\s(\\d+(\\.\\d+)?)","i")],[N$g]:[new RegExp("SamsungBrowser\\/(\\d+(\\.\\d+)?)")],[v$g]:[new RegExp("OculusBrowser\\/(\\d+(\\.\\d+)?)")],[T$g]:[new RegExp("Vivaldi\\/(\\d+(\\.\\d+)?)")],[q$g]:[new RegExp("YaBrowser\\/(\\d+(\\.\\d+)?)")],[Z$g]:[new RegExp("Whale\\/(\\d+(\\.\\d+)?)")],[Q6A]:[new RegExp("Brave\\/(\\d+(\\.\\d+)?)")],[j$g]:[E6A],[z$g]:[E6A],[X$g]:[E6A],[O$g]:[new RegExp("(DuckDuckGo|Ddg)\\/(\\d+(\\.\\d+)?)")],[W$g]:[new RegExp("PaleMoon\\/(\\d+(\\.\\d+)?)")],[V$g]:[new RegExp("Waterfox\\/(\\d+(\\.\\d+)?)")],[$$g]:[new RegExp("GSA\\/(\\d+(\\.\\d+)?)")],[F$g]:[new RegExp("(rv:|MSIE )(\\d+(\\.\\d+)?)")],Mozilla:[new RegExp("rv:(\\d+(\\.\\d+)?)")]},Vct=function(g,A,I,e){const t=AAI(g,A,I,e),o=Wct[t];if(Le(o))return null;for(let B=0;o.length>B;B++){const C=g.match(o[B]);if(C)return parseFloat(C[C.length-2])}return null},gAI=[[new RegExp("Xbox; Xbox (.*?)[);]","i"),g=>[tDA,g&&g[1]||""]],[new RegExp(IDA,"i"),[IDA,""]],[new RegExp(eDA,"i"),[eDA,""]],[n6A,[$lA,""]],[new RegExp(o6A,"i"),(g,A)=>{if(/Phone/.test(A)||/WPDesktop/.test(A))return[_$g,""];if(new RegExp(Bq).test(A)&&!/IEMobile\b/.test(A))return["Windows Mobile",""];const I=/Windows NT ([0-9.]+)/i.exec(A);if(I&&I[1]){let e=Oct[I[1]]||"";return/arm/i.test(A)&&(e="RT"),[o6A,e]}return[o6A,""]}],[/((iPhone|iPad|iPod).*?OS (\d+)_(\d+)_?(\d+)?|iPhone)/,g=>g&&g[3]?["iOS",[g[3],g[4],g[5]||"0"].join(".")]:["iOS",""]],[/(watch.*\/(\d+\.\d+\.\d+)|watch os,(\d+\.\d+),)/i,g=>{let A="";return g&&g.length>=3&&(A=Le(g[2])?g[3]:g[2]),["watchOS",A]}],[new RegExp("(Android (\\d+)\\.(\\d+)\\.?(\\d+)?|Android)","i"),g=>g&&g[2]?[$AA,[g[2],g[3],g[4]||"0"].join(".")]:[$AA,""]],[/Mac OS X (\d+)[_.](\d+)[_.]?(\d+)?/i,g=>{const A=["Mac OS X",""];return g&&g[1]&&(A[1]=[g[1],g[2],g[3]||"0"].join(".")),A}],[/Mac/i,["Mac OS X",""]],[/CrOS/,["Chrome OS",""]],[/Linux|debian/i,["Linux",""]]],IAI=function(g){for(let A=0;gAI.length>A;A++){const[I,e]=gAI[A],t=I.exec(g),o=t&&(Q0(e)?e(t,g):e);if(o)return o}return["",""]},eAI=function(g){return Zct.test(g)?IDA:qct.test(g)?eDA:Tct.test(g)?tDA:new RegExp(B6A,"i").test(g)?B6A:new RegExp("(Windows Phone|WPDesktop)","i").test(g)?_$g:/iPad/.test(g)?f$g:/iPod/.test(g)?"iPod Touch":/iPhone/.test(g)?"iPhone":/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i.test(g)?R$g:n6A.test(g)?$lA:/(kobo)\s(ereader|touch)/i.test(g)?"Kobo":new RegExp(b$g,"i").test(g)?b$g:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i.test(g)||/(kf[a-z]+)( bui|\)).+silk\//i.test(g)?"Kindle Fire":/(Android|ZTE)/i.test(g)?new RegExp(Bq).test(g)&&!/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(g)||/pixel[\daxl ]{1,6}/i.test(g)&&!/pixel c/i.test(g)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(g)||/lmy47v/i.test(g)&&!/QTAQZ3/i.test(g)?$AA:S$g:new RegExp("(pda|Mobile)","i").test(g)?vct:new RegExp(zlA,"i").test(g)&&!new RegExp("Tablet pc","i").test(g)?H$g:""},jct=function(g,A){var I;const e=eAI(g);return e===f$g||e===S$g||e==="Kobo"||e==="Kindle Fire"||e===H$g?zlA:e===IDA||e===tDA||e===eDA||e===B6A?"Console":e===R$g?"Wearable":e?Bq:A?.userAgentDataPlatform==="Android"&&((I=A?.maxTouchPoints)!==null&&I!==void 0?I:0)>0?600>Math.min((t=A?.screenWidth)!==null&&t!==void 0?t:0,(o=A?.screenHeight)!==null&&o!==void 0?o:0)/((B=A?.devicePixelRatio)!==null&&B!==void 0?B:1)?Bq:zlA:"Desktop";var t,o,B},s6A=/\bFBAV\/(\d+(?:\.\d+)*)/i,tAI=[[/\bInstagram(?:[ /](\d+(?:\.\d+)*))?\b/i,"Instagram"],[/\bBarcelona[ /](\d+(?:\.\d+)*)?/i,"Threads"],[/\b(?:MessengerForiOS|(?:FBAN|FB_IAB)\/Orca-Android)\b/i,"Messenger",s6A],[/\bFBAN\/EMA\b/i,"Facebook Lite",s6A],[/\b(?:FBIOS|(?:FBAN|FB_IAB)\/(?:FB4A|FBIOS))\b/i,"Facebook",s6A],[/\bLinkedInApp(?:\]?\/(\d+(?:\.\d+)*))?\b/i,"LinkedIn"],[/\bTwitter(?:Android| for (?:iPhone|iPad|Android))(?:\/(\d+(?:\.\d+)*))?\b/i,"Twitter"],[/\b(?:musical_ly|trill)(?:[_/](\d+\.\d+(?:\.\d+)*))?(?=\b|_)/i,"TikTok",/\bapp_version\/(\d+(?:\.\d+)*)/i],[/\b(?:MicroMessenger|WeChat)\/(\d+(?:\.\d+)*)?/i,"WeChat"],[/\bLine\/(\d+(?:\.\d+)*)?/i,"Line"],[/\bGSA\/(\d+(?:\.\d+)*)?/i,"Google"],[/\[Pinterest\/(?:iOS|Android)\b|\bPinterest(?: for (?:Android(?: Tablet)?|iOS))?\/(\d+(?:\.\d+)*)/i,"Pinterest"],[/\b(?:WA4A|WAiOS)\/(\d+(?:\.\d+)*)?/i,"WhatsApp"],[/\bSnapchat[ /](\d+(?:\.\d+)*)?/i,"Snapchat"],[/\bBing(?:Web|Sapphire)\/(\d+(?:\.\d+)*)?/i,"Bing"],[/\bNAVER\(inapp; search;/i,"Naver",/\bNAVER\(inapp; search;[^;)]*; (\d+(?:\.\d+)*)/i],[/\bKAKAOTALK[ /](\d+\.\d+(?:\.\d+)*)?/i,"KakaoTalk"]],a6A="[Truncated]",AgA="[Unserializable]";function Cq(g){let A="";for(let I=0;g.length>I;I++){const e=g.charCodeAt(I);if(55296>e||e>56319)A+=56320>e||e>57343?g[I]:"�";else{const t=g.charCodeAt(I+1);56320>t||t>57343?A+="�":(A+=g[I]+g[I+1],I++)}}return A}function oAI(g,A){if(!A)return g;let I=[];try{I=Object.keys(A)}catch{I=[]}for(const e of I){let t;try{t=A[e]}catch{t=AgA}Object.defineProperty(g,e,{value:t,enumerable:!0,writable:!0,configurable:!0})}return g}const oDA=3e5;var BAI=class{record(A){if(A.kind==="too-large")return;if(A.kind!=="retry-later")return void this.reset();if(!A.retryAfterMs)return;const I=this.isOpen(),e=Date.now(),t=Math.min(A.retryAfterMs,oDA);if(!I)return this.ts=e,void(this.es=e+t);this.es=Math.max(this.es,Math.min(e+t,this.ts+oDA))}remainingMs(){const A=Date.now();if(this.ts-5e3>A)return this.reset(),0;const I=Math.min(oDA,Math.max(0,this.es-A));return I===0&&this.reset(),I}isOpen(){return this.remainingMs()>0}reset(){this.es=0,this.ts=0}constructor(){this.es=0,this.ts=0}};const zct=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function CAI(g,A){return typeof(I=g)=="string"&&zct.test(I)?g:A();var I}function QAI(g,A){const I=new Error(A);try{Object.defineProperty(I,"name",{value:g,writable:!0,enumerable:!0,configurable:!0})}catch{}return I}function E3(g){return g&&g.split("#")[0]}function iAI(g){try{return g()}catch{return}}function EAI(g,A){const I=setTimeout(g,A);return I!=null&&I.unref&&I?.unref(),I}function nAI(g,A,I){return sAI.apply(this,arguments)}function sAI(){return(sAI=ia(function*(g,A,I){let e;try{return yield Promise.race([g,new Promise((t,o)=>{e=EAI(()=>{try{I?.(),t()}catch(B){o(B)}},A)})])}finally{clearTimeout(e)}})).apply(this,arguments)}function ggA(g){return ggA=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(A){return typeof A}:function(A){return A&&typeof Symbol=="function"&&A.constructor===Symbol&&A!==Symbol.prototype?"symbol":typeof A},ggA(g)}function Xct(g,A,I){return(A=(function(e){var t=(function(o){if(ggA(o)!="object"||!o)return o;var B=o[Symbol.toPrimitive];if(B!==void 0){var C=B.call(o,"string");if(ggA(C)!="object")return C;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(o)})(e);return ggA(t)=="symbol"?t:t+""})(A))in g?Object.defineProperty(g,A,{value:I,enumerable:!0,configurable:!0,writable:!0}):g[A]=I,g}function aAI(g,A){var I=Object.keys(g);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(g);A&&(e=e.filter(function(t){return Object.getOwnPropertyDescriptor(g,t).enumerable})),I.push.apply(I,e)}return I}function QI(g){for(var A=1;arguments.length>A;A++){var I=arguments[A]!=null?arguments[A]:{};A%2?aAI(Object(I),!0).forEach(function(e){Xct(g,e,I[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(I)):aAI(Object(I)).forEach(function(e){Object.defineProperty(g,e,Object.getOwnPropertyDescriptor(I,e))})}return g}let IgA,rAI,cAI,Qq;function $ct(g){var A;const I=globalThis._posthogChunkIds,e=globalThis._debugIds;if(!I&&!e)return;const t=I?Object.keys(I):[],o=e?Object.keys(e):[];if(Qq&&hAI(I,t,rAI)&&hAI(e,o,cAI))return Qq;rAI=I?QI({},I):void 0,cAI=e?QI({},e):void 0,Qq={},(A=IgA)!==null&&A!==void 0||(IgA={});const B=(C,Q)=>{for(const E of C){const n=Q[E];if(!n)continue;const s=IgA?.[E];if(s){Qq[s]=n;continue}const r=g(E);for(let a=r.length-1;a>=0;a--){var i;const c=(i=r[a])===null||i===void 0?void 0:i.filename;if(c){Qq[c]=n,IgA[E]=c;break}}}};return e&&B(o,e),I&&B(t,I),Qq}function hAI(g,A,I){return g&&I?A.length===Object.keys(I).length&&A.every(e=>g[e]===I[e]):g===I}var Aht=class{constructor(A,I,e=[]){this.coercers=A,this.stackParser=I,this.modifiers=e}buildFromUnknown(A,I={}){const e=I&&I.mechanism||{handled:!0,type:"generic"},t=this.buildCoercingContext(e,I,0).apply(A),o=this.buildParsingContext(I),B=this.parseStacktrace(t,o);return{$exception_list:this.convertToExceptionList(B,e),$exception_level:"error"}}modifyFrames(A){var I=this;return ia(function*(){for(const e of A)e.stacktrace&&e.stacktrace.frames&&cB(e.stacktrace.frames)&&(e.stacktrace.frames=yield I.applyModifiers(e.stacktrace.frames));return A})()}coerceFallback(A){var I;return{type:"Error",value:"Unknown error",stack:(I=A.syntheticException)===null||I===void 0?void 0:I.stack,synthetic:!0}}parseStacktrace(A,I){var e;let t,o;if(A.cause!=null&&(t=this.parseStacktrace(A.cause,I)),A.stack!=""&&A.stack!=null)try{o=this.applyChunkIds(this.stackParser(A.stack,A.synthetic?I.skipFirstLines:0),I.chunkIdMap)}catch{}return QI(QI({},A),{},{cause:t,stack:o,errors:(e=A.errors)===null||e===void 0?void 0:e.map(B=>this.parseStacktrace(B,I))})}applyChunkIds(A,I){return A.map(e=>(e.filename&&I&&(e.chunk_id=I[e.filename]),e))}applyCoercers(A,I){for(const e of this.coercers)if(e.match(A))return e.coerce(A,I);return this.coerceFallback(I)}applyModifiers(A){var I=this;return ia(function*(){let e=A;for(const t of I.modifiers)e=yield t(e);return e})()}convertToExceptionList(A,I){const e=[],t=(o,B,C)=>{var Q;const i=e.length,E=B===void 0?QI(QI({type:typeof I.type=="string"&&I.type.length>0?I.type:"generic"},typeof I.handled=="boolean"?{handled:I.handled}:I.handled===void 0?{handled:!0}:{}),{},{synthetic:typeof I.synthetic=="boolean"?I.synthetic:o.synthetic,exception_id:i}):{type:"chained",source:C,synthetic:o.synthetic,exception_id:i,parent_id:B},n={type:o.type,value:o.value,mechanism:E};o.stack&&(n.stacktrace={type:"raw",frames:o.stack}),e.push(n),o.cause&&t(o.cause,i,"cause");for(const s of(Q=o.errors)!==null&&Q!==void 0?Q:[])t(s,i,"member")};return t(A),e}buildParsingContext(A){var I;return{chunkIdMap:$ct(this.stackParser),skipFirstLines:(I=A.skipFirstLines)!==null&&I!==void 0?I:1}}getAggregateErrors(A){try{if(oq(A)){let e=Object.getPrototypeOf(A);for(let t=0;e&&100>t;t++){var I;const o=(I=Object.getOwnPropertyDescriptor(e,"constructor"))===null||I===void 0?void 0:I.value;if(typeof o=="function"&&o.name==="AggregateError"){const B=A.errors;return cB(B)?B:void 0}e=Object.getPrototypeOf(e)}}}catch{}}buildCoercingContext(A,I,e=0){let t=0,o=0,B=!1;const C=new Set,Q=[],i={},E=(r,a,c=0)=>{const h=n(a,c),l=h.apply;if(h.apply=G=>{Q.push(r);try{return l(G)}finally{Q.pop()}},c>4||c>0&&Q.indexOf(r)!==-1)return this.coerceFallback(h);const D=typeof r=="object"&&r!==null||typeof r=="function";if(c===0&&t>=50||D&&C.has(r))return;D&&C.add(r),c===0&&t++;const d=this.getAggregateErrors(r);let y,w;B||(B=!!d);try{if(y=this.applyCoercers(r,h),!y)throw i}catch(G){if(G===i)return void(c===0&&t--);if(!B)throw G;y=this.coerceFallback(h)}if(!d||t>=50)return y;try{w=d.length}catch{return y}if(!Number.isInteger(w)||0>w||w>4294967295)return y;const u=[];for(let G=0;50>t&&1e3>o&&w>G;G++){let m;o++;try{m=h.next(d[G])}catch{t++,m=this.coerceFallback(n(a+1))}m&&u.push(m)}return QI(QI({},y),{},{errors:u})},n=(r,a=0)=>QI(QI({},I),{},{syntheticException:r==0?I.syntheticException:void 0,mechanism:r==0?A:{},apply(c){const h=E(c,r,a+1);if(!h)throw i;return h},next:c=>E(c,r+1)}),s=n(e);return QI(QI({},s),{},{apply:r=>{var a;return(a=E(r,e))!==null&&a!==void 0?a:this.coerceFallback(s)}})}};const ght=/^([a-z][a-z0-9.+-]+):/i,Iht=["http","https","file","blob","app","capacitor","ionic","webpack","webpack-internal","ng"];function eht(g){if(!g||g==="<anonymous>")return!1;const A=ght.exec(g);return!A||Iht.includes(A[1].toLowerCase())}function r6A(g,A,I,e,t){const o={platform:g,filename:A,function:I==="<anonymous>"?"?":I,in_app:eht(A)};return Le(e)||(o.lineno=e),Le(t)||(o.colno=t),o}const lAI=(g,A)=>{const I=g.indexOf("safari-extension")!==-1,e=g.indexOf("safari-web-extension")!==-1;return I||e?[g.indexOf("@")!==-1?g.split("@")[0]:"?",I?`safari-extension:${A}`:`safari-web-extension:${A}`]:[g,A]},tht=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,oht=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,Bht=/\((\S*)(?::(\d+))(?::(\d+))\)/,Cht=(g,A)=>{const I=tht.exec(g);if(I){const[,t,o,B]=I;return r6A(A,t,"?",+o,+B)}const e=oht.exec(g);if(e){if(e[2]&&e[2].indexOf("eval")===0){const B=Bht.exec(e[2]);B&&(e[2]=B[1],e[3]=B[2],e[4]=B[3])}const[t,o]=lAI(e[1]||"?",e[2]);return r6A(A,o,t,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}},Qht=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,iht=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Eht=(g,A)=>{const I=Qht.exec(g);if(I){if(I[3]&&I[3].indexOf(" > eval")>-1){const o=iht.exec(I[3]);o&&(I[1]=I[1]||"eval",I[3]=o[1],I[4]=o[2],I[5]="")}let e=I[3],t=I[1]||"?";return[t,e]=lAI(t,e),r6A(A,e,t,I[4]?+I[4]:void 0,I[5]?+I[5]:void 0)}},DAI=/\(error: (.*)\)/;function c6A(g,A){return g.filename===A.filename&&g.function===A.function&&g.module===A.module&&g.lineno===A.lineno&&g.colno===A.colno}function nht(g){for(let A=1;10>=A;A++){const I=g.length-2*A;if(0>I)break;let e=!0;for(let t=0;A>t;t++)if(!c6A(g[I+t],g[I+A+t])){e=!1;break}if(e){for(let t=0;A>t;t++)g[I+t]=g[I+A+t];return g.length=I+A,{start:I,length:A}}}}function sht(g,A){const I=A.start+A.length,e=yAI(g,A);e&&g.splice(I+e===g.length?I:A.start,e)}function dAI(g,A){let I=A.start;for(;I>0&&c6A(g[I-1],g[I-1+A.length]);)I--;return A.start-I}function yAI(g,A){const I=A.start+A.length;let e=I;for(;g.length>e&&c6A(g[e],g[e-A.length]);)e++;return e-I}function aht(g,A){const I=A[0];let e=g.length-(I?dAI(g,I):0);for(const t of A)e-=yAI(g,t);return e}function rht(g,A,I){for(let e=0;g.length>e;e++){const t=g[(A+e)%g.length],o=g[(I+e)%g.length];if(t!==o)return o>t}return!1}var cht=class{match(A){return this.isDOMException(A)||this.isDOMError(A)}coerce(A,I){const e=KC(A.stack);return{type:this.getType(A),value:this.getValue(A),stack:e?A.stack:void 0,cause:A.cause?I.next(A.cause):void 0,synthetic:!1}}getType(A){return this.isDOMError(A)?"DOMError":"DOMException"}getValue(A){const I=A.name||(this.isDOMError(A)?"DOMError":"DOMException");return A.message?`${I}: ${A.message}`:I}isDOMException(A){return VlA(A,"DOMException")}isDOMError(A){return VlA(A,"DOMError")}},hht=class{match(A){return oq(A)}coerce(A,I){var e;const t=this.getStack(A),o=t===void 0?(e=I.syntheticException)===null||e===void 0?void 0:e.stack:void 0,B=!!o;return{type:this.getType(A),value:this.getMessage(A,I),stack:t??o,cause:A.cause?I.next(A.cause):void 0,synthetic:B}}getType(A){return A.name||A.constructor.name}getMessage(A,I){const e=A.message;return String(e.error&&typeof e.error.message=="string"?e.error.message:e)}getStack(A){try{const I=A.stacktrace;if(typeof I=="string"&&I.length>0)return I;const e=A.stack;return typeof e=="string"&&e.length>0?e:void 0}catch{return}}},lht=class{match(A){return!!VlA(A,"ErrorEvent")&&(A.error!=null||this.hr(A))}coerce(A,I){var e;if(A.error!=null)return I.apply(A.error);const t=I.apply(A.message);return QI(QI({},t),{},{stack:(e=this.vr(A))!==null&&e!==void 0?e:t.stack,synthetic:!0})}hr(A){return KC(A.message)&&A.message.length>0}vr(A){var I,e;const t=A,o=(I=t.lineno)!==null&&I!==void 0?I:0,B=(e=t.colno)!==null&&e!==void 0?e:0;if(KC(t.filename)&&t.filename.length!==0&&o!==0)return`Error
|
|
1069
|
+
at ${t.filename}:${o}:${B}`}};const Dht=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;var dht=class{match(A){return typeof A=="string"}coerce(A,I){var e;const[t,o]=this.getInfos(A);return{type:t??"Error",value:o??A,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}getInfos(A){let I="Error",e=A;const t=A.match(Dht);return t&&(I=t[1],e=t[2]),[I,e]}};const yht=["fatal","error","warning","log","info","debug"];function wAI(g,A=40){const I=Object.keys(g);if(I.sort(),!I.length)return"[object has no keys]";for(let e=I.length;e>0;e--){const t=I.slice(0,e).join(", ");if(A>=t.length)return e===I.length?t:t.length>A?`${t.slice(0,A)}...`:t}return""}var wht=class{match(A){return typeof A=="object"&&A!==null}coerce(A,I){var e,t;const o=this.getErrorPropertyFromObject(A);return o?I.apply(o):{type:this.getType(A),value:this.getValue(A),stack:(e=this.getStack(A))!==null&&e!==void 0?e:(t=I.syntheticException)===null||t===void 0?void 0:t.stack,level:this.isSeverityLevel(A.level)?A.level:"error",synthetic:!0}}getType(A){if(e6A(A))return A.constructor.name;const I="name"in A?A.name:void 0;return KC(I)&&!XAA(I)?I:"Error"}getValue(A){if("name"in A&&typeof A.name=="string"){let e=`'${A.name}' captured as exception`;return"message"in A&&typeof A.message=="string"&&(e+=` with message: '${A.message}'`),e}if("message"in A&&typeof A.message=="string")return A.message;const I=this.getObjectClassName(A);return`${I&&I!=="Object"?`'${I}'`:"Object"} captured as exception with keys: ${wAI(A)}`}isSeverityLevel(A){return KC(A)&&!XAA(A)&&yht.indexOf(A)>=0}getStack(A){try{return KC(A.stacktrace)&&A.stacktrace.length>0?A.stacktrace:KC(A.stack)&&A.stack.length>0?A.stack:void 0}catch{return}}getErrorPropertyFromObject(A){for(const I in A)if({}.hasOwnProperty.call(A,I)){const e=A[I];if(oq(e))return e}}getObjectClassName(A){try{const I=Object.getPrototypeOf(A);return I?I.constructor.name:void 0}catch{return}}},uht=class{match(A){return e6A(A)}coerce(A,I){var e;const t=A.constructor.name;return{type:t,value:`${t} captured as exception with keys: ${wAI(A)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}},Ght=class{match(A){return m$g(A)}coerce(A,I){var e;return{type:"Error",value:`Primitive value captured as exception: ${String(A)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}}},mht=class{match(A){return VlA(A,"PromiseRejectionEvent")||this.isCustomEventWrappingRejection(A)}isCustomEventWrappingRejection(A){if(!e6A(A))return!1;try{const I=A.detail;return I!=null&&typeof I=="object"&&"reason"in I}catch{return!1}}coerce(A,I){var e;const t=this.getUnhandledRejectionReason(A);return m$g(t)?{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`,stack:(e=I.syntheticException)===null||e===void 0?void 0:e.stack,synthetic:!0}:I.apply(t)}getUnhandledRejectionReason(A){try{if("reason"in A)return A.reason;if("detail"in A&&A.detail!=null&&typeof A.detail=="object"&&"reason"in A.detail)return A.detail.reason}catch{}return A}};const BDA="$message",CDA="$timestamp",pht=new Set([BDA,CDA]),h6A={enabled:!0,max_bytes:32768};function QDA(g){var A;return g?{enabled:(A=g.enabled)!==null&&A!==void 0?A:h6A.enabled,max_bytes:Mht(g.max_bytes,h6A.max_bytes)}:QI({},h6A)}var kht=class{constructor(A){this.ns=[],this.ss=0,this.Ar=QDA(A)}setConfig(A){this.Ar=QDA(A),this.rs()}add(A){const I=(function(t){let o;try{o=u$g(t)}catch{return}try{const B=JSON.parse(o);if(!yC(B))return;const C=B,Q=C[BDA],i=C[CDA];return!KC(Q)||Q.trim().length===0||!KC(i)&&!i0(i)?void 0:{step:C,json:o}}catch{return}})(A);if(!I)return;const e=(function(t){if("u">typeof TextEncoder)return new TextEncoder().encode(t).length;const o=encodeURIComponent(t);let B=0;for(let C=0;o.length>C;C++)o[C]==="%"?(B+=1,C+=2):B+=1;return B})(I.json);e>this.Ar.max_bytes||(this.ns.push({step:I.step,bytes:e}),this.ss+=e,this.rs())}getAttachable(){return this.ns.map(A=>A.step)}clear(){this.ns=[],this.ss=0}size(){return this.ns.length}rs(){for(;this.ss>this.Ar.max_bytes&&this.ns.length>0;){const A=this.ns.shift();A&&(this.ss-=A.bytes)}}};function Mht(g,A){if(!i0(g)||g===1/0||g===-1/0)return A;const I=Math.floor(g);return 0>I?A:I}const uAI=g=>{if(typeof g!="string")return g;try{return JSON.parse(g)}catch{return g}};function GAI(g){return typeof g=="string"||g}function mAI(g){return typeof g=="string"?g:void 0}const Sht=["$feature_flag","$feature_flag_response","$feature_flag_has_experiment","$feature_flag_id","$feature_flag_version","$feature_flag_reason","$feature_flag_request_id","$feature_flag_evaluated_at","$feature_flag_error","locally_evaluated","$groups","$process_person_profile","$geoip_disable","$current_url","$pathname","$referring_domain","utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid","gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","oppref","bfcid","irclid","_kx","$session_id","$window_id","$lib","$lib_version","$device_id","$is_server"],pAI="NativeGzipValidationError",l6A=g=>g.length>=2&&g[0]===31&&g[1]===139,kAI=(g,A)=>g===A6A.GZipJS||A===A6A.GZipJS||A==="gzip",MAI=g=>!(!g||typeof g!="object")&&("name"in g?String(g.name):"")==="NotReadableError";let egA;const iDA=g=>{throw QAI(pAI,`Native gzip produced invalid output: ${g}`)},fht=(SAI=ia(function*(g,A){18>g.size&&iDA("too-short");const I=new Uint8Array(yield g.slice(0,10).arrayBuffer());l6A(I)&&I[2]===8||iDA("invalid-header");const e=new DataView(yield g.slice(g.size-8).arrayBuffer());e.getUint32(0,!0)!==(o=>{const B=(()=>{if(egA)return egA;egA=[];for(let Q=0;256>Q;Q++){let i=Q;for(let E=0;8>E;E++)i=1&i?3988292384^i>>>1:i>>>1;egA[Q]=i>>>0}return egA})();let C=4294967295;for(let Q=0;o.length>Q;Q++)C=B[255&(C^o[Q])]^C>>>8;return(4294967295^C)>>>0})(A)&&iDA("invalid-crc");const t=A.length>>>0;e.getUint32(4,!0)!==t&&iDA("invalid-size")}),function(g,A){return SAI.apply(this,arguments)});var SAI;function D6A(){return D6A=ia(function*(g,A=!0,I){try{const t=new TextEncoder().encode(g),o=new globalThis.CompressionStream("gzip"),B=o.writable.getWriter(),C=B.write(t).then(()=>B.close()).catch((e=ia(function*(E){try{yield B.abort(E)}catch{}throw E}),function(E){return e.apply(this,arguments)})),Q=new Response(o.readable).blob(),[i]=yield Promise.all([Q,C]);return yield fht(i,t),i}catch(t){if(I?.rethrow)throw t;return A&&console.error("Failed to gzip compress data",t),null}var e}),D6A.apply(this,arguments)}function fAI(g,A){if(g==null)return{};var I,e,t=(function(B,C){if(B==null)return{};var Q={};for(var i in B)if({}.hasOwnProperty.call(B,i)){if(C.includes(i))continue;Q[i]=B[i]}return Q})(g,A);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(g);for(e=0;o.length>e;e++)A.includes(I=o[e])||{}.propertyIsEnumerable.call(g,I)&&(t[I]=g[I])}return t}const aG="[redacted]",Rht=/^[A-Za-z0-9+/\n\r]+=*$/,Nht=/^[A-Za-z0-9_-]+={0,2}$/,xht=/[-_]/,Fht=/^data:[^,\s]*;base64,/i,Uht=/^[A-Za-z0-9+/_-]+={0,2}$/,Jht=/\bph[a-z]_[A-Za-z0-9_-]{20,}\b/g,Pht=/^(authorization|cookie|set-cookie|x-api-key|api[-_]?key|api[-_]?token|access[-_]?token|refresh[-_]?token|token|password|secret|client[-_]?secret|private[-_]?key)$/i,RAI=/[a-z][a-z0-9+.-]{0,63}:[^\s<>"]+/gi,Kht=/[\s<>"]/,NAI=new RegExp(RAI.source,"i"),xAI=/[a-z][a-z0-9+.-]{0,63}:\/\//i,Lht=new RegExp(`^${xAI.source}`,"i"),Yht=new RegExp(xAI.source,"gi"),_ht=/(^|[-_./;])(auth|token|secret|password|passwd|pwd|credential|signature|sig|key|hmac|sas|bearer|jwt|session|sessionid)([-_./;]|$)/i,bht=/^(code|AWSAccessKeyId|GoogleAccessId|Policy)$/i,Hht=/[\u00A0\u1680\u2000-\u200A\u202F\u205F\u3000]/g,vht=/[A-Za-z0-9._%+-]{1,64}@[A-Za-z0-9.-]{1,255}\.[A-Za-z]{2,24}/g,Tht=/\b(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\b/g,qht=/(^|[^\w:])((?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4}|(?:[0-9A-Fa-f]{1,4}:){1,7}:|(?:[0-9A-Fa-f]{1,4}:){1,6}:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,5}|::(?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4}){0,6})))(?=$|[^\w:])/g,Zht=/\b\d{3}[ .-]\d{2}[ .-]\d{4}\b/g,Oht=/\b\d(?:[ ./-]?\d){12,}\b/g,FAI=/\d+/g,Wht=/(^|[^\w+])((?:\+?1[ ./-]?)?(?:\(\d{3}\)[ ./-]?|\d{3}[ ./-])\d{3}[ ./-]\d{4})(?![\w])/g,Vht=/(^|[^\w])(\+\d{1,3}(?:[ ./()-]{0,2}\d){7,13})(?![\w])/g;function d6A(g){return(function(A){return Pht.test(A)})(g)||_ht.test(g)||bht.test(g)}function y6A(g){return g.split("&",129).length>128}function jht(g,A,I){return d6A(g)||A.includes(";")&&(function(e){return e.split(";").some(t=>d6A(t.split("=",1)[0]))})(A)?aG:NAI.test(A)?I?u6A(A,{allowNestedUrls:!1,stripPunctuation:!0}):aG:A}function UAI(g,A){const I=new URLSearchParams;let e=!1,t=!1;for(const[o,B]of new URLSearchParams(g)){const C=EDA(o),Q=EDA(B);e||(e=C!==o||Q!==B);const i=jht(C,Q,A);e||(e=i!==Q),t=d6A(C)||i!==Q,I.append(C,i)}return{changed:e,lastFieldSensitive:t,serialized:I.toString()}}function JAI(g,A){if(!g.includes("="))return{value:zht(g,A),lastFieldSensitive:!1};const I=UAI(g,A);return{value:I.changed?I.serialized:g,lastFieldSensitive:I.lastFieldSensitive}}function zht(g,A){return A?u6A(g,{allowNestedUrls:!1,stripPunctuation:!0}):NAI.test(g)?aG:g}function Xht(g,A,I){return g==="#"?!A.fragment&&(A.fragment=!0):g==="?"&&(A.fragment?I!=="="&&!A.fragmentQuery&&(A.fragmentQuery=!0):!A.query&&(A.query=!0))}function w6A(g,A){var I;if(g.length>8192&&Lht.test(g))return aG;const{address:e,suffix:t}=A.stripPunctuation?(function(h){let l=h.length;for(;l>0&&".,;:!?)]}'".includes(h[l-1]);)l--;return{address:h.slice(0,l),suffix:h.slice(l)}})(g):{address:g,suffix:""};let o;try{o=new URL(e)}catch{return aG+t}const B=o.search.slice(1),C=o.hash!=="",Q=(function(h){const l=h.slice(1),D=l.indexOf("?");return 0>D?{head:l,tail:null}:{head:l.slice(0,D),tail:l.slice(D+1)}})(o.hash);if(y6A(B)||y6A(Q.head)||y6A((I=Q.tail)!==null&&I!==void 0?I:""))return aG+t;let i=!1;(o.username||o.password)&&(o.username=aG,o.password="",i=!0);const E=UAI(B,A.allowNestedUrls);E.changed&&(o.search=E.serialized,i=!0);const n=JAI(Q.head,A.allowNestedUrls),s=Q.tail===null?null:(r=Q.tail,n.lastFieldSensitive?{value:r===""?"":aG,lastFieldSensitive:!0}:JAI(r,A.allowNestedUrls));var r;const a=s===null?n.value:`${n.value}?${s.value}`;a!==o.hash.slice(1)&&(o.hash=a,i=!0);const c=C?s??n:E;return(i?EDA(o.toString()):e)+(c.lastFieldSensitive?"":t)}function u6A(g,A){return g.replace(RAI,I=>(function(e,t){const o=(function(Q){if(!Q.includes("://"))return[];const i=[...Q.matchAll(Yht)].map(c=>c.index),E=[],n={query:!1,fragment:!1,fragmentQuery:!1};let s=0,r=!1,a="";for(let c=0;Q.length>c&&i.length>s;c++){i[s]===c&&(c>0&&a!=="="&&E.push(c),s++);const h=Q[c];Xht(h,n,a)?(a=h,r=!0):r&&"=&".includes(h)&&(a=h)}return E})(e);if(o.length===0)return w6A(e,t);let B="",C=0;for(const Q of o)B+=w6A(e.slice(C,Q),QI(QI({},t),{},{stripPunctuation:!1})),C=Q;return B+w6A(e.slice(C),t)})(I,QI(QI({},A),{},{stripPunctuation:A.stripPunctuation&&I.length!==g.length})))}function EDA(g){return g.replace(Jht,aG)}function PAI(g,A){return(function(I){return I.length>=10240&&(Rht.test(I)||(function(e){const t=Fht.exec(e);if(!t)return!1;let o;try{o=decodeURIComponent(e.slice(t[0].length))}catch{return!1}return Uht.test(o.replace(/[\r\n]/g,""))})(I)||xht.test(I)&&Nht.test(I))})(g)?"[binary data redacted - not supported by PostHog MCP analytics]":(function(I,e,t){const o=4*t.maxStringLength;if(I.length>o){const B=e(I.slice(0,(function(C,Q){let i=Q;for(;i>0&&!Kht.test(C[i-1]);)i--;return i})(I,o)));if(B.length>=2*t.maxStringLength)return B+t.truncationSuffix}return e(I)})(g,I=>(function(e){return u6A(e,{allowNestedUrls:!0,stripPunctuation:!0})})((function(e){let t=e.replace(Hht," ");return t=t.replace(vht,aG),t=t.replace(Tht,aG),t=t.replace(qht,`$1${aG}`),t=t.replace(Oht,A0t),t=t.replace(Zht,aG),t=t.replace(Wht,`$1${aG}`),t=t.replace(Vht,`$1${aG}`),t})(EDA(I))),A)}function $ht(g){let A=0,I=!1;for(let e=g.length-1;e>=0;e--){let t=g.charCodeAt(e)-48;if(0>t||t>9)return!1;I&&(t*=2,t>9&&(t-=9)),A+=t,I=!I}return A%10==0}function A0t(g){const A=[];for(let o=FAI.exec(g);o!==null;o=FAI.exec(g))A.push({digits:o[0],start:o.index,end:o.index+o[0].length});let I="",e=0,t=0;for(;A.length>t;){let o="",B=-1;for(let C=t;A.length>C&&(o+=A[C].digits,19>=o.length);C++)o.length>=13&&$ht(o)&&(B=C);0>B?t++:(I+=g.slice(e,A[t].start)+aG,e=A[B].end,t=B+1)}return I+g.slice(e)}const g0t={}.propertyIsEnumerable;function nDA(g,A){try{return KAI(g,A,{ancestors:new WeakSet,remainingNodes:1e4},0)}catch{return[]}}function G6A(g,A,I,e){if(0>=I.remainingNodes)return{stringValue:a6A};if(I.remainingNodes--,Pm(g))return{boolValue:g};if(typeof g=="bigint")return(function(t,o){const B=t.toString(),C=BigInt("9223372036854775808");return t>=C||-C>t?(o?.debug(`Attribute ${B} is outside the int64 range; encoding it as a string`),{stringValue:B}):{intValue:B}})(g,A);if(typeof g=="number"){if(!Number.isFinite(g))return{stringValue:String(g)};if(Number.isInteger(g)){if(Number.isSafeInteger(g))return{intValue:String(g)};if(typeof BigInt>"u")return{stringValue:String(g)};const t=BigInt(g).toString();return g>=9223372036854776e3||-9223372036854776e3>g?(A?.debug(`Attribute ${t} is outside the int64 range; encoding it as a string`),{stringValue:t}):{intValue:t}}return{doubleValue:g}}if(typeof g=="string")return{stringValue:Cq(g)};if(typeof g=="function")return{stringValue:"[Function]"};if(typeof g=="symbol")return{stringValue:String(g)};if(typeof g=="object"&&g!==null){if(I.ancestors.has(g))return{stringValue:"[Circular]"};if(e>=20)return{stringValue:a6A};if(g instanceof Date){const t=g.getTime(),o=Number.isFinite(t)?g.toISOString():String(g);return{stringValue:typeof o=="string"?Cq(o):String(o)}}I.ancestors.add(g);try{try{const t=g.toJSON;if(typeof t=="function")return G6A(t.call(g),A,I,e+1)}catch{}return cB(g)?{arrayValue:{values:I0t(g,A,I,e+1)}}:{kvlistValue:{values:KAI(g,A,I,e+1)}}}finally{I.ancestors.delete(g)}}return{stringValue:Cq(String(g))}}function I0t(g,A,I,e){const t=[],o=Math.min(g.length,1e3);let B=0;for(;o>B&&I.remainingNodes>0;B++)try{const C=B in g?g[B]:void 0;if(hC(C))continue;t.push(G6A(C,A,I,e))}catch{t.push({stringValue:AgA})}return g.length>B&&t.push({stringValue:a6A}),t}function KAI(g,A,I,e){const t=[];for(const o in g)if(g0t.call(g,o)){if(!o){A?.debug("Dropping an attribute with an empty key");continue}if(t.length>=1e3||0>=I.remainingNodes){A?.debug("Attributes truncated: the value exceeds the OTLP encoder budget");break}try{const B=g[o];if(Yc(B)||Le(B))continue;t.push({key:Cq(o),value:G6A(B,A,I,e)})}catch{t.push({key:Cq(o),value:{stringValue:AgA}})}}return t}function LAI(g,A,I){return QI(QI(QI(QI({},oAI({},g.resourceAttributes)),{},{"service.name":g.serviceName||"unknown_service"},g.environment&&{"deployment.environment":g.environment}),g.serviceVersion&&{"service.version":g.serviceVersion}),{},{"telemetry.sdk.name":A,"telemetry.sdk.version":I})}const e0t=["service.name","deployment.environment","service.version","telemetry.sdk.name","telemetry.sdk.version"];function YAI(g,A){const I=oAI({},g),e={};for(const t of e0t)({}).hasOwnProperty.call(I,t)&&(e[t]=I[t],delete I[t]);return[...nDA(I,A),...nDA(e,A)]}const _AI={darwin:"macOS",win32:"Windows",cygwin:"Windows",linux:"Linux",android:"Android",freebsd:"FreeBSD",openbsd:"OpenBSD",netbsd:"NetBSD",sunos:"SunOS",aix:"AIX",haiku:"Haiku","Mac OS X":"macOS"},bAI={trace:{text:"TRACE",number:1},debug:{text:"DEBUG",number:5},info:{text:"INFO",number:9},warn:{text:"WARN",number:13},error:{text:"ERROR",number:17},fatal:{text:"FATAL",number:21}},t0t=bAI.info;function o0t(g){try{return Cq(String(g))}catch{return AgA}}function B0t(g,A,I,e){const t=g.level||"info",{text:o,number:B}=bAI[t]||t0t,C=(function(s=Date.now()){return String(s)+"000000"})(i0(e)?e:void 0),Q={};A.distinctId&&(Q.posthogDistinctId=A.distinctId),A.sessionId&&(Q.sessionId=A.sessionId),A.windowId&&(Q["window.id"]=A.windowId),hC(A.sessionStartTimestamp)||(Q.sessionStartTimestamp=String(A.sessionStartTimestamp)),hC(A.lastActivityTimestamp)||(Q.lastActivityTimestamp=String(A.lastActivityTimestamp)),A.currentUrl&&(Q["url.full"]=A.currentUrl),A.screenName&&(Q["screen.name"]=A.screenName),A.appState&&(Q["app.state"]=A.appState),A.activeFeatureFlags&&A.activeFeatureFlags.length>0&&(Q.feature_flags=A.activeFeatureFlags);const i=QI({},Q),E=g.attributes;if(E){let s=[];try{s=Object.keys(E)}catch{s=[]}for(const r of s){let a;try{a=E[r]}catch{a=AgA}Object.defineProperty(i,r,{value:a,enumerable:!0,writable:!0,configurable:!0})}}const n={timeUnixNano:C,observedTimeUnixNano:C,severityNumber:B,severityText:o,body:{stringValue:o0t(g.body)},attributes:nDA(i,I)};return g.trace_id&&(n.traceId=g.trace_id),g.span_id&&(n.spanId=g.span_id),Le(g.trace_flags)||(n.flags=g.trace_flags),n}function HAI(g,A,I){return LAI(g,A,I)}function vAI(g,A,I,e){return{resourceLogs:[{resource:{attributes:YAI(A)},scopeLogs:[{scope:{name:I,version:e},logRecords:g}]}]}}var TAI=class{constructor(A){this.ls=A,this.us=0}get pending(){return!!this.cs}arm(A){this.clear(),this.us=Date.now()+A,this.cs=EAI(()=>{this.cs=void 0,this.ls()},A)}armNoEarlierThan(A){this.cs&&Date.now()+A<=this.us||this.arm(A)}clear(){this.cs&&(clearTimeout(this.cs),this.cs=void 0)}};function qAI(){return .75+.5*Math.random()}function ZAI(g,A,I,e){const t=Math.min(Math.max(0,A-1),6),o=g*Math.pow(2,t);return Math.round(Math.min(o,Math.max(e,g))*I)}var C0t=class{constructor(A,I,e,t,o,B=()=>Promise.resolve(),C){var Q;this._instance=A,this.Ar=I,this.$=e,this.hs=t,this.ds=o,this.vs=B,this.fs=C,this.ps=new TAI(()=>this.gs()),this.ys=null,this.bs=0,this._s=0,this.ws=new BAI,this.ks=0,this.Ss=1,this.xs=0,this.$s=0,this.Cs=!1,this.Ts=I.maxBufferSize,this.Is=Math.max((Q=I.maxQueueSize)!==null&&Q!==void 0?Q:I.maxBufferSize,I.maxBufferSize),this.Ms=I.flushIntervalMs,this.Es=I.maxBatchRecordsPerPost,this.Ps=I.rateCapWindowMs,this.Rs=I.maxLogsPerInterval}clearQueue(){this._s++,this._instance.setPersistedProperty(yx.LogsQueue,[])}reset(){this.ps.clear(),this.xs=0,this.$s=0,this.Cs=!1,this.ks=0,this.Ss=1,this.ws.reset(),this.Es=this.Ar.maxBatchRecordsPerPost}onReconnect(){this.ks=0,this.Ss=1,this.ws.isOpen()?this.As()&&this.Fs():this.gs()}captureLog(A,I){var e;if(this._instance.isDisabled||this._instance.optedOut||!A?.body)return;const t=this.Os(A);if(t===null)return;if(!t.body)return void this.$.info("Log was rejected in beforeSend function");if(!this.Ds())return;const o={record:B0t(t,(e=I?.context)!==null&&e!==void 0?e:this.hs(),this.$,I?.occurredAtMs)};this.ds(()=>this.Ls(o))}Os(A){const I=this.Ar.beforeSend;if(!I)return A;const e=cB(I)?I:[I];let t=A;for(const o of e)try{const B=o(t);if(!B)return this.$.info("Log was rejected in beforeSend function"),null;t=B}catch(B){return this.$.error("Error in beforeSend function for log:",B),null}return t}Ds(){if(this.Rs===void 0)return!0;const A=Date.now(),I=A-this.xs;return this.Ps>I&&I>=0||(this.xs=A,this.$s=0,this.Cs=!1),this.Rs>this.$s?(this.$s++,!0):(this.Cs||(this.$.warn(`captureLog dropping logs: exceeded ${this.Rs} logs per ${this.Ps}ms`),this.Cs=!0),!1)}flush(){var A=this;return ia(function*(){if(!A._instance.isDisabled)return A.ys||(A.ys=A.Ns().finally(()=>{A.ys=null})),A.ys})()}Ns(){var A=this;return ia(function*(){var I;A.ps.clear();let e=(I=A._instance.getPersistedProperty(yx.LogsQueue))!==null&&I!==void 0?I:[];if(e.length===0)return;const t=e.length;let o=0;for(;e.length>0&&t>o;){var B,C;const Q=A._s;A.bs=0;const i=Math.min(e.length,A.Es),E=e.slice(0,i),n=vAI(E.map(r=>r.record),A.qs(),(B=A.fs)!==null&&B!==void 0?B:A._instance.getLibraryId(),A._instance.getLibraryVersion()),s=yield A._instance.js(n);if(A._s!==Q)return;if(s.kind==="too-large"&&E.length>1)A.Es=Math.max(1,Math.floor(E.length/2)),A.$.warn(`Logs batch of size ${E.length} was too large for the ingestion endpoint, reducing batch size to ${A.Es}`);else if(A.ws.record(s),A.ps.pending&&A.ps.arm(Math.max(A.Ms,A.ws.remainingMs())),s.kind==="retry-later"||(s.kind==="too-large"?A.$.warn("Dropping a single log record with batch size 1 — the record is larger than the server cap and cannot be split further."):s.kind==="ok"&&A.Ar.maxBatchRecordsPerPost>A.Es&&(A.Es=Math.min(A.Ar.maxBatchRecordsPerPost,A.Es+1)),yield A.Bs(E.length),e=(C=A._instance.getPersistedProperty(yx.LogsQueue))!==null&&C!==void 0?C:[],o+=E.length,s.kind==="fatal"))throw s.error}})()}Bs(A){var I=this;return ia(function*(){var e;const t=Math.max(0,A-I.bs),o=(e=I._instance.getPersistedProperty(yx.LogsQueue))!==null&&e!==void 0?e:[];I._instance.setPersistedProperty(yx.LogsQueue,o.slice(t)),yield I.vs()})()}qs(){return HAI(this.Ar,this._instance.getLibraryId(),this._instance.getLibraryVersion())}Ls(A){var I;if(this._instance.optedOut)return;const e=(I=this._instance.getPersistedProperty(yx.LogsQueue))!==null&&I!==void 0?I:[];this.Is>e.length||(e.shift(),this.bs++,this.$.info("Logs queue is full, dropping oldest record.")),e.push(A),this._instance.setPersistedProperty(yx.LogsQueue,e),this.Ts>e.length||this.ws.isOpen()?this.Fs():this.gs()}Fs(){this.ps.pending||this.ps.arm(Math.max(this.Ms,this.ws.remainingMs()))}zs(){return Math.max(ZAI(this.Ms,this.ks,this.Ss,3e4),this.ws.remainingMs())}As(){const A=this._instance.getPersistedProperty(yx.LogsQueue);return!!A&&A.length>0}shutdown(A){var I=this;return ia(function*(){I.ps.clear();const e=I.flush().catch(()=>{});A!==void 0?yield nAI(e,A):yield e})()}flushWithTimeout(A){var I=this;return ia(function*(){const e=I.flush();yield nAI(e,A,()=>{e.catch(()=>{})})})()}gs(){this.flush().then(()=>{this.ks=0,this.Ss=1},A=>{this.ks++,this.Ss=qAI(),this.$.error("PostHog logs flush failed:",A)}).finally(()=>{!this._instance.isDisabled&&this.As()&&this.ps.armNoEarlierThan(this.zs())})}};const Q0t=/^[0-9a-f]+$/;function OAI(g,A,I){return typeof g=="string"&&g.length===A&&g!==I&&Q0t.test(g)}const i0t=/^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})(-.*)?$/,E0t="00",m6A=[0,5,10,25,50,75,100,250,500,750,1e3,2500,5e3,7500,1e4];function p6A(g){return String(g)+"000000"}function WAI(g,A,I,e){let t="";return e&&(t=Object.keys(e).sort().map(o=>`${JSON.stringify(o)}:${JSON.stringify(e[o])}`).join(",")),`${g}\0${A}\0${I??""}\0${t}`}var n0t=class{constructor(A,I,e){this._instance=A,this.Ar=I,this.$=e,this.Hs=new Map,this.ps=new TAI(()=>this.flush().catch(t=>{this.$.error("Metrics flush failed:",t)})),this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.ws=new BAI,this.ks=0,this.Ss=1,this.Gs=0}count(A,I=1,e){this.Qs({name:A,type:"count",value:I,unit:e?.unit,attributes:e?.attributes})}gauge(A,I,e){this.Qs({name:A,type:"gauge",value:I,unit:e?.unit,attributes:e?.attributes})}histogram(A,I,e){this.Qs({name:A,type:"histogram",value:I,unit:e?.unit,attributes:e?.attributes})}flush(){var A=this;const I=this.ys,e=(function(){var t=ia(function*(){I&&(yield I.catch(()=>{})),yield A.Zs()});return function(){return t.apply(this,arguments)}})()().finally(()=>{this.ys===e&&(this.ys=null)});return this.ys=e,e}drainWindow(){if(this.Hs.size===0)return null;const A=this.Hs;return this.Hs=new Map,this.Us=!1,this.Ws=new Map,this.Vs=new Set,this.Js(A)}reset(){this.Gs++,this.ws.reset(),this.ks=0,this.Ss=1,this.ps.clear(),this.Hs=new Map,this.ys=null,this.Us=!1,this.Ws=new Map,this.Vs=new Set}Qs(A){if(this._instance.isDisabled||this._instance.optedOut)return;const I=this.Os(A);if(I===null)return;if(!I.name||typeof I.name!="string")return void this.$.warn("Dropping metric with empty name");if(typeof I.value!="number"||!Number.isFinite(I.value))return void this.$.warn(`Dropping metric '${I.name}': value must be a finite number`);if(I.type==="count"&&0>I.value)return void this.$.warn(`Dropping count '${I.name}': counters are monotonic, value must be >= 0`);let e,t;try{e=I.attributes?QI({},I.attributes):void 0,t=WAI(I.type,I.name,I.unit,e)}catch(Q){return void this.$.warn(`Dropping metric '${I.name}': attributes could not be serialized`,Q)}let o=this.Hs.get(t);if(!o){if(!this.Ks())return;o={name:I.name,type:I.type,unit:I.unit,attributes:e,windowStartMs:Date.now()},this.Hs.set(t,o)}const B=this.Ws.get(I.name);B===void 0?this.Ws.set(I.name,I.type):B===I.type||this.Vs.has(I.name)||(this.Vs.add(I.name),this.$.warn(`Metric name '${I.name}' is already used as a ${B}; recording it as a ${I.type} too will blend both series in charts. Use a distinct name.`)),this.Xs(o,I.value);const C=this.Ys();C&&(o.exemplar=QI(QI({},C),{},{value:I.value,timeMs:Date.now()})),this.Fs()}Ys(){try{var A,I;const e=(function(t){const o=(function(C){if(typeof C!="string")return;const Q=i0t.exec(C.trim());if(!Q)return;const[,i,E,n,s,r]=Q;return i==="ff"||i==="00"&&r||!(function(a){return OAI(a,32,"00000000000000000000000000000000")})(E)||!(function(a){return OAI(a,16,"0000000000000000")})(n)?void 0:{version:i,traceId:E,spanId:n,flags:s}})(t);return o&&{traceId:o.traceId,spanId:o.spanId,flags:(B=o.flags,1&parseInt(B,16)?"01":E0t)};var B})((A=(I=this._instance).getActiveSpan)===null||A===void 0||(A=A.call(I))===null||A===void 0?void 0:A.traceparent());if(e&&e.flags==="01")return{traceId:e.traceId,spanId:e.spanId}}catch{}}Ks(){return this.Ar.maxSeriesPerFlush>this.Hs.size||(this.Us||(this.Us=!0,this.$.warn(`Metric series cap reached (${this.Ar.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`)),!1)}Xs(A,I){switch(A.type){case"count":var e;A.total=((e=A.total)!==null&&e!==void 0?e:0)+I;break;case"gauge":A.last=I;break;case"histogram":{A.hist||(A.hist={count:0,sum:0,min:I,max:I,bucketCounts:new Array(m6A.length+1).fill(0)});const t=A.hist;t.count+=1,t.sum+=I,t.min=Math.min(t.min,I),t.max=Math.max(t.max,I),t.bucketCounts[(function(o,B){for(let C=0;B.length>C;C++)if(B[C]>=o)return C;return B.length})(I,m6A)]+=1;break}}}Os(A){const I=this.Ar.beforeSend;if(!I)return A;const e=cB(I)?I:[I];let t=A;for(const o of e)try{const B=o(t);if(!B)return this.$.info("Metric was rejected in beforeSend function"),null;t=B}catch(B){return this.$.error("Error in beforeSend function for metric:",B),null}return t}Fs(){this.ps.pending||this.ps.arm(this.zs())}zs(){return Math.max(ZAI(this.Ar.flushIntervalMs,this.ks,this.Ss,3e4),this.ws.remainingMs())}Zs(){var A=this;return ia(function*(){if(A.ps.clear(),A.Hs.size===0)return;const I=A.Hs;A.Hs=new Map,A.Us=!1,A.Ws=new Map,A.Vs=new Set;const e=A.Gs,t=yield A._instance.po(A.Js(I));if(e===A.Gs)switch(A.ws.record(t),t.kind==="retry-later"?(A.ks++,A.Ss=qAI()):(A.ks=0,A.Ss=1),A.ps.pending&&A.ps.arm(A.zs()),t.kind){case"ok":return;case"retry-later":return A.mo(I),void A.ps.armNoEarlierThan(A.zs());case"too-large":return void A.$.warn("Metrics batch exceeded the server size limit and was dropped");case"fatal":return void A.$.error("Failed to send metrics batch:",t.error)}})()}Js(A){return I=this.yo(A),e=(function(B,C,Q){return LAI(B,C,Q)})(this.Ar,this._instance.getLibraryId(),this._instance.getLibraryVersion()),t=this._instance.getLibraryId(),o=this._instance.getLibraryVersion(),{resourceMetrics:[{resource:{attributes:YAI(e)},scopeMetrics:[{scope:{name:t,version:o},metrics:I}]}]};var I,e,t,o}yo(A){const I=p6A(Date.now()),e=new Map;for(const C of A.values()){var t;const Q=WAI(C.type,C.name,C.unit,void 0);let i=e.get(Q);i||(i=QI({name:C.name},C.unit&&{unit:C.unit}),C.type==="count"?i.sum={aggregationTemporality:1,isMonotonic:!0,dataPoints:[]}:C.type==="gauge"?i.gauge={dataPoints:[]}:i.histogram={aggregationTemporality:1,dataPoints:[]},e.set(Q,i));const E=nDA((t=C.attributes)!==null&&t!==void 0?t:{},this.$),n=p6A(C.windowStartMs),s=s0t(C.exemplar);if(C.type==="count"){var o;const r=QI({attributes:E,startTimeUnixNano:n,timeUnixNano:I,asDouble:(o=C.total)!==null&&o!==void 0?o:0},s);i.sum.dataPoints.push(r)}else if(C.type==="gauge"){var B;const r=QI({attributes:E,timeUnixNano:I,asDouble:(B=C.last)!==null&&B!==void 0?B:0},s);i.gauge.dataPoints.push(r)}else if(C.hist){const r=QI({attributes:E,startTimeUnixNano:n,timeUnixNano:I,count:C.hist.count,sum:C.hist.sum,min:C.hist.min,max:C.hist.max,bucketCounts:C.hist.bucketCounts,explicitBounds:m6A},s);i.histogram.dataPoints.push(r)}}return Array.from(e.values())}mo(A){for(const[o,B]of A){var I;const C=this.Hs.get(o);if(C)switch(C.windowStartMs=Math.min(C.windowStartMs,B.windowStartMs),C.exemplar=(I=C.exemplar)!==null&&I!==void 0?I:B.exemplar,C.type){case"count":var e,t;C.total=((e=C.total)!==null&&e!==void 0?e:0)+((t=B.total)!==null&&t!==void 0?t:0);break;case"gauge":break;case"histogram":if(B.hist)if(C.hist){C.hist.count+=B.hist.count,C.hist.sum+=B.hist.sum,C.hist.min=Math.min(C.hist.min,B.hist.min),C.hist.max=Math.max(C.hist.max,B.hist.max);for(let Q=0;C.hist.bucketCounts.length>Q;Q++)C.hist.bucketCounts[Q]+=B.hist.bucketCounts[Q]}else C.hist=B.hist}else this.Ks()&&this.Hs.set(o,B)}}};function s0t(g){return g?{exemplars:[{filteredAttributes:[],timeUnixNano:p6A(g.timeMs),asDouble:g.value,traceId:g.traceId,spanId:g.spanId}]}:{}}const VAI=(g,{debugEnabled:A}={})=>{const I={N(e,...t){let o;try{o=typeof window>"u"?void 0:window}catch{return}o&&(nJ.DEBUG||o.POSTHOG_DEBUG||A)&&!Le(o.console)&&o.console&&("__rrweb_original__"in o.console[e]?o.console[e].__rrweb_original__:o.console[e])(g,...t)},debug(...e){I.N("debug",...e)},info(...e){I.N("log",...e)},warn(...e){I.N("warn",...e)},error(...e){I.N("error",...e)},critical(...e){console.error(g,...e)},uninitializedWarning(e){I.error(`You must initialize PostHog before calling ${e}`)},createLogger:(e,t)=>VAI(`${g} ${e}`,t)};return I},Dt=VAI("[PostHog.js]"),Ic=Dt.createLogger,a0t=Ic("[ExternalScriptsLoader]"),sDA=g=>{const A=co?.querySelectorAll("script");if(A){for(let I=0;A.length>I;I++)if(A[I].src===g||A[I].getAttribute("src")===g)return A[I]}},C5=(g,A,I)=>{if(g.config.disable_external_dependency_loading)return a0t.warn(`${A} was requested but loading of external scripts is disabled.`),I("Loading of external scripts is disabled");const e=sDA(A);if(e){if(e.__posthog_loading_callback_fired)return I();const o=e.__posthog_loading_error;return o?I(o):(e.addEventListener("load",B=>{e.__posthog_loading_callback_fired=!0,I(void 0,B)}),void e.addEventListener("error",B=>{e.__posthog_loading_error=B,I(B)}))}const t=()=>{if(!co)return I("document not found");if(sDA(A))return C5(g,A,I);let o=co.createElement("script");if(o.type="text/javascript",o.crossOrigin="anonymous",o.src=A,o.onload=C=>{o.__posthog_loading_callback_fired=!0,I(void 0,C)},o.onerror=C=>{o.__posthog_loading_error=C,I(C)},g.config.prepare_external_dependency_script&&(o=g.config.prepare_external_dependency_script(o)),!o)return I("prepare_external_dependency_script returned null");if(g.config.external_scripts_inject_target==="head")co.head.appendChild(o);else{const C=co.querySelectorAll("body > script");var B;C.length>0?(B=C[0].parentNode)===null||B===void 0||B.insertBefore(o,C[0]):co.body.appendChild(o)}};co?.body?t():co?.addEventListener("DOMContentLoaded",t)},k6A={},jAI=(g,A)=>{let I=`/static/${A}.js?v=${g.version}`;return A==="toolbar"&&(I=`${I}&t=${Math.floor(Date.now()/3e5)*3e5}`),g.requestRouter.endpointFor("assets",I)};JB.__PosthogExtensions__=JB.__PosthogExtensions__||{},JB.__PosthogExtensions__.loadExternalDependency=(g,A,I)=>{if(A==="remote-config"){const t=g.requestRouter.endpointFor("assets",`/array/${g.config.token}/config.js`);return void C5(g,t,I)}const e=g.config.strict_script_versioning;if(e){const t=g.requestRouter.endpointFor("assets",`/static/${g.version}/${A}.js`),o=k6A[t];if(e==="fallback"&&o){if(sDA(o))return void C5(g,o,I);delete k6A[t]}return void C5(g,t,e==="fallback"?(B,C)=>{if(B)if(typeof B=="string")I(B);else{var Q;const i=jAI(g,A);k6A[t]=i;const E=sDA(t);E==null||(Q=E.parentNode)===null||Q===void 0||Q.removeChild(E),C5(g,i,I)}else I(void 0,C)}:I)}C5(g,jAI(g,A),I)},JB.__PosthogExtensions__.loadSiteApp=(g,A,I)=>{const e=g.requestRouter.endpointFor("api",A);C5(g,e,I)},nJ.DEBUG=!1,nJ.LIB_VERSION="1.438.24",nJ.LIB_NAME="web";var Dk=nJ;const M6A="$early_access_features",aJ="$active_feature_flags",Q5="$feature_flag_details",tgA="$feature_flag_errors",n3="$feature_flag_evaluated_at",i5="$feature_flag_request_id",ogA="$minimal_flag_called_events",xR="$enabled_feature_flags",s3="$stored_group_properties",a3="$stored_person_properties",rJ="$flag_call_reported",BgA="$flag_call_reported_session_id",r3="$feature_flag_payloads",ux="$override_feature_flags",E5="$override_feature_flag_payloads",iq="visibilitychange",zAI="$autocapture_disabled_server_side",CgA="$surveys",aDA="$surveys_loaded_at",S6A="PostHog loadExternalDependency extension not found.",f6A="$surveys_activated",rDA="$surveys_activated_session",cDA="$surveys_activated_timestamps",r0t="$people_distinct_id",FR="distinct_id",R6A="$device_id",N6A="$device_model",hDA="__alias",c0t="__cmpns",XAI="$fbc",Eq="$fbc_persistence",$AI="$fbp",QgA="$fbp_persistence",x6A="__timers",F6A="$heatmaps_enabled_server_side",U6A="$exception_capture_enabled_server_side",AgI="$error_tracking_suppression_rules",J6A="$error_tracking_capture_extension_exceptions",P6A="$web_vitals_enabled_server_side",K6A="$dead_clicks_enabled_server_side",L6A="$product_tours_enabled_server_side",ggI="$logs_capture_enabled_server_side",IgI="$web_vitals_allowed_metrics",igA="$session_recording_remote_config",h0t="$session_recording_enabled_server_side",l0t="$replay_sample_rate",D0t="$replay_override_sampling",d0t="$replay_override_linked_flag",y0t="$replay_override_url_trigger",w0t="$replay_override_event_trigger",nq="$sesid",egI="$session_is_sampled",u0t="$session_past_minimum_duration",G0t="$session_recording_url_trigger_activated_session",m0t="$session_recording_event_trigger_activated_session",p0t="$debug_first_full_snapshot_timestamp",k0t="$sess_rec_flush_size",tgI="$groups",Y6A="ph_product_tours",M0t="$product_tours_activated",S0t="$product_tours_activated_session",f0t="$conversations_widget_session_id",R0t="$conversations_ticket_id",N0t="$conversations_widget_state",x0t="$conversations_user_traits",Km="$user_state",_6A="$client_session_props",F0t="$capture_rate_limit",ogI="$initial_campaign_params",BgI="$initial_referrer_info",sq="$initial_person_info",b6A="$epp",H6A="$posthog_cookieless",CgI="$cookieless_mode",QgI="$sdk_debug_extensions_init_method",igI="$sdk_debug_extensions_init_time_ms",v6A="$sdk_debug_recording_script_not_loaded",T6A="$sdk_debug_replay_stale_config",EgI="$sdk_debug_replay_event_trigger_status",ngI="$sdk_debug_replay_linked_flag_trigger_status",sgI="$sdk_debug_replay_matched_recording_trigger_groups",agI="$sdk_debug_replay_pending_trigger_conditions",rgI="$sdk_debug_replay_remote_trigger_matching_config",cgI="$sdk_debug_replay_trigger_groups_count",hgI="$sdk_debug_replay_url_trigger_status",U0t="$session_recording_start_reason",cJ="anonymous",lDA="identified",lgI="identified_only",DDA="beforeunload",q6A="$pageview",DgI="$pageleave",dgI="$identify",ygI="$groupidentify";function aq(g,A){cB(g)&&g.forEach(A)}function Gn(g,A){if(!hC(g))if(cB(g))g.forEach(A);else if((I=>I instanceof FormData)(g))g.forEach((I,e)=>A(I,e));else for(const I in g)I6A.call(g,I)&&A(g[I],I)}const ar=function(g,...A){for(const I of A)for(const e in I)I[e]!==void 0&&(g[e]=I[e]);return g};function dDA(g){const A=Object.keys(g);let I=A.length;const e=new Array(I);for(;I--;)e[I]=[A[I],g[A[I]]];return e}const J0t=function(g){return function(...A){try{return g.apply(this,A)}catch(I){Dt.critical("Implementation error. Please turn on debug mode and open a ticket on https://app.posthog.com/home#panel=support%3Asupport%3A."),Dt.critical(I)}}},Z6A=function(g){const A={};return Gn(g,function(I,e){(KC(I)&&I.length>0||i0(I))&&(A[e]=I)}),A};function wgI(g){const A=QI({},g);for(const I of["name","message","stack","cause","errors"])try{I in g&&(A[I]=g[I])}catch{}return A}const P0t=["herokuapp.com","vercel.app","netlify.app"];function K0t(g){const A=g?.hostname;if(!KC(A))return!1;const I=A.split(".").slice(-2).join(".");for(const e of P0t)if(I===e)return!1;return!0}function NE(g,A,I,e){const{capture:t=!1,passive:o=!0}=e??{};g?.addEventListener(A,I,{capture:t,passive:o})}function O6A(g){return g.name==="ph_toolbar_internal"}const EgA=g=>{if(co){try{const A=g+"=",I=co.cookie.split(";").filter(e=>e.length);for(let e=0;I.length>e;e++){let t=I[e];for(;t.charAt(0)==" ";)t=t.substring(1,t.length);if(t.indexOf(A)===0)return decodeURIComponent(t.substring(A.length,t.length))}}catch{}return null}};var L0t=class dlg{constructor(A){if(this.bytes=A,A.length!==16)throw new TypeError("not 128-bit length")}static fromFieldsV7(A,I,e,t){if(!Number.isInteger(A)||!Number.isInteger(I)||!Number.isInteger(e)||!Number.isInteger(t)||0>A||0>I||0>e||0>t||A>0xffffffffffff||I>4095||e>1073741823||t>4294967295)throw new RangeError("invalid field value");const o=new Uint8Array(16);return o[0]=A/Math.pow(2,40),o[1]=A/Math.pow(2,32),o[2]=A/Math.pow(2,24),o[3]=A/Math.pow(2,16),o[4]=A/256,o[5]=A,o[6]=112|I>>>8,o[7]=I,o[8]=128|e>>>24,o[9]=e>>>16,o[10]=e>>>8,o[11]=e,o[12]=t>>>24,o[13]=t>>>16,o[14]=t>>>8,o[15]=t,new dlg(o)}toString(){let A="";for(let I=0;this.bytes.length>I;I++)A=A+(this.bytes[I]>>>4).toString(16)+(15&this.bytes[I]).toString(16),I!==3&&I!==5&&I!==7&&I!==9||(A+="-");if(A.length!==36)throw new Error("Invalid UUIDv7 was generated");return A}clone(){return new dlg(this.bytes.slice(0))}equals(A){return this.compareTo(A)===0}compareTo(A){for(let I=0;16>I;I++){const e=this.bytes[I]-A.bytes[I];if(e!==0)return Math.sign(e)}return 0}},Y0t=class{generate(){const A=this.generateOrAbort();if(!Le(A))return A;{this.Ct=0;const I=this.generateOrAbort();if(Le(I))throw new Error("Could not generate UUID after timestamp reset");return I}}generateOrAbort(){const A=(()=>{const I=Date.now();return i0(I)&&isFinite(I)?Math.min(Math.max(Math.floor(I),0),0xffffffffffff):0})();if(A>this.Ct)this.Ct=A,this.It();else{if(this.Ct>=A+1e4)return;this.Mt++,this.Mt>4398046511103&&(this.Ct++,this.It())}return L0t.fromFieldsV7(this.Ct,Math.trunc(this.Mt/Math.pow(2,30)),this.Mt&Math.pow(2,30)-1,this.Tt.nextUint32())}It(){this.Mt=1024*this.Tt.nextUint32()+(1023&this.Tt.nextUint32())}constructor(){this.Ct=0,this.Mt=0,this.Tt=new b0t}};const _0t=g=>{if("u">typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error("no cryptographically strong RNG available");for(let A=0;g.length>A;A++)g[A]=65536*Math.trunc(65536*Math.random())+Math.trunc(65536*Math.random());return g};let ugI;var b0t=class{nextUint32(){var A;return this.Rt.length>this.Et||(((A=ugI)!==null&&A!==void 0?A:ugI="u">typeof window&&!Le(window.crypto)&&crypto.getRandomValues?I=>crypto.getRandomValues(I):_0t)(this.Rt),this.Et=0),this.Rt[this.Et++]}constructor(){this.Rt=new Uint32Array(8),this.Et=1/0}};let GgI;const UR=()=>H0t().toString(),H0t=()=>(GgI||(GgI=new Y0t)).generate();let ngA="";const v0t=/[a-z0-9][a-z0-9-]+\.[a-z]{2,}$/i;let rq=null;const rr={$t(){if(!Yc(rq))return rq;if(rq=!1,co)try{const g=`__ph_cookie_support_${UR()}`;rr.At(g,"xyz"),rq=EgA(g)==='"xyz"',rr.Pt(g)}catch{rq=!1}return rq},Ft(g){Dt.error("cookieStore error: "+g)},Ot:EgA,Lt(g){let A;try{A=JSON.parse(rr.Ot(g))||{}}catch{}return A},At(g,A,I,e,t){if(!co)return!1;try{let o="",B="";const C=(function(i,E){if(E){let n=(function(s,r=co){if(ngA)return ngA;if(!r||["localhost","127.0.0.1"].includes(s))return"";const a=s.split(".");let c=Math.min(a.length,8);const h="dmn_chk_"+UR();for(;!ngA&&c--;){const l=a.slice(c).join("."),D=h+"=1;domain=."+l+";path=/";r.cookie=D+";max-age=3",r.cookie.includes(h)&&(r.cookie=D+";max-age=0",ngA=l)}return ngA})(i);if(!n){const s=(r=>{const a=r.match(v0t);return a?a[0]:""})(i);s!==n&&Dt.info("Warning: cookie subdomain discovery mismatch",s,n),n=s}return n?"; domain=."+n:""}return""})(co.location.hostname,e);if(I){const i=new Date;i.setTime(i.getTime()+864e5*I),o="; expires="+i.toUTCString()}t&&(B="; secure");const Q=g+"="+encodeURIComponent(JSON.stringify(A))+o+"; SameSite=Lax; path=/"+C+B;return Q.length>3686.4&&Dt.warn("cookieStore warning: large cookie, len="+Q.length),co.cookie=Q,!0}catch{return!1}},Pt(g,A){if(co?.cookie&&(!A||!Yc(EgA(g))))try{rr.At(g,"",-1,A)}catch{return}}};let W6A=null;const eE={$t(){if(!Yc(W6A))return W6A;let g=!0;if(Le(Se))g=!1;else try{const A="__mplssupport__";eE.At(A,"xyz"),eE.Ot(A)!=='"xyz"'&&(g=!1),eE.Pt(A)}catch{g=!1}return g||Dt.error("localStorage unsupported; falling back to cookie store"),W6A=g,g},Ft(g){Dt.error("localStorage error: "+g)},Ot(g){try{return Se?.localStorage.getItem(g)}catch(A){eE.Ft(A)}return null},Lt(g){try{return JSON.parse(eE.Ot(g))||{}}catch{}return null},At(g,A){try{return Se?.localStorage.setItem(g,JSON.stringify(A)),!0}catch(I){eE.Ft(I)}return!1},Pt(g){try{Se?.localStorage.removeItem(g)}catch(A){eE.Ft(A)}}},V6A=[a3,aJ,xR,Q5,r3,i5,n3,tgA,rJ],n5=[R6A,FR,nq,egI,b6A,sq,Eq,Km],sgA=g=>g+"_cpm",T0t=["__proto__","constructor","prototype"],j6A=g=>{if(!yC(g))return{};const A={};return Object.keys(g).forEach(I=>{T0t.indexOf(I)===-1&&(A[I]=g[I])}),A},z6A=(g,A=[])=>{const I={};return[...n5,...A].forEach(e=>{const t=g[e];Le(t)||Yc(t)||t===""||(I[e]=t)}),I},mgI=g=>{let A=5381,I=2166136261;for(let e=0;g.length>e;e++){const t=g.charCodeAt(e);A=33*A^t,I=Math.imul(I^t,16777619)}return g.length.toString(36)+"."+(A>>>0).toString(36)+"."+(I>>>0).toString(36)},pgI=(g,A)=>({p:A,f:mgI(JSON.stringify(g))}),kgI=(g,A)=>{if(!A)return{properties:[],isValid:!1};try{const I=rr.Lt(sgA(g)),e=I?.f===mgI(A)&&cB(I.p);return{properties:e?I.p:[],isValid:e}}catch{return{properties:[],isValid:!1}}},X6A=(g,A)=>A+"|"+(rr.Ot(sgA(g))||""),cq={},$6A={$t:()=>!0,Ft(g){Dt.error("memoryStorage error: "+g)},Ot:g=>g in cq?cq[g]:null,Lt:g=>g in cq?cq[g]:null,At:(g,A)=>(cq[g]=A,!0),Pt(g){delete cq[g]}};let s5=null;const Ea={$t(){if(!Yc(s5))return s5;if(s5=!0,Le(Se))s5=!1;else try{const g="__support__";Ea.At(g,"xyz"),Ea.Ot(g)!=='"xyz"'&&(s5=!1),Ea.Pt(g)}catch{s5=!1}return s5},Ft(g){Dt.error("sessionStorage error: ",g)},Ot(g){try{return Se?.sessionStorage.getItem(g)}catch(A){Ea.Ft(A)}return null},Lt(g){try{return JSON.parse(Ea.Ot(g))||null}catch{}return null},At(g,A){try{return Se?.sessionStorage.setItem(g,JSON.stringify(A)),!0}catch(I){Ea.Ft(I)}return!1},Pt(g){try{Se?.sessionStorage.removeItem(g)}catch(A){Ea.Ft(A)}}};var q0t=class{constructor(A){this._instance=A}get Ar(){return this._instance.config}get consent(){return this.Sl()?0:this.xl}isOptedOut(){return this.Ar.cookieless_mode==="always"||this.isRejected()||this.consent===-1&&this.Ar.cookieless_mode==="on_reject"}isOptedIn(){return!this.isOptedOut()}isExplicitlyOptedOut(){return this.consent===0}isRejected(){return this.consent===0||this.consent===-1&&this.Ar.opt_out_capturing_by_default}optInOut(A){this.$l.At(this.Cl,A?1:0,this.Ar.cookie_expiration,this.Ar.cross_subdomain_cookie,this.Ar.secure_cookie)}reset(){this.$l.Pt(this.Cl,this.Ar.cross_subdomain_cookie)}get Cl(){const{token:A,opt_out_capturing_cookie_prefix:I,consent_persistence_name:e}=this._instance.config;return e||(I?I+A:"__ph_opt_in_out_"+A)}get xl(){const A=this.$l.Ot(this.Cl);return t6A(A)?1:yB(_ct,A)?0:-1}get $l(){const A=this.Ar.opt_out_capturing_persistence_type,I=A==="localStorage"?eE:rr,e=I.$t()?I:$6A;if(!this.Tl||this.Tl!==e){this.Tl=e;const t=A==="localStorage"?rr:eE;t.Ot(this.Cl)&&(this.Tl.Ot(this.Cl)||this.optInOut(t6A(t.Ot(this.Cl))),t.Pt(this.Cl,this.Ar.cross_subdomain_cookie))}return this.Tl}Sl(){return!!this.Ar.respect_dnt&&[Tw?.doNotTrack,Tw?.msDoNotTrack,JB.doNotTrack,Tw?.globalPrivacyControl].some(A=>t6A(A))}};function MgI(g,A){var I;const e=g==null||(I=g.config)===null||I===void 0?void 0:I.get_current_url;if(!Q0(e))return A;try{const t=e(A);return KC(t)&&t?t:A}catch(t){return Dt.error("Error in get_current_url, falling back to window.location.href",t),A}}function SgI(g){var A;return g instanceof Element&&(g.id==="__POSTHOG_TOOLBAR__"||!!(!((A=g.closest)===null||A===void 0)&&A.call(g,".toolbar-global-fade-container")))}function JR(g){return!!g&&g.nodeType===1}function qw(g,A){return!!g&&!!g.tagName&&g.tagName.toLowerCase()===A.toLowerCase()}function fgI(g){return!!g&&g.nodeType===3}function AvA(g){return!!g&&g.nodeType===11&&JR(g.host)}function gvA(g){return g?tq(g).split(/\s+/):[]}function RgI(g,A){const I=(function(e){var t;const o=typeof window>"u"?void 0:window,B=o==null||(t=o.location)===null||t===void 0?void 0:t.href;return Le(B)?void 0:MgI(e,B)})(A);return!!(I&&g&&g.some(e=>I.match(e)))}function hq(g){let A="";switch(typeof g.className){case"string":A=g.className;break;case"object":A=(g.className&&"baseVal"in g.className?g.className.baseVal:null)||g.getAttribute("class")||"";break;default:A=""}return gvA(A)}function NgI(g){return hC(g)?null:tq(g).split(/(\s+)/).filter(A=>Dq(A)).join("").replace(/[\r\n]/g," ").replace(/[ ]+/g," ").substring(0,255)}function agA(g){let A="";return a5(g)&&!lq(g)&&g.childNodes&&g.childNodes.length&&Gn(g.childNodes,function(I){var e;fgI(I)&&I.textContent&&(A+=(e=NgI(I.textContent))!==null&&e!==void 0?e:"")}),tq(A)}function rgA(g){var A;return Le(g.target)?g.srcElement||null:!((A=g.target)===null||A===void 0)&&A.shadowRoot?g.composedPath()[0]||null:g.target||null}const IvA=["a","button","form","input","select","textarea","label"];function evA(g,A){const I=g.matches||g.matchesSelector||g.msMatchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.oMatchesSelector;try{return!!I&&I.call(g,A)}catch{return!1}}function tvA(g,A){if(Le(A))return!0;for(const I of g)if(A.some(e=>evA(I,e)))return!0;return!1}function xgI(g){const A=g.parentNode;return!(!A||!JR(A))&&A}const ovA=[".ph-no-autocapture","[data-ph-no-autocapture]"],FgI=["next","previous","prev",">","<","→","←","›","‹","»","«","▶","◀","❯","❮"],BvA=[...FgI,"+","-","−","–"],UgI=BvA.length+10,Z0t=["button","a","input","select","textarea","label"],O0t=["button","link","tab","menuitem","option"],JgI=(g,A)=>/[a-z0-9]/i.test(A)?yB(BvA,A)?new RegExp(`\\b${A}\\b`).test(g):g.includes(A):g===A,W0t=g=>yB(Z0t,g.tagName.toLowerCase())||yB(O0t,(g.getAttribute("role")||"").toLowerCase());function CvA(g){let A="",I="";const e=B=>{JR(B)&&a5(B)&&!lq(B)&&(A+=` ${agA(B)}`,I=I||B.getAttribute("aria-label")||"",Gn(B.childNodes,e))};e(g),A=tq(A.replace(/\s+/g," "));const t=(Dq(A)?A:"").toLowerCase(),o=g.getAttribute("aria-label")||(t?"":I);return{safeText:t,ariaLabel:tq(o).toLowerCase()}}const PgI=[".ph-no-rageclick",".ph-no-capture"],V0t=["","text","search","email","password","url","tel","number"];function KgI(g,A){if(!(!(typeof window>"u")&&window)||QvA(g))return!1;let I,e,t;var o,B;if(Pm(A)?(I=!!A&&PgI,e=void 0,t=!1):(I=(o=A?.css_selector_ignorelist)!==null&&o!==void 0?o:PgI,e=A?.content_ignorelist,t=(B=A?.ignore_text_selection)!==null&&B!==void 0&&B),I===!1||t&&(function(Q){return!(!Q||!JR(Q))&&(!!qw(Q,"textarea")||(qw(Q,"input")?yB(V0t,(Q.getAttribute("type")||"").toLowerCase()):(function(i){var E;if(i.isContentEditable)return!0;const n=(E=i.getAttribute)===null||E===void 0?void 0:E.call(i,"contenteditable");return n==="true"||n===""})(Q)))})(g))return!1;const{targetElementList:C}=LgI(g,!1);return!(e&&(function(Q,{safeText:i,ariaLabel:E}){let n;if(Q===!0)n=FgI;else{if(!cB(Q))return!1;if(Q.length>UgI)return Dt.error(`[PostHog] content_ignorelist array cannot exceed ${UgI} items. Use css_selector_ignorelist for more complex matching.`),!1;n=Q.map(s=>s.toLowerCase())}return n.some(s=>JgI(i,s)||JgI(E,s))})(e,(function(Q,i){for(const n of i)if(W0t(n))return CvA(n);for(const n of i){try{var E;if(((E=window)===null||E===void 0?void 0:E.getComputedStyle(n).getPropertyValue("cursor"))!=="pointer")break}catch{break}const s=CvA(n);if(s.safeText||s.ariaLabel)return s}return CvA(Q)})(g,C))||tvA(C,I))}const QvA=g=>!g||qw(g,"html")||!JR(g),LgI=(g,A)=>{const I=typeof window>"u"?void 0:window;if(!I||QvA(g))return{parentIsUsefulElement:!1,targetElementList:[]};let e=!1;const t=[g];let o=g;for(;o.parentNode&&!qw(o,"body");){if(AvA(o.parentNode)){t.push(o.parentNode.host),o=o.parentNode.host;continue}const B=xgI(o);if(!B)break;if(A||IvA.indexOf(B.tagName.toLowerCase())>-1)e=!0;else try{const C=I.getComputedStyle(B);C&&C.getPropertyValue("cursor")==="pointer"&&(e=!0)}catch{}t.push(B),o=B}return{parentIsUsefulElement:e,targetElementList:t}};function a5(g){const A=new Set;let I=0;for(let o=g;o.parentNode&&!qw(o,"body");o=o.parentNode){if(I++>=1e3||A.has(o))return!1;A.add(o);const B=hq(o);if(yB(B,"ph-sensitive")||yB(B,"ph-no-capture"))return!1}if(yB(hq(g),"ph-include"))return!0;const e=g.type||"";if(KC(e))switch(e.toLowerCase()){case"hidden":case"password":return!1}const t=g.name||g.id||"";return!KC(t)||!/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(t.replace(/[^a-zA-Z0-9]/g,""))}function lq(g){return!!(qw(g,"input")&&!["button","checkbox","submit","reset"].includes(g.type)||qw(g,"select")||qw(g,"textarea")||g.getAttribute("contenteditable")==="true")}const YgI=new RegExp("^(?:(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11}))$"),_gI=/(^|[^0-9A-Za-z_])([0-9][0-9 -]*[0-9])(?=$|[^0-9A-Za-z_])/g,j0t=[16,15,14,13],z0t=new RegExp("^(\\d{3}-?\\d{2}-?\\d{4})$"),bgI=new RegExp("(^|[^0-9])((?!000|666)[0-9]{3}-?(?!00)[0-9]{2}-?(?!0000)[0-9]{4})(?=$|([^0-9]))","g"),HgI=/[0-9A-Za-z_]/;function X0t(g){let A=0,I=!1;for(let e=g.length-1;e>=0;e--){let t=g.charCodeAt(e)-48;I&&(t*=2,t>9&&(t-=9)),A+=t,I=!I}return A%10==0}function Dq(g,A=!0){return!(hC(g)||KC(g)&&(g=tq(g),(A?YgI.test((g||"").replace(/[- ]/g,"")):(function(I){let e;for(_gI.lastIndex=0;e=_gI.exec(I);){const t=e[2];if(!t)continue;const o=t.replace(/[- ]/g,"");for(let B=0;o.length>B;B++)for(const C of j0t){const Q=B+C;if(o.length>=Q){const i=o.slice(B,Q);if(YgI.test(i)&&X0t(i))return!0}}}return!1})(g))||(A?z0t.test(g):(function(I){let e;for(bgI.lastIndex=0;e=bgI.exec(I);){const t=e[1],o=e[3];if(!(t&&o&&HgI.test(t)&&HgI.test(o)))return!0}return!1})(g))))}function vgI(g){let A=agA(g);return A=`${A} ${TgI(g)}`.trim(),Dq(A)?A:""}function TgI(g){let A="";return g&&g.childNodes&&g.childNodes.length&&Gn(g.childNodes,function(I){var e;if(I&&((e=I.tagName)===null||e===void 0?void 0:e.toLowerCase())==="span")try{const t=agA(I);A=`${A} ${t}`.trim(),I.childNodes&&I.childNodes.length&&(A=`${A} ${TgI(I)}`.trim())}catch(t){Dt.error("[AutoCapture]",t)}}),A}function qgI(g){return g.replace(/"|\\"/g,'\\"')}function $0t(g){const A=g.attr__class;if(A)return cB(A)?A:gvA(A)}const yDA=Ic("[Dead Clicks]"),Alt=()=>!0,glt=g=>{var A;const I=!!(!((A=g.instance.persistence)===null||A===void 0)&&A.get_property(K6A)),e=g.instance.config.capture_dead_clicks;return Pm(e)?e:!!yC(e)||I};var ZgI=class{get lazyLoadedDeadClicksAutocapture(){return this.Il}constructor(A,I,e){this.instance=A,this.isEnabled=I,this.onCapture=e,this.startIfEnabledOrStop()}onRemoteConfig(A){if(!A.ok)return;const I=A.config;"captureDeadClicks"in I&&(this.instance.persistence&&this.instance.persistence.register({[K6A]:I.captureDeadClicks}),this.startIfEnabledOrStop())}startIfEnabledOrStop(){this.isEnabled(this)?this.Ml(()=>{this.El()}):this.stop()}Ml(A){var I,e,t;!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.initDeadClicksAutocapture?A():(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this.instance,"dead-clicks-autocapture",o=>{o?yDA.error("failed to load script",o):A()})}El(){var A;if(co){if(!this.Il&&(!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.initDeadClicksAutocapture)){const I=yC(this.instance.config.capture_dead_clicks)?QI({},this.instance.config.capture_dead_clicks):{};I.__onCapture=this.onCapture,this.onCapture&&(I.capture_dead_swipes=!1),this.Il=JB.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,I),this.Il.start(co),yDA.info("starting...")}}else yDA.error("`document` not found. Cannot start.")}stop(){this.Il&&(this.Il.stop(),this.Il=void 0,yDA.info("stopping..."))}};const cgA=Ic("[SegmentIntegration]");function OgI(g,A,I=!0){const e=g.config.segment;if(!e)return A();const{analytics:t,filterProperties:o}=(C=>Q0(C.register))(B=e)?{analytics:B}:B;var B;(function(C,Q,i,E){const n=r=>{const a=()=>r.anonymousId()||UR();C.config.get_device_id=a,E&&r.id()&&(C.register({distinct_id:r.id(),$device_id:a()}),C.persistence.set_property(Km,lDA)),i(E?void 0:r.anonymousId()||void 0)},s=Q.user();"then"in s&&Q0(s.then)?s.then(n):n(s)})(g,t,C=>{t.register(((Q,i,{filterProperties:E}={})=>{typeof Promise<"u"&&Promise.resolve||cgA.warn("This browser does not have Promise support, and can not use the segment integration");const n=(s,r)=>{if(!r)return s;const a=!!i&&s.event.anonymousId===i&&!s.event.userId;a||s.event.userId||s.event.anonymousId===Q.get_distinct_id()||(cgA.info("No userId set, resetting PostHog"),Q.reset()),a||(i=void 0),s.event.userId&&s.event.userId!==Q.get_distinct_id()&&(cgA.info("UserId set, identifying with PostHog"),Q.identify(s.event.userId));let c=Q.calculateEventProperties(r,s.event.properties);if(!hC(E)){const h=s.event.properties||{},l={};for(const d of Object.keys(c))I6A.call(h,d)||(l[d]=c[d]);const D=((d,y)=>{const w=cB(d)?d:[d];let u=QI({},y);for(const G of w)try{if(u=G(u),hC(u))return null}catch(m){return cgA.error("Error in Segment filterProperties:",m),null}return u})(E,l);if(hC(D))return s;c=D}return s.event.properties=Object.assign({},c,s.event.properties),s};return{name:"PostHog JS",type:"enrichment",version:"1.0.0",isLoaded(){return!0},load(){return Promise.resolve()},track(s){return n(s,s.event.event)},page(s){return n(s,q6A)},identify(s){return n(s,dgI)},screen(s){return n(s,"$screen")}}})(g,C,{filterProperties:o})).then(()=>{A()},Q=>{cgA.error("Failed to register the Segment integration",Q),A()})},I)}const WgI="posthog-js";function VgI(g,{organization:A,projectId:I,prefix:e,severityAllowList:t=["error"],sendExceptionsToPostHog:o=!0}={}){return B=>{var C,Q,i,E,n;if(t!=="*"&&!t.includes(B.level)||!g.__loaded)return B;B.tags||(B.tags={});const s=g.requestRouter.endpointFor("ui",`/project/${g.config.token}/person/${g.get_distinct_id()}`);B.tags["PostHog Person URL"]=s,g.sessionRecordingStarted()&&(B.tags["PostHog Recording URL"]=g.get_session_replay_url({withTimestamp:!0}));const r=((C=B.exception)===null||C===void 0?void 0:C.values)||[],a=r.map(l=>QI(QI({},l),{},{stacktrace:l.stacktrace?QI(QI({},l.stacktrace),{},{type:"raw",frames:(l.stacktrace.frames||[]).map(D=>QI(QI({},D),{},{platform:"web:javascript"}))}):void 0})),c={$exception_message:((Q=r[0])===null||Q===void 0?void 0:Q.value)||B.message,$exception_type:(i=r[0])===null||i===void 0?void 0:i.type,$exception_level:B.level,$exception_list:a,$sentry_event_id:B.event_id,$sentry_exception:B.exception,$sentry_exception_message:((E=r[0])===null||E===void 0?void 0:E.value)||B.message,$sentry_exception_type:(n=r[0])===null||n===void 0?void 0:n.type,$sentry_tags:B.tags};var h;return A&&I&&(c.$sentry_url=(e||"https://sentry.io/organizations/")+A+"/issues/?project="+I+"&query="+B.event_id),o&&((h=g.exceptions)===null||h===void 0||h.sendExceptionEvent(c)),B}}var Ilt=class{constructor(A,I,e,t,o,B){this.name=WgI,this.setupOnce=function(C){C(VgI(A,{organization:I,projectId:e,prefix:t,severityAllowList:o,sendExceptionsToPostHog:B==null||B}))}}},jgI=class{constructor(A){this.Pl=(I,e,t)=>{t&&(t.noSessionId||t.activityTimeout||t.sessionPastMaximumLength||t.crossTabAdoption)&&(Dt.info("[PageViewManager] Session rotated, clearing pageview state",{sessionId:I,changeReason:t}),this.Rl=void 0,this._instance.scrollManager.resetContext())},this._instance=A,this.Al()}Al(){var A;this.Fl=(A=this._instance.sessionManager)===null||A===void 0?void 0:A.onSessionId(this.Pl)}destroy(){var A;(A=this.Fl)===null||A===void 0||A.call(this),this.Fl=void 0}doPageView(A,I){var e;const t=this.Ol(A,I);return this.Rl={pathname:(e=Se?.location.pathname)!==null&&e!==void 0?e:"",pageViewId:I,timestamp:A},this._instance.scrollManager.resetContext(),t}doPageLeave(A){var I;return this.Ol(A,(I=this.Rl)===null||I===void 0?void 0:I.pageViewId)}doEvent(){var A;return{$pageview_id:(A=this.Rl)===null||A===void 0?void 0:A.pageViewId}}Ol(A,I){const e=this.Rl;if(!e)return{$pageview_id:I};let t={$pageview_id:I,$prev_pageview_id:e.pageViewId};const o=this._instance.scrollManager.getContext();if(o&&!this._instance.config.disable_scroll_properties){let{maxScrollHeight:B,lastScrollY:C,maxScrollY:Q,maxContentHeight:i,lastContentY:E,maxContentY:n}=o;if(!(Le(B)||Le(C)||Le(Q)||Le(i)||Le(E)||Le(n))){B=Math.ceil(B),C=Math.ceil(C),Q=Math.ceil(Q),i=Math.ceil(i),E=Math.ceil(E),n=Math.ceil(n);const s=B>1?wx(C/B,0,1,Dt):1,r=B>1?wx(Q/B,0,1,Dt):1,a=i>1?wx(E/i,0,1,Dt):1,c=i>1?wx(n/i,0,1,Dt):1;t=ar(t,{$prev_pageview_last_scroll:C,$prev_pageview_last_scroll_percentage:s,$prev_pageview_max_scroll:Q,$prev_pageview_max_scroll_percentage:r,$prev_pageview_last_content:E,$prev_pageview_last_content_percentage:a,$prev_pageview_max_content:n,$prev_pageview_max_content_percentage:c})}}return e.pathname&&(t.$prev_pageview_pathname=e.pathname),e.timestamp&&(t.$prev_pageview_duration=(A.getTime()-e.timestamp.getTime())/1e3),t}};const hgA=["flags","surveys"],elt={[r0t]:{exposure:"hidden"},[hDA]:{exposure:"hidden"},[c0t]:{exposure:"hidden"},[x6A]:{exposure:"hidden"},[Eq]:{exposure:"hidden"},[QgA]:{exposure:"hidden"},[zAI]:{exposure:"event"},[F6A]:{exposure:"hidden"},[ggI]:{exposure:"hidden"},[U6A]:{exposure:"event"},[AgI]:{exposure:"hidden"},[J6A]:{exposure:"event"},[P6A]:{exposure:"event"},[K6A]:{exposure:"event"},[L6A]:{exposure:"hidden"},[IgI]:{exposure:"event"},[igA]:{exposure:"hidden"},[h0t]:{exposure:"hidden"},[nq]:{exposure:"hidden"},[egI]:{exposure:"event"},[l0t]:{exposure:"event",shouldSkipFromEventProperties:g=>Yc(g)},[u0t]:{exposure:"event"},[G0t]:{exposure:"event"},[m0t]:{exposure:"event"},[p0t]:{exposure:"event"},[k0t]:{exposure:"hidden"},[xR]:{exposure:"hidden",storageGroup:"flags"},[aJ]:{exposure:"hidden",storageGroup:"flags"},[M6A]:{exposure:"hidden"},[Q5]:{exposure:"hidden",storageGroup:"flags"},[r3]:{exposure:"hidden",storageGroup:"flags"},[i5]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[ogA]:{exposure:"hidden",storageGroup:"flags"},[ux]:{exposure:"hidden"},[E5]:{exposure:"hidden"},[a3]:{exposure:"hidden"},[s3]:{exposure:"hidden"},[CgA]:{exposure:"hidden",storageGroup:"surveys"},[aDA]:{exposure:"hidden",storageGroup:"surveys",volatile:!0},[f6A]:{exposure:"event"},[rDA]:{exposure:"hidden"},[cDA]:{exposure:"hidden"},[Y6A]:{exposure:"hidden"},[M0t]:{exposure:"hidden"},[S0t]:{exposure:"hidden"},[f0t]:{exposure:"event"},[R0t]:{exposure:"event"},[N0t]:{exposure:"event"},[x0t]:{exposure:"event"},[rJ]:{exposure:"hidden"},[BgA]:{exposure:"hidden"},[tgI]:{exposure:"event"},[tgA]:{exposure:"hidden"},[n3]:{exposure:"hidden",storageGroup:"flags",volatile:!0},[Km]:{exposure:"hidden"},[_6A]:{exposure:"hidden"},[F0t]:{exposure:"hidden"},[ogI]:{exposure:"hidden"},[BgI]:{exposure:"hidden"},[sq]:{exposure:"hidden"},[b6A]:{exposure:"hidden"},[D0t]:{exposure:"event"},[d0t]:{exposure:"event"},[y0t]:{exposure:"event"},[w0t]:{exposure:"event"},[QgI]:{exposure:"event"},[igI]:{exposure:"event"},[v6A]:{exposure:"hidden"},[T6A]:{exposure:"hidden"},[EgI]:{exposure:"hidden"},[ngI]:{exposure:"hidden"},[sgI]:{exposure:"hidden"},[agI]:{exposure:"hidden"},[rgI]:{exposure:"hidden"},[cgI]:{exposure:"hidden"},[hgI]:{exposure:"hidden"},[U0t]:{exposure:"event"}},tlt=[["$posthog_sr_group_event_trigger_",{exposure:"hidden"}],["$posthog_sr_group_url_trigger_",{exposure:"hidden"}],["$posthog_sr_group_sampling_",{exposure:"hidden"}]],Ny=g=>{const A=elt[g];if(A)return A;for(const[I,e]of tlt)if(g.indexOf(I)===0)return e};function zgI(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone}catch{return}}const hJ=g=>{const A=typeof document>"u"?void 0:document,I=A?.createElement("a");return Le(I)?null:(I.href=g,I)},XgI=()=>{try{return"u">typeof window&&window.navigator.onLine!==!1}catch{return!1}},$gI=(g,A)=>g>=A&&XgI(),AII=(g,A,I,e)=>{if(g===0){if(XgI()){const t=A+1;return t===I&&e(),t}return A}return 0},dq=(g,A)=>{try{let I;return JSON.stringify(g,(e,t)=>{var o;return oq(t)?((o=I)!==null&&o!==void 0||(I=new WeakMap),I.has(t)||I.set(t,wgI(t)),I.get(t)):typeof t=="bigint"?t.toString():t},A)}catch{return u$g(g)}},yq=function(g,A){const I=((g.split("#")[0]||"").split(/\?(.*)/)[1]||"").replace(/^\?+/g,"").split("&");let e;for(let t=0;I.length>t;t++){const o=I[t].split(/=(.*)/);if(o[0]===A){e=o;break}}if(!cB(e)||2>e.length)return"";{let t=e[1].replace(/\+/g," ");try{t=decodeURIComponent(t)}catch{Dt.error("Skipping decoding for malformed query param: "+t)}return t}},lgA=function(g,A,I){if(!g||!A||!A.length)return g;const e=g.split("#"),t=e[1],o=(e[0]||"").split("?"),B=o[1],C=o[0],Q=(B||"").split("&"),i=[];for(let n=0;Q.length>n;n++){const s=Q[n].split("=");cB(s)&&(A.includes(s[0])?i.push(s[0]+"="+I):i.push(Q[n]))}let E=C;return B!=null&&(E+="?"+i.join("&")),t!=null&&(E+="#"+t),E},wDA=function(g,A){const I=g.match(new RegExp(A+"=([^&]*)"));return I?I[1]:null},wq=["gclid","gclsrc","dclid","gbraid","wbraid","fbclid","msclkid","twclid","li_fat_id","igshid","ttclid","rdt_cid","epik","qclid","sccid","oppref","bfcid","irclid","_kx"],olt=["utm_source","utm_medium","utm_campaign","utm_content","utm_term","gad_source","mc_cid",...wq],DgA="<masked>",Blt=["li_fat_id"];function gII(g,A,I){if(!co)return{};const e=A?[...wq,...I||[]]:[],t=III(lgA(co.URL,e,DgA),g),o=(function(){const B={};return Gn(Blt,function(C){const Q=EgA(C);B[C]=Q||null}),B})();return ar(o,t)}function III(g,A){const I=olt.concat(A||[]),e={};return Gn(I,function(t){const o=yq(g,t);e[t]=o||null}),e}function eII(g){const A=(function(t){return t?t.search("https?://(.*)google.([^/?]*)")===0?"google":t.search("https?://(.*)bing.com")===0?"bing":t.search("https?://(.*)yahoo.com")===0?"yahoo":t.search("https?://(.*)duckduckgo.com")===0?"duckduckgo":null:null})(g),I=A!="yahoo"?"q":"p",e={};if(!Yc(A)){e.$search_engine=A;const t=co?yq(co.referrer,I):"";t.length&&(e.ph_keyword=t)}return e}function tII(){return navigator.language||navigator.userLanguage}function Clt(){const g=tII();return typeof g=="string"?g.split("-")[0]:void 0}const uDA="$direct";function oII(){return co?.referrer||uDA}function BII(g,A,I=!1){const e=g?[...wq,...A||[]]:[],t=I?E3(Qa?.href):Qa?.href,o=t?.substring(0,1e3);return{r:oII().substring(0,1e3),u:o?lgA(o,e,DgA):void 0}}function CII(g,A=!1){var I;const{r:e,u:t}=g,o=A?E3(t):t,B={$referrer:e,$referring_domain:e==null?void 0:e==uDA?uDA:(I=hJ(e))===null||I===void 0?void 0:I.host};if(o){B.$current_url=o;const C=hJ(o);B.$host=C?.host,B.$pathname=C?.pathname;const Q=III(o);ar(B,Q)}if(e){const C=eII(e);ar(B,C)}return B}function Qlt(){try{return new Date().getTimezoneOffset()}catch{return}}const ilt={flags:n3,surveys:aDA},Elt=["cookie","localstorage","localstorage+cookie","sessionstorage","memory"],GDA=g=>`${g}_cookie_identity_change_pending`,mDA=g=>{let A="",I=0;for(const e of g){const t=encodeURIComponent(JSON.stringify(e).slice(1,-1)).length;if(I+t>1e3)break;A+=e,I+=t}return A},SD="main",lJ=[xR,aJ,Q5,r3,i5,n3,ogA,a3],ivA=g=>lJ.indexOf(g)!==-1,QII=[Eq,QgA],iII=g=>QII.indexOf(g)!==-1,c3=(g,A)=>{try{return JSON.stringify(g)===JSON.stringify(A)}catch{return g===A}},uq=g=>{if(!g)return{};const A=JSON.parse(g);return yC(A)?A:{}},EII=(g,A)=>{Gn(g,(I,e)=>{const t=Ny(e);t&&t.exposure!=="event"||{}.hasOwnProperty.call(A,e)||delete g[e]})};var EvA=class{constructor(A,I,e=!0,t=!A.cookieless_mode){if(this.Dl={},this.Ll=!1,this.Nl=!1,this.ql=!1,this.jl=!1,this.Bl=!1,this.zl=new Map,this.Hl=!1,this.Ul=!1,this.Wl=!1,this.Vl=new Set,this.Gl=new Set,this.Ar=A,this.Ql=e,this.props={},this.Zl=void 0,this.Jl=(o=>{let B="";return o.token&&(B=o.token.replace(/\+/g,"PL").replace(/\//g,"SL").replace(/=/g,"EQ")),o.persistence_name?"ph_"+o.persistence_name:"ph_"+B+"_posthog"})(A),this.hi=A.disable_persistence||!!I,this.$l=this.Kl(A),this.ql=this.Xl(A),this.load(t),this.Yl(),A.debug&&Dt.info("Persistence loaded",A.persistence,QI({},this.props)),this.update_config(A,A,I),this.save(),Se){const o=()=>this.flush();NE(Se,"beforeunload",o,{capture:!1}),NE(Se,"pagehide",o,{capture:!1}),this.tu=B=>{if(this.Ll&&(!B.storageArea||B.storageArea===Se?.localStorage)&&B.key)if(B.key!==this.Jl){if(this.ql){const C=hgA.find(Q=>B.key===this.eu(Q));C&&this.iu(B.key,C)}}else this.iu(B.key,SD)},NE(Se,"storage",this.tu)}}markCrossTabFeatureFlagChanges(A){Object.entries(A).forEach(([I,e])=>{const t=this.zl.get(I);if(!ivA(I)||t===!0)return;if(e===!0)return void this.nu(I,!0);const o=new Set(t||[]);e.forEach(B=>o.add(B)),o.size&&this.nu(I,o)})}onCrossTabFeatureFlagChange(A){return this.Gl.add(A),()=>this.Gl.delete(A)}destroy(){this.tu&&Se&&(Se.removeEventListener("storage",this.tu),this.tu=void 0),this.Gl.clear()}iu(A,I,e=!0){if(this.hi)return!1;let t,o;try{if(o=eE.Ot(A),Yc(o)){const Q=this.su(I);return Q.storageValue=null,I!==SD&&(Q.persisted=!1),!1}t=uq(o)}catch{return!1}const B=I===SD?t:eE.Lt(this.Jl);if(B&&this.ru(B))return!1;const C=this.ou(t,I,e);return I===SD&&this.ql&&!c3(this.au().main,t)||this.lu(t,I,!0,o),C}ru(A){const I=this.props[FR],e=A[FR];return!Le(I)&&!Le(e)&&I!==e}lu(A,I,e,t){const o=this.su(I);o.storageValue=t,I!==SD&&(o.persisted=e);try{o.fingerprint=this.uu(A,I)}catch{o.fingerprint=void 0}}ou(A,I,e){let t=!1;return lJ.forEach(o=>{var B;const C=(B=Ny(o))===null||B===void 0?void 0:B.storageGroup;if(I===SD&&this.ql&&C||I!==SD&&C!==I)return;const Q=o in A,i=this.cu(o,Q?A[o]:void 0),E=this.zl.has(o)?o in this.props:Q;E===o in this.props&&c3(i,this.props[o])||(E?this.hu(o,i,!1):this.du(o,!1),t=!0)}),t&&e&&this.Gl.forEach(o=>o()),t}vu(){if(!this.Ll)return!1;try{this.Wl=!1;const A=eE.Ot(this.Jl),I=this.su(SD);let e,t=!1,o=!1;if(A!==I.storageValue)if(Yc(A))I.storageValue=null;else{if(e=uq(A),this.Wl=!this.Ul&&this.ru(e),this.Wl)return!1;o=this.ou(e,SD,!1),!this.ql||c3(this.au().main,e)?this.lu(e,SD,!0,A):I.storageValue=A,t=!0}return this.ql&&hgA.forEach(B=>{const C=eE.Ot(this.eu(B)),Q=this.su(B),i=e||{},E=t&&lJ.some(s=>{var r;return((r=Ny(s))===null||r===void 0?void 0:r.storageGroup)===B&&s in i});if(C===Q.storageValue&&!E)return;if(Yc(C))return Q.storageValue=null,Q.persisted=!1,void(E&&(o=this.ou(i,B,!1)||o));const n=uq(C);o=this.ou(n,B,!1)||o,this.lu(n,B,!0,C)}),o}catch{return!1}}nu(A,I){this.zl.set(A,I);const e=Ny(A);e?.volatile||(this.su((this.ql?e?.storageGroup:void 0)||SD).fingerprint=void 0,this.fu(A))}pu(){lJ.forEach(A=>this.zl.set(A,!0))}Yl(){if(this.Ll)try{const A=eE.Ot(this.Jl),I=uq(A);this.su(SD).storageValue=A,lJ.forEach(e=>{var t;const o=this.ql?(t=Ny(e))===null||t===void 0?void 0:t.storageGroup:void 0,B=o?eE.Ot(this.eu(o)):null;if(o){const Q=this.su(o);Q.storageValue=B,Q.persisted=!Yc(B)}const C=o&&!Yc(B)?uq(B):I;e in this.props?this.gu(e,C[e],this.props[e]):e in C&&this.nu(e,!0)})}catch{}}cu(A,I){const e=this.zl.get(A);if(!e)return I;if(e===!0)return this.props[A];if(A==="$active_feature_flags"){const B=new Set(cB(I)?I:[]),C=new Set(cB(this.props[A])?this.props[A]:[]);return e.forEach(Q=>C.has(Q)?B.add(Q):B.delete(Q)),Array.from(B)}const t=yC(I)?QI({},I):{},o=yC(this.props[A])?this.props[A]:{};return e.forEach(B=>{B in o?t[B]=o[B]:delete t[B]}),t}gu(A,I,e){if(!ivA(A))return;const t=this.zl.get(A);if(t===!0)return;let o=I;if(this.Ll)try{var B;const Q=this.ql?(B=Ny(A))===null||B===void 0?void 0:B.storageGroup:void 0,i=Q?this.eu(Q):this.Jl;o=uq(eE.Ot(i))[A]}catch{}const C=new Set(t||[]);if(A==="$active_feature_flags"){if(!Le(I)&&!cB(I)||!Le(o)&&!cB(o)||!cB(e))return void this.nu(A,!0);const Q=new Set(I||[]),i=new Set(o||[]),E=new Set(e);new Set([...Q,...E]).forEach(n=>{Q.has(n)!==E.has(n)&&C.add(n)}),C.forEach(n=>{i.has(n)===E.has(n)&&C.delete(n)})}else{if(!yC(e))return void(c3(o,e)?this.zl.delete(A):this.nu(A,!0));{if(!Le(I)&&!yC(I)||Le(I)&&lk(e)&&Le(o))return void this.nu(A,!0);const Q=yC(I)?I:{},i=yC(o)?o:{};new Set([...Object.keys(Q),...Object.keys(e)]).forEach(E=>{E in Q==E in e&&c3(Q[E],e[E])||C.add(E)}),C.forEach(E=>{E in i==E in e&&c3(i[E],e[E])&&C.delete(E)})}}C.size?this.nu(A,C):this.zl.delete(A)}mu(){var A;const I=(A=this.Ar)===null||A===void 0?void 0:A.persistence_save_debounce_ms;return i0(I)&&I>0?I:0}yu(A){if(this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie")if(A)try{const I=z6A(A,this.Ar.cookie_persisted_properties||[]),e=pgI(I,this.Ar.cookie_persisted_properties||[]),t=JSON.stringify(I)+"|"+JSON.stringify(e),o=rr.Ot(this.Jl)||void 0;o&&X6A(this.Jl,o)===t&&(this.bu=t,this._u=o)}catch{}else try{const I=rr.Ot(this.Jl)||void 0;this.bu=I?X6A(this.Jl,I):void 0,this._u=I}catch{}}syncCookieProperties(){return this.wu(this.Ar)}wu(A,I=!1){if(this.hi&&!I||this.Bl||!A.cookieWinsOnConflict||A.persistence.toLowerCase()!=="localstorage+cookie")return!1;let e;try{e=rr.Ot(this.Jl)||void 0}catch{}if(!e||e===this._u)return!1;const t=X6A(this.Jl,e);let o;try{o=j6A(JSON.parse(e))}catch{return!1}if((rr.Ot(this.Jl)||void 0)!==e)return!1;this.bu=t,this._u=e;const B=kgI(this.Jl,e),C=[...n5,...B.properties],Q={};if(Object.keys(o).forEach(h=>{const l=o[h];(Le(l)||Yc(l)||l===""||h==="$user_state"&&l!=="anonymous"&&l!=="identified")&&(Q[h]=!0,delete o[h])}),lk(o))return!1;const i="distinct_id"in o||o.$user_state==="anonymous"||o.$user_state==="identified",E=this.props,n=E[FR],s=E[Km],r=ar({},E);[...n5,...A.cookie_persisted_properties||[]].forEach(h=>{if(C.indexOf(h)!==-1&&!(h in o)&&!Q[h]&&(i||h!=="distinct_id"&&h!=="$user_state")){const l=r[h];(B.isValid||n5.indexOf(h)===-1||l!==!1&&l!==0)&&delete r[h]}}),this.props=ar(r,o),lJ.forEach(h=>{const l=h in this.props;h in E===l&&c3(E[h],this.props[h])||(l?this.gu(h,E[h],this.props[h]):this.nu(h,!0))}),!i||"$user_state"in o||"$user_state"in this.props||this.hu(Km,cJ);const a=this.props[FR],c=this.props[Km];return!i||a===n&&c===s||(this.Ul=!0,this.jl=!0,Ea.At(GDA(this.Jl),!0),this.du(a3),this.du(aJ),this.du(xR),this.du(Q5),this.du(r3),this.du(i5),this.du(n3),this.du(tgA),this.du(rJ),c!=="anonymous"||s!=="identified"&&o.$user_state!=="anonymous"&&(Le(n)||a===n)||(EII(this.props,o),this.du(s3)),c==="identified"?this.props.$user_id=a:delete this.props.$user_id,this.du(hDA)),!0}consumeCookieIdentityChange(){const A=GDA(this.Jl),I=this.jl||!!Ea.Ot(A);return this.jl=!1,I&&Ea.Pt(A),I}ku(A=!1){return!(this.Bl||this.hi&&!A||!this.Ar.cookieWinsOnConflict||this.Ar.persistence.toLowerCase()!=="localstorage+cookie"||(this.Bl=!0,0))}Su(){this.Bl&&(Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0),delete this.Dl[SD],this.$u(!0))}Cu(A=!0){if(this.Bl)try{A?this.Su():Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0)}finally{this.Bl=!1}}isDisabled(){return!!this.hi}Kl(A){Elt.indexOf(A.persistence.toLowerCase())===-1&&(Dt.critical("Unknown persistence type "+A.persistence+"; falling back to localStorage+cookie"),A.persistence="localStorage+cookie");const I=((C=[],Q=!1,i=()=>!1)=>{const E=[...n5,...C];return QI(QI({},eE),{},{Tu(n){return[rr.Ot(n),rr.Ot(sgA(n)),eE.Ot(n)].join("\0")},Lt(n){try{let r,a={};try{r=rr.Ot(n)||void 0,a=r?j6A(JSON.parse(r)):{}}catch{}const c=JSON.parse(eE.Ot(n)||"{}");let h;if(Q){const l=kgI(n,r),D=[...n5,...l.properties],d={};Object.keys(a).forEach(w=>{const u=a[w];Yc(u)||u===""||w==="$user_state"&&u!=="anonymous"&&u!=="identified"||(d[w]=u)});const y="distinct_id"in d||d.$user_state==="anonymous"||d.$user_state==="identified";if(Object.keys(d).length>0){var s;const w=c[FR],u=(s=c.$user_state)!==null&&s!==void 0?s:cJ;E.forEach(G=>{if(D.indexOf(G)!==-1&&!(G in a)&&(y||G!=="distinct_id"&&G!=="$user_state")){const m=c[G];(l.isValid||n5.indexOf(G)===-1||m!==!1&&m!==0)&&delete c[G]}}),!y||"$user_state"in a||"$user_state"in c||(c[Km]=cJ),!y||("distinct_id"in d?d[FR]:c[FR])===w&&("$user_state"in d?d[Km]:c[Km])===u||(V6A.forEach(G=>delete c[G]),d.$user_state==="identified"&&"distinct_id"in d?c.$user_id=d[FR]:delete c.$user_id,d.$user_state!=="identified"&&(delete c[tgI],delete c[s3]),delete c.__alias)}h=ar(c,d)}else h=ar(a,c);return i()||eE.At(n,h),h}catch{}return null},At(n,s,r,a,c,h){const l=eE.At(n,s,void 0,void 0,h);try{const D=z6A(s,C);if(Object.keys(D).length){if(Q){const d=sgA(n),y=pgI(D,C);if(rr.At(d,y,r,a,c,h),rr.Ot(d)!==JSON.stringify(y)){rr.Pt(d,a);const w=z6A(s);return rr.At(n,w,r,a,c,h),l}}rr.At(n,D,r,a,c,h)}}catch(D){eE.Ft(D)}return l},Pt(n,s){try{Se?.localStorage.removeItem(n),rr.Pt(n,s),rr.Pt(sgA(n),s)}catch(r){eE.Ft(r)}}})})(A.cookie_persisted_properties||[],A.cookieWinsOnConflict,()=>!!this.hi);let e,t=!1,o=!1;const B=A.persistence.toLowerCase();return B==="localstorage"&&eE.$t()?(e=eE,o=!0):B==="localstorage+cookie"&&I.$t()?(e=I,o=!0,t=!0):B==="sessionstorage"&&Ea.$t()?e=Ea:B==="memory"?e=$6A:B==="cookie"&&rr.$t()?(e=rr,t=!0):I.$t()?(e=I,o=!0,t=!0):rr.$t()?(e=rr,t=!0):e=$6A,this.Ll=o,this.Nl=t,e}eu(A){return`${this.Jl}__${A}`}Xl(A){return this.Ll&&!!A.split_storage}properties(){const A={};return Gn(this.props,(I,e)=>{const t=Ny(e);if(!t||t.exposure==="event"){var o;if(!(t==null||(o=t.shouldSkipFromEventProperties)===null||o===void 0)&&o.call(t,I))return;A[e]=I}}),A}load(A=!1){if(this.hi&&!A)return;const I=this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie",e=I?eE.Lt(this.Jl):null;let t={};if(I)try{t=j6A(rr.Lt(this.Jl)),Gn(t,(Q,i)=>{(Le(Q)||Yc(Q)||Q==="")&&delete t[i]})}catch{}const o=this.$l.Lt(this.Jl);if(o&&(this.props=ar({},o)),this.ql&&this.Iu(),I&&o){var B,C;const Q=e?.[FR],i=(B=e?.$user_state)!==null&&B!==void 0?B:cJ,E=o[FR],n=(C=o.$user_state)!==null&&C!==void 0?C:cJ;if(E!==Q||n!==i){this.jl=!0,this.hi||Ea.At(GDA(this.Jl),!0);const s=ar({},this.props);V6A.forEach(a=>delete s[a]),n!=="anonymous"||i!=="identified"&&t.$user_state!=="anonymous"&&(Le(Q)||E===Q)||(EII(s,t),delete s[s3]),this.props=s;const r=new Set;V6A.forEach(a=>{var c;const h=(c=Ny(a))===null||c===void 0?void 0:c.storageGroup;h&&r.add(h)}),r.forEach(a=>{if(this.hi)return;const c={};Gn(this.props,(h,l)=>{var D;((D=Ny(l))===null||D===void 0?void 0:D.storageGroup)===a&&(c[l]=h)}),lk(c)?(eE.Pt(this.eu(a)),this.Dl[a]={}):eE.At(this.eu(a),c)&&(this.Dl[a]={persisted:!0,fingerprint:this.uu(c,a)})})}}Ea.Ot(GDA(this.Jl))&&(this.jl=!0)}Iu(){for(const A of hgA){const I=eE.Lt(this.eu(A));if(I&&!lk(I)){const e=this.su(A);e.persisted=!0,this.Mu(A)||(e.fingerprint=this.uu(I,A)),this.Eu(A,I)||ar(this.props,I)}}}Mu(A){return Object.keys(this.props).some(I=>{var e;return((e=Ny(I))===null||e===void 0?void 0:e.storageGroup)===A})}Eu(A,I){const e=ilt[A];if(!e)return!1;const t=I[e],o=this.props[e];return i0(t)&&i0(o)&&o>t}refreshKey(A){this.Pu([A])}Pu(A){if(this.hi)return;let I,e=!1;const t=()=>(e||(I=this.$l.Lt(this.Jl),e=!0),I);A.forEach(o=>{var B;if(this.Vl.has(o))return;const C=this.ql?(B=Ny(o))===null||B===void 0?void 0:B.storageGroup:void 0,Q=C?eE.Lt(this.eu(C)):t();if(Q&&o in Q)this.hu(o,Q[o],!1);else{if(C){const i=t();if(i&&o in i)return void this.hu(o,i[o],!1)}this.du(o,!1)}})}refreshMetaIdentifiers(){if(this.hi)return;const A=this.Ru();(Le(A)||A!==this.Au)&&(this.Pu(QII),this.Fu(A))}Fu(A=this.Ru()){this.Au=this.Vl.size===0?A:void 0}Ru(){const A=this.$l.Tu?this.$l.Tu(this.Jl):this.$l.Ot(this.Jl);return KC(A)?A:void 0}save(){if(this.hi)return;const A=this.mu();A>0?Le(this.xu)&&(this.xu=setTimeout(()=>{this.xu=void 0,this.$u()},A)):this.$u()}flush(){Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0,this.$u())}$u(A=!1){if(this.hi||this.Bl&&!A)return;A||(this.syncCookieProperties(),this.Ar.cookieWinsOnConflict&&this.Ar.persistence.toLowerCase()==="localstorage+cookie"||this.refreshMetaIdentifiers());const I=!A&&!this.Hl;I||(this.Wl=!1);const e=!!I&&this.vu();if(this.Wl)return void(this.Ar.debug&&Dt.warn("skipping persistence write because storage belongs to a different distinct ID"));if(this.ql)return this.Ou(),void(e&&this.Gl.forEach(o=>o()));const t=this.Du(this.$l,this.Jl,this.props,SD);t==="written"&&this.yu(this.props),t!=="failed"&&(this.zl.clear(),this.Ul=!1,this.Vl.clear()),t==="written"&&this.Fu(),e&&this.Gl.forEach(o=>o())}Ou(){const{main:A,groups:I}=this.au(),e=this.Du(this.$l,this.Jl,A,SD);e==="written"&&this.yu(A),e!=="failed"&&(this.Ul=!1,this.Vl.clear(),lJ.forEach(o=>{var B;!((B=Ny(o))===null||B===void 0)&&B.storageGroup||this.zl.delete(o)})),e==="written"&&this.Fu();for(const o of hgA){var t;const B=I[o];if(lk(B)&&!(!((t=this.Dl[o])===null||t===void 0)&&t.persisted)){lJ.forEach(Q=>{var i;((i=Ny(Q))===null||i===void 0?void 0:i.storageGroup)===o&&this.zl.delete(Q)});continue}const C=this.Du(eE,this.eu(o),B,o);C!=="failed"&&lJ.forEach(Q=>{const i=Ny(Q);i?.storageGroup!==o||C!=="written"&&i.volatile||this.zl.delete(Q)})}}au(){const A={},I={flags:{},surveys:{}};return Gn(this.props,(e,t)=>{var o;const B=(o=Ny(t))===null||o===void 0?void 0:o.storageGroup;B?I[B][t]=e:A[t]=e}),{main:A,groups:I}}uu(A,I){if(I===SD)return JSON.stringify(A)+"|"+this.Lu+"|"+this.Nu+"|"+this.qu;const e={};return Gn(A,(t,o)=>{var B;e[o]=!((B=Ny(o))===null||B===void 0)&&B.volatile?"__volatile__":t}),JSON.stringify(e)}Du(A,I,e,t){const o=this.su(t);if(t!==SD&&!o.dirty&&!Le(o.fingerprint))return"skipped";let B;try{if(B=this.uu(e,t),B===o.fingerprint)return o.dirty=!1,"skipped"}catch{B=void 0}return A.At(I,e,this.Lu,this.Nu,this.qu,this.Ar.debug)?(o.dirty=!1,t!==SD&&(o.persisted=!0),Le(B)||(o.fingerprint=B),this.Ll&&(o.storageValue=eE.Ot(I)),"written"):(this.Ar.debug&&Dt.warn(`failed to persist storage entry "${I}"; will retry on next save`),"failed")}remove({keepGroupEntries:A=!1}={}){if(this.pu(),Le(this.xu)||(clearTimeout(this.xu),this.xu=void 0),this.$l.Pt(this.Jl,!1),this.$l.Pt(this.Jl,!0),!A&&this.Ql)for(const I of hgA)eE.Pt(this.eu(I));A?delete this.Dl[SD]:this.Dl={},this.bu=void 0,this._u=void 0}clear(){this.remove(),this.props={}}register_once(A,I,e){if(yC(A)){this.syncCookieProperties(),Le(I)&&(I="None"),this.Lu=Le(e)?this.ju:e;let t=!1;if(Gn(A,(o,B)=>{this.props.hasOwnProperty(B)&&this.props[B]!==I||(this.hu(B,o),t=!0)}),t)return this.save(),!0}return!1}register(A,I){if(yC(A)){this.syncCookieProperties(),this.Lu=Le(I)?this.ju:I;let e=!1;if(Gn(A,(t,o)=>{A.hasOwnProperty(o)&&(this.props[o]!==t||yC(t)||cB(t))&&(this.hu(o,t),e=!0)}),e)return this.save(),!0}return!1}unregister(A){this.syncCookieProperties();const I=typeof A=="string"?[A]:A;let e=!1;for(const t of I)t in this.props&&(this.du(t),e=!0);e&&this.save()}update_campaign_params(){const A=co?.URL;if(A===this.Zl)return;const I=gII(this.Ar.custom_campaign_params,this.Ar.mask_personal_data_properties,this.Ar.custom_personal_data_properties),e=!lk(Z6A(I));return e&&this.register(I),this.Zl=A,e?I:void 0}update_search_keyword(){this.register((function(){const A=co?.referrer;return A?eII(A):{}})())}update_referrer_info(){var A;this.register_once({$referrer:oII(),$referring_domain:co?.referrer&&((A=hJ(co.referrer))===null||A===void 0?void 0:A.host)||uDA},void 0)}set_initial_person_info(){if(this.props.$initial_campaign_params||this.props.$initial_referrer_info)return;const A=BII(this.Ar.mask_personal_data_properties,this.Ar.custom_personal_data_properties,this.Ar.disable_capture_url_hashes);this.register_once({[sq]:this.Nl?{r:mDA(A.r),u:A.u?mDA(A.u):void 0}:A},void 0)}get_initial_props(){const A={};Gn([BgI,ogI],e=>{const t=this.props[e];t&&Gn(t,function(o,B){A["$initial_"+g6A(B)]=o})});const I=this.props[sq];if(I){const e=(function(t,o=!1){const B=CII(t,o),C={};return Gn(B,function(Q,i){C[`$initial_${g6A(i)}`]=Q}),C})(I,this.Ar.disable_capture_url_hashes);ar(A,e)}return A}safe_merge(A){return Gn(this.props,function(I,e){e in A||(A[e]=I)}),A}update_config(A,I,e){const t=A.persistence!==I.persistence,o=!((a,c)=>{if(a.length!==c.length)return!1;const h=[...a].sort(),l=[...c].sort();return h.every((D,d)=>D===l[d])})(A.cookie_persisted_properties||[],I.cookie_persisted_properties||[]),B=t||o,C=A.cookieWinsOnConflict!==I.cookieWinsOnConflict,Q=A.disable_persistence||!!e,i=!!this.hi&&!Q;Q||this.wu(I,i),this.Ar=A,!Q&&(t||o||C)&&(this.bu=void 0,this._u=void 0,this.wu(QI(QI({},A),{},{cookie_persisted_properties:I.cookie_persisted_properties}),i));const E=B||C?this.Kl(A):this.$l;this.Bu();const n=this.Xl(A),s=B||n!==this.ql,r=!Q&&(s||A.cross_subdomain_cookie!==this.Nu||A.secure_cookie!==this.qu)&&this.ku(i);this.Hl=s;try{if(this.ju=this.Lu=A.cookie_expiration,this.set_disabled(Q),this.set_cross_subdomain(A.cross_subdomain_cookie),this.set_secure(A.secure_cookie),s){const a=this.props;this.clear(),this.$l=E,this.ql=n,this.props=a,this.save()}else C&&(this.$l=E,Q||(delete this.Dl[SD],this.$u()))}finally{this.Hl=!1,r&&this.Cu()}}Bu(){const A=this.props[sq];if(!this.Nl||!yC(A)||typeof A.r!="string")return;const I=mDA(A.r),e=typeof A.u=="string"?mDA(A.u):A.u;I===A.r&&e===A.u||this.hu(sq,QI(QI({},A),{},{r:I,u:e}))}set_disabled(A){this.hi=A,this.hi?this.remove():this.save()}set_cross_subdomain(A){A!==this.Nu&&(this.Nu=A,this.remove({keepGroupEntries:!0}),this.save())}set_secure(A){A!==this.qu&&(this.qu=A,this.remove({keepGroupEntries:!0}),this.save())}set_event_timer(A,I){const e=this.props.__timers||{};e[A]=I,this.hu(x6A,e),this.save()}remove_event_timer(A){const I=this.props.__timers||{},e=I[A];return Le(e)||(delete I[A],this.hu(x6A,I),this.save()),e}get_property(A){return this.props[A]}set_property(A,I){this.hu(A,I),this.save()}hu(A,I,e=!0){var t;const o=this.props[A];this.props[A]=I,e&&(A!=="distinct_id"&&A!=="$user_state"||o===I||(this.Ul=!0),iII(A)&&!c3(o,I)&&this.Vl.add(A),this.gu(A,o,I),!((t=Ny(A))===null||t===void 0)&&t.volatile||this.fu(A))}du(A,I=!0){delete this.props[A],I&&(ivA(A)&&this.nu(A,!0),iII(A)&&this.Vl.add(A),this.fu(A))}fu(A){var I;const e=(I=Ny(A))===null||I===void 0?void 0:I.storageGroup;e&&(this.su(e).dirty=!0)}su(A){return this.Dl[A]||(this.Dl[A]={})}};const gS={GZipJS:"gzip-js",Base64:"base64"},dgA={Activation:"events",Cancellation:"cancelEvents"},nvA={Popover:"popover",API:"api",Widget:"widget"},IS={SHOWN:"survey shown",DISMISSED:"survey dismissed",SENT:"survey sent"},svA={SURVEY_ID:"$survey_id",SURVEY_ITERATION:"$survey_iteration",SURVEY_LAST_SEEN_DATE:"$survey_last_seen_date"},avA={Popover:"popover",Inline:"inline"};function pDA(g){let A=!0;return{dispose(){if(A){A=!1;const I=g();I&&Q0(I.then)&&I.then(void 0,()=>{})}}}}const nlt={SHOWN:"product tour shown"},nII={TOUR_LAST_SEEN_DATE:"$product_tour_last_seen_date",TOUR_TYPE:"$product_tour_type"},sII=Ic("[RateLimiter]");var slt=class{constructor(g){this.serverLimits={},this.lastEventRateLimited=!1,this.checkForLimiting=A=>{const I=A.text;if(I&&I.length)try{(JSON.parse(I).quota_limited||[]).forEach(e=>{sII.info(`${e||"events"} is quota limited.`),this.serverLimits[e]=new Date().getTime()+6e4})}catch(e){return void sII.warn(`could not rate limit - continuing. Error: "${e?.message}"`,{text:I})}},this.instance=g,this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}get captureEventsPerSecond(){var g;return((g=this.instance.config.rate_limiting)===null||g===void 0?void 0:g.events_per_second)||10}get captureEventsBurstLimit(){var g;return Math.max(((g=this.instance.config.rate_limiting)===null||g===void 0?void 0:g.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond)}clientRateLimitContext(g=!1){var A,I,e;const{captureEventsBurstLimit:t,captureEventsPerSecond:o}=this,B=new Date().getTime(),C=(A=(I=this.instance.persistence)===null||I===void 0?void 0:I.get_property("$capture_rate_limit"))!==null&&A!==void 0?A:{tokens:t,last:B};C.tokens+=Math.max(0,B-C.last)/1e3*o,C.last=Math.max(C.last,B),C.tokens>t&&(C.tokens=t);const Q=1>C.tokens;if(Q||g||(C.tokens=Math.max(0,C.tokens-1)),Q&&!g){const i=(i0(C.dropped)?C.dropped:0)+1;C.dropped=i,!this.lastEventRateLimited&&this.zu(i)&&(C.dropped=0)}return this.lastEventRateLimited=Q,(e=this.instance.persistence)===null||e===void 0||e.set_property("$capture_rate_limit",C),{isRateLimited:Q,remainingTokens:C.tokens}}Hu(g){const A=this.instance.config.property_denylist;return!cB(A)||!A.includes(g)}Uu(){var g;if(this.Hu("$current_url")&&this.Hu("$pathname")&&Qa?.pathname)return`${(g=Qa.origin)!==null&&g!==void 0?g:""}${Qa.pathname}`}zu(g){var A,I;const{captureEventsBurstLimit:e,captureEventsPerSecond:t}=this,o=this.Uu(),B=this.Hu("$session_id")?(A=(I=this.instance).get_session_id)===null||A===void 0?void 0:A.call(I):void 0,C=[`${g} event(s) dropped since the last warning`,o?`triggered on ${o}`:void 0,B?`session ${B}`:void 0].filter(Boolean).join(", ");return!!this.instance.capture("$$client_ingestion_warning",{$$client_ingestion_warning_message:`posthog-js client rate limited: ${C}. Config is set to ${t} events per second and ${e} events burst limit.`},{skip_client_rate_limiting:!0})}isServerRateLimited(g){const A=this.serverLimits[g||"events"]||!1;return A!==!1&&new Date().getTime()<A}};const h3=Ic("[RemoteConfig]");var aII=class{constructor(A){this._instance=A}get remoteConfig(){var A;return(A=JB._POSTHOG_REMOTE_CONFIG)===null||A===void 0||(A=A[this._instance.config.token])===null||A===void 0?void 0:A.config}Wu(A){var I,e,t;!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.loadExternalDependency?(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,"remote-config",()=>A(this.remoteConfig)):A()}Vu(A){this._instance._send_request({method:"GET",url:this._instance.requestRouter.endpointFor("assets",`/array/${this._instance.config.token}/config`),callback:A})}load(){try{if(this.remoteConfig)return h3.info("Using preloaded remote config",this.remoteConfig),void this.Gu(this.remoteConfig);if(this._instance.Qu())return void h3.warn("Remote config is disabled. Falling back to local config.");this.Wu(A=>{if(!A)return h3.info("No config found after loading remote JS config. Falling back to JSON."),void this.Vu(I=>{this.Gu(I.json,I)});this.Gu(A)})}catch(A){h3.error("Error loading remote config",A),this.Gu()}}Gu(A,I){!A&&I&&(I.statusCode===0?I.error||h3.warn("Failed to fetch remote config from PostHog."):h3.error("Failed to fetch remote config from PostHog."));try{this._instance.Gu(A?{ok:!0,config:A}:{ok:!1})}catch(t){h3.error("Error applying remote config",t)}if(A?.hasFeatureFlags!==!1&&!this._instance.config.advanced_disable_feature_flags_on_first_load)try{var e;(e=this._instance.featureFlags)===null||e===void 0||e.ensureFlagsLoaded()}catch(t){h3.error("Error loading feature flags",t)}}},$2=Uint8Array,dk=Uint16Array,Gq=Uint32Array,rvA=new $2([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),cvA=new $2([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),rII=new $2([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),cII=function(g,A){for(var I=new dk(31),e=0;31>e;++e)I[e]=A+=1<<g[e-1];var t=new Gq(I[30]);for(e=1;30>e;++e)for(var o=I[e];I[e+1]>o;++o)t[o]=o-I[e]<<5|e;return[I,t]},hII=cII(rvA,2),hvA=hII[1];hII[0][28]=258,hvA[258]=28;for(var lII=cII(cvA,0)[1],DII=new dk(32768),_c=0;32768>_c;++_c){var mq=(43690&_c)>>>1|(21845&_c)<<1;DII[_c]=((65280&(mq=(61680&(mq=(52428&mq)>>>2|(13107&mq)<<2))>>>4|(3855&mq)<<4))>>>8|(255&mq)<<8)>>>1}var ygA=function(g,A,I){for(var e=g.length,t=0,o=new dk(A);e>t;++t)++o[g[t]-1];var B,C=new dk(A);for(t=0;A>t;++t)C[t]=C[t-1]+o[t-1]<<1;for(B=new dk(e),t=0;e>t;++t)B[t]=DII[C[g[t]-1]++]>>>15-g[t];return B},r5=new $2(288);for(_c=0;144>_c;++_c)r5[_c]=8;for(_c=144;256>_c;++_c)r5[_c]=9;for(_c=256;280>_c;++_c)r5[_c]=7;for(_c=280;288>_c;++_c)r5[_c]=8;var kDA=new $2(32);for(_c=0;32>_c;++_c)kDA[_c]=5;var alt=ygA(r5,9),rlt=ygA(kDA,5),dII=function(g){return(g/8|0)+(7&g&&1)},yII=function(g,A,I){(I==null||I>g.length)&&(I=g.length);var e=new(g instanceof dk?dk:g instanceof Gq?Gq:$2)(I-A);return e.set(g.subarray(A,I)),e},DJ=function(g,A,I){var e=A/8|0;g[e]|=I<<=7&A,g[e+1]|=I>>>8},wgA=function(g,A,I){var e=A/8|0;g[e]|=I<<=7&A,g[e+1]|=I>>>8,g[e+2]|=I>>>16},lvA=function(g,A){for(var I=[],e=0;g.length>e;++e)g[e]&&I.push({s:e,f:g[e]});var t=I.length,o=I.slice();if(!t)return[new $2(0),0];if(t==1){var B=new $2(I[0].s+1);return B[I[0].s]=1,[B,1]}I.sort(function(w,u){return w.f-u.f}),I.push({s:-1,f:25001});var C=I[0],Q=I[1],i=0,E=1,n=2;for(I[0]={s:-1,f:C.f+Q.f,l:C,r:Q};E!=t-1;)C=I[I[n].f>I[i].f?i++:n++],Q=I[i!=E&&I[n].f>I[i].f?i++:n++],I[E++]={s:-1,f:C.f+Q.f,l:C,r:Q};var s=o[0].s;for(e=1;t>e;++e)o[e].s>s&&(s=o[e].s);var r=new dk(s+1),a=DvA(I[E-1],r,0);if(a>A){e=0;var c=0,h=a-A,l=1<<h;for(o.sort(function(w,u){return r[u.s]-r[w.s]||w.f-u.f});t>e;++e){var D=o[e].s;if(A>=r[D])break;c+=l-(1<<a-r[D]),r[D]=A}for(c>>>=h;c>0;){var d=o[e].s;A>r[d]?c-=1<<A-r[d]++-1:++e}for(;e>=0&&c;--e){var y=o[e].s;r[y]==A&&(--r[y],++c)}a=A}return[new $2(r),a]},DvA=function(g,A,I){return g.s==-1?Math.max(DvA(g.l,A,I+1),DvA(g.r,A,I+1)):A[g.s]=I},wII=function(g){for(var A=g.length;A&&!g[--A];);for(var I=new dk(++A),e=0,t=g[0],o=1,B=function(Q){I[e++]=Q},C=1;A>=C;++C)if(g[C]==t&&C!=A)++o;else{if(!t&&o>2){for(;o>138;o-=138)B(32754);o>2&&(B(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(B(t),--o;o>6;o-=6)B(8304);o>2&&(B(o-3<<5|8208),o=0)}for(;o--;)B(t);o=1,t=g[C]}return[I.subarray(0,e),A]},ugA=function(g,A){for(var I=0,e=0;A.length>e;++e)I+=g[e]*A[e];return I},dvA=function(g,A,I){var e=I.length,t=dII(A+2);g[t]=255&e,g[t+1]=e>>>8,g[t+2]=255^g[t],g[t+3]=255^g[t+1];for(var o=0;e>o;++o)g[t+o+4]=I[o];return 8*(t+4+e)},uII=function(g,A,I,e,t,o,B,C,Q,i,E){DJ(A,E++,I),++t[256];for(var n=lvA(t,15),s=n[0],r=n[1],a=lvA(o,15),c=a[0],h=a[1],l=wII(s),D=l[0],d=l[1],y=wII(c),w=y[0],u=y[1],G=new dk(19),m=0;D.length>m;++m)G[31&D[m]]++;for(m=0;w.length>m;++m)G[31&w[m]]++;for(var p=lvA(G,7),k=p[0],S=p[1],R=19;R>4&&!k[rII[R-1]];--R);var x,N,U,K,Y=i+5<<3,_=ugA(t,r5)+ugA(o,kDA)+B,q=ugA(t,s)+ugA(o,c)+B+14+3*R+ugA(G,k)+(2*G[16]+3*G[17]+7*G[18]);if(_>=Y&&q>=Y)return dvA(A,E,g.subarray(Q,Q+i));if(DJ(A,E,1+(_>q)),E+=2,_>q){x=ygA(s,r),N=s,U=ygA(c,h),K=c;var j=ygA(k,S);for(DJ(A,E,d-257),DJ(A,E+5,u-1),DJ(A,E+10,R-4),E+=14,m=0;R>m;++m)DJ(A,E+3*m,k[rII[m]]);E+=3*R;for(var W=[D,w],Z=0;2>Z;++Z){var $=W[Z];for(m=0;$.length>m;++m)DJ(A,E,j[eA=31&$[m]]),E+=k[eA],eA>15&&(DJ(A,E,$[m]>>>5&127),E+=$[m]>>>12)}}else x=alt,N=r5,U=rlt,K=kDA;for(m=0;C>m;++m)if(e[m]>255){var eA;wgA(A,E,x[257+(eA=e[m]>>>18&31)]),E+=N[eA+257],eA>7&&(DJ(A,E,e[m]>>>23&31),E+=rvA[eA]);var IA=31&e[m];wgA(A,E,U[IA]),E+=K[IA],IA>3&&(wgA(A,E,e[m]>>>5&8191),E+=cvA[IA])}else wgA(A,E,x[e[m]]),E+=N[e[m]];return wgA(A,E,x[256]),E+N[256]},clt=new Gq([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),hlt=(function(){for(var g=new Gq(256),A=0;256>A;++A){for(var I=A,e=9;--e;)I=(1&I&&3988292384)^I>>>1;g[A]=I}return g})(),yvA=function(g,A,I){for(;I;++A)g[A]=I,I>>>=8};function llt(g,A){A===void 0&&(A={});var I=(function(){var n=4294967295;return{p(s){for(var r=n,a=0;s.length>a;++a)r=hlt[255&r^s[a]]^r>>>8;n=r},d(){return 4294967295^n}}})(),e=g.length;I.p(g);var t,o,B,C,Q,i=(C=10+((t=A).filename&&t.filename.length+1||0),Q=8,(function(n,s,r,a,c,h){var l=n.length,D=new $2(a+l+5*(1+Math.floor(l/7e3))+c),d=D.subarray(a,D.length-c),y=0;if(!s||8>l)for(var w=0;l>=w;w+=65535){var u=w+65535;l>u?y=dvA(d,y,n.subarray(w,u)):(d[w]=h,y=dvA(d,y,n.subarray(w,l)))}else{for(var G=clt[s-1],m=G>>>13,p=8191&G,k=(1<<r)-1,S=new dk(32768),R=new dk(k+1),x=Math.ceil(r/3),N=2*x,U=function(dA){return(n[dA]^n[dA+1]<<x^n[dA+2]<<N)&k},K=new Gq(25e3),Y=new dk(288),_=new dk(32),q=0,j=0,W=(w=0,0),Z=0,$=0;l>w;++w){var eA=U(w),IA=32767&w,QA=R[eA];if(S[IA]=QA,R[eA]=IA,w>=Z){var sA=l-w;if((q>7e3||W>24576)&&sA>423){y=uII(n,d,0,K,Y,_,j,W,$,w-$,y),W=q=j=0,$=w;for(var lA=0;286>lA;++lA)Y[lA]=0;for(lA=0;30>lA;++lA)_[lA]=0}var BA=2,hA=0,nA=p,aA=IA-QA&32767;if(sA>2&&eA==U(w-aA))for(var SA=Math.min(m,sA)-1,FA=Math.min(32767,w),rA=Math.min(258,sA);FA>=aA&&--nA&&IA!=QA;){if(n[w+BA]==n[w+BA-aA]){for(var NA=0;rA>NA&&n[w+NA]==n[w+NA-aA];++NA);if(NA>BA){if(BA=NA,hA=aA,NA>SA)break;var RA=Math.min(aA,NA-2),xA=0;for(lA=0;RA>lA;++lA){var bA=w-aA+lA+32768&32767,JA=bA-S[bA]+32768&32767;JA>xA&&(xA=JA,QA=bA)}}}aA+=(IA=QA)-(QA=S[IA])+32768&32767}if(hA){K[W++]=268435456|hvA[BA]<<18|lII[hA];var mA=31&hvA[BA],LA=31&lII[hA];j+=rvA[mA]+cvA[LA],++Y[257+mA],++_[LA],Z=w+BA,++q}else K[W++]=n[w],++Y[n[w]]}}y=uII(n,d,h,K,Y,_,j,W,$,w-$,y)}return yII(D,0,a+dII(y)+c)})(o=g,(B=A).level==null?6:B.level,B.mem==null?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(o.length)))):12+B.mem,C,Q,!0)),E=i.length;return(function(n,s){var r=s.filename;if(n[0]=31,n[1]=139,n[2]=8,n[8]=2>s.level?4:s.level==9?2:0,n[9]=3,s.mtime!=0&&yvA(n,4,Math.floor(new Date(s.mtime||Date.now())/1e3)),r){n[3]=8;for(var a=0;r.length>=a;++a)n[a+10]=r.charCodeAt(a)}})(i,A),yvA(i,E-8,I.d()),yvA(i,E-4,e),i}const Dlt=!!$HA||!!jAA,GII=new WeakMap,mII="text/plain";let wvA=0,MDA=!1;const pII=(g,A)=>{const[I,e]=g.split("#"),[t,o]=I.split("?");if(!o)return g;const B=o.split("&").filter(C=>C.split("=")[0]!==A).join("&");return`${t}${B?`?${B}`:""}${e?`#${e}`:""}`},SDA=(g,A,I=!0)=>{var e;const[t,o]=g.split("?"),B=QI({},A),C=(e=o?.split("&").map(i=>{var E;const[n,s]=i.split("="),r=I&&(E=B[n])!==null&&E!==void 0?E:s;return delete B[n],`${n}=${r}`}))!==null&&e!==void 0?e:[],Q=(function(i,E="&"){let n,s;const r=[];return Gn(i,function(a,c){Le(a)||Le(c)||c==="undefined"||(n=encodeURIComponent((h=>h instanceof File)(a)?a.name:a.toString()),s=encodeURIComponent(c),r[r.length]=s+"="+n)}),r.join(E)})(B);return Q&&C.push(Q),C.length>0?`${t}?${C.join("&")}`:t},uvA=g=>{if(g.lr)return g.lr;const{data:A,compression:I}=g;if(!A)return;if(I===gS.GZipJS){const t=llt((function(o){var B=o.length;if(typeof TextEncoder<"u")return new TextEncoder().encode(o);for(var C=new $2(o.length+(o.length>>>1)),Q=0,i=function(r){C[Q++]=r},E=0;B>E;++E){if(Q+5>C.length){var n=new $2(Q+8+(B-E<<1));n.set(C),C=n}var s=o.charCodeAt(E);128>s?i(s):2048>s?(i(192|s>>>6),i(128|63&s)):s>55295&&57344>s?(i(240|(s=65536+(1047552&s)|1023&o.charCodeAt(++E))>>>18),i(128|s>>>12&63),i(128|s>>>6&63),i(128|63&s)):(i(224|s>>>12),i(128|s>>>6&63),i(128|63&s))}return yII(C,0,Q)})(dq(A)),{mtime:0});return{contentType:mII,body:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength),estimatedSize:t.byteLength}}if(I===gS.Base64){const t=(function(B){return B&&btoa(encodeURIComponent(B).replace(/%([0-9A-F]{2})/g,(C,Q)=>String.fromCharCode(parseInt(Q,16))))})(dq(A)),o=(B=>"data="+encodeURIComponent(typeof B=="string"?B:dq(B)))(t);return{contentType:"application/x-www-form-urlencoded",body:o,estimatedSize:new Blob([o]).size}}const e=dq(A);return{contentType:"application/json",body:e,estimatedSize:new Blob([e]).size}},kII=g=>{const A=()=>g.transport==="sendBeacon"?{url:SDA(g.url,{compression:gS.Base64}),encodedBody:uvA(QI(QI({},g),{},{compression:gS.Base64,lr:void 0}))}:{url:pII(g.url,"compression"),encodedBody:uvA(QI(QI({},g),{},{compression:void 0,lr:void 0}))};let I;try{I=uvA(g)}catch(t){if(kAI(g.compression,yq(g.url,"compression")))return Dt.error("Failed to gzip request body, sending uncompressed payload",t),A();throw t}return I&&kAI(g.compression,yq(g.url,"compression"))&&!((e=I.body)instanceof ArrayBuffer?l6A(new Uint8Array(e)):ArrayBuffer.isView(e)&&l6A(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)))?(MDA=!0,A()):{url:g.url,encodedBody:I};var e},MII=g=>{try{return kII(g)}catch(I){var A;return Dt.error(I),void((A=g.callback)===null||A===void 0||A.call(g,{statusCode:0,error:I}))}},dlt=(function(){var g=ia(function*(A){const I=yield(function(t){return D6A.apply(this,arguments)})(dq(A.data),Dk.DEBUG,{rethrow:!0});if(!I)return A;const e=yield I.arrayBuffer();return QI(QI({},A),{},{lr:{contentType:mII,body:e,estimatedSize:e.byteLength}})});return function(A){return g.apply(this,arguments)}})(),ylt=/Failed to fetch|NetworkError|Load failed/i,SII=g=>g?.name==="TypeError"&&ylt.test(g?.message||""),fII=g=>{try{const A=(function(I,e=Date.now()){if(typeof I!="string"||!I)return;const t=I.trim(),o=/^\d+\s*,/.test(t)?t.slice(0,t.indexOf(",")).trim():t;if(/^\d+$/.test(o)){const Q=1e3*Math.min(Number(o),300);return Q>0?Q:void 0}if(!/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun)[a-z]*[ ,]/.test(o))return;const B=/^\w{3} \w{3} /.test(o)?o+" GMT":o,C=Date.parse(B)-e;return Number.isFinite(C)&&C>0?Math.min(C,oDA):void 0})(g());return Le(A)?void 0:Math.min(A,3e4)}catch{return}},RII=g=>{const A=MII(g);if(!A)return;const I=new $HA;GII.set(I,!0);const{url:e,encodedBody:t}=A;I.open(g.method||"GET",e,!0);const{contentType:o,body:B}=t??{};Gn(g.headers,function(C,Q){I.setRequestHeader(Q,C)}),o&&I.setRequestHeader("Content-Type",o),g.timeout&&(I.timeout=g.timeout),I.onreadystatechange=()=>{if(I.readyState===4){var C;const Q={statusCode:I.status,text:I.responseText};if(I.status===200)try{Q.json=JSON.parse(I.responseText)}catch{}(C=g.callback)===null||C===void 0||C.call(g,Q,fII(()=>I.getResponseHeader("Retry-After")))}},I.send(B)},NII=g=>{const A=MII(g);if(!A)return;const{url:I,encodedBody:e}=A,{contentType:t,body:o,estimatedSize:B}=e??{},C=new Headers;Gn(g.headers,function(a,c){C.append(c,a)}),t&&C.append("Content-Type",t);let Q=null,i=!1;if(w$g){const a=new w$g;Q={signal:a.signal,timeout:setTimeout(()=>{i=!0;try{a.abort(QAI("AbortError","PostHog request timed out"+((c=g.timeout)?` after ${c}ms`:"")))}catch(h){n(h)}var c},g.timeout)}}let E=!1;const n=a=>{var c;E||(E=!0,i&&a?.name==="AbortError"||SII(a)?Dt.warn(a):Dt.error(a),(c=g.callback)===null||c===void 0||c.call(g,{statusCode:0,error:a}))};let s=0;const r=()=>{wvA-=s,s=0,Q&&clearTimeout(Q.timeout)};try{const a=QI({method:g?.method||"GET",headers:C,referrerPolicy:"strict-origin",body:o,signal:Q?.signal},g.fetchOptions),c=B??(Le(o)?0:void 0);a.keepalive=a.method==="POST"&&!g.kl&&a.keepalive!==!1&&a.body===o&&!Le(c)&&c>=0&&52428.8>wvA+c,a.keepalive&&(s=c,wvA+=s),jAA(I,a).then(h=>h.text().then(l=>{var D;if(E)return;const d={statusCode:h.status,text:l};if(h.status===200)try{d.json=JSON.parse(l)}catch(y){Dt.error(y)}E=!0,r(),(D=g.callback)===null||D===void 0||D.call(g,d,fII(()=>h.headers.get("Retry-After")))})).catch(h=>{r(),n(h)}).finally(r)}catch(a){r(),n(a)}},GvA=g=>{try{var A;const{url:I,encodedBody:e}=kII(g),{contentType:t,body:o,estimatedSize:B}=e??{};if(!o)return;const C=o instanceof Blob?o:new Blob([o],{type:t});if(Tw.sendBeacon(I,C))return;const Q=cB(g.data)?g.data:(A=g.data)===null||A===void 0?void 0:A.batch;if(cB(Q)&&Q.length>1&&(B??0)>16384){const i=Math.ceil(Q.length/2),E=n=>cB(g.data)?n:QI(QI({},g.data),{},{batch:n});return GvA(QI(QI({},g),{},{data:E(Q.slice(0,i))})),void GvA(QI(QI({},g),{},{data:E(Q.slice(i))}))}Dt.warn(`Beacon of ~${B??0} bytes was rejected by the browser, falling back to ${jAA?"fetch":"XHR"}`),jAA?NII(QI(QI({},g),{},{kl:!0})):RII(g)}catch(I){Dt.warn("Beacon send failed",I)}},xII=(g,A,I,e)=>{const t=e==="query"?A==="POST"?"sent_at":"_":void 0;return SDA(I===gS.GZipJS?pII(g,"compression"):g,QI(QI({},t?{[t]:Date.now().toString()}:{}),I===gS.GZipJS?{}:{compression:I}))},wlt=(()=>{const g=[];return jAA&&g.push({transport:"fetch",method:NII}),$HA&&g.push({transport:"XHR",method:RII}),Tw?.sendBeacon&&g.push({transport:"sendBeacon",method:GvA}),g})();let FII=!Dlt&&Jm?.indexOf("MSIE")===-1&&Jm?.indexOf("Mozilla")===-1;function UII(g,A,I){var e,t,o;I&&(A=QI(QI({},A),{},{callback:B=>I(B)})),g.__loaded?FII?g.__request_queue.push(A):g.rateLimiter.isServerRateLimited(A.batchKey)?A.fireCallbackOnDrop&&((t=A.callback)===null||t===void 0||t.call(A,{statusCode:429})):(A.transport=A.transport||g.config.api_transport,A.headers=QI(QI({},g.config.request_headers),A.headers),A.compression=A.compression==="best-available"?(e=g.compression)!==null&&e!==void 0?e:A.compressionFallback:A.compression,(Le(g.config.disable_beacon)?g.config.__preview_disable_beacon:g.config.disable_beacon)&&(A.disableTransport=["sendBeacon"]),A.fetchOptions=A.fetchOptions||g.config.fetch_options,((B,C)=>{var Q,i,E;const n=QI(QI({},B),{},{callback:C??(h=>{var l;return(l=B.callback)===null||l===void 0?void 0:l.call(B,h)})});n.timeout=n.timeout||6e4;const s=(Q=n.transport)!==null&&Q!==void 0?Q:"fetch";s==="sendBeacon"&&Le(n.compression)&&n.data&&(n.compression=gS.Base64),n.method==="POST"&&n.data&&(n.timestampMode==="capture-body"?n.data=(h=>{var l,D;const d=(cB(h)?h:[h]).map(w=>QI(QI({},w),w.timestamp instanceof Date&&!isNaN(w.timestamp.getTime())?{timestamp:w.timestamp.toISOString()}:{})),y=d[0];return{api_key:(l=y==null||(D=y.properties)===null||D===void 0?void 0:D.token)!==null&&l!==void 0?l:y?.token,batch:d,sent_at:new Date().toISOString()}})(n.data):n.timestampMode==="body"&&(n.data=((h,l=new Date().toISOString())=>cB(h)?h.map(D=>QI(QI({},D),{},{sent_at:l})):QI(QI({},h),{},{sent_at:l}))(n.data))),n.url=xII(n.url,n.method,n.compression,n.timestampMode);const r=wlt.filter(h=>!n.disableTransport||!h.transport||!n.disableTransport.includes(h.transport)),a=(i=(E=(function(h,l){for(let D=0;h.length>D;D++)if(l(h[D]))return h[D]})(r,h=>h.transport===s))===null||E===void 0?void 0:E.method)!==null&&i!==void 0?i:r[0].method;if(!a)throw new Error("No available transport method");const c=h=>{try{a(h)}catch(D){var l;SII(D)?Dt.warn(D):Dt.error(D),(l=n.callback)===null||l===void 0||l.call(n,{statusCode:0,error:D})}};s!=="sendBeacon"&&!n.preferSyncCompression&&n.data&&n.compression===gS.GZipJS&&Fct&&typeof Promise<"u"&&!MDA?dlt(n).then(h=>{c(h)}).catch(h=>{if(MAI(h))return MDA=!0,void c(QI(QI({},n),{},{compression:void 0,url:xII(B.url,B.method,void 0,B.timestampMode)}));(l=>{if(!l||typeof l!="object")return!1;const D="name"in l?String(l.name):"";return MAI(l)||D===pAI})(h)&&(MDA=!0),c(n)}):c(n)})(A,(B,C)=>{var Q,i,E;g.rateLimiter.checkForLimiting(B),400>B.statusCode||(Q=(i=g.config).on_request_error)===null||Q===void 0||Q.call(i,B),I?I(B,C):(E=A.callback)===null||E===void 0||E.call(A,B)})):A.fireCallbackOnDrop&&((o=A.callback)===null||o===void 0||o.call(A,{statusCode:0}))}var ult=class{constructor(A,I){this.Zu=!0,this.Ju=[],this.Ku=wx(I?.flush_interval_ms||3e3,250,5e3,Dt.createLogger("flush interval"),3e3),this.Xu=A}enqueue(A){this.Ju.push(A),this.Yu||this.tc()}unload(){this.ec();const A=this.Ju.length>0?this.nc():{},I=Object.values(A);[...I.filter(e=>e.url.indexOf("/e")===0),...I.filter(e=>e.url.indexOf("/e")!==0)].map(e=>{this.sc(QI(QI({},e),{},{callback:void 0}),"sendBeacon")})}enable(){this.Zu=!1,this.tc()}tc(){this.Zu||(this.Yu=setTimeout(()=>{this.ec(),this.rc()},this.Ku))}rc(){if(this.Ju.length>0){const A=this.nc();for(const I in A)this.sc(A[I])}}sc(A,I){try{this.Xu(A,I)}catch(e){Dt.error(e)}}ec(){clearTimeout(this.Yu),this.Yu=void 0}nc(){const A={},I={};Gn(this.Ju,e=>{var t;const o=e,B=((o?o.batchKey:null)||o.url)+(o.batchGroup?`:${o.batchGroup}`:"");Le(A[B])&&(A[B]=QI(QI({},o),{},{data:[],callback:void 0,fireCallbackOnDrop:void 0}),I[B]=[]),(t=A[B].data)===null||t===void 0||t.push(o.data),o.callback&&I[B].push(o.callback)});for(const e in I){const t=I[e];t.length&&(A[e].callback=o=>{for(const B of t)B(o)})}return this.Ju=[],A}};const Glt=["retriesPerformedSoFar"];var mlt=class{constructor(A){this._instance=A,this.oc=!1,this.ac=3e3,this.Ju=[],this.Ju=[],this.lc=!0,this.resume()}resume(){if(!Le(Se)&&"onLine"in Se.navigator){if(this.lc=Se.navigator.onLine,this.uc)return;this.uc=()=>{this.lc=!0,this.rc()},this.cc=()=>{this.lc=!1},NE(Se,"online",this.uc),NE(Se,"offline",this.cc)}}get length(){return this.Ju.length}retriableRequest(A,I){let{retriesPerformedSoFar:e}=A,t=fAI(A,Glt);sJ(e)&&(t.url=SDA(t.url,{retry_count:e})),UII(this._instance,I?QI(QI({},t),{},{transport:I}):t,(o,B)=>{var C;if(o.statusCode!==200&&(400>o.statusCode||o.statusCode>=500)){if((o.statusCode===0?3:10)>(e??0))return void this.Ls(QI({retriesPerformedSoFar:e},t),B);o.statusCode===0&&Dt.warn(`Request failed before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped retrying after ${e??0} retries.`)}(C=t.callback)===null||C===void 0||C.call(t,o)})}Ls(A,I){const e=A.retriesPerformedSoFar||0;A.retriesPerformedSoFar=e+1;const t=Math.max((function(C){const Q=3e3*Math.pow(2,C),i=Q/2,E=Math.min(18e5,Q),n=(Math.random()-.5)*(E-i);return Math.ceil(E+n)})(e),I??0),o=Date.now()+t;this.Ju.push({retryAt:o,requestOptions:A});let B=`Enqueued failed request for retry in ${t}`;navigator.onLine||(B+=" (Browser is offline)"),Dt.warn(B),this.oc||(this.oc=!0,this.hc())}hc(){if(this.dc&&clearTimeout(this.dc),this.Ju.length===0)return this.oc=!1,void(this.dc=void 0);this.dc=setTimeout(()=>{this.lc&&this.Ju.length>0&&this.rc(),this.hc()},this.ac)}rc(){const A=Date.now(),I=[],e=this.Ju.filter(t=>A>t.retryAt||(I.push(t),!1));if(this.Ju=I,e.length>0)for(const{requestOptions:t}of e)this.retriableRequest(t)}unload(){this.dc&&(clearTimeout(this.dc),this.dc=void 0),this.oc=!1,Le(Se)||(this.uc&&(Se.removeEventListener("online",this.uc),this.uc=void 0),this.cc&&(Se.removeEventListener("offline",this.cc),this.cc=void 0));for(const{requestOptions:A}of this.Ju)try{this._instance._send_request(QI(QI({},A),{},{callback:cB(A.data)?void 0:A.callback,transport:"sendBeacon"}))}catch(I){Dt.error(I)}this.Ju=[]}},plt=class{constructor(A){this._instance=A,this.vc=()=>{var I,e,t,o;this.fc||(this.fc={});const B=this.scrollElement(),C=this.scrollY(),Q=B?Math.max(0,B.scrollHeight-B.clientHeight):0,i=C+(B?.clientHeight||0),E=B?.scrollHeight||0;this.fc.lastScrollY=Math.ceil(C),this.fc.maxScrollY=Math.max(C,(I=this.fc.maxScrollY)!==null&&I!==void 0?I:0),this.fc.maxScrollHeight=Math.max(Q,(e=this.fc.maxScrollHeight)!==null&&e!==void 0?e:0),this.fc.lastContentY=i,this.fc.maxContentY=Math.max(i,(t=this.fc.maxContentY)!==null&&t!==void 0?t:0),this.fc.maxContentHeight=Math.max(E,(o=this.fc.maxContentHeight)!==null&&o!==void 0?o:0)}}get gc(){return this._instance.config.scroll_root_selector}getContext(){return this.fc}resetContext(){const A=this.fc;return this.fc=void 0,setTimeout(this.vc,0),A}startMeasuringScrollPosition(){NE(Se,"scroll",this.vc,{capture:!0}),NE(Se,"scrollend",this.vc,{capture:!0}),NE(Se,"resize",this.vc)}scrollElement(){if(this.gc){const e=cB(this.gc)?this.gc:[this.gc];for(const t of e){var A;const o=Se==null||(A=Se.document)===null||A===void 0?void 0:A.querySelector(t);if(o)return o}return}var I;return Se==null||(I=Se.document)===null||I===void 0?void 0:I.documentElement}mc(A){var I,e;const t=A==="y"?"scrollTop":"scrollLeft";if(this.gc){const o=this.scrollElement();return o&&o[t]||0}return Se?A==="y"?Se.scrollY||Se.pageYOffset||((I=Se.document)===null||I===void 0||(I=I.documentElement)===null||I===void 0?void 0:I.scrollTop)||0:Se.scrollX||Se.pageXOffset||((e=Se.document)===null||e===void 0||(e=e.documentElement)===null||e===void 0?void 0:e.scrollLeft)||0:0}scrollY(){return this.mc("y")}scrollX(){return this.mc("x")}};const klt=g=>BII(g?.config.mask_personal_data_properties,g?.config.custom_personal_data_properties,g?.config.disable_capture_url_hashes);var JII=class{constructor(A,I,e,t){this.qe=o=>{const B=this.yc();if(B&&B.sessionId===o)return;const C={sessionId:o,props:this.bc(this._instance)};this._c.register({[_6A]:C})},this._instance=A,this.wc=I,this._c=e,this.bc=t||klt,this.wc.onSessionId(this.qe)}yc(){return this._c.props[_6A]}getSetOnceProps(){var A;const I=(A=this.yc())===null||A===void 0?void 0:A.props;return I?"r"in I?CII(I,this._instance.config.disable_capture_url_hashes):{$referring_domain:I.referringDomain,$pathname:I.initialPathName,utm_source:I.utm_source,utm_campaign:I.utm_campaign,utm_medium:I.utm_medium,utm_content:I.utm_content,utm_term:I.utm_term}:{}}getSessionProps(){const A={};return Gn(Z6A(this.getSetOnceProps()),(I,e)=>{e==="$current_url"&&(e="url"),A[`$session_entry_${g6A(e)}`]=I}),A}},fDA=class{on(A,I){return this.bo[A]||(this.bo[A]=[]),this.bo[A].push(I),()=>{this.bo[A]=this.bo[A].filter(e=>e!==I)}}emit(A,I){for(const e of this.bo[A]||[])e(I);for(const e of this.bo["*"]||[])e(A,I)}constructor(){this.bo={}}};const pq=Ic("[SessionId]"),PII=864e5;var KII=class{on(g,A){return this.kc.on(g,A)}constructor(g,A,I){var e;if(this.Sc=null,this.xc=null,this.$c=[],this.Cc=void 0,this.Tc=!1,this.kc=new fDA,this.Ic=(o,B)=>!(!sJ(o)||!sJ(B))&&Math.abs(o-B)>this.sessionTimeoutMs,!g.persistence)throw new Error("SessionIdManager requires a PostHogPersistence instance");if(g.config.cookieless_mode==="always")throw new Error('SessionIdManager cannot be used with cookieless_mode="always"');this.Ar=g.config,this._c=g.persistence,this.je=void 0,this.Xt=void 0,this._sessionStartTimestamp=null,this.Mc=void 0,this._sessionActivityTimestamp=null,this.Ec=A||UR,this.Pc=I||UR;const t=this.Ar.persistence_name||this.Ar.token;if(this._sessionTimeoutMs=1e3*wx(this.Ar.session_idle_timeout_seconds||1800,60,36e3,pq.createLogger("session_idle_timeout_seconds"),1800),g.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this.Rc(),this.Ac="ph_"+t+"_window_id",this.Fc="ph_"+t+"_primary_window_exists",this.Oc()){const o=Ea.Lt(this.Ac),B=Ea.Lt(this.Fc);o&&!B?this.je=o:Ea.Pt(this.Ac),Ea.At(this.Fc,!0)}!((e=this.Ar.bootstrap)===null||e===void 0)&&e.sessionID&&this.setBootstrapSessionId(this.Ar.bootstrap.sessionID),this.Dc()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(g){return Le(this.$c)&&(this.$c=[]),this.$c.push(g),this.Xt&&g(this.Xt,this.je),()=>{this.$c=this.$c.filter(A=>A!==g)}}Oc(){return this.Ar.persistence!=="memory"&&!this._c.hi&&Ea.$t()}Lc(g){g!==this.je&&(this.je=g,this.Oc()&&Ea.At(this.Ac,g))}Nc(){return this.je?this.je:this.Oc()?Ea.Lt(this.Ac):null}qc(g){const A=this.Sc;return!Yc(A)&&!Yc(g)&&5e3>Math.abs(g-A)}jc(g,A,I){const e=A!==this._sessionActivityTimestamp,t=!(g!==this.Xt||I!==this._sessionStartTimestamp);this._sessionStartTimestamp=I,this._sessionActivityTimestamp=A,this.Xt=g,t&&!e||t&&this.qc(A)||(this.Sc=A,this._c.register({[nq]:[A,g,I]}))}Bc(){var g;const A=(g=this.Ar)===null||g===void 0?void 0:g.persistence_save_debounce_ms;return sJ(A)&&A>0}zc(){this.Bc()?this._c.refreshKey(nq):(this._c.flush(),this._c.load())}Hc(){var g;if(Yc(this._sessionActivityTimestamp)||this._sessionActivityTimestamp===this.Sc)return;this.zc();const[,A,I]=this.Uc();A===this.Xt&&I===this._sessionStartTimestamp&&(this.Sc=this._sessionActivityTimestamp,this._c.register({[nq]:[this._sessionActivityTimestamp,(g=this.Xt)!==null&&g!==void 0?g:null,this._sessionStartTimestamp]}),this._c.flush())}Wc(){const[g]=this.Uc(),A=sJ(g)?g:0,I=sJ(this._sessionActivityTimestamp)?this._sessionActivityTimestamp:0;return Math.max(A,I)}Vc(g){return this.zc(),this.Ic(g,this.Wc())}Uc(){const g=this._c.props[nq];return cB(g)&&g.length===2&&g.push(g[0]),g||[0,null,0]}resetSessionId(){this.Sc=null,this.Mc=void 0,clearTimeout(this.Gc),this.Gc=void 0,this.jc(null,null,null)}setBootstrapSessionId(g,A=!1){const I=((e,t=new Date().getTime())=>{try{const o=(B=>{const C=B.replace(/-/g,"");if(C.length!==32)throw new Error("Not a valid UUID");if(C[12]!=="7")throw new Error("Not a UUIDv7");return parseInt(C.substring(0,12),16)})(e);return o>t+6e4?void pq.error("Bootstrap sessionID cannot be in the future"):o}catch(o){return void pq.error("Invalid sessionID in bootstrap",o)}})(g);return!Le(I)&&(A?this.Mc={sessionId:g,sessionStartTimestamp:I}:this.jc(g,new Date().getTime(),I),!0)}destroy(){this.Tc=!0,this.Hc(),clearTimeout(this.Gc),this.Gc=void 0,this.Cc&&Se&&(Se.removeEventListener(DDA,this.Cc,{capture:!1}),this.Cc=void 0),this.$c=[]}Dc(){this.Cc=()=>{this.Hc(),this.Oc()&&Ea.Pt(this.Fc)},NE(Se,DDA,this.Cc,{capture:!1})}checkAndGetSessionAndWindowId(g=!1,A=null,I=!1){if(this.Ar.cookieless_mode==="always")throw new Error('checkAndGetSessionAndWindowId should not be called with cookieless_mode="always"');const e=A||new Date().getTime(),t=this.Xt;if(I)this.xc=e;else if(Yc(this.xc)||this.xc>e||e-this.xc>=1e3){var o,B;(o=(B=this._c).syncCookieProperties)===null||o===void 0||o.call(B),this.xc=e}let[,C,Q]=this.Uc();const i=!Le(t)&&C!==t,E=this.Wc();let n=this.Nc();const s=this.Mc,r=!!s&&(s.sessionStartTimestamp>e+6e4||e-s.sessionStartTimestamp>PII),a=s?r:sJ(Q)&&Math.abs(e-Q)>PII;let c=!1,h=i,l=!C||!!s;const D=C;let d=!l&&!g&&this.Ic(e,E);if(d&&(d=this.Vc(e),d||pq.info("cross-tab refresh kept the session alive",{sessionId:C}),[,C,Q]=this.Uc(),d||(l=!C||!!s)),l||d||a){h=!1;const G=s&&!r;C=G?s.sessionId:this.Ec(),n=this.Pc(),pq.info("new session ID assigned",{sessionId:C,windowId:n,bootstrapped:!!G,changeReason:{noSessionId:l,activityTimeout:d,sessionPastMaximumLength:a}}),Q=G?s.sessionStartTimestamp:e,this.Mc=void 0,c=!0}else n||(n=this.Pc(),c=!0),h=h||C!==D,h&&(pq.info("adopted cross-tab session id",{sessionId:C,windowId:n}),c=!0);const y=sJ(E)&&g&&!a?E:e,w=sJ(Q)?Q:new Date().getTime();this.Lc(n),this.jc(C,y,w),g||this.Rc();const u={noSessionId:l,activityTimeout:d,sessionPastMaximumLength:a,crossTabAdoption:h};return c&&this.$c.forEach(G=>G(C,n,u)),{sessionId:C,windowId:n,sessionStartTimestamp:w,changeReason:c?u:void 0,lastActivityTimestamp:E}}Rc(){this.Tc||(clearTimeout(this.Gc),this.Gc=setTimeout(()=>{if(!this.Tc)if(this.Vc(new Date().getTime())){const g=this.Xt;this.resetSessionId(),this.kc.emit("forcedIdleReset",{idleSessionId:g})}else this.Rc()},1.1*this.sessionTimeoutMs))}};const LII=function(g,A){if(!g)return!1;const I=g.userAgent;if(I&&M$g(I,A))return!0;try{const e=g?.userAgentData;if(e?.brands&&e.brands.some(t=>M$g(t?.brand,A)))return!0}catch{}return!!g.webdriver};function YII(){return(YII=ia(function*(){const g=Tw?.userAgentData;if(g?.getHighEntropyValues)try{const A=yield g.getHighEntropyValues(["model"]),I=A?.model;return KC(I)&&I.length>0?I:void 0}catch(A){return void Dt.info("Unable to resolve $device_model from userAgentData.getHighEntropyValues",A)}})).apply(this,arguments)}function Mlt(g,A){let I=`$survey_${A}/${g.id}`;return g.current_iteration&&g.current_iteration>0&&(I=`$survey_${A}/${g.id}/${g.current_iteration}`),I}function _II(g){var A;return!!(!((A=g.conditions)===null||A===void 0||(A=A.events)===null||A===void 0||(A=A.values)===null||A===void 0)&&A.length)}const RDA=(g,A)=>{if(!(I=>{try{new RegExp(I)}catch{return!1}return!0})(A))return!1;try{return new RegExp(A).test(g)}catch{return!1}},NDA=g=>g.toLowerCase(),bII={exact:(g,A)=>A.some(I=>g.some(e=>I===e)),is_not:(g,A)=>A.every(I=>g.every(e=>I!==e)),regex:(g,A)=>A.some(I=>g.some(e=>RDA(I,e))),not_regex:(g,A)=>A.every(I=>g.every(e=>!RDA(I,e))),icontains:(g,A)=>A.map(NDA).some(I=>g.map(NDA).some(e=>I.includes(e))),not_icontains:(g,A)=>A.map(NDA).every(I=>g.map(NDA).every(e=>!I.includes(e))),gt:(g,A)=>A.some(I=>{const e=parseFloat(I);return!isNaN(e)&&g.some(t=>e>parseFloat(t))}),lt:(g,A)=>A.some(I=>{const e=parseFloat(I);return!isNaN(e)&&g.some(t=>e<parseFloat(t))})};function HII(g,A){return!g||Object.entries(g).every(([I,e])=>{const t=A?.[I];if(t==null)return!1;const o=bII[e.operator];return!!o&&o(e.values.map(String),[String(t)])})}function mvA(g,A,I){return dq({distinct_id:g,userPropertiesToSet:A,userPropertiesToSetOnce:I})}const pvA="custom",vII="i.posthog.com",Slt=/^\/static\//,flt=["/s/","/e/","/i/"];var Rlt=class{constructor(A){this.Qc={},this.instance=A}get apiHost(){const A=this.instance.config.api_host.trim().replace(/\/$/,"");return A==="https://app.posthog.com"?"https://us.i.posthog.com":A}get flagsApiHost(){const A=this.instance.config.flags_api_host;return A?A.trim().replace(/\/$/,""):this.apiHost}get uiHost(){var A;let I=(A=this.instance.config.ui_host)===null||A===void 0?void 0:A.replace(/\/$/,"");return I||(I=this.apiHost.replace(`.${vII}`,".posthog.com")),I==="https://app.posthog.com"?"https://us.posthog.com":I}get region(){return this.Qc[this.apiHost]||(this.Qc[this.apiHost]=/https:\/\/(app|us|us-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"us":/https:\/\/(eu|eu-assets)(\.i)?\.posthog\.com/i.test(this.apiHost)?"eu":pvA),this.Qc[this.apiHost]}Zc(A){if(!Slt.test(A))return;const I=this.instance.config.asset_host;return typeof I=="string"&&I.trim().replace(/\/$/,"")||void 0}Jc(A){const I=hJ(A);return I?I.protocol+"//"+I.host+I.pathname:void 0}Kc(A,I,e){if(A==="ui")return e;let t=e;const o=this.instance.config.rewriteRequestPath;if(o){var B;const C=((B=hJ(e))===null||B===void 0?void 0:B.href)||e;t=o(new URL(C)).toString()}if(o&&A==="api"&&flt.some(C=>I.indexOf(C)===0)){const C=this.Jc(t);if(C){const Q=this.apiHost;let i=this.Xc;i?.apiHost===Q&&i.rewriteRequestPath===o||(i={apiHost:Q,rewriteRequestPath:o,urls:new Set},this.Xc=i),i.urls.add(C)}}return t}isIngestionEndpoint(A){const I=this.Xc,e=this.Jc(A);return I?.apiHost===this.apiHost&&I.rewriteRequestPath===this.instance.config.rewriteRequestPath&&!!e&&I.urls.has(e)}endpointFor(A,I=""){if(I&&(I=I[0]==="/"?I:`/${I}`),A==="ui")return this.Kc(A,I,this.uiHost+I);if(A==="flags")return this.Kc(A,I,this.flagsApiHost+I);if(A==="assets"){const t=this.Zc(I);if(t)return this.Kc(A,I,`${t}${I}`)}if(this.region===pvA)return this.Kc(A,I,this.apiHost+I);const e=vII+I;switch(A){case"assets":return this.Kc(A,I,`https://${this.region}-assets.${e}`);case"api":return this.Kc(A,I,`https://${this.region}.${e}`)}}};const mn=Ic("[Surveys]"),TII=g=>{try{const A=(I=>((e,t)=>`seenSurvey_${(function(o){return o.current_iteration&&o.current_iteration>0?`${o.id}_${o.current_iteration}`:o.id})(t)}`)(0,I))(g);if(localStorage.getItem(A))return;localStorage.setItem(A,"true")}catch(A){mn.error("Failed to persist survey seen state",A)}},Nlt=[nvA.Popover,nvA.Widget,nvA.API],xlt={ignoreConditions:!1,ignoreDelay:!1,displayType:avA.Popover},Flt=Ic("[PostHog ExternalIntegrations]"),Ult={intercom:"intercom-integration",crispChat:"crisp-chat-integration"};var Jlt=class{constructor(A){this._instance=A}Ml(A,I){var e,t;(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,A,o=>{if(o)return Flt.error("failed to load script",o);I()})}startIfEnabledOrStop(){var A;for(const[o,B]of Object.entries((A=this._instance.config.integrations)!==null&&A!==void 0?A:{})){var I,e,t;B&&!(!((I=JB.__PosthogExtensions__)===null||I===void 0||(I=I.integrations)===null||I===void 0)&&I[o])&&this.Ml(Ult[o],()=>{var C;(C=JB.__PosthogExtensions__)===null||C===void 0||(C=C.integrations)===null||C===void 0||(C=C[o])===null||C===void 0||C.start(this._instance)}),!B&&(!((e=JB.__PosthogExtensions__)===null||e===void 0||(e=e.integrations)===null||e===void 0)&&e[o])&&((t=JB.__PosthogExtensions__)===null||t===void 0||(t=t.integrations)===null||t===void 0||(t=t[o])===null||t===void 0||t.stop())}}},qII=class{constructor(A){this.disabled=A===!1;const I=yC(A)?A:{};this.thresholdPx=I.threshold_px||30,this.timeoutMs=I.timeout_ms||1e3,this.clickCount=I.click_count||3,this.clicks=[]}isRageClick(A,I,e){if(this.disabled)return!1;const t=this.clicks[this.clicks.length-1];if(t&&Math.abs(A-t.x)+Math.abs(I-t.y)<this.thresholdPx&&this.timeoutMs>e-t.timestamp){if(this.clicks.push({x:A,y:I,timestamp:e}),this.clicks.length===this.clickCount)return!0}else this.clicks=[{x:A,y:I,timestamp:e}];return!1}};const kvA=()=>typeof window>"u"?void 0:window,GgA=()=>typeof document>"u"?void 0:document,MvA="$copy_autocapture",SvA=Ic("[AutoCapture]");function fvA(g,A){return A.length>g?A.slice(0,g)+"...":A}function Plt(g){if(g.previousElementSibling)return g.previousElementSibling;let A=g;do A=A.previousSibling;while(A&&!JR(A));return A}function Klt(g,{e:A,maskAllElementAttributes:I,maskAllText:e,elementAttributeIgnoreList:t,elementsChainAsString:o,disableCaptureUrlHashes:B}){var C,Q;if(!JR(g))return{props:{}};const i=[g],E=new Set([g]);let n=g;for(;n.parentNode&&!qw(n,"body")&&1e3>i.length;){if(AvA(n.parentNode)){const u=n.parentNode.host;if(E.has(u))break;E.add(u),i.push(u),n=u;continue}if(!JR(n.parentNode)||E.has(n.parentNode))break;E.add(n.parentNode),i.push(n.parentNode),n=n.parentNode}const s=A.type==="click"&&g.namespaceURI==="http://www.w3.org/2000/svg"?i.findIndex(u=>qw(u,"button")||qw(u,"a")):-1;s>0&&(e=e||i.slice(0,s+1).some(u=>!a5(u)||lq(u)));const r=[],a={};let c,h=!1,l=!1;if(Gn(i,u=>{const G=a5(u);if(qw(u,"a")&&!I&&!t?.includes("href")){const m=u.getAttribute("href");h=!!(G&&m&&Dq(m))&&(B?E3(m):m)}yB(hq(u),"ph-no-capture")&&(l=!0),r.push((function(m,p,k,S,R=!1){const x=m.tagName.toLowerCase(),N={tag_name:x};IvA.indexOf(x)>-1&&!k&&(N.$el_text=x.toLowerCase()==="a"||x.toLowerCase()==="button"?fvA(1024,vgI(m)):fvA(1024,agA(m)));const U=hq(m);p||S?.includes("class")||0>=U.length||(N.classes=U.filter(function(q){return q!==""})),Gn(m.attributes,function(q){var j;if((!lq(m)||["name","id","class","aria-label"].indexOf(q.name)!==-1)&&!S?.includes(q.name)&&!p&&Dq(q.value)&&(!KC(j=q.name)||j.substring(0,10)!=="_ngcontent"&&j.substring(0,7)!=="_nghost")){let W=q.value;q.name==="class"&&(W=gvA(W).join(" ")),N["attr__"+q.name]=fvA(1024,q.name==="href"&&R?E3(W):W)}});let K=1,Y=1,_=m;for(;_=Plt(_);)K++,_.tagName===m.tagName&&Y++;return N.nth_child=K,N.nth_of_type=Y,N})(u,I,e,t,B)),Gn((function(m){if(!a5(m))return{};const p={};return Gn(m.attributes,function(k){if(k.name&&k.name.indexOf("data-ph-capture-attribute")===0){const S=k.name.replace("data-ph-capture-attribute-",""),R=k.value;S&&R&&Dq(R)&&(p[S]=R)}}),p})(u),(m,p)=>{({}).hasOwnProperty.call(a,p)||(a[p]=m)})}),l)return{props:{},explicitNoCapture:l};if(s>0&&(g=i[s],r.splice(0,s)),e||(r[0].$el_text=qw(g,"a")||qw(g,"button")?vgI(g):agA(g)),h){var D,d;r[0].attr__href=h;const u=(D=hJ(h))===null||D===void 0?void 0:D.host,G=(d=kvA())===null||d===void 0||(d=d.location)===null||d===void 0?void 0:d.host;u&&G&&u!==G&&(c=h)}return{props:ar((w=A.type,{$event_type:w,$ce_version:1}),o?{}:{$elements:r},{$elements_chain:(y=r,cB(y)?(function(u){return u.map(G=>{var m,p;let k="";if(G.tag_name&&(k+=G.tag_name),G.attr_class){G.attr_class.sort();for(const x of G.attr_class)k+=`.${x.replace(/"/g,"")}`}const S=QI(QI(QI(QI({},G.text?{text:G.text}:{}),{},{"nth-child":(m=G.nth_child)!==null&&m!==void 0?m:0,"nth-of-type":(p=G.nth_of_type)!==null&&p!==void 0?p:0},G.href?{href:G.href}:{}),G.attr_id?{attr_id:G.attr_id}:{}),G.attributes),R={};return dDA(S).sort(([x],[N])=>(function(U,K){return K>U?-1:U>K?1:0})(x,N)).forEach(([x,N])=>R[qgI(x.toString())]=qgI(N.toString())),k+=":",k+=dDA(R).map(([x,N])=>`${x}="${N}"`).join(""),k}).join(";")})((function(u){return u.map(G=>{var m,p;const k={text:(m=G.$el_text)===null||m===void 0?void 0:m.slice(0,400),tag_name:G.tag_name,href:(p=G.attr__href)===null||p===void 0?void 0:p.slice(0,2048),attr_class:$0t(G),attr_id:G.attr__id,nth_child:G.nth_child,nth_of_type:G.nth_of_type,attributes:{}};return dDA(G).filter(([S])=>S.indexOf("attr__")===0).forEach(([S,R])=>k.attributes[S]=R),k})})(y)):"")},!((C=r[0])===null||C===void 0)&&C.$el_text?{$el_text:(Q=r[0])===null||Q===void 0?void 0:Q.$el_text}:{},c&&A.type==="click"?{$external_click_url:c}:{},a),target:g};var y,w}const ZII="autocapture";var Llt=class{el(){this.il=void 0,clearTimeout(this.nl),this.nl=void 0}sl(A){var I;if(!a5(A))return!0;const e=(I=this.rl().css_selector_ignorelist)!==null&&I!==void 0?I:ovA,t=new Set;let o=A;for(;o;){if(t.size>=1e3||t.has(o))return!0;t.add(o);const B=o,C=hq(B);if(yB(C,"ph-no-capture")||yB(C,"ph-sensitive")||lq(B)||e.some(i=>evA(B,i)))return!0;const Q=o.parentNode;o=AvA(Q)?Q.host:Q&&JR(Q)?Q:null}return!1}ol(A){if(!this.isEnabled||A.type==="pointercancel")return void this.el();if(A.type==="pointerdown"){var I;this.el();const t=rgA(A);return void(A.isPrimary&&A.button===0&&!A.ctrlKey&&t&&JR(t)&&(this.il={target:t,excluded:this.sl(t),id:A.pointerId,x:A.clientX,y:A.clientY,released:!1,distinctId:(I=this.xa)===null||I===void 0?void 0:I.distinctId}))}const e=this.il;e&&(A.pointerId!==e.id||Math.abs(A.clientX-e.x)>5||Math.abs(A.clientY-e.y)>5?this.el():A.type==="pointerup"&&(e.released=!0,this.nl=setTimeout(()=>this.el(),0)))}al(A){var I;const e=this.il;this.el();const t=rgA(A);if(e?.released&&e.target.isConnected&&e.distinctId===((I=this.xa)===null||I===void 0?void 0:I.distinctId)&&A.pointerId===e.id&&(A.detail>0||A.pointerType==="touch"||A.pointerType==="pen")&&A.button===0&&5>=Math.abs(A.clientX-e.x)&&5>=Math.abs(A.clientY-e.y)&&t&&(qw(t,"html")||qw(t,"body"))){var o,B,C;if(e.excluded)return null;const Q=(o=this.rl().css_selector_ignorelist)!==null&&o!==void 0?o:ovA;return[t,(B=GgA())===null||B===void 0?void 0:B.documentElement,(C=GgA())===null||C===void 0?void 0:C.body].some(i=>{if(!i)return!1;const E=hq(i);return yB(E,"ph-no-capture")||yB(E,"ph-sensitive")||!a5(i)||lq(i)||Q.some(n=>evA(i,n))})?null:e.target}}constructor(A){this.Ta=A,this.name=ZII,this.ll=!1,this.ul=null,this.cl=!1,this.hl=new Map,this.dl=!1,this.Ar={enabled:!1,rageclick:!1,maskAllElementAttributes:!1,maskAllText:!1,disableCaptureUrlHashes:!1,remoteRequestsDisabled:!1},this.Ci=!1,this.Ta.refresh(this.Ar),this.rageclicks=new qII(this.Ar.rageclick),this.vl=null}setup(A){this.fl(),this.xa=A;const I=A.onRemoteConfig(this.onRemoteConfig.bind(this));this.Ci?I.dispose():(this.qa=I,this.startIfEnabled())}dispose(){var A;this.Ci||(this.Ci=!0,this.xa=void 0,(A=this.qa)===null||A===void 0||A.dispose(),this.qa=void 0,this.hl.clear(),this.vl=null,this.pl())}rl(){return this.Ta.refresh(this.Ar),this.Ar}fl(){var A,I;return this.rl(),this.Ar.url_allowlist=(A=this.Ar.url_allowlist)===null||A===void 0?void 0:A.map(e=>new RegExp(e)),this.Ar.url_ignorelist=(I=this.Ar.url_ignorelist)===null||I===void 0?void 0:I.map(e=>new RegExp(e)),this.Ar}gl(){const A=kvA(),I=GgA();if(!this.isBrowserSupported())return void SvA.info("Disabling Automatic Event Collection because this browser is not supported");if(!A||!I)return;this.ml=A,this.yl=I;const e=this.bl=t=>{t=t||A?.event;try{if(t.type==="blur")return void this.el();if(t.type.indexOf("pointer")===0)return void this.ol(t);const o=t.type==="click"?this.al(t):void 0;if(Yc(o))return;this._l(t,"$autocapture",o)}catch(o){SvA.error("Failed to capture event",o)}};if(NE(A,"blur",e),NE(I,"submit",e,{capture:!0}),NE(I,"change",e,{capture:!0}),NE(I,"click",e,{capture:!0}),Gn(["pointerdown","pointermove","pointerup","pointercancel"],t=>{NE(I,t,e,{capture:!0})}),this.rl().capture_copied_text){const t=this.wl=o=>{o=o||A?.event;try{this._l(o,MvA)}catch(B){SvA.error("Failed to capture clipboard event",B)}};NE(I,"copy",t,{capture:!0}),NE(I,"cut",t,{capture:!0}),NE(I,"paste",t,{capture:!0})}}pl(){const A=this.ml,I=this.yl;this.el(),this.bl&&(A?.removeEventListener("blur",this.bl),Gn(["pointerdown","pointermove","pointerup","pointercancel"],e=>{I?.removeEventListener(e,this.bl,!0)}),I?.removeEventListener("submit",this.bl,!0),I?.removeEventListener("change",this.bl,!0),I?.removeEventListener("click",this.bl,!0),this.bl=void 0),this.wl&&(I?.removeEventListener("copy",this.wl,!0),I?.removeEventListener("cut",this.wl,!0),I?.removeEventListener("paste",this.wl,!0),this.wl=void 0),this.ml=void 0,this.yl=void 0,this.ll=!1}startIfEnabled(){this.isEnabled||this.el(),!this.Ci&&this.xa&&this.isEnabled&&!this.ll&&(this.gl(),this.ll=!0)}onRemoteConfig(A){if(this.Ci)return;if(this.cl=!0,!A.ok)return void this.startIfEnabled();const I=A.config;I.elementsChainAsString&&(this.dl=I.elementsChainAsString);const e=I.autocapture_opt_out;var t;Pm(e)&&((t=this.xa)===null||t===void 0||t.kv.set("$autocapture_disabled_server_side",e),this.ul=e),this.startIfEnabled()}setElementSelectors(A,I=this){if(this.Ci)return;A.size?this.hl.set(I,new Set(A)):this.hl.delete(I);const e=new Set;this.hl.forEach(t=>{t.forEach(o=>e.add(o))}),this.vl=e}getElementSelectors(A,I){var e;const t=[];return(e=this.vl)===null||e===void 0||e.forEach(o=>{var B;const C=(B=GgA())===null||B===void 0?void 0:B.querySelectorAll(o);C?.forEach(Q=>{A!==Q&&I!==Q||yB(t,o)||t.push(o)})}),t}get isEnabled(){var A,I;if(this.Ci)return!1;const e=(A=this.xa)===null||A===void 0?void 0:A.kv.get(zAI),t=this.ul,o=this.rl();if(!o.remoteRequestsDisabled&&!this.cl)return!1;const B=o.remoteRequestsDisabled&&!this.cl;if(Yc(t)&&!Pm(e)&&!B)return!1;const C=(I=this.ul)!==null&&I!==void 0?I:!!e;return!!o.enabled&&!C}_l(A,I="$autocapture",e){if(!this.isEnabled)return void this.el();let t=e||rgA(A);fgI(t)&&(t=t.parentNode||null);const o=this.fl();var B;I==="$autocapture"&&A.type==="click"&&A instanceof MouseEvent&&o.rageclick&&(!((B=this.rageclicks)===null||B===void 0)&&B.isRageClick(A.clientX,A.clientY,A.timeStamp||new Date().getTime()))&&KgI(t,o.rageclick)&&this._l(A,"$rageclick",e);const C=I===MvA,Q=C?QI(QI({},o),{},{dom_event_allowlist:void 0}):o;if(t&&(function(s,r,a,c,h,l){var D;const d=typeof window>"u"?void 0:window;if(!d||QvA(s)||a?.url_allowlist&&!RgI(a.url_allowlist,l)||a?.url_ignorelist&&RgI(a.url_ignorelist,l))return!1;if(a?.dom_event_allowlist){const G=a.dom_event_allowlist;if(G&&!G.some(m=>r.type===m))return!1}const{parentIsUsefulElement:y,targetElementList:w}=LgI(s,c);if(!(function(G,m){const p=m?.element_allowlist;if(Le(p))return!0;for(const k of G)if(p.some(S=>k.tagName.toLowerCase()===S))return!0;return!1})(w,a)||!tvA(w,a?.css_selector_allowlist)||tvA(w,(D=a?.css_selector_ignorelist)!==null&&D!==void 0?D:ovA))return!1;try{const G=d.getComputedStyle(s);if(G&&G.getPropertyValue("cursor")==="pointer"&&r.type==="click")return!0}catch{}const u=s.tagName.toLowerCase();switch(u){case"html":return!1;case"form":return(h||["submit"]).indexOf(r.type)>=0;case"input":case"select":case"textarea":return(h||["change","click"]).indexOf(r.type)>=0;default:return y?(h||["click"]).indexOf(r.type)>=0:(h||["click"]).indexOf(r.type)>=0&&(IvA.indexOf(u)>-1||s.getAttribute("contenteditable")==="true")}})(t,A,Q,C,C?["copy","cut","paste"]:void 0,{config:{get_current_url:o.getCurrentUrl}})){var i;const{props:s,explicitNoCapture:r,target:a}=Klt(t,{e:A,maskAllElementAttributes:o.maskAllElementAttributes,maskAllText:o.maskAllText,elementAttributeIgnoreList:o.element_attribute_ignorelist,elementsChainAsString:this.dl,disableCaptureUrlHashes:o.disableCaptureUrlHashes});if(r)return!1;const c=this.getElementSelectors(t,a);if(c&&c.length>0&&(s.$element_selectors=c),I===MvA){const h=A.type||"clipboard";if(h!=="paste"){var E,n;const l=(E=kvA())===null||E===void 0||(E=E.getSelection())===null||E===void 0?void 0:E.toString(),D=NgI(l);if(!D)return!1;s.$selected_content=D,s.$clipboard_text_length=(n=l?.length)!==null&&n!==void 0?n:0}s.$copy_type=h}return(i=this.xa)===null||i===void 0||i.capture(I,s),!0}}isBrowserSupported(){var A;return Q0((A=GgA())===null||A===void 0?void 0:A.querySelectorAll)}};const OII="featureFlags",WII="logs";var Ylt=class{constructor(A){this._instance=A}initialize(){}get(A){const I=this._instance.persistence;if(typeof A=="string")return I?.get_property(A);const e={};for(const t of A){const o=I?.get_property(t);Le(o)||(e[t]=o)}return e}set(A,I){var e;(e=this._instance.persistence)===null||e===void 0||e.register(typeof A=="string"?{[A]:I}:A)}remove(A){var I;(I=this._instance.persistence)===null||I===void 0||I.unregister(A)}},_lt=class{constructor(A){this.instance=A,this.$=Dt,this.kv=new Ylt(A),this.onSession=I=>pDA(this.instance.onSessionId(e=>{try{I(e)}catch(t){this.$.error("Browser extension session listener failed",t)}})),this.onEvent=I=>pDA(this.instance._addCaptureHook((e,t)=>{if(t)try{I({event:e,properties:t.properties})}catch(o){this.$.error("Browser extension event listener failed",o)}})),this.onRemoteConfig=I=>{const e=o=>{try{I(o)}catch(B){this.$.error("Browser extension remote config listener failed",B)}},t=this.instance.ur.on("extensionsRemoteConfig",e);return this.instance.cr&&e(this.instance.cr),pDA(t)}}get logger(){return this.$}get distinctId(){return this.instance.get_distinct_id()}get anonymousId(){var A;return(A=this.instance.get_property("$device_id"))!==null&&A!==void 0?A:this.distinctId}get deviceId(){const A=this.instance.get_property(R6A);return typeof A=="string"?A:void 0}get library(){return{name:Dk.LIB_NAME,version:Dk.LIB_VERSION}}get initialPersonProperties(){var A,I;return(A=(I=this.instance.persistence)===null||I===void 0?void 0:I.get_initial_props())!==null&&A!==void 0?A:{}}get groups(){return this.instance.getGroups()}get session(){try{var A,I,e,t,o;const B=(A=this.instance.sessionManager)===null||A===void 0?void 0:A.checkAndGetSessionAndWindowId(!0);return{sessionId:(I=B?.sessionId)!==null&&I!==void 0?I:"",windowId:(e=B?.windowId)!==null&&e!==void 0?e:"",sessionStartTimestamp:(t=B?.sessionStartTimestamp)!==null&&t!==void 0?t:0,lastActivityTimestamp:(o=B?.lastActivityTimestamp)!==null&&o!==void 0?o:0}}catch{return{sessionId:"",windowId:"",sessionStartTimestamp:0,lastActivityTimestamp:0}}}get isOptedOut(){return this.instance.has_opted_out_capturing()}get canCapture(){return Q0(this.instance.is_capturing)?this.instance.is_capturing():!this.isOptedOut}get projectToken(){return this.instance.config.token}getExtension(A){let I;switch(A){case OII:case"featureFlagsCommon":I=this.instance.featureFlags;break;case WII:I=this.instance.logs;break;case"surveys":I=this.instance.surveys;break;case ZII:I=this.instance.autocapture}return I}capture(A,I,e){if(!e)return void this.instance.capture(A,I);const t=QI({timestamp:e.timestamp,uuid:e.uuid,$set:e.set,$set_once:e.setOnce},e.delivery==="unload"?{transport:"sendBeacon",send_instantly:!0}:{});this.instance.capture(A,I,t)}registerDynamicEventProperties(A){return pDA(this.instance.dr(A))}sendRequest(A){var I=this;return ia(function*(e,t={}){var o;const B=(o=t.target)!==null&&o!==void 0?o:"api",C=t.query?SDA(e,t.query):e,Q=I.instance.requestRouter.endpointFor(B,C),i={method:t.method,url:Q,data:t.body,headers:t.headers,timeout:t.timeoutMs,fireCallbackOnDrop:!0,transport:t.transport,compression:t.compression,compressionFallback:t.target==="flags"&&t.compression==="best-available"?A6A.Base64:void 0,timestampMode:t.sentAt};return B==="api"&&e==="/i/v1/logs"&&(i.batchKey="logs"),t.transport==="sendBeacon"?(I.instance._send_request(i),{statusCode:202}):new Promise(E=>{i.callback=E,I.instance._send_request(i)})}).apply(this,arguments)}};const mgA={};let RvA=0;const pgA=()=>{},VII='Consent opt in/out is not valid with cookieless_mode="always" and will be ignored',kq="Surveys module not available",jII="sanitize_properties is deprecated. Use before_send instead",zII="Invalid value for property_denylist config: ",blt=["$recording_status","$sdk_debug_recording_script_not_loaded","$sdk_debug_replay_url_trigger_status","$sdk_debug_replay_event_trigger_status","$sdk_debug_replay_linked_flag_trigger_status","$sdk_debug_replay_rrweb_error","$sdk_debug_replay_internal_buffer_length","$sdk_debug_replay_flushed_size"],Hlt=["$feature_flag_called","$$heatmap","$snapshot"],XII=g=>g.charAt(0)==="$"&&!yB(Hlt,g),vlt=/^[A-Za-z0-9_-]{1,400}$/,$II=/^fb\.[0-9]+\.[0-9]+\.[A-Za-z0-9_-]+(?:\.[A-Za-z0-9_-]+)?$/,AeI=/^fb\.[0-9]+\.[0-9]+\.[0-9]+$/,Tlt=["token","distinct_id",CgI],kgA="posthog",qlt=g=>{const A={};return g&&g!=="unset"&&("2025-11-30">g||(A.strictMinimumDuration=!0),"2026-05-30">g||(A.canvasCapture={resolutionScale:.6}),"2026-06-25">g||(A.streamNetworkBody=!0),"2026-08-30">g||(A.captureJsonLd=!0)),A},NvA=g=>{var A;return QI({api_host:"https://us.i.posthog.com",flags_api_host:null,ui_host:null,asset_host:null,token:"",autocapture:!0,cross_subdomain_cookie:K0t(co?.location),persistence:"localStorage+cookie",persistence_name:"",cookie_persisted_properties:[],loaded:pgA,save_campaign_params:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageleave:"if_capture_pageview",defaults:g??"unset",__preview_deferred_init_extensions:!1,__preview_replay_sync_fetch:!0,__preview_external_dependency_versioned_paths:!1,__preview_cookie_wins_on_conflict:!1,debug:Qa&&KC(Qa?.search)&&Qa.search.indexOf("__posthog_debug=true")!==-1||!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,disable_surveys_automatic_display:!1,disable_conversations:!1,disable_product_tours:!1,disableDeviceModel:!1,reuseAnonymousId:!1,disable_external_dependency_loading:!1,strict_script_versioning:"fallback",enable_recording_console_log:void 0,secure_cookie:(Se==null||(A=Se.location)===null||A===void 0?void 0:A.protocol)==="https:",ip:!1,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:"localStorage",consent_persistence_name:null,opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},request_batching:!0,properties_string_max_length:65535,mask_all_element_attributes:!1,mask_all_text:!1,mask_personal_data_properties:!1,custom_personal_data_properties:[],advanced_disable_flags:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_only_evaluate_survey_feature_flags:!1,advanced_feature_flags_dedup_per_session:!1,advanced_enable_surveys:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,feature_flag_request_max_retries:1,surveys_request_timeout_ms:1e4,on_request_error(I){Dt.error("Bad HTTP status: "+I.statusCode+" "+I.text)},get_device_id:I=>I,capture_performance:void 0,name:"posthog",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:lgI,before_send:void 0,get_current_url:void 0,request_queue_config:{flush_interval_ms:3e3},error_tracking:{},_onCapture:pgA},(I=>({rageclick:I&&I>="2026-05-30"?{content_ignorelist:BvA,ignore_text_selection:!0}:!I||"2025-11-30">I||{content_ignorelist:!0},capture_pageview:!I||"2025-05-24">I||"history_change",session_recording:qlt(I),external_scripts_inject_target:I&&I>="2026-01-30"?"head":"body",internal_or_test_user_hostname:I&&I>="2026-01-30"?/^(localhost|127\.0\.0\.1)$/:void 0,persistence_save_debounce_ms:I&&I>="2026-05-30"?250:0,split_storage:!(!I||"2026-05-30">I),detect_google_search_app:!(!I||"2026-05-30">I),disable_capture_url_hashes:!(!I||"2026-06-25">I),cookieWinsOnConflict:!(!I||I==="unset"||"2026-08-29">I)}))(g))},Zlt=[["process_person","person_profiles"],["xhr_headers","request_headers"],["cookie_name","persistence_name"],["disable_cookie","disable_persistence"],["__preview_disable_beacon","disable_beacon"],["store_google","save_campaign_params"],["verbose","debug"],["__preview_cookie_wins_on_conflict","cookieWinsOnConflict"]],geI=g=>{const A={};for(const[t,o]of Zlt)Le(g[t])||(A[o]=g[t]);const I=ar({},A,g),e=g.__preview_external_dependency_versioned_paths;return Le(e)||(Le(g.strict_script_versioning)&&(I.strict_script_versioning=!!e),KC(e)&&Le(g.asset_host)&&(I.asset_host=e)),cB(g.property_blacklist)&&(Le(g.property_denylist)?I.property_denylist=g.property_blacklist:cB(g.property_denylist)?I.property_denylist=[...g.property_blacklist,...g.property_denylist]:Dt.error(zII+g.property_denylist)),I};var Olt=class{constructor(){this.__forceAllowLocalhost=!1}get Yc(){return this.__forceAllowLocalhost}set Yc(A){Dt.error("WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`"),this.__forceAllowLocalhost=A}},MgA=class NY{th(A){if(!A)return;const I=this.eh.indexOf(A);I!==-1&&this.eh.splice(I,1)}ih(A,I){var e;return this.th(A),this.eh.push(I),(e=I.initialize)===null||e===void 0||e.call(I),I}nh(){return this.config.cookieless_mode==="always"||this.config.cookieless_mode==="on_reject"&&this.consent.isRejected()}sh(){if(this.rh||this.config.reuseAnonymousId||this.config.segment||this.nh())return;const A=this.config.persistence==="memory"||this.config.persistence==="sessionStorage";if(!A&&!this.config.disable_persistence||this.oh)return;let I,e,t;A?(I=`persistence is set to '${this.config.persistence}'`,e=this.config.persistence==="memory"?"on every page load":"for every new browser tab or window",t="Either set persistence to 'localStorage+cookie', keep this persistence and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."):(I="persistence is disabled (disable_persistence is true)",e="on every page load",t="Either set disable_persistence to false, keep persistence disabled and pass a stable ID through bootstrap.distinctID, or enable reuseAnonymousId."),this.rh=!0,console.warn("[PostHog.js]",`${I} but no bootstrap.distinctID was provided. PostHog will mint a new distinct ID ${e}, so calling identify() merges a new ID onto the person each time. A person can then pass the distinct-ID limit and its events stop appearing on person pages and the session tab. ${t}`)}ah(){const A=this.persistence;if(!A||this.uh)return;if(this.nh())return void(this.config.cookieless_mode==="on_reject"&&this.get_distinct_id()!=="$posthog_cookieless"&&(this.hh(),this.dh()));if(this.get_distinct_id()!=="$posthog_cookieless")return;this.fh()||A.load(!0);const I=this.get_distinct_id();if(!I||I==="$posthog_cookieless"){const e=this.config.get_device_id(UR());this.register({distinct_id:e,$device_id:e}),A.set_property(Km,cJ)}this.hh()}get decideEndpointWasHit(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.hasLoadedFlags)!==null&&A!==void 0&&A}get flagsEndpointWasHit(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.hasLoadedFlags)!==null&&A!==void 0&&A}constructor(){var A;this.ph=!1,this.gh=!1,this.webPerformance=new Olt,this.mh=!1,this.version=Dk.LIB_VERSION,this.yh=new Set,this.bh="",this.ur=new fDA,this.eh=[],this._h=[],this.wh=!1,this.oh=!1,this.rh=!1,this.uh=!1,this._calculate_event_properties=this.calculateEventProperties.bind(this),this.config=NvA(),this.SentryIntegration=Ilt,this.sentryIntegration=e=>(function(t,o){const B=VgI(t,o);return{name:WgI,processEvent:C=>B(C)}})(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint="/e/",this.kh=!1,this.Sh=null,this.xh=null,this.$h=null,this.scrollManager=new plt(this),this.pageViewManager=new jgI(this),this.rateLimiter=new slt(this),this.requestRouter=new Rlt(this),this.consent=new q0t(this),this.externalIntegrations=new Jlt(this);const I=(A=NY.__defaultExtensionClasses)!==null&&A!==void 0?A:{};this.featureFlags=I.featureFlags&&new I.featureFlags(this),this.toolbar=I.toolbar&&new I.toolbar(this),this.surveys=I.surveys&&new I.surveys(this),this.conversations=I.conversations&&new I.conversations(this),this.logs=I.logs&&new I.logs(this),this.metrics=I.metrics&&new I.metrics(this),this.experiments=I.experiments&&new I.experiments(this),this.exceptions=I.exceptions&&new I.exceptions(this),this.people={set:(e,t,o)=>{const B=KC(e)?{[e]:t}:e;this.setPersonProperties(B),o?.({})},set_once:(e,t,o)=>{const B=KC(e)?{[e]:t}:e;this.setPersonProperties(void 0,B),o?.({})}},this.on("eventCaptured",e=>Dt.info(`send "${e?.event}"`,e))}init(A,I,e){if(e&&e!==kgA){var t;const o=(t=mgA[e])!==null&&t!==void 0?t:new NY;return o._init(A,I,e),mgA[e]=o,mgA[kgA][e]=o,o}return this._init(A,I,e)}_init(A,I={},e){var t,o,B;const C=KC(A)?A.trim():"";if(!C)return Dt.critical("PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()"),this;var Q;if(this.__loaded)return C!==((Q=this.config)===null||Q===void 0?void 0:Q.token)?console.warn("[PostHog.js]",`You have already initialized PostHog with a different project token! Re-initializing is a no-op, so events will keep going to the project this instance was initialized with. To capture into a second project, load PostHog once, then initialize a named instance after the SDK has loaded, e.g. posthog.init('${C}', { ... }, 'project2')`):console.warn("[PostHog.js]","You have already initialized PostHog! Re-initializing is a no-op"),this;this.__loaded=!0,this.config=NvA(I.defaults),I.debug=this.Ch(I.debug),this.Th=I,this.Ih=[],I.person_profiles?this.xh=I.person_profiles:I.process_person&&(this.xh=I.process_person);const i=NvA(I.defaults),E=geI(I),n=ar({},i,E,{name:e,token:C});yC(i.rageclick)&&yC(E.rageclick)&&(n.rageclick=ar({},i.rageclick,E.rageclick)),yC(i.session_recording)&&yC(E.session_recording)&&(n.session_recording=ar({},i.session_recording,E.session_recording)),this.set_config(n),this.config.on_xhr_error&&Dt.error("on_xhr_error is deprecated. Use on_request_error instead"),this.compression=I.disable_compression?void 0:gS.GZipJS;const s=this.fh(),r=!this.nh();if(this.persistence=new EvA(this.config,s,!0,r),this.sessionPersistence=this.config.persistence==="sessionStorage"||this.config.persistence==="memory"?this.persistence:new EvA(QI(QI({},this.config),{},{persistence:"sessionStorage"}),s,!1,r),this.bh="ph_"+(this.config.persistence_name||this.config.token)+"_session_registered_properties",this.config.persistence!=="memory"&&!s&&Ea.$t()){const D=Ea.Lt(this.bh);cB(D)&&D.forEach(d=>{KC(d)&&this.yh.add(d)})}else Ea.Pt(this.bh);const a=QI({},this.persistence.props),c=QI({},this.sessionPersistence.props);this.register({$initialization_time:new Date().toISOString()}),this.Mh=new ult((D,d)=>this.Eh(D,d),this.config.request_queue_config),this.Ph=new mlt(this),this.__request_queue=[];const h=this.nh();h||(this.sessionManager=new KII(this),this.sessionPropsManager=new JII(this,this.sessionManager,this.persistence),this.sessionManager.onSessionId((D,d,y)=>{(y?.activityTimeout||y?.sessionPastMaximumLength||y?.crossTabAdoption)&&this.Rh()})),this.Ah(),this.config.__preview_deferred_init_extensions?(Dt.info("Deferring extension initialization to improve startup performance"),this.Fh=setTimeout(()=>{this.Fh=void 0,this.Oh(h)},0)):(Dt.info("Initializing extensions synchronously"),this.Oh(h)),Dk.DEBUG=Dk.DEBUG||this.config.debug,Dk.DEBUG&&Dt.info("Starting in debug mode",{this:this,config:I,thisC:QI({},this.config),p:a,s:c}),this.config.identity_distinct_id&&!(!((t=I.bootstrap)===null||t===void 0)&&t.distinctID)&&(I.bootstrap=QI(QI({},I.bootstrap),{},{distinctID:this.config.identity_distinct_id,isIdentifiedID:!0}));const l=(o=I.bootstrap)===null||o===void 0?void 0:o.distinctID;if(this.oh=!!l&&!XAA(l),(B=I.bootstrap)===null||B===void 0?void 0:B.distinctID){const D=I.bootstrap.distinctID,d=this.get_distinct_id(),y=this.persistence.get_property(Km);if(I.bootstrap.isIdentifiedID&&d!=null&&d!==D&&y==="anonymous")this.identify(D);else if(I.bootstrap.isIdentifiedID&&d!=null&&d!==D&&y==="identified")Dt.warn("Bootstrap distinctID differs from an already-identified user. The existing identity is preserved. Call reset() before reinitializing if you intend to switch users.");else{const w=this.config.get_device_id(UR()),u=I.bootstrap.isIdentifiedID?w:D;this.persistence.set_property(Km,I.bootstrap.isIdentifiedID?lDA:cJ),this.register({distinct_id:D,$device_id:u})}}if(h)this.register_once({distinct_id:H6A,$device_id:null},"");else if(!this.get_distinct_id()){const D=this.config.get_device_id(UR());this.register_once({distinct_id:D,$device_id:D},""),this.persistence.set_property(Km,cJ)}return NE(Se,"onpagehide"in self?"pagehide":"unload",this._handle_unload.bind(this),{passive:!1}),NE(Se,"pageshow",()=>{var D;this.ph=!1,this.gh||(D=this.Ph)===null||D===void 0||D.resume()}),I.segment?OgI(this,()=>this.Dh()):this.Dh(),Q0(this.config._onCapture)&&this.config._onCapture!==pgA&&(Dt.warn("onCapture is deprecated. Please use `before_send` instead"),this.on("eventCaptured",D=>this.config._onCapture(D.event,D))),this.config.ip&&Dt.warn('The `ip` config option has NO EFFECT AT ALL and has been deprecated. Use a custom transformation or "Discard IP data" project setting instead. See https://posthog.com/tutorials/web-redact-properties#hiding-customer-ip-address for more information.'),this.config.disableDeviceModel||(function(){return YII.apply(this,arguments)})().then(D=>{D&&this.register({[N6A]:D})}).catch(pgA),this}Lh(A){const I=A;return KC(I.name)&&Q0(I.setup)}Nh(A,I){var e=this;this.Lh(A)?I.push(ia(function*(){try{yield A.setup(e.qh())}catch(o){Dt.error(`Failed to set up extension "${A.name}"`,o);try{var t;yield(t=A.dispose)===null||t===void 0?void 0:t.call(A)}catch(B){Dt.error(`Failed to dispose extension "${A.name}"`,B)}}})):this.eh.push(A)}Ah(){var A,I,e,t=this;const o=(A=(I=this.config.__extensionClasses)===null||I===void 0?void 0:I.featureFlags)!==null&&A!==void 0?A:(e=NY.__defaultExtensionClasses)===null||e===void 0?void 0:e.featureFlags;var B,C,Q;if(o)if(this.featureFlags&&this.featureFlags instanceof o||((B=this.jh)===null||B===void 0||B.call(this),this.jh=void 0,this.featureFlags=new o(this)),Q0(this.featureFlags.onReloading)&&Q0(this.featureFlags.setup)){if(!this.jh){this.jh=this.featureFlags.onReloading(()=>{this.ur.emit("featureFlagsReloading",!0)});const i=this.featureFlags;ia(function*(){try{yield i.setup(t.qh())}catch(E){Dt.error("Failed to set up feature flags",E);const n=t.jh;t.jh=void 0;try{n?.()}catch(s){Dt.error("Failed to unsubscribe feature flag reloading",s)}try{yield i.dispose()}catch(s){Dt.error("Failed to dispose feature flags",s)}}})()}}else(C=(Q=this.featureFlags).initialize)===null||C===void 0||C.call(Q)}Oh(A){const I=performance.now(),e=QI(QI({},NY.__defaultExtensionClasses),this.config.__extensionClasses),t=[];var o,B,C,Q,i,E,n,s;e.exceptions&&this.eh.push(this.exceptions=(o=this.exceptions)!==null&&o!==void 0?o:new e.exceptions(this)),e.historyAutocapture&&this.eh.push(this.historyAutocapture=new e.historyAutocapture(this)),e.tracingHeaders&&this.eh.push(this.tracingHeaders=new e.tracingHeaders(this)),e.siteApps&&this.eh.push(this.siteApps=new e.siteApps(this)),e.sessionRecording&&!A&&this.eh.push(this.sessionRecording=new e.sessionRecording(this)),this.config.disable_scroll_properties||t.push(()=>{this.scrollManager.startMeasuringScrollPosition()}),e.autocapture&&this.Nh(this.autocapture=new e.autocapture(this),t),e.surveys&&this.Nh(this.surveys=(B=this.surveys)!==null&&B!==void 0?B:new e.surveys(this),t),e.logs&&this.Nh(this.logs=(C=this.logs)!==null&&C!==void 0?C:new e.logs(this),t),e.metrics&&this.eh.push(this.metrics=(Q=this.metrics)!==null&&Q!==void 0?Q:new e.metrics(this)),e.conversations&&this.eh.push(this.conversations=(i=this.conversations)!==null&&i!==void 0?i:new e.conversations(this)),e.productTours&&this.eh.push(this.productTours=new e.productTours(this)),e.heatmaps&&this.eh.push(this.heatmaps=new e.heatmaps(this)),e.webVitalsAutocapture&&this.eh.push(this.webVitalsAutocapture=new e.webVitalsAutocapture(this)),e.exceptionObserver&&this.eh.push(this.exceptionObserver=new e.exceptionObserver(this)),e.deadClicksAutocapture&&this.eh.push(this.deadClicksAutocapture=new e.deadClicksAutocapture(this,glt)),e.toolbar&&this.eh.push(this.toolbar=(E=this.toolbar)!==null&&E!==void 0?E:new e.toolbar(this)),e.experiments&&this.eh.push(this.experiments=(n=this.experiments)!==null&&n!==void 0?n:new e.experiments(this)),e.webMCP&&this.eh.push(this.webMCP=(s=this.webMCP)!==null&&s!==void 0?s:new e.webMCP(this)),this.eh.forEach(r=>{r.initialize&&t.push(()=>{var a;(a=r.initialize)===null||a===void 0||a.call(r)})}),t.push(()=>{if(this.Bh){const r=this.Bh;this.Bh=void 0,this.eh.forEach(a=>{var c;return(c=a.onRemoteConfig)===null||c===void 0?void 0:c.call(a,r)})}}),this.zh(t,I)}zh(A,I){for(;A.length>0;){if(this.config.__preview_deferred_init_extensions&&performance.now()-I>=30&&A.length>0)return void(this.Fh=setTimeout(()=>{this.Fh=void 0,this.zh(A,I)},0));const t=A.shift();if(t)try{t()}catch(o){Dt.error("Error initializing extension:",o)}}const e=Math.round(performance.now()-I);this.register_for_session({[QgI]:this.config.__preview_deferred_init_extensions?"deferred":"synchronous",[igI]:e}),this.config.__preview_deferred_init_extensions&&Dt.info(`PostHog extensions initialized (${e}ms)`)}Gu(A){if(!co||!co.body)return Dt.info("document not ready yet, trying again in 500 milliseconds..."),void setTimeout(()=>{this.Gu(A)},500);if(this.config.__preview_deferred_init_extensions&&(this.Bh=A),this.cr=A,this.compression=void 0,A.ok){var I;const e=A.config;e.supportedCompression&&!this.config.disable_compression&&(this.compression=yB(e.supportedCompression,gS.GZipJS)?gS.GZipJS:yB(e.supportedCompression,gS.Base64)?gS.Base64:void 0),!((I=e.analytics)===null||I===void 0)&&I.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint)}this.set_config({person_profiles:this.xh?this.xh:lgI}),this.ur.emit("extensionsRemoteConfig",A),this.eh.forEach(e=>{var t;return(t=e.onRemoteConfig)===null||t===void 0?void 0:t.call(e,A)})}Dh(){try{this.config.loaded(this)}catch(A){Dt.critical("`loaded` function failed",A)}if(this.Hh(),this.config.internal_or_test_user_hostname&&Qa?.hostname){const A=Qa.hostname,I=this.config.internal_or_test_user_hostname;(typeof I=="string"?A===I:I.test(A))&&this.setInternalOrTestUser()}this.config.capture_pageview&&setTimeout(()=>{(this.consent.isOptedIn()||this.nh())&&this.Uh()},1),this.Wh=new aII(this),this.Wh.load()}Hh(){var A;this.is_capturing()&&this.config.request_batching&&((A=this.Mh)===null||A===void 0||A.enable())}_dom_loaded(){this.is_capturing()&&aq(this.__request_queue,A=>this.Eh(A)),this.__request_queue=[],this.Hh()}_handle_unload(){var A,I,e,t,o,B;this.ph=!0,(A=this.surveys)===null||A===void 0||(I=A.handlePageUnload)===null||I===void 0||I.call(A),(e=this.metrics)===null||e===void 0||e.flush("sendBeacon"),this.config.request_batching?(this.Vh()&&this.capture(DgI),(t=this.logs)===null||t===void 0||t.flushLogs("sendBeacon"),(o=this.Mh)===null||o===void 0||o.unload(),(B=this.Ph)===null||B===void 0||B.unload()):this.Vh()&&this.capture(DgI,null,{transport:"sendBeacon"})}_send_request(A){UII(this,A)}Eh(A,I){this.Ph?this.Ph.retriableRequest(A,I):this._send_request(I?QI(QI({},A),{},{transport:I}):A)}_execute_array(A){RvA++;try{let I;const e=[],t=[],o=[];aq(A,C=>{if(C)if(I=C[0],cB(I))o.push(C);else if(Q0(C))try{C.call(this)}catch(Q){Dt.error("Error executing queued PostHog call",C,Q)}else cB(C)&&I==="alias"?e.push(C):cB(C)&&I.indexOf("capture")!==-1&&Q0(this[I])?o.push(C):t.push(C)});const B=function(C,Q){aq(C,function(i){try{if(cB(i[0])){let E=Q;Gn(i,function(n){E=E[n[0]].apply(E,n.slice(1))})}else Q[i[0]].apply(Q,i.slice(1))}catch(E){Dt.error("Error executing queued PostHog call",i,E)}})};B(e,this),B(t,this),B(o,this)}finally{RvA--}}push(A){if(RvA>0&&cB(A)&&KC(A[0])){const I=NY.prototype[A[0]];return void(Q0(I)&&I.apply(this,A.slice(1)))}this._execute_array([A])}get Gh(){return{property:XAI,persistenceKey:Eq,cookieName:"_fbc",pattern:$II,register:(A,I)=>{var e;return(e=this.persistence)===null||e===void 0?void 0:e.register({[Eq]:{value:A,delivered:I}})},unregister:()=>{var A;return(A=this.persistence)===null||A===void 0?void 0:A.unregister(Eq)}}}get Qh(){return{property:$AI,persistenceKey:QgA,cookieName:"_fbp",pattern:AeI,register:(A,I)=>{var e;return(e=this.persistence)===null||e===void 0?void 0:e.register({[QgA]:{value:A,delivered:I}})},unregister:()=>{var A;return(A=this.persistence)===null||A===void 0?void 0:A.unregister(QgA)}}}Zh(A){var I;const e=(I=this.persistence)===null||I===void 0?void 0:I.get_property(A.persistenceKey);return KC(e)&&A.pattern.test(e)?{value:e,delivered:!1}:yC(e)&&KC(e.value)&&A.pattern.test(e.value)?{value:e.value,delivered:e.delivered===!0}:void 0}Jh(A,I,e){return I===e?.value?{value:I,pending:!e.delivered}:(A.register(I,!1),{value:I,pending:!0})}Kh(A){if(!this.config.save_campaign_params||this.nh())return;const I=EgA(A.cookieName);return KC(I)&&A.pattern.test(I)?I:void 0}Xh(A,I,e,t){if(!this.persistence)return;const o=this.Gh;this.persistence.refreshMetaIdentifiers();const B=this.Zh(o);if(t)return void o.unregister();if(e)return KC(I)&&$II.test(I)?this.Jh(o,I,B):void o.unregister();const C=KC(A)&&vlt.test(A)?A:void 0,Q=this.Kh(o);return Q&&((i,E,n)=>{const s=i.split(".");if(E)return s[3]===E;if(!n)return!0;const r=n.value.split(".");return s[3]===r[3]||Number(s[2])>Number(r[2])})(Q,C,B)?this.Jh(o,Q,B):C?B?.value.split(".")[3]===C?{value:B.value,pending:!B.delivered}:this.Jh(o,`fb.1.${Date.now()}.${C}`,B):B?{value:B.value,pending:!B.delivered}:void 0}Yh(A,I,e){if(!this.persistence)return;const t=this.Qh;this.persistence.refreshMetaIdentifiers();const o=this.Zh(t);if(e)return void t.unregister();if(I)return KC(A)&&AeI.test(A)?this.Jh(t,A,o):void t.unregister();const B=this.Kh(t);return B?this.Jh(t,B,o):o?{value:o.value,pending:!o.delivered}:void 0}td(A,I){if(!this.persistence)return;this.persistence.refreshMetaIdentifiers();const e=this.Zh(A);e?.value!==I||e.delivered||A.register(I,!0)}capture(A,I,e){var t,o;if(!(this.__loaded&&this.persistence&&this.sessionPersistence&&this.Mh))return void Dt.uninitializedWarning("posthog.capture");if(!this.is_capturing())return void Dt.info(`Event "${A}" was not captured because capturing is disabled (opted out or consent pending).`);if(Le(A)||!KC(A))return void Dt.error("No event name provided to posthog.capture");if(this.ah(),A==="$snapshot"&&this.nh())return;const B=!this.config.opt_out_useragent_filter&&this._is_bot();if(B&&!this.config.__preview_capture_bot_pageviews)return void Dt.info(`Event "${A}" was not captured because the user agent looks like a bot. Set \`opt_out_useragent_filter: true\` to capture it.`);const C=e?.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(C?.isRateLimited)return void Dt.critical("This capture call is ignored due to client rate limiting.");let Q;I?.$current_url&&!KC(I?.$current_url)&&(Dt.error("Invalid `$current_url` property provided to `posthog.capture`. Input must be a string. Ignoring provided value."),I==null||delete I.$current_url),A!=="$exception"||e?.ed||Dt.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."),this.sessionPersistence.update_search_keyword(),this.config.save_campaign_params&&(Q=this.sessionPersistence.update_campaign_params()),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.save_campaign_params||this.config.save_referrer)&&this.persistence.set_initial_person_info();const i=new Date,E=e?.timestamp||i,n=CAI(e?.uuid,UR);let s={uuid:n,event:A,properties:this.calculateEventProperties(A,I||{},E,n)};A==="$pageview"&&this.config.__preview_capture_bot_pageviews&&B&&(s.event="$bot_pageview",s.properties.$browser_type="bot"),C&&(s.properties.$lib_rate_limit_remaining_tokens=C.remainingTokens);const r=A==="$feature_flag_called"&&s.properties.$feature_flag_has_experiment===!1&&this.get_property("$minimal_flag_called_events")===!0;e?.$set&&!r&&(s.$set=e?.$set);const a=yC(I?.$set)?I.$set:void 0,c=cB(I?.$unset)?I.$unset:[],h=e?.$unset||[],l=N=>{var U;const K=!!e?.$set&&N in e.$set;return{hasProvided:K||!!a&&N in a,provided:K?e==null||(U=e.$set)===null||U===void 0?void 0:U[N]:a?.[N],unset:c.indexOf(N)!==-1||h.indexOf(N)!==-1}},D=l(XAI),d=l($AI),y=[{channel:this.Gh,hasProvided:D.hasProvided,update:this.Xh(Q?.fbclid,D.provided,D.hasProvided,D.unset)},{channel:this.Qh,hasProvided:d.hasProvided,update:this.Yh(d.provided,d.hasProvided,d.unset)}];for(const{channel:N,hasProvided:U,update:K}of y)K&&s.properties.$process_person_profile===!0&&K.pending&&!U&&!r&&(s.$set=QI({[N.property]:K.value},s.$set));const w=e?.$unset;w&&(s.$unset=w);const u=r?void 0:this.nd(e?.$set_once,A!==ygI,A===dgI);if(u&&(s.$set_once=u),e?._noTruncate||(G=this.config.properties_string_max_length,s=(function(N,U){const K=new Set;return(function Y(_,q){if(_!==Object(_))return U?U(_):_;if(K.has(_))return;let j;if(K.add(_),cB(_))j=[],aq(_,W=>{j.push(Y(W))});else{const W={};Gn(oq(_)?wgI(_):_,(Z,$)=>{K.has(Z)||(W[$]=Y(Z))}),j=W}return j})(N)})(s,N=>KC(N)?N.slice(0,G):N)),s.timestamp=E,Le(e?.timestamp)||(s.properties.$event_time_override_provided=!0,s.properties.$event_time_override_system_time=i),r&&(s.properties=((N,U=[])=>{const K={},Y=_=>{N[_]!==void 0&&(K[_]=N[_])};return Sht.forEach(Y),U.forEach(Y),K})(s.properties,Tlt)),A===IS.DISMISSED||A===IS.SENT){const N=I?.[svA.SURVEY_ID],U=I?.[svA.SURVEY_ITERATION];TII({id:N,current_iteration:U}),s.$set=QI(QI({},s.$set),{},{[Mlt({id:N,current_iteration:U},A===IS.SENT?"responded":"dismissed")]:!0})}else A===IS.SHOWN&&(s.$set=QI(QI({},s.$set),{},{[svA.SURVEY_LAST_SEEN_DATE]:new Date().toISOString()}));var G;if(A===nlt.SHOWN){const N=I?.[nII.TOUR_TYPE];N&&(s.$set=QI(QI({},s.$set),{},{[`${nII.TOUR_LAST_SEEN_DATE}/${N}`]:new Date().toISOString()}))}const m=QI(QI({},s.properties.$set),s.$set);if(lk(m)||this.setPersonPropertiesForFlags(m),!hC(this.config.before_send)){const N=this.Os(s);if(!N)return;s=N,s.uuid=CAI(s.uuid,UR)}this.sessionRecording&&!this.wh&&XII(A)&&(this.wh=!0,setTimeout(()=>this.wh=!1,3e4));const p=y.filter(({channel:N,update:U})=>{var K,Y,_;const q=(K=(Y=s.$set)===null||Y===void 0?void 0:Y[N.property])!==null&&K!==void 0?K:yC((_=s.properties)===null||_===void 0?void 0:_.$set)?s.properties.$set[N.property]:void 0;return U?.pending&&q===U.value});this.ur.emit("eventCaptured",s);const k=(t=e?._url)!==null&&t!==void 0?t:this.requestRouter.endpointFor("api",this.analyticsDefaultEndpoint),S=e?._batchKey==="recordings"||/\/s\/(?:\?|$)/.test(k),R=QI(QI(QI({method:"POST",url:k,data:s,compression:"best-available",preferSyncCompression:e?.send_instantly,timestampMode:S?"body":"capture-body",batchKey:e?._batchKey},S&&(!((o=s.properties)===null||o===void 0)&&o.$session_id)?{batchGroup:s.properties.$session_id+(s.properties.$window_id?`-${s.properties.$window_id}`:"")}:{}),e?.transport?{transport:e.transport}:{}),p.length?{fireCallbackOnDrop:!0,callback:N=>{if(N.statusCode>=200&&300>N.statusCode)for(const{channel:U,update:K}of p)this.td(U,K.value)}}:{});if(!this.config.request_batching||e&&!e?._batchKey||e?.send_instantly){var x;let N;!R.transport&&!R.callback&&lk((x=this.config.request_headers)!==null&&x!==void 0?x:{})&&this.ph&&(N="sendBeacon"),this.Eh(R,N)}else this.Mh.enqueue(R);return s}_addCaptureHook(A){return this.on("eventCaptured",I=>A(I.event,I))}getExtension(A){var I;return(I=this.sd)===null||I===void 0?void 0:I.getExtension(A)}qh(){var A;return(A=this.sd)!==null&&A!==void 0?A:this.sd=new _lt(this)}dr(A){this._h.push(A);let I=!0;return()=>{if(!I)return;I=!1;const e=this._h.indexOf(A);e!==-1&&this._h.splice(e,1)}}rd(A=!0){var I,e,t;return!!(!((I=this.persistence)===null||I===void 0)&&I.consumeCookieIdentityChange())&&(this.$h=null,this.persistence.get_property("$user_state")==="anonymous"&&((t=this.sessionPersistence)===null||t===void 0||t.clear(),this.yh.clear(),this.od()),(e=this.featureFlags)===null||e===void 0||e.reset(),A&&this.reloadFeatureFlags(),!0)}calculateEventProperties(A,I,e,t,o){if(e=e||new Date,!this.persistence||!this.sessionPersistence)return I;this.ah(),this.persistence.syncCookieProperties(),this.rd();const B=o?void 0:this.persistence.remove_event_timer(A);let C=QI({},I);if(C.token=this.config.token,C.$config_defaults=this.config.defaults,this.nh()&&(C[CgI]=!0),A==="$snapshot"){const D=QI(QI({},this.persistence.properties()),this.sessionPersistence.properties());return C.distinct_id=D.distinct_id,(!KC(C.distinct_id)&&!i0(C.distinct_id)||XAA(C.distinct_id))&&Dt.error("Invalid distinct_id for replay event. This indicates a bug in your implementation"),C}const Q=(function(D,d,y,w=!1){var u,G,m,p;if(!Jm)return{};const k=D?[...wq,...d||[]]:[],[S,R]=IAI(Jm),[x,N]=(function(eA){for(let IA=0;tAI.length>IA;IA++){const[QA,sA,lA]=tAI[IA],BA=eA.match(QA);if(BA){const hA=lA&&eA.match(lA)||BA;return[sA,hA?.[1]||""]}}return["",""]})(Jm),U=(function(){const eA="u">typeof navigator?navigator:void 0;return eA?.brave?{brave:!0}:{}})(),K={};Le(y)||(K.detectGoogleSearchApp=y);const Y={},_=(u=navigator)===null||u===void 0||(u=u.userAgentData)===null||u===void 0?void 0:u.platform,q=(G=navigator)===null||G===void 0?void 0:G.maxTouchPoints,j=Se==null||(m=Se.screen)===null||m===void 0?void 0:m.width,W=Se==null||(p=Se.screen)===null||p===void 0?void 0:p.height,Z=Se?.devicePixelRatio;Le(_)||(Y.userAgentDataPlatform=_),Le(q)||(Y.maxTouchPoints=q),Le(j)||(Y.screenWidth=j),Le(W)||(Y.screenHeight=W),Le(Z)||(Y.devicePixelRatio=Z);const $=ar(Z6A({$os:S,$os_version:R,$browser:AAI(Jm,navigator.vendor,U,K),$webview_app:x,$webview_app_version:N,$device:eAI(Jm),$device_type:jct(Jm,Y),$timezone:zgI(),$timezone_offset:Qlt()}),{$current_url:lgA(w?E3(Qa?.href):Qa?.href,k,DgA),$host:Qa?.host,$pathname:Qa?.pathname,$raw_user_agent:Jm.length>1e3?Jm.substring(0,997)+"...":Jm,$browser_version:Vct(Jm,navigator.vendor,U,K),$browser_language:tII(),$browser_language_prefix:Clt(),$screen_height:Se?.screen.height,$screen_width:Se?.screen.width,$viewport_height:Se?.innerHeight,$viewport_width:Se?.innerWidth,$lib:nJ.LIB_NAME,$lib_version:nJ.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3});return nJ.SDK_DIST_CHANNEL&&($.$sdk_dist_channel=nJ.SDK_DIST_CHANNEL),$})(this.config.mask_personal_data_properties,this.config.custom_personal_data_properties,this.config.detect_google_search_app,this.config.disable_capture_url_hashes);if(this.sessionManager){const{sessionId:D,windowId:d}=this.sessionManager.checkAndGetSessionAndWindowId(o,e.getTime(),!0);C.$session_id=D,C.$window_id=d}this.sessionPropsManager&&ar(C,this.sessionPropsManager.getSessionProps());try{var i;if(this.sessionRecording){const D=this.sessionRecording.sdkDebugProperties,d=!this.wh&&XII(A);for(const y in D)(d||yB(blt,y))&&(C[y]=D[y])}C.$sdk_debug_retry_queue_size=(i=this.Ph)===null||i===void 0?void 0:i.length}catch(D){C.$sdk_debug_error_capturing_properties=String(D)}let E;if(this.requestRouter.region===pvA&&(C.$lib_custom_api_host=this.config.api_host),E=A!=="$pageview"||o?A!=="$pageleave"||o?this.pageViewManager.doEvent():this.pageViewManager.doPageLeave(e):this.pageViewManager.doPageView(e,t),C=ar(C,E),A==="$pageview"&&co&&(C.title=co.title),!Le(B)){const D=e.getTime()-B;C.$duration=parseFloat((D/1e3).toFixed(3))}Jm&&this.config.opt_out_useragent_filter&&(C.$browser_type=this._is_bot()?"bot":"browser");const n=this.persistence.properties(),s=this.sessionPersistence.properties(),r=C.$groups,a=n.$groups;yC(r)&&!lk(r)&&(C.$groups=QI(QI({},yC(a)?a:{}),r)),Gn(["$referrer","$referring_domain"],D=>{D in n&&delete s[D]});const c={};if(this._h.length>0)for(const D of this._h.slice())try{ar(c,D())}catch(d){Dt.error("Failed to produce browser extension event properties",d)}C=ar({},Q,n,s,QI(QI({},c),C)),C.$is_identified=this._isIdentified(),cB(this.config.property_denylist)?Gn(this.config.property_denylist,function(D){delete C[D]}):Dt.error(zII+this.config.property_denylist+" or property_blacklist config: "+this.config.property_blacklist);const h=this.config.sanitize_properties;h&&(Dt.error(jII),C=h(C,A));const l=this.ad();return C.$process_person_profile=l,l&&!o&&this.ld("_calculate_event_properties"),C}nd(A,I=!0,e=!1){var t;if(!this.persistence||!this.ad()||this.mh&&!e)return A;const o=this.persistence.get_initial_props(),B=(t=this.sessionPropsManager)===null||t===void 0?void 0:t.getSetOnceProps();let C=ar({},o,B||{},A||{});const Q=this.config.sanitize_properties;return Q&&(Dt.error(jII),C=Q(C,"$set_once")),I&&(this.mh=!0),lk(C)?void 0:C}register(A,I){var e;(e=this.persistence)===null||e===void 0||e.register(A,I)}register_once(A,I,e){var t;(t=this.persistence)===null||t===void 0||t.register_once(A,I,e)}register_for_session(A){var I,e;(I=this.persistence)===null||I===void 0||I.syncCookieProperties(),this.rd(),(e=this.sessionPersistence)===null||e===void 0||e.register(A),Object.keys(A).forEach(t=>this.yh.add(t)),this.od()}unregister(A){var I;(I=this.persistence)===null||I===void 0||I.unregister(A)}unregister_for_session(A){var I;(I=this.sessionPersistence)===null||I===void 0||I.unregister(A),this.yh.delete(A),this.od()}ud(A,I){this.register({[A]:I})}Rh(){this.yh.forEach(A=>{var I;(I=this.sessionPersistence)===null||I===void 0||I.unregister(A)}),this.yh.clear(),this.od()}od(){var A;if(!this.bh)return;if(this.config.persistence==="memory"||!((A=this.sessionPersistence)===null||A===void 0)&&A.hi||!Ea.$t())return void Ea.Pt(this.bh);const I=[];this.yh.forEach(e=>I.push(e)),I.length>0?Ea.At(this.bh,I):Ea.Pt(this.bh)}getFeatureFlag(A,I){var e;return(e=this.featureFlags)===null||e===void 0?void 0:e.getFeatureFlag(A,I)}getFeatureFlagPayload(A){var I;return(I=this.featureFlags)===null||I===void 0?void 0:I.getFeatureFlagPayload(A)}getFeatureFlagResult(A,I){var e;return(e=this.featureFlags)===null||e===void 0?void 0:e.getFeatureFlagResult(A,I)}getAllFeatureFlags(){var A,I;return(A=(I=this.featureFlags)===null||I===void 0?void 0:I.getAllFeatureFlags())!==null&&A!==void 0?A:[]}isFeatureEnabled(A,I){var e,t;return(e=(t=this.featureFlags)===null||t===void 0?void 0:t.isFeatureEnabled(A,I))!==null&&e!==void 0?e:I?.defaultValue}reloadFeatureFlags(){var A;(A=this.featureFlags)===null||A===void 0||A.reloadFeatureFlags()}updateFlags(A,I,e){var t;(t=this.featureFlags)===null||t===void 0||t.updateFlags(A,I,e)}updateEarlyAccessFeatureEnrollment(A,I,e){var t;(t=this.featureFlags)===null||t===void 0||t.updateEarlyAccessFeatureEnrollment(A,I,e)}getEarlyAccessFeatures(A,I=!1,e){var t;return(t=this.featureFlags)===null||t===void 0?void 0:t.getEarlyAccessFeatures(A,I,e)}on(A,I){return this.ur.on(A,I)}onFeatureFlags(A){return this.featureFlags?this.featureFlags.onFeatureFlags(A):(A([],{},{errorsLoading:!0}),()=>{})}onSurveysLoaded(A){return this.surveys?this.surveys.onSurveysLoaded(A):(A([],{isLoaded:!1,error:kq}),()=>{})}onSessionId(A){var I,e;return(I=(e=this.sessionManager)===null||e===void 0?void 0:e.onSessionId(A))!==null&&I!==void 0?I:()=>{}}getSurveys(A,I=!1){this.surveys?this.surveys.getSurveys(A,I):A([],{isLoaded:!1,error:kq})}getActiveMatchingSurveys(A,I=!1){this.surveys?this.surveys.getActiveMatchingSurveys(A,I):A([],{isLoaded:!1,error:kq})}onActiveMatchingSurveysChanged(A){return this.surveys?this.surveys.onActiveMatchingSurveysChanged(A):(A([],{isLoaded:!1,error:kq}),()=>{})}renderSurvey(A,I){var e;(e=this.surveys)===null||e===void 0||e.renderSurvey(A,I)}displaySurvey(A,I=xlt){var e;(e=this.surveys)===null||e===void 0||e.displaySurvey(A,I)}cancelPendingSurvey(A){var I;(I=this.surveys)===null||I===void 0||I.cancelPendingSurvey(A)}canRenderSurvey(A){var I,e;return(I=(e=this.surveys)===null||e===void 0?void 0:e.canRenderSurvey(A))!==null&&I!==void 0?I:{visible:!1,disabledReason:kq}}canRenderSurveyAsync(A,I=!1){var e,t;return(e=(t=this.surveys)===null||t===void 0?void 0:t.canRenderSurveyAsync(A,I))!==null&&e!==void 0?e:Promise.resolve({visible:!1,disabledReason:kq})}hd(A){return!A||XAA(A)?(Dt.critical("Unique user id has not been set in posthog.identify"),!1):A==="$posthog_cookieless"?(Dt.critical(`The string "${A}" was set in posthog.identify which indicates an error. This ID is only used as a sentinel value.`),!1):!["distinct_id","distinctid"].includes(A.toLowerCase())&&!["undefined","null"].includes(A.toLowerCase())||(Dt.critical(`The string "${A}" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.`),!1)}identify(A,I,e){if(!this.__loaded||!this.persistence)return Dt.uninitializedWarning("posthog.identify");if(i0(A)&&(A=A.toString(),Dt.warn("The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.")),!this.hd(A)||!this.ld("posthog.identify"))return;this.ah();const t=this.get_distinct_id(),o=this.persistence.syncCookieProperties()&&this.get_distinct_id()!==t,B=this.rd(!1),C=this.persistence.ku();let Q=!1;try{const E=this.get_distinct_id();this.register({$user_id:A}),this.get_property("$device_id")||this.register_once({$had_persisted_distinct_id:!0,$device_id:E},""),A!==E&&A!==this.get_property("__alias")&&(this.unregister(hDA),this.register({distinct_id:A}));const n=(this.persistence.get_property("$user_state")||"anonymous")===cJ,s=A!==E,r=!s&&n;if(s&&n){var i;const a=this.config.reuseAnonymousId?{distinct_id:A}:{distinct_id:A,$anon_distinct_id:E};this.persistence.set_property(Km,lDA),this.setPersonPropertiesForFlags({$set:I||{},$set_once:e||{}},!1),this.config.cookieWinsOnConflict&&this.persistence.Su(),this.capture("$identify",a,{$set:I||{},$set_once:e||{}})&&(this.$h=mvA(A,I,e)),(i=this.featureFlags)===null||i===void 0||i.setAnonymousDistinctId(this.config.reuseAnonymousId?void 0:E)}else if(r){this.persistence.set_property(Km,lDA);const a=I||{},c=e||{};this.setPersonPropertiesForFlags({$set:a,$set_once:c},!1),this.config.cookieWinsOnConflict&&this.persistence.Su(),this.capture("$set",{$set:a,$set_once:c})&&(this.$h=mvA(A,I,e))}else(I||e)&&this.setPersonProperties(I,e);s||o||B?(this.reloadFeatureFlags(),this.featureFlags?this.featureFlags.resetFlagCallReported():this.unregister(rJ)):r&&(I||e)&&this.reloadFeatureFlags(),Q=!0}finally{C&&this.persistence.Cu(Q)}}setPersonProperties(A,I){if(!A&&!I||!this.ld("posthog.setPersonProperties"))return;const e=mvA(this.get_distinct_id(),A,I);this.$h!==e?(this.setPersonPropertiesForFlags({$set:A||{},$set_once:I||{}},!0),this.capture("$set",{$set:A||{},$set_once:I||{}})&&(this.$h=e)):Dt.info("A duplicate setPersonProperties call was made with the same properties. It has been ignored.")}unsetPersonProperties(A){var I;const e=(cB(A)?A:[A]).filter(t=>KC(t)&&t.length>0);e.length!==0&&this.ld("posthog.unsetPersonProperties")&&((I=this.featureFlags)===null||I===void 0||I.unsetPersonPropertiesForFlags(e,!0),this.capture("$set",{$unset:e}),this.$h=null)}group(A,I,e){var t;if(!A||!I)return void Dt.error("posthog.group requires a group type and group key");(t=this.persistence)===null||t===void 0||t.syncCookieProperties(),this.rd();const o=this.getGroups(),B=o[A]!==I;if(B&&this.resetGroupPropertiesForFlags(A),this.register({$groups:QI(QI({},o),{},{[A]:I})}),(B||e)&&this.ad()){const C={$group_type:A,$group_key:I};e&&(C.$group_set=e),this.capture(ygI,C)}e&&this.setGroupPropertiesForFlags({[A]:e}),B&&!e&&this.reloadFeatureFlags()}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(A,I=!0){var e;(e=this.featureFlags)===null||e===void 0||e.setPersonPropertiesForFlags(A,I)}resetPersonPropertiesForFlags(A=!0){var I;(I=this.featureFlags)===null||I===void 0||I.resetPersonPropertiesForFlags(A)}setGroupPropertiesForFlags(A,I=!0){var e;this.ld("posthog.setGroupPropertiesForFlags")&&((e=this.featureFlags)===null||e===void 0||e.setGroupPropertiesForFlags(A,I))}resetGroupPropertiesForFlags(A){var I;(I=this.featureFlags)===null||I===void 0||I.resetGroupPropertiesForFlags(A)}reset(A){const I=Pm(A)?A:A?.resetDeviceID,e=Pm(A)||A==null?void 0:A.bootstrap;this.dd(I,!1,e)}dd(A,I=!1,e){var t,o,B,C,Q,i;if(Dt.info("reset"),!this.__loaded)return Dt.uninitializedWarning("posthog.reset");const E=e?.sessionID;this.config.bootstrap=e||((t=this.Th)===null||t===void 0?void 0:t.bootstrap)||{},(o=this.featureFlags)===null||o===void 0||(B=o.updateConfig)===null||B===void 0||B.call(o,this.config,this.Qu());const n=this.get_property(R6A),s=this.get_property(N6A),r=this.get_property(igA);(C=this.sessionRecording)===null||C===void 0||C.flushBeforeIdentityReset();const a=this.is_capturing();I||this.consent.reset(),I||!a||this.is_capturing()||console.warn("[PostHog.js]","reset() cleared the stored consent, and capturing is now off because of `opt_out_capturing_by_default`. Call opt_in_capturing() again, and prefer calling reset() before opting in rather than after.");const c=(Q=this.persistence)===null||Q===void 0||(i=Q.ku)===null||i===void 0?void 0:i.call(Q),h=this.uh;this.uh=h||I;let l=!1;try{var D,d,y,w,u,G,m,p,k,S,R,x,N;if((D=this.persistence)===null||D===void 0||D.clear(),(d=this.sessionPersistence)===null||d===void 0||d.clear(),this.yh.clear(),this.od(),Le(r)||(S=this.persistence)===null||S===void 0||S.register({$session_recording_remote_config:r}),(y=this.surveys)===null||y===void 0||y.reset(),(w=this.featureFlags)===null||w===void 0||w.reset(),(u=this.conversations)===null||u===void 0||u.reset(),(G=this.logs)===null||G===void 0||G.reset(),(m=this.metrics)===null||m===void 0||m.reset(),(p=this.persistence)===null||p===void 0||p.set_property("$user_state","anonymous"),(k=this.sessionManager)===null||k===void 0||k.resetSessionId(),this.$h=null,this.config.cookieless_mode==="always")this.register_once({distinct_id:H6A,$device_id:null},"");else{const _=this.config.get_device_id(UR());this.register_once({distinct_id:_,$device_id:A?_:n},""),A||Le(s)||this.register({[N6A]:s})}if(this.register({$last_posthog_reset:new Date().toISOString()},1),e&&(e.distinctID&&!this.nh()&&((N=this.persistence)===null||N===void 0||N.set_property("$user_state",e.isIdentifiedID?"identified":"anonymous"),this.register({distinct_id:e.distinctID})),(R=this.featureFlags)===null||R===void 0||R.initialize(),!hC(E)&&!(!((x=this.sessionManager)===null||x===void 0)&&x.setBootstrapSessionId(E,!0)))){const _=QI({},e);delete _.sessionID,this.config.bootstrap=_}delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,l=!0}finally{var U,K;this.uh=h,c&&((U=this.persistence)===null||U===void 0||(K=U.Cu)===null||K===void 0||K.call(U,l))}var Y;this.cr&&((Y=this.conversations)===null||Y===void 0||Y.onRemoteConfig(this.cr)),this.reloadFeatureFlags()}shutdown(A){var I=this;return ia(function*(){if(!I.__loaded)return void Dt.uninitializedWarning("posthog.shutdown");I.gh=!0,clearTimeout(I.Fh),I.Fh=void 0;const e=I.jh;I.jh=void 0;for(const t of[()=>{var o;return(o=I.sessionRecording)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.logs)===null||o===void 0?void 0:o.flushLogs("sendBeacon")},()=>{var o;return(o=I.metrics)===null||o===void 0?void 0:o.flush("sendBeacon")},()=>{var o;return(o=I.metrics)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.logs)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.surveys)===null||o===void 0?void 0:o.dispose()},()=>{var o;return(o=I.autocapture)===null||o===void 0?void 0:o.dispose()},()=>e?.(),()=>{var o;return(o=I.Mh)===null||o===void 0?void 0:o.unload()},()=>{var o;return(o=I.Ph)===null||o===void 0?void 0:o.unload()},()=>{var o;return(o=I.featureFlags)===null||o===void 0?void 0:o.destroy()},()=>{var o;return(o=I.persistence)===null||o===void 0?void 0:o.destroy()},()=>{var o;return(o=I.sessionPersistence)===null||o===void 0?void 0:o.destroy()}])try{const o=t();o&&Q0(o.then)&&o.then(void 0,B=>{Dt.error("Error during shutdown",B)})}catch(o){Dt.error("Error during shutdown",o)}})()}setIdentity(A,I){var e;delete this.config.identity_claims,this.config.identity_distinct_id=A,this.config.identity_hash=I,this.alias(A),(e=this.conversations)===null||e===void 0||e.vd()}clearIdentity(){var A;delete this.config.identity_distinct_id,delete this.config.identity_hash,delete this.config.identity_claims,(A=this.conversations)===null||A===void 0||A.fd()}get_distinct_id(){return this.get_property("distinct_id")}getGroups(){return this.get_property("$groups")||{}}get_session_id(){var A,I;return(A=(I=this.sessionManager)===null||I===void 0?void 0:I.checkAndGetSessionAndWindowId(!0).sessionId)!==null&&A!==void 0?A:""}get_session_replay_url(A){if(!this.sessionManager)return"";const{sessionId:I,sessionStartTimestamp:e}=this.sessionManager.checkAndGetSessionAndWindowId(!0);let t=this.requestRouter.endpointFor("ui",`/project/${this.config.token}/replay/${I}`);if(A?.withTimestamp&&e){var o;const B=(o=A.timestampLookBack)!==null&&o!==void 0?o:10;if(!e)return t;t+=`?t=${Math.max(Math.floor((new Date().getTime()-e)/1e3)-B,0)}`}return t}alias(A,I){return A===this.get_property("$people_distinct_id")?(Dt.critical("Attempting to create alias for existing People user - aborting."),-2):this.ld("posthog.alias")?(Le(I)&&(I=this.get_distinct_id()),A!==I?(this.ud(hDA,A),this.capture("$create_alias",{alias:A,distinct_id:I})):(Dt.warn("alias matches current distinct_id - skipping api call."),this.identify(A),-1)):void 0}set_config(A){const I=QI({},this.config);if(yC(A)){var e,t,o,B,C,Q,i,E,n,s,r,a,c,h;ar(this.config,geI(A));const w=this.fh();if(this.persistence){const G=this.config.persistence==="sessionStorage"||this.config.persistence==="memory";var l,D;if(G&&this.sessionPersistence!==this.persistence&&((l=this.sessionPersistence)===null||l===void 0||l.remove(),(D=this.sessionPersistence)===null||D===void 0||D.destroy()),this.persistence.update_config(this.config,I,w),G)this.sessionPersistence=this.persistence;else if(this.sessionPersistence===this.persistence)this.sessionPersistence=new EvA(QI(QI({},this.config),{},{persistence:"sessionStorage"}),w,!1);else{var d;(d=this.sessionPersistence)===null||d===void 0||d.update_config(QI(QI({},this.config),{},{persistence:"sessionStorage"}),QI(QI({},I),{},{persistence:"sessionStorage"}),w)}}const u=this.Ch(this.config.debug);var y;Pm(u)&&(this.config.debug=u),Pm(this.config.debug)&&(this.config.debug?(Dk.DEBUG=!0,eE.$t()&&eE.At("ph_debug",!0),Dt.info("set_config",{config:A,oldConfig:I,newConfig:QI({},this.config)})):(Dk.DEBUG=!1,eE.$t()&&eE.Pt("ph_debug"))),(e=this.featureFlags)===null||e===void 0||(t=e.updateConfig)===null||t===void 0||t.call(e,this.config,this.Qu()),(o=this.exceptionObserver)===null||o===void 0||o.onConfigChange(),(B=this.exceptions)===null||B===void 0||B.onConfigChange(),(C=this.metrics)===null||C===void 0||C.onConfigChange(),(Q=this.webMCP)===null||Q===void 0||Q.startIfEnabled(),(i=this.sessionRecording)===null||i===void 0||i.startIfEnabledOrStop(),(E=this.tracingHeaders)===null||E===void 0||E.startIfEnabledOrStop(),(n=this.autocapture)===null||n===void 0||n.startIfEnabled(),(s=this.heatmaps)===null||s===void 0||s.startIfEnabled(),("capture_pageview"in A||"disable_capture_url_hashes"in A)&&((y=this.historyAutocapture)===null||y===void 0||y.startIfEnabledOrStop()),(r=this.exceptionObserver)===null||r===void 0||r.startIfEnabledOrStop(),(a=this.deadClicksAutocapture)===null||a===void 0||a.startIfEnabledOrStop(),(c=this.surveys)===null||c===void 0||c.loadIfEnabled(),this.hh(),(h=this.externalIntegrations)===null||h===void 0||h.startIfEnabledOrStop(),!I.segment&&this.config.segment&&this.persistence&&OgI(this,pgA,!1)}}_overrideSDKInfo(A,I){Dk.LIB_NAME=A,Dk.LIB_VERSION=I}startSessionRecording(A){const I=A===!0,e={sampling:I||!!A?.sampling,linked_flag:I||!!A?.linked_flag,url_trigger:I||!!A?.url_trigger,event_trigger:I||!!A?.event_trigger};var t,o,B,C,Q;Object.values(e).some(Boolean)&&((t=this.sessionManager)===null||t===void 0||t.checkAndGetSessionAndWindowId(),e.sampling&&((o=this.sessionRecording)===null||o===void 0||o.overrideSampling()),e.linked_flag&&((B=this.sessionRecording)===null||B===void 0||B.overrideLinkedFlag()),e.url_trigger&&((C=this.sessionRecording)===null||C===void 0||C.overrideTrigger("url")),e.event_trigger&&((Q=this.sessionRecording)===null||Q===void 0||Q.overrideTrigger("event"))),this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var A;return!!(!((A=this.sessionRecording)===null||A===void 0)&&A.started)}captureException(A,I){try{if(!this.exceptions)return;const e=this.exceptions.buildProperties(A,{handled:!0,syntheticException:new Error("PostHog syntheticException")});return this.exceptions.sendExceptionEvent(QI(QI({},e),I))}catch{return}}addExceptionStep(A,I){var e;(e=this.exceptions)===null||e===void 0||e.addExceptionStep(A,I)}captureLog(A){var I;(I=this.logs)===null||I===void 0||I.captureLog(A)}get logger(){var A,I;return(A=(I=this.logs)===null||I===void 0?void 0:I.logger)!==null&&A!==void 0?A:NY.pd}startExceptionAutocapture(A){this.set_config({capture_exceptions:A==null||A})}stopExceptionAutocapture(){this.set_config({capture_exceptions:!1})}loadToolbar(A){var I,e;return(I=(e=this.toolbar)===null||e===void 0?void 0:e.loadToolbar(A))!==null&&I!==void 0&&I}get_property(A){var I;return(I=this.persistence)===null||I===void 0?void 0:I.props[A]}getSessionProperty(A){var I;return(I=this.sessionPersistence)===null||I===void 0?void 0:I.props[A]}toString(){var A;let I=(A=this.config.name)!==null&&A!==void 0?A:kgA;return I!==kgA&&(I="posthog."+I),I}_isIdentified(){var A,I;return((A=this.persistence)===null||A===void 0?void 0:A.get_property("$user_state"))==="identified"||((I=this.sessionPersistence)===null||I===void 0?void 0:I.get_property("$user_state"))==="identified"}ad(){var A,I;return!(this.config.person_profiles==="never"||this.config.person_profiles==="identified_only"&&!this._isIdentified()&&lk(this.getGroups())&&!(!((A=this.persistence)===null||A===void 0||(A=A.props)===null||A===void 0)&&A.__alias)&&!(!((I=this.persistence)===null||I===void 0||(I=I.props)===null||I===void 0)&&I.$epp))}Vh(){return this.config.capture_pageleave===!0||this.config.capture_pageleave==="if_capture_pageview"&&!!this.config.capture_pageview}createPersonProfile(){this.ad()||this.ld("posthog.createPersonProfile")&&this.setPersonProperties({},{})}setInternalOrTestUser(){this.ld("posthog.setInternalOrTestUser")&&this.setPersonProperties({$internal_or_test_user:!0})}ld(A){return this.config.person_profiles==="never"?(Dt.error(A+' was called, but process_person is set to "never". This call will be ignored.'),!1):(this.sh(),this.ud(b6A,!0),!0)}fh(){if(this.config.cookieless_mode==="always")return!0;const A=this.consent.isOptedOut();return this.config.disable_persistence||A&&!(!this.config.opt_out_persistence_by_default&&this.config.cookieless_mode!=="on_reject")}hh(){var A,I;const e=this.fh();var t,o,B;return this.is_capturing()||(t=this.logs)===null||t===void 0||t.gd(),((A=this.persistence)===null||A===void 0?void 0:A.hi)!==e&&((o=this.persistence)===null||o===void 0||o.set_disabled(e)),((I=this.sessionPersistence)===null||I===void 0?void 0:I.hi)!==e&&((B=this.sessionPersistence)===null||B===void 0||B.set_disabled(e)),this.od(),e}opt_in_capturing(A){var I;if(this.config.cookieless_mode!=="always"){if(this.nh()){var e,t,o,B,C,Q;(e=this.sessionRecording)===null||e===void 0||e.dispose({discardBufferedEvents:!0}),this.dd(!0,!0),(t=this.sessionManager)===null||t===void 0||t.destroy(),(o=this.pageViewManager)===null||o===void 0||o.destroy(),this.sessionManager=new KII(this),this.pageViewManager=new jgI(this),this.persistence&&(this.sessionPropsManager=new JII(this,this.sessionManager,this.persistence));const a=(B=(C=this.config.__extensionClasses)===null||C===void 0?void 0:C.sessionRecording)!==null&&B!==void 0?B:(Q=NY.__defaultExtensionClasses)===null||Q===void 0?void 0:Q.sessionRecording;var i,E;a&&(this.sessionRecording=this.ih(this.sessionRecording,new a(this)),this.cr&&((i=this.sessionRecording)===null||i===void 0||(E=i.onRemoteConfig)===null||E===void 0||E.call(i,this.cr)))}var n,s,r;this.consent.optInOut(!0),this.hh(),this.Hh(),(I=this.sessionRecording)===null||I===void 0||I.startIfEnabledOrStop(),this.config.cookieless_mode=="on_reject"&&((n=this.surveys)===null||n===void 0||n.loadIfEnabled(),(s=this.conversations)===null||s===void 0||s.loadIfEnabled()),(Le(A?.captureEventName)||A?.captureEventName)&&this.capture((r=A?.captureEventName)!==null&&r!==void 0?r:"$opt_in",A?.captureProperties,{send_instantly:!0}),this.config.capture_pageview&&this.Uh()}else Dt.warn(VII)}opt_out_capturing(){this.config.cookieless_mode!=="always"?(this.consent.optInOut(!1),this.hh(),this.config.cookieless_mode==="on_reject"&&this.dh()):Dt.warn(VII)}dh(){var A,I;const e=this.sessionRecording;e?.dispose({discardBufferedEvents:!0}),this.get_distinct_id()!=="$posthog_cookieless"&&this.dd(!0,!0),this.register({distinct_id:H6A,$device_id:null}),this.th(e),this.sessionRecording=void 0,(A=this.sessionManager)===null||A===void 0||A.destroy(),(I=this.pageViewManager)===null||I===void 0||I.destroy(),this.sessionManager=void 0,this.sessionPropsManager=void 0,this.config.capture_pageview&&this.Uh(),this.Hh()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}get_explicit_consent_status(){const A=this.consent.consent;return A===1?"granted":A===0?"denied":"pending"}is_capturing(){return!this.uh&&(this.config.cookieless_mode==="always"||(this.config.cookieless_mode==="on_reject"?this.consent.isRejected()||this.consent.isOptedIn():!this.has_opted_out_capturing()))}clear_opt_in_out_capturing(){this.consent.reset(),this.hh()}_is_bot(){return Tw?LII(Tw,this.config.custom_blocked_useragents):void 0}Uh(){co&&(co.visibilityState==="visible"?this.kh||(this.kh=!0,this.capture(q6A,{title:co.title},{send_instantly:!0}),this.Sh&&(co.removeEventListener(iq,this.Sh),this.Sh=null)):this.Sh||(this.Sh=this.Uh.bind(this),NE(co,iq,this.Sh)))}debug(A){A===!1?(Se?.console.log("You've disabled debug mode."),this.set_config({debug:!1})):(Se?.console.log("You're now in debug mode. All calls to PostHog will be logged in your console.\nYou can disable this with `posthog.debug(false)`."),this.set_config({debug:!0}))}Qu(){const A=this.Th||{};return"advanced_disable_flags"in A?!!A.advanced_disable_flags:this.config.advanced_disable_flags!==!1?!!this.config.advanced_disable_flags:this.config.advanced_disable_decide===!0?(Dt.warn("Config field 'advanced_disable_decide' is deprecated. Please use 'advanced_disable_flags' instead. The old field will be removed in a future major version."),!0):(function(I,e,t,o,B){const C=e in I&&!hC(I[e]),Q=t in I&&!hC(I[t]);return C?I[e]:!!Q&&(B&&B.warn(`Config field '${t}' is deprecated. Please use '${e}' instead. The old field will be removed in a future major version.`),I[t])})(A,"advanced_disable_flags","advanced_disable_decide",0,Dt)}Os(A){var I;if(hC(this.config.before_send))return A;const e=Object.keys((I=A.properties)!==null&&I!==void 0?I:{}).filter(Lct),t=cB(this.config.before_send)?this.config.before_send:[this.config.before_send];let o=A;for(const B of t)try{if(o=B(o),hC(o)){const C=`Event '${A.event}' was rejected in beforeSend function`;return Kct(A.event)?Dt.warn(`${C}. This can cause unexpected behavior.`):Dt.info(C),null}o.properties&&!lk(o.properties)||Dt.warn(`Event '${A.event}' has no properties after beforeSend function, this is likely an error.`)}catch(C){return Dt.error(`Error in beforeSend function for event '${A.event}':`,C),null}for(const B of e)if(o.properties&&hC(o.properties[B]))return Dt.warn(`Event '${A.event}' had its '${B}' property removed in a beforeSend function. This property is required for ingestion, so the event will be dropped.`),null;return o}getPageViewId(){var A;return(A=this.pageViewManager.Rl)===null||A===void 0?void 0:A.pageViewId}captureTraceFeedback(A,I){this.capture("$ai_feedback",{$ai_trace_id:String(A),$ai_feedback_text:I})}captureTraceMetric(A,I,e){this.capture("$ai_metric",{$ai_trace_id:String(A),$ai_metric_name:I,$ai_metric_value:String(e)})}Ch(A){const I=Pm(A)&&!A,e=eE.$t()&&eE.Ot("ph_debug")==="true";return!I&&(!!e||A)}};MgA.__defaultExtensionClasses={},MgA.pd=(()=>{const g=()=>{};return{trace:g,debug:g,info:g,warn:g,error:g,fatal:g}})(),(function(g,A){for(let I=0;A.length>I;I++)g.prototype[A[I]]=J0t(g.prototype[A[I]])})(MgA,["identify"]);var Wlt=class{constructor(A){this._instance=A}refresh(A){const I=this._instance.config,e=yC(I.autocapture)?I.autocapture:void 0;A.enabled=!!I.autocapture,A.rageclick=I.rageclick,A.maskAllElementAttributes=I.mask_all_element_attributes,A.maskAllText=I.mask_all_text,A.disableCaptureUrlHashes=I.disable_capture_url_hashes,A.getCurrentUrl=I.get_current_url,A.remoteRequestsDisabled=this._instance.Qu(),A.url_allowlist=e?.url_allowlist,A.url_ignorelist=e?.url_ignorelist,A.dom_event_allowlist=e?.dom_event_allowlist,A.element_allowlist=e?.element_allowlist,A.css_selector_allowlist=e?.css_selector_allowlist,A.css_selector_ignorelist=e?.css_selector_ignorelist,A.element_attribute_ignorelist=e?.element_attribute_ignorelist,A.capture_copied_text=e?.capture_copied_text}};const SgA=Ic("[ExceptionAutocapture]"),IeI=()=>{},eeI=g=>{var A;if(Q0(g))return(A=g.__posthog_layer__)!==null&&A!==void 0?A:g.__rrweb_layer__};function Mq(g,A,I){try{if(!(A in g))return IeI;const e={next:g[A]},t=I(function(...o){return e.next.apply(this,o)});return Q0(t)&&(t.prototype=t.prototype||{},Object.defineProperties(t,{__posthog_wrapped__:{enumerable:!1,value:!0},__posthog_layer__:{enumerable:!1,value:e}})),g[A]=t,()=>{if(g[A]===t)return void(g[A]=e.next);let o=g[A],B=eeI(o);for(;B;){if(B.next===t)return void(B.next=e.next);o=B.next,B=eeI(o)}}}catch{return IeI}}const Vlt=Ic("[TracingHeaders]"),c5=Ic("[Web Vitals]"),teI=9e5,oeI=["CLS","FCP","INP","LCP"],jlt=["INP","LCP"],zlt=["interactionTarget","interactionType","inputDelay","processingDuration","presentationDelay","loadState","target","url","timeToFirstByte","resourceLoadDelay","resourceLoadDuration","elementRenderDelay","largestShiftTarget","largestShiftTime","largestShiftValue","firstByteToFCP"],xvA="disabled",BeI="lazy_loading",dJ=Ic("[SessionRecording]"),Xlt=[v6A,T6A,EgI,ngI,sgI,agI,rgI,cgI,hgI],$lt=Ic("[Heatmaps]");function FvA(g){return yC(g)&&"clientX"in g&&"clientY"in g&&i0(g.clientX)&&i0(g.clientY)}const xDA=Ic("[Product Tours]"),UvA=g=>{var A;return!g.config.disable_product_tours&&!!(!((A=g.persistence)===null||A===void 0)&&A.get_property(L6A))},ADt=["$set_once","$set"],Gx=Ic("[SiteApps]"),CeI="Error while initializing PostHog app with config id ";function Sq(g,A,I){if(hC(g))return!1;switch(I){case"exact":return g===A;case"contains":{const e=A.replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/_/g,".").replace(/%/g,".*");return new RegExp(e,"i").test(g)}case"regex":try{return new RegExp(A).test(g)}catch{return!1}default:return!1}}var gDt=class{constructor(A){this.Ai=A,this._o=new Set,this.wo=new Set,this.ko=new fDA,this.So=(I,e)=>this.xo(I,e)&&this.$o(I,e)&&this.Co(I,e)&&this.To(I,e),this.xo=(I,e)=>!e?.event||I?.event===e?.event}init(){var A,I;Le((A=this.Ai)===null||A===void 0?void 0:A.subscribeCapture)||(this.Io=(I=this.Ai)===null||I===void 0?void 0:I.subscribeCapture((e,t)=>{this.on(e,t)}))}dispose(){var A,I,e;(A=this.Io)===null||A===void 0||A.call(this),this.Io=void 0,(I=this.Ai)===null||I===void 0||(e=I.setElementSelectors)===null||e===void 0||e.call(I,new Set,this),this.ko=new fDA}register(A){var I,e;if(!Le((I=this.Ai)===null||I===void 0?void 0:I.subscribeCapture)&&(A.forEach(t=>{var o;this._o.add(t),(o=t.steps)===null||o===void 0||o.forEach(B=>{this.wo.add(B?.event||"")})}),(e=this.Ai)===null||e===void 0?void 0:e.setElementSelectors)){const t=new Set;this._o.forEach(o=>{var B;(B=o.steps)===null||B===void 0||B.forEach(C=>{C?.selector&&t.add(C.selector)})}),this.Ai.setElementSelectors(t,this)}}replace(A){this._o.clear(),this.wo.clear(),this.register(A)}on(A,I){I!=null&&A.length!=0&&(this.wo.has(A)||this.wo.has(I.event))&&this._o.forEach(e=>{this.Mo(I,e)&&this.ko.emit("actionCaptured",e.name)})}Eo(A){this.onAction("actionCaptured",I=>A(I))}Mo(A,I){if(I?.steps==null)return!1;for(const e of I.steps)if(this.So(A,e))return!0;return!1}onAction(A,I){return this.ko.on(A,I)}$o(A,I){if(I?.url){var e;let B=A==null||(e=A.properties)===null||e===void 0?void 0:e.$current_url;if(!A?.properties||!("$current_url"in A.properties))try{var t,o;B=(t=this.Ai)===null||t===void 0||(o=t.getActionUrl)===null||o===void 0?void 0:o.call(t)}catch{return!1}if(!B||typeof B!="string"||!Sq(B,I.url,I.url_matching||"contains"))return!1}return!0}Co(A,I){return!!this.Po(A,I)&&!!this.Ro(A,I)&&!!this.Ao(A,I)}Po(A,I){var e;if(!I?.href)return!0;const t=this.Fo(A);if(t.length>0)return t.some(B=>Sq(B.href,I.href,I.href_matching||"exact"));const o=(A==null||(e=A.properties)===null||e===void 0?void 0:e.$elements_chain)||"";return!!o&&Sq((function(B){const C=B.match(/(?::|")href="(.*?)"/);return C?C[1]:""})(o),I.href,I.href_matching||"exact")}Ro(A,I){var e;if(!I?.text)return!0;const t=this.Fo(A);if(t.length>0)return t.some(i=>Sq(i.text,I.text,I.text_matching||"exact")||Sq(i.$el_text,I.text,I.text_matching||"exact"));const o=(A==null||(e=A.properties)===null||e===void 0?void 0:e.$elements_chain)||"";return!!o&&(B=(function(i){const E=[],n=/(?::|")text="(.*?)"/g;let s;for(;!hC(s=n.exec(i));)E.includes(s[1])||E.push(s[1]);return E})(o),C=I.text,Q=I.text_matching||"exact",B.some(i=>Sq(i,C,Q)));var B,C,Q}Ao(A,I){var e,t;if(!I?.selector)return!0;const o=A==null||(e=A.properties)===null||e===void 0?void 0:e.$element_selectors;if(o?.includes(I.selector))return!0;const B=(A==null||(t=A.properties)===null||t===void 0?void 0:t.$elements_chain)||"";if(I.selector_regex&&B)try{return new RegExp(I.selector_regex).test(B)}catch{}return!1}Fo(A){var I;return(A==null||(I=A.properties)===null||I===void 0?void 0:I.$elements)==null?[]:A?.properties.$elements}To(A,I){return!I?.properties||I.properties.length===0||HII(I.properties.reduce((e,t)=>{const o=cB(t.value)?t.value.map(String):t.value!=null?[String(t.value)]:[];return e[t.key]={values:o,operator:t.operator||"exact"},e},{}),A?.properties)}},IDt=class{constructor(A,I){this.Oo=I,this.Do=[],this.Ai=A,this.Lo=new Map,this.No=new Map,this.qo=new Map}jo(){var A,I;this.Bo=(A=(I=this.Ai).subscribeSession)===null||A===void 0?void 0:A.call(I,e=>this.zo(e))}Ho(A){return!1}Uo(){return null}Wo(A){}Vo(){}Go(A,I){return!!A&&HII(A.propertyFilters,I?.properties)}Qo(A,I){const e=new Map;return A.forEach(t=>{var o;(o=t.conditions)===null||o===void 0||(o=o[I])===null||o===void 0||(o=o.values)===null||o===void 0||o.forEach(B=>{if(B?.name){const C=e.get(B.name)||[];C.push(t.id),e.set(B.name,C)}})}),e}Zo(A,I,e){const t=(e===dgA.Activation?this.Lo:this.No).get(A);let o=[];return this.Jo(B=>{o=B.filter(C=>t?.includes(C.id))}),o.filter(B=>{var C;const Q=(C=B.conditions)===null||C===void 0||(C=C[e])===null||C===void 0||(C=C.values)===null||C===void 0?void 0:C.find(i=>i.name===A);return this.Go(Q,I)})}register(A){this.Ko(A,!1)}replace(A){this.Ko(A,!0)}Ko(A,I){Le(this.Ai.subscribeCapture)||(this.Xo(A,I),this.Yo(A,I))}Yo(A,I){const e=A.filter(B=>{var C;return(C=B.conditions)===null||C===void 0||(C=C.actions)===null||C===void 0||(C=C.values)===null||C===void 0?void 0:C.length});var t;if(I&&this.qo.clear(),e.length===0)return void(I&&((t=this.ta)===null||t===void 0||t.replace([])));this.ta||(this.ta=new gDt(this.Ai),this.ta.init(),this.ta.Eo(B=>this.onAction(B)));const o=[];e.forEach(B=>{var C;(C=B.conditions)===null||C===void 0||(C=C.actions)===null||C===void 0||C.values.forEach(Q=>{if(o.push(Q),Q.name){var i;const E=(i=this.qo.get(Q.name))!==null&&i!==void 0?i:[];E.includes(B.id)||E.push(B.id),this.qo.set(Q.name,E)}})}),I?this.ta.replace(o):this.ta.register(o)}ea(A,I){I.forEach((e,t)=>{var o;const B=(o=A.get(t))!==null&&o!==void 0?o:[];e.forEach(C=>{B.includes(C)||B.push(C)}),A.set(t,B)})}Xo(A,I){var e,t,o;const B=A.filter(E=>{var n,s;return((n=E.conditions)===null||n===void 0?void 0:n.events)&&((s=E.conditions)===null||s===void 0||(s=s.events)===null||s===void 0||(s=s.values)===null||s===void 0?void 0:s.length)>0}),C=A.filter(E=>{var n,s;return((n=E.conditions)===null||n===void 0?void 0:n.cancelEvents)&&((s=E.conditions)===null||s===void 0||(s=s.cancelEvents)===null||s===void 0||(s=s.values)===null||s===void 0?void 0:s.length)>0}),Q=this.Qo(A,dgA.Activation),i=this.Qo(A,dgA.Cancellation);I?(this.Lo=Q,this.No=i):(this.ea(this.Lo,Q),this.ea(this.No,i)),(B.length!==0||C.length!==0||A.some(E=>{var n;return(n=E.conditions)===null||n===void 0||(n=n.actions)===null||n===void 0||(n=n.values)===null||n===void 0?void 0:n.length}))&&((e=this.Io)!==null&&e!==void 0||(this.Io=(t=(o=this.Ai).subscribeCapture)===null||t===void 0?void 0:t.call(o,(E,n)=>{this.onEvent(E,n)})))}onEvent(A,I){var e,t;const o=this.ia(),B=(I==null||(e=I.properties)===null||e===void 0?void 0:e.$survey_id)||(I==null||(t=I.properties)===null||t===void 0?void 0:t.$product_tour_id);if(B&&this.getActivatedIds().includes(B)){const Q=this.na(A,B,I);if(Q==="consume")return o.info("event consumed activated item, removing it",{event:A,itemId:B}),void this.sa([B]);if(Q==="persist")return o.info("shown item promoted to persisted activation",{event:A,itemId:B}),this.ra(B),void this.oa([B])}if(this.No.has(A)){const Q=this.Zo(A,I,dgA.Cancellation);Q.length>0&&(o.info("cancel event matched, cancelling items",{event:A,itemsToCancel:Q.map(i=>i.id)}),this.sa(Q.map(i=>i.id)),Q.forEach(i=>this.aa(i.id)))}if(!this.Lo.has(A))return;o.info("event name matched",{event:A,eventPayload:I,items:this.Lo.get(A)});const C=this.Zo(A,I,dgA.Activation);this.la(C.map(Q=>Q.id))}onAction(A){this.qo.has(A)&&this.la(this.qo.get(A)||[])}la(A){if(A.length===0)return;const I=!!this.Ai.getSessionId(),e=[];for(const t of A)I&&this.Ho(t)?this.ra(t)&&this.ua(t):e.push(t);e.length>0&&(this.Do=[...new Set([...this.Do,...e])]),this.ia().info("updating activated items",{activatedItems:this.getActivatedIds()}),this.ca()}ra(A){this.Do=this.Do.filter(e=>e!==A);const I=this.ha();return!I.includes(A)&&(this.da([...I,A]),this.va(),!0)}sa(A){const I=new Set(A);this.Do=this.Do.filter(o=>!I.has(o));const e=this.fa(),t=e.filter(o=>!I.has(o));t.length!==e.length&&(this.da(t),t.length===0&&this.pa()),this.oa(A),this.ca()}ca(){try{var A;(A=this.Oo)===null||A===void 0||A.call(this)}catch(I){this.ia().error("Error while handling activated items change",I)}}ga(){const A=this.Uo();if(!A)return{};const I=this.Ai.getProperty(A);return I&&typeof I=="object"?I:{}}ua(A){if(!this.Uo())return;const I=this.ga();this.Wo(QI(QI({},I),{},{[A]:Date.now()}))}oa(A){if(!this.Uo())return;const I=this.ga(),e={};let t=!1;for(const[o,B]of Object.entries(I))A.includes(o)?t=!0:e[o]=B;t&&(lk(e)?this.Vo():this.Wo(e))}ma(){this.Uo()&&this.Vo()}getActivationTimestamp(A){if(!this.ha().includes(A))return;const I=this.ga()[A];return i0(I)?I:void 0}fa(){const A=this.ya();return this.Ai.getProperty(A)||[]}ha(){const A=this.fa();if(A.length===0)return[];const I=this.Ai.getProperty(this.ba()),e=this.Ai.getSessionId();return e&&I===e?A:[]}va(){const A=this.Ai.getSessionId();A&&this._a(A)}pa(){this.wa()}zo(A){const I=this.Ai.getProperty(this.ba());if(I&&I!==A){const e=this.fa(),t=this.ga();e.length>0&&(this.da([]),e.filter(o=>i0(t[o])).forEach(o=>this.aa(o))),this.pa(),this.ma(),e.length>0&&this.ca()}}getActivatedIds(){return[...new Set([...this.ha(),...this.Do])].filter(A=>!this.ka(A))}dispose(){var A,I,e;(A=this.Bo)===null||A===void 0||A.call(this),this.Bo=void 0,(I=this.Io)===null||I===void 0||I.call(this),this.Io=void 0,(e=this.ta)===null||e===void 0||e.dispose(),this.ta=void 0}reset(){this.Do=[],this.fa().length>0&&this.da([]),this.pa(),this.ma(),this.ca()}getEventToItemsMap(){return this.Lo}Sa(){return this.ta}},eDt=class extends IDt{constructor(A,I,e,t){var o;super({subscribeCapture(B){const C=A.onEvent(Q=>B(Q.event,Q));return()=>C.dispose()},subscribeSession(B){const C=A.onSession(B);return()=>C.dispose()},getSessionId(){var B;return(B=A.session)===null||B===void 0?void 0:B.sessionId},getProperty:B=>A.kv.get(B),getActionUrl:e?.getActionUrl,setElementSelectors:(o=e?.setElementSelectors)!==null&&o!==void 0?o:(B,C)=>{var Q;return(Q=A.getExtension("autocapture"))===null||Q===void 0?void 0:Q.setElementSelectors(B,C)}},t),this.xa=A,this.$a=I,this.jo()}ya(){return f6A}ba(){return rDA}Uo(){return cDA}Wo(A){this.xa.kv.set({[cDA]:A})}Vo(){this.xa.kv.remove(cDA)}Ho(A){var I;let e;this.Jo(o=>{e=o.find(B=>B.id===A)});const t=e==null||(I=e.appearance)===null||I===void 0?void 0:I.surveyPopupDelaySeconds;return i0(t)&&t>0}Ca(){return IS.SHOWN}Jo(A){this.$a.getSurveys(A)}aa(A){this.$a.cancelPendingSurvey(A)}ia(){return mn}da(A){this.xa.kv.set({[f6A]:A})}_a(A){this.xa.kv.set({[rDA]:A})}wa(){this.xa.kv.remove(rDA)}ka(){return!1}na(A,I,e){var t;if(A===IS.SENT&&(e==null||(t=e.properties)===null||t===void 0?void 0:t.$survey_completed)===!1)return"ignore";let o;return this.Jo(B=>{o=B.find(C=>C.id===I)}),!o||(function(B){var C;return _II(B)&&!!(!((C=B.conditions)===null||C===void 0||(C=C.events)===null||C===void 0)&&C.repeatedActivation)||B.schedule==="always"})(o)?A===IS.SHOWN?"consume":"ignore":A===IS.SHOWN?"persist":A===IS.DISMISSED||A===IS.SENT?"consume":"ignore"}getSurveys(){return this.getActivatedIds()}getEventToSurveys(){return this.getEventToItemsMap()}};const JvA=(g,A)=>g?.then?g.then(A):A(g),fq="SDK is not enabled or survey functionality is not yet loaded",QeI="Disabled. Not loading surveys.";var tDt=class{constructor(A){this.Ta=A,this.name="surveys",this._surveyEventReceiver=null,this._surveyManager=null,this.Ia=!1,this.Ma=!1,this.Ea=[],this.Pa=[],this.Ra=null,this.Aa=null,this.Ci=!1,this.Fa=new Set,this.onRemoteConfig=I=>{if(this.Ci||this.Ar.disableSurveys)return;if(!I.ok)return this.Ma=!0,this.Oa({isLoaded:!1,error:"Remote config unavailable. Not loading surveys."}),mn.warn("Remote config unavailable. Not loading surveys.");const e=I.config.surveys;if(hC(e))return mn.warn("Flags not loaded yet. Not loading surveys.");this.Da=Pm(e)?e:e.length>0,mn.info(`flags response received, isSurveysEnabled: ${this.Da}`),this.loadIfEnabled()},this.Oa=I=>{this.Pa.slice().forEach(e=>this.La(e,I))}}setup(A){if(!this.Ci)return this.Na=A,JvA(A.kv.initialize(),()=>{if(this.Na!==A||this.Ci)return;this.Na=void 0,this.xa=A;const I=A.onRemoteConfig(this.onRemoteConfig);this.Ci?I.dispose():(this.qa=I,this.loadIfEnabled())})}dispose(){var A,I,e,t,o;this.Ci||(this.Ci=!0,this.Na=void 0,this.xa=void 0,(A=this.qa)===null||A===void 0||A.dispose(),this.qa=void 0,(I=this._surveyEventReceiver)===null||I===void 0||I.dispose(),this._surveyEventReceiver=null,(e=this._surveyManager)===null||e===void 0||(t=e.dispose)===null||t===void 0||t.call(e),this._surveyManager=null,this.Ea=[],this.Pa.forEach(B=>{B.active=!1}),this.Pa=[],(o=this.ja)===null||o===void 0||o.call(this),this.ja=void 0,this.Ra=null,this.Fa.forEach(B=>clearTimeout(B)),this.Fa.clear())}get Ar(){return this.Ta.get()}getRenderContext(){if(!this.xa)return;const A=this;return{client:this.xa,get config(){return A.Ar},surveys:A}}initialize(){this.loadIfEnabled()}reset(){var A,I;(A=this._surveyManager)===null||A===void 0||(I=A.clearInMemoryInProgressSurveyState)===null||I===void 0||I.call(A);try{var e;(e=this._surveyEventReceiver)===null||e===void 0||e.reset(),localStorage.removeItem("lastSeenSurveyDate");const t=[];for(let o=0;o<localStorage.length;o++){const B=localStorage.key(o);(B?.startsWith("seenSurvey_")||B?.startsWith("inProgressSurvey_"))&&t.push(B)}t.forEach(o=>localStorage.removeItem(o))}catch{}this.Oa()}loadIfEnabled(){if(this.Ci||!this.xa)return;const A=this.Ar;if(this._surveyManager)return;if(this.Ia)return void mn.info("Already initializing surveys, skipping...");if(A.disableSurveys)return void mn.info(QeI);if(A.cookielessMode&&this.xa.isOptedOut)return void mn.info("Not loading surveys in cookieless mode without consent.");const I=this.Ta.getExtensions();if(!I)return void this.Ba("PostHog Extensions not found.");if(Le(this.Da)&&!A.advancedEnableSurveys)return;const e=this.Da||A.advancedEnableSurveys;this.Ia=!0,this.Ma=!1;try{const t=I.generateSurveys;if(t)return this.za(t,e),void(this.Ia=!1);const o=I.loadExternalDependency;if(!o)return this.Ba(S6A),void(this.Ia=!1);o(B=>{try{if(this.Ci)return;const C=this.Ta.getExtensions();B||!C?.generateSurveys?this.Ba("Could not load surveys script",B):this.za(C.generateSurveys,e)}finally{this.Ia=!1}})}catch(t){throw this.Ia=!1,this.Ba("Error initializing surveys",t),t}}za(A,I){var e;if(this.Ci)return;this._surveyManager=A(I),this._surveyEventReceiver=this.Ha(this.xa,this.Oa);const t=(e=this.xa)===null||e===void 0?void 0:e.kv.get(CgA);t&&this.Ua(t),mn.info("Surveys loaded successfully"),this.Wa(),this.Oa(),this.Va({isLoaded:!0})}Ha(A,I){return new eDt(A,this,void 0,I)}Ba(A,I){this.Ma=!0,mn.error(A,I),this.Oa({isLoaded:!1,error:A}),this.Va({isLoaded:!1,error:A})}onSurveysLoaded(A){return this.Ea.push(A),this._surveyManager&&this.Va({isLoaded:!0}),()=>{this.Ea=this.Ea.filter(I=>I!==A)}}getSurveys(A,I=!1){if(this.Ci)return;const e=this.xa;if(!e)return A([],{isLoaded:!1,error:fq});if(this.Ar.disableSurveys)return mn.info(QeI),A([]);const t=e.kv.get(CgA);if(t&&!I)return A(t,{isLoaded:!0}),void(this.Ga()&&this.getSurveys(()=>{},!0));if(this.Ra)return void this.Ra.then(({surveys:C,context:Q})=>{this.Ci||A(C,Q)}).catch(C=>mn.error("Error in survey callback",C));const o=e.sendRequest("/api/surveys/",{method:"GET",query:{token:e.projectToken},sentAt:"query",timeoutMs:this.Ar.requestTimeoutMs}).then(C=>{try{return this.Qa(e,C)}catch(Q){return mn.error("Error processing surveys response",Q),this.Qa(e,{statusCode:0,error:Q})}},C=>this.Qa(e,{statusCode:0,error:C}));this.Ra=o;const B=()=>{this.Ra===o&&(this.Ra=null)};o.then(C=>{B(),this.Ci||(this.Oa(C.context),A(C.surveys,C.context))},B).catch(C=>mn.error("Error in survey callback",C))}Qa(A,I){if(this.Ci)return{surveys:[],context:{isLoaded:!1,error:fq}};const e=I.statusCode;if(e!==200||!I.json){const o=`Surveys API could not be loaded, status: ${e}`;return e!==0?mn.error(o):I.error||mn.warn(o),this.Aa=Date.now(),{surveys:[],context:{isLoaded:!1,error:o}}}this.Aa=null;const t=I.json.surveys||[];return A.kv.set({[CgA]:t,[aDA]:Date.now()}),this.Ua(t),{surveys:t,context:{isLoaded:!0}}}Ua(A){const I=A.filter(e=>(function(t){return!(!t.start_date||t.end_date)})(e)&&(_II(e)||(function(t){var o;return!!(!((o=t.conditions)===null||o===void 0||(o=o.actions)===null||o===void 0||(o=o.values)===null||o===void 0)&&o.length)})(e)));this.Za(I)}Za(A){var I;(I=this._surveyEventReceiver)===null||I===void 0||I.replace(A)}Ga(){return this.Ja()&&!this.Ra&&!this.Ka()}Ja(){var A;const I=(A=this.xa)===null||A===void 0?void 0:A.kv.get(aDA);return i0(I)&&Date.now()-I>3e5}Ka(){return i0(this.Aa)&&3e5>Date.now()-this.Aa}markSurveyAsSeen(A,I){var e;const t={id:A,current_iteration:(e=I?.iteration)!==null&&e!==void 0?e:null};TII(t);try{localStorage.setItem("lastSeenSurveyDate",new Date().toISOString())}catch{}this.Oa()}Va(A){for(const I of this.Ea){if(this.Ci)return;try{A.isLoaded?this.getSurveys(I):I([],A)}catch(e){mn.error("Error in survey callback",e)}}}getActiveMatchingSurveys(A,I=!1){if(!hC(this._surveyManager))return this._surveyManager.getActiveMatchingSurveys(A,I);mn.warn("init was not called")}onActiveMatchingSurveysChanged(A){var I;if(this.Ci)return()=>{};const e={callback:A,active:!0,revision:0};this.Pa.push(e),this.Wa();const t=(I=this.xa)===null||I===void 0?void 0:I.kv.get(CgA);return this.Ar.disableSurveys||!this._surveyManager&&this.Ma&&!this.Ia||!t&&!hC(this.Aa)&&!this.Ra?this.La(e,{isLoaded:!1}):this._surveyManager&&this.La(e),()=>{var o;e.active=!1,this.Pa=this.Pa.filter(B=>B!==e),this.Pa.length===0&&((o=this.ja)===null||o===void 0||o.call(this),this.ja=void 0)}}Wa(){var A,I,e;this._surveyManager&&this.Pa.length>0&&((A=this.ja)!==null&&A!==void 0||(this.ja=(I=(e=this.Ta).onMatchingConditionsChanged)===null||I===void 0?void 0:I.call(e,this.Oa)))}La(A,I){if(this.Ci||!A.active)return;const e=++A.revision,t=o=>{if(!this.Ci&&A.active&&e===A.revision)try{const B=I??{isLoaded:!0},C=JSON.stringify([o,B]);if(C===A.lastResult)return;A.lastResult=C,A.callback(o,B)}catch(B){mn.error("Error in active matching surveys callback",B)}};try{I&&!I.isLoaded?t([]):this.getActiveMatchingSurveys(t)}catch(o){mn.error("Error in active matching surveys callback",o)}}Xa(A){let I=null;return this.getSurveys(e=>{var t;I=(t=e.find(o=>o.id===A))!==null&&t!==void 0?t:null}),I}Ya(A){if(hC(this._surveyManager))return{eligible:!1,reason:fq};const I=typeof A=="string"?this.Xa(A):A;return I?this._surveyManager.checkSurveyEligibility(I):{eligible:!1,reason:"Survey not found"}}tl(A){var I;if(!(!((I=this.xa)===null||I===void 0)&&I.canCapture))return{eligible:!1,reason:"PostHog is not capturing, so a survey response cannot be recorded"};if(hC(this._surveyManager))return{eligible:!1,reason:fq};const e=typeof A=="string"?this.Xa(A):A;return e?this._surveyManager.checkSurveyRenderability(e):{eligible:!1,reason:"Survey not found"}}canRenderSurvey(A){if(hC(this._surveyManager))return mn.warn("init was not called"),{visible:!1,disabledReason:fq};const I=this.tl(A);return{visible:I.eligible,disabledReason:I.reason}}canRenderSurveyAsync(A,I){return hC(this._surveyManager)?(mn.warn("init was not called"),Promise.resolve({visible:!1,disabledReason:fq})):new Promise(e=>{this.getSurveys(t=>{var o;const B=(o=t.find(C=>C.id===A))!==null&&o!==void 0?o:null;if(B){const C=this.tl(B);e({visible:C.eligible,disabledReason:C.reason})}else e({visible:!1,disabledReason:"Survey not found"})},I)})}renderSurvey(A,I,e){var t,o,B;if(!(!((t=this.xa)===null||t===void 0)&&t.canCapture))return;if(hC(this._surveyManager))return void mn.warn("init was not called");const C=typeof A=="string"?this.Xa(A):A;if(!C?.id)return void mn.warn("Survey not found");if(!Nlt.includes(C.type))return void mn.warn(`Surveys of type ${C.type} cannot be rendered in the app`);const Q=(o=typeof document>"u"?void 0:document)===null||o===void 0?void 0:o.querySelector(I);if(Q){if(!((B=C.appearance)===null||B===void 0)&&B.surveyPopupDelaySeconds){mn.info(`Rendering survey ${C.id} with delay of ${C.appearance.surveyPopupDelaySeconds} seconds`);const i=setTimeout(()=>{var E,n,s;this.Fa.delete(i),!this.Ci&&(!((E=this.xa)===null||E===void 0)&&E.canCapture)&&(mn.info(`Rendering survey ${C.id} with delay of ${(n=C.appearance)===null||n===void 0?void 0:n.surveyPopupDelaySeconds} seconds`),(s=this._surveyManager)===null||s===void 0||s.renderSurvey(C,Q,e),mn.info(`Survey ${C.id} rendered`))},1e3*C.appearance.surveyPopupDelaySeconds);return void this.Fa.add(i)}this._surveyManager.renderSurvey(C,Q,e)}else mn.warn("Survey element not found")}displaySurvey(A,I){var e,t;if(!(!((e=this.xa)===null||e===void 0)&&e.canCapture))return;if(hC(this._surveyManager))return void mn.warn("init was not called");const o=this.Xa(A);if(!o)return void mn.warn("Survey not found");let B=o;if(!((t=o.appearance)===null||t===void 0)&&t.surveyPopupDelaySeconds&&I.ignoreDelay&&(B=QI(QI({},o),{},{appearance:QI(QI({},o.appearance),{},{surveyPopupDelaySeconds:0})})),I.displayType!==avA.Popover&&I.initialResponses&&mn.warn("initialResponses is only supported for popover surveys. prefill will not be applied."),I.ignoreConditions===!1){const C=this.Ya(o);if(!C.eligible)return void mn.warn("Survey is not eligible to be displayed: ",C.reason)}I.displayType!==avA.Inline?this._surveyManager.handlePopoverSurvey(B,I):this.renderSurvey(B,I.selector,I.properties)}cancelPendingSurvey(A){hC(this._surveyManager)?mn.warn("init was not called"):this._surveyManager.cancelSurvey(A)}handlePageUnload(){var A,I;(A=this._surveyManager)===null||A===void 0||(I=A.handlePageUnload)===null||I===void 0||I.call(A)}},oDt=class{constructor(A){this._instance=A}get(){var A,I,e,t;const o=(A=this._instance)===null||A===void 0?void 0:A.config;return{disableSurveys:!!o?.disable_surveys,cookielessMode:!!o?.cookieless_mode,advancedEnableSurveys:!!o?.advanced_enable_surveys,requestTimeoutMs:(I=o?.surveys_request_timeout_ms)!==null&&I!==void 0?I:1e4,prefillFromUrl:!!(!(o==null||(e=o.surveys)===null||e===void 0)&&e.prefillFromUrl),automaticDisplay:!o?.disable_surveys_automatic_display,featureFlagEvaluation:!o?.advanced_disable_feature_flags,overrideLanguage:o?.override_display_language,prepareStylesheet:o?.prepare_external_dependency_stylesheet,get_current_url:o?.get_current_url,uiHost:(t=this._instance)===null||t===void 0||(t=t.requestRouter)===null||t===void 0?void 0:t.endpointFor("ui","")}}getExtensions(){const A=JB?.__PosthogExtensions__;if(!A||!this._instance)return;const I=this._instance,{generateSurveys:e,loadExternalDependency:t}=A;return{generateSurveys:e?o=>e(I,o):void 0,loadExternalDependency:t?o=>t(I,"surveys",o):void 0}}onMatchingConditionsChanged(A){var I,e;const t=(I=this._instance)===null||I===void 0?void 0:I._addCaptureHook(Q=>{Q!=="$pageview"&&Q!==IS.SHOWN&&Q!==IS.DISMISSED&&Q!==IS.SENT||A()}),o=()=>A();NE(Se,"PHSurveyShown",o);let B=!1;const C=(e=this._instance)===null||e===void 0?void 0:e.onFeatureFlags(()=>{B&&A()});return B=!0,()=>{B=!1,t?.(),C?.(),Se?.removeEventListener("PHSurveyShown",o)}}};const BDt=Se?.location?wDA(Se.location.hash,"__posthog")||wDA(location.hash,"state"):null,ieI="_postHogToolbarParams",EeI=Ic("[Toolbar]"),neI=Ic("[FeatureFlags]"),h5=Ic("[FeatureFlags]",{debugEnabled:!0}),PvA=`" failed. Feature flags didn't load in time.`,CDt=[502,504],seI=["click","keydown","wheel","touchstart","pointerdown"],aeI="connection_error",reI=g=>{const A={};for(let I=0;g.length>I;I++)A[g[I]]=!0;return A},ceI=g=>{const A={};for(const[I,e]of dDA(g||{}))e&&(A[I]=e);return A};var QDt=class{constructor(A){this.name="featureFlags",this.md=!1,this.featureFlagEventHandlers=[],this.$=neI,this.yd={},this.bd={},this._d=[],this.wd=new Set,this.kd=new Set,this.Sd=!1,this.xd=!1,this.$d=0,this.Cd=!1,this.Td=!1,this.Id=!1,this.Md=!1,this.Ed=!1,this.Pd=0,this.Rd=!1,this.rn=()=>{const I=this.Ad();this.Pd=0,I&&this.reloadFeatureFlags()},this.Fd=()=>{var I,e;const t=this.Od,o=(I=this.Dd)!==null&&I!==void 0?I:t;Le(t)||Le(o)||this.Ar.remoteRequestsDisabled||!this.Ld||this.Ld.visibilityState==="hidden"||Date.now()-((e=this.Nd)!==null&&e!==void 0?e:0)<o||(this.Dd=this.Rd||!this.Ar.idleRefreshBackoff?t:Math.min(2*o,36e5),this.Rd=!1,this.reloadFeatureFlags(),this.qd())},this.jd=()=>{this.Rd&&this.Dd===this.Od||this.Bd()},this.sn=()=>{var I;((I=this.Ld)===null||I===void 0?void 0:I.visibilityState)==="visible"&&this.Bd()},this.Ta=A}get zd(){}Hd(){this.xa&&this.Ud()}setup(A){try{this.Wd=typeof window>"u"?void 0:window,this.Ld=typeof document>"u"?void 0:document}catch{this.Wd=void 0,this.Ld=void 0}return this.Na=A,this.$=A.logger.createLogger("[FeatureFlags]"),JvA(A.kv.initialize(),()=>{this.Na===A&&(this.Na=void 0,this.xa=A,this.Vd(A))})}Vd(A){var I;if(this.xa===A)return this.Wd&&NE(this.Wd,"online",this.rn),this.Ud(),this.Gd=A.registerDynamicEventProperties(()=>this.Qd()?this.yd:this.bd),this.Zd=(I=this.zd)===null||I===void 0?void 0:I.onCrossTabFeatureFlagChange(()=>{this.Jd(),this.Kd(),this.Xd()}),this.Kd(),this.initialize()}Bd(){this.Rd=!0,this.Dd=this.Od,this.Fd()}Ud(){var A;const I=this.Ar.refreshIntervalMs,e=!this.Ar.remoteRequestsDisabled&&this.Ld&&!Le(I)&&I>0?I:void 0;this.Ar.idleRefreshBackoff||(this.Dd=e),e!==this.Od&&(this.Yd(),Le(e)||(this.Od=e,this.Dd=e,this.qd(),!((A=this.Ld)===null||A===void 0)&&A.addEventListener&&(NE(this.Ld,iq,this.sn),aq(seI,t=>{NE(this.Ld,t,this.jd,{capture:!0})}))))}qd(){Le(this.Od)||(Le(this.tv)||clearInterval(this.tv),this.Nd=Date.now(),this.tv=setInterval(this.Fd,this.Od))}Yd(){var A,I;Le(this.tv)||(clearInterval(this.tv),this.tv=void 0,(A=this.Ld)===null||A===void 0||(I=A.removeEventListener)===null||I===void 0||I.call(A,"visibilitychange",this.sn),aq(seI,e=>{var t,o;(t=this.Ld)===null||t===void 0||(o=t.removeEventListener)===null||o===void 0||o.call(t,e,this.jd,{capture:!0})})),this.Od=void 0,this.Dd=void 0,this.Rd=!1,this.Nd=void 0}destroy(){this.ev()}dispose(){this.ev()}ev(){var A,I,e;this.Yd(),this.$d++,this.Td=!1,this.Na=void 0,this.iv(this.wd,"cancelled"),this.iv(this.kd,"cancelled"),this.xa&&(this.nv(),(A=this.Gd)===null||A===void 0||A.dispose(),this.Gd=void 0,(I=this.Zd)===null||I===void 0||I.call(this),this.Zd=void 0,this._d=[],(e=this.Wd)===null||e===void 0||e.removeEventListener("online",this.rn),this.xa=void 0)}get Ar(){return this.Ta.get()}sv(A){var I;return this.rv&&A in this.rv?this.rv[A]:(I=this.xa)===null||I===void 0?void 0:I.kv.get(A)}Jd(){return!!this.rv&&(this.rv=void 0,!0)}ov(){var A;return!Le((A=this.xa)===null||A===void 0?void 0:A.kv.get("$enabled_feature_flags"))&&this.Jd()}At(A){this.av(()=>{var I;return(I=this.xa)===null||I===void 0?void 0:I.kv.set(A)})}lv(A,I,e){if(!this.zd||!A.$enabled_feature_flags)return;const t=this.sv("$enabled_feature_flags")||{},o=A.$enabled_feature_flags||{},B=I.flags||I.featureFlags,C=I.flags?Object.entries(I.flags).filter(([,l])=>!l?.failed).map(([l])=>l):[],Q=!!I.errorsWhileComputingFlags&&!!I.flags,i=Q?C:e&&!cB(B)?Object.keys(B||{}):Array.from(new Set([...Object.keys(t),...Object.keys(o)])),E=this.sv("$feature_flag_payloads")||{},n=A.$feature_flag_payloads||{},s=Q||e?i:Array.from(new Set([...Object.keys(E),...Object.keys(n)])),r=!Q&&!e,a=!!r||i,c=!!r||s,h={[aJ]:a,[xR]:a,[r3]:c};A.$feature_flag_details&&(h[Q5]=a);for(const l of[i5,n3,ogA])Le(A[l])||(h[l]=!0);this.zd.markCrossTabFeatureFlagChanges(h)}Pt(A){this.av(()=>{var I;return(I=this.xa)===null||I===void 0?void 0:I.kv.remove(A)})}av(A){try{A()}catch(I){this.$.error("Failed to update feature flag persistence",I)}}Kd(){const A={};for(const t of[aJ,r3,i5,ux]){const o=this.sv(t);Le(o)||(A[t]=o)}this.yd=A;const I=QI({},A),e=this.sv(xR);if(e)for(const[t,o]of Object.entries(e))I[`$feature/${t}`]=o;this.bd=I}Qd(){const A=this.Ar.cacheTtlMs;if(!A||0>=A)return!1;const I=this.sv(n3);return typeof I!="number"||Date.now()-I>A}uv(){return!!this.Qd()&&(this.Ed||this.xd||(this.Ed=!0,this.$.warn("Feature flag cache is stale, triggering refresh..."),this.reloadFeatureFlags()),!0)}hv(){const A=this.Ar.evaluationContexts;return A?.length?A.filter(I=>{const e=I&&typeof I=="string"&&I.trim().length>0;return e||this.$.error("Invalid evaluation context found:",I,"Expected non-empty string"),e}):[]}dv(){const A=this.Ar.flagKeys;if(!Le(A))return A.filter(I=>{const e=I&&typeof I=="string"&&I.trim().length>0;return e||this.$.error("Invalid flag key found:",I,"Expected non-empty string"),e})}initialize(){var A,I;const e=this.Ar,t=(A=(I=e.bootstrap)===null||I===void 0?void 0:I.featureFlags)!==null&&A!==void 0?A:{};if(Object.keys(t).length){var o,B;const C=(o=(B=e.bootstrap)===null||B===void 0?void 0:B.featureFlagPayloads)!==null&&o!==void 0?o:{},Q=Object.keys(t).filter(E=>!Le(t[E])).reduce((E,n)=>(E[n]=t[n],E),{}),i=Object.keys(C).filter(E=>Q[E]).reduce((E,n)=>(E[n]=C[n],E),{});return this.vv({featureFlags:Q,featureFlagPayloads:i},void 0,{persist:!1})}}updateFlags(A,I,e){var t,o;const B=e?.merge&&(t=this.sv("$enabled_feature_flags"))!==null&&t!==void 0?t:{},C=e?.merge&&(o=this.sv("$feature_flag_payloads"))!==null&&o!==void 0?o:{},Q=QI(QI({},B),A),i=QI(QI({},C),I),E={};for(const[n,s]of Object.entries(Q))E[n]={key:n,enabled:GAI(s),variant:mAI(s),reason:void 0,metadata:Le(i?.[n])?void 0:{id:0,version:void 0,description:void 0,payload:i[n]}};this.vv({flags:E})}get hasLoadedFlags(){return this.Sd}getFlags(){return Object.keys(this.getFlagVariants())}getFlagsWithDetails(){const A=this.sv(Q5),I=this.sv(ux),e=this.sv(E5);if(!e&&!I)return A||{};const t=ar({},A||{}),o=[...new Set([...Object.keys(e||{}),...Object.keys(I||{})])];for(const Q of o){var B,C;const i=t[Q],E=I?.[Q],n=Le(E)?(B=i?.enabled)!==null&&B!==void 0&&B:!!E,s=Le(E)?i?.variant:typeof E=="string"?E:void 0,r=e?.[Q],a=QI(QI({},i),{},{enabled:n,variant:n?s??i?.variant:void 0});n!==i?.enabled&&(a.original_enabled=i?.enabled),s!==i?.variant&&(a.original_variant=i?.variant),r&&(a.metadata=QI(QI({},i?.metadata),{},{payload:r,original_payload:i==null||(C=i.metadata)===null||C===void 0?void 0:C.payload})),t[Q]=a}return this.md||(this.$.warn(" Overriding feature flag details!",{flagDetails:A,overriddenPayloads:e,finalDetails:t}),this.md=!0),t}getAllFeatureFlags(){const A=this.getFlagVariants(),I=this.getFlagPayloads();return Object.keys(A).map(e=>{const t=A[e];return{key:e,enabled:GAI(t),variant:mAI(t),payload:uAI(I[e])}})}getFlagVariants(){const A=this.sv(xR),I=this.sv(ux);if(!I)return A||{};const e=ar({},A||{}),t=Object.keys(I);for(let o=0;t.length>o;o++)e[t[o]]=I[t[o]];return this.md||(this.$.warn(" Overriding feature flags!",{enabledFlags:A,overriddenFlags:I,finalFlags:e}),this.md=!0),e}getFlagPayloads(){const A=this.sv(r3),I=this.sv(E5);if(!I)return A||{};const e=ar({},A||{}),t=Object.keys(I);for(let o=0;t.length>o;o++)e[t[o]]=I[t[o]];return this.md||(this.$.warn(" Overriding feature flag payloads!",{flagPayloads:A,overriddenPayloads:I,finalPayloads:e}),this.md=!0),e}reloadFeatureFlags(){this.Cd||this.Ar.featureFlagsDisabled||this.Ad()||(this.Id&&this.$.warn("reloadFeatureFlags() was called inside an onFeatureFlags callback. This callback also runs when flags change in other tabs, so this can cause a request loop."),this.xd&&(this.Td=!0),this.fv||(this._d.slice().forEach(A=>{try{A()}catch(I){this.$.error("Error while running feature flags reloading callback",I)}}),this.fv=setTimeout(()=>{this.pv()},5)))}reloadFeatureFlagsAsync(){return!this.xa||this.Cd||this.Ar.featureFlagsDisabled||this.Ar.remoteRequestsDisabled||this.Ad()?Promise.resolve({status:"skipped"}):new Promise(A=>{this.wd.add(A),this.reloadFeatureFlags()})}iv(A,I){A.forEach(e=>e({status:I})),A.clear()}nv(){clearTimeout(this.fv),this.fv=void 0}onReloading(A){return this._d.push(A),()=>{this._d=this._d.filter(I=>I!==A)}}ensureFlagsLoaded(){this.Sd||this.xd||this.fv||this.reloadFeatureFlags()}setAnonymousDistinctId(A){this.$anon_distinct_id=A}setReloadingPaused(A){this.Cd=A}resetFlagCallReported(){this.Pt(rJ)}pv(A){var I;this.nv();const e=this.xa;if(!e||this.Ar.remoteRequestsDisabled||this.Ad())return void this.iv(this.wd,"skipped");if(this.xd)return void(this.Td=!0);const t={token:e.projectToken,distinct_id:e.distinctId,groups:e.groups,$anon_distinct_id:this.$anon_distinct_id,person_properties:QI(QI(QI({},e.initialPersonProperties),this.sv("$stored_person_properties")||{}),{},{$lib:e.library.name,$lib_version:e.library.version}),group_properties:this.sv(s3),timezone:zgI()};Le(e.deviceId)||(t.$device_id=e.deviceId),(A?.disableFlags||this.Ar.featureFlagsDisabled)&&(t.disable_flags=!0);const o=this.hv();o.length&&(t.evaluation_contexts=o);const B=this.dv();Le(B)||(t.flag_keys=B);const C=this.Ar.onlyEvaluateSurveyFeatureFlags,Q="/flags/?v=2"+(C?"&only_evaluate_survey_feature_flags=true":""),i=this.$d,E=this.wd;this.wd=new Set,this.kd=E,this.xd=!0;const n=()=>{this.Td&&(this.Td=!1,this.pv())},s=l=>{var D,d;const y=(D=l.json)!==null&&D!==void 0?D:{},w=l.statusCode!==200;if(this.xd=!1,i!==this.$d)return void n();if(this.gv(l.statusCode),w||this.Td||(this.$anon_distinct_id=void 0),t.disable_flags&&!this.Td)return void this.iv(E,"skipped");this.Md=!w;const u=[];l.error?u.push(l.error instanceof Error&&l.error.name==="AbortError"?"timeout":l.error instanceof Error?aeI:"unknown_error"):l.statusCode!==200&&u.push(`api_error_${l.statusCode}`),y.errorsWhileComputingFlags&&u.push("errors_while_computing_flags");const G=!!(!((d=y.quotaLimited)===null||d===void 0)&&d.includes("feature_flags"));G&&u.push("quota_limited"),this.At({[tgA]:u}),G?this.$.warn("You have hit your feature flags quota limit, and will not be able to load feature flags until the quota is reset. Please visit https://posthog.com/docs/billing/limits-alerts to learn more."):t.disable_flags||this.vv(y,w,{partialResponse:C}),this.iv(E,t.disable_flags?"skipped":u.length||!y.flags&&!y.featureFlags?"error":"loaded"),n()},r=l=>{this.xd=!1,i===this.$d&&(this.At({[tgA]:[aeI]}),this.$.error("Feature flag request failed",l),this.ov()&&this.Xd(!0),this.iv(E,"error")),n()};let a=(I=this.Ar.requestMaxRetries)!==null&&I!==void 0?I:1;const c=()=>a>0&&i===this.$d,h=()=>{if(i!==this.$d||!this.xa||this.Ar.remoteRequestsDisabled)return this.xd=!1,this.iv(E,"skipped"),void n();try{e.sendRequest(Q,{target:"flags",method:"POST",body:t,compression:this.Ar.compression,sentAt:"body",timeoutMs:this.Ar.requestTimeoutMs}).then(l=>{if((D=>CDt.includes(D.statusCode)||(d=>d.statusCode===0&&d.error instanceof Error&&d.error.name==="AbortError")(D))(l)&&c())return a--,void setTimeout(h,500);s(l)}).catch(r)}catch(l){r(l)}};h()}Ad(){return $gI(this.Pd,3)}gv(A){this.Pd=AII(A,this.Pd,3,()=>this.$.warn("Feature flag requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped refreshing feature flags; will try again when connectivity changes."))}getFeatureFlag(A,I={}){var e;if(I.fresh&&!this.Md)return;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlag for key "'+A+PvA);if(this.uv())return;const t=this.getFeatureFlagResult(A,I);return(e=t?.variant)!==null&&e!==void 0?e:t?.enabled}getFeatureFlagDetails(A){return this.getFlagsWithDetails()[A]}getFeatureFlagPayload(A){const I=this.getFeatureFlagResult(A,{send_event:!1});return I?.payload}getFeatureFlagResult(A,I={}){if(I.fresh&&!this.Md)return;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return void this.$.warn('getFeatureFlagResult for key "'+A+PvA);if(this.uv())return;const e=this.getFlagVariants(),t=A in e,o=e[A],B=this.getFlagPayloads()[A],C=String(o),Q=this.sv("$feature_flag_request_id")||void 0,i=this.sv("$feature_flag_evaluated_at")||void 0;let E,n=this.sv("$flag_call_reported")||{};if(this.Ar.deduplicateCallsPerSession){var s;const R=(s=this.xa)===null||s===void 0||(s=s.session)===null||s===void 0?void 0:s.sessionId,x=this.sv(BgA);R&&R!==x&&(n={},E=R)}if(!I.send_event&&"send_event"in I)E&&this.At({[rJ]:n,[BgA]:E});else{var r,a;const R=(r=this.xa)===null||r===void 0?void 0:r.canCapture;if(!R&&Object.keys(n).length>0&&(n={},this.At({[rJ]:n})),R&&!(!((a=n[A])===null||a===void 0)&&a.includes(C))){var c,h,l,D,d,y,w,u,G,m,p,k,S;cB(n[A])?n[A].push(C):n[A]=[C],this.At(QI({[rJ]:n},E?{[BgA]:E}:{}));const x=this.getFeatureFlagDetails(A),N=[...(c=this.sv("$feature_flag_errors"))!==null&&c!==void 0?c:[]];Le(o)&&N.push("flag_missing");const U={$feature_flag:A,$feature_flag_response:o,$feature_flag_payload:B??null,$feature_flag_request_id:Q,$feature_flag_evaluated_at:i,$feature_flag_bootstrapped_response:(h=(l=this.Ar.bootstrap)===null||l===void 0||(l=l.featureFlags)===null||l===void 0?void 0:l[A])!==null&&h!==void 0?h:null,$feature_flag_bootstrapped_payload:(D=(d=this.Ar.bootstrap)===null||d===void 0||(d=d.featureFlagPayloads)===null||d===void 0?void 0:d[A])!==null&&D!==void 0?D:null,$used_bootstrap_value:!this.Md};Le(x==null||(y=x.metadata)===null||y===void 0?void 0:y.has_experiment)||(U.$feature_flag_has_experiment=x.metadata.has_experiment),Le(x==null||(w=x.metadata)===null||w===void 0?void 0:w.version)||(U.$feature_flag_version=x.metadata.version);const K=(u=x==null||(G=x.reason)===null||G===void 0?void 0:G.description)!==null&&u!==void 0?u:x==null||(m=x.reason)===null||m===void 0?void 0:m.code;K&&(U.$feature_flag_reason=K),!(x==null||(p=x.metadata)===null||p===void 0)&&p.id&&(U.$feature_flag_id=x.metadata.id),Le(x?.original_variant)&&Le(x?.original_enabled)||(U.$feature_flag_original_response=Le(x.original_variant)?x.original_enabled:x.original_variant),!(x==null||(k=x.metadata)===null||k===void 0)&&k.original_payload&&(U.$feature_flag_original_payload=x==null||(S=x.metadata)===null||S===void 0?void 0:S.original_payload),N.length&&(U.$feature_flag_error=N.join(",")),this.mv(U)}else E&&this.At({[rJ]:n,[BgA]:E})}return t?{key:A,enabled:!!o,variant:typeof o=="string"?o:void 0,payload:uAI(B)}:void 0}mv(A){try{var I;(I=this.xa)===null||I===void 0||I.capture("$feature_flag_called",A)}catch(e){this.$.error("Failed to capture feature flag call",e)}}getRemoteConfigPayload(A,I){this.yv(A,I)}yv(A,I){var e=this;return ia(function*(){const t=e.xa;if(!t)return;const o={distinct_id:t.distinctId,token:t.projectToken,person_properties:{$lib:t.library.name,$lib_version:t.library.version}},B=e.hv();B.length&&(o.evaluation_contexts=B);const C=e.dv();let Q;Le(C)||(o.flag_keys=C);try{var i;const E=(i=(yield t.sendRequest("/flags/?v=2",{target:"flags",method:"POST",body:o,compression:e.Ar.compression,sentAt:"body",timeoutMs:e.Ar.requestTimeoutMs})).json)===null||i===void 0?void 0:i.featureFlagPayloads;Q=E?.[A]||void 0}catch(E){return void e.$.error("Remote config feature flag request failed",E)}try{I(Q)}catch(E){e.$.error("Remote config feature flag callback failed",E)}})()}isFeatureEnabled(A,I={}){if(I.fresh&&!this.Md)return I.defaultValue;if(!(this.Sd||this.getFlags()&&this.getFlags().length>0))return this.$.warn('isFeatureEnabled for key "'+A+PvA),I.defaultValue;const e=this.getFeatureFlag(A,I);return Le(e)?I.defaultValue:!!e}addFeatureFlagsHandler(A){this.featureFlagEventHandlers.push(A)}removeFeatureFlagsHandler(A){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter(I=>I!==A)}receivedFeatureFlags(A,I,e){this.vv(A,I,e)}vv(A,I,e){if(!this.xa)return;this.Sd=!0;const t=((o,B={},C={},Q={},i,E=neI)=>{const n=((y,w)=>{const u=y.flags;if(u){const G=Object.fromEntries(Object.keys(u).map(p=>{var k;return[p,(k=u[p].variant)!==null&&k!==void 0?k:u[p].enabled]})),m=Object.fromEntries(Object.keys(u).filter(p=>u[p].enabled).filter(p=>{var k;return!Le((k=u[p].metadata)===null||k===void 0?void 0:k.payload)}).map(p=>{var k;return[p,(k=u[p].metadata)===null||k===void 0?void 0:k.payload]}));return QI(QI({},y),{},{featureFlags:G,featureFlagPayloads:m})}return y.featureFlags&&w.warn("Using an older version of the feature flags endpoint. Please upgrade your PostHog server to the latest version"),y})(o,E),s=n.flags,r=n.featureFlags,a=n.featureFlagPayloads;if(!r)return;const c=o.requestId,h=o.evaluatedAt;if(cB(r)){E.warn("v1 of the feature flags endpoint is deprecated. Please use the latest version.");const y={};if(r)for(let w=0;r.length>w;w++)y[r[w]]=!0;return{[aJ]:r,[xR]:y,[ogA]:!1}}let l=r,D=a,d=s;if(i?.partialResponse){const y=Object.keys(l),w=D||{};l=QI(QI({},B),l),D=QI(QI({},C),w),y.forEach(u=>{u in w||D==null||delete D[u]}),d=QI(QI({},Q),d)}else if(o.errorsWhileComputingFlags)if(s){const y=new Set(Object.keys(s).filter(u=>{var G;return!(!((G=s[u])===null||G===void 0)&&G.failed)}));l=QI(QI({},B),Object.fromEntries(Object.entries(l).filter(([u])=>y.has(u))));const w=Object.fromEntries(Object.entries(D||{}).filter(([u])=>y.has(u)));D=QI(QI({},C),w),y.forEach(u=>{u in w||D==null||delete D[u]}),d=QI(QI({},Q),Object.fromEntries(Object.entries(d||{}).filter(([u])=>y.has(u))))}else l=QI(QI({},B),l),D=QI(QI({},C),D),d=QI(QI({},Q),d);return QI(QI({[aJ]:Object.keys(ceI(l)),[xR]:l||{},[r3]:D||{},[Q5]:d||{},[ogA]:o.minimalFlagCalledEvents===!0},c?{[i5]:c}:{}),h?{[n3]:h}:{})})(A,this.getFlagVariants(),this.getFlagPayloads(),this.getFlagsWithDetails(),e,this.$);if(t)if(e?.persist===!1){const o=!Le(this.xa.kv.get(xR));this.rv=t,o||this.At(t)}else this.Jd(),this.lv(t,A,!!e?.partialResponse),this.At(t);else I&&this.ov();I||(this.Ed=!1),this.Xd(I)}override(A,I=!1){this.$.warn("override is deprecated. Please use overrideFeatureFlags instead."),this.overrideFeatureFlags({flags:A,suppressWarning:I})}overrideFeatureFlags(A){this.bv(A)}bv(A){if(this.xa){if(A===!1)return this.Pt([ux,E5]),this.Xd(),void h5.info("All overrides cleared");if(cB(A))return this.At({[ux]:reI(A)}),this.Xd(),void h5.info("Flag overrides set",{flags:A});if(A&&typeof A=="object"&&("flags"in A||"payloads"in A)){var I;const e=A;this.md=!!((I=e.suppressWarning)!==null&&I!==void 0&&I);const t={},o=e.flags,B=e.payloads;return o&&(t[ux]=cB(o)?reI(o):o),B&&(t[E5]=B),Object.keys(t).length&&this.At(t),o===!1&&B===!1?this.Pt([ux,E5]):o===!1?this.Pt(ux):B===!1&&this.Pt(E5),this.Xd(),o===!1?h5.info("Flag overrides cleared"):o&&h5.info("Flag overrides set",{flags:o}),void(B===!1?h5.info("Payload overrides cleared"):B&&h5.info("Payload overrides set",{payloads:B}))}if(A&&typeof A=="object")return this.At({[ux]:A}),this.Xd(),void h5.info("Flag overrides set",{flags:A});this.$.warn("Invalid overrideOptions provided to overrideFeatureFlags",{overrideOptions:A})}else this.$.warn("posthog.featureFlags.overrideFeatureFlags called before feature flags were ready")}onFeatureFlags(A){if(this.addFeatureFlagsHandler(A),this.Sd){const{flags:I,flagVariants:e}=this._v();try{A(I,e)}catch(t){this.$.error("Error while running feature flags callback",t)}}return()=>this.removeFeatureFlagsHandler(A)}updateEarlyAccessFeatureEnrollment(A,I,e){var t;const o=(this.sv("$early_access_features")||[]).find(E=>E.flagKey===A),B={[`$feature_enrollment/${A}`]:I},C={$feature_flag:A,$feature_enrollment:I,$set:B};o&&(C.$early_access_feature_name=o.name),e&&(C.$feature_enrollment_stage=e);const Q=QI(QI({},this.getFlagVariants()),{},{[A]:I});(t=this.zd)===null||t===void 0||t.markCrossTabFeatureFlagChanges({$active_feature_flags:[A],$enabled_feature_flags:[A],$stored_person_properties:Object.keys(B)}),this.At({[aJ]:Object.keys(ceI(Q)),[xR]:Q,[a3]:QI(QI({},this.sv("$stored_person_properties")||{}),B)}),this.Xd();try{var i;(i=this.xa)===null||i===void 0||i.capture("$feature_enrollment_update",C)}catch(E){this.$.error("Failed to capture early access feature enrollment",E)}}getEarlyAccessFeatures(A,I=!1,e){const t=this.sv(M6A);!t||I?this.wv(A,e):A(t)}wv(A,I){var e=this;return ia(function*(){const t=e.xa;if(!t)return;const o=I?`&${I.map(C=>`stage=${C}`).join("&")}`:"";let B;try{const C=yield t.sendRequest(`/api/early_access_features/?token=${t.projectToken}${o}`,{target:"api",method:"GET",sentAt:"query"});if(!C.json)return;B=C.json.earlyAccessFeatures,e.At({[M6A]:B})}catch(C){return void e.$.error("Early access feature request failed",C)}try{A(B)}catch(C){e.$.error("Early access feature callback failed",C)}})()}_v(){const A=this.getFlags(),I=this.getFlagVariants();return{flags:A.filter(e=>I[e]),flagVariants:Object.keys(I).filter(e=>I[e]).reduce((e,t)=>(e[t]=I[t],e),{})}}Xd(A){this.Kd();const{flags:I,flagVariants:e}=this._v(),t=this.Id;this.Id=!0,this.featureFlagEventHandlers.forEach(o=>{try{o(I,e,{errorsLoading:A})}catch(B){this.$.error("Error while running feature flags callback",B)}}),this.Id=t}setPersonPropertiesForFlags(A,I=!0){this.Sv(A,I)}Sv(A,I=!0){const e=this.sv("$stored_person_properties")||{},t=A?.$set||(A?.$set_once?{}:A),o=A?.$set_once,B={};if(o)for(const C in o)({}).hasOwnProperty.call(o,C)&&(C in e||(B[C]=o[C]));this.At({[a3]:QI(QI(QI({},e),B),t)}),I&&this.reloadFeatureFlags()}unsetPersonPropertiesForFlags(A,I=!0){const e=QI({},this.sv("$stored_person_properties")||{});A.forEach(t=>{delete e[t]}),this.At({[a3]:e}),I&&this.reloadFeatureFlags()}resetPersonPropertiesForFlags(A=!0){this.Pt(a3),A&&this.reloadFeatureFlags()}setGroupPropertiesForFlags(A,I=!0){const e=this.sv("$stored_group_properties")||{},t=QI({},e);for(const o of Object.keys(A))t[o]=QI(QI({},e[o]),A[o]);this.At({[s3]:t}),I&&this.reloadFeatureFlags()}resetGroupPropertiesForFlags(A){if(A){const I=this.sv("$stored_group_properties")||{};this.At({[s3]:QI(QI({},I),{},{[A]:{}})})}else this.Pt(s3)}reset(){this.$d++,this.iv(this.wd,"cancelled"),this.iv(this.kd,"cancelled"),this.Td=!1,this.yd={},this.bd={},this.rv=void 0,this.Sd=!1,this.Cd=!1,this.Md=!1,this.$anon_distinct_id=void 0,this.nv(),this.md=!1,this.Pd=0}};const heI=Ic("[FeatureFlags]");var iDt=class{constructor(A,I=!1){this.xv=!1,this.update(A,I)}update(A,I){this.$v=((e,t)=>{var o,B,C,Q,i,E,n,s;return{bootstrap:{featureFlags:(o=(B=e.bootstrap)===null||B===void 0?void 0:B.featureFlags)!==null&&o!==void 0?o:void 0,featureFlagPayloads:(C=(Q=e.bootstrap)===null||Q===void 0?void 0:Q.featureFlagPayloads)!==null&&C!==void 0?C:void 0},remoteRequestsDisabled:t,featureFlagsDisabled:!!e.advanced_disable_feature_flags,onlyEvaluateSurveyFeatureFlags:!!e.advanced_only_evaluate_survey_feature_flags,deduplicateCallsPerSession:!!e.advanced_feature_flags_dedup_per_session,cacheTtlMs:e.feature_flag_cache_ttl_ms,refreshIntervalMs:(i=e.remote_config_refresh_interval_ms)!==null&&i!==void 0?i:3e5,idleRefreshBackoff:Le(e.remote_config_refresh_interval_ms),requestTimeoutMs:e.feature_flag_request_timeout_ms,requestMaxRetries:Math.max(0,(E=e.feature_flag_request_max_retries)!==null&&E!==void 0?E:1),compression:e.disable_compression?void 0:"best-available",evaluationContexts:(n=(s=e.evaluation_contexts)!==null&&s!==void 0?s:e.evaluation_environments)!==null&&n!==void 0?n:[],flagKeys:cB(e.flag_keys)?e.flag_keys:void 0}})(A,I),!A.evaluation_environments||A.evaluation_contexts||this.xv||(heI.warn("evaluation_environments is deprecated. Use evaluation_contexts instead. evaluation_environments will be removed in a future version."),this.xv=!0),Le(A.flag_keys)||cB(A.flag_keys)||heI.error("Invalid flag_keys found:",A.flag_keys,"Expected array of non-empty strings")}get(){return this.$v}};const leI=g=>oq(g)&&(g.name==="RangeError"&&g.message.indexOf("Maximum call stack size exceeded")===0||g.name==="InternalError"&&g.message==="too much recursion"),PR=Ic("[Error tracking]"),KvA="webkit-masked-url:",EDt=[{value:"isolatedAPI.contexts.topHostname",exact:!1},{value:"No response from target",exact:!0}],nDt=["chrome-extension://","moz-extension://","safari-extension:","safari-web-extension:",KvA],sDt=["__firefox__","__gCrWeb"],DeI="Refusing to render web experiment since the viewer is a likely bot",aDt={icontains:(g,A)=>A.toLowerCase().indexOf(g.toLowerCase())>-1,not_icontains:(g,A)=>A.toLowerCase().indexOf(g.toLowerCase())===-1,regex:(g,A)=>RDA(A,g),not_regex:(g,A)=>!RDA(A,g),exact:(g,A)=>A===g,is_not:(g,A)=>A!==g},Af=Ic("[Conversations]"),l5="Conversations not available yet.";function deI(g,A){var I,e,t,o,B,C,Q;const i=(I=g?.flushIntervalMs)!==null&&I!==void 0?I:3e3,E=(e=g?.maxBufferSize)!==null&&e!==void 0?e:100,n=A?.consoleCapture?void 0:(t=g?.maxLogsPerInterval)!==null&&t!==void 0?t:1e3,s=Le(n)?Math.max(E,2048):Math.max(E,n),r=QI(QI({},(function(){let a="",c="";try{var h;const l="u">typeof globalThis?globalThis:"u">typeof window?window:void 0,D=l==null||(h=l.navigator)===null||h===void 0?void 0:h.userAgent;D&&([a,c]=IAI(D))}catch{}return(function(l,D){const d=(function(y){if(y)return{}.hasOwnProperty.call(_AI,y)?_AI[y]:y})(l);return QI(QI({},d?{"os.name":d}:{}),D?{"os.version":D}:{})})(a,c)})()),g?.resourceAttributes);return{serviceName:(o=(B=r?.["service.name"])!==null&&B!==void 0?B:g?.serviceName)!==null&&o!==void 0?o:A?.serviceNameDefault,serviceVersion:(C=r?.["service.version"])!==null&&C!==void 0?C:g?.serviceVersion,environment:(Q=r?.["deployment.environment"])!==null&&Q!==void 0?Q:g?.environment,resourceAttributes:r,beforeSend:g?.beforeSend,flushIntervalMs:i,maxBufferSize:E,maxQueueSize:s,maxBatchRecordsPerPost:100,rateCapWindowMs:i,maxLogsPerInterval:n,backgroundFlushBudgetMs:0,terminationFlushBudgetMs:0}}const rDt=["debug","log","warn","error","info"],cDt=g=>{for(;g?.__rrweb_original__;)g=g.__rrweb_original__;return g},yeI="console",weI="__posthogHandledLogsRequestError",LvA=(g,A)=>{const I=g instanceof Error?g:new Error(A);return I[weI]=!0,I},ueI=g=>!!g&&typeof g=="object"&&g[weI]===!0;var hDt=class{get Cv(){return QI(QI({},this.$),{},{error:(...g)=>{g.some(ueI)||this.$.error(...g)}})}constructor(g,A){var I;this.Ta=g,this.Tv=A,this.name="logs",this.Iv=!1,this.Mv=!1,this.Ev=!1,this.$=Ic("[logs]"),this.Ju=[],this.Pv=[],this.Pd=0,this.Rv=!1,this.Ci=!1,this.Av=[],this.Fv=[],this.Ov=!1,this.Dv=!1,this.Lv=!1,this.Nv=()=>{var e,t;this.Ci||(this.Pd=0,(e=this.qv)===null||e===void 0||e.onReconnect(),(t=this.jv)===null||t===void 0||t.onReconnect())},this.Iv=!!(!((I=g.get())===null||I===void 0)&&I.captureConsoleLogs)}get Bv(){return!0}zv(){}Hv(){if(!this.Lv){try{this.Wd=typeof window>"u"?void 0:window}catch{this.Wd=void 0}this.Wd&&(NE(this.Wd,"online",this.Nv),this.Lv=!0)}}Uv(g,A,I,e){this.Hv();const t=deI(this.Ta.get(),I);return[new C0t(this.Wv(g,A),t,this.Cv,()=>this.Tv(),o=>o(),void 0,e),t]}Vv(){const g=this.Ta.get();var A;return this.qv&&this.Gv===g||((A=this.qv)===null||A===void 0||A.reset(),this.Gv=g,[this.qv,this.Qv]=this.Uv(()=>this.Ju,I=>{this.Ju=I})),this.qv}Zv(){const g=this.Ta.get();var A;return this.jv&&this.Jv===g||((A=this.jv)===null||A===void 0||A.reset(),this.Jv=g,[this.jv,this.Kv]=this.Uv(()=>this.Pv,I=>{this.Pv=I},{serviceNameDefault:"posthog-browser-logs",consoleCapture:!0},yeI)),this.jv}setup(g){if(!this.Ci&&!this.Rv)return this.Rv=!0,this.xa=g,this.$=g.logger.createLogger("[logs]"),JvA(g.kv.initialize(),()=>{this.Ci||this.Vd(g)})}Vd(g){var A;this.Hv(),!((A=this.Ta.get())===null||A===void 0)&&A.captureConsoleLogs&&(this.Iv=!0),(this.Iv||this.Ta.remoteConfigWillArrive&&g.kv.get(this.Ta.captureHintKey))&&this.Xv();let I=!1;const e=g.onRemoteConfig(t=>{var o;I=t.ok&&((o=t.config.logs)===null||o===void 0?void 0:o.captureConsoleLogs)===!0,this.onRemoteConfig(t)});this.Ci?e.dispose():(this.qa=e,I||this.loadIfEnabled())}dispose(){var g,A,I,e,t,o,B;this.Ci||(this.Ci=!0,this.Yv(),(g=this.qa)===null||g===void 0||g.dispose(),this.qa=void 0,this.xa=void 0,this.Ev=!1,(A=this.Wd)===null||A===void 0||A.removeEventListener("online",this.Nv),(I=this.tf)===null||I===void 0||I.call(this),this.tf=void 0,(e=this.qv)===null||e===void 0||e.clearQueue(),(t=this.jv)===null||t===void 0||t.clearQueue(),(o=this.qv)===null||o===void 0||o.reset(),(B=this.jv)===null||B===void 0||B.reset())}onRemoteConfig(g){var A,I;if(this.Ci)return;const e=g.ok?(A=g.config.logs)===null||A===void 0?void 0:A.captureConsoleLogs:void 0;hC(e)?this.ef():((I=this.xa)===null||I===void 0||I.kv.set(this.Ta.captureHintKey,!!e),e?(this.Iv=!0,this.Mv||this.Xv(),this.loadIfEnabled()):this.ef())}reset(){var g,A,I,e;this.Yv(),(g=this.qv)===null||g===void 0||g.clearQueue(),this.Ju=[],(A=this.qv)===null||A===void 0||A.reset(),(I=this.jv)===null||I===void 0||I.clearQueue(),this.Pv=[],(e=this.jv)===null||e===void 0||e.reset(),this.Pd=0}captureLog(g){!this.Ci&&this.xa&&this.Vv().captureLog(g)}captureConsoleLog(g){!this.Ci&&this.xa&&this.Zv().captureLog(g)}captureBufferedConsoleLog(g,A,I){!this.Ci&&this.xa&&this.Zv().captureLog(g,{context:A,occurredAtMs:I})}gd(){var g;this.Yv(),(g=this.jv)===null||g===void 0||g.clearQueue(),this.Pv=[]}ef(){this.Iv||this.Yv()}Xv(){var g;if(this.Ov||!(!((g=this.Wd)===null||g===void 0)&&g.console))return;const A=deI(this.Ta.get()).maxBufferSize;let I=!0;this.Fv.push(()=>{I=!1});for(const e of rDt){let t;try{t=cDt(this.Wd.console[e])}catch{continue}t&&this.Fv.push(Mq(this.Wd.console,e,o=>{const B=(...C)=>{try{I&&this.if(e,C,A)}catch{}return o.apply(this.Wd.console,C)};return B.__rrweb_original__=t,B}))}this.Ov=!0,this.nf=setTimeout(()=>{this.Yv()},3e4)}if(g,A,I){var e;if(this.Ov&&!this.Dv&&A.length!==0)if(!((e=this.xa)===null||e===void 0)&&e.canCapture){if(I>this.Av.length){this.Dv=!0;try{this.Av.push({level:g,args:A,occurredAtMs:Date.now(),context:this.Tv()})}finally{this.Dv=!1}}}else this.Yv()}Yv(){if(this.Av=[],this.Ov){this.Ov=!1,this.nf&&(clearTimeout(this.nf),this.nf=void 0);for(const g of this.Fv)g();this.Fv=[]}}sf(){const g=this.Av;return this.Yv(),g}get logger(){return this.rf||(this.rf={trace:(g,A)=>this.captureLog({body:g,level:"trace",attributes:A}),debug:(g,A)=>this.captureLog({body:g,level:"debug",attributes:A}),info:(g,A)=>this.captureLog({body:g,level:"info",attributes:A}),warn:(g,A)=>this.captureLog({body:g,level:"warn",attributes:A}),error:(g,A)=>this.captureLog({body:g,level:"error",attributes:A}),fatal:(g,A)=>this.captureLog({body:g,level:"fatal",attributes:A})}),this.rf}flushLogs(g){this.xa&&(g?this.af(g):(this.qv&&this.qv.flush().catch(A=>this.lf(A)),this.jv&&this.jv.flush().catch(A=>this.lf(A))))}flush(){var g=this;return ia(function*(){var A,I;const e=(A=g.qv)===null||A===void 0?void 0:A.flush().catch(o=>g.lf(o)),t=(I=g.jv)===null||I===void 0?void 0:I.flush().catch(o=>g.lf(o));yield e,yield t})()}lf(g){ueI(g)||this.$.error("PostHog logs flush failed:",g)}loadIfEnabled(){if(this.Ci||!this.Iv||this.Mv||this.Ev)return;const g=this.zv();if(g){this.Ev=!0;try{g((A,I)=>{if(this.Ev=!1,!this.Ci&&this.Iv)if(A||!I)this.$.error("Could not load logs script",A),this.Yv();else{const e=this.sf();this.tf=I.initialize(this.xa),this.Mv=!0,e.length>0&&I.replay(this.xa,e)}})}catch(A){throw this.Ev=!1,A}}else this.Yv()}Wv(g,A){const I=this.xa;return{get isDisabled(){return!1},get optedOut(){return!I.canCapture},getPersistedProperty:e=>e===yx.LogsQueue?g():void 0,setPersistedProperty(e,t){e===yx.LogsQueue&&A(t??[])},js:e=>this.js(e),getLibraryId:()=>I.library.name,getLibraryVersion:()=>I.library.version}}js(g){return new Promise(A=>{if($gI(this.Pd,3))return void A({kind:"fatal",error:LvA(void 0,"logs endpoint is unreachable, dropping batch")});let I=!1;const e=B=>{I||(I=!0,clearTimeout(t),A(B))},t=setTimeout(()=>{this.$.warn("Logs request timed out before receiving a response"),e({kind:"retry-later",error:LvA(void 0,"logs request timed out")})},9e4),o=this.Bv;this.xa.sendRequest("/i/v1/logs",{method:"POST",query:{token:this.xa.projectToken},body:g,compression:"best-available",timeoutMs:6e4}).then(B=>{var C;const Q=B.statusCode;this.uf(Q,o),Q>=200&&300>Q?e({kind:"ok"}):Q===413?e({kind:"too-large"}):Q!==0&&Q!==408&&Q!==429&&500>Q?e({kind:"fatal",error:new Error(`logs request failed with status ${Q}`)}):Q===0?(B.error||this.$.warn("Logs request failed before receiving an HTTP response"),e({kind:"retry-later",error:LvA(B.error,"logs request failed before receiving an HTTP response")})):e({kind:"retry-later",error:(C=B.error)!==null&&C!==void 0?C:new Error(`logs request failed with status ${Q}`)})},B=>{e({kind:"retry-later",error:B})})})}uf(g,A){(g!==0||A)&&(this.Pd=AII(g,this.Pd,3,()=>this.$.warn("Log requests are failing before receiving an HTTP response; this can happen due to network issues, CORS, browser blocking, or ad blockers. Stopped sending logs; will try again when connectivity changes.")))}af(g){this.Ju.length>0&&this.cf(g,this.Ju,this.Qv,this.xa.library.name,A=>{this.Ju=A}),this.Pv.length>0&&this.cf(g,this.Pv,this.Kv,yeI,A=>{this.Pv=A})}cf(g,A,I,e,t){if(A.length===0)return;const o=A.map(C=>C.record);t([]);const B=vAI(o,HAI(I,this.xa.library.name,this.xa.library.version),e,this.xa.library.version);this.xa.sendRequest("/i/v1/logs",{method:"POST",query:{token:this.xa.projectToken},body:B,compression:"best-available",transport:g,timeoutMs:6e4}).catch(C=>this.lf(C))}};const FDA=Ic("[NetworkMetrics]"),YvA=()=>{var g;return!(Se==null||(g=Se.performance)===null||g===void 0)&&g.now?Se.performance.now():Date.now()},lDt={"http:":80,"https:":443},DDt=new Set(["CONNECT","DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT","TRACE"]),GeI=(g,A)=>{var I;const e=String(A);return{method:String(g).toUpperCase(),url:((I=hJ(e))===null||I===void 0?void 0:I.href)||e}},_vA=(g,A,I,e,t,o,B=!1)=>{try{var C,Q;const i=t();if(!i)return;const E=I||void 0,n=YvA()-e,s=hJ(A.url);if(s&&s.protocol!=="http:"&&s.protocol!=="https:")return;const r={url:s?.href||A.url,method:A.method},a=Q0(i.name)?i.name(r):KC(i.name)?i.name:"http.client.request.duration";if(!a)return;const c=B&&!E?void 0:((l,D)=>l?400>l?void 0:String(l):D?.name||"_OTHER")(E,o),h=QI(QI(QI(QI(QI({},(l=>{const D=DDt.has(l)?l:"_OTHER";return QI({"http.request.method":D},D==="_OTHER"&&l!==D?{"http.request.method_original":l}:{})})(r.method)),s?(l=>{return{"server.address":l.hostname.startsWith("[")&&l.hostname.endsWith("]")?l.hostname.slice(1,-1):l.hostname,"server.port":Number(l.port)||lDt[l.protocol],"url.scheme":l.protocol.slice(0,-1),"url.template":(D=l.pathname,D.split("/").map(d=>(y=>/^\d+$/.test(y)||y.length>=8&&/^[0-9a-f-]*\d[0-9a-f-]*$/i.test(y))(d)?":id":d).join("/"))};var D})(s):{}),E?{"http.response.status_code":E}:{}),c?{"error.type":c}:{}),(C=i.attributes)===null||C===void 0?void 0:C.call(i,r,{status:E,durationMs:n}));(Q=g.metrics)===null||Q===void 0||Q.histogram(a,n,{unit:"ms",attributes:h})}catch(i){FDA.error("Failed to record network metric",i)}},meI=()=>{},dDt=(g,A)=>Q0(Se?.fetch)?Mq(Se,"fetch",I=>function(...e){const t=YvA(),o=I.apply(this,e);if(!A())return o;try{var B,C,Q;const[i,E]=e,n=GeI((B=(C=E?.method)!==null&&C!==void 0?C:i?.method)!==null&&B!==void 0?B:"GET",(Q=i?.url)!==null&&Q!==void 0?Q:i);return o.then(s=>(_vA(g,n,s?.status,t,A,void 0,!0),s),s=>{throw _vA(g,n,void 0,t,A,s),s})}catch(i){return FDA.error("Failed to observe fetch",i),o}}):meI,yDt=(g,A)=>{var I;const e=Se==null||(I=Se.XMLHttpRequest)===null||I===void 0?void 0:I.prototype;if(!e)return meI;const t=new WeakMap,o=Mq(e,"open",C=>function(...Q){try{GII.has(this)||t.set(this,GeI(Q[0],Q[1]))}catch(i){FDA.error("Failed to observe XHR open",i)}return C.apply(this,Q)}),B=Mq(e,"send",C=>function(...Q){let i;try{const E=t.get(this);if(E&&A()){const n=YvA();i=()=>{this.removeEventListener("loadend",i),_vA(g,E,this.status,n,A)},NE(this,"loadend",i)}}catch(E){FDA.error("Failed to observe XHR send",E)}try{return C.apply(this,Q)}catch(E){throw i&&this.removeEventListener("loadend",i),E}});return()=>{o(),B()}},peI=new WeakMap,wDt=new Set(["$comment","$defs","$id","$schema","additionalProperties","default","definitions","deprecated","description","examples","minProperties","properties","readOnly","required","title","type","writeOnly"]),uDt={maxStringLength:2048,truncationSuffix:"..."},GDt={maxStringLength:2048,truncationSuffix:"..."};function keI(g){if(g)return g===!0?{intent:!0,model:!0}:{intent:g.intent!==!1,model:g.model!==!1}}function bvA(g,A){return{}.hasOwnProperty.call(g,A)}function HvA(g,A){const I=Object.create(g);return A&&Object.defineProperty(I,"inputSchema",{configurable:!0,enumerable:!0,writable:!0,value:A}),I}function MeI(g,A,I=!1){if(!KC(g))return;const e=g.trim();return e?(I?PAI(e,uDt):e).slice(0,A):void 0}function SeI(g){try{return yC(g)&&g.isError===!0}catch{return!1}}function feI(g){return PAI(g||"Unknown error",GDt).slice(0,2048)}function mDt(g,A){try{return feI(A?(function(I){try{return!yC(I)||!cB(I.content)?void 0:I.content.filter(e=>yC(e)&&e.type==="text"&&KC(e.text)).map(e=>e.text).join(" ").trim()||void 0}catch{return}})(g):yC(g)&&KC(g.message)?g.message:KC(g)?g:String(g))}catch{return"Unknown error"}}function pDt(g,A,I){return A.errorResult?[{type:"Error",value:I,mechanism:{type:"generic",handled:!0,synthetic:!0,exception_id:0}}]:g.buildProperties(A.error,{handled:!0}).$exception_list.map(e=>QI(QI({},e),{},{value:feI(e.value)}))}function kDt(g,A){if(A)return"Error";try{if(!yC(g))return"Error";let I=KC(g.name)?g.name.trim():"";const e=g.constructor;return I&&I!=="Error"||!Q0(e)||e.name==="Error"||(I=e.name),(I||"Error").slice(0,256)}catch{return"Error"}}function MDt(g,A){return{message:mDt(g,A),type:kDt(g,A)}}const UDA={featureFlags:class extends QDt{constructor(g){const A=new iDt(g.config,g.Qu());super(A),this.name=OII,this._instance=g,this.hf=A}get zd(){return this._instance.persistence}updateConfig(g,A){this.hf.update(g,A),this.Hd()}}},SDt={sessionRecording:class{get Ar(){return this._instance.config}get _c(){return this._instance.persistence}get started(){var g;return!!(!((g=this.df)===null||g===void 0)&&g.isStarted)}get status(){var g,A;return this.vf==="awaiting_config"||this.vf==="missing_config"?this.vf:(g=(A=this.df)===null||A===void 0?void 0:A.status)!==null&&g!==void 0?g:this.vf}constructor(g){if(this._instance=g,this._forceAllowLocalhostNetworkCapture=!1,this.vf=xvA,this.ff=void 0,this.pf=!1,this.Je=(()=>{var A,I;if(!co?.visibilityState||co.visibilityState==="visible")return!0;const e=Se==null||(A=Se.performance)===null||A===void 0||(I=A.getEntriesByType)===null||I===void 0?void 0:I.call(A,"visibility-state");return!e?.length||e.some(t=>t.name==="visible")})(),this.sn=()=>{var A,I;co?.visibilityState==="visible"&&(this.Je=!0,(A=this.df)===null||A===void 0||(I=A.setDocumentWasEverVisible)===null||I===void 0||I.call(A,!0))},!this._instance.sessionManager)throw dJ.error("started without valid sessionManager"),new Error("[SessionRecording] started without valid sessionManager. This is a bug.");if(this.Ar.cookieless_mode==="always")throw new Error('[SessionRecording] cannot be used with cookieless_mode="always"');co?.addEventListener&&NE(co,"visibilitychange",this.sn)}initialize(){this.startIfEnabledOrStop()}dispose({discardBufferedEvents:g=!1}={}){var A;this.pf=!0,co==null||(A=co.removeEventListener)===null||A===void 0||A.call(co,"visibilitychange",this.sn),g?this.gf(!0):this.stopRecording()}get mf(){var g;const A=!!(!((g=this._instance.get_property("$session_recording_remote_config"))===null||g===void 0)&&g.enabled),I=!this.Ar.disable_session_recording,e=this.Ar.disable_session_recording||this._instance.consent.isOptedOut();return Se&&A&&I&&!e}startIfEnabledOrStop(g){var A;if(this.pf||this.mf&&(!((A=this.df)===null||A===void 0)&&A.isStarted))return;const I=!Le(Object.assign)&&!Le(Array.from);this.mf&&I?(this.yf(g),dJ.info("starting")):(this.vf=xvA,this.stopRecording())}yf(g){var A,I;if(this.mf)if(this.vf!=="awaiting_config"&&this.vf!=="missing_config"&&(this.vf=BeI),(JB==null||(A=JB.__PosthogExtensions__)===null||A===void 0||(A=A.rrweb)===null||A===void 0?void 0:A.record)&&((I=JB.__PosthogExtensions__)===null||I===void 0?void 0:I.initSessionRecording))this.bf(g);else{var e,t;const o=this._instance.sessionManager;(e=JB.__PosthogExtensions__)===null||e===void 0||(t=e.loadExternalDependency)===null||t===void 0||t.call(e,this._instance,this._f,B=>{if(!this.pf&&this.mf&&this._instance.sessionManager===o)return B?(this._instance.register_for_session({$sdk_debug_recording_script_not_loaded:!0}),dJ.error("could not load recorder",B)):void this.bf(g);this.vf="disabled"})}}stopRecording(){var g,A;(g=this.ff)===null||g===void 0||g.call(this),this.ff=void 0,(A=this.df)===null||A===void 0||A.stop()}gf(g=!1){var A,I;(A=this.ff)===null||A===void 0||A.call(this),this.ff=void 0,(I=this.df)===null||I===void 0||I.discard({discardProducerEvents:g})}wf(){var g,A;(g=this._c)===null||g===void 0||g.unregister("$session_is_sampled"),(A=this._c)===null||A===void 0||A.unregister("$replay_sample_rate")}kf(g,A){if(hC(g))return null;const I=i0(g)?g:parseFloat(g);return typeof(e=I)!="number"||!Number.isFinite(e)||0>e||e>1?(dJ.warn(`${A} must be between 0 and 1. Ignoring invalid value:`,g),null):I;var e}Sf(g){if(this._c){var A,I;const e=this._c,t=()=>{var o;const B=g.sessionRecording===!1?void 0:g.sessionRecording,C=this.kf((o=this.Ar.session_recording)===null||o===void 0?void 0:o.sampleRate,"session_recording.sampleRate"),Q=this.kf(B?.sampleRate,"remote config sampleRate"),i=C??Q;hC(i)&&this.wf();const E=B?.minimumDurationMilliseconds;e.register({[igA]:QI(QI({cache_timestamp:Date.now(),enabled:!!B},B),{},{networkPayloadCapture:QI({capturePerformance:g.capturePerformance},B?.networkPayloadCapture),canvasRecording:{enabled:B?.recordCanvas,fps:B?.canvasFps,quality:B?.canvasQuality},sampleRate:i,minimumDurationMilliseconds:Le(E)?null:E,endpoint:B?.endpoint,triggerMatchType:B?.triggerMatchType,masking:B?.masking,urlTriggers:B?.urlTriggers,version:B?.version,triggerGroups:B?.triggerGroups})})};t(),(A=this.ff)===null||A===void 0||A.call(this),this.ff=(I=this._instance.sessionManager)===null||I===void 0?void 0:I.onSessionId(t)}}onRemoteConfig(g){const A=g.ok?g.config:void 0;return A&&"sessionRecording"in A?A.sessionRecording===!1?(this.Sf(A),void this.gf()):(this.Sf(A),void this.startIfEnabledOrStop()):(this.vf==="awaiting_config"&&(this.vf="missing_config",this._instance.register_for_session({[T6A]:!0}),dJ.warn("config refresh failed, recording will not start until page reload")),void this.startIfEnabledOrStop())}log(g,A="log"){var I;!((I=this.df)===null||I===void 0)&&I.log?this.df.log(g,A):dJ.warn("log called before recorder was ready")}get _f(){var g,A;const I=(g=this._instance)===null||g===void 0||(g=g.persistence)===null||g===void 0?void 0:g.get_property(igA);return(I==null||(A=I.scriptConfig)===null||A===void 0?void 0:A.script)||"lazy-recorder"}xf(){const g=this._instance.get_property(igA);if(!g)return!1;let A;try{A=typeof g=="object"?g:JSON.parse(g)}catch(I){return dJ.warn("persisted remote config for session recording is invalid and will be ignored",I),!1}return!hC(A.cache_timestamp)&&36e5>=Date.now()-A.cache_timestamp}bf(g){var A,I,e;if(!this.pf&&this.mf&&this._instance.sessionManager){if(!(!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.initSessionRecording))return dJ.warn("Called on script loaded before session recording is available. This can be caused by adblockers."),void this._instance.register_for_session({[v6A]:!0});var t;if(this.df||(this.df=(t=JB.__PosthogExtensions__)===null||t===void 0?void 0:t.initSessionRecording(this._instance,this.Je),this.df._forceAllowLocalhostNetworkCapture=this._forceAllowLocalhostNetworkCapture),!this.xf())return this.vf==="missing_config"||this.vf==="awaiting_config"?void 0:(this.vf="awaiting_config",dJ.info("persisted remote config is stale, requesting fresh config before starting"),void new aII(this._instance).load());this.vf=BeI,(I=(e=this.df).setDocumentWasEverVisible)===null||I===void 0||I.call(e,this.Je),this.df.start(g)}else this.vf=xvA}onRRwebEmit(g){var A,I;(A=this.df)===null||A===void 0||(I=A.onRRwebEmit)===null||I===void 0||I.call(A,g)}overrideLinkedFlag(){var g,A;this.df||(A=this._c)===null||A===void 0||A.register({$replay_override_linked_flag:!0}),(g=this.df)===null||g===void 0||g.overrideLinkedFlag()}overrideSampling(){var g,A;this.df||(A=this._c)===null||A===void 0||A.register({$replay_override_sampling:!0}),(g=this.df)===null||g===void 0||g.overrideSampling()}overrideTrigger(g){var A,I;this.df||(I=this._c)===null||I===void 0||I.register({[g==="url"?"$replay_override_url_trigger":"$replay_override_event_trigger"]:!0}),(A=this.df)===null||A===void 0||A.overrideTrigger(g)}get sdkDebugProperties(){var g;const A={};for(const e of Xlt){var I;const t=(I=this._instance.sessionPersistence)===null||I===void 0?void 0:I.get_property(e);Le(t)||(A[e]=t)}return QI(QI({},A),((g=this.df)===null||g===void 0?void 0:g.sdkDebugProperties)||{$recording_status:this.status})}tryAddCustomEvent(g,A){var I;return!!(!((I=this.df)===null||I===void 0)&&I.tryAddCustomEvent(g,A))}flushBeforeIdentityReset(){var g,A;(g=this.df)===null||g===void 0||(A=g.flushBeforeIdentityReset)===null||A===void 0||A.call(g)}}},fDt={autocapture:class extends Llt{constructor(g){super(new Wlt(g)),this.instance=g}},historyAutocapture:class{constructor(g){this.$f=!1,this._instance=g,this.Cf=this.Tf()}initialize(){this.startIfEnabled()}get isEnabled(){const g=this.If();return!!(g.path||g.search||this.Mf(g))}startIfEnabled(){this.isEnabled&&(Dt.info("History API monitoring enabled, starting..."),this.monitorHistoryChanges())}startIfEnabledOrStop(){this.stop(),this.Cf=this.Tf(),this.startIfEnabled()}stop(){this.Ef&&this.Ef(),this.Ef=void 0,this.Pf&&this.Pf(),this.Pf=void 0,Dt.info("History API monitoring stopped")}monitorHistoryChanges(){Se&&Se.history&&(this.Rf("pushState"),this.Rf("replaceState"),this.Af(),this.Mf()&&this.Ff())}Rf(g){var A;if(!Se||!((A=Se.history[g])===null||A===void 0)&&A.__posthog_wrapped__)return;const I=this;Mq(Se.history,g,e=>function(t,o,B){var C;I.Of(B)&&I.Df(),e.call(this,t,o,B),I.Lf(g,!I.$f&&(Se==null||(C=Se.event)===null||C===void 0?void 0:C.type)!=="popstate")})}Tf(){const g=Se?.location;if(g?.pathname)return{pathname:g.pathname,search:g.search,hash:g.hash}}If(){const g=this._instance.config.capture_pageview;return g==="history_change"?{path:!0}:yC(g)?g:{}}Mf(g=this.If()){return!!g.hash&&!this._instance.config.disable_capture_url_hashes}Nf(g){const A=this.If(),I=this.Cf;return!(!I||!(A.path&&g.pathname!==I.pathname||A.search&&g.search!==I.search||this.Mf(A)&&g.hash!==I.hash))}Lf(g,A=!1){try{A||this.Df();const I=this.Tf();if(!I)return;if(this.Nf(I)){const e=()=>this._instance.capture(q6A,{navigation_type:g});A?(this.qf=e,Promise.resolve().then(()=>this.Df())):e()}this.Cf=I}catch(I){Dt.error(`Error capturing ${g} pageview`,I)}}Of(g){var A,I;return!(hC(g)||!Se)&&((A=hJ(String(g)))===null||A===void 0?void 0:A.href)!==((I=Se.location)===null||I===void 0?void 0:I.href)}Df(){const g=this.qf;if(g){this.qf=void 0,this.$f=!0;try{g()}catch(A){Dt.error("Error capturing deferred pageview",A)}finally{this.$f=!1}this.Cf=this.Tf()}}Af(){if(this.Ef)return;const g=()=>{this.Lf("popstate")};NE(Se,"popstate",g),this.Ef=()=>{Se&&Se.removeEventListener("popstate",g)}}Ff(){if(this.Pf)return;const g=()=>{this.Lf("hashchange")};NE(Se,"hashchange",g),this.Pf=()=>{Se&&Se.removeEventListener("hashchange",g)}}},heatmaps:class{get Ar(){return this.instance.config}constructor(g){var A;this.jf=!1,this.ll=!1,this.Bf=null,this.instance=g,this.jf=!!(!((A=this.instance.persistence)===null||A===void 0)&&A.props[F6A]),this.rageclicks=new qII(g.config.rageclick)}initialize(){this.startIfEnabled()}get flushIntervalMilliseconds(){let g=5e3;return yC(this.Ar.capture_heatmaps)&&this.Ar.capture_heatmaps.flush_interval_milliseconds&&(g=this.Ar.capture_heatmaps.flush_interval_milliseconds),g}get isEnabled(){return hC(this.Ar.capture_heatmaps)?hC(this.Ar.enable_heatmaps)?this.jf:this.Ar.enable_heatmaps:this.Ar.capture_heatmaps!==!1}startIfEnabled(){if(this.isEnabled){if(this.ll)return;$lt.info("starting..."),this.zf(),this.sn()}else{var g;clearInterval((g=this.Bf)!==null&&g!==void 0?g:void 0),this.Hf(),this.getAndClearBuffer()}}onRemoteConfig(g){if(!g.ok)return;const A=g.config;if(!("heatmaps"in A))return;const I=!!A.heatmaps;this.instance.persistence&&this.instance.persistence.register({[F6A]:I}),this.jf=I,this.startIfEnabled()}getAndClearBuffer(){const g=this.Rt;return this.Rt=void 0,g}Uf(g){FvA(g.originalEvent)&&this.$r(g.originalEvent,"deadclick")}sn(){this.Bf&&clearInterval(this.Bf),this.Bf=co?.visibilityState==="visible"?setInterval(this.rc.bind(this),this.flushIntervalMilliseconds):null}zf(){Se&&co&&(this.Wf=this.rc.bind(this),NE(Se,DDA,this.Wf),this.Vf=g=>this.$r(g||Se?.event),NE(co,"click",this.Vf,{capture:!0}),this.Gf=g=>this.Qf(g||Se?.event),NE(co,"mousemove",this.Gf,{capture:!0}),this.Zf=new ZgI(this.instance,Alt,this.Uf.bind(this)),this.Zf.startIfEnabledOrStop(),this.Jf=this.sn.bind(this),NE(co,iq,this.Jf),this.ll=!0)}Hf(){var g;Se&&co&&(this.Wf&&Se.removeEventListener(DDA,this.Wf),this.Vf&&co.removeEventListener("click",this.Vf,{capture:!0}),this.Gf&&co.removeEventListener("mousemove",this.Gf,{capture:!0}),this.Jf&&co.removeEventListener(iq,this.Jf),clearTimeout(this.Kf),(g=this.Zf)===null||g===void 0||g.stop(),this.ll=!1)}Xf(g,A){const I=this.instance.scrollManager.scrollY(),e=this.instance.scrollManager.scrollX(),t=this.instance.scrollManager.scrollElement(),o=(function(B,C,Q){let i=B;for(;i&&JR(i)&&!qw(i,"body");){if(i===Q)return!1;let r;try{var E,n,s;r=(E=(n=(s=i.ownerDocument)===null||s===void 0?void 0:s.defaultView)!==null&&n!==void 0?n:Se)===null||E===void 0?void 0:E.getComputedStyle(i).position}catch{return!1}if(yB(C,r))return!0;i=xgI(i)}return!1})(rgA(g),["fixed","sticky"],t);return{x:g.clientX+(o?0:e),y:g.clientY+(o?0:I),target_fixed:o,type:A}}$r(g,A="click"){var I;if(SgI(g.target)||!FvA(g))return;const e=this.Xf(g,A);!((I=this.rageclicks)===null||I===void 0)&&I.isRageClick(g.clientX,g.clientY,new Date().getTime())&&KgI(rgA(g),this.instance.config.rageclick)&&this.Qs(QI(QI({},e),{},{type:"rageclick"})),this.Qs(e)}Qf(g){!SgI(g.target)&&FvA(g)&&(clearTimeout(this.Kf),this.Kf=setTimeout(()=>{this.Qs(this.Xf(g,"mousemove"))},500))}Qs(g){if(!Se)return;const A=this.Ar.disable_capture_url_hashes?E3(Se.location.href):Se.location.href,I=this.Ar.custom_personal_data_properties,e=this.Ar.mask_personal_data_properties?[...wq,...I||[]]:[],t=lgA(A,e,DgA);this.Rt=this.Rt||{},this.Rt[t]||(this.Rt[t]=[]),this.Rt[t].push(g)}rc(){this.Rt&&!lk(this.Rt)&&this.instance.capture("$$heatmap",{$heatmap_data:this.getAndClearBuffer()})}},deadClicksAutocapture:ZgI,webVitalsAutocapture:class{constructor(g){var A;this._instance=g,this.jf=!1,this.ll=!1,this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},this.Yf=(I=!1)=>{clearTimeout(this.tp),this.tp=void 0,this.Rt.metrics.length!==0&&(this._instance.capture("$web_vitals",QI({$current_url:this.Rt.url},this.Rt.metrics.reduce((e,t)=>QI(QI({},e),{},{[`$web_vitals_${t.name}_event`]:QI({},t),[`$web_vitals_${t.name}_value`]:t.value}),{})),I?{transport:"sendBeacon",send_instantly:!0}:void 0),this.Rt={navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0})},this.ep=I=>{var e;if(this.Rt=this.Rt||{navigationKey:void 0,url:void 0,metrics:[],firstMetricTimestamp:void 0},hC(I?.name)||hC(I?.value))return void c5.error("Invalid metric received",I);const t=typeof I.navigationURL=="string"?I.navigationURL:void 0,o=this.np(t);if(Le(o))return;const B=i0(I.navigationId)||typeof I.navigationId=="string"?`navigation:${I.navigationId}`:`url:${o}`;if(this.sp&&I.value>=this.sp)return void c5.error("Ignoring metric with value >= "+this.sp,I);this.Rt.navigationKey!==B&&(this.Yf(),this.tp=setTimeout(this.Yf,this.flushToCaptureTimeoutMs)),Le(this.Rt.navigationKey)&&(this.Rt.navigationKey=B,this.Rt.url=o),this.Rt.firstMetricTimestamp=Le(this.Rt.firstMetricTimestamp)?Date.now():this.Rt.firstMetricTimestamp;const C=(e=this._instance.sessionManager)===null||e===void 0?void 0:e.checkAndGetSessionAndWindowId(!0),Q=QI(QI(QI({},I),t?{navigationURL:o}:{}),{},{$current_url:o,timestamp:Date.now()});if(delete Q.entries,yC(I.attribution)&&this.attributionMetrics.indexOf(I.name)>-1){const i={};for(const E of zlt){const n=E==="url"&&typeof I.attribution[E]=="string"?this.np(I.attribution[E]):I.attribution[E];Le(n)||(i[E]=n)}Q.attribution=i}else delete Q.attribution;Le(C)||(Q.$session_id=C.sessionId,Q.$window_id=C.windowId),this.Rt.metrics.push(Q),this.Rt.metrics.length===this.allowedMetrics.length&&this.Yf()},this.rp=()=>{if(this.ll)return;let I,e,t,o,B=!1;const C=JB.__PosthogExtensions__,Q=C?.postHogWebVitalsCallbacksByFlavor,i=Q?.[this.op]||(this.op==="web-vitals"&&Le(Q)?C?.postHogWebVitalsCallbacks:void 0);if(!Le(i)){const r=i.withoutAttribution,a=this.attributionMetrics;B=!Le(r),I=a.indexOf("LCP")>-1?i.onLCP:r?.onLCP||i.onLCP,e=a.indexOf("CLS")>-1?i.onCLS:r?.onCLS||i.onCLS,t=a.indexOf("FCP")>-1?i.onFCP:r?.onFCP||i.onFCP,o=a.indexOf("INP")>-1?i.onINP:r?.onINP||i.onINP}if(!(I&&e&&t&&o))return void c5.error("web vitals callbacks not loaded - not starting");const E={reportSoftNavs:this.useSoftNavs},n=B&&this.attributionMetrics.indexOf("INP")>-1?QI(QI({},E),{},{includeProcessedEventEntries:!1}):E;this.allowedMetrics.indexOf("LCP")>-1&&I(this.ep.bind(this),E),this.allowedMetrics.indexOf("CLS")>-1&&e(this.ep.bind(this),E),this.allowedMetrics.indexOf("FCP")>-1&&t(this.ep.bind(this),E),this.allowedMetrics.indexOf("INP")>-1&&o(this.ep.bind(this),n);const s=Se?.document;NE(s,iq,()=>{s?.visibilityState==="hidden"&&this.Yf(!0)}),NE(Se,"pagehide",()=>this.Yf(!0)),this.ll=!0},this.jf=!!(!((A=this._instance.persistence)===null||A===void 0)&&A.props[P6A]),this.startIfEnabled()}get ap(){return this._instance.config.capture_performance}get allowedMetrics(){var g,A;const I=yC(this.ap)?(g=this.ap)===null||g===void 0?void 0:g.web_vitals_allowed_metrics:void 0;return hC(I)?((A=this._instance.persistence)===null||A===void 0?void 0:A.props.$web_vitals_allowed_metrics)||oeI:I}get flushToCaptureTimeoutMs(){return(yC(this.ap)?this.ap.web_vitals_delayed_flush_ms:void 0)||5e3}get attributionMetrics(){const g=yC(this.ap)?this.ap.web_vitals_attribution:void 0;return Pm(g)?g?oeI:[]:cB(g)?g:jlt}get useAttribution(){return this.attributionMetrics.length>0}get useSoftNavs(){const g=yC(this.ap)?this.ap.__preview_web_vitals_soft_navs:void 0;return g!=null&&g}get sp(){const g=yC(this.ap)&&i0(this.ap.__web_vitals_max_value)?this.ap.__web_vitals_max_value:teI;return g>0&&6e4>=g?teI:g}get isEnabled(){const g=Qa?.protocol;if(g!=="http:"&&g!=="https:")return c5.info("Web Vitals are disabled on non-http/https protocols"),!1;const A=yC(this.ap)?this.ap.web_vitals:Pm(this.ap)?this.ap:void 0;return Pm(A)?A:this.jf}startIfEnabled(){this.isEnabled&&!this.ll&&(c5.info("enabled, starting..."),this.Ml(this.rp))}onRemoteConfig(g){if(!g.ok)return;const A=g.config;if(!("capturePerformance"in A))return;const I=yC(A.capturePerformance)&&!!A.capturePerformance.web_vitals,e=yC(A.capturePerformance)?A.capturePerformance.web_vitals_allowed_metrics:void 0;this._instance.persistence&&(this._instance.persistence.register({[P6A]:I}),this._instance.persistence.register({[IgI]:e})),this.jf=I,this.startIfEnabled()}get op(){return this.useSoftNavs?this.useAttribution?"web-vitals-with-attribution-soft-navs":"web-vitals-soft-navs":this.useAttribution?"web-vitals-with-attribution":"web-vitals"}Ml(g){var A;const I=JB.__PosthogExtensions__,e=this.op,t=I?.postHogWebVitalsCallbacksByFlavor;t?.[e]||e==="web-vitals"&&Le(t)&&I?.postHogWebVitalsCallbacks?g():I==null||(A=I.loadExternalDependency)===null||A===void 0||A.call(I,this._instance,e,o=>{o?c5.error("failed to load script",o):g()})}np(g){const A=g||Se?.location.href;if(!A)return void c5.error("Could not determine current URL");const I=this._instance.config.disable_capture_url_hashes?E3(A):A,e=this._instance.config.custom_personal_data_properties,t=this._instance.config.mask_personal_data_properties?[...wq,...e||[]]:[];return lgA(I,t,DgA)}}},RDt={exceptionObserver:class{constructor(g){var A;this.rp=()=>{var I;if(!Se||!this.isEnabled||!(!((I=JB.__PosthogExtensions__)===null||I===void 0)&&I.errorWrappingFunctions))return;const e=JB.__PosthogExtensions__.errorWrappingFunctions.wrapOnError,t=JB.__PosthogExtensions__.errorWrappingFunctions.wrapUnhandledRejection,o=JB.__PosthogExtensions__.errorWrappingFunctions.wrapConsoleError;try{!this.lp&&this.Ar.capture_unhandled_errors&&(this.lp=e(this.captureException.bind(this))),!this.up&&this.Ar.capture_unhandled_rejections&&(this.up=t(this.captureException.bind(this))),!this.cp&&this.Ar.capture_console_errors&&(this.cp=o(this.captureException.bind(this)))}catch(B){SgA.error("failed to start",B),this.hp()}},this._instance=g,this.dp=!!(!((A=this._instance.persistence)===null||A===void 0)&&A.props[U6A]),this.wt=new Hct(QI(QI({},(function(I={}){var e,t,o,B;return{refillRate:(e=(t=I.exceptionRateLimiterRefillRate)!==null&&t!==void 0?t:I.__exceptionRateLimiterRefillRate)!==null&&e!==void 0?e:1,bucketSize:(o=(B=I.exceptionRateLimiterBucketSize)!==null&&B!==void 0?B:I.__exceptionRateLimiterBucketSize)!==null&&o!==void 0?o:10}})(this._instance.config.error_tracking)),{},{refillInterval:1e4,$:SgA})),this.Ar=this.vp(),this.startIfEnabledOrStop()}vp(){const g=this._instance.config.capture_exceptions;let A={capture_unhandled_errors:!1,capture_unhandled_rejections:!1,capture_console_errors:!1};return yC(g)?A=QI(QI({},A),g):(Le(g)?this.dp:g)&&(A=QI(QI({},A),{},{capture_unhandled_errors:!0,capture_unhandled_rejections:!0})),A}get isEnabled(){return this.Ar.capture_console_errors||this.Ar.capture_unhandled_errors||this.Ar.capture_unhandled_rejections}startIfEnabledOrStop(){this.isEnabled?(SgA.info("enabled"),this.hp(),this.Ml(this.rp)):this.hp()}Ml(g){var A,I,e;!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.errorWrappingFunctions?g():(I=JB.__PosthogExtensions__)===null||I===void 0||(e=I.loadExternalDependency)===null||e===void 0||e.call(I,this._instance,"exception-autocapture",t=>{if(t)return SgA.error("failed to load script",t);g()})}hp(){var g,A,I;(g=this.lp)===null||g===void 0||g.call(this),this.lp=void 0,(A=this.up)===null||A===void 0||A.call(this),this.up=void 0,(I=this.cp)===null||I===void 0||I.call(this),this.cp=void 0}onRemoteConfig(g){if(!g.ok)return;const A=g.config;"autocaptureExceptions"in A&&(this.dp=!!A.autocaptureExceptions||!1,this._instance.persistence&&this._instance.persistence.register({[U6A]:this.dp}),this.Ar=this.vp(),this.startIfEnabledOrStop())}onConfigChange(){this.Ar=this.vp()}captureException(g){try{var A,I,e;const t=(A=g==null||(I=g.$exception_list)===null||I===void 0||(I=I[0])===null||I===void 0?void 0:I.type)!==null&&A!==void 0?A:"Exception";if(this.wt.consumeRateLimit(t))return void SgA.info("Skipping exception capture because of client rate limiting.",{exception:t});(e=this._instance.exceptions)===null||e===void 0||e.sendExceptionEvent(g)}catch{}}},exceptions:class{constructor(g){var A,I;this.fp=[],this.pp=new Aht([new cht,new mht,new lht,new hht,new uht,new wht,new dht,new Ght],(function(e,...t){return(o,B=0)=>{const C=[],Q=o.split(`
|
|
1070
1070
|
`),i=Math.min(Q.length,B+1e3),E=[];for(let r=B;i>r;r++){const a=Q[r];if(a.length>1024)continue;const c=DAI.test(a)?a.replace(DAI,"$1"):a;if(!c.match(/\S*Error: /)){for(const h of t){const l=h(c,e);if(l){C.push(l);const D=nht(C);if(D){for(let d=E.length-1;d>=0;d--){const y=E[d];if(D.start>=y.start+y.length)break;E.pop()}E.push(D)}break}}if(aht(C,E)>=50)break}}const n=[...E].sort((r,a)=>a.start-r.start),s=n[n.length-1];if(s){const r=dAI(C,s);C.splice(s.start-r,r);for(const a of n)a.start-=r}for(const r of n)sht(C,r);return E.some(r=>r.start===0&&C.length===r.length)&&(function(r){const a=r.map(h=>`${h.function}|${h.filename}|${h.lineno}|${h.colno}|${h.module}`);let c=0;for(let h=1;a.length>h;h++)rht(a,h,c)&&(c=h);r.push(...r.splice(0,c))})(C),(function(r){if(!r.length)return[];const a=Array.from(r);return a.reverse(),a.slice(0,50).map(c=>{return QI(QI({},c),{},{filename:c.filename||(h=a,h[h.length-1]||{}).filename,function:c.function||"?"});var h})})(C)}})("web:javascript",Cht,Eht)),this._instance=g,this.fp=(A=(I=this._instance.persistence)===null||I===void 0?void 0:I.get_property("$error_tracking_suppression_rules"))!==null&&A!==void 0?A:[],this.gp=QDA(this.mp()),this.yp=new kht(this.gp)}onConfigChange(){this.gp=QDA(this.mp()),this.yp.setConfig(this.gp)}onRemoteConfig(g){var A,I,e;if(!g.ok)return;const t=g.config;if(!("errorTracking"in t))return;const o=(A=(I=t.errorTracking)===null||I===void 0?void 0:I.suppressionRules)!==null&&A!==void 0?A:[],B=(e=t.errorTracking)===null||e===void 0?void 0:e.captureExtensionExceptions;this.fp=o,this._instance.persistence&&this._instance.persistence.register({[AgI]:this.fp,[J6A]:B})}get bp(){var g;const A=!!this._instance.get_property(J6A),I=this._instance.config.error_tracking.captureExtensionExceptions;return(g=I??A)!==null&&g!==void 0&&g}buildProperties(g,A){return this.pp.buildFromUnknown(g,{syntheticException:A?.syntheticException,mechanism:{handled:A?.handled}})}addExceptionStep(g,A){if(this.gp.enabled)try{if(!KC(g)||g.trim().length===0)return void PR.warn("Ignoring exception step because message must be a non-empty string");const{sanitizedProperties:I,droppedKeys:e}=(function(t){if(!t)return{sanitizedProperties:{},droppedKeys:[]};const o=[];return{sanitizedProperties:Object.keys(t).reduce((B,C)=>pht.has(C)?(o.push(C),B):(B[C]=t[C],B),{}),droppedKeys:o}})(this._p(A));e.length>0&&PR.warn("Ignoring reserved exception step fields",{droppedKeys:e}),this.yp.add(QI({[BDA]:g,[CDA]:new Date().toISOString()},I))}catch(I){PR.error("Failed to add exception step. Ignoring breadcrumb.",I)}}sendExceptionEvent(g){try{const A=g.$exception_list;if(this.wp(A)){if(this.kp(A))return this.Sp("Exception dropped: matched a suppression rule"),void PR.info("Skipping exception capture because a suppression rule matched");if(!this.bp&&this.xp(A))return this.Sp("Exception dropped: thrown by a browser extension"),void PR.info("Skipping exception capture because it was thrown by an extension");if(!this.bp&&this.$p(A))return this.Sp("Exception dropped: thrown by an injected browser script"),void PR.info("Skipping exception capture because it was thrown by an injected browser script");if(!this._instance.config.error_tracking.__capturePostHogExceptions&&this.Cp(A))return this.Sp("Exception dropped: thrown by the PostHog SDK"),void PR.info("Skipping exception capture because it was thrown by the PostHog SDK")}const I=this.gp.enabled&&hC(g.$exception_steps)?this.Tp(g):g,e=(function(){if("u">typeof y$g){var t;const B=(t=y$g.env.POSTHOG_RELEASE_ID)===null||t===void 0?void 0:t.trim();if(B)return B}const o=globalThis._posthogReleaseId;return typeof o=="string"&&o.length>0?o:void 0})();e&&(I.$release_id=e);try{const t=this._instance.capture("$exception",I,{_noTruncate:!0,_batchKey:"exceptionEvent",ed:!0});return t&&this.yp.clear(),t}catch(t){return leI(t)||PR.error("Failed to capture exception event. Dropping this exception.",t),void this.yp.clear()}}catch(A){return void(leI(A)||PR.error("Failed to process exception event. Ignoring this exception.",A))}}Tp(g){try{const A=this.yp.getAttachable();return A.length===0?g:QI(QI({},g),{},{$exception_steps:A})}catch(A){return PR.error("Failed to read buffered exception steps. Capturing exception without steps.",A),g}}Sp(g){this.gp.enabled&&this.yp.add({[BDA]:g,[CDA]:new Date().toISOString()})}_p(g){return yC(g)?QI({},g):{}}mp(){var g,A;return(g=(A=this._instance.config.error_tracking)===null||A===void 0?void 0:A.exception_steps)!==null&&g!==void 0?g:{}}kp(g){if(g.length===0)return!1;try{const A=g.reduce((I,{type:e,value:t})=>(KC(e)&&e.length>0&&I.$exception_types.push(e),KC(t)&&t.length>0&&I.$exception_values.push(t),I),{$exception_types:[],$exception_values:[]});return this.fp.some(I=>{const e=I.values.map(t=>{const o=bII[t.operator],B=A[t.key];if(!o||!B)return!1;const C=cB(t.value)?t.value:[t.value];return C.length>0&&o(C,B)});return I.type==="OR"?e.some(Boolean):e.every(Boolean)})}catch(A){return PR.warn("Failed to evaluate suppression rules. Capturing the exception.",A),!1}}xp(g){const A=g.flatMap(e=>{var t,o;return(t=(o=e.stacktrace)===null||o===void 0?void 0:o.frames)!==null&&t!==void 0?t:[]}),I=A.filter(({filename:e})=>!!e&&nDt.some(t=>e.startsWith(t)));return I.length!==0&&(!I.every(({filename:e})=>!!e&&e.startsWith(KvA))||g.some(({type:e,value:t})=>e==="NoResponse"||KC(t)&&EDt.some(({value:o,exact:B})=>B?t===o:t.includes(o)))&&!A.some(({in_app:e,filename:t})=>e&&!t?.startsWith(KvA)))}$p(g){return g.some(({value:A})=>KC(A)&&sDt.some(I=>A.includes(I)))}Cp(g){if(g.length>0){var A,I,e,t;const o=(A=(I=g[0].stacktrace)===null||I===void 0?void 0:I.frames)!==null&&A!==void 0?A:[],B=o[o.length-1];return(e=B==null||(t=B.filename)===null||t===void 0?void 0:t.includes("posthog.com/static"))!==null&&e!==void 0&&e}return!1}wp(g){return!hC(g)&&cB(g)}}},NDt=QI({productTours:class{get _c(){return this._instance.persistence}constructor(g){this.Ip=null,this.Mp=null,this._instance=g}initialize(){this.loadIfEnabled()}onRemoteConfig(g){if(!g.ok)return;const A=g.config;if("productTours"in A){var I,e;if(this._c&&this._c.register({[L6A]:!!A.productTours}),!UvA(this._instance))return!this.Ip&&hC((I=this._c)===null||I===void 0?void 0:I.props.ph_product_tours)||xDA.info("product tours disabled; stopping and clearing cached tours"),(e=this.Ip)===null||e===void 0||e.stop(),this.Ip=null,void this.clearCache();this.loadIfEnabled()}}loadIfEnabled(){!this.Ip&&UvA(this._instance)&&this.Ml(()=>this.Ep())}Ml(g){var A,I,e;!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.generateProductTours?g():(I=JB.__PosthogExtensions__)===null||I===void 0||(e=I.loadExternalDependency)===null||e===void 0||e.call(I,this._instance,"product-tours",t=>{t?xDA.error("Could not load product tours script",t):g()})}Ep(){var g;!this.Ip&&(!((g=JB.__PosthogExtensions__)===null||g===void 0)&&g.generateProductTours)&&(this.Ip=JB.__PosthogExtensions__.generateProductTours(this._instance,!0))}getProductTours(g,A=!1){if(cB(this.Mp)&&!A)return void g(this.Mp,{isLoaded:!0});const I=this._c;if(I){const e=I.props[Y6A];if(cB(e)&&!A)return this.Mp=e,void g(e,{isLoaded:!0})}this._instance._send_request({url:this._instance.requestRouter.endpointFor("api",`/api/product_tours/?token=${this._instance.config.token}`),method:"GET",timestampMode:"query",callback:e=>{if(!UvA(this._instance))return void g([],{isLoaded:!0});const t=e.statusCode;if(t!==200||!e.json){const B=`Product Tours API could not be loaded, status: ${t}`;return t===0?e.error||xDA.warn(B):xDA.error(B),void g([],{isLoaded:!1,error:B})}const o=cB(e.json.product_tours)?e.json.product_tours:[];this.Mp=o,I&&I.register({[Y6A]:o}),g(o,{isLoaded:!0})}})}getActiveProductTours(g){hC(this.Ip)?g([],{isLoaded:!1,error:"Product tours not loaded"}):this.Ip.getActiveProductTours(g)}showProductTour(g){var A;(A=this.Ip)===null||A===void 0||A.showTourById(g)}previewTour(g){this.Ip?this.Ip.previewTour(g):this.Ml(()=>{var A;this.Ep(),(A=this.Ip)===null||A===void 0||A.previewTour(g)})}dismissProductTour(){var g;(g=this.Ip)===null||g===void 0||g.dismissTour("user_clicked_skip")}nextStep(){var g;(g=this.Ip)===null||g===void 0||g.nextStep()}previousStep(){var g;(g=this.Ip)===null||g===void 0||g.previousStep()}clearCache(){var g;this.Mp=null,(g=this._c)===null||g===void 0||g.unregister("ph_product_tours")}resetTour(g){var A;(A=this.Ip)===null||A===void 0||A.resetTour(g)}resetAllTours(){var g;(g=this.Ip)===null||g===void 0||g.resetAllTours()}cancelPendingTour(g){var A;(A=this.Ip)===null||A===void 0||A.cancelPendingTour(g)}}},UDA),xDt={siteApps:class{constructor(g){this._instance=g,this.Pp=0,this.Rp=[],this.apps={}}get isEnabled(){return!!this._instance.config.opt_in_site_apps}Ap(g,A){if(!A)return;const I=this.globalsForEvent(A);this.Rp.push(I),this.Rp.length>1e3&&(this.Rp=this.Rp.slice(10))}get siteAppLoaders(){var g;return(g=JB._POSTHOG_REMOTE_CONFIG)===null||g===void 0||(g=g[this._instance.config.token])===null||g===void 0?void 0:g.siteApps}initialize(){if(this.isEnabled){const g=this._instance._addCaptureHook(this.Ap.bind(this));this.Fp=()=>{g(),this.Rp=[],this.Fp=void 0}}}globalsForEvent(g){var A,I,e,t,o,B,C;if(!g)throw new Error("Event payload is required");const Q={},i=this._instance.get_property("$groups")||[],E=this._instance.get_property("$stored_group_properties")||{};for(const[r,a]of Object.entries(E))Q[r]={id:i[r],type:r,properties:a};const{$set_once:n,$set:s}=g;return{event:QI(QI({},fAI(g,ADt)),{},{properties:QI(QI(QI({},g.properties),s?{$set:QI(QI({},(A=(I=g.properties)===null||I===void 0?void 0:I.$set)!==null&&A!==void 0?A:{}),s)}:{}),n?{$set_once:QI(QI({},(e=(t=g.properties)===null||t===void 0?void 0:t.$set_once)!==null&&e!==void 0?e:{}),n)}:{}),elements_chain:(o=(B=g.properties)===null||B===void 0?void 0:B.$elements_chain)!==null&&o!==void 0?o:"",distinct_id:(C=g.properties)===null||C===void 0?void 0:C.distinct_id}),person:{properties:this._instance.get_property("$stored_person_properties")},groups:Q}}Op(g){var A;const I=(A=g.tagName)===null||A===void 0?void 0:A.toLowerCase();return I==="style"&&this._instance.config.prepare_external_dependency_stylesheet?this._instance.config.prepare_external_dependency_stylesheet(g)||(Gx.error("prepare_external_dependency_stylesheet returned null"),null):I==="script"&&this._instance.config.prepare_external_dependency_script?this._instance.config.prepare_external_dependency_script(g)||(Gx.error("prepare_external_dependency_script returned null"),null):g}Dp(){var g,A,I,e,t,o,B,C;if(!this._instance.config.prepare_external_dependency_stylesheet&&!this._instance.config.prepare_external_dependency_script)return()=>{};const Q=co?.defaultView,i=Q==null||(g=Q.Node)===null||g===void 0?void 0:g.prototype;if(!Q||!i)return()=>{};if(this.Pp++,this.Lp)return this.Np();const E=[],n=this,s=new WeakSet,r=(h,l,D)=>{if(!h?.[l])return;const d=h[l];h[l]=D(d),E.push(()=>{h[l]=d})},a=h=>{if(s.has(h))return h;const l=n.Op(h);return l&&s.add(l),l},c=h=>h.map(l=>typeof l=="string"?l:a(l)).filter(l=>!Yc(l));return r(i,"appendChild",h=>function(l){const D=a(l);return D?h.call(this,D):l}),r(i,"insertBefore",h=>function(l,D){const d=a(l);return d?h.call(this,d,D):l}),r(i,"replaceChild",h=>function(l,D){const d=a(l);return d?h.call(this,d,D):D}),[(A=Q.Element)===null||A===void 0?void 0:A.prototype,(I=Q.Document)===null||I===void 0?void 0:I.prototype,(e=Q.DocumentFragment)===null||e===void 0?void 0:e.prototype].forEach(h=>{r(h,"append",l=>function(...D){return l.apply(this,c(D))}),r(h,"prepend",l=>function(...D){return l.apply(this,c(D))})}),[(t=Q.Element)===null||t===void 0?void 0:t.prototype,(o=Q.CharacterData)===null||o===void 0?void 0:o.prototype,(B=Q.DocumentType)===null||B===void 0?void 0:B.prototype].forEach(h=>{r(h,"before",l=>function(...D){return l.apply(this,c(D))}),r(h,"after",l=>function(...D){return l.apply(this,c(D))}),r(h,"replaceWith",l=>function(...D){const d=c(D);return D.length&&!d.length?void 0:l.apply(this,d)})}),r((C=Q.Element)===null||C===void 0?void 0:C.prototype,"insertAdjacentElement",h=>function(l,D){const d=a(D);return d?h.call(this,l,d):null}),this.Lp=()=>{E.forEach(h=>h()),this.Lp=void 0},this.Np()}Np(){let g=!1;return()=>{var A;g||(g=!0,this.Pp--,this.Pp===0&&((A=this.Lp)===null||A===void 0||A.call(this)))}}qp(g,A=!0){const I=this.Dp();try{const e=g(I);return A&&I(),e}catch(e){throw I(),e}}setupSiteApp(g){const A=this.apps[g.id],I=()=>{var o;!A.errored&&this.Rp.length&&(Gx.info(`Processing ${this.Rp.length} events for site app with id ${g.id}`),this.Rp.forEach(B=>this.qp(()=>{var C;return(C=A.processEvent)===null||C===void 0?void 0:C.call(A,B)})),A.processedBuffer=!0),Object.values(this.apps).every(B=>B.processedBuffer||B.errored)&&((o=this.Fp)===null||o===void 0||o.call(this))};let e=!1;const t=o=>{A.errored=!o,A.loaded=!0,Gx.info(`Site app with id ${g.id} ${o?"loaded":"errored"}`),e&&I()};try{const{processEvent:o}=this.qp(B=>g.init({posthog:this._instance,callback(C){B(),t(C)}}),!1);o&&(A.processEvent=o),e=!0}catch(o){Gx.error(CeI+g.id,o),t(!1)}if(e&&A.loaded)try{I()}catch(o){Gx.error(`Error while processing buffered events PostHog app with config id ${g.id}`,o),A.errored=!0}}jp(){const g=this.siteAppLoaders||[];for(const A of g)this.apps[A.id]={id:A.id,loaded:!1,errored:!1,processedBuffer:!1};for(const A of g)this.setupSiteApp(A)}Bp(g){if(Object.keys(this.apps).length===0)return;const A=this.globalsForEvent(g);for(const I of Object.values(this.apps))try{this.qp(()=>{var e;return(e=I.processEvent)===null||e===void 0?void 0:e.call(I,A)})}catch(e){Gx.error(`Error while processing event ${g.event} for site app ${I.id}`,e)}}onRemoteConfig(g){var A,I,e;if(!((A=this.siteAppLoaders)===null||A===void 0)&&A.length)return this.isEnabled?(this.jp(),void this._instance.on("eventCaptured",C=>this.Bp(C))):void Gx.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.');if((I=this.Fp)===null||I===void 0||I.call(this),!g.ok)return;const t=g.config;if(!((e=t.siteApps)===null||e===void 0)&&e.length)if(this.isEnabled)for(const{id:C,url:Q}of t.siteApps){var o,B;JB[`__$$ph_site_app_${C}`]=this._instance,(o=JB.__PosthogExtensions__)===null||o===void 0||(B=o.loadSiteApp)===null||B===void 0||B.call(o,this._instance,Q,i=>{if(i)return Gx.error(CeI+C,i)})}else Gx.error('PostHog site apps are disabled. Enable the "opt_in_site_apps" config to proceed.')}}},FDt={tracingHeaders:class{constructor(g){this._instance=g,this.zp=void 0,this.Hp=void 0,this.Up=void 0,this.rp=()=>{const A=this.Wp();var I,e;A?(Le(this.zp)&&(this.zp=(I=JB.__PosthogExtensions__)===null||I===void 0||(I=I.tracingHeadersPatchFns)===null||I===void 0?void 0:I._patchXHR(A,()=>this._instance.get_distinct_id(),this._instance.sessionManager)),Le(this.Hp)&&(this.Hp=(e=JB.__PosthogExtensions__)===null||e===void 0||(e=e.tracingHeadersPatchFns)===null||e===void 0?void 0:e._patchFetch(A,()=>this._instance.get_distinct_id(),this._instance.sessionManager))):this.hp()}}initialize(){this.startIfEnabledOrStop()}Ml(g){var A,I,e;!((A=JB.__PosthogExtensions__)===null||A===void 0)&&A.tracingHeadersPatchFns?g():(I=JB.__PosthogExtensions__)===null||I===void 0||(e=I.loadExternalDependency)===null||e===void 0||e.call(I,this._instance,"tracing-headers",t=>{if(t)return Vlt.error("failed to load script",t);g()})}Vp(){var g,A;return(g=(A=this._instance.config.tracing_headers)!==null&&A!==void 0?A:this._instance.config.addTracingHeaders)!==null&&g!==void 0?g:this._instance.config.__add_tracing_headers}Wp(){const g=this.Vp();return cB(g)?(cB(this.Up)?this.Up.splice(0,this.Up.length,...g):this.Up=[...g],g.length>0?this.Up:void 0):(cB(this.Up)&&this.Up.splice(0),this.Up=g||void 0,this.Up)}hp(){var g,A;(g=this.zp)===null||g===void 0||g.call(this),(A=this.Hp)===null||A===void 0||A.call(this),this.zp=void 0,this.Hp=void 0}startIfEnabledOrStop(){this.Wp()?this.Ml(this.rp):this.hp()}}},UDt=QI({surveys:class extends tDt{constructor(g){super(new oDt(g))}}},UDA),JDt={toolbar:class{constructor(g){this.instance=g}Gp(g){JB.ph_toolbar_state=g}Qp(){var g;return(g=JB.ph_toolbar_state)!==null&&g!==void 0?g:0}initialize(){return this.maybeLoadToolbar()}maybeLoadToolbar(g=void 0,A=void 0,I=void 0){var e,t;if(O6A(this.instance.config)||!Se||!co)return!1;g=(e=g)!==null&&e!==void 0?e:Se.location,I=(t=I)!==null&&t!==void 0?t:Se.history;try{if(!A){try{Se.localStorage.setItem("test","test"),Se.localStorage.removeItem("test")}catch{return!1}A=Se?.localStorage}const o=BDt||wDA(g.hash,"__posthog")||wDA(g.hash,"state");let B;const C=o?iAI(()=>JSON.parse(atob(decodeURIComponent(o))))||iAI(()=>JSON.parse(decodeURIComponent(o))):null;return C&&C.action==="ph_authorize"?(B=C,B.source="url",B&&Object.keys(B).length>0&&(C.desiredHash?g.hash=C.desiredHash:I?I.replaceState(I.state,"",g.pathname+g.search):g.hash="")):(B=JSON.parse(A.getItem(ieI)||"{}"),B.source="localstorage",delete B.userIntent),!(!B.token||this.instance.config.token!==B.token||(this.loadToolbar(B),0))}catch{return!1}}Zp(g){const A=JB.ph_load_toolbar||JB.ph_load_editor;!hC(A)&&Q0(A)?A(g,this.instance):EeI.warn("No toolbar load function found")}loadToolbar(g){const A=!!co?.getElementById("__POSTHOG_TOOLBAR__");if(!Se||A)return!1;const I=this.instance.requestRouter.region==="custom"&&this.instance.config.advanced_disable_toolbar_metrics,e=QI(QI({token:this.instance.config.token},g),{},{apiURL:this.instance.requestRouter.endpointFor("ui")},I?{instrument:!1}:{});if(Se.localStorage.setItem(ieI,JSON.stringify(QI(QI({},e),{},{source:void 0}))),this.Qp()===2)this.Zp(e);else if(this.Qp()===0){var t,o;this.Gp(1),(t=JB.__PosthogExtensions__)===null||t===void 0||(o=t.loadExternalDependency)===null||o===void 0||o.call(t,this.instance,"toolbar",B=>{if(B)return EeI.error("[Toolbar] Failed to load",B),void this.Gp(0);this.Gp(2),this.Zp(e)}),NE(Se,"turbolinks:load",()=>{this.Gp(0),this.loadToolbar(e)})}return!0}Jp(g){return this.loadToolbar(g)}maybeLoadEditor(g=void 0,A=void 0,I=void 0){return this.maybeLoadToolbar(g,A,I)}}},PDt=QI({experiments:class Hp{get Ar(){return this._instance.config}constructor(A){this._instance=A,this.getWebExperimentsAndEvaluateDisplayLogic=(I=!1)=>{this.getWebExperiments(e=>{Hp.Kp("retrieved web experiments from the server"),this.Xp=new Map,e.forEach(t=>{if(t.feature_flag_key){var o;this.Xp&&(Hp.Kp("setting flag key ",t.feature_flag_key," to web experiment ",t),(o=this.Xp)===null||o===void 0||o.set(t.feature_flag_key,t));const B=this._instance.getFeatureFlag(t.feature_flag_key);KC(B)&&t.variants[B]&&this.Yp(t.name,B,t.variants[B].transforms)}else if(t.variants)for(const B in t.variants){const C=t.variants[B];Hp.tg(C,this._instance)&&this.Yp(t.name,B,C.transforms)}})},I)},this._instance.onFeatureFlags(I=>{this.onFeatureFlags(I)})}initialize(){}onFeatureFlags(A){if(this._is_bot())Hp.Kp(DeI);else if(!this.Ar.disable_web_experiments){if(hC(this.Xp))return this.Xp=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Hp.Kp("applying feature flags",A),A.forEach(I=>{var e;if(this.Xp&&(!((e=this.Xp)===null||e===void 0)&&e.has(I))){var t;const o=this._instance.getFeatureFlag(I),B=(t=this.Xp)===null||t===void 0?void 0:t.get(I);o&&B?.variants[o]&&this.Yp(B.name,o,B.variants[o].transforms)}})}}previewWebExperiment(){const A=Hp.getWindowLocation();if(A?.search){const I=yq(A?.search,"__experiment_id"),e=yq(A?.search,"__experiment_variant");I&&e&&(Hp.Kp(`previewing web experiments ${I} && ${e}`),this.getWebExperiments(t=>{this.eg(parseInt(I),e,t)},!1,!0))}}loadIfEnabled(){this.Ar.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(A,I,e){if(this.Ar.disable_web_experiments&&!e)return A([]);const t=this._instance.get_property("$web_experiments");if(t&&!I)return A(t);this._instance._send_request({url:this._instance.requestRouter.endpointFor("api",`/api/web_experiments/?token=${this.Ar.token}`),method:"GET",timestampMode:"query",callback:o=>A(o.statusCode===200&&o.json&&o.json.experiments||[])})}eg(A,I,e){const t=e.filter(o=>o.id===A);t&&t.length>0&&(Hp.Kp(`Previewing web experiment [${t[0].name}] with variant [${I}]`),this.Yp(t[0].name,I,t[0].variants[I].transforms))}static tg(A,I){return!hC(A.conditions)&&Hp.ig(A,I)&&Hp.ng(A)}static ig(A,I){var e;if(hC(A.conditions)||hC((e=A.conditions)===null||e===void 0?void 0:e.url))return!0;const t=Hp.getWindowLocation();if(t){var o,B,C;const Q=MgI(I,t.href);return!(!((o=A.conditions)===null||o===void 0)&&o.url)||aDt[(B=(C=A.conditions)===null||C===void 0?void 0:C.urlMatchType)!==null&&B!==void 0?B:"icontains"](A.conditions.url,Q)}return!1}static getWindowLocation(){return Se?.location}static ng(A){var I;if(hC(A.conditions)||hC((I=A.conditions)===null||I===void 0?void 0:I.utm))return!0;const e=gII();if(e.utm_source){var t,o,B,C,Q,i,E,n;const s=!(!((t=A.conditions)===null||t===void 0||(t=t.utm)===null||t===void 0)&&t.utm_campaign)||((o=A.conditions)===null||o===void 0||(o=o.utm)===null||o===void 0?void 0:o.utm_campaign)==e.utm_campaign,r=!(!((B=A.conditions)===null||B===void 0||(B=B.utm)===null||B===void 0)&&B.utm_source)||((C=A.conditions)===null||C===void 0||(C=C.utm)===null||C===void 0?void 0:C.utm_source)==e.utm_source,a=!(!((Q=A.conditions)===null||Q===void 0||(Q=Q.utm)===null||Q===void 0)&&Q.utm_medium)||((i=A.conditions)===null||i===void 0||(i=i.utm)===null||i===void 0?void 0:i.utm_medium)==e.utm_medium,c=!(!((E=A.conditions)===null||E===void 0||(E=E.utm)===null||E===void 0)&&E.utm_term)||((n=A.conditions)===null||n===void 0||(n=n.utm)===null||n===void 0?void 0:n.utm_term)==e.utm_term;return s&&a&&c&&r}return!1}static Kp(A,...I){Dt.info(`[WebExperiments] ${A}`,I)}Yp(A,I,e){this._is_bot()?Hp.Kp(DeI):I!=="control"?e.forEach(t=>{if(t.selector){var o;Hp.Kp(`applying transform of variant ${I} for experiment ${A} `,t);const B=(o=document)===null||o===void 0?void 0:o.querySelectorAll(t.selector);B?.forEach(C=>{const Q=C;t.html&&(Q.innerHTML=t.html),t.css&&Q.setAttribute("style",t.css)})}}):Hp.Kp("Control variants leave the page unmodified.")}_is_bot(){return Tw&&this._instance?LII(Tw,this.Ar.custom_blocked_useragents):void 0}}},UDA),KDt={conversations:class{constructor(g){this._instance=g,this.sg=void 0,this._conversationsManager=null,this.rg=!1,this.ne=null,this.og=!1,this.ag=0}initialize(){this.loadIfEnabled()}onRemoteConfig(g){if(this._instance.config.disable_conversations||(this.lg=g.ok,!g.ok))return;const A=g.config.conversations;hC(A)||(Pm(A)?this.sg=A:(this.sg=A.enabled,this.ne=A),this.loadIfEnabled())}reset(){var g;(g=this._conversationsManager)===null||g===void 0||g.reset(),this._conversationsManager=null,this.ag++,this.sg=void 0,this.ne=null,this.lg=void 0,this.og=!1}loadIfEnabled(){if(this._conversationsManager||this.rg||this._instance.config.disable_conversations||O6A(this._instance.config)||this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut())return;const g=JB?.__PosthogExtensions__;if(g&&!Le(this.sg)&&this.sg)if(this.ne&&this.ne.token){this.rg=!0;try{const A=g.initConversations;if(A)return this.ug(A),void(this.rg=!1);const I=g.loadExternalDependency;if(!I)return void this.cg(S6A);const e=this.ag;I(this._instance,"conversations",t=>{if(e!==this.ag)return this.rg=!1,void this.loadIfEnabled();t||!g.initConversations?this.cg("Could not load conversations script",t):this.ug(g.initConversations),this.rg=!1})}catch(A){this.cg("Error initializing conversations",A),this.rg=!1}}else Af.error("Conversations enabled but missing token in remote config.")}ug(g){if(this.ne)try{this._conversationsManager=g(this.ne,this._instance),this.og=!1,Af.info("Conversations loaded successfully")}catch(A){this.cg("Error completing conversations initialization",A)}else Af.error("Cannot complete initialization: remote config is null")}cg(g,A){Af.error(g,A),this._conversationsManager=null,this.rg=!1,this.og=!0}show(){this._conversationsManager?this._conversationsManager.show():Af.warn("Conversations not loaded yet.")}hide(){this._conversationsManager&&this._conversationsManager.hide()}isAvailable(){return this.sg===!0&&!Yc(this._conversationsManager)}getUnavailableReason(){return this.isAvailable()?null:this._instance.config.disable_conversations?"disabled_by_config":O6A(this._instance.config)?"disabled_for_toolbar":this._instance.config.cookieless_mode&&this._instance.consent.isOptedOut()?"consent_opted_out":this.lg===!1?"remote_config_failed":Le(this.sg)?this.lg?"disabled_in_project":"remote_config_pending":this.sg?hC(this.ne)||!this.ne.token?"missing_token":JB?.__PosthogExtensions__?this.rg?"initializing":this.og?"load_failed":"not_loaded":"extensions_unavailable":"disabled_in_project"}isVisible(){var g,A;return(g=(A=this._conversationsManager)===null||A===void 0?void 0:A.isVisible())!==null&&g!==void 0&&g}sendMessage(g,A,I){var e=this;return ia(function*(){return e._conversationsManager?e._conversationsManager.sendMessage(g,A,I):(Af.warn(l5),null)})()}getMessages(g,A){var I=this;return ia(function*(){return I._conversationsManager?I._conversationsManager.getMessages(g,A):(Af.warn(l5),null)})()}markAsRead(g){var A=this;return ia(function*(){return A._conversationsManager?A._conversationsManager.markAsRead(g):(Af.warn(l5),null)})()}getTickets(g){var A=this;return ia(function*(){return A._conversationsManager?A._conversationsManager.getTickets(g):(Af.warn(l5),null)})()}requestRestoreLink(g){var A=this;return ia(function*(){return A._conversationsManager?A._conversationsManager.requestRestoreLink(g):(Af.warn(l5),null)})()}restoreFromToken(g){var A=this;return ia(function*(){return A._conversationsManager?A._conversationsManager.restoreFromToken(g):(Af.warn(l5),null)})()}restoreFromUrlToken(){var g=this;return ia(function*(){return g._conversationsManager?g._conversationsManager.restoreFromUrlToken():(Af.warn(l5),null)})()}getCurrentTicketId(){var g,A;return(g=(A=this._conversationsManager)===null||A===void 0?void 0:A.getCurrentTicketId())!==null&&g!==void 0?g:null}getWidgetSessionId(){var g,A;return(g=(A=this._conversationsManager)===null||A===void 0?void 0:A.getWidgetSessionId())!==null&&g!==void 0?g:null}vd(){var g;(g=this._conversationsManager)===null||g===void 0||g.setIdentity()}fd(){var g;(g=this._conversationsManager)===null||g===void 0||g.clearIdentity()}}},LDt={logs:class extends hDt{constructor(g){super({get(){var A;return g==null||(A=g.config)===null||A===void 0?void 0:A.logs},captureHintKey:ggI,get remoteConfigWillArrive(){var A,I;return!(!((A=g.Qu)===null||A===void 0)&&A.call(g))||!!(!((I=JB._POSTHOG_REMOTE_CONFIG)===null||I===void 0||(I=I[g.config.token])===null||I===void 0)&&I.config)}},()=>(function(A){var I;const e={};if(e.distinctId=A.get_distinct_id(),A.sessionManager){const{sessionId:t,windowId:o,sessionStartTimestamp:B,lastActivityTimestamp:C}=A.sessionManager.checkAndGetSessionAndWindowId(!0);e.sessionId=t,e.windowId=o,hC(B)||(e.sessionStartTimestamp=B),hC(C)||(e.lastActivityTimestamp=C)}if(!(JB==null||(I=JB.location)===null||I===void 0)&&I.href&&(e.currentUrl=A.config.disable_capture_url_hashes?E3(JB.location.href):JB.location.href),A.featureFlags){const t=A.featureFlags.getFlags();t&&t.length>0&&(e.activeFeatureFlags=t)}return e})(g)),this._instance=g,this.name=WII,this.Hv()}get Bv(){return this._instance.__loaded}zv(){const g=Ic("[logs]"),A=JB?.__PosthogExtensions__;if(!A)return void g.error("PostHog Extensions not found.");const I=A.loadExternalDependency;if(I)return e=>{I(this._instance,"logs",t=>{const o=A.logs;e(t,o?.initializeLogs?{initialize:B=>o.initializeLogs(B),replay(B,C){var Q;return(Q=o.replayConsoleBuffer)===null||Q===void 0?void 0:Q.call(o,B,C)}}:void 0)})};g.error(S6A)}}},YDt={metrics:class{constructor(g){this._instance=g,this.$=Ic("[metrics]"),this.Ci=!1}initialize(){this.onConfigChange()}onConfigChange(){var g;if(this.Ci)return;const A=!!(!((g=this._instance.config.metrics)===null||g===void 0)&&g.network);A&&!this.hg?this.hg=(I=>{let e=!0;const t=()=>e?(C=>{var Q;const i=(Q=C.config.metrics)===null||Q===void 0?void 0:Q.network;return i===!0?{}:i||void 0})(I):void 0,o=dDt(I,t),B=yDt(I,t);return()=>{e=!1,o(),B()}})(this._instance):!A&&this.hg&&(this.hg(),this.hg=void 0)}Vv(){var g;const A=(g=this._instance)===null||g===void 0||(g=g.config)===null||g===void 0?void 0:g.metrics;var I;return this.qv&&this.Gv===A||((I=this.qv)===null||I===void 0||I.reset(),this.Gv=A,this.qv=new n0t(this.Wv(),(function(e){var t,o,B,C,Q;const i=e?.resourceAttributes;return{serviceName:(t=i?.["service.name"])!==null&&t!==void 0?t:e?.serviceName,serviceVersion:(o=i?.["service.version"])!==null&&o!==void 0?o:e?.serviceVersion,environment:(B=i?.["deployment.environment"])!==null&&B!==void 0?B:e?.environment,resourceAttributes:i,beforeSend:e?.beforeSend,flushIntervalMs:(C=e?.flushIntervalMs)!==null&&C!==void 0?C:1e4,maxSeriesPerFlush:(Q=e?.maxSeriesPerFlush)!==null&&Q!==void 0?Q:1e3}})(A),this.$)),this.qv}count(g,A=1,I){this.Vv().count(g,A,I)}gauge(g,A,I){this.Vv().gauge(g,A,I)}histogram(g,A,I){this.Vv().histogram(g,A,I)}flush(g){if(!this.qv)return Promise.resolve();if(g){const A=this.qv.drainWindow();return A&&this.po(A,g),Promise.resolve()}return this.qv.flush().catch(A=>this.$.error("PostHog metrics flush failed:",A))}reset(){var g;(g=this.qv)===null||g===void 0||g.reset()}dispose(){var g,A;this.Ci=!0,(g=this.hg)===null||g===void 0||g.call(this),this.hg=void 0,(A=this.qv)===null||A===void 0||A.reset()}Wv(){const g=this._instance,A=this;return{get isDisabled(){return!1},get optedOut(){return!g.is_capturing()},po:I=>A.po(I),getLibraryId:()=>Dk.LIB_NAME,getLibraryVersion:()=>Dk.LIB_VERSION}}po(g,A){return new Promise(I=>{let e=!1;const t=B=>{e||(e=!0,clearTimeout(o),I(B))},o=setTimeout(()=>t({kind:"retry-later",error:new Error("metrics request timed out")}),9e4);this._instance._send_request(QI(QI({method:"POST",url:this.dg(),data:g,compression:"best-available",batchKey:"metrics"},A&&{transport:A}),{},{fireCallbackOnDrop:!0,callback(B){const C=B.statusCode;if(C>=200&&300>C)t({kind:"ok"});else if(C===413)t({kind:"too-large"});else if(C!==0&&C!==408&&C!==429&&500>C)t({kind:"fatal",error:new Error(`metrics request failed with status ${C}`)});else{var Q;t({kind:"retry-later",error:(Q=B.error)!==null&&Q!==void 0?Q:new Error(`metrics request failed with status ${C}`)})}}}))})}dg(){return this._instance.requestRouter.endpointFor("api","/i/v1/metrics")+"?token="+encodeURIComponent(this._instance.config.token)}}},_Dt={webMCP:class{constructor(g){this._instance=g,this.vg=!1}initialize(){this.startIfEnabled()}startIfEnabled(){if(!this._instance.config.capture_webmcp||this.vg)return;const g=co?.modelContext;if(!g||!Q0(g.registerTool))return;const A=peI.get(g);if(A)return A.instances.add(this._instance),void(this.vg=!0);const I={instances:new Set([this._instance])},e=g.registerTool,t=this;Mq(g,"registerTool",o=>{const B=o;return function(C,...Q){let i=C;try{i=t.fg(C,I)}catch{return B.call(this,C,...Q)}return B.call(this,i,...Q)}}),g.registerTool!==e&&(peI.set(g,I),this.vg=!0)}fg(g,A){if(!g||!Q0(g.execute))return g;const I=g.execute,e=this,{tool:t,injected:o}=(function(B,C){const Q={intent:!1,model:!1},i=B.inputSchema;if(!(function(a){return!!Le(a)||yC(a)&&Object.keys(a).every(c=>wDt.has(c)||c.startsWith("x-"))&&a.additionalProperties!==!0&&!yC(a.additionalProperties)&&(!a.type||a.type==="object")&&(!a.properties||yC(a.properties))&&(!a.required||cB(a.required))})(i))return{tool:HvA(B),injected:Q};const E=i?.properties||{},n=a=>bvA(E,a)||cB(i?.required)&&i.required.includes(a);if(Q.intent=C.intent&&!n("context"),Q.model=C.model&&!n("llm_model"),!Q.intent&&!Q.model)return{tool:HvA(B),injected:Q};const s=QI({},E),r=cB(i?.required)?[...i.required]:[];return Q.intent&&(s.context={type:"string",description:`Explain why this tool is called and how it supports the user's goal. Describe the abstract purpose only. Do not include personal or identifying information. Generalize specific entities as roles such as "a customer".`},r.includes("context")||r.push("context")),Q.model&&(s.llm_model={type:"string",description:'The exact model identifier you are running as, taken from your system prompt or environment. Pass "unknown" if you do not know it. Never guess.'},r.includes("llm_model")||r.push("llm_model")),{tool:HvA(B,QI(QI({},i),{},{type:i?.type||"object",properties:s,required:r})),injected:Q}})(g,(function(B){const C={intent:!1,model:!1};for(const Q of B.instances){const i=keI(Q.config.capture_webmcp);C.intent||(C.intent=i?.intent===!0),C.model||(C.model=i?.model===!0)}return C})(A));return Object.defineProperty(t,"execute",{configurable:!0,enumerable:!0,writable:!0,value(...B){const C=new Date,Q=(function(r,a){if(!yC(r))return{};try{const c=a.intent?MeI(r.context,2048,!0):void 0,h=a.model?MeI(r.llm_model,256):void 0;return QI(QI({},c&&c!=="{}"?{intent:c}:{}),h&&h.toLowerCase()!=="unknown"?{model:h}:{})}catch{return{}}})(B[0],o),i=(function(r,a){const c=r[0];if(!yC(c))return r;try{const h=a.intent&&bvA(c,"context"),l=a.model&&bvA(c,"llm_model");if(!h&&!l)return r;const D=QI({},c);return h&&delete D.context,l&&delete D.llm_model,[D,...r.slice(1)]}catch{return r}})(B,o);let E;try{E=I.apply(this===t?g:this,i)}catch(r){throw e.pg(A,t,C,{error:r,errorResult:!1},Q),r}if((n=E)&&typeof n.then=="function")return Promise.resolve(E).then(r=>{const a=SeI(r)?{error:r,errorResult:!0}:void 0;return e.pg(A,t,C,a,Q),r},r=>{throw e.pg(A,t,C,{error:r,errorResult:!1},Q),r});var n;const s=SeI(E)?{error:E,errorResult:!0}:void 0;return e.pg(A,t,C,s,Q),E}}),t}pg(g,A,I,e,t){const o=Date.now()-I.getTime();let B;for(const Q of g.instances){var C;const i=keI(Q.config.capture_webmcp);if(i){e&&!B&&(B=MDt(e.error,e.errorResult));try{Q.capture("$mcp_tool_call",QI(QI(QI({$mcp_source:"posthog_mcp_analytics",$mcp_interface:"webmcp",$mcp_tool_name:A.name,$mcp_resource_name:A.name,$mcp_tool_description:A.description,$mcp_server_name:Qa?.hostname,$mcp_duration_ms:o,$mcp_is_error:!!e},B?{$mcp_error_type:B.type,$mcp_error_message:B.message}:{}),i.intent&&t.intent?{$mcp_intent:t.intent,$mcp_intent_source:"context_parameter"}:{}),i.model&&t.model?{$mcp_llm_model:t.model,$mcp_llm_model_source:"self_reported"}:{}),{timestamp:I})}catch{continue}if(e&&B&&Q.exceptions&&(!((C=Q.exceptionObserver)===null||C===void 0)&&C.isEnabled))try{const E={$exception_list:pDt(Q.exceptions,e,B.message),$exception_level:"error",$exception_source:"mcp.tool_call",$mcp_interface:"webmcp",$mcp_tool_name:A.name,$mcp_resource_name:A.name,$mcp_tool_description:A.description,$mcp_server_name:Qa?.hostname};Q.exceptionObserver.captureException(E)}catch{}}}}}};MgA.__defaultExtensionClasses=QI({},QI(QI(QI(QI(QI(QI(QI(QI(QI(QI(QI(QI(QI(QI({},UDA),SDt),fDt),RDt),NDt),xDt),UDt),FDt),JDt),PDt),KDt),LDt),YDt),_Dt));var Rq=(function(){Dk.SDK_DIST_CHANNEL="npm";const g=mgA[kgA]=new MgA;return(function(){function A(){A.done||(A.done=!0,FII=!1,Gn(mgA,function(I){I._dom_loaded()}))}co?.addEventListener?co.readyState==="complete"?A():NE(co,"DOMContentLoaded",A,{capture:!1}):Se&&Dt.error("Browser doesn't support `document.addEventListener` so PostHog couldn't be initialized")})(),g})();class yJ extends Error{response;request;options;constructor(A,I,e){const t=A.status||A.status===0?A.status:"",o=A.statusText??"",B=`${t} ${o}`.trim(),C=B?`status code ${B}`:"an unknown error";super(`Request failed with ${C}: ${I.method} ${I.url}`),this.name="HTTPError",this.response=A,this.request=I,this.options=e}}class ReI extends Error{name="NonError";value;constructor(A){let I="Non-error value was thrown";try{typeof A=="string"?I=A:A&&typeof A=="object"&&"message"in A&&typeof A.message=="string"&&(I=A.message)}catch{}super(I),this.value=A}}class vvA extends Error{name="ForceRetryError";customDelay;code;customRequest;constructor(A){const I=A?.cause?A.cause instanceof Error?A.cause:new ReI(A.cause):void 0;super(A?.code?`Forced retry: ${A.code}`:"Forced retry",I?{cause:I}:void 0),this.customDelay=A?.delay,this.code=A?.code,this.customRequest=A?.request}}const NeI=(()=>{let g=!1,A=!1;const I=typeof globalThis.ReadableStream=="function",e=typeof globalThis.Request=="function";if(I&&e)try{A=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return g=!0,"half"}}).headers.has("Content-Type")}catch(t){if(t instanceof Error&&t.message==="unsupported BodyInit type")return!1;throw t}return g&&!A})(),bDt=typeof globalThis.AbortController=="function",xeI=typeof globalThis.AbortSignal=="function"&&typeof globalThis.AbortSignal.any=="function",HDt=typeof globalThis.ReadableStream=="function",vDt=typeof globalThis.FormData=="function",FeI=["get","post","put","patch","head","delete"],TDt={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*",bytes:"*/*"},TvA=2147483647,qDt=new TextEncoder().encode("------WebKitFormBoundaryaxpyiPgbbPti10Rw").length,UeI=Symbol("stop");class JeI{options;constructor(A){this.options=A}}const ZDt=g=>new JeI(g),ODt={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,onUploadProgress:!0,fetch:!0,context:!0},WDt={next:!0},VDt={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,duplex:!0},jDt=g=>{if(!g)return 0;if(g instanceof FormData){let A=0;for(const[I,e]of g)A+=qDt,A+=new TextEncoder().encode(`Content-Disposition: form-data; name="${I}"`).length,A+=typeof e=="string"?new TextEncoder().encode(e).length:e.size;return A}if(g instanceof Blob)return g.size;if(g instanceof ArrayBuffer)return g.byteLength;if(typeof g=="string")return new TextEncoder().encode(g).length;if(g instanceof URLSearchParams)return new TextEncoder().encode(g.toString()).length;if("byteLength"in g)return g.byteLength;if(typeof g=="object"&&g!==null)try{const A=JSON.stringify(g);return new TextEncoder().encode(A).length}catch{return 0}return 0},PeI=(g,A,I)=>{let e,t=0;return g.pipeThrough(new TransformStream({transform(o,B){if(B.enqueue(o),e){t+=e.byteLength;let C=A===0?0:t/A;C>=1&&(C=1-Number.EPSILON),I?.({percent:C,totalBytes:Math.max(A,t),transferredBytes:t},e)}e=o},flush(){e&&(t+=e.byteLength,I?.({percent:1,totalBytes:Math.max(A,t),transferredBytes:t},e))}}))},zDt=(g,A)=>{if(!g.body)return g;if(g.status===204)return new Response(null,{status:g.status,statusText:g.statusText,headers:g.headers});const I=Math.max(0,Number(g.headers.get("content-length"))||0);return new Response(PeI(g.body,I,A),{status:g.status,statusText:g.statusText,headers:g.headers})},XDt=(g,A,I)=>{if(!g.body)return g;const e=jDt(I??g.body);return new Request(g,{duplex:"half",body:PeI(g.body,e,A)})},D5=g=>g!==null&&typeof g=="object",JDA=(...g)=>{for(const A of g)if((!D5(A)||Array.isArray(A))&&A!==void 0)throw new TypeError("The `options` argument must be an object");return qvA({},...g)},KeI=(g={},A={})=>{const I=new globalThis.Headers(g),e=A instanceof globalThis.Headers,t=new globalThis.Headers(A);for(const[o,B]of t.entries())e&&B==="undefined"||B===void 0?I.delete(o):I.set(o,B);return I};function PDA(g,A,I){return Object.hasOwn(A,I)&&A[I]===void 0?[]:qvA(g[I]??[],A[I]??[])}const LeI=(g={},A={})=>({beforeRequest:PDA(g,A,"beforeRequest"),beforeRetry:PDA(g,A,"beforeRetry"),afterResponse:PDA(g,A,"afterResponse"),beforeError:PDA(g,A,"beforeError")}),$Dt=(g,A)=>{const I=new URLSearchParams;for(const e of[g,A])if(e!==void 0)if(e instanceof URLSearchParams)for(const[t,o]of e.entries())I.append(t,o);else if(Array.isArray(e))for(const t of e){if(!Array.isArray(t)||t.length!==2)throw new TypeError("Array search parameters must be provided in [[key, value], ...] format");I.append(String(t[0]),String(t[1]))}else if(D5(e))for(const[t,o]of Object.entries(e))o!==void 0&&I.append(t,String(o));else{const t=new URLSearchParams(e);for(const[o,B]of t.entries())I.append(o,B)}return I},qvA=(...g)=>{let A={},I={},e={},t;const o=[];for(const B of g)if(Array.isArray(B))Array.isArray(A)||(A=[]),A=[...A,...B];else if(D5(B)){for(let[C,Q]of Object.entries(B)){if(C==="signal"&&Q instanceof globalThis.AbortSignal){o.push(Q);continue}if(C==="context"){if(Q!=null&&(!D5(Q)||Array.isArray(Q)))throw new TypeError("The `context` option must be an object");A={...A,context:Q==null?{}:{...A.context,...Q}};continue}if(C==="searchParams"){Q==null?t=void 0:t=t===void 0?Q:$Dt(t,Q);continue}D5(Q)&&C in A&&(Q=qvA(A[C],Q)),A={...A,[C]:Q}}D5(B.hooks)&&(e=LeI(e,B.hooks),A.hooks=e),D5(B.headers)&&(I=KeI(I,B.headers),A.headers=I)}return t!==void 0&&(A.searchParams=t),o.length>0&&(o.length===1?A.signal=o[0]:xeI?A.signal=AbortSignal.any(o):A.signal=o.at(-1)),A},Adt=g=>FeI.includes(g)?g.toUpperCase():g,YeI={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:g=>.3*2**(g-1)*1e3,jitter:void 0,retryOnTimeout:!1},gdt=(g={})=>{if(typeof g=="number")return{...YeI,limit:g};if(g.methods&&!Array.isArray(g.methods))throw new Error("retry.methods must be an array");if(g.methods&&=g.methods.map(I=>I.toLowerCase()),g.statusCodes&&!Array.isArray(g.statusCodes))throw new Error("retry.statusCodes must be an array");const A=Object.fromEntries(Object.entries(g).filter(([,I])=>I!==void 0));return{...YeI,...A}};class ZvA extends Error{request;constructor(A){super(`Request timed out: ${A.method} ${A.url}`),this.name="TimeoutError",this.request=A}}async function Idt(g,A,I,e){return new Promise((t,o)=>{const B=setTimeout(()=>{I&&I.abort(),o(new ZvA(g))},e.timeout);e.fetch(g,A).then(t).catch(o).then(()=>{clearTimeout(B)})})}async function edt(g,{signal:A}){return new Promise((I,e)=>{A&&(A.throwIfAborted(),A.addEventListener("abort",t,{once:!0}));function t(){clearTimeout(o),e(A.reason)}const o=setTimeout(()=>{A?.removeEventListener("abort",t),I()},g)})}const tdt=(g,A)=>{const I={};for(const e in A)Object.hasOwn(A,e)&&!(e in VDt)&&!(e in ODt)&&(!(e in g)||e in WDt)&&(I[e]=A[e]);return I},odt=g=>g===void 0?!1:Array.isArray(g)?g.length>0:g instanceof URLSearchParams?g.size>0:typeof g=="object"?Object.keys(g).length>0:typeof g=="string"?g.trim().length>0:!!g;function Bdt(g){return g instanceof yJ||g?.name===yJ.name}function Cdt(g){return g instanceof ZvA||g?.name===ZvA.name}let _eI=class ylg{static create(A,I){const e=new ylg(A,I),t=async()=>{if(typeof e.#A.timeout=="number"&&e.#A.timeout>TvA)throw new RangeError(`The \`timeout\` option cannot be greater than ${TvA}`);await Promise.resolve();let B=await e.#l();for(const C of e.#A.hooks.afterResponse){const Q=e.#s(B.clone());let i;try{i=await C(e.request,e.#n(),Q,{retryCount:e.#t})}catch(n){throw e.#Q(Q),e.#Q(B),n}if(i instanceof JeI)throw e.#Q(Q),e.#Q(B),new vvA(i.options);const E=i instanceof globalThis.Response?i:B;Q!==E&&e.#Q(Q),B!==E&&e.#Q(B),B=E}if(e.#s(B),!B.ok&&(typeof e.#A.throwHttpErrors=="function"?e.#A.throwHttpErrors(B.status):e.#A.throwHttpErrors)){let C=new yJ(B,e.request,e.#n());for(const Q of e.#A.hooks.beforeError)C=await Q(C,{retryCount:e.#t});throw C}if(e.#A.onDownloadProgress){if(typeof e.#A.onDownloadProgress!="function")throw new TypeError("The `onDownloadProgress` option must be a function");if(!HDt)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");const C=B.clone();return e.#Q(B),zDt(C,e.#A.onDownloadProgress)}return B},o=e.#h(t).finally(()=>{const B=e.#B;e.#a(B?.body??void 0),e.#a(e.request.body??void 0)});for(const[B,C]of Object.entries(TDt))B==="bytes"&&typeof globalThis.Response?.prototype?.bytes!="function"||(o[B]=async()=>{e.request.headers.set("accept",e.request.headers.get("accept")||C);const Q=await o;if(B==="json"){if(Q.status===204)return"";const i=await Q.text();return i===""?"":I.parseJson?I.parseJson(i):JSON.parse(i)}return Q[B]()});return o}static#e(A){return A&&typeof A=="object"&&!Array.isArray(A)&&!(A instanceof URLSearchParams)?Object.fromEntries(Object.entries(A).filter(([,I])=>I!==void 0)):A}request;#I;#t=0;#g;#A;#B;#o;#i;constructor(A,I={}){if(this.#g=A,this.#A={...I,headers:KeI(this.#g.headers,I.headers),hooks:LeI({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},I.hooks),method:Adt(I.method??this.#g.method??"GET"),prefixUrl:String(I.prefixUrl||""),retry:gdt(I.retry),throwHttpErrors:I.throwHttpErrors??!0,timeout:I.timeout??1e4,fetch:I.fetch??globalThis.fetch.bind(globalThis),context:I.context??{}},typeof this.#g!="string"&&!(this.#g instanceof URL||this.#g instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this.#A.prefixUrl&&typeof this.#g=="string"){if(this.#g.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this.#A.prefixUrl.endsWith("/")||(this.#A.prefixUrl+="/"),this.#g=this.#A.prefixUrl+this.#g}bDt&&xeI&&(this.#o=this.#A.signal??this.#g.signal,this.#I=new globalThis.AbortController,this.#A.signal=this.#o?AbortSignal.any([this.#o,this.#I.signal]):this.#I.signal),NeI&&(this.#A.duplex="half"),this.#A.json!==void 0&&(this.#A.body=this.#A.stringifyJson?.(this.#A.json)??JSON.stringify(this.#A.json),this.#A.headers.set("content-type",this.#A.headers.get("content-type")??"application/json"));const e=I.headers&&new globalThis.Headers(I.headers).has("content-type");if(this.#g instanceof globalThis.Request&&(vDt&&this.#A.body instanceof globalThis.FormData||this.#A.body instanceof URLSearchParams)&&!e&&this.#A.headers.delete("content-type"),this.request=new globalThis.Request(this.#g,this.#A),odt(this.#A.searchParams)){const o="?"+(typeof this.#A.searchParams=="string"?this.#A.searchParams.replace(/^\?/,""):new URLSearchParams(ylg.#e(this.#A.searchParams)).toString()),B=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,o);this.request=new globalThis.Request(B,this.#A)}if(this.#A.onUploadProgress){if(typeof this.#A.onUploadProgress!="function")throw new TypeError("The `onUploadProgress` option must be a function");if(!NeI)throw new Error("Request streams are not supported in your environment. The `duplex` option for `Request` is not available.");this.request=this.#c(this.request,this.#A.body??void 0)}}#C(){const A=this.#A.retry.delay(this.#t);let I=A;this.#A.retry.jitter===!0?I=Math.random()*A:typeof this.#A.retry.jitter=="function"&&(I=this.#A.retry.jitter(A),(!Number.isFinite(I)||I<0)&&(I=A));const e=this.#A.retry.backoffLimit??Number.POSITIVE_INFINITY;return Math.min(e,I)}async#E(A){if(this.#t++,this.#t>this.#A.retry.limit)throw A;const I=A instanceof Error?A:new ReI(A);if(I instanceof vvA)return I.customDelay??this.#C();if(!this.#A.retry.methods.includes(this.request.method.toLowerCase()))throw A;if(this.#A.retry.shouldRetry!==void 0){const e=await this.#A.retry.shouldRetry({error:I,retryCount:this.#t});if(e===!1)throw A;if(e===!0)return this.#C()}if(Cdt(A)&&!this.#A.retry.retryOnTimeout)throw A;if(Bdt(A)){if(!this.#A.retry.statusCodes.includes(A.response.status))throw A;const e=A.response.headers.get("Retry-After")??A.response.headers.get("RateLimit-Reset")??A.response.headers.get("X-RateLimit-Retry-After")??A.response.headers.get("X-RateLimit-Reset")??A.response.headers.get("X-Rate-Limit-Reset");if(e&&this.#A.retry.afterStatusCodes.includes(A.response.status)){let t=Number(e)*1e3;Number.isNaN(t)?t=Date.parse(e)-Date.now():t>=Date.parse("2024-01-01")&&(t-=Date.now());const o=this.#A.retry.maxRetryAfter??t;return t<o?t:o}if(A.response.status===413)throw A}return this.#C()}#s(A){return this.#A.parseJson&&(A.json=async()=>this.#A.parseJson(await A.text())),A}#a(A){A&&A.cancel().catch(()=>{})}#Q(A){this.#a(A.body??void 0)}async#h(A){try{return await A()}catch(I){const e=Math.min(await this.#E(I),TvA);if(this.#t<1)throw I;if(await edt(e,this.#o?{signal:this.#o}:{}),I instanceof vvA&&I.customRequest){const t=this.#A.signal?new globalThis.Request(I.customRequest,{signal:this.#A.signal}):new globalThis.Request(I.customRequest);this.#r(t)}for(const t of this.#A.hooks.beforeRetry){const o=await t({request:this.request,options:this.#n(),error:I,retryCount:this.#t});if(o instanceof globalThis.Request){this.#r(o);break}if(o instanceof globalThis.Response)return o;if(o===UeI)return}return this.#h(A)}}async#l(){this.#I?.signal.aborted&&(this.#I=new globalThis.AbortController,this.#A.signal=this.#o?AbortSignal.any([this.#o,this.#I.signal]):this.#I.signal,this.request=new globalThis.Request(this.request,{signal:this.#A.signal}));for(const I of this.#A.hooks.beforeRequest){const e=await I(this.request,this.#n(),{retryCount:this.#t});if(e instanceof Response)return e;if(e instanceof globalThis.Request){this.#r(e);break}}const A=tdt(this.request,this.#A);return this.#B=this.request,this.request=this.#B.clone(),this.#A.timeout===!1?this.#A.fetch(this.#B,A):Idt(this.#B,A,this.#I,this.#A)}#n(){if(!this.#i){const{hooks:A,...I}=this.#A;this.#i=Object.freeze(I)}return this.#i}#r(A){this.#i=void 0,this.request=this.#c(A)}#c(A,I){return!this.#A.onUploadProgress||!A.body?A:XDt(A,this.#A.onUploadProgress,I??this.#A.body??void 0)}};const OvA=g=>{const A=(I,e)=>_eI.create(I,JDA(g,e));for(const I of FeI)A[I]=(e,t)=>_eI.create(e,JDA(g,t,{method:I}));return A.create=I=>OvA(JDA(I)),A.extend=I=>(typeof I=="function"&&(I=I(g??{})),OvA(JDA(g,I))),A.stop=UeI,A.retry=ZDt,A},Qdt=OvA();class idt extends yJ{constructor(A,I,e,t){super(A,I,e),this.name="RegistryHTTPError",this.message=t}}function wJ(g){return typeof window<"u"?window[g]:null}function l3(){const g=wJ("TSCIRCUIT_REGISTRY_API_BASE_URL")||void 0||"https://registry-api.tscircuit.com",A=wJ("TSCIRCUIT_REGISTRY_TOKEN");return Qdt.create({prefixUrl:g,headers:{Authorization:`Bearer ${A}`},timeout:3e4,hooks:{afterResponse:[async(I,e,t)=>{if(t.ok)return t;let o=null;try{o=await t.clone().json()}catch(n){console.error("Failed to parse registry error response",n)}const B=o?.error?.message??o?.error?.error_message??o?.message,C=o?.error?.error_code??o?.error_code,Q=new URL(t.url),E=[`Registry request failed for ${`${Q.pathname}${Q.search}`} (${t.status})`];throw B&&E.push(`Server message: ${B}`),C&&E.push(`Error code: ${C}`),new idt(t,I,e,E.join(" | "))}]}})}function KDA(){return!!wJ("TSCIRCUIT_REGISTRY_TOKEN")}const fgA={get:(g,A)=>l3().get(g,A),post:(g,A)=>l3().post(g,A),put:(g,A)=>l3().put(g,A),delete:(g,A)=>l3().delete(g,A),patch:(g,A)=>l3().patch(g,A)},Edt="phc_htd8AQjSfVEsFCLQMAiUooG4Q0DKBCjqYuQglc9V3Wo",ndt="https://postpig.tscircuit.com",beI="runframe:anonymous-id",WvA=()=>typeof window<"u",HeI=g=>g.includes("localhost")||g.includes("127.0.0.1"),sdt=g=>{try{return new URL(g).hostname}catch{return null}},adt=()=>{if(!WvA())return null;let g=null;return document.referrer&&(g=sdt(document.referrer)),g??window.location.hostname},rdt=()=>typeof crypto<"u"&&"randomUUID"in crypto?crypto.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`,cdt=()=>{if(!WvA())return null;try{const g=window.localStorage.getItem(beI);if(g)return g;const A=rdt();return window.localStorage.setItem(beI,A),A}catch{return null}},hdt=()=>wJ("TSCIRCUIT_USE_RUNFRAME_FOR_CLI")===!0,veI=()=>!WvA()||wJ("TSCIRCUIT_TELEMETRY_DISABLED")===!0||HeI(window.location.hostname)&&!hdt()?!1:(Rq.__loaded||Rq.init(Edt,{api_host:ndt,person_profiles:"always"}),!0),ldt=()=>{if(!veI())return null;const g=adt(),A=g!=null&&!HeI(g);let I=null;A||(I=cdt());let e,t;return A?(e=`domain:${g}`,t="domain"):(e=void 0,I&&(e=`anonymous:${I}`),t="anonymous_id"),{embedDomain:g,anonymousId:I,distinctId:e,identityType:t}},Ddt=(g,{source:A,...I})=>{const e=ldt();if(!e)return;const{embedDomain:t,anonymousId:o,distinctId:B,identityType:C}=e;if(B){const Q={};C==="domain"&&t&&(Q.embed_domain=t),C==="anonymous_id"&&o&&(Q.runframe_anonymous_id=o),Rq.identify(B,Q)}Rq.capture(g,{...I,source:A,embed_domain:t,runframe_anonymous_id:o,identity_type:C})},ddt=g=>{Ddt("runframe_activity",g)};veI();function ydt(g){const A=String.fromCodePoint(...g);return btoa(A)}function wdt(g,A){const I=JSON.stringify(g),e=f9g(x9g(I));return`https://tscircuit.com/editor?#data:application/gzip;base64,${ydt(e)}`}function Bo(...g){return xct(NR(g))}const TeI=g=>g.replace(/_/g," ").replace(/\b\w/g,A=>A.toUpperCase()),VvA=Xrt,LDA=z.forwardRef(({className:g,...A},I)=>T.jsx(i$g,{ref:I,className:Bo("rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",g),...A}));LDA.displayName=i$g.displayName;const mx=z.forwardRef(({className:g,...A},I)=>T.jsx(E$g,{ref:I,className:Bo("rf-inline-flex rf-items-center rf-justify-center rf-whitespace-nowrap rf-rounded-md rf-px-3 rf-py-1 rf-text-sm rf-font-medium rf-ring-offset-white rf-transition-all focus-visible:rf-outline-none focus-visible:rf-ring-2 focus-visible:rf-ring-zinc-950 focus-visible:rf-ring-offset-2 disabled:rf-pointer-events-none disabled:rf-opacity-50 data-[state=active]:rf-bg-white data-[state=active]:rf-text-zinc-950 data-[state=active]:rf-shadow dark:rf-ring-offset-zinc-950 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=active]:rf-bg-zinc-950 dark:data-[state=active]:rf-text-zinc-50",g),...A}));mx.displayName=E$g.displayName;const xy=z.forwardRef(({className:g,...A},I)=>T.jsx(n$g,{ref:I,className:Bo("rf-h-full rf-mt-2 rf-ring-offset-white focus-visible:rf-outline-none focus-visible:rf-ring-2 focus-visible:rf-ring-zinc-950 focus-visible:rf-ring-offset-2 dark:rf-ring-offset-zinc-950 dark:focus-visible:rf-ring-zinc-300",g),...A}));xy.displayName=n$g.displayName;function mI(g,A){return Array.isArray(A)?[g.a*A[0]+g.c*A[1]+g.e,g.b*A[0]+g.d*A[1]+g.f]:{x:g.a*A.x+g.c*A.y+g.e,y:g.b*A.x+g.d*A.y+g.f}}const udt=/^matrix\(\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*,\s*([0-9_+-.e]+)\s*\)$/i;function Gdt(g){const A=g.match(udt);if(A===null||A.length<7)throw new Error(`'${g}' is not a matrix`);return{a:parseFloat(A[1]),b:parseFloat(A[2]),c:parseFloat(A[3]),d:parseFloat(A[4]),e:parseFloat(A[5]),f:parseFloat(A[6])}}function mdt(g){const{a:A,b:I,c:e,d:t,e:o,f:B}=g,C=A*t-I*e;return{a:t/C,b:I/-C,c:e/-C,d:A/C,e:(t*o-e*B)/-C,f:(I*o-A*B)/C}}function RgA(g){return typeof g>"u"}function fD(g,A=0){return{a:1,c:0,e:g,b:0,d:1,f:A}}function NgA(...g){g=Array.isArray(g[0])?g[0]:g;const A=(I,e)=>({a:I.a*e.a+I.c*e.b,c:I.a*e.c+I.c*e.d,e:I.a*e.e+I.c*e.f+I.e,b:I.b*e.a+I.d*e.b,d:I.b*e.c+I.d*e.d,f:I.b*e.e+I.d*e.f+I.f});switch(g.length){case 0:throw new Error("no matrices provided");case 1:return g[0];case 2:return A(g[0],g[1]);default:{const[I,e,...t]=g,o=A(I,e);return NgA(o,...t)}}}function os(...g){return NgA(...g)}const{cos:pdt,sin:kdt}=Math;function px(g,A,I){const e=pdt(g),t=kdt(g),o={a:e,c:-t,e:0,b:t,d:e,f:0};return RgA(A)||RgA(I)?o:NgA([fD(A,I),o,fD(-A,-I)])}function yk(g,A=void 0,I=void 0,e=void 0){RgA(A)&&(A=g);const t={a:g,c:0,e:0,b:0,d:A,f:0};return RgA(I)||RgA(e)?t:NgA([fD(I,e),t,fD(-I,-e)])}function Mdt(g){return kx(g)}function kx(g){return`matrix(${g.a},${g.b},${g.c},${g.d},${g.e},${g.f})`}function Sdt(g,A=1e10){return{a:Math.round(g.a*A)/A,b:Math.round(g.b*A)/A,c:Math.round(g.c*A)/A,d:Math.round(g.d*A)/A,e:Math.round(g.e*A)/A,f:Math.round(g.f*A)/A}}function fdt(g,A){const I=g[0].x!=null?g[0].x:g[0][0],e=g[0].y!=null?g[0].y:g[0][1],t=A[0].x!=null?A[0].x:A[0][0],o=A[0].y!=null?A[0].y:A[0][1],B=g[1].x!=null?g[1].x:g[1][0],C=g[1].y!=null?g[1].y:g[1][1],Q=A[1].x!=null?A[1].x:A[1][0],i=A[1].y!=null?A[1].y:A[1][1],E=g[2].x!=null?g[2].x:g[2][0],n=g[2].y!=null?g[2].y:g[2][1],s=A[2].x!=null?A[2].x:A[2][0],r=A[2].y!=null?A[2].y:A[2][1],a={a:I-E,b:e-n,c:B-E,d:C-n,e:E,f:n},c={a:t-s,b:o-r,c:Q-s,d:i-r,e:s,f:r},h=mdt(a),l=NgA([c,h]);return Sdt(l)}function Rdt(g,A){function I(){this.constructor=g}I.prototype=A.prototype,g.prototype=new I}function YDA(g,A,I,e){var t=Error.call(this,g);return Object.setPrototypeOf&&Object.setPrototypeOf(t,YDA.prototype),t.expected=A,t.found=I,t.location=e,t.name="SyntaxError",t}Rdt(YDA,Error);function jvA(g,A,I){return I=I||" ",g.length>A?g:(A-=g.length,I+=I.repeat(A),g+I.slice(0,A))}YDA.prototype.format=function(g){var A="Error: "+this.message;if(this.location){var I=null,e;for(e=0;e<g.length;e++)if(g[e].source===this.location.source){I=g[e].text.split(/\r\n|\n|\r/g);break}var t=this.location.start,o=this.location.source&&typeof this.location.source.offset=="function"?this.location.source.offset(t):t,B=this.location.source+":"+o.line+":"+o.column;if(I){var C=this.location.end,Q=jvA("",o.line.toString().length," "),i=I[t.line-1],E=t.line===C.line?C.column:i.length+1,n=E-t.column||1;A+=`
|
|
1071
1071
|
--> `+B+`
|
|
1072
1072
|
`+Q+` |
|
|
@@ -5668,7 +5668,7 @@ test("${i} should solve problem correctly", () => {
|
|
|
5668
5668
|
// Add more specific assertions based on expected output
|
|
5669
5669
|
// expect(solver.netLabelPlacementSolver!.netLabelPlacements).toMatchInlineSnapshot()
|
|
5670
5670
|
})
|
|
5671
|
-
`,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return T.jsxs("div",{className:`relative ${A}`,ref:t,children:[T.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&T.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},cPI=g=>g.activeSubSolver?[g,...cPI(g.activeSubSolver)]:[g],Npo=({solver:g})=>{const A=cPI(g);return T.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>T.jsxs("div",{className:"flex items-center",children:[e>0&&T.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),T.jsx(Rpo,{solver:I})]},I.getSolverName()))})},xpo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=z.useReducer(m=>!m,!1),n=z.useRef(void 0),s=z.useRef(null),r="solver-debugger-last-iteration",[a,c]=z.useState(null),h=z.useRef(null),l=z.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return z.useEffect(()=>()=>{d()},[]),z.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),z.useEffect(()=>{i&&(d(),D())},[I,i]),z.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),T.jsxs("div",{className:"space-y-2 p-2 border-b",children:[T.jsx("div",{className:"flex items-center",children:T.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[T.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>T.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:T.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>T.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&T.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),T.jsx(Npo,{solver:g})]})}),T.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[T.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),T.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),T.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),T.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),T.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&T.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&T.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&T.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&T.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},Fpo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),Upo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},Jpo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=Upo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},Ppo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return T.jsx("span",{className:`font-medium ${A[g]}`,children:g})},Kpo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:T.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),T.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},hPI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},Lpo=g=>Object.entries(g).map(([A,I])=>`${A}: ${hPI(I)}`).join(", "),Ypo=({stats:g})=>{if(!g||Object.keys(g).length===0)return T.jsx("span",{children:"-"});const A=Object.entries(g),I=Lpo(g);return T.jsxs("details",{className:"cursor-pointer",children:[T.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),T.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>T.jsxs("div",{children:[e,": ",hPI(t)]},e))})]})},pCg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(pCg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=pCg(e));return A},_po=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=pCg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},bpo=({expanded:g})=>T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),lPI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},DPI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=z.useState(new Set),Q=g.pipelineDef.map((h,l)=>Jpo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):_po(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=lPI(g);for(;!g.solved&&!g.failed&&(g.step(),lPI(g)===h););o?.()}},c=t*24;return T.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&T.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),T.jsxs("div",{className:"flex gap-2",children:[T.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),T.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),T.jsx("div",{className:"overflow-x-auto",children:T.jsxs("table",{className:"w-full text-sm",children:[!e&&T.jsx("thead",{children:T.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),T.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",T.jsx("sub",{children:"0"})]}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),T.jsx("tbody",{children:Q.map(h=>{const l=Fpo(h.solverInstance),D=B.has(h.name);return T.jsxs(rC.Fragment,{children:[T.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[T.jsx("td",{className:"px-4 py-2",children:T.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?T.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:T.jsx(bpo,{expanded:D})}):T.jsx("span",{className:"w-4"}),T.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),T.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),T.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(Ppo,{status:h.status})}),T.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(Kpo,{progress:h.progress})}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),T.jsx("td",{className:"px-4 py-2 text-gray-500",children:T.jsx(Ypo,{stats:h.stats})}),T.jsx("td",{className:"px-4 py-2",children:h.solverInstance?T.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),T.jsx("span",{children:"Input"})]}):null})]}),l&&D&&T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"p-0",children:T.jsx(DPI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function Hpo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return T.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>T.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>T.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>T.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var vpo=class extends rC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Tpo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=z.useReducer(D=>D+1,0),[C]=z.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=z.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=z.useState(I),s=z.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=z.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);z.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),z.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return T.jsxs("div",{children:[T.jsx(xpo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?T.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):T.jsx(vpo,{fallback:T.jsx(Hpo,{graphics:s}),children:Q==="canvas"?T.jsx(fpo,{graphics:s}):T.jsx(kpo,{graphics:s})}),a&&T.jsx(DPI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const qpo=()=>{z.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},Zpo=1e3,bk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},Zpo)},kCg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Opo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},dF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",dPI="https://github.com/tscircuit/copper-pour-solver/issues/new",yPI="https://github.com/tscircuit/calculate-packing/issues/new",Wpo="https://github.com/tscircuit/matchpack/issues/new",wPI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",Vpo={PackSolver2:yPI,LayoutPipelineSolver:Wpo,AutoroutingPipelineSolver:dF,AssignableAutoroutingPipeline2:dF,AssignableAutoroutingPipeline3:dF,AutoroutingPipeline1_OriginalUnravel:dF,AutoroutingPipelineSolver3_HgPortPointPathing:dF,AutoroutingPipelineSolver4:dF,AutoroutingPipelineSolver5:dF,AutoroutingPipelineSolver7_MultiGraph:dF,AutoroutingPipelineSolver8:dF,CopperPourPipelineSolver:dPI,SchematicTracePipelineSolver:wPI},jpo=g=>g.toLowerCase().includes("pack")?CxI:g.toLowerCase().includes("rout")?ixI:Wro,uPI=g=>{const A=Vpo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?dF:I.includes("schematic")&&I.includes("trace")?wPI:I.includes("copperpour")?dPI:I.includes("pack")?yPI:null},zpo=g=>`${kCg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,GPI=g=>{bk(JSON.stringify(g.solverParams,null,2),{fileName:zpo(g),mimeType:"application/json"})},Xpo=({solverEvent:g})=>{const A=uPI(g.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[T.jsxs(si,{type:"button",variant:"outline",size:"sm",onClick:()=>GPI(g),children:[T.jsx(ftA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?T.jsx(si,{asChild:!0,variant:"outline",size:"sm",children:T.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[T.jsx(_GA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):T.jsxs(si,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[T.jsx(_GA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},$po=({solverEvent:g})=>{const A=uPI(g.solverName);return A?T.jsx(si,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:T.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:T.jsx(_GA,{className:"rf-w-4 rf-h-4"})})}):T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:T.jsx(_GA,{className:"rf-w-4 rf-h-4"})})},Ako=({solverEvents:g=[]})=>{const[A,I]=z.useState(null);qpo();const e=z.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=z.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=z.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=v9A[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(v9A).join(", ")}`,classFound:!1};try{return{instance:new C(...Opo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?T.jsx("div",{className:"rf-p-4",children:T.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:T.jsxs("div",{className:"rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),T.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):T.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[T.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return T.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=jpo(Q.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),T.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),T.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?T.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[T.jsx(Xpo,{solverEvent:o}),T.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:T.jsx(GS,{fallback:T.jsx("div",{className:"rf-p-4",children:T.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),T.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:T.jsx(Tpo,{solver:B.instance})})})]}):T.jsxs("div",{className:"rf-p-4",children:[T.jsxs("div",{className:"rf-mb-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),T.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&T.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:T.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),T.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[T.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx($po,{solverEvent:o}),T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>GPI(o),children:T.jsx(ftA,{className:"rf-w-4 rf-h-4"})})]})]}),T.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:T.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):T.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},gko=["subcircuit_id","componentDisplayName","phaseName","routingPhaseIndex","phaseOrdinal","phaseCount","phaseStageIndex","phaseStageCount","connectionCount","obstacleCount","previousTraceCount","isReroutePhase","autorouterName","autorouterVersion","solverName","effort","cacheStatus"],Iko=["phaseOrdinal","routingPhaseIndex","phaseName","phaseStageIndex"];function eko(g,A){let I=-1,e=-1;for(let t=g.length-1;t>=0;t--){const o=g[t];if(o.status!=="running"||o.subcircuit_id!==A.subcircuit_id||o.componentDisplayName!==A.componentDisplayName)continue;let B=0,C=!1;for(const Q of Iko)if(!(o[Q]===void 0||A[Q]===void 0)){if(o[Q]!==A[Q]){C=!0;break}B++}!C&&B>e&&(I=t,e=B)}return I}function tko(g,A){const I=Object.fromEntries(gko.filter(B=>A[B]!==void 0).map(B=>[B,A[B]])),e=A.simpleRouteJson?structuredClone(A.simpleRouteJson):void 0,t=A.type==="autorouting:start"?-1:eko(g,A),o={...t===-1?{id:`autorouting_phase_${g.length+1}`}:g[t],...I,status:A.type==="autorouting:start"?"running":A.type==="autorouting:end"?"complete":"error",...A.type==="autorouting:start"?{startSimpleRouteJson:e}:A.type==="autorouting:end"?{endSimpleRouteJson:e}:{errorSimpleRouteJson:e,error:A.error?{...A.error}:void 0}};return t===-1?[...g,o]:g.map((B,C)=>C===t?o:B)}const oko=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),Bko=new Set(["tscircuit","default","auto","auto_local"]);function Cko(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Qko(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&oko.get(I);if(e)return e;if(I&&!Bko.has(I))return A;const t=g.solverName?.trim();if(t)return Cko(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const MCg="#fbbf24";function iko(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function mPI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function Eko(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function pPI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...Eko(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function nko(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(mPI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of pPI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:MCg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:MCg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function sko(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const ako=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function rko(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!ako.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:iko(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=pPI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${sko(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const SCg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,kPI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",MPI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,cko={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},hko=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=z.useState(null),[o,B]=z.useState("output"),[C,Q]=z.useState(!0),[i,E]=z.useState(!1),n=z.useRef(null),[s,r]=z.useState(480),a=e?A.findIndex(N=>N.id===e.id&&MPI(N)===MPI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=z.useMemo(()=>!h||!u?null:rko(g??[],h,w),[g,h,u,w]),m=z.useMemo(()=>h&&w==="output"&&C?nko(h):{lines:[],circles:[]},[h,w,C]);if(z.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const K=new ResizeObserver(U);return K.observe(N),()=>K.disconnect()},[!!h]),!h)return T.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[T.jsx(ixI,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),T.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),T.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=SCg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return T.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[T.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[T.jsx("span",{children:"Routing phases"}),T.jsx("span",{children:A.length})]}),T.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const K=mPI(N).length,Y=N.endSimpleRouteJson?`${K} ${K===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return T.jsxs("button",{type:"button","aria-pressed":U===c,title:`${kPI(N)} · ${Y}`,onClick:()=>t(N),className:Bo("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[T.jsx("span",{className:Bo("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),T.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[T.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:SCg(N,U),children:SCg(N,U)}),N.status==="complete"?T.jsx(sF,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?T.jsx(qog,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?T.jsx(mS,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),T.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Qko(N)," · ",Y]})]})]},N.id)})})]}),T.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[T.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,T.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&T.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),T.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>T.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:Bo("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[T.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),T.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:MCg}}),"Highlight changes (all layers)"]}),T.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&T.jsx("div",{className:Bo("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),T.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?T.jsx(Hog,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:cko,debugGraphics:m}):T.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[T.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${kPI(h)}`]}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[T.jsxs("button",{type:"button",disabled:!u,onClick:()=>bk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[T.jsx(ftA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),T.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(Rb,{className:Bo("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&T.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},SPI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{z.useEffect(()=>{if(wJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{Rq.captureException(e)}catch{}}},[g,A]),z.useEffect(()=>{if(wJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{Rq.captureException(t,{error_type:e.type})}catch{}}},[I])},fPI=g=>{z.useEffect(()=>{try{ddt(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},RPI="0.0.3070",lko={version:RPI},QpA=lXg()(DXg(g=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{g({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),Dko=g=>{const[A,I]=z.useState([]),[e,t]=z.useState(null),[o,B]=z.useState(""),[C,Q]=XT("eval-version-selection",null),i=QpA(r=>r.setLastRunEvalVersion),E=QpA(r=>r.lastRunEvalVersion);return z.useEffect(()=>{g&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(r=>r.json()).then(r=>{if(Array.isArray(r?.versions)){let a=[...r.versions];r.tags?.latest&&(t(r.tags.latest),a=a.filter(c=>c!==r.tags.latest)),I(a)}}).catch(()=>{})},[g]),z.useEffect(()=>{g&&(C?(window.TSCIRCUIT_LATEST_EVAL_VERSION=C,i(C)):e&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=e,i(e)))},[g,C,e]),{versions:z.useMemo(()=>A.filter(r=>r.includes(o)).slice(0,50),[A,o]),latestVersion:e,lastRunEvalVersion:E,search:o,setSearch:B,selectVersion:r=>{Q(r),B("")}}},dko=({snippetNames:g,onSelect:A,onCancel:I,isOpen:e})=>{const[t,o]=z.useState(""),[B,C]=z.useState("");if(!e)return null;const Q=g.filter(n=>n.toLowerCase().includes(B.toLowerCase())),i=B&&!g.includes(B),E=n=>{n.key==="Enter"&&(Q.length===1?o(Q[0]):i&&o(B))};return T.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:T.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[T.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),T.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:B,onChange:n=>C(n.target.value),onKeyDown:E}),T.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[Q.map(n=>T.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${t===n?"bg-blue-50":""}`,onClick:()=>o(n),children:n},n)),i&&T.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${t===B?"bg-blue-50":""}`,onClick:()=>o(B),children:['Create new "',B,'"']})]}),T.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:I,children:"Cancel"}),T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>t&&A(t),disabled:!t,children:t===B?`Create "${t}"`:`Save to ${t}`})]})]})})},yko=g=>{const A=z.useRef(null),I=Kc(e=>e.recentEvents);z.useEffect(()=>{if(I.length===0)return;const e=I[0];e.event_id!==A.current&&(g(e),A.current=e.event_id)},[I,g])};var wko=Object.defineProperty,iP=(g,A)=>wko(g,"name",{value:A,configurable:!0}),uko="AlertDialog",[Gko,MCB]=hk(uko,[PFI]),EP=PFI(),mko=iP(g=>{const{__scopeAlertDialog:A,...I}=g,e=EP(A);return T.jsx(mmA,{...e,...I,modal:!0})},"AlertDialog");z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(dlo,{...o,...t,ref:I})},"AlertDialogTrigger"));var pko=iP(g=>{const{__scopeAlertDialog:A,...I}=g,e=EP(A);return T.jsx(pmA,{...e,...I})},"AlertDialogPortal"),NPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(HtA,{...o,...t,ref:I})},"AlertDialogOverlay")),kko="AlertDialogContent",[Mko,Sko]=Gko(kko),xPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,children:t,...o}=A,B=EP(e),C=z.useRef(null),Q=Gi(I,C),i=z.useRef(null);return T.jsx(Mko,{scope:e,cancelRef:i,children:T.jsx(TtA,{role:"alertdialog",...B,...o,ref:Q,onOpenAutoFocus:fo(o.onOpenAutoFocus,E=>{E.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:E=>E.preventDefault(),onInteractOutside:E=>E.preventDefault(),children:t})})},"AlertDialogContent")),FPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(kmA,{...o,...t,ref:I})},"AlertDialogTitle")),UPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(MmA,{...o,...t,ref:I})},"AlertDialogDescription")),JPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(UBg,{...o,...t,ref:I})},"AlertDialogAction")),fko="AlertDialogCancel",PPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,{cancelRef:o}=Sko(fko,e),B=EP(e),C=Gi(I,o);return T.jsx(UBg,{...B,...t,ref:C})},"AlertDialogCancel"));const KPI=mko,Rko=pko,LPI=z.forwardRef(({className:g,...A},I)=>T.jsx(NPI,{className:Bo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));LPI.displayName=NPI.displayName;const fCg=z.forwardRef(({className:g,...A},I)=>T.jsxs(Rko,{children:[T.jsx(LPI,{}),T.jsx(xPI,{ref:I,className:Bo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...A})]}));fCg.displayName=xPI.displayName;const RCg=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});RCg.displayName="AlertDialogHeader";const NCg=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});NCg.displayName="AlertDialogFooter";const xCg=z.forwardRef(({className:g,...A},I)=>T.jsx(FPI,{ref:I,className:Bo("rf-text-lg rf-font-semibold",g),...A}));xCg.displayName=FPI.displayName;const FCg=z.forwardRef(({className:g,...A},I)=>T.jsx(UPI,{ref:I,className:Bo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));FCg.displayName=UPI.displayName;const Nko=z.forwardRef(({className:g,...A},I)=>T.jsx(JPI,{ref:I,className:Bo(nO(),g),...A}));Nko.displayName=JPI.displayName;const UCg=z.forwardRef(({className:g,...A},I)=>T.jsx(PPI,{ref:I,className:Bo(nO({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",g),...A}));UCg.displayName=PPI.displayName;var xko=Object.defineProperty,nP=(g,A)=>xko(g,"name",{value:A,configurable:!0}),JCg="Checkbox",[Fko,SCB]=hk(JCg),[Uko,PCg]=Fko(JCg);function YPI(g){const{__scopeCheckbox:A,checked:I,children:e,defaultChecked:t,disabled:o,form:B,name:C,onCheckedChange:Q,required:i,value:E="on",internal_do_not_use_render:n}=g,[s,r]=RR({prop:I,defaultProp:t??!1,onChange:Q,caller:JCg}),[a,c]=z.useState(null),[h,l]=z.useState(null),[D,d]=z.useState(null),y=a?!!B||!!a.closest("form"):!0,w={checked:s,disabled:o,setChecked:r,control:a,setControl:c,name:C,form:B,value:E,userClick:D,onUserClick:d,required:i,defaultChecked:df(t)?!1:t,isFormControl:y,bubbleInput:h,setBubbleInput:l};return T.jsx(Uko,{scope:A,...w,children:bPI(n)?n(w):e})}nP(YPI,"CheckboxProvider");var Jko="CheckboxTrigger",Pko=z.forwardRef(nP(function({__scopeCheckbox:A,onKeyDown:I,onClick:e,...t},o){const{control:B,value:C,disabled:Q,checked:i,required:E,setControl:n,setChecked:s,onUserClick:r,isFormControl:a,bubbleInput:c}=PCg(Jko,A),h=Gi(o,n),l=z.useRef(i);return z.useEffect(()=>{const D=B?.form;if(D){const d=nP(()=>s(l.current),"reset");return D.addEventListener("reset",d),()=>D.removeEventListener("reset",d)}},[B,s]),T.jsx(yQ.button,{type:"button",role:"checkbox","aria-checked":df(i)?"mixed":i,"aria-required":E,"data-state":KCg(i),"data-disabled":Q?"":void 0,disabled:Q,value:C,...t,ref:h,onKeyDown:fo(I,D=>{D.key==="Enter"&&D.preventDefault()}),onClick:fo(e,D=>{const d=D.isPropagationStopped();r({requestedChecked:df(i)?!0:!i,hasConsumerStoppedPropagation:d}),s(y=>df(y)?!0:!y),c&&a&&(d||D.stopPropagation())})})},"CheckboxTrigger")),_PI=z.forwardRef(nP(function(A,I){const{__scopeCheckbox:e,name:t,checked:o,defaultChecked:B,required:C,disabled:Q,value:i,onCheckedChange:E,form:n,...s}=A;return T.jsx(YPI,{__scopeCheckbox:e,checked:o,defaultChecked:B,disabled:Q,required:C,onCheckedChange:E,name:t,form:n,value:i,internal_do_not_use_render:({isFormControl:r})=>T.jsxs(T.Fragment,{children:[T.jsx(Pko,{...s,ref:I,__scopeCheckbox:e}),r&&T.jsx(_ko,{__scopeCheckbox:e})]})})},"Checkbox")),Kko="CheckboxIndicator",Lko=z.forwardRef(nP(function(A,I){const{__scopeCheckbox:e,forceMount:t,...o}=A,B=PCg(Kko,e);return T.jsx(AS,{present:t||df(B.checked)||B.checked===!0,children:T.jsx(yQ.span,{"data-state":KCg(B.checked),"data-disabled":B.disabled?"":void 0,...o,ref:I,style:{pointerEvents:"none",...A.style}})})},"CheckboxIndicator")),Yko="CheckboxBubbleInput",_ko=z.forwardRef(nP(function({__scopeCheckbox:A,onClick:I,...e},t){const{control:o,userClick:B,checked:C,defaultChecked:Q,required:i,disabled:E,name:n,value:s,form:r,bubbleInput:a,setBubbleInput:c}=PCg(Yko,A),h=Gi(t,c),l=cBg(o),D=z.useRef(!1),d=z.useRef(C),y=z.useRef(B),w=z.useRef(null);z.useEffect(()=>{const G=a;if(!G)return;const m=window.HTMLInputElement.prototype,k=Object.getOwnPropertyDescriptor(m,"checked").set;if(!k)return;const S=d.current!==C;d.current=C;const R=B!==null&&B!==y.current;if(y.current=B,R)w.current=S?null:B,S&&(G.indeterminate=df(C),k.call(G,df(C)?!1:C)),G.dispatchEvent(new Event("click",{bubbles:!B.hasConsumerStoppedPropagation}));else if(S){const x=w.current;w.current=null;const N=x?.requestedChecked===C;D.current=!0,G.indeterminate=df(C),k.call(G,df(C)?!1:C),G.dispatchEvent(new Event("click",{bubbles:!(N&&x.hasConsumerStoppedPropagation)})),D.current=!1}},[a,C,B]);const u=z.useRef(df(C)?!1:C);return T.jsx(yQ.input,{type:"checkbox","aria-hidden":!0,defaultChecked:Q??u.current,required:i,disabled:E,name:n,value:s,form:r,...e,tabIndex:-1,ref:h,onClick:fo(I,G=>{D.current&&G.stopPropagation()}),style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function bPI(g){return typeof g=="function"}nP(bPI,"isFunction");function df(g){return g==="indeterminate"}nP(df,"isIndeterminate");function KCg(g){return df(g)?"indeterminate":g?"checked":"unchecked"}nP(KCg,"getState");const soA=z.forwardRef(({className:g,...A},I)=>T.jsx(_PI,{ref:I,className:Bo("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",g),...A,children:T.jsx(Lko,{className:Bo("rf-flex rf-items-center rf-justify-center rf-text-current"),children:T.jsx(sF,{className:"rf-h-4 rf-w-4"})})}));soA.displayName=_PI.displayName;const Yb=mmA,bko=pmA,HPI=z.forwardRef(({className:g,...A},I)=>T.jsx(HtA,{className:Bo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));HPI.displayName=HtA.displayName;const RL=z.forwardRef(({className:g,children:A,showOverlay:I=!0,...e},t)=>T.jsxs(bko,{children:[T.jsx(HPI,{className:Bo(I?"":"rf-hidden")}),T.jsx(TtA,{ref:t,className:Bo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...e,children:A})]}));RL.displayName=TtA.displayName;const NL=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});NL.displayName="DialogHeader";const YO=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});YO.displayName="DialogFooter";const xL=z.forwardRef(({className:g,...A},I)=>T.jsx(kmA,{ref:I,className:Bo("rf-text-lg rf-font-semibold",g),...A}));xL.displayName=kmA.displayName;const _b=z.forwardRef(({className:g,...A},I)=>T.jsx(MmA,{ref:I,className:Bo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));_b.displayName=MmA.displayName;const ipA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},Hko="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let LCg=null;const YCg=async()=>(LCg||(LCg=import(Hko)),LCg),vko=g=>(A,I)=>{const e=new Headers(I?.headers),t={};return e.forEach((o,B)=>{t[B]=o}),fetch(`${g?.apiBase??Um}/proxy`,{...I,headers:{...t,"X-Target-Url":A.toString(),"X-Sender-Origin":t.origin??"","X-Sender-Host":t.host??"https://easyeda.com","X-Sender-Referer":t.referer??"","X-Sender-User-Agent":t["user-agent"]??"","X-Sender-Cookie":t.cookie??"",authority:t.authority??"","content-type":t["content-type"]??"",...g?.headers}})},Tko=async(g,A=10)=>{const I=encodeURIComponent(g),e=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${I}`);if(!e.ok)throw new Error(`JLCPCB API error: ${e.status}`);return(await e.json()).components??[]},qko=g=>({lcscId:g.lcsc,manufacturer:g.mfr,description:g.description,partNumber:`C${g.lcsc}`,package:g.package,price:g.price,stock:g.stock,isBasic:g.is_basic}),vPI=async(g,A)=>{const{fetchEasyEDAComponent:I}=await YCg();return I(g,{fetch:vko(A),includeModelMetadata:A?.includeModelMetadata})},Zko=async(g,A)=>{const{convertRawEasyToTsx:I}=await YCg(),e=await vPI(g,A);return I({rawEasy:e})},Oko=async(g,A)=>{const{EasyEdaJsonSchema:I,convertEasyEdaJsonToCircuitJson:e}=await YCg(),t=await vPI(g,{...A,includeModelMetadata:!1}),o=I.parse(t);return e(o,{shouldRecenter:!0,showDesignator:!0,useModelCdn:!1})};function FL(g){return Array.isArray?Array.isArray(g):qPI(g)==="[object Array]"}function Wko(g){if(typeof g=="string")return g;if(typeof g=="bigint")return g.toString();const A=g+"";return A=="0"&&1/g==-1/0?"-0":A}function _Cg(g){return g==null?"":Wko(g)}function uG(g){return typeof g=="string"}function EpA(g){return typeof g=="number"}function Vko(g){return g===!0||g===!1||jko(g)&&qPI(g)=="[object Boolean]"}function TPI(g){return typeof g=="object"}function jko(g){return TPI(g)&&g!==null}function NS(g){return g!=null}function npA(g){return!g.trim().length}function qPI(g){return g==null?g===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(g)}const zko="Incorrect 'index' type",bCg="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Xko=g=>`Invalid value for key ${g}`,$ko=g=>`Pattern length exceeds max of ${g}.`,AMo=g=>`Missing ${g} property in key`,gMo=g=>`Property 'weight' in key '${g}' must be a positive integer`,IMo="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",ZPI=Object.prototype.hasOwnProperty;var eMo=class{constructor(g){this._keys=[],this._keyMap={};let A=0;g.forEach(I=>{const e=OPI(I);this._keys.push(e),this._keyMap[e.id]=e,A+=e.weight}),this._keys.forEach(I=>{I.weight/=A})}get(g){return this._keyMap[g]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function OPI(g){let A=null,I=null,e=null,t=1,o=null;if(uG(g)||FL(g))e=g,A=WPI(g),I=spA(g);else{if(!ZPI.call(g,"name"))throw new Error(AMo("name"));const B=g.name;if(e=B,ZPI.call(g,"weight")&&g.weight!==void 0&&(t=g.weight,t<=0))throw new Error(gMo(spA(B)));A=WPI(B),I=spA(B),o=g.getFn??null}return{path:A,id:I,weight:t,src:e,getFn:o}}function WPI(g){return FL(g)?g:g.split(".")}function spA(g){return FL(g)?g.join("."):g}function tMo(g,A){const I=[];let e=!1;const t=(o,B,C,Q)=>{if(NS(o))if(!B[C])I.push(Q!==void 0?{v:o,i:Q}:o);else{const i=o[B[C]];if(!NS(i))return;if(C===B.length-1&&(uG(i)||EpA(i)||Vko(i)||typeof i=="bigint"))I.push(Q!==void 0?{v:_Cg(i),i:Q}:_Cg(i));else if(FL(i)){e=!0;for(let E=0,n=i.length;E<n;E+=1)t(i[E],B,C+1,E)}else B.length&&t(i,B,C+1,Q)}};return t(g,uG(A)?A.split("."):A,0),e?I:I[0]}const cQ=Object.freeze({...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(g,A)=>g.score===A.score?g.idx<A.idx?-1:1:g.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:tMo,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}});function oMo(g){return g>=9&&g<=13||g===32||g===160}function BMo(g=1,A=3){const I=new Map,e=Math.pow(10,A);return{get(t){let o=0,B=!1;for(let Q=0;Q<t.length;Q++)oMo(t.charCodeAt(Q))?B=!1:B||(o++,B=!0);if(o===0&&(o=1),I.has(o))return I.get(o);const C=Math.round(e/Math.pow(o,.5*g))/e;return I.set(o,C),C},clear(){I.clear()}}}var HCg=class{constructor({getFn:g=cQ.getFn,fieldNormWeight:A=cQ.fieldNormWeight}={}){this.norm=BMo(A,3),this.getFn=g,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(g=[]){this.docs=g}setIndexRecords(g=[]){this.records=g}setKeys(g=[]){this.keys=g,this._keysMap={},g.forEach((A,I)=>{this._keysMap[A.id]=I})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const g=this.docs.length;this.records=new Array(g);let A=0;if(uG(this.docs[0]))for(let I=0;I<g;I++){const e=this._createStringRecord(this.docs[I],I);e&&(this.records[A++]=e)}else for(let I=0;I<g;I++)this.records[A++]=this._createObjectRecord(this.docs[I],I);this.records.length=A,this.norm.clear()}add(g,A){if(!Number.isInteger(A)||A<0)throw new Error(bCg);if(uG(g)){const e=this._createStringRecord(g,A);return e&&this.records.push(e),e}const I=this._createObjectRecord(g,A);return this.records.push(I),I}removeAt(g){if(!Number.isInteger(g)||g<0)throw new Error(bCg);for(let A=0,I=this.records.length;A<I;A+=1)if(this.records[A].i===g){this.records.splice(A,1);break}for(let A=0,I=this.records.length;A<I;A+=1)this.records[A].i>g&&(this.records[A].i-=1)}removeAll(g){const A=new Set;for(const e of g)Number.isInteger(e)&&e>=0&&A.add(e);if(A.size===0)return;this.records=this.records.filter(e=>!A.has(e.i));const I=Array.from(A).sort((e,t)=>e-t);for(const e of this.records){let t=0,o=I.length;for(;t<o;){const B=t+o>>>1;I[B]<e.i?t=B+1:o=B}e.i-=t}}getValueForItemAtKeyId(g,A){return g[this._keysMap[A]]}size(){return this.records.length}_createStringRecord(g,A){return!NS(g)||npA(g)?null:{v:g,i:A,n:this.norm.get(g)}}_createObjectRecord(g,A){const I={i:A,$:{}};for(let e=0,t=this.keys.length;e<t;e++){const o=this.keys[e],B=o.getFn?o.getFn(g):this.getFn(g,o.path);if(NS(B)){if(FL(B)){const C=[];for(let Q=0,i=B.length;Q<i;Q+=1){const E=B[Q];if(NS(E)){if(uG(E)){if(!npA(E)){const n={v:E,i:Q,n:this.norm.get(E)};C.push(n)}}else if(NS(E.v)){const n=uG(E.v)?E.v:_Cg(E.v);if(!npA(n)){const s={v:n,i:E.i,n:this.norm.get(n)};C.push(s)}}}}I.$[e]=C}else if(uG(B)&&!npA(B)){const C={v:B,n:this.norm.get(B)};I.$[e]=C}}}return I}toJSON(){return{keys:this.keys.map(({getFn:g,...A})=>A),records:this.records}}};function VPI(g,A,{getFn:I=cQ.getFn,fieldNormWeight:e=cQ.fieldNormWeight}={}){const t=new HCg({getFn:I,fieldNormWeight:e});return t.setKeys(g.map(OPI)),t.setSources(A),t.create(),t}function CMo(g,{getFn:A=cQ.getFn,fieldNormWeight:I=cQ.fieldNormWeight}={}){const{keys:e,records:t}=g,o=new HCg({getFn:A,fieldNormWeight:I});return o.setKeys(e),o.setIndexRecords(t),o}function QMo(g=[],A=cQ.minMatchCharLength){const I=[];let e=-1,t=-1,o=0;for(let B=g.length;o<B;o+=1){const C=g[o];C&&e===-1?e=o:!C&&e!==-1&&(t=o-1,t-e+1>=A&&I.push([e,t]),e=-1)}return g[o-1]&&o-e>=A&&I.push([e,o-1]),I}function iMo(g,A,I,{location:e=cQ.location,distance:t=cQ.distance,threshold:o=cQ.threshold,findAllMatches:B=cQ.findAllMatches,minMatchCharLength:C=cQ.minMatchCharLength,includeMatches:Q=cQ.includeMatches,ignoreLocation:i=cQ.ignoreLocation}={}){if(A.length>32)throw new Error($ko(32));const E=A.length,n=g.length,s=Math.max(0,Math.min(e,n));let r=o,a=s;const c=(p,k)=>{const S=p/E;if(i)return S;const R=Math.abs(s-k);return t?S+R/t:R?1:S},h=C>1||Q,l=h?Array(n):[];let D;for(;(D=g.indexOf(A,a))>-1;){const p=c(0,D);if(r=Math.min(p,r),a=D+E,h){let k=0;for(;k<E;)l[D+k]=1,k+=1}}a=-1;let d=[],y=1,w=0,u=E+n;const G=1<<E-1;for(let p=0;p<E;p+=1){let k=0,S=u;for(;k<S;)c(p,s+S)<=r?k=S:u=S,S=Math.floor((u-k)/2+k);u=S;let R=Math.max(1,s-S+1);const x=B?n:Math.min(s+S,n)+E,N=Array(x+2);N[x+1]=(1<<p)-1;for(let U=x;U>=R;U-=1){const K=U-1,Y=I[g[K]];if(N[U]=(N[U+1]<<1|1)&Y,p&&(N[U]|=(d[U+1]|d[U])<<1|1|d[U+1]),N[U]&G&&(y=c(p,K),y<=r)){if(r=y,a=K,w=p,a<=s)break;R=Math.max(1,2*s-a)}}if(c(p+1,s)>r)break;d=N}if(h&&a>=0){const p=Math.min(n-1,a+E-1+w);for(let k=a;k<=p;k+=1)I[g[k]]&&(l[k]=1)}const m={isMatch:a>=0,score:Math.max(.001,y)};if(h){const p=QMo(l,C);p.length?Q&&(m.indices=p):m.isMatch=!1}return m}function EMo(g){const A={};for(let I=0,e=g.length;I<e;I+=1){const t=g.charAt(I);A[t]=(A[t]||0)|1<<e-I-1}return A}function vCg(g){if(g.length<=1)return g;g.sort((I,e)=>I[0]-e[0]||I[1]-e[1]);const A=[g[0]];for(let I=1,e=g.length;I<e;I+=1){const t=A[A.length-1],o=g[I];o[0]<=t[1]+1?t[1]=Math.max(t[1],o[1]):A.push(o)}return A}const jPI={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},nMo=new RegExp("["+Object.keys(jPI).join("")+"]","g"),aoA=typeof String.prototype.normalize=="function"?g=>g.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(nMo,A=>jPI[A]):g=>g;var TCg=class{constructor(g,{location:A=cQ.location,threshold:I=cQ.threshold,distance:e=cQ.distance,includeMatches:t=cQ.includeMatches,findAllMatches:o=cQ.findAllMatches,minMatchCharLength:B=cQ.minMatchCharLength,isCaseSensitive:C=cQ.isCaseSensitive,ignoreDiacritics:Q=cQ.ignoreDiacritics,ignoreLocation:i=cQ.ignoreLocation}={}){if(this.options={location:A,threshold:I,distance:e,includeMatches:t,findAllMatches:o,minMatchCharLength:B,isCaseSensitive:C,ignoreDiacritics:Q,ignoreLocation:i},g=C?g:g.toLowerCase(),g=Q?aoA(g):g,this.pattern=g,this.chunks=[],!this.pattern.length)return;const E=(s,r)=>{this.chunks.push({pattern:s,alphabet:EMo(s),startIndex:r})},n=this.pattern.length;if(n>32){let s=0;const r=n%32,a=n-r;for(;s<a;)E(this.pattern.substr(s,32),s),s+=32;if(r){const c=n-32;E(this.pattern.substr(c),c)}}else E(this.pattern,0)}searchIn(g){const{isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e}=this.options;if(g=A?g:g.toLowerCase(),g=I?aoA(g):g,this.pattern===g){if(g.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const a={isMatch:!0,score:0};return e&&(a.indices=[[0,g.length-1]]),a}const{location:t,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,ignoreLocation:i}=this.options,E=[];let n=0,s=!1;this.chunks.forEach(({pattern:a,alphabet:c,startIndex:h})=>{const{isMatch:l,score:D,indices:d}=iMo(g,a,c,{location:t+h,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,includeMatches:e,ignoreLocation:i});l&&(s=!0),n+=D,l&&d&&E.push(...d)});const r={isMatch:s,score:s?n/this.chunks.length:1};return s&&e&&(r.indices=vCg(E)),r}};const sMo=new Set(["fuzzy","include"]);function aMo(g){return g.startsWith("inverse")}const qCg=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:g=>({type:"exact",search(A){const I=A===g;return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:g=>({type:"include",search(A){let I=0,e;const t=[],o=g.length;for(;(e=A.indexOf(g,I))>-1;)I=e+o,t.push([e,I-1]);const B=!!t.length;return{isMatch:B,score:B?0:1,indices:t}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:g=>({type:"prefix-exact",search(A){const I=A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:g=>({type:"inverse-prefix-exact",search(A){const I=!A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:g=>({type:"inverse-suffix-exact",search(A){const I=!A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:g=>({type:"suffix-exact",search(A){const I=A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[A.length-g.length,A.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:g=>({type:"inverse-exact",search(A){const I=A.indexOf(g)===-1;return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(g,A={})=>{const I=new TCg(g,{location:A.location??cQ.location,threshold:A.threshold??cQ.threshold,distance:A.distance??cQ.distance,includeMatches:A.includeMatches??cQ.includeMatches,findAllMatches:A.findAllMatches??cQ.findAllMatches,minMatchCharLength:A.minMatchCharLength??cQ.minMatchCharLength,isCaseSensitive:A.isCaseSensitive??cQ.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics??cQ.ignoreDiacritics,ignoreLocation:A.ignoreLocation??cQ.ignoreLocation});return{type:"fuzzy",search(e){return I.searchIn(e)}}}}],zPI=qCg.length,rMo="\0",cMo="|";function hMo(g){const A=[],I=g.length;let e=0;for(;e<I;){for(;e<I&&g[e]===" ";)e++;if(e>=I)break;let t=e;for(;t<I&&g[t]!==" "&&g[t]!=='"';)t++;if(t<I&&g[t]==='"'){for(t++;t<I;){if(g[t]==='"'){const o=t+1;if(o>=I||g[o]===" "){t++;break}if(g[o]==="$"&&(o+1>=I||g[o+1]===" ")){t+=2;break}}t++}A.push(g.substring(e,t)),e=t}else{for(;t<I&&g[t]!==" ";)t++;A.push(g.substring(e,t)),e=t}}return A}function XPI(g,A){const I=g.match(A);return I?I[1]:null}function lMo(g,A={}){return g.replace(/\\\|/g,rMo).split(cMo).map(I=>{const e=hMo(I.replace(/\u0000/g,"|").trim()).filter(o=>o&&!!o.trim()),t=[];for(let o=0,B=e.length;o<B;o+=1){const C=e[o];let Q=!1,i=-1;for(;!Q&&++i<zPI;){const E=qCg[i],n=XPI(C,E.multiRegex);n&&(t.push(E.create(n,A)),Q=!0)}if(!Q)for(i=-1;++i<zPI;){const E=qCg[i],n=XPI(C,E.singleRegex);if(n){t.push(E.create(n,A));break}}}return t})}var DMo=class{constructor(g,{isCaseSensitive:A=cQ.isCaseSensitive,ignoreDiacritics:I=cQ.ignoreDiacritics,includeMatches:e=cQ.includeMatches,minMatchCharLength:t=cQ.minMatchCharLength,ignoreLocation:o=cQ.ignoreLocation,findAllMatches:B=cQ.findAllMatches,location:C=cQ.location,threshold:Q=cQ.threshold,distance:i=cQ.distance}={}){this.query=null,this.options={isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e,minMatchCharLength:t,findAllMatches:B,ignoreLocation:o,location:C,threshold:Q,distance:i},g=A?g:g.toLowerCase(),g=I?aoA(g):g,this.pattern=g,this.query=lMo(this.pattern,this.options)}static condition(g,A){return A.useExtendedSearch}searchIn(g){const A=this.query;if(!A)return{isMatch:!1,score:1};const{includeMatches:I,isCaseSensitive:e,ignoreDiacritics:t}=this.options;g=e?g:g.toLowerCase(),g=t?aoA(g):g;let o=0;const B=[];let C=0,Q=!1;for(let i=0,E=A.length;i<E;i+=1){const n=A[i];B.length=0,o=0,Q=!1;for(let s=0,r=n.length;s<r;s+=1){const a=n[s],{isMatch:c,indices:h,score:l}=a.search(g);if(c)o+=1,C+=l,aMo(a.type)&&(Q=!0),I&&(sMo.has(a.type)?B.push(...h):B.push(h));else{C=0,o=0,B.length=0,Q=!1;break}}if(o){const s={isMatch:!0,score:C/o};return Q&&(s.hasInverse=!0),I&&(s.indices=vCg(B)),s}}return{isMatch:!1,score:1}}};const ZCg=[];function OCg(...g){ZCg.push(...g)}function apA(g,A){for(let I=0,e=ZCg.length;I<e;I+=1){const t=ZCg[I];if(t.condition(g,A))return new t(g,A)}return new TCg(g,A)}const rpA={AND:"$and",OR:"$or"},WCg={PATH:"$path",PATTERN:"$val"},VCg=g=>!!(g[rpA.AND]||g[rpA.OR]),dMo=g=>!!g[WCg.PATH],yMo=g=>!FL(g)&&TPI(g)&&!VCg(g),$PI=g=>({[rpA.AND]:Object.keys(g).map(A=>({[A]:g[A]}))});function A4I(g,A,{auto:I=!0}={}){const e=t=>{if(uG(t)){const Q={keyId:null,pattern:t};return I&&(Q.searcher=apA(t,A)),Q}const o=Object.keys(t),B=dMo(t);if(!B&&o.length>1&&!VCg(t))return e($PI(t));if(yMo(t)){const Q=B?t[WCg.PATH]:o[0],i=B?t[WCg.PATTERN]:t[Q];if(!uG(i))throw new Error(Xko(Q));const E={keyId:spA(Q),pattern:i};return I&&(E.searcher=apA(i,A)),E}const C={children:[],operator:o[0]};return o.forEach(Q=>{const i=t[Q];FL(i)&&i.forEach(E=>{C.children.push(e(E))})}),C};return VCg(g)||(g=$PI(g)),e(g)}function jCg(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){let I=1;return g.forEach(({key:e,norm:t,score:o})=>{const B=e?e.weight:null;I*=Math.pow(o===0&&B?Number.EPSILON:o,(B||1)*(A?1:t))}),I}function wMo(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){g.forEach(I=>{I.score=jCg(I.matches,{ignoreFieldNorm:A})})}var uMo=class{constructor(g,A){this.limit=g,this.heap=[],this.comparator=A}get size(){return this.heap.length}insert(g){this.size<this.limit?(this.heap.push(g),this._bubbleUp(this.size-1)):this.comparator(g,this.heap[0])<0&&(this.heap[0]=g,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(g){const A=this.heap;for(;g>0;){const I=g-1>>1;if(this.comparator(A[g],A[I])<=0)break;const e=A[g];A[g]=A[I],A[I]=e,g=I}}_sinkDown(g){const A=this.heap,I=A.length;let e=g;do{g=e;const t=2*g+1,o=2*g+2;if(t<I&&this.comparator(A[t],A[e])>0&&(e=t),o<I&&this.comparator(A[o],A[e])>0&&(e=o),e!==g){const B=A[g];A[g]=A[e],A[e]=B}}while(e!==g)}};function GMo(g){const A=[];return g.matches.forEach(I=>{if(!NS(I.indices)||!I.indices.length)return;const e={indices:I.indices,value:I.value};I.key&&(e.key=I.key.id),I.idx>-1&&(e.refIndex=I.idx),A.push(e)}),A}function mMo(g,A,{includeMatches:I=cQ.includeMatches,includeScore:e=cQ.includeScore}={}){return g.map(t=>{const{idx:o}=t,B={item:A[o],refIndex:o};return I&&(B.matches=GMo(t)),e&&(B.score=t.score),B})}const pMo=/[\p{L}\p{M}\p{N}_]+/gu,g4I=new WeakSet;function kMo(g){g4I.has(g)||(g4I.add(g),console.warn(`[Fuse] tokenize regex ${g} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function MMo(g){if(typeof g=="function"){let A=!1;return I=>{const e=g(I);if(!A&&(A=!0,!Array.isArray(e)||e.some(t=>typeof t!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(e)?"array containing non-strings":typeof e}.`);return e}}return g instanceof RegExp?(g.global||kMo(g),A=>A.match(g)||[]):A=>A.match(pMo)||[]}function zCg({isCaseSensitive:g=!1,ignoreDiacritics:A=!1,tokenize:I}={}){const e=MMo(I);return{tokenize(t){return g||(t=t.toLowerCase()),A&&(t=aoA(t)),e(t)}}}var SMo=class{static condition(g,A){return A.useTokenSearch}constructor(g,A){this.options=A,this.analyzer=zCg({isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,tokenize:A.tokenize});const I=this.analyzer.tokenize(g),{df:e,fieldCount:t}=A._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const o of I){this.termSearchers.push(new TCg(o,{location:A.location,threshold:A.threshold,distance:A.distance,includeMatches:A.includeMatches,findAllMatches:A.findAllMatches,minMatchCharLength:A.minMatchCharLength,isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,ignoreLocation:!0}));const B=e.get(o)||0,C=Math.log(1+(t-B+.5)/(B+.5));this.idfWeights.push(C)}this.combineAll=A.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(g){if(!this.termSearchers.length)return{isMatch:!1,score:1};const A=[];let I=0,e=0,t=0,o=0;const B=this.combineAll&&!this.useMask?new Set:null;for(let i=0;i<this.termSearchers.length;i++){const E=this.termSearchers[i].searchIn(g),n=this.idfWeights[i];e+=n,E.isMatch&&(t++,I+=n*(1-E.score),E.indices&&A.push(...E.indices),this.combineAll&&(this.useMask?o|=1<<i:B.add(i)))}if(t===0)return{isMatch:!1,score:1};const C=e>0?1-I/e:0,Q={isMatch:!0,score:Math.max(.001,C)};return this.options.includeMatches&&A.length&&(Q.indices=vCg(A)),this.combineAll&&(this.useMask?Q.matchedMask=o:Q.matchedTerms=B,Q.termCount=this.numTerms),Q}};function XCg(g,A,I,e){const t=e.tokenize(A);if(!t.length)return;g.fieldCount++,g.docFieldCount.set(I,(g.docFieldCount.get(I)||0)+1);const o=new Set(t);let B=g.docTermFieldHits.get(I);B||(B=new Map,g.docTermFieldHits.set(I,B));for(const C of o)B.set(C,(B.get(C)||0)+1),g.df.set(C,(g.df.get(C)||0)+1)}function I4I(g,A,I,e){const{i:t,v:o,$:B}=A;if(o!==void 0){XCg(g,o,t,e);return}if(B)for(let C=0;C<I;C++){const Q=B[C];if(Q)if(Array.isArray(Q))for(const i of Q)XCg(g,i.v,t,e);else XCg(g,Q.v,t,e)}}function fMo(g,A,I){const e={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const t of g)I4I(e,t,A,I);return e}function RMo(g,A,I,e){I4I(g,A,I,e)}function NMo(g,A){const I=g.docFieldCount.get(A);if(I===void 0)return;g.fieldCount-=I,g.docFieldCount.delete(A);const e=g.docTermFieldHits.get(A);if(e){for(const[t,o]of e){const B=(g.df.get(t)||0)-o;B<=0?g.df.delete(t):g.df.set(t,B)}g.docTermFieldHits.delete(A)}}function e4I(g,A){if(A.length===0)return;const I=Array.from(new Set(A)).sort((C,Q)=>C-Q);for(const C of I)NMo(g,C);const e=C=>{let Q=0,i=I.length;for(;Q<i;){const E=Q+i>>>1;I[E]<C?Q=E+1:i=E}return C-Q},t=I[0],o=new Map;for(const[C,Q]of g.docFieldCount)o.set(C>t?e(C):C,Q);g.docFieldCount=o;const B=new Map;for(const[C,Q]of g.docTermFieldHits)B.set(C>t?e(C):C,Q);g.docTermFieldHits=B}var UL=class{constructor(g,A,I){this.options={...cQ,...A},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new eMo(this.options.keys),this._docs=g,this._myIndex=null,this._invertedIndex=null,this.setCollection(g,I),this._lastQuery=null,this._lastSearcher=null}_getSearcher(g){if(this._lastQuery===g)return this._lastSearcher;const A=apA(g,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=g,this._lastSearcher=A,A}setCollection(g,A){if(this._docs=g,A&&!(A instanceof HCg))throw new Error(zko);if(this._myIndex=A||VPI(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const I=zCg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=fMo(this._myIndex.records,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}add(g){if(!NS(g))return;this._docs.push(g);const A=this._myIndex.add(g,this._docs.length-1);if(this._invertedIndex&&A){const I=zCg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});RMo(this._invertedIndex,A,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}remove(g=()=>!1){const A=[],I=[];for(let e=0,t=this._docs.length;e<t;e+=1)g(this._docs[e],e)&&(A.push(this._docs[e]),I.push(e));if(I.length){this._invertedIndex&&e4I(this._invertedIndex,I);const e=new Set(I);this._docs=this._docs.filter((t,o)=>!e.has(o)),this._myIndex.removeAll(I),this._invalidateSearcherCache()}return A}removeAt(g){if(!Number.isInteger(g)||g<0||g>=this._docs.length)throw new Error(bCg);this._invertedIndex&&e4I(this._invertedIndex,[g]);const A=this._docs.splice(g,1)[0];return this._myIndex.removeAt(g),this._invalidateSearcherCache(),A}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(g=>this._keyStore.get(g.id)||g)}search(g,A){const{limit:I=-1}=A||{},{includeMatches:e,includeScore:t,shouldSort:o,sortFn:B,ignoreFieldNorm:C}=this.options;if(uG(g)&&!g.trim()){let s=this._docs.map((r,a)=>({item:r,refIndex:a}));return EpA(I)&&I>-1&&(s=s.slice(0,I)),s}const Q=o&&EpA(I)&&I>0&&uG(g),i=B,E=(s,r)=>i(s,r)||s.idx-r.idx;let n;if(Q){const s=new uMo(I,E);uG(this._docs[0])?this._searchStringList(g,{heap:s,ignoreFieldNorm:C}):this._searchObjectList(g,{heap:s,ignoreFieldNorm:C}),n=s.extractSorted()}else n=uG(g)?uG(this._docs[0])?this._searchStringList(g):this._searchObjectList(g):this._searchLogical(g),wMo(n,{ignoreFieldNorm:C}),o&&n.sort(uG(g)?E:i),EpA(I)&&I>-1&&(n=n.slice(0,I));return mMo(n,this._docs,{includeMatches:e,includeScore:t})}_searchStringList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=A?null:[];return o.forEach(({v:C,i:Q,n:i})=>{if(!NS(C))return;const E=e.searchIn(C);if(E.isMatch){const n={score:E.score,value:C,norm:i,indices:E.indices};t&&(n.matchedMask=E.matchedMask,n.matchedTerms=E.matchedTerms,n.termCount=E.termCount);const s=[n];if(!t||this._coversAllTokens(s)){const r={item:C,idx:Q,matches:s};A?(r.score=jCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):B.push(r)}}}),B}_searchLogical(g){const A=A4I(g,this.options),I=this._normalizedKeys(),e=(C,Q,i)=>{if(!("children"in C)){const{keyId:r,searcher:a}=C;let c;return r===null?(c=[],I.forEach((h,l)=>{c.push(...this._findMatches({key:h,value:Q[l],searcher:a}))})):c=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(Q,r),searcher:a}),c&&c.length?[{idx:i,item:Q,matches:c}]:[]}const{children:E,operator:n}=C,s=[];for(let r=0,a=E.length;r<a;r+=1){const c=E[r],h=e(c,Q,i);if(h.length)s.push(...h);else if(n===rpA.AND)return[]}return s},t=this._myIndex.records,o=new Map,B=[];return t.forEach(({$:C,i:Q})=>{if(NS(C)){const i=e(A,C,Q);i.length&&(o.has(Q)||(o.set(Q,{idx:Q,item:C,matches:[]}),B.push(o.get(Q))),i.forEach(({matches:E})=>{o.get(Q).matches.push(...E)}))}}),B}_searchObjectList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=this._normalizedKeys(),C=A?null:[];return o.forEach(({$:Q,i})=>{if(!NS(Q))return;const E=[];let n=!1,s=!1;if(B.forEach((r,a)=>{const c=this._findMatches({key:r,value:Q[a],searcher:e});c.length?(E.push(...c),c[0].hasInverse&&(s=!0)):n=!0}),!(s&&n)&&E.length&&(!t||this._coversAllTokens(E))){const r={idx:i,item:Q,matches:E};A?(r.score=jCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):C.push(r)}}),C}_findMatches({key:g,value:A,searcher:I}){if(!NS(A))return[];const e=[];if(FL(A))A.forEach(({v:t,i:o,n:B})=>{if(!NS(t))return;const C=I.searchIn(t);if(C.isMatch){const Q={score:C.score,key:g,value:t,idx:o,norm:B,indices:C.indices,hasInverse:C.hasInverse};C.termCount!==void 0&&(Q.matchedMask=C.matchedMask,Q.matchedTerms=C.matchedTerms,Q.termCount=C.termCount),e.push(Q)}});else{const{v:t,n:o}=A,B=I.searchIn(t);if(B.isMatch){const C={score:B.score,key:g,value:t,norm:o,indices:B.indices,hasInverse:B.hasInverse};B.termCount!==void 0&&(C.matchedMask=B.matchedMask,C.matchedTerms=B.matchedTerms,C.termCount=B.termCount),e.push(C)}}return e}_coversAllTokens(g){const A=g.length?g[0].termCount:void 0;if(A===void 0)return!0;if(A<=31){let e=0;for(let t=0;t<g.length;t++)e|=g[t].matchedMask||0;return e===2**A-1}const I=new Set;for(let e=0;e<g.length;e++){const t=g[e].matchedTerms;if(t)for(const o of t)I.add(o)}return I.size===A}};UL.version="7.5.0",UL.createIndex=VPI,UL.parseIndex=CMo,UL.config=cQ,UL.match=function(g,A,I){if(I&&I.useTokenSearch)throw new Error(IMo);return apA(g,{...cQ,...I}).searchIn(A)},UL.parseQuery=A4I,OCg(DMo),OCg(SMo),UL.use=function(...g){g.forEach(A=>OCg(A))};var xMo=UL;const FMo="https://kicad-mod-cache.tscircuit.com";let $Cg=null,roA=null,AQg=null;const UMo=async()=>$Cg||roA||(roA=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(g=>g.json()).then(g=>($Cg=g,roA=null,g)),roA),JMo=async(g,A=20)=>{const I=await UMo();return AQg||(AQg=new xMo(I)),AQg.search(g).slice(0,A).map(e=>e.item)},PMo=g=>{const A=g.replace(".pretty/","/").replace(".kicad_mod",""),I=`kicad:${A}`;return{path:g,qualifiedName:I,description:A}},KMo=g=>g.replace(/^\/+/,"").split("/").map(A=>encodeURIComponent(A)).join("/"),LMo=async g=>{const A=await fetch(`${FMo}/${KMo(g)}`);if(!A.ok)throw new Error(`KiCad footprint fetch failed: ${A.status}`);const I=await A.text(),{KicadFootprintToCircuitJsonConverter:e}=await RS("kicad-to-circuit-json"),t=new e;return t.addFile(g.split("/").pop()??"selected-footprint.kicad_mod",I),t.runUntilFinished(),t.getOutput()},t4I=g=>g?.source==="jlcpcb"||g?.source==="kicad",YMo=async(g,A)=>{if(g.source==="jlcpcb")return Oko(g.component.partNumber,A?.jlcpcb);if(g.source==="kicad")return LMo(g.footprint.path);throw new Error("Footprint preview is not available for this source")},_Mo=({query:g,placeholder:A,isSearching:I,onQueryChange:e,onSubmit:t})=>{const o=z.useCallback(B=>{B.key==="Enter"&&(B.preventDefault(),t())},[t]);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[T.jsxs("div",{className:"rf-relative rf-flex-grow",children:[T.jsx(Oog,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),T.jsx(dCg,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:g,onChange:B=>e(B.target.value),onKeyDown:o})]}),T.jsx(si,{onClick:t,disabled:I||g.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:I?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):T.jsxs(T.Fragment,{children:[T.jsx(Oog,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),T.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},bMo=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}),HMo=g=>bMo.format(g),o4I=g=>{switch(g.source){case"tscircuit.com":{const A=g.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${g.component.lcscId}`;case"kicad":return`kicad-${g.footprint.path}`;default:return"unknown"}},vMo=g=>{switch(g.source){case"tscircuit.com":return g.package.unscoped_name;case"jlcpcb":return g.component.isDirectLookup?g.component.partNumber:g.component.manufacturer;case"kicad":return g.footprint.qualifiedName}},TMo=g=>{switch(g.source){case"tscircuit.com":return g.package.description||(g.package.org_owner_tscircuit_handle?`Component by ${g.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return g.component.description;case"kicad":return g.footprint.description}},qMo=g=>{switch(g.source){case"tscircuit.com":return g.package.name;case"jlcpcb":return g.component.isDirectLookup?void 0:g.component.partNumber;case"kicad":return}},ZMo=({results:g,selected:A,onSelect:I,onShowDetails:e})=>{const t=A?o4I(A):null;return T.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:g.map(o=>{const B=o4I(o),C=t===B,Q=vMo(o),i=TMo(o),E=qMo(o),n=o.source==="jlcpcb"?o.component.stock:null,s=o.source==="jlcpcb"?o.component.price:null,r=o.source==="jlcpcb"?o.component.isBasic:null,a=o.source==="jlcpcb"?o.component.isDirectLookup:!1;return T.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${C?"rf-bg-zinc-100":""}`,onClick:()=>I(o),children:[T.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[T.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[T.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[Q,o.source==="jlcpcb"&&r!=null&&T.jsx("span",{className:`rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 ${r?"rf-bg-green-100 rf-text-green-700":"rf-bg-orange-100 rf-text-orange-700"}`,children:r?"Basic":"Extended"}),a&&T.jsx("span",{className:"rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 rf-bg-blue-100 rf-text-blue-700",children:"Direct lookup"}),o.source==="tscircuit.com"&&o.package.is_private&&T.jsx(Eco,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[n.toLocaleString()," in stock"]}):null]}),T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[E?T.jsx("span",{className:"rf-mr-2",children:E}):null,i]})]}),T.jsxs("div",{children:[o.source==="tscircuit.com"&&e?T.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:T.jsx(si,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:c=>{c.stopPropagation(),e(o)},children:"See Details"})}):o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[n.toLocaleString()," in stock"]}):null,s!=null&&T.jsx("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 rf-text-right",children:HMo(s)})]})]},B)})})},OMo=({circuitJson:g,error:A,isLoading:I,height:e})=>T.jsx("section",{className:"rf-flex rf-min-w-0 rf-items-center rf-justify-center",style:{height:e},children:I?T.jsxs("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-gap-2 rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:[T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),"Loading preview..."]}):A?T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-p-4",style:{height:e},children:T.jsxs("div",{className:"rf-flex rf-max-w-[320px] rf-items-start rf-gap-2 rf-text-sm rf-text-zinc-300",children:[T.jsx(qog,{className:"rf-mt-0.5 rf-h-4 rf-w-4 rf-flex-shrink-0"}),T.jsx("span",{children:A})]})}):g?T.jsx("div",{className:"rf-w-full rf-min-w-0 rf-overflow-hidden",children:T.jsx(Hog,{circuitJson:g,height:e,allowEditing:!1,clickToInteractEnabled:!1,focusOnHover:!1,disablePcbGroups:!0})}):T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:"No preview"})}),B4I={importComponentDialog:101,importComponentDetailsDialog:102},WMo=({packageResult:g,isOpen:A,onOpenChange:I,isLoading:e,details:t,previewTab:o,onPreviewTabChange:B,isSubmitting:C,onImport:Q})=>{const i=g?.package??null,E=i?.latest_pcb_preview_image_url,n=i?.latest_sch_preview_image_url,s=i?.latest_cad_preview_image_url,r=i?.unscoped_name?.split("/").pop()??i?.unscoped_name,a=i?.org_owner_tscircuit_handle??void 0,c=a?`https://tscircuit.com/${a}`:void 0,h=a&&r?`https://tscircuit.com/${a}/${r}`:void 0;return T.jsx(Yb,{open:A,onOpenChange:I,children:T.jsxs(RL,{showOverlay:!1,style:{width:"calc(100vw - 2rem)",zIndex:B4I.importComponentDetailsDialog},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[T.jsx(NL,{className:"rf-pb-4 rf-border-b",children:T.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx(xL,{className:"rf-text-xl rf-font-semibold rf-truncate",children:r}),T.jsx(_b,{children:i?.description})]})})}),T.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[a?T.jsxs("div",{children:[T.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),T.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:c?T.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:a}):a})]}):null,(s||E||n)&&T.jsx(T.Fragment,{children:T.jsxs("div",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),T.jsxs(VvA,{value:o,onValueChange:l=>B(l),children:[T.jsxs(LDA,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[E&&T.jsx(mx,{value:"pcb",children:"PCB"}),n&&T.jsx(mx,{value:"schematic",children:"Schematic"}),s&&T.jsx(mx,{value:"3d",children:"3D"})]}),T.jsxs("div",{className:"rf-mt-4",children:[T.jsx(xy,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:E?T.jsx("img",{src:E,alt:`${r??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(xy,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:n?T.jsx("img",{src:n,alt:`${r??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(xy,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:s?T.jsx("img",{src:s,alt:`${r??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),t?.ai_description?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:t.ai_description})})]}):null,t?.ai_usage_instructions?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:t.ai_usage_instructions})})]}):null,e?T.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),T.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),T.jsxs(YO,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[T.jsx("div",{className:"rf-flex-1",children:h?T.jsxs(si,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(h,"_blank"),children:[T.jsx(eco,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),T.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:()=>I(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),T.jsx(si,{onClick:Q,disabled:C,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:C?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},VMo=()=>{const[g,A]=z.useState(null),[I,e]=z.useState(!1),t=z.useCallback(async(B,C)=>{e(!0);try{const Q=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${B}/${C}`)}`);if(!Q.ok)throw new Error(`Failed to load package details: ${Q.status}`);const i=await Q.json();A(i.package??null)}catch(Q){console.error("Failed to fetch package details",Q),A(null)}finally{e(!1)}},[]),o=z.useCallback(()=>{A(null),e(!1)},[]);return{details:g,isLoading:I,fetchDetails:t,reset:o}},jMo=(g,A)=>{const[I,e]=z.useState({circuitJson:null,error:null,isLoading:!1});return z.useEffect(()=>{if(!g||!t4I(g)){e({circuitJson:null,error:null,isLoading:!1});return}let t=!1;return e({circuitJson:null,error:null,isLoading:!0}),YMo(g,A).then(o=>{t||e({circuitJson:o,error:null,isLoading:!1})}).catch(o=>{t||e({circuitJson:null,error:o instanceof Error?o.message:"Failed to load footprint preview",isLoading:!1})}),()=>{t=!0}},[g,A]),I},zMo=async(g,A)=>{const I={"Content-Type":"application/json"};A&&(I.Authorization=`Bearer ${A}`);const e=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:I,body:JSON.stringify({query:g})});if(!e.ok)throw new Error(`tscircuit registry error: ${e.status}`);return(await e.json()).packages??[]},XMo=({sessionToken:g})=>{const[A,I]=z.useState([]),[e,t]=z.useState(!1),[o,B]=z.useState(null),[C,Q]=z.useState(!1),i=z.useCallback(async n=>{const s=n.trim();if(!s)return[];t(!0),B(null);try{const a=(await zMo(s,g)).map(c=>({source:"tscircuit.com",package:c}));return I(a),a}catch(r){return console.error("Error searching tscircuit packages",r),I([]),B(r instanceof Error?r.message:"Failed to search tscircuit packages"),[]}finally{t(!1),Q(!0)}},[g]),E=z.useCallback(()=>{I([]),t(!1),B(null),Q(!1)},[]);return{results:A,isSearching:e,error:o,hasSearched:C,search:i,reset:E}},$Mo=g=>{const A=/^C(\d+)$/i.exec(g.trim());if(!A)return null;const I=Number(A[1]);if(!Number.isSafeInteger(I))return null;const e=`C${A[1]}`;return{source:"jlcpcb",component:{lcscId:I,manufacturer:e,partNumber:e,description:"Import directly from EasyEDA; stock and availability are unknown",package:"",isDirectLookup:!0}}},C4I=(g,A)=>{const I=$Mo(g);return I?A.some(t=>t.component.partNumber.toUpperCase()===I.component.partNumber)?A:[I,...A]:A},ASo=g=>{const A=g.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},gSo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=ASo(E);if(!n)return[];e(!0),o(null);try{const s=await Tko(n,10),r=C4I(E,s.map(a=>({source:"jlcpcb",component:qko(a)})));return A(r),r}catch(s){console.error("Error searching JLCPCB components",s);const r=C4I(E,[]);return A(r),o(r.length>0?null:s instanceof Error?s.message:"Failed to search JLCPCB components"),r}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},ISo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=E.trim();if(!n)return[];e(!0),o(null);try{const r=(await JMo(n,20)).map(a=>({source:"kicad",footprint:PMo(a)}));return A(r),r}catch(s){return console.error("Error searching KiCad footprints",s),A([]),o(s instanceof Error?s.message:"Failed to search KiCad footprints"),[]}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},eSo=({onTscircuitPackageSelected:g,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:I})=>{const e=[];return g&&e.push("tscircuit.com"),A&&e.push("jlcpcb"),I&&e.push("kicad"),e},tSo=({isOpen:g,onClose:A,jlcpcbProxyRequestHeaders:I,onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o,jlcpcbProxyApiBase:B,tscircuitSessionToken:C})=>{ioA();const Q=z.useMemo(()=>eSo({onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o}),[e,t,o]),i=Q.length>0,E=Q.length===1,[n,s]=z.useState(Q[0]??"tscircuit.com"),[r,a]=z.useState(""),[c,h]=z.useState(null),{results:l,isSearching:D,error:d,hasSearched:y,search:w,reset:u}=XMo({sessionToken:C}),{results:G,isSearching:m,error:p,hasSearched:k,search:S,reset:R}=gSo(),{results:x,isSearching:N,error:U,hasSearched:K,search:Y,reset:_}=ISo(),{details:q,isLoading:j,fetchDetails:W,reset:Z}=VMo(),[$,eA]=z.useState(null),[IA,QA]=z.useState(!1),[sA,lA]=z.useState("pcb"),[BA,hA]=z.useState(null),[nA,aA]=z.useState(!1),SA=z.useMemo(()=>({jlcpcb:{headers:I,apiBase:B}}),[B,I]),{circuitJson:FA,error:rA,isLoading:NA}=jMo(c,SA),RA=t4I(c);z.useEffect(()=>{hA(null)},[c]);const xA=z.useCallback(()=>{u(),R(),_(),h(null)},[R,_,u]);z.useEffect(()=>{g||(xA(),a(""),QA(!1),eA(null),hA(null))},[g,xA]),z.useEffect(()=>{a(""),h(null),n==="tscircuit.com"?u():n==="jlcpcb"?R():n==="kicad"&&_()},[n,R,_,u]);const bA=kA=>{h(kA),eA(kA),lA("pcb"),QA(!0),Z();const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(OA&&$A){const og=$A.split("/").pop()??$A;W(OA,og)}},JA=async()=>{r.trim()&&(h(null),n==="tscircuit.com"?await w(r):n==="jlcpcb"?await S(r):n==="kicad"&&await Y(r))},mA=async kA=>{try{if(hA(null),aA(!0),kA.source==="kicad"){if(!e)throw new Error("KiCad handler not provided");await e({result:kA,footprint:kA.footprint.qualifiedName})}else if(kA.source==="jlcpcb"){if(!o)throw new Error("JLCPCB handler not provided");const OA=await Zko(kA.component.partNumber,{headers:I,apiBase:B});await o({result:kA,tsx:OA})}else if(kA.source==="tscircuit.com"){if(!t)throw new Error("tscircuit package handler not provided");const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(!OA||!$A)throw new Error("Missing package metadata");const og=$A.split("/").pop()??$A,dg=`@tsci/${OA}.${og}`;await t({result:kA,fullPackageName:dg})}return!0}catch(OA){return console.error("Failed to import component",OA),hA(OA instanceof Error?OA.message:"Failed to import component"),!1}finally{aA(!1)}};let LA=[],dA=!1,HA=null,WA=!1;n==="tscircuit.com"?(LA=l,dA=D,HA=d,WA=y):n==="jlcpcb"?(LA=G,dA=m,HA=p,WA=k):n==="kicad"&&(LA=x,dA=N,HA=U,WA=K);const Qg=async()=>{if(!c)return;await mA(c)&&(A(),xA(),a(""))},YA=kA=>{kA||A()},uA=kA=>{QA(kA),kA||eA(null)};return T.jsxs(Yb,{open:g,onOpenChange:YA,children:[T.jsxs(RL,{style:{width:"calc(100vw - 2rem)",maxWidth:RA?"min(1120px, calc(100vw - 2rem))":"min(672px, calc(100vw - 2rem))",zIndex:B4I.importComponentDialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[T.jsxs(NL,{children:[T.jsxs(xL,{className:"rf-text-lg sm:rf-text-xl",children:["Import ",E?ipA[n].label:""," ","Component"]}),T.jsx(_b,{className:"rf-text-sm",children:i?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),i?T.jsxs(VvA,{value:n,onValueChange:kA=>s(kA),className:"rf-min-w-0 rf-w-full",children:[!E&&T.jsx(LDA,{className:"rf-flex rf-w-full rf-gap-2",children:Q.map(kA=>T.jsx(mx,{value:kA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:ipA[kA].label},kA))}),T.jsxs("div",{className:"rf-min-w-0",style:RA?{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(360px, 0.95fr)",gap:"1.5rem",alignItems:"start"}:void 0,children:[T.jsxs("div",{className:"rf-min-w-0",children:[T.jsx(_Mo,{query:r,placeholder:ipA[n].placeholder,isSearching:dA,onQueryChange:a,onSubmit:JA}),T.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:dA?T.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[T.jsx(mS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),T.jsx("p",{children:"Searching..."})]}):LA.length>0?T.jsx(ZMo,{results:LA,selected:c,onSelect:h,onShowDetails:n==="tscircuit.com"?bA:void 0}):T.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:HA?`Error: ${HA}`:WA?ipA[n].emptyMessage:"Enter a search term to find components"})})]}),RA?T.jsx("div",{className:"rf-mt-4",children:T.jsx(OMo,{circuitJson:FA,error:rA,isLoading:NA,height:325})}):null]})]}):null,BA?T.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:BA}):null,T.jsxs(YO,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),T.jsx(si,{onClick:Qg,disabled:!c||nA,className:"rf-order-1 sm:rf-order-2",children:nA?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),T.jsx(WMo,{packageResult:$,isOpen:IA,onOpenChange:uA,isLoading:j,details:q,previewTab:sA,onPreviewTabChange:kA=>lA(kA),isSubmitting:nA,onImport:()=>{$&&mA($).then(kA=>{kA&&(QA(!1),A(),xA(),a(""))})}})]})},oSo=g=>{const A=g.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},Q4I=g=>{const A=Kc(B=>B.pushEvent),I=Kc(B=>B.upsertFile),e=async({result:B,fullPackageName:C})=>{const i=B.package.unscoped_name??B.package.name;await LC.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:C}),{loading:`Requesting install for "${i}"`,success:`Install requested for "${i}"`,error:E=>`Failed to request install: ${E instanceof Error?E.message:String(E)}`})},t=async({footprint:B})=>{await LC.promise(navigator.clipboard.writeText(B),{loading:`Copying "${B}"`,success:`Copied "${B}" to clipboard`,error:C=>`Failed to copy footprint: ${C instanceof Error?C.message:String(C)}`})},o=async({result:B,tsx:C})=>{const i=`imports/${oSo(C)}.tsx`;await LC.promise(I(i,C),{loading:`Importing ${B.component.partNumber}`,success:`Imported to "${i}"`,error:E=>`Failed to import component: ${E instanceof Error?E.message:String(E)}`})};return T.jsx(tSo,{...g,onTscircuitPackageSelected:e,onKicadStringSelected:t,onJlcpcbComponentTsxLoaded:o})};Q4I.displayName="ImportComponentDialogForCli";const BSo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToAltiumZip:I}=await Promise.resolve().then(()=>kTo),e=await I(g,A);return new Blob([new Uint8Array(e)],{type:"application/zip"})},CSo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const I=await BSo({circuitJson:g,projectName:A});bk(I,{fileName:`${A}_altium_project.zip`})})(),{loading:"Generating Altium project...",success:"Altium project ZIP ready",error:I=>`Failed to generate Altium project: ${I instanceof Error?I.message:String(I)}`})};var gQg={exports:{}},i4I;function QSo(){return i4I||(i4I=1,(function(g,A){var I={env:{},version:""};(function(e){g.exports=e()})(function(){return(function e(t,o,B){function C(E,n){if(!o[E]){if(!t[E]){var s=typeof aU=="function"&&aU;if(!n&&s)return s(E,!0);if(Q)return Q(E,!0);var r=new Error("Cannot find module '"+E+"'");throw r.code="MODULE_NOT_FOUND",r}var a=o[E]={exports:{}};t[E][0].call(a.exports,function(c){var h=t[E][1][c];return C(h||c)},a,a.exports,e,t,o,B)}return o[E].exports}for(var Q=typeof aU=="function"&&aU,i=0;i<B.length;i++)C(B[i]);return C})({1:[function(e,t,o){var B=e("./utils"),C=e("./support"),Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(i){for(var E,n,s,r,a,c,h,l=[],D=0,d=i.length,y=d,w=B.getTypeOf(i)!=="string";D<i.length;)y=d-D,s=w?(E=i[D++],n=D<d?i[D++]:0,D<d?i[D++]:0):(E=i.charCodeAt(D++),n=D<d?i.charCodeAt(D++):0,D<d?i.charCodeAt(D++):0),r=E>>2,a=(3&E)<<4|n>>4,c=1<y?(15&n)<<2|s>>6:64,h=2<y?63&s:64,l.push(Q.charAt(r)+Q.charAt(a)+Q.charAt(c)+Q.charAt(h));return l.join("")},o.decode=function(i){var E,n,s,r,a,c,h=0,l=0,D="data:";if(i.substr(0,D.length)===D)throw new Error("Invalid base64 input, it looks like a data url.");var d,y=3*(i=i.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(i.charAt(i.length-1)===Q.charAt(64)&&y--,i.charAt(i.length-2)===Q.charAt(64)&&y--,y%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=C.uint8array?new Uint8Array(0|y):new Array(0|y);h<i.length;)E=Q.indexOf(i.charAt(h++))<<2|(r=Q.indexOf(i.charAt(h++)))>>4,n=(15&r)<<4|(a=Q.indexOf(i.charAt(h++)))>>2,s=(3&a)<<6|(c=Q.indexOf(i.charAt(h++))),d[l++]=E,a!==64&&(d[l++]=n),c!==64&&(d[l++]=s);return d}},{"./support":30,"./utils":32}],2:[function(e,t,o){var B=e("./external"),C=e("./stream/DataWorker"),Q=e("./stream/Crc32Probe"),i=e("./stream/DataLengthProbe");function E(n,s,r,a,c){this.compressedSize=n,this.uncompressedSize=s,this.crc32=r,this.compression=a,this.compressedContent=c}E.prototype={getContentWorker:function(){var n=new C(B.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),s=this;return n.on("end",function(){if(this.streamInfo.data_length!==s.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),n},getCompressedWorker:function(){return new C(B.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},E.createWorkerFrom=function(n,s,r){return n.pipe(new Q).pipe(new i("uncompressedSize")).pipe(s.compressWorker(r)).pipe(new i("compressedSize")).withStreamInfo("compression",s)},t.exports=E},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,o){var B=e("./stream/GenericWorker");o.STORE={magic:"\0\0",compressWorker:function(){return new B("STORE compression")},uncompressWorker:function(){return new B("STORE decompression")}},o.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,o){var B=e("./utils"),C=(function(){for(var Q,i=[],E=0;E<256;E++){Q=E;for(var n=0;n<8;n++)Q=1&Q?3988292384^Q>>>1:Q>>>1;i[E]=Q}return i})();t.exports=function(Q,i){return Q!==void 0&&Q.length?B.getTypeOf(Q)!=="string"?(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n[h])];return-1^E})(0|i,Q,Q.length,0):(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n.charCodeAt(h))];return-1^E})(0|i,Q,Q.length,0):0}},{"./utils":32}],5:[function(e,t,o){o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},{}],6:[function(e,t,o){var B=null;B=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:B}},{lie:37}],7:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",C=e("pako"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=B?"uint8array":"array";function n(s,r){i.call(this,"FlateWorker/"+s),this._pako=null,this._pakoAction=s,this._pakoOptions=r,this.meta={}}o.magic="\b\0",Q.inherits(n,i),n.prototype.processChunk=function(s){this.meta=s.meta,this._pako===null&&this._createPako(),this._pako.push(Q.transformTo(E,s.data),!1)},n.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new C[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var s=this;this._pako.onData=function(r){s.push({data:r,meta:s.meta})}},o.compressWorker=function(s){return new n("Deflate",s)},o.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,o){function B(a,c){var h,l="";for(h=0;h<c;h++)l+=String.fromCharCode(255&a),a>>>=8;return l}function C(a,c,h,l,D,d){var y,w,u=a.file,G=a.compression,m=d!==E.utf8encode,p=Q.transformTo("string",d(u.name)),k=Q.transformTo("string",E.utf8encode(u.name)),S=u.comment,R=Q.transformTo("string",d(S)),x=Q.transformTo("string",E.utf8encode(S)),N=k.length!==u.name.length,U=x.length!==S.length,K="",Y="",_="",q=u.dir,j=u.date,W={crc32:0,compressedSize:0,uncompressedSize:0};c&&!h||(W.crc32=a.crc32,W.compressedSize=a.compressedSize,W.uncompressedSize=a.uncompressedSize);var Z=0;c&&(Z|=8),m||!N&&!U||(Z|=2048);var $=0,eA=0;q&&($|=16),D==="UNIX"?(eA=798,$|=(function(QA,sA){var lA=QA;return QA||(lA=sA?16893:33204),(65535&lA)<<16})(u.unixPermissions,q)):(eA=20,$|=(function(QA){return 63&(QA||0)})(u.dosPermissions)),y=j.getUTCHours(),y<<=6,y|=j.getUTCMinutes(),y<<=5,y|=j.getUTCSeconds()/2,w=j.getUTCFullYear()-1980,w<<=4,w|=j.getUTCMonth()+1,w<<=5,w|=j.getUTCDate(),N&&(Y=B(1,1)+B(n(p),4)+k,K+="up"+B(Y.length,2)+Y),U&&(_=B(1,1)+B(n(R),4)+x,K+="uc"+B(_.length,2)+_);var IA="";return IA+=`
|
|
5671
|
+
`,n=new Blob([E],{type:"text/plain"}),s=URL.createObjectURL(n),r=document.createElement("a");r.href=s,r.download=`${i}.test.ts`,r.click(),URL.revokeObjectURL(s)}catch(Q){alert(`Error generating test.ts for ${g.getSolverName()}: ${Q instanceof Error?Q.message:String(Q)}`)}e(!1)};return T.jsxs("div",{className:`relative ${A}`,ref:t,children:[T.jsx("button",{className:"px-2 py-1 rounded text-xs cursor-pointer",onClick:()=>e(!I),title:`Download options for ${g.getSolverName()}`,children:g.getSolverName()}),I&&T.jsxs("div",{className:"absolute top-full left-0 mt-1 bg-white border border-gray-300 rounded shadow-lg z-10 min-w-[150px]",children:[T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:o,children:"Download JSON"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:B,children:"Download page.tsx"}),T.jsx("button",{className:"w-full text-left px-3 py-2 hover:bg-gray-100 text-xs",onClick:C,children:"Download test.ts"})]})]})},cPI=g=>g.activeSubSolver?[g,...cPI(g.activeSubSolver)]:[g],Npo=({solver:g})=>{const A=cPI(g);return T.jsx("div",{className:"flex gap-1 items-center text-sm pt-1",children:A.map((I,e)=>T.jsxs("div",{className:"flex items-center",children:[e>0&&T.jsx("span",{className:"text-gray-400 mx-1",children:"→"}),T.jsx(Rpo,{solver:I})]},I.getSolverName()))})},xpo=({solver:g,triggerRender:A,animationSpeed:I=25,renderer:e,onRendererChange:t,onAnimationSpeedChange:o,onDownloadVisualization:B,onSolverStarted:C,onSolverCompleted:Q})=>{const[i,E]=z.useReducer(m=>!m,!1),n=z.useRef(void 0),s=z.useRef(null),r="solver-debugger-last-iteration",[a,c]=z.useState(null),h=z.useRef(null),l=z.useMemo(()=>[{label:"Slow",value:250,description:"250ms"},{label:"Normal",value:100,description:"100ms"},{label:"Fast",value:10,description:"10ms"},{label:"Fast (2x)",value:5,description:"5ms"},{label:"Fast (10x)",value:1,description:"1ms"},{label:"Fast 20x",value:.5,description:"2 steps / 1ms"},{label:"Fast 100x",value:.1,description:"10 steps / 1ms"}],[]),D=()=>{const m=Math.max(1,I),p=I<1?Math.round(1/I):1;n.current=setInterval(()=>{if(g.solved||g.failed){n.current&&(clearInterval(n.current),n.current=void 0),E(),A(),Q&&g.solved&&Q(g);return}for(let k=0;k<p&&!(g.solved||g.failed);k++)g.step();A()},m)},d=()=>{n.current&&(clearInterval(n.current),n.current=void 0)},y=()=>{!g.solved&&!g.failed&&(g.step(),A())},w=()=>{!g.solved&&!g.failed&&(C&&C(g),g.solve(),A(),Q&&Q(g))},u=()=>{i?(d(),E()):(E(),D())},G=()=>{if(g.solved||g.failed||i)return;s.current===null&&typeof window<"u"&&(s.current=window.localStorage.getItem(r));const m=window.prompt("Step until which iteration?",s.current??`${g.iterations}`);if(m===null)return;s.current=m,typeof window<"u"&&window.localStorage.setItem(r,m);const p=Number(m);if(!Number.isFinite(p)){window.alert("Please enter a valid number for the iteration");return}for(;g.iterations<p&&!g.solved&&!g.failed;)g.step();A(),g.solved&&Q&&Q(g)};return z.useEffect(()=>()=>{d()},[]),z.useEffect(()=>{(g.solved||g.failed)&&i&&(d(),E())},[g.solved,g.failed,i]),z.useEffect(()=>{i&&(d(),D())},[I,i]),z.useEffect(()=>{if(typeof document>"u")return;const m=p=>{h.current&&!h.current.contains(p.target)&&c(null)};return document.addEventListener("mousedown",m),()=>{document.removeEventListener("mousedown",m)}},[]),T.jsxs("div",{className:"space-y-2 p-2 border-b",children:[T.jsx("div",{className:"flex items-center",children:T.jsxs("div",{className:"flex items-center gap-2",ref:h,children:[T.jsxs("div",{className:"flex h-9 items-center space-x-1 rounded-md border border-slate-200 bg-white p-1 shadow-sm",children:[T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="renderer"?null:"renderer"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="renderer"?"open":"closed",children:"Renderer"}),a==="renderer"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[10rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:["vector","canvas"].map(m=>T.jsxs("button",{type:"button",onClick:()=>{t(m),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m==="vector"?"Vector":"Canvas",e===m&&T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:"✓"})]},m))})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="debug"?null:"debug"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="debug"?"open":"closed",children:"Debug"}),a==="debug"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:T.jsx("button",{type:"button",onClick:()=>{B(),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:"Download Visualization"})})]}),T.jsxs("div",{className:"relative",children:[T.jsx("button",{type:"button",onClick:()=>c(a==="animation"?null:"animation"),className:"flex select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-slate-100 data-[state=open]:bg-slate-100","data-state":a==="animation"?"open":"closed",children:"Animation"}),a==="animation"&&T.jsx("div",{className:"absolute left-0 z-50 mt-1 min-w-[12rem] rounded-md border border-slate-200 bg-white p-1 text-slate-950 shadow-md",children:l.map(m=>T.jsxs("button",{type:"button",onClick:()=>{o(m.value),c(null)},className:"flex w-full items-center rounded-sm px-2 py-1.5 text-sm hover:bg-slate-100",children:[m.label,T.jsx("span",{className:"ml-auto text-xs text-slate-500",children:m.description}),I===m.value&&T.jsx("span",{className:"ml-2 text-xs text-slate-500",children:"✓"})]},m.value))})]})]}),T.jsx(Npo,{solver:g})]})}),T.jsxs("div",{className:"flex gap-2 items-center flex-wrap",children:[T.jsx("button",{onClick:y,disabled:g.solved||g.failed||i,className:"bg-blue-500 hover:bg-blue-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step"}),T.jsx("button",{onClick:w,disabled:g.solved||g.failed||i,className:"bg-green-500 hover:bg-green-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Solve"}),T.jsx("button",{onClick:u,disabled:g.solved||g.failed,className:`px-3 py-1 rounded text-white text-sm ${i?"bg-red-500 hover:bg-red-600":"bg-yellow-500 hover:bg-yellow-600"} disabled:bg-gray-300`,children:i?"Stop":"Animate"}),T.jsx("button",{onClick:G,disabled:g.solved||g.failed||i,className:"bg-orange-500 hover:bg-orange-600 disabled:bg-gray-300 text-white px-3 py-1 rounded text-sm",children:"Step Until Iteration"}),T.jsxs("div",{className:"text-sm text-gray-600",children:["Iterations: ",g.iterations]}),g.timeToSolve!==void 0&&T.jsxs("div",{className:"text-sm text-gray-600",children:["Time: ",(g.timeToSolve/1e3).toFixed(3),"s"]}),g.solved&&T.jsx("div",{className:"px-2 py-1 bg-green-100 text-green-800 rounded text-sm",children:"Solved"}),g.failed&&T.jsx("div",{className:"px-2 py-1 bg-red-100 text-red-800 rounded text-sm",children:"Failed"})]}),g.error&&T.jsxs("div",{className:"text-red-600 text-sm",children:["Error: ",g.error]})]})},Fpo=g=>g!==null&&"pipelineDef"in g&&Array.isArray(g.pipelineDef),Upo=(g,A,I)=>{const e=g.currentPipelineStageIndex;return A<e?"Completed":A===e&&g.activeSubSolver?g.activeSubSolver.failed?"Failed":"In Progress":"Not Started"},Jpo=(g,A)=>{const e=g.pipelineDef[A].solverName,t=Upo(g,A),o=g[e],B=g.firstIterationOfStage?.[e]??(A===g.currentPipelineStageIndex?g.iterations:null),C=g.iterations;let Q=0;if(t==="Completed"){const s=g.pipelineDef[A+1],r=s?g.firstIterationOfStage?.[s.solverName]:void 0;r!==void 0&&B!==null?Q=r-B:B!==null&&(Q=C-B)}else t==="In Progress"&&B!==null&&(Q=C-B);const i=g.timeSpentOnStage?.[e]??0;let E=0;t==="Completed"?E=1:t==="In Progress"&&o&&(E=o.progress??0);const n=o?.stats??null;return{index:A,name:e,status:t,firstIteration:B,iterations:Q,progress:E,timeSpent:i,stats:n&&Object.keys(n).length>0?n:null,solverInstance:o??null}},Ppo=({status:g})=>{const A={"Not Started":"text-blue-600","In Progress":"text-yellow-600",Completed:"text-green-600",Failed:"text-red-600"};return T.jsx("span",{className:`font-medium ${A[g]}`,children:g})},Kpo=({progress:g})=>{if(g===0)return null;const A=Math.round(g*100);return T.jsxs("div",{className:"flex items-center gap-2",children:[T.jsx("div",{className:"w-20 h-2 bg-gray-200 rounded overflow-hidden",children:T.jsx("div",{className:"h-full bg-blue-500 transition-all duration-200",style:{width:`${A}%`}})}),T.jsxs("span",{className:"text-xs text-gray-500",children:[A,"%"]})]})},hPI=g=>{if(typeof g=="string")return g;if(typeof g=="number"||typeof g=="boolean"||typeof g=="bigint"||g==null)return String(g);if(typeof g=="object")try{return JSON.stringify(g)}catch{return String(g)}return String(g)},Lpo=g=>Object.entries(g).map(([A,I])=>`${A}: ${hPI(I)}`).join(", "),Ypo=({stats:g})=>{if(!g||Object.keys(g).length===0)return T.jsx("span",{children:"-"});const A=Object.entries(g),I=Lpo(g);return T.jsxs("details",{className:"cursor-pointer",children:[T.jsx("summary",{className:"whitespace-nowrap overflow-hidden text-ellipsis max-w-[200px]",children:I}),T.jsx("div",{className:"mt-1 text-xs",children:A.map(([e,t])=>T.jsxs("div",{children:[e,": ",hPI(t)]},e))})]})},pCg=g=>{if(g===null||typeof g!="object")return g;if(Array.isArray(g))return g.map(pCg);const A={};for(const[I,e]of Object.entries(g))I.startsWith("_")||(A[I]=pCg(e));return A},_po=(g,A)=>{try{if(typeof g.getConstructorParams!="function"){alert(`getConstructorParams() is not implemented for ${A}`);return}const I=pCg(g.getConstructorParams()),e=new Blob([JSON.stringify(I,null,2)],{type:"application/json"}),t=URL.createObjectURL(e),o=document.createElement("a");o.href=t,o.download=`${A}_input.json`,o.click(),URL.revokeObjectURL(t)}catch(I){alert(`Error downloading input for ${A}: ${I instanceof Error?I.message:String(I)}`)}},bpo=({expanded:g})=>T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:`w-4 h-4 transition-transform duration-200 ${g?"rotate-90":""}`,children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})}),lPI=g=>{let A=g;for(;A.activeSubSolver;)A=A.activeSubSolver;return A},DPI=({solver:g,onStepUntilPhase:A,onDownloadInput:I,isNested:e=!1,indentLevel:t=0,triggerRender:o})=>{const[B,C]=z.useState(new Set),Q=g.pipelineDef.map((h,l)=>Jpo(g,l)),i=h=>{C(l=>{const D=new Set(l);return D.has(h)?D.delete(h):D.add(h),D})},E=h=>{A?.(h)},n=h=>{h.solverInstance&&(I?I(h.solverInstance,h.name):_po(h.solverInstance,h.name))},s=h=>`${(h/1e3).toFixed(2)}s`,r=()=>{if(!g.solved&&!g.failed){const h=g.activeSubSolver;for(;!g.solved&&!g.failed&&(g.step(),!(g.activeSubSolver&&g.activeSubSolver!==h)););o?.()}},a=()=>{if(!g.solved&&!g.failed){const h=lPI(g);for(;!g.solved&&!g.failed&&(g.step(),lPI(g)===h););o?.()}},c=t*24;return T.jsxs("div",{className:e?"":"border-t border-gray-200",children:[!e&&T.jsxs("div",{className:"px-4 py-2 bg-gray-50 border-b border-gray-200 flex items-center justify-between",children:[T.jsx("h3",{className:"text-sm font-semibold text-gray-700",children:"Pipeline Stages"}),T.jsxs("div",{className:"flex gap-2",children:[T.jsx("button",{onClick:a,disabled:g.solved||g.failed,className:"bg-indigo-500 hover:bg-indigo-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Solver"}),T.jsx("button",{onClick:r,disabled:g.solved||g.failed,className:"bg-purple-500 hover:bg-purple-600 disabled:bg-gray-300 disabled:cursor-not-allowed cursor-pointer text-white px-3 py-1 rounded text-sm",children:"Next Stage"})]})]}),T.jsx("div",{className:"overflow-x-auto",children:T.jsxs("table",{className:"w-full text-sm",children:[!e&&T.jsx("thead",{children:T.jsxs("tr",{className:"bg-gray-50 border-b border-gray-200",children:[T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stage"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Status"}),T.jsxs("th",{className:"px-4 py-2 text-center font-semibold text-gray-700",children:["i",T.jsx("sub",{children:"0"})]}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Iterations"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Progress"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Time"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Stats"}),T.jsx("th",{className:"px-4 py-2 text-left font-semibold text-gray-700",children:"Input"})]})}),T.jsx("tbody",{children:Q.map(h=>{const l=Fpo(h.solverInstance),D=B.has(h.name);return T.jsxs(rC.Fragment,{children:[T.jsxs("tr",{className:`border-b border-gray-100 ${h.status==="In Progress"?"bg-yellow-50":""}`,children:[T.jsx("td",{className:"px-4 py-2",children:T.jsxs("div",{className:"flex items-center gap-2",style:{paddingLeft:c},children:[l?T.jsx("button",{onClick:()=>i(h.name),className:"text-gray-500 hover:text-gray-700",title:D?"Collapse":"Expand",children:T.jsx(bpo,{expanded:D})}):T.jsx("span",{className:"w-4"}),T.jsx("span",{className:"text-gray-400 w-6",children:String(h.index+1).padStart(2,"0")}),T.jsx("button",{onClick:()=>E(h.name),disabled:h.status==="Completed"||g.solved||g.failed,className:"text-blue-500 hover:text-blue-700 disabled:text-gray-300 disabled:cursor-not-allowed",title:`Step until ${h.name} completes`,children:T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M4.5 5.653c0-1.426 1.529-2.33 2.779-1.643l11.54 6.348c1.295.712 1.295 2.573 0 3.285L7.28 19.991c-1.25.687-2.779-.217-2.779-1.643V5.653z",clipRule:"evenodd"})})}),T.jsx("span",{className:"font-medium text-gray-900",children:h.name})]})}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(Ppo,{status:h.status})}),T.jsx("td",{className:"px-4 py-2 text-center text-gray-600",children:h.firstIteration!==null?h.firstIteration:""}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:h.iterations}),T.jsx("td",{className:"px-4 py-2",children:T.jsx(Kpo,{progress:h.progress})}),T.jsx("td",{className:"px-4 py-2 text-gray-600",children:s(h.timeSpent)}),T.jsx("td",{className:"px-4 py-2 text-gray-500",children:T.jsx(Ypo,{stats:h.stats})}),T.jsx("td",{className:"px-4 py-2",children:h.solverInstance?T.jsxs("button",{onClick:()=>n(h),className:"flex items-center gap-1 text-blue-500 hover:text-blue-700",title:`Download input for ${h.name}`,children:[T.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",className:"w-4 h-4",children:T.jsx("path",{fillRule:"evenodd",d:"M12 2.25a.75.75 0 01.75.75v11.69l3.22-3.22a.75.75 0 111.06 1.06l-4.5 4.5a.75.75 0 01-1.06 0l-4.5-4.5a.75.75 0 111.06-1.06l3.22 3.22V3a.75.75 0 01.75-.75zm-9 13.5a.75.75 0 01.75.75v2.25a1.5 1.5 0 001.5 1.5h13.5a1.5 1.5 0 001.5-1.5V16.5a.75.75 0 011.5 0v2.25a3 3 0 01-3 3H5.25a3 3 0 01-3-3V16.5a.75.75 0 01.75-.75z",clipRule:"evenodd"})}),T.jsx("span",{children:"Input"})]}):null})]}),l&&D&&T.jsx("tr",{children:T.jsx("td",{colSpan:8,className:"p-0",children:T.jsx(DPI,{solver:h.solverInstance,onStepUntilPhase:A,onDownloadInput:I,isNested:!0,indentLevel:t+1,triggerRender:o})})})]},h.name)})})]})})]})};function Hpo({graphics:g}){const A=g.points??[],I=g.lines??[],e=g.rects??[],t=g.circles??[],o=g.texts??[];let B=Number.POSITIVE_INFINITY,C=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY,i=Number.NEGATIVE_INFINITY;const E=(h,l)=>{typeof h=="number"&&(h<B&&(B=h),h>Q&&(Q=h)),typeof l=="number"&&(l<C&&(C=l),l>i&&(i=l))};for(const h of A)E(h.x,h.y);for(const h of I){const l=h.points??[];for(const D of l)E(D.x,D.y)}for(const h of e){const l=h.x??0,D=h.y??0,d=h.width??0,y=h.height??0;E(l,D),E(l+d,D+y)}for(const h of t){const l=h.x??0,D=h.y??0,d=h.radius??1;E(l-d,D-d),E(l+d,D+d)}for(const h of o)E(h.x,h.y);(!isFinite(B)||!isFinite(C)||!isFinite(Q)||!isFinite(i))&&(B=-20,C=-20,Q=20,i=20);const n=10,s=B-n,r=C-n,a=Math.max(1,Q-B+2*n),c=Math.max(1,i-C+2*n);return T.jsxs("svg",{className:"w-full h-[400px] bg-white",viewBox:`${s} ${r} ${a} ${c}`,role:"img","aria-label":"Graphics fallback",children:[e.map((h,l)=>T.jsx("rect",{x:h.x??0,y:h.y??0,width:h.width??0,height:h.height??0,fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`rect-${l}`)),I.map((h,l)=>T.jsx("polyline",{fill:"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1,points:(h.points??[]).map(D=>`${D.x??0},${D.y??0}`).join(" ")},`line-${l}`)),t.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.fillColor??"none",stroke:h.strokeColor??"black",strokeWidth:h.strokeWidth??1},`circle-${l}`)),A.map((h,l)=>T.jsx("circle",{cx:h.x??0,cy:h.y??0,r:h.radius??1.5,fill:h.color??"black"},`point-${l}`)),o.map((h,l)=>T.jsx("text",{x:h.x??0,y:h.y??0,fontSize:h.fontSize??10,fill:h.color??"black",children:h.text??""},`text-${l}`))]})}var vpo=class extends rC.Component{constructor(g){super(g),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(g){console.error("InteractiveGraphics render error:",g)}render(){return this.state.hasError?this.props.fallback:this.props.children}},Tpo=({solver:g,createSolver:A,animationSpeed:I=25,onSolverStarted:e,onSolverCompleted:t})=>{const[o,B]=z.useReducer(D=>D+1,0),[C]=z.useState(()=>{if(A)return A();if(!g)throw new Error("GenericSolverDebugger requires solver or createSolver");return g}),[Q,i]=z.useState(()=>typeof window>"u"?"vector":window.localStorage.getItem("solver-utils-renderer")==="canvas"?"canvas":"vector"),[E,n]=z.useState(I),s=z.useMemo(()=>{try{return C.visualize()||{points:[],lines:[],rects:[],circles:[]}}catch(D){return console.error("Visualization error:",D),{points:[],lines:[],rects:[],circles:[]}}},[C,o]),r=z.useMemo(()=>(s.rects?.length||0)===0&&(s.lines?.length||0)===0&&(s.points?.length||0)===0&&(s.circles?.length||0)===0,[s]);z.useEffect(()=>{if(!(typeof document>"u")&&!document.querySelector('script[src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4"]')){const D=document.createElement("script");D.src="https://cdn.jsdelivr.net/npm/@tailwindcss/browser@4",document.head.appendChild(D)}},[]),z.useEffect(()=>{n(I)},[I]);const a=C.pipelineDef!==void 0,c=D=>{const d=C;if(!C.solved&&!C.failed){for(;!C.solved&&!C.failed&&d.currentPipelineStageIndex<=d.pipelineDef.findIndex(y=>y.solverName===D);)C.step();B()}},h=()=>{const D=JSON.stringify(s,null,2),d=new Blob([D],{type:"application/json"}),y=URL.createObjectURL(d),w=document.createElement("a");w.download="visualization.json",w.href=y,document.body.appendChild(w),w.click(),document.body.removeChild(w),URL.revokeObjectURL(y)},l=D=>{i(D),typeof window<"u"&&window.localStorage.setItem("solver-utils-renderer",D)};return T.jsxs("div",{children:[T.jsx(xpo,{solver:C,triggerRender:B,animationSpeed:E,renderer:Q,onRendererChange:l,onAnimationSpeedChange:n,onDownloadVisualization:h,onSolverStarted:e,onSolverCompleted:t}),r?T.jsx("div",{className:"p-4 text-gray-500",children:"No Graphics Yet"}):T.jsx(vpo,{fallback:T.jsx(Hpo,{graphics:s}),children:Q==="canvas"?T.jsx(fpo,{graphics:s}):T.jsx(kpo,{graphics:s})}),a&&T.jsx(DPI,{solver:C,onStepUntilPhase:c,triggerRender:B})]})};const qpo=()=>{z.useEffect(()=>{const g="tailwind-cdn-script";if(document.getElementById(g)||window.tailwind)return;const A=document.createElement("div");A.className="hidden",document.body.appendChild(A);const I=window.getComputedStyle(A).display==="none";if(document.body.removeChild(A),I)return;const e=document.createElement("script");e.id=g,e.src="https://cdn.tailwindcss.com",document.head.appendChild(e)},[])},Zpo=1e3,bk=(g,A)=>{const{fileName:I,mimeType:e="text/plain"}=A,t=g instanceof Blob?g:new Blob([g],{type:e}),o=URL.createObjectURL(t),B=document.createElement("a");B.href=o,B.download=I,B.target="_blank",B.rel="noopener noreferrer",B.style.display="none",document.body.appendChild(B),B.click(),document.body.removeChild(B),setTimeout(()=>{URL.revokeObjectURL(o)},Zpo)},kCg=g=>{let A=g.trim().replace(/[\\/:*?"<>|]/g,"_").replace(/[\x00-\x1f]/g,"").replace(/^\.+/,"").replace(/\.+$/,"").replace(/\s+/g," ").replace(/_+/g,"_");return/^(con|prn|aux|nul|com[0-9]|lpt[0-9])$/i.test(A)&&(A=`_${A}`),A=A.slice(0,200),A||"untitled"},Opo=g=>{const A=g.solverConstructorArgs??[g.solverParams];if(g.solverName!=="AutoroutingPipelineSolver7_MultiGraph"||A.length!==1)return A;const[{input:I,options:e}]=A;return[I,e]},dF="https://github.com/tscircuit/tscircuit-autorouter/issues/new",dPI="https://github.com/tscircuit/copper-pour-solver/issues/new",yPI="https://github.com/tscircuit/calculate-packing/issues/new",Wpo="https://github.com/tscircuit/matchpack/issues/new",wPI="https://github.com/tscircuit/schematic-trace-solver/issues/new?template=json-bug-report.yml",Vpo={PackSolver2:yPI,LayoutPipelineSolver:Wpo,AutoroutingPipelineSolver:dF,AssignableAutoroutingPipeline2:dF,AssignableAutoroutingPipeline3:dF,AutoroutingPipeline1_OriginalUnravel:dF,AutoroutingPipelineSolver3_HgPortPointPathing:dF,AutoroutingPipelineSolver4:dF,AutoroutingPipelineSolver5:dF,AutoroutingPipelineSolver7_MultiGraph:dF,AutoroutingPipelineSolver8:dF,CopperPourPipelineSolver:dPI,SchematicTracePipelineSolver:wPI},jpo=g=>g.toLowerCase().includes("pack")?CxI:g.toLowerCase().includes("rout")?ixI:Wro,uPI=g=>{const A=Vpo[g];if(A)return A;const I=g.toLowerCase();return I.includes("autorout")?dF:I.includes("schematic")&&I.includes("trace")?wPI:I.includes("copperpour")?dPI:I.includes("pack")?yPI:null},zpo=g=>`${kCg(`${g.componentName}-${g.solverName}`)}-solver-input.json`,GPI=g=>{bk(JSON.stringify(g.solverParams,null,2),{fileName:zpo(g),mimeType:"application/json"})},Xpo=({solverEvent:g})=>{const A=uPI(g.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-end rf-gap-2 rf-border-b rf-border-gray-200 rf-bg-gray-50 rf-px-4 rf-py-2",children:[T.jsxs(si,{type:"button",variant:"outline",size:"sm",onClick:()=>GPI(g),children:[T.jsx(ftA,{className:"rf-w-4 rf-h-4"}),"Download"]}),A?T.jsx(si,{asChild:!0,variant:"outline",size:"sm",children:T.jsxs("a",{href:A,target:"_blank",rel:"noopener noreferrer",children:[T.jsx(_GA,{className:"rf-w-4 rf-h-4"}),"Report"]})}):T.jsxs(si,{type:"button",variant:"outline",size:"sm",disabled:!0,title:"No report link configured for this solver",children:[T.jsx(_GA,{className:"rf-w-4 rf-h-4"}),"Report"]})]})},$po=({solverEvent:g})=>{const A=uPI(g.solverName);return A?T.jsx(si,{asChild:!0,variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",children:T.jsx("a",{href:A,target:"_blank",rel:"noopener noreferrer",title:"Report solver bug","aria-label":"Report solver bug",children:T.jsx(_GA,{className:"rf-w-4 rf-h-4"})})}):T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8",disabled:!0,title:"No report link configured for this solver","aria-label":"Report solver bug",children:T.jsx(_GA,{className:"rf-w-4 rf-h-4"})})},Ako=({solverEvents:g=[]})=>{const[A,I]=z.useState(null);qpo();const e=z.useMemo(()=>{const C=new Map;for(const Q of g){const i=`${Q.componentName}-${Q.solverName}`;C.set(i,Q)}return C},[g]),t=z.useMemo(()=>Array.from(e.keys()),[e]),o=A?e.get(A):null,B=z.useMemo(()=>{if(!o)return{instance:null,error:null,classFound:!1};const C=v9A[o.solverName];if(!C)return{instance:null,error:`Solver class "${o.solverName}" not found in SOLVERS registry. Available: ${Object.keys(v9A).join(", ")}`,classFound:!1};try{return{instance:new C(...Opo(o)),error:null,classFound:!0}}catch(Q){const i=Q instanceof Error?Q.message:String(Q);return console.error("Failed to reconstruct solver:",Q),{instance:null,error:`Failed to instantiate solver: ${i}`,classFound:!0}}},[o]);return g.length===0?T.jsx("div",{className:"rf-p-4",children:T.jsx("div",{className:"rf-bg-gray-50 rf-rounded-md rf-border rf-border-gray-200",children:T.jsxs("div",{className:"rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800 rf-mb-3",children:"No Solvers Detected"}),T.jsx("p",{className:"rf-text-sm rf-text-gray-600",children:"Solvers will appear here when the circuit runs. Solvers are used for tasks like component packing and autorouting."})]})})}):T.jsxs("div",{className:"rf-flex rf-h-full rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-w-64 rf-border-r rf-border-gray-200 rf-overflow-y-auto rf-flex-shrink-0",children:[T.jsxs("div",{className:"rf-text-xs rf-font-semibold rf-text-gray-500 rf-px-3 rf-py-2 rf-bg-gray-50 rf-border-b rf-border-gray-200",children:[t.length," ",t.length===1?"Solver":"Solvers"]}),t.map(C=>{const Q=e.get(C),i=A===C;return T.jsx("div",{className:`rf-px-3 rf-py-2 rf-cursor-pointer rf-border-b rf-border-gray-100 ${i?"rf-bg-blue-50 rf-border-l-2 rf-border-l-blue-500":"hover:rf-bg-gray-50"}`,onClick:()=>I(C),children:(()=>{const E=jpo(Q.solverName);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx(E,{className:"rf-w-4 rf-h-4 rf-text-blue-500 rf-flex-shrink-0"}),T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx("div",{className:"rf-text-sm rf-font-medium rf-text-gray-800 rf-truncate",children:Q.componentName}),T.jsx("div",{className:"rf-text-xs rf-text-gray-500 rf-truncate",children:Q.solverName})]})]})})()},C)})]}),T.jsx("div",{className:"rf-flex-1 rf-overflow-hidden",children:o?B.instance?T.jsxs("div",{className:"rf-flex rf-h-full rf-flex-col rf-overflow-y-auto",children:[T.jsx(Xpo,{solverEvent:o}),T.jsx("div",{className:"rf-min-h-0 rf-flex-1",children:T.jsx(GS,{fallback:T.jsx("div",{className:"rf-p-4",children:T.jsxs("div",{className:"rf-bg-red-50 rf-rounded-md rf-border rf-border-red-200 rf-p-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-red-800 rf-mb-2",children:"Error Loading Solver Debugger"}),T.jsxs("p",{className:"rf-text-sm rf-text-red-600",children:["Failed to render the solver debugger for"," ",o.solverName]})]})}),children:T.jsx(Tpo,{solver:B.instance})})})]}):T.jsxs("div",{className:"rf-p-4",children:[T.jsxs("div",{className:"rf-mb-4",children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-text-gray-800",children:o.solverName}),T.jsxs("p",{className:"rf-text-sm rf-text-gray-500",children:["Component: ",o.componentName]})]}),B.error&&T.jsx("div",{className:`rf-rounded-md rf-border rf-p-4 rf-mb-4 ${B.classFound?"rf-bg-red-50 rf-border-red-200":"rf-bg-yellow-50 rf-border-yellow-200"}`,children:T.jsx("p",{className:`rf-text-sm ${B.classFound?"rf-text-red-700":"rf-text-yellow-700"}`,children:B.error})}),T.jsxs("div",{className:"rf-border rf-border-gray-200 rf-rounded-md rf-overflow-hidden",children:[T.jsxs("div",{className:"rf-px-3 rf-py-2 rf-bg-gray-50 rf-flex rf-items-center rf-justify-between rf-gap-2",children:[T.jsx("span",{className:"rf-text-sm rf-font-medium rf-text-gray-700",children:"Solver Parameters"}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx($po,{solverEvent:o}),T.jsx(si,{type:"button",variant:"ghost",size:"icon",className:"rf-h-8 rf-w-8","aria-label":"Download solver input JSON",title:"Download solver input JSON",onClick:()=>GPI(o),children:T.jsx(ftA,{className:"rf-w-4 rf-h-4"})})]})]}),T.jsx("div",{className:"rf-p-3 rf-bg-white rf-border-t rf-border-gray-200",children:T.jsx("pre",{className:"rf-text-xs rf-font-mono rf-text-gray-600 rf-whitespace-pre-wrap rf-overflow-x-auto",children:JSON.stringify(o.solverParams,null,2)})})]})]}):T.jsx("div",{className:"rf-flex rf-items-center rf-justify-center rf-h-full",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-500",children:"Select a solver from the list to view details"})})})]})},gko=["subcircuit_id","componentDisplayName","phaseName","routingPhaseIndex","phaseOrdinal","phaseCount","phaseStageIndex","phaseStageCount","connectionCount","obstacleCount","previousTraceCount","isReroutePhase","autorouterName","autorouterVersion","solverName","effort","cacheStatus"],Iko=["phaseOrdinal","routingPhaseIndex","phaseName","phaseStageIndex"];function eko(g,A){let I=-1,e=-1;for(let t=g.length-1;t>=0;t--){const o=g[t];if(o.status!=="running"||o.subcircuit_id!==A.subcircuit_id||o.componentDisplayName!==A.componentDisplayName)continue;let B=0,C=!1;for(const Q of Iko)if(!(o[Q]===void 0||A[Q]===void 0)){if(o[Q]!==A[Q]){C=!0;break}B++}!C&&B>e&&(I=t,e=B)}return I}function tko(g,A){const I=Object.fromEntries(gko.filter(B=>A[B]!==void 0).map(B=>[B,A[B]])),e=A.simpleRouteJson?structuredClone(A.simpleRouteJson):void 0,t=A.type==="autorouting:start"?-1:eko(g,A),o={...t===-1?{id:`autorouting_phase_${g.length+1}`}:g[t],...I,status:A.type==="autorouting:start"?"running":A.type==="autorouting:end"?"complete":"error",...A.type==="autorouting:start"?{startSimpleRouteJson:e}:A.type==="autorouting:end"?{endSimpleRouteJson:e}:{errorSimpleRouteJson:e,error:A.error?{...A.error}:void 0}};return t===-1?[...g,o]:g.map((B,C)=>C===t?o:B)}const oko=new Map([["custom","Custom"],["fanout","Fanout"],["single_layer_fanout","Single layer fanout"],["tscircuit_simplify","Simplify"]]),Bko=new Set(["tscircuit","default","auto","auto_local"]);function Cko(g){if(g==="FanoutSolver")return"Fanout";if(g==="AutoroutingPipelineSolver11_Simplification")return"Simplify";const A=g.match(/^AutoroutingPipeline(?:Solver)?(\d+)(?:_|$)/);if(A)return`Pipeline${A[1]}`;const I=g.match(/^AssignableAutoroutingPipeline(\d+)$/);return I?`Assignable${I[1]}`:g}function Qko(g){const A=g.autorouterName?.trim(),I=A?.replace(/-/g,"_"),e=I&&oko.get(I);if(e)return e;if(I&&!Bko.has(I))return A;const t=g.solverName?.trim();if(t)return Cko(t);const o=g.autorouterVersion?.trim();if(o){const B=o.match(/^beta[_-]pipeline(\d+)$/);return B?`Pipeline${B[1]}`:o==="latest"?"default":o}return A?"default":"Unknown"}const MCg="#fbbf24";function iko(g){const A=g.endSimpleRouteJson?.traces??[],I=new Set(A.flatMap(t=>[t.pcb_trace_id,t.__replaces_pcb_trace_id].filter(o=>o!==void 0)));return[...(g.startSimpleRouteJson?.traces??[]).filter(t=>!I.has(t.pcb_trace_id)),...A]}function mPI(g){const A=new Map((g.startSimpleRouteJson?.traces??[]).map(I=>[I.pcb_trace_id,I]));return(g.endSimpleRouteJson?.traces??[]).filter(I=>{const e=A.get(I.pcb_trace_id);return!e||!!I.__replaces_pcb_trace_id&&I.__replaces_pcb_trace_id!==e.__replaces_pcb_trace_id||JSON.stringify(e.route)!==JSON.stringify(I.route)}).map(I=>I.pcb_trace_id)}function Eko(g,A){return{outer_diameter:g.via_diameter??A.minViaPadDiameter??A.min_via_pad_diameter??A.minViaDiameter??.6,hole_diameter:g.via_hole_diameter??A.minViaHoleDiameter??A.min_via_hole_diameter??.3}}function pPI(g,A){const I=[];for(const C of g.route)C.route_type==="wire"?I.push({...C,layer:C.layer}):C.route_type==="via"?I.push({route_type:"via",x:C.x,y:C.y,from_layer:C.from_layer,to_layer:C.to_layer,...Eko(C,A)}):C.route_type==="through_obstacle"&&I.push({route_type:"through_pad",start:{...C.start},end:{...C.end},width:C.width,start_layer:C.from_layer,end_layer:C.to_layer,pcb_smtpad_id:C.circuitJsonMetadata?.pcb_smtpad_id,pcb_plated_hole_id:C.circuitJsonMetadata?.pcb_plated_hole_id});const e=C=>{let Q=-1,i=Number.POSITIVE_INFINITY;return I.forEach((E,n)=>{if(E.route_type!=="wire")return;const s=Math.hypot(E.x-C.x,E.y-C.y);s<i&&(i=s,Q=n)}),Q},t=g.route.filter(C=>C.route_type==="jumper").map(C=>[e(C.start),e(C.end)].sort((Q,i)=>Q-i)).filter(([C,Q])=>C>=0&&Q>C).sort(([C],[Q])=>C-Q),o=[];let B=0;for(const[C,Q]of t)C>=B&&o.push(I.slice(B,C+1)),B=Math.max(B,Q);return B<I.length&&o.push(I.slice(B)),o}function nko(g){const A=[],I=[],e=g.endSimpleRouteJson;if(!e)return{lines:A,circles:I};const t=new Set(mPI(g));for(const o of e.traces??[])if(t.has(o.pcb_trace_id))for(const B of pPI(o,e)){let C;for(const Q of B){if(Q.route_type==="through_pad"){C={...Q.end,layer:Q.end_layer,width:Q.width};continue}const i=Q.route_type==="wire"?Q.layer:Q.from_layer;C&&C.layer===i&&(C.x!==Q.x||C.y!==Q.y)&&A.push({points:[{x:C.x,y:C.y},{x:Q.x,y:Q.y}],strokeWidth:Q.route_type==="wire"?Q.width:C.width,strokeColor:MCg,layer:i}),Q.route_type==="via"&&I.push({center:{x:Q.x,y:Q.y},radius:Q.outer_diameter/2,stroke:MCg,fill:"transparent"}),C={x:Q.x,y:Q.y,layer:Q.route_type==="wire"?Q.layer:Q.to_layer,width:Q.route_type==="wire"?Q.width:C?.width??e.minTraceWidth}}}return{coordinateSystem:"cartesian",lines:A,circles:I}}function sko(g){const A=JSON.stringify(g);let I=2166136261;for(let e=0;e<A.length;e++)I=Math.imul(I^A.charCodeAt(e),16777619);return(I>>>0).toString(36)}const ako=new Set(["pcb_trace","pcb_via","pcb_copper_pour","pcb_ground_plane","pcb_ground_plane_region","pcb_thermal_spoke","pcb_breakout_point"]);function rko(g,A,I){const e=I==="input"?A.startSimpleRouteJson??A.errorSimpleRouteJson:A.endSimpleRouteJson,t=g.filter(i=>!ako.has(i.type)&&!i.type.endsWith("_error")&&!i.type.endsWith("_warning"));if(!e)return t;const o=I==="input"?e.traces??[]:iko(A),B=new Set(g.filter(i=>i.type==="source_trace").map(i=>i.source_trace_id)),C=["top",...Array.from({length:Math.max(0,e.layerCount-2)},(i,E)=>`inner${E+1}`),...e.layerCount>1?["bottom"]:[]],Q=[];for(const i of o){const n=e.connections.find(r=>r.name===i.connection_name||r.source_trace_id===i.connection_name)?.source_trace_id??i.connection_name??"",s=pPI(i,e);for(const[r,a]of s.entries()){const c={type:"pcb_trace",pcb_trace_id:`${A.id}_${I}_${i.pcb_trace_id}_${r}_${sko(a)}`,subcircuit_id:A.subcircuit_id??void 0,source_trace_id:B.has(n)?n:void 0,route:a};Q.push(c);for(const[h,l]of a.entries()){if(l.route_type!=="via")continue;const D=C.indexOf(l.from_layer),d=C.indexOf(l.to_layer),y={type:"pcb_via",pcb_via_id:`${c.pcb_trace_id}_via_${h}`,pcb_trace_id:c.pcb_trace_id,subcircuit_id:A.subcircuit_id??void 0,x:l.x,y:l.y,outer_diameter:l.outer_diameter,hole_diameter:l.hole_diameter,layers:D>=0&&d>=0?C.slice(Math.min(D,d),Math.max(D,d)+1):[l.from_layer,l.to_layer]};Q.push(y)}}}return[...t,...Q]}const SCg=(g,A)=>g.phaseName||`Phase ${g.phaseOrdinal??A+1}`,kPI=g=>g.componentDisplayName?.match(/name="([^"]+)"/)?.[1]?.replace(/^\./,"")||g.componentDisplayName||g.subcircuit_id||"Board",MPI=g=>g.startSimpleRouteJson??g.endSimpleRouteJson??g.errorSimpleRouteJson,cko={is_showing_autorouting:!0,is_showing_rats_nest:!1,is_showing_drc_errors:!1,is_showing_drc_warnings:!1,is_showing_pcb_groups:!1},hko=({circuitJson:g,phases:A=[],isRunning:I=!1})=>{const[e,t]=z.useState(null),[o,B]=z.useState("output"),[C,Q]=z.useState(!0),[i,E]=z.useState(!1),n=z.useRef(null),[s,r]=z.useState(480),a=e?A.findIndex(N=>N.id===e.id&&MPI(N)===MPI(e)):-1,c=a<0?A.length-1:a,h=A[c],l=a<0,D=!!h?.endSimpleRouteJson,d=h?.startSimpleRouteJson??h?.errorSimpleRouteJson,y=!!d,w=o==="output"&&!D?"input":o==="input"&&!y?"output":o,u=w==="input"?d:h?.endSimpleRouteJson,G=z.useMemo(()=>!h||!u?null:rko(g??[],h,w),[g,h,u,w]),m=z.useMemo(()=>h&&w==="output"&&C?nko(h):{lines:[],circles:[]},[h,w,C]);if(z.useLayoutEffect(()=>{const N=n.current;if(!N)return;const U=()=>r(Math.max(360,N.clientHeight));U();const K=new ResizeObserver(U);return K.observe(N),()=>K.disconnect()},[!!h]),!h)return T.jsxs("div",{className:"rf-flex rf-min-h-[400px] rf-flex-col rf-items-center rf-justify-center rf-gap-3 rf-p-8 rf-text-center",children:[T.jsx(ixI,{className:"rf-h-7 rf-w-7 rf-text-blue-500"}),T.jsx("h3",{className:"rf-text-base rf-font-medium",children:I?"Waiting for autorouting":"No autorouting captures"}),T.jsx("p",{className:"rf-max-w-md rf-text-sm rf-text-gray-500",children:I?"Phases appear as the circuit routes. Each capture includes its input and output on the PCB.":"Run a circuit with autorouting enabled to inspect its phases. A circuit JSON file alone does not include routing history."})]});const p=SCg(h,c),k=h.status==="running"&&I,S=!D,R=d?.connections.length,x=G?.filter(N=>N.type==="pcb_trace").length??0;return T.jsxs("div",{className:"rf-flex rf-h-full rf-min-h-[620px] rf-flex-col rf-bg-white md:rf-flex-row","data-testid":"autorouting-explorer",children:[T.jsxs("aside",{className:"rf-flex rf-shrink-0 rf-flex-col rf-border-b rf-border-gray-200 md:rf-w-52 md:rf-border-b-0 md:rf-border-r","aria-label":"Routing phases",children:[T.jsxs("div",{className:"rf-flex rf-items-center rf-justify-between rf-px-3 rf-py-2 rf-text-xs rf-text-gray-500",children:[T.jsx("span",{children:"Routing phases"}),T.jsx("span",{children:A.length})]}),T.jsx("div",{className:"rf-flex rf-gap-1 rf-overflow-x-auto rf-px-1.5 rf-pb-1.5 md:rf-flex-col md:rf-overflow-x-hidden md:rf-overflow-y-auto",children:A.map((N,U)=>{const K=mPI(N).length,Y=N.endSimpleRouteJson?`${K} ${K===1?"trace":"traces"} routed`:N.status==="error"?"Failed":N.status==="running"&&I?"Routing…":"No output";return T.jsxs("button",{type:"button","aria-pressed":U===c,title:`${kPI(N)} · ${Y}`,onClick:()=>t(N),className:Bo("rf-flex rf-min-w-[192px] rf-items-start rf-gap-2 rf-rounded-md rf-border rf-px-2 rf-py-2 rf-text-left md:rf-min-w-0",U===c?"rf-border-blue-200 rf-bg-blue-50":"rf-border-transparent hover:rf-bg-gray-50"),children:[T.jsx("span",{className:Bo("rf-flex rf-h-5 rf-w-5 rf-shrink-0 rf-items-center rf-justify-center rf-rounded-full rf-text-[11px]",U===c?"rf-bg-blue-600 rf-text-white":"rf-bg-gray-100 rf-text-gray-500"),children:U+1}),T.jsxs("span",{className:"rf-min-w-0 rf-flex-1",children:[T.jsxs("span",{className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx("span",{className:"rf-min-w-0 rf-flex-1 rf-truncate rf-text-xs rf-font-medium rf-leading-5 rf-text-gray-800",title:SCg(N,U),children:SCg(N,U)}),N.status==="complete"?T.jsx(sF,{"aria-label":"Captured",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-green-600"}):N.status==="error"?T.jsx(qog,{"aria-label":"Failed",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-text-red-500"}):I?T.jsx(mS,{"aria-label":"Routing",className:"rf-h-3 rf-w-3 rf-shrink-0 rf-animate-spin rf-text-blue-500"}):null]}),T.jsxs("span",{className:"rf-block rf-text-[11px] rf-leading-4 rf-text-gray-500",children:[Qko(N)," · ",Y]})]})]},N.id)})})]}),T.jsxs("div",{className:"rf-flex rf-min-w-0 rf-flex-1 rf-flex-col",children:[T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-gap-3 rf-border-b rf-border-gray-200 rf-px-4 rf-py-3",children:[T.jsxs("h3",{className:"rf-mr-auto rf-flex rf-items-center rf-gap-2 rf-text-sm rf-font-medium",children:[p,T.jsxs("span",{className:"rf-text-xs rf-font-normal rf-text-gray-500",children:[c+1," of ",A.length]})]}),I&&T.jsx("button",{type:"button",onClick:()=>t(null),disabled:l,className:"rf-text-xs rf-text-blue-600 disabled:rf-text-gray-500",children:l?"Following latest":"Follow latest"}),T.jsx("div",{className:"rf-flex rf-rounded-md rf-bg-gray-100 rf-p-1","aria-label":"Phase snapshot",children:["input","output"].map(N=>T.jsx("button",{type:"button","aria-pressed":w===N,disabled:N==="input"?!y:!D,onClick:()=>B(N),className:Bo("rf-rounded rf-px-3 rf-py-1 rf-text-xs disabled:rf-opacity-40",w===N?"rf-bg-white rf-text-gray-900 rf-shadow-sm":"rf-text-gray-500"),children:N==="input"?"Input":"Output"},N))})]}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-px-4 rf-py-2 rf-text-xs rf-text-gray-600",children:[T.jsxs("label",{className:"rf-flex rf-items-center rf-gap-2",children:[T.jsx("input",{type:"checkbox",checked:C,disabled:w!=="output",onChange:N=>Q(N.target.checked),className:"rf-accent-blue-600"}),T.jsx("span",{"aria-hidden":"true",className:"rf-inline-block rf-h-0.5 rf-w-3",style:{backgroundColor:MCg}}),"Highlight changes (all layers)"]}),T.jsxs("span",{children:[w==="input"?"Before this phase":"After this phase"," ","· ",x," traces"]})]}),S&&T.jsx("div",{className:Bo("rf-border-y rf-px-4 rf-py-2 rf-text-xs",h.status==="error"?"rf-border-red-100 rf-bg-red-50 rf-text-red-700":"rf-border-blue-100 rf-bg-blue-50 rf-text-blue-700"),role:"status",children:h.status==="error"?`Routing failed: ${h.error?.message||"No output was captured."}`:k?"Routing in progress. Showing captured input until output is available.":"No output was captured for this phase. Showing the available input."}),T.jsx("div",{ref:n,className:"rf-relative rf-min-h-[360px] rf-flex-1","data-testid":"autorouting-pcb",children:G?T.jsx(Hog,{circuitJson:G,height:s,allowEditing:!1,clickToInteractEnabled:!1,initialState:cko,debugGraphics:m}):T.jsx("div",{className:"rf-p-6 rf-text-sm rf-text-gray-500",children:"No PCB snapshot available for this capture."})}),T.jsxs("div",{className:"rf-flex rf-flex-wrap rf-items-center rf-justify-between rf-gap-2 rf-border-t rf-border-gray-200 rf-px-4 rf-py-3 rf-text-xs rf-text-gray-500",children:[T.jsxs("span",{children:[R===void 0?"Input unavailable":`${R} input connections`,` · ${kPI(h)}`]}),T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-4",children:[T.jsxs("button",{type:"button",disabled:!u,onClick:()=>bk(JSON.stringify(u,null,2),{fileName:`${h.id}-${w}.srj.json`,mimeType:"application/json"}),className:"rf-flex rf-items-center rf-gap-1 disabled:rf-opacity-40",children:[T.jsx(ftA,{className:"rf-h-3 rf-w-3"}),"Download SRJ"]}),T.jsxs("button",{type:"button","aria-expanded":i,onClick:()=>E(!i),className:"rf-flex rf-items-center rf-gap-1",children:[T.jsx(Rb,{className:Bo("rf-h-3 rf-w-3",i&&"rf-rotate-90")}),"Inspect SRJ"]})]})]}),i&&T.jsx("pre",{className:"rf-m-0 rf-max-h-64 rf-overflow-auto rf-border-t rf-border-gray-200 rf-bg-gray-50 rf-p-4 rf-text-xs","aria-label":`${p} ${w} SRJ`,children:u?JSON.stringify(u,null,2):"No snapshot captured."})]})]})},SPI=({errorMessage:g,errorStack:A,circuitJsonErrors:I})=>{z.useEffect(()=>{if(wJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&g){const e=new Error(g);A&&(e.stack=A);try{Rq.captureException(e)}catch{}}},[g,A]),z.useEffect(()=>{if(wJ("TSCIRCUIT_TELEMETRY_DISABLED")!==!0&&I&&I.length>0)for(const e of I){const t=new Error(e.message||"Circuit JSON Error");e.stack&&(t.stack=e.stack);try{Rq.captureException(t,{error_type:e.type})}catch{}}},[I])},fPI=g=>{z.useEffect(()=>{try{ddt(g)}catch{}},[g.source,g.component,g.isWebEmbedded,g.activeTab])},RPI="0.0.3071",lko={version:RPI},QpA=lXg()(DXg(g=>({lastRunEvalVersion:void 0,setLastRunEvalVersion:A=>{g({lastRunEvalVersion:A})}}),{name:"runframe-runner-store"})),Dko=g=>{const[A,I]=z.useState([]),[e,t]=z.useState(null),[o,B]=z.useState(""),[C,Q]=XT("eval-version-selection",null),i=QpA(r=>r.setLastRunEvalVersion),E=QpA(r=>r.lastRunEvalVersion);return z.useEffect(()=>{g&&fetch("https://data.jsdelivr.com/v1/package/npm/@tscircuit/eval").then(r=>r.json()).then(r=>{if(Array.isArray(r?.versions)){let a=[...r.versions];r.tags?.latest&&(t(r.tags.latest),a=a.filter(c=>c!==r.tags.latest)),I(a)}}).catch(()=>{})},[g]),z.useEffect(()=>{g&&(C?(window.TSCIRCUIT_LATEST_EVAL_VERSION=C,i(C)):e&&(window.TSCIRCUIT_LATEST_EVAL_VERSION=e,i(e)))},[g,C,e]),{versions:z.useMemo(()=>A.filter(r=>r.includes(o)).slice(0,50),[A,o]),latestVersion:e,lastRunEvalVersion:E,search:o,setSearch:B,selectVersion:r=>{Q(r),B("")}}},dko=({snippetNames:g,onSelect:A,onCancel:I,isOpen:e})=>{const[t,o]=z.useState(""),[B,C]=z.useState("");if(!e)return null;const Q=g.filter(n=>n.toLowerCase().includes(B.toLowerCase())),i=B&&!g.includes(B),E=n=>{n.key==="Enter"&&(Q.length===1?o(Q[0]):i&&o(B))};return T.jsx("div",{className:"rf-fixed rf-inset-0 rf-bg-black rf-bg-opacity-50 rf-flex rf-items-center rf-justify-center rf-z-[100]",children:T.jsxs("div",{className:"rf-bg-white rf-rounded-lg rf-p-6 rf-w-96",children:[T.jsx("h2",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Select Snippet"}),T.jsx("input",{type:"text",className:"rf-w-full rf-px-4 rf-py-2 rf-border rf-rounded rf-mb-4",placeholder:"Search snippets or new snippet name...",value:B,onChange:n=>C(n.target.value),onKeyDown:E}),T.jsxs("div",{className:"rf-h-60 rf-overflow-y-auto",children:[Q.map(n=>T.jsx("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 ${t===n?"bg-blue-50":""}`,onClick:()=>o(n),children:n},n)),i&&T.jsxs("button",{type:"button",className:`w-full text-left px-4 py-2 rounded hover:bg-gray-100 text-blue-500 ${t===B?"bg-blue-50":""}`,onClick:()=>o(B),children:['Create new "',B,'"']})]}),T.jsxs("div",{className:"rf-mt-4 rf-flex rf-justify-end rf-gap-2",children:[T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-text-gray-600 rf-hover:text-gray-800",onClick:I,children:"Cancel"}),T.jsx("button",{type:"button",className:"rf-px-4 rf-py-2 rf-bg-blue-500 rf-text-white rf-rounded rf-hover:bg-blue-600 rf-disabled:opacity-50",onClick:()=>t&&A(t),disabled:!t,children:t===B?`Create "${t}"`:`Save to ${t}`})]})]})})},yko=g=>{const A=z.useRef(null),I=Kc(e=>e.recentEvents);z.useEffect(()=>{if(I.length===0)return;const e=I[0];e.event_id!==A.current&&(g(e),A.current=e.event_id)},[I,g])};var wko=Object.defineProperty,iP=(g,A)=>wko(g,"name",{value:A,configurable:!0}),uko="AlertDialog",[Gko,MCB]=hk(uko,[PFI]),EP=PFI(),mko=iP(g=>{const{__scopeAlertDialog:A,...I}=g,e=EP(A);return T.jsx(mmA,{...e,...I,modal:!0})},"AlertDialog");z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(dlo,{...o,...t,ref:I})},"AlertDialogTrigger"));var pko=iP(g=>{const{__scopeAlertDialog:A,...I}=g,e=EP(A);return T.jsx(pmA,{...e,...I})},"AlertDialogPortal"),NPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(HtA,{...o,...t,ref:I})},"AlertDialogOverlay")),kko="AlertDialogContent",[Mko,Sko]=Gko(kko),xPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,children:t,...o}=A,B=EP(e),C=z.useRef(null),Q=Gi(I,C),i=z.useRef(null);return T.jsx(Mko,{scope:e,cancelRef:i,children:T.jsx(TtA,{role:"alertdialog",...B,...o,ref:Q,onOpenAutoFocus:fo(o.onOpenAutoFocus,E=>{E.preventDefault(),i.current?.focus({preventScroll:!0})}),onPointerDownOutside:E=>E.preventDefault(),onInteractOutside:E=>E.preventDefault(),children:t})})},"AlertDialogContent")),FPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(kmA,{...o,...t,ref:I})},"AlertDialogTitle")),UPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(MmA,{...o,...t,ref:I})},"AlertDialogDescription")),JPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,o=EP(e);return T.jsx(UBg,{...o,...t,ref:I})},"AlertDialogAction")),fko="AlertDialogCancel",PPI=z.forwardRef(iP(function(A,I){const{__scopeAlertDialog:e,...t}=A,{cancelRef:o}=Sko(fko,e),B=EP(e),C=Gi(I,o);return T.jsx(UBg,{...B,...t,ref:C})},"AlertDialogCancel"));const KPI=mko,Rko=pko,LPI=z.forwardRef(({className:g,...A},I)=>T.jsx(NPI,{className:Bo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));LPI.displayName=NPI.displayName;const fCg=z.forwardRef(({className:g,...A},I)=>T.jsxs(Rko,{children:[T.jsx(LPI,{}),T.jsx(xPI,{ref:I,className:Bo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...A})]}));fCg.displayName=xPI.displayName;const RCg=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});RCg.displayName="AlertDialogHeader";const NCg=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});NCg.displayName="AlertDialogFooter";const xCg=z.forwardRef(({className:g,...A},I)=>T.jsx(FPI,{ref:I,className:Bo("rf-text-lg rf-font-semibold",g),...A}));xCg.displayName=FPI.displayName;const FCg=z.forwardRef(({className:g,...A},I)=>T.jsx(UPI,{ref:I,className:Bo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));FCg.displayName=UPI.displayName;const Nko=z.forwardRef(({className:g,...A},I)=>T.jsx(JPI,{ref:I,className:Bo(nO(),g),...A}));Nko.displayName=JPI.displayName;const UCg=z.forwardRef(({className:g,...A},I)=>T.jsx(PPI,{ref:I,className:Bo(nO({variant:"outline"}),"rf-mt-2 sm:rf-mt-0",g),...A}));UCg.displayName=PPI.displayName;var xko=Object.defineProperty,nP=(g,A)=>xko(g,"name",{value:A,configurable:!0}),JCg="Checkbox",[Fko,SCB]=hk(JCg),[Uko,PCg]=Fko(JCg);function YPI(g){const{__scopeCheckbox:A,checked:I,children:e,defaultChecked:t,disabled:o,form:B,name:C,onCheckedChange:Q,required:i,value:E="on",internal_do_not_use_render:n}=g,[s,r]=RR({prop:I,defaultProp:t??!1,onChange:Q,caller:JCg}),[a,c]=z.useState(null),[h,l]=z.useState(null),[D,d]=z.useState(null),y=a?!!B||!!a.closest("form"):!0,w={checked:s,disabled:o,setChecked:r,control:a,setControl:c,name:C,form:B,value:E,userClick:D,onUserClick:d,required:i,defaultChecked:df(t)?!1:t,isFormControl:y,bubbleInput:h,setBubbleInput:l};return T.jsx(Uko,{scope:A,...w,children:bPI(n)?n(w):e})}nP(YPI,"CheckboxProvider");var Jko="CheckboxTrigger",Pko=z.forwardRef(nP(function({__scopeCheckbox:A,onKeyDown:I,onClick:e,...t},o){const{control:B,value:C,disabled:Q,checked:i,required:E,setControl:n,setChecked:s,onUserClick:r,isFormControl:a,bubbleInput:c}=PCg(Jko,A),h=Gi(o,n),l=z.useRef(i);return z.useEffect(()=>{const D=B?.form;if(D){const d=nP(()=>s(l.current),"reset");return D.addEventListener("reset",d),()=>D.removeEventListener("reset",d)}},[B,s]),T.jsx(yQ.button,{type:"button",role:"checkbox","aria-checked":df(i)?"mixed":i,"aria-required":E,"data-state":KCg(i),"data-disabled":Q?"":void 0,disabled:Q,value:C,...t,ref:h,onKeyDown:fo(I,D=>{D.key==="Enter"&&D.preventDefault()}),onClick:fo(e,D=>{const d=D.isPropagationStopped();r({requestedChecked:df(i)?!0:!i,hasConsumerStoppedPropagation:d}),s(y=>df(y)?!0:!y),c&&a&&(d||D.stopPropagation())})})},"CheckboxTrigger")),_PI=z.forwardRef(nP(function(A,I){const{__scopeCheckbox:e,name:t,checked:o,defaultChecked:B,required:C,disabled:Q,value:i,onCheckedChange:E,form:n,...s}=A;return T.jsx(YPI,{__scopeCheckbox:e,checked:o,defaultChecked:B,disabled:Q,required:C,onCheckedChange:E,name:t,form:n,value:i,internal_do_not_use_render:({isFormControl:r})=>T.jsxs(T.Fragment,{children:[T.jsx(Pko,{...s,ref:I,__scopeCheckbox:e}),r&&T.jsx(_ko,{__scopeCheckbox:e})]})})},"Checkbox")),Kko="CheckboxIndicator",Lko=z.forwardRef(nP(function(A,I){const{__scopeCheckbox:e,forceMount:t,...o}=A,B=PCg(Kko,e);return T.jsx(AS,{present:t||df(B.checked)||B.checked===!0,children:T.jsx(yQ.span,{"data-state":KCg(B.checked),"data-disabled":B.disabled?"":void 0,...o,ref:I,style:{pointerEvents:"none",...A.style}})})},"CheckboxIndicator")),Yko="CheckboxBubbleInput",_ko=z.forwardRef(nP(function({__scopeCheckbox:A,onClick:I,...e},t){const{control:o,userClick:B,checked:C,defaultChecked:Q,required:i,disabled:E,name:n,value:s,form:r,bubbleInput:a,setBubbleInput:c}=PCg(Yko,A),h=Gi(t,c),l=cBg(o),D=z.useRef(!1),d=z.useRef(C),y=z.useRef(B),w=z.useRef(null);z.useEffect(()=>{const G=a;if(!G)return;const m=window.HTMLInputElement.prototype,k=Object.getOwnPropertyDescriptor(m,"checked").set;if(!k)return;const S=d.current!==C;d.current=C;const R=B!==null&&B!==y.current;if(y.current=B,R)w.current=S?null:B,S&&(G.indeterminate=df(C),k.call(G,df(C)?!1:C)),G.dispatchEvent(new Event("click",{bubbles:!B.hasConsumerStoppedPropagation}));else if(S){const x=w.current;w.current=null;const N=x?.requestedChecked===C;D.current=!0,G.indeterminate=df(C),k.call(G,df(C)?!1:C),G.dispatchEvent(new Event("click",{bubbles:!(N&&x.hasConsumerStoppedPropagation)})),D.current=!1}},[a,C,B]);const u=z.useRef(df(C)?!1:C);return T.jsx(yQ.input,{type:"checkbox","aria-hidden":!0,defaultChecked:Q??u.current,required:i,disabled:E,name:n,value:s,form:r,...e,tabIndex:-1,ref:h,onClick:fo(I,G=>{D.current&&G.stopPropagation()}),style:{...e.style,...l,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})},"CheckboxBubbleInput"));function bPI(g){return typeof g=="function"}nP(bPI,"isFunction");function df(g){return g==="indeterminate"}nP(df,"isIndeterminate");function KCg(g){return df(g)?"indeterminate":g?"checked":"unchecked"}nP(KCg,"getState");const soA=z.forwardRef(({className:g,...A},I)=>T.jsx(_PI,{ref:I,className:Bo("rf-peer rf-h-4 rf-w-4 rf-shrink-0 rf-rounded-sm rf-border rf-border-zinc-200 rf-border-zinc-900 rf-shadow focus-visible:rf-outline-none focus-visible:rf-ring-1 focus-visible:rf-ring-zinc-950 disabled:rf-cursor-not-allowed disabled:rf-opacity-50 data-[state=checked]:rf-bg-zinc-900 data-[state=checked]:rf-text-zinc-50 dark:rf-border-zinc-800 dark:rf-border-zinc-50 dark:focus-visible:rf-ring-zinc-300 dark:data-[state=checked]:rf-bg-zinc-50 dark:data-[state=checked]:rf-text-zinc-900",g),...A,children:T.jsx(Lko,{className:Bo("rf-flex rf-items-center rf-justify-center rf-text-current"),children:T.jsx(sF,{className:"rf-h-4 rf-w-4"})})}));soA.displayName=_PI.displayName;const Yb=mmA,bko=pmA,HPI=z.forwardRef(({className:g,...A},I)=>T.jsx(HtA,{className:Bo("rf-fixed rf-inset-0 rf-z-50 rf-bg-black/80 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0",g),...A,ref:I}));HPI.displayName=HtA.displayName;const RL=z.forwardRef(({className:g,children:A,showOverlay:I=!0,...e},t)=>T.jsxs(bko,{children:[T.jsx(HPI,{className:Bo(I?"":"rf-hidden")}),T.jsx(TtA,{ref:t,className:Bo("rf-fixed rf-left-[50%] rf-top-[50%] rf-z-50 rf-grid rf-w-full rf-max-w-lg rf-translate-x-[-50%] rf-translate-y-[-50%] rf-gap-4 rf-border rf-border-zinc-200 rf-bg-white rf-p-6 rf-shadow-lg rf-duration-200 data-[state=open]:rf-animate-in data-[state=closed]:rf-animate-out data-[state=closed]:rf-fade-out-0 data-[state=open]:rf-fade-in-0 data-[state=closed]:rf-zoom-out-95 data-[state=open]:rf-zoom-in-95 data-[state=closed]:rf-slide-out-to-left-1/2 data-[state=closed]:rf-slide-out-to-top-[48%] data-[state=open]:rf-slide-in-from-left-1/2 data-[state=open]:rf-slide-in-from-top-[48%] sm:rf-rounded-lg dark:rf-border-zinc-800 dark:rf-bg-zinc-950",g),...e,children:A})]}));RL.displayName=TtA.displayName;const NL=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col rf-space-y-2 rf-text-center sm:rf-text-left",g),...A});NL.displayName="DialogHeader";const YO=({className:g,...A})=>T.jsx("div",{className:Bo("rf-flex rf-flex-col-reverse sm:rf-flex-row sm:rf-justify-end sm:rf-space-x-2",g),...A});YO.displayName="DialogFooter";const xL=z.forwardRef(({className:g,...A},I)=>T.jsx(kmA,{ref:I,className:Bo("rf-text-lg rf-font-semibold",g),...A}));xL.displayName=kmA.displayName;const _b=z.forwardRef(({className:g,...A},I)=>T.jsx(MmA,{ref:I,className:Bo("rf-text-sm rf-text-zinc-500 dark:rf-text-zinc-400",g),...A}));_b.displayName=MmA.displayName;const ipA={"tscircuit.com":{label:"tscircuit.com",placeholder:"Search tscircuit packages...",emptyMessage:"No packages found"},jlcpcb:{label:"JLCPCB Parts",placeholder:"Search JLCPCB parts (e.g. C14663)...",emptyMessage:"No parts found"},kicad:{label:"KiCad Footprints",placeholder:"Search KiCad footprints...",emptyMessage:"No footprints found"}},Hko="https://cdn.jsdelivr.net/npm/easyeda@latest/dist/browser/index.js";let LCg=null;const YCg=async()=>(LCg||(LCg=import(Hko)),LCg),vko=g=>(A,I)=>{const e=new Headers(I?.headers),t={};return e.forEach((o,B)=>{t[B]=o}),fetch(`${g?.apiBase??Um}/proxy`,{...I,headers:{...t,"X-Target-Url":A.toString(),"X-Sender-Origin":t.origin??"","X-Sender-Host":t.host??"https://easyeda.com","X-Sender-Referer":t.referer??"","X-Sender-User-Agent":t["user-agent"]??"","X-Sender-Cookie":t.cookie??"",authority:t.authority??"","content-type":t["content-type"]??"",...g?.headers}})},Tko=async(g,A=10)=>{const I=encodeURIComponent(g),e=await fetch(`https://jlcsearch.tscircuit.com/api/search?limit=${A}&q=${I}`);if(!e.ok)throw new Error(`JLCPCB API error: ${e.status}`);return(await e.json()).components??[]},qko=g=>({lcscId:g.lcsc,manufacturer:g.mfr,description:g.description,partNumber:`C${g.lcsc}`,package:g.package,price:g.price,stock:g.stock,isBasic:g.is_basic}),vPI=async(g,A)=>{const{fetchEasyEDAComponent:I}=await YCg();return I(g,{fetch:vko(A),includeModelMetadata:A?.includeModelMetadata})},Zko=async(g,A)=>{const{convertRawEasyToTsx:I}=await YCg(),e=await vPI(g,A);return I({rawEasy:e})},Oko=async(g,A)=>{const{EasyEdaJsonSchema:I,convertEasyEdaJsonToCircuitJson:e}=await YCg(),t=await vPI(g,{...A,includeModelMetadata:!1}),o=I.parse(t);return e(o,{shouldRecenter:!0,showDesignator:!0,useModelCdn:!1})};function FL(g){return Array.isArray?Array.isArray(g):qPI(g)==="[object Array]"}function Wko(g){if(typeof g=="string")return g;if(typeof g=="bigint")return g.toString();const A=g+"";return A=="0"&&1/g==-1/0?"-0":A}function _Cg(g){return g==null?"":Wko(g)}function uG(g){return typeof g=="string"}function EpA(g){return typeof g=="number"}function Vko(g){return g===!0||g===!1||jko(g)&&qPI(g)=="[object Boolean]"}function TPI(g){return typeof g=="object"}function jko(g){return TPI(g)&&g!==null}function NS(g){return g!=null}function npA(g){return!g.trim().length}function qPI(g){return g==null?g===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(g)}const zko="Incorrect 'index' type",bCg="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Xko=g=>`Invalid value for key ${g}`,$ko=g=>`Pattern length exceeds max of ${g}.`,AMo=g=>`Missing ${g} property in key`,gMo=g=>`Property 'weight' in key '${g}' must be a positive integer`,IMo="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",ZPI=Object.prototype.hasOwnProperty;var eMo=class{constructor(g){this._keys=[],this._keyMap={};let A=0;g.forEach(I=>{const e=OPI(I);this._keys.push(e),this._keyMap[e.id]=e,A+=e.weight}),this._keys.forEach(I=>{I.weight/=A})}get(g){return this._keyMap[g]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function OPI(g){let A=null,I=null,e=null,t=1,o=null;if(uG(g)||FL(g))e=g,A=WPI(g),I=spA(g);else{if(!ZPI.call(g,"name"))throw new Error(AMo("name"));const B=g.name;if(e=B,ZPI.call(g,"weight")&&g.weight!==void 0&&(t=g.weight,t<=0))throw new Error(gMo(spA(B)));A=WPI(B),I=spA(B),o=g.getFn??null}return{path:A,id:I,weight:t,src:e,getFn:o}}function WPI(g){return FL(g)?g:g.split(".")}function spA(g){return FL(g)?g.join("."):g}function tMo(g,A){const I=[];let e=!1;const t=(o,B,C,Q)=>{if(NS(o))if(!B[C])I.push(Q!==void 0?{v:o,i:Q}:o);else{const i=o[B[C]];if(!NS(i))return;if(C===B.length-1&&(uG(i)||EpA(i)||Vko(i)||typeof i=="bigint"))I.push(Q!==void 0?{v:_Cg(i),i:Q}:_Cg(i));else if(FL(i)){e=!0;for(let E=0,n=i.length;E<n;E+=1)t(i[E],B,C+1,E)}else B.length&&t(i,B,C+1,Q)}};return t(g,uG(A)?A.split("."):A,0),e?I:I[0]}const cQ=Object.freeze({...{isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(g,A)=>g.score===A.score?g.idx<A.idx?-1:1:g.score<A.score?-1:1},...{includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},...{location:0,threshold:.6,distance:100},...{useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:tMo,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1}});function oMo(g){return g>=9&&g<=13||g===32||g===160}function BMo(g=1,A=3){const I=new Map,e=Math.pow(10,A);return{get(t){let o=0,B=!1;for(let Q=0;Q<t.length;Q++)oMo(t.charCodeAt(Q))?B=!1:B||(o++,B=!0);if(o===0&&(o=1),I.has(o))return I.get(o);const C=Math.round(e/Math.pow(o,.5*g))/e;return I.set(o,C),C},clear(){I.clear()}}}var HCg=class{constructor({getFn:g=cQ.getFn,fieldNormWeight:A=cQ.fieldNormWeight}={}){this.norm=BMo(A,3),this.getFn=g,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(g=[]){this.docs=g}setIndexRecords(g=[]){this.records=g}setKeys(g=[]){this.keys=g,this._keysMap={},g.forEach((A,I)=>{this._keysMap[A.id]=I})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const g=this.docs.length;this.records=new Array(g);let A=0;if(uG(this.docs[0]))for(let I=0;I<g;I++){const e=this._createStringRecord(this.docs[I],I);e&&(this.records[A++]=e)}else for(let I=0;I<g;I++)this.records[A++]=this._createObjectRecord(this.docs[I],I);this.records.length=A,this.norm.clear()}add(g,A){if(!Number.isInteger(A)||A<0)throw new Error(bCg);if(uG(g)){const e=this._createStringRecord(g,A);return e&&this.records.push(e),e}const I=this._createObjectRecord(g,A);return this.records.push(I),I}removeAt(g){if(!Number.isInteger(g)||g<0)throw new Error(bCg);for(let A=0,I=this.records.length;A<I;A+=1)if(this.records[A].i===g){this.records.splice(A,1);break}for(let A=0,I=this.records.length;A<I;A+=1)this.records[A].i>g&&(this.records[A].i-=1)}removeAll(g){const A=new Set;for(const e of g)Number.isInteger(e)&&e>=0&&A.add(e);if(A.size===0)return;this.records=this.records.filter(e=>!A.has(e.i));const I=Array.from(A).sort((e,t)=>e-t);for(const e of this.records){let t=0,o=I.length;for(;t<o;){const B=t+o>>>1;I[B]<e.i?t=B+1:o=B}e.i-=t}}getValueForItemAtKeyId(g,A){return g[this._keysMap[A]]}size(){return this.records.length}_createStringRecord(g,A){return!NS(g)||npA(g)?null:{v:g,i:A,n:this.norm.get(g)}}_createObjectRecord(g,A){const I={i:A,$:{}};for(let e=0,t=this.keys.length;e<t;e++){const o=this.keys[e],B=o.getFn?o.getFn(g):this.getFn(g,o.path);if(NS(B)){if(FL(B)){const C=[];for(let Q=0,i=B.length;Q<i;Q+=1){const E=B[Q];if(NS(E)){if(uG(E)){if(!npA(E)){const n={v:E,i:Q,n:this.norm.get(E)};C.push(n)}}else if(NS(E.v)){const n=uG(E.v)?E.v:_Cg(E.v);if(!npA(n)){const s={v:n,i:E.i,n:this.norm.get(n)};C.push(s)}}}}I.$[e]=C}else if(uG(B)&&!npA(B)){const C={v:B,n:this.norm.get(B)};I.$[e]=C}}}return I}toJSON(){return{keys:this.keys.map(({getFn:g,...A})=>A),records:this.records}}};function VPI(g,A,{getFn:I=cQ.getFn,fieldNormWeight:e=cQ.fieldNormWeight}={}){const t=new HCg({getFn:I,fieldNormWeight:e});return t.setKeys(g.map(OPI)),t.setSources(A),t.create(),t}function CMo(g,{getFn:A=cQ.getFn,fieldNormWeight:I=cQ.fieldNormWeight}={}){const{keys:e,records:t}=g,o=new HCg({getFn:A,fieldNormWeight:I});return o.setKeys(e),o.setIndexRecords(t),o}function QMo(g=[],A=cQ.minMatchCharLength){const I=[];let e=-1,t=-1,o=0;for(let B=g.length;o<B;o+=1){const C=g[o];C&&e===-1?e=o:!C&&e!==-1&&(t=o-1,t-e+1>=A&&I.push([e,t]),e=-1)}return g[o-1]&&o-e>=A&&I.push([e,o-1]),I}function iMo(g,A,I,{location:e=cQ.location,distance:t=cQ.distance,threshold:o=cQ.threshold,findAllMatches:B=cQ.findAllMatches,minMatchCharLength:C=cQ.minMatchCharLength,includeMatches:Q=cQ.includeMatches,ignoreLocation:i=cQ.ignoreLocation}={}){if(A.length>32)throw new Error($ko(32));const E=A.length,n=g.length,s=Math.max(0,Math.min(e,n));let r=o,a=s;const c=(p,k)=>{const S=p/E;if(i)return S;const R=Math.abs(s-k);return t?S+R/t:R?1:S},h=C>1||Q,l=h?Array(n):[];let D;for(;(D=g.indexOf(A,a))>-1;){const p=c(0,D);if(r=Math.min(p,r),a=D+E,h){let k=0;for(;k<E;)l[D+k]=1,k+=1}}a=-1;let d=[],y=1,w=0,u=E+n;const G=1<<E-1;for(let p=0;p<E;p+=1){let k=0,S=u;for(;k<S;)c(p,s+S)<=r?k=S:u=S,S=Math.floor((u-k)/2+k);u=S;let R=Math.max(1,s-S+1);const x=B?n:Math.min(s+S,n)+E,N=Array(x+2);N[x+1]=(1<<p)-1;for(let U=x;U>=R;U-=1){const K=U-1,Y=I[g[K]];if(N[U]=(N[U+1]<<1|1)&Y,p&&(N[U]|=(d[U+1]|d[U])<<1|1|d[U+1]),N[U]&G&&(y=c(p,K),y<=r)){if(r=y,a=K,w=p,a<=s)break;R=Math.max(1,2*s-a)}}if(c(p+1,s)>r)break;d=N}if(h&&a>=0){const p=Math.min(n-1,a+E-1+w);for(let k=a;k<=p;k+=1)I[g[k]]&&(l[k]=1)}const m={isMatch:a>=0,score:Math.max(.001,y)};if(h){const p=QMo(l,C);p.length?Q&&(m.indices=p):m.isMatch=!1}return m}function EMo(g){const A={};for(let I=0,e=g.length;I<e;I+=1){const t=g.charAt(I);A[t]=(A[t]||0)|1<<e-I-1}return A}function vCg(g){if(g.length<=1)return g;g.sort((I,e)=>I[0]-e[0]||I[1]-e[1]);const A=[g[0]];for(let I=1,e=g.length;I<e;I+=1){const t=A[A.length-1],o=g[I];o[0]<=t[1]+1?t[1]=Math.max(t[1],o[1]):A.push(o)}return A}const jPI={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},nMo=new RegExp("["+Object.keys(jPI).join("")+"]","g"),aoA=typeof String.prototype.normalize=="function"?g=>g.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(nMo,A=>jPI[A]):g=>g;var TCg=class{constructor(g,{location:A=cQ.location,threshold:I=cQ.threshold,distance:e=cQ.distance,includeMatches:t=cQ.includeMatches,findAllMatches:o=cQ.findAllMatches,minMatchCharLength:B=cQ.minMatchCharLength,isCaseSensitive:C=cQ.isCaseSensitive,ignoreDiacritics:Q=cQ.ignoreDiacritics,ignoreLocation:i=cQ.ignoreLocation}={}){if(this.options={location:A,threshold:I,distance:e,includeMatches:t,findAllMatches:o,minMatchCharLength:B,isCaseSensitive:C,ignoreDiacritics:Q,ignoreLocation:i},g=C?g:g.toLowerCase(),g=Q?aoA(g):g,this.pattern=g,this.chunks=[],!this.pattern.length)return;const E=(s,r)=>{this.chunks.push({pattern:s,alphabet:EMo(s),startIndex:r})},n=this.pattern.length;if(n>32){let s=0;const r=n%32,a=n-r;for(;s<a;)E(this.pattern.substr(s,32),s),s+=32;if(r){const c=n-32;E(this.pattern.substr(c),c)}}else E(this.pattern,0)}searchIn(g){const{isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e}=this.options;if(g=A?g:g.toLowerCase(),g=I?aoA(g):g,this.pattern===g){if(g.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const a={isMatch:!0,score:0};return e&&(a.indices=[[0,g.length-1]]),a}const{location:t,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,ignoreLocation:i}=this.options,E=[];let n=0,s=!1;this.chunks.forEach(({pattern:a,alphabet:c,startIndex:h})=>{const{isMatch:l,score:D,indices:d}=iMo(g,a,c,{location:t+h,distance:o,threshold:B,findAllMatches:C,minMatchCharLength:Q,includeMatches:e,ignoreLocation:i});l&&(s=!0),n+=D,l&&d&&E.push(...d)});const r={isMatch:s,score:s?n/this.chunks.length:1};return s&&e&&(r.indices=vCg(E)),r}};const sMo=new Set(["fuzzy","include"]);function aMo(g){return g.startsWith("inverse")}const qCg=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:g=>({type:"exact",search(A){const I=A===g;return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:g=>({type:"include",search(A){let I=0,e;const t=[],o=g.length;for(;(e=A.indexOf(g,I))>-1;)I=e+o,t.push([e,I-1]);const B=!!t.length;return{isMatch:B,score:B?0:1,indices:t}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:g=>({type:"prefix-exact",search(A){const I=A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,g.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:g=>({type:"inverse-prefix-exact",search(A){const I=!A.startsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:g=>({type:"inverse-suffix-exact",search(A){const I=!A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:g=>({type:"suffix-exact",search(A){const I=A.endsWith(g);return{isMatch:I,score:I?0:1,indices:[A.length-g.length,A.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:g=>({type:"inverse-exact",search(A){const I=A.indexOf(g)===-1;return{isMatch:I,score:I?0:1,indices:[0,A.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(g,A={})=>{const I=new TCg(g,{location:A.location??cQ.location,threshold:A.threshold??cQ.threshold,distance:A.distance??cQ.distance,includeMatches:A.includeMatches??cQ.includeMatches,findAllMatches:A.findAllMatches??cQ.findAllMatches,minMatchCharLength:A.minMatchCharLength??cQ.minMatchCharLength,isCaseSensitive:A.isCaseSensitive??cQ.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics??cQ.ignoreDiacritics,ignoreLocation:A.ignoreLocation??cQ.ignoreLocation});return{type:"fuzzy",search(e){return I.searchIn(e)}}}}],zPI=qCg.length,rMo="\0",cMo="|";function hMo(g){const A=[],I=g.length;let e=0;for(;e<I;){for(;e<I&&g[e]===" ";)e++;if(e>=I)break;let t=e;for(;t<I&&g[t]!==" "&&g[t]!=='"';)t++;if(t<I&&g[t]==='"'){for(t++;t<I;){if(g[t]==='"'){const o=t+1;if(o>=I||g[o]===" "){t++;break}if(g[o]==="$"&&(o+1>=I||g[o+1]===" ")){t+=2;break}}t++}A.push(g.substring(e,t)),e=t}else{for(;t<I&&g[t]!==" ";)t++;A.push(g.substring(e,t)),e=t}}return A}function XPI(g,A){const I=g.match(A);return I?I[1]:null}function lMo(g,A={}){return g.replace(/\\\|/g,rMo).split(cMo).map(I=>{const e=hMo(I.replace(/\u0000/g,"|").trim()).filter(o=>o&&!!o.trim()),t=[];for(let o=0,B=e.length;o<B;o+=1){const C=e[o];let Q=!1,i=-1;for(;!Q&&++i<zPI;){const E=qCg[i],n=XPI(C,E.multiRegex);n&&(t.push(E.create(n,A)),Q=!0)}if(!Q)for(i=-1;++i<zPI;){const E=qCg[i],n=XPI(C,E.singleRegex);if(n){t.push(E.create(n,A));break}}}return t})}var DMo=class{constructor(g,{isCaseSensitive:A=cQ.isCaseSensitive,ignoreDiacritics:I=cQ.ignoreDiacritics,includeMatches:e=cQ.includeMatches,minMatchCharLength:t=cQ.minMatchCharLength,ignoreLocation:o=cQ.ignoreLocation,findAllMatches:B=cQ.findAllMatches,location:C=cQ.location,threshold:Q=cQ.threshold,distance:i=cQ.distance}={}){this.query=null,this.options={isCaseSensitive:A,ignoreDiacritics:I,includeMatches:e,minMatchCharLength:t,findAllMatches:B,ignoreLocation:o,location:C,threshold:Q,distance:i},g=A?g:g.toLowerCase(),g=I?aoA(g):g,this.pattern=g,this.query=lMo(this.pattern,this.options)}static condition(g,A){return A.useExtendedSearch}searchIn(g){const A=this.query;if(!A)return{isMatch:!1,score:1};const{includeMatches:I,isCaseSensitive:e,ignoreDiacritics:t}=this.options;g=e?g:g.toLowerCase(),g=t?aoA(g):g;let o=0;const B=[];let C=0,Q=!1;for(let i=0,E=A.length;i<E;i+=1){const n=A[i];B.length=0,o=0,Q=!1;for(let s=0,r=n.length;s<r;s+=1){const a=n[s],{isMatch:c,indices:h,score:l}=a.search(g);if(c)o+=1,C+=l,aMo(a.type)&&(Q=!0),I&&(sMo.has(a.type)?B.push(...h):B.push(h));else{C=0,o=0,B.length=0,Q=!1;break}}if(o){const s={isMatch:!0,score:C/o};return Q&&(s.hasInverse=!0),I&&(s.indices=vCg(B)),s}}return{isMatch:!1,score:1}}};const ZCg=[];function OCg(...g){ZCg.push(...g)}function apA(g,A){for(let I=0,e=ZCg.length;I<e;I+=1){const t=ZCg[I];if(t.condition(g,A))return new t(g,A)}return new TCg(g,A)}const rpA={AND:"$and",OR:"$or"},WCg={PATH:"$path",PATTERN:"$val"},VCg=g=>!!(g[rpA.AND]||g[rpA.OR]),dMo=g=>!!g[WCg.PATH],yMo=g=>!FL(g)&&TPI(g)&&!VCg(g),$PI=g=>({[rpA.AND]:Object.keys(g).map(A=>({[A]:g[A]}))});function A4I(g,A,{auto:I=!0}={}){const e=t=>{if(uG(t)){const Q={keyId:null,pattern:t};return I&&(Q.searcher=apA(t,A)),Q}const o=Object.keys(t),B=dMo(t);if(!B&&o.length>1&&!VCg(t))return e($PI(t));if(yMo(t)){const Q=B?t[WCg.PATH]:o[0],i=B?t[WCg.PATTERN]:t[Q];if(!uG(i))throw new Error(Xko(Q));const E={keyId:spA(Q),pattern:i};return I&&(E.searcher=apA(i,A)),E}const C={children:[],operator:o[0]};return o.forEach(Q=>{const i=t[Q];FL(i)&&i.forEach(E=>{C.children.push(e(E))})}),C};return VCg(g)||(g=$PI(g)),e(g)}function jCg(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){let I=1;return g.forEach(({key:e,norm:t,score:o})=>{const B=e?e.weight:null;I*=Math.pow(o===0&&B?Number.EPSILON:o,(B||1)*(A?1:t))}),I}function wMo(g,{ignoreFieldNorm:A=cQ.ignoreFieldNorm}){g.forEach(I=>{I.score=jCg(I.matches,{ignoreFieldNorm:A})})}var uMo=class{constructor(g,A){this.limit=g,this.heap=[],this.comparator=A}get size(){return this.heap.length}insert(g){this.size<this.limit?(this.heap.push(g),this._bubbleUp(this.size-1)):this.comparator(g,this.heap[0])<0&&(this.heap[0]=g,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(g){const A=this.heap;for(;g>0;){const I=g-1>>1;if(this.comparator(A[g],A[I])<=0)break;const e=A[g];A[g]=A[I],A[I]=e,g=I}}_sinkDown(g){const A=this.heap,I=A.length;let e=g;do{g=e;const t=2*g+1,o=2*g+2;if(t<I&&this.comparator(A[t],A[e])>0&&(e=t),o<I&&this.comparator(A[o],A[e])>0&&(e=o),e!==g){const B=A[g];A[g]=A[e],A[e]=B}}while(e!==g)}};function GMo(g){const A=[];return g.matches.forEach(I=>{if(!NS(I.indices)||!I.indices.length)return;const e={indices:I.indices,value:I.value};I.key&&(e.key=I.key.id),I.idx>-1&&(e.refIndex=I.idx),A.push(e)}),A}function mMo(g,A,{includeMatches:I=cQ.includeMatches,includeScore:e=cQ.includeScore}={}){return g.map(t=>{const{idx:o}=t,B={item:A[o],refIndex:o};return I&&(B.matches=GMo(t)),e&&(B.score=t.score),B})}const pMo=/[\p{L}\p{M}\p{N}_]+/gu,g4I=new WeakSet;function kMo(g){g4I.has(g)||(g4I.add(g),console.warn(`[Fuse] tokenize regex ${g} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function MMo(g){if(typeof g=="function"){let A=!1;return I=>{const e=g(I);if(!A&&(A=!0,!Array.isArray(e)||e.some(t=>typeof t!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(e)?"array containing non-strings":typeof e}.`);return e}}return g instanceof RegExp?(g.global||kMo(g),A=>A.match(g)||[]):A=>A.match(pMo)||[]}function zCg({isCaseSensitive:g=!1,ignoreDiacritics:A=!1,tokenize:I}={}){const e=MMo(I);return{tokenize(t){return g||(t=t.toLowerCase()),A&&(t=aoA(t)),e(t)}}}var SMo=class{static condition(g,A){return A.useTokenSearch}constructor(g,A){this.options=A,this.analyzer=zCg({isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,tokenize:A.tokenize});const I=this.analyzer.tokenize(g),{df:e,fieldCount:t}=A._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const o of I){this.termSearchers.push(new TCg(o,{location:A.location,threshold:A.threshold,distance:A.distance,includeMatches:A.includeMatches,findAllMatches:A.findAllMatches,minMatchCharLength:A.minMatchCharLength,isCaseSensitive:A.isCaseSensitive,ignoreDiacritics:A.ignoreDiacritics,ignoreLocation:!0}));const B=e.get(o)||0,C=Math.log(1+(t-B+.5)/(B+.5));this.idfWeights.push(C)}this.combineAll=A.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(g){if(!this.termSearchers.length)return{isMatch:!1,score:1};const A=[];let I=0,e=0,t=0,o=0;const B=this.combineAll&&!this.useMask?new Set:null;for(let i=0;i<this.termSearchers.length;i++){const E=this.termSearchers[i].searchIn(g),n=this.idfWeights[i];e+=n,E.isMatch&&(t++,I+=n*(1-E.score),E.indices&&A.push(...E.indices),this.combineAll&&(this.useMask?o|=1<<i:B.add(i)))}if(t===0)return{isMatch:!1,score:1};const C=e>0?1-I/e:0,Q={isMatch:!0,score:Math.max(.001,C)};return this.options.includeMatches&&A.length&&(Q.indices=vCg(A)),this.combineAll&&(this.useMask?Q.matchedMask=o:Q.matchedTerms=B,Q.termCount=this.numTerms),Q}};function XCg(g,A,I,e){const t=e.tokenize(A);if(!t.length)return;g.fieldCount++,g.docFieldCount.set(I,(g.docFieldCount.get(I)||0)+1);const o=new Set(t);let B=g.docTermFieldHits.get(I);B||(B=new Map,g.docTermFieldHits.set(I,B));for(const C of o)B.set(C,(B.get(C)||0)+1),g.df.set(C,(g.df.get(C)||0)+1)}function I4I(g,A,I,e){const{i:t,v:o,$:B}=A;if(o!==void 0){XCg(g,o,t,e);return}if(B)for(let C=0;C<I;C++){const Q=B[C];if(Q)if(Array.isArray(Q))for(const i of Q)XCg(g,i.v,t,e);else XCg(g,Q.v,t,e)}}function fMo(g,A,I){const e={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const t of g)I4I(e,t,A,I);return e}function RMo(g,A,I,e){I4I(g,A,I,e)}function NMo(g,A){const I=g.docFieldCount.get(A);if(I===void 0)return;g.fieldCount-=I,g.docFieldCount.delete(A);const e=g.docTermFieldHits.get(A);if(e){for(const[t,o]of e){const B=(g.df.get(t)||0)-o;B<=0?g.df.delete(t):g.df.set(t,B)}g.docTermFieldHits.delete(A)}}function e4I(g,A){if(A.length===0)return;const I=Array.from(new Set(A)).sort((C,Q)=>C-Q);for(const C of I)NMo(g,C);const e=C=>{let Q=0,i=I.length;for(;Q<i;){const E=Q+i>>>1;I[E]<C?Q=E+1:i=E}return C-Q},t=I[0],o=new Map;for(const[C,Q]of g.docFieldCount)o.set(C>t?e(C):C,Q);g.docFieldCount=o;const B=new Map;for(const[C,Q]of g.docTermFieldHits)B.set(C>t?e(C):C,Q);g.docTermFieldHits=B}var UL=class{constructor(g,A,I){this.options={...cQ,...A},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new eMo(this.options.keys),this._docs=g,this._myIndex=null,this._invertedIndex=null,this.setCollection(g,I),this._lastQuery=null,this._lastSearcher=null}_getSearcher(g){if(this._lastQuery===g)return this._lastSearcher;const A=apA(g,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=g,this._lastSearcher=A,A}setCollection(g,A){if(this._docs=g,A&&!(A instanceof HCg))throw new Error(zko);if(this._myIndex=A||VPI(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const I=zCg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=fMo(this._myIndex.records,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}add(g){if(!NS(g))return;this._docs.push(g);const A=this._myIndex.add(g,this._docs.length-1);if(this._invertedIndex&&A){const I=zCg({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});RMo(this._invertedIndex,A,this._myIndex.keys.length,I)}this._invalidateSearcherCache()}remove(g=()=>!1){const A=[],I=[];for(let e=0,t=this._docs.length;e<t;e+=1)g(this._docs[e],e)&&(A.push(this._docs[e]),I.push(e));if(I.length){this._invertedIndex&&e4I(this._invertedIndex,I);const e=new Set(I);this._docs=this._docs.filter((t,o)=>!e.has(o)),this._myIndex.removeAll(I),this._invalidateSearcherCache()}return A}removeAt(g){if(!Number.isInteger(g)||g<0||g>=this._docs.length)throw new Error(bCg);this._invertedIndex&&e4I(this._invertedIndex,[g]);const A=this._docs.splice(g,1)[0];return this._myIndex.removeAt(g),this._invalidateSearcherCache(),A}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(g=>this._keyStore.get(g.id)||g)}search(g,A){const{limit:I=-1}=A||{},{includeMatches:e,includeScore:t,shouldSort:o,sortFn:B,ignoreFieldNorm:C}=this.options;if(uG(g)&&!g.trim()){let s=this._docs.map((r,a)=>({item:r,refIndex:a}));return EpA(I)&&I>-1&&(s=s.slice(0,I)),s}const Q=o&&EpA(I)&&I>0&&uG(g),i=B,E=(s,r)=>i(s,r)||s.idx-r.idx;let n;if(Q){const s=new uMo(I,E);uG(this._docs[0])?this._searchStringList(g,{heap:s,ignoreFieldNorm:C}):this._searchObjectList(g,{heap:s,ignoreFieldNorm:C}),n=s.extractSorted()}else n=uG(g)?uG(this._docs[0])?this._searchStringList(g):this._searchObjectList(g):this._searchLogical(g),wMo(n,{ignoreFieldNorm:C}),o&&n.sort(uG(g)?E:i),EpA(I)&&I>-1&&(n=n.slice(0,I));return mMo(n,this._docs,{includeMatches:e,includeScore:t})}_searchStringList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=A?null:[];return o.forEach(({v:C,i:Q,n:i})=>{if(!NS(C))return;const E=e.searchIn(C);if(E.isMatch){const n={score:E.score,value:C,norm:i,indices:E.indices};t&&(n.matchedMask=E.matchedMask,n.matchedTerms=E.matchedTerms,n.termCount=E.termCount);const s=[n];if(!t||this._coversAllTokens(s)){const r={item:C,idx:Q,matches:s};A?(r.score=jCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):B.push(r)}}}),B}_searchLogical(g){const A=A4I(g,this.options),I=this._normalizedKeys(),e=(C,Q,i)=>{if(!("children"in C)){const{keyId:r,searcher:a}=C;let c;return r===null?(c=[],I.forEach((h,l)=>{c.push(...this._findMatches({key:h,value:Q[l],searcher:a}))})):c=this._findMatches({key:this._keyStore.get(r),value:this._myIndex.getValueForItemAtKeyId(Q,r),searcher:a}),c&&c.length?[{idx:i,item:Q,matches:c}]:[]}const{children:E,operator:n}=C,s=[];for(let r=0,a=E.length;r<a;r+=1){const c=E[r],h=e(c,Q,i);if(h.length)s.push(...h);else if(n===rpA.AND)return[]}return s},t=this._myIndex.records,o=new Map,B=[];return t.forEach(({$:C,i:Q})=>{if(NS(C)){const i=e(A,C,Q);i.length&&(o.has(Q)||(o.set(Q,{idx:Q,item:C,matches:[]}),B.push(o.get(Q))),i.forEach(({matches:E})=>{o.get(Q).matches.push(...E)}))}}),B}_searchObjectList(g,{heap:A,ignoreFieldNorm:I}={}){const e=this._getSearcher(g),t=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:o}=this._myIndex,B=this._normalizedKeys(),C=A?null:[];return o.forEach(({$:Q,i})=>{if(!NS(Q))return;const E=[];let n=!1,s=!1;if(B.forEach((r,a)=>{const c=this._findMatches({key:r,value:Q[a],searcher:e});c.length?(E.push(...c),c[0].hasInverse&&(s=!0)):n=!0}),!(s&&n)&&E.length&&(!t||this._coversAllTokens(E))){const r={idx:i,item:Q,matches:E};A?(r.score=jCg(r.matches,{ignoreFieldNorm:I}),A.insert(r)):C.push(r)}}),C}_findMatches({key:g,value:A,searcher:I}){if(!NS(A))return[];const e=[];if(FL(A))A.forEach(({v:t,i:o,n:B})=>{if(!NS(t))return;const C=I.searchIn(t);if(C.isMatch){const Q={score:C.score,key:g,value:t,idx:o,norm:B,indices:C.indices,hasInverse:C.hasInverse};C.termCount!==void 0&&(Q.matchedMask=C.matchedMask,Q.matchedTerms=C.matchedTerms,Q.termCount=C.termCount),e.push(Q)}});else{const{v:t,n:o}=A,B=I.searchIn(t);if(B.isMatch){const C={score:B.score,key:g,value:t,norm:o,indices:B.indices,hasInverse:B.hasInverse};B.termCount!==void 0&&(C.matchedMask=B.matchedMask,C.matchedTerms=B.matchedTerms,C.termCount=B.termCount),e.push(C)}}return e}_coversAllTokens(g){const A=g.length?g[0].termCount:void 0;if(A===void 0)return!0;if(A<=31){let e=0;for(let t=0;t<g.length;t++)e|=g[t].matchedMask||0;return e===2**A-1}const I=new Set;for(let e=0;e<g.length;e++){const t=g[e].matchedTerms;if(t)for(const o of t)I.add(o)}return I.size===A}};UL.version="7.5.0",UL.createIndex=VPI,UL.parseIndex=CMo,UL.config=cQ,UL.match=function(g,A,I){if(I&&I.useTokenSearch)throw new Error(IMo);return apA(g,{...cQ,...I}).searchIn(A)},UL.parseQuery=A4I,OCg(DMo),OCg(SMo),UL.use=function(...g){g.forEach(A=>OCg(A))};var xMo=UL;const FMo="https://kicad-mod-cache.tscircuit.com";let $Cg=null,roA=null,AQg=null;const UMo=async()=>$Cg||roA||(roA=fetch("https://kicad-mod-cache.tscircuit.com/kicad_files.json").then(g=>g.json()).then(g=>($Cg=g,roA=null,g)),roA),JMo=async(g,A=20)=>{const I=await UMo();return AQg||(AQg=new xMo(I)),AQg.search(g).slice(0,A).map(e=>e.item)},PMo=g=>{const A=g.replace(".pretty/","/").replace(".kicad_mod",""),I=`kicad:${A}`;return{path:g,qualifiedName:I,description:A}},KMo=g=>g.replace(/^\/+/,"").split("/").map(A=>encodeURIComponent(A)).join("/"),LMo=async g=>{const A=await fetch(`${FMo}/${KMo(g)}`);if(!A.ok)throw new Error(`KiCad footprint fetch failed: ${A.status}`);const I=await A.text(),{KicadFootprintToCircuitJsonConverter:e}=await RS("kicad-to-circuit-json"),t=new e;return t.addFile(g.split("/").pop()??"selected-footprint.kicad_mod",I),t.runUntilFinished(),t.getOutput()},t4I=g=>g?.source==="jlcpcb"||g?.source==="kicad",YMo=async(g,A)=>{if(g.source==="jlcpcb")return Oko(g.component.partNumber,A?.jlcpcb);if(g.source==="kicad")return LMo(g.footprint.path);throw new Error("Footprint preview is not available for this source")},_Mo=({query:g,placeholder:A,isSearching:I,onQueryChange:e,onSubmit:t})=>{const o=z.useCallback(B=>{B.key==="Enter"&&(B.preventDefault(),t())},[t]);return T.jsxs("div",{className:"rf-flex rf-items-center rf-gap-2 rf-mt-4",children:[T.jsxs("div",{className:"rf-relative rf-flex-grow",children:[T.jsx(Oog,{className:"rf-absolute rf-left-2 rf-top-2.5 rf-h-4 rf-w-4 rf-text-muted-foreground"}),T.jsx(dCg,{placeholder:A,className:"rf-pl-8",spellCheck:!1,autoComplete:"off",value:g,onChange:B=>e(B.target.value),onKeyDown:o})]}),T.jsx(si,{onClick:t,disabled:I||g.trim().length<1,className:"sm:rf-px-4 rf-px-3",children:I?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):T.jsxs(T.Fragment,{children:[T.jsx(Oog,{className:"rf-h-4 rf-w-4 sm:rf-hidden"}),T.jsx("span",{className:"rf-hidden sm:rf-inline",children:"Search"})]})})]})},bMo=new Intl.NumberFormat("en-US",{style:"currency",currency:"USD"}),HMo=g=>bMo.format(g),o4I=g=>{switch(g.source){case"tscircuit.com":{const A=g.package;return`tscircuit-${A.package_id??`${A.org_owner_tscircuit_handle??"unknown"}-${A.unscoped_name??A.name??"package"}`}`}case"jlcpcb":return`jlc-${g.component.lcscId}`;case"kicad":return`kicad-${g.footprint.path}`;default:return"unknown"}},vMo=g=>{switch(g.source){case"tscircuit.com":return g.package.unscoped_name;case"jlcpcb":return g.component.isDirectLookup?g.component.partNumber:g.component.manufacturer;case"kicad":return g.footprint.qualifiedName}},TMo=g=>{switch(g.source){case"tscircuit.com":return g.package.description||(g.package.org_owner_tscircuit_handle?`Component by ${g.package.org_owner_tscircuit_handle}`:void 0);case"jlcpcb":return g.component.description;case"kicad":return g.footprint.description}},qMo=g=>{switch(g.source){case"tscircuit.com":return g.package.name;case"jlcpcb":return g.component.isDirectLookup?void 0:g.component.partNumber;case"kicad":return}},ZMo=({results:g,selected:A,onSelect:I,onShowDetails:e})=>{const t=A?o4I(A):null;return T.jsx("div",{className:"rf-divide-y rf-w-full rf-overflow-hidden",children:g.map(o=>{const B=o4I(o),C=t===B,Q=vMo(o),i=TMo(o),E=qMo(o),n=o.source==="jlcpcb"?o.component.stock:null,s=o.source==="jlcpcb"?o.component.price:null,r=o.source==="jlcpcb"?o.component.isBasic:null,a=o.source==="jlcpcb"?o.component.isDirectLookup:!1;return T.jsxs("div",{className:`rf-p-3 rf-flex rf-flex-col sm:rf-grid sm:rf-grid-cols-[minmax(0,1fr)_auto] rf-items-start sm:rf-items-center rf-cursor-pointer hover:rf-bg-zinc-100 rf-gap-2 rf-overflow-hidden ${C?"rf-bg-zinc-100":""}`,onClick:()=>I(o),children:[T.jsxs("div",{className:"rf-min-w-0 rf-overflow-hidden rf-w-full",children:[T.jsxs("div",{className:"rf-flex rf-items-start rf-gap-2 rf-min-w-0",children:[T.jsxs("div",{className:"rf-font-medium rf-text-sm rf-truncate rf-flex-1 rf-min-w-0 rf-flex rf-items-center rf-gap-1.5",children:[Q,o.source==="jlcpcb"&&r!=null&&T.jsx("span",{className:`rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 ${r?"rf-bg-green-100 rf-text-green-700":"rf-bg-orange-100 rf-text-orange-700"}`,children:r?"Basic":"Extended"}),a&&T.jsx("span",{className:"rf-text-xs rf-px-1.5 rf-py-0.5 rf-rounded rf-font-medium rf-flex-shrink-0 rf-bg-blue-100 rf-text-blue-700",children:"Direct lookup"}),o.source==="tscircuit.com"&&o.package.is_private&&T.jsx(Eco,{className:"rf-ml-1 rf-h-3 rf-w-3 rf-text-zinc-400 rf-flex-shrink-0"})]}),o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 sm:rf-hidden",children:[n.toLocaleString()," in stock"]}):null]}),T.jsxs("div",{className:"rf-text-xs rf-text-zinc-500 rf-truncate rf-w-full",children:[E?T.jsx("span",{className:"rf-mr-2",children:E}):null,i]})]}),T.jsxs("div",{children:[o.source==="tscircuit.com"&&e?T.jsx("div",{className:"rf-flex-shrink-0 rf-w-full sm:rf-w-auto",children:T.jsx(si,{variant:"outline",size:"sm",className:"rf-text-xs rf-w-full sm:rf-w-auto",onClick:c=>{c.stopPropagation(),e(o)},children:"See Details"})}):o.source==="jlcpcb"&&n!=null?T.jsxs("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0",children:[n.toLocaleString()," in stock"]}):null,s!=null&&T.jsx("div",{className:"rf-hidden sm:rf-block rf-text-xs rf-text-zinc-500 rf-font-medium rf-whitespace-nowrap rf-flex-shrink-0 rf-text-right",children:HMo(s)})]})]},B)})})},OMo=({circuitJson:g,error:A,isLoading:I,height:e})=>T.jsx("section",{className:"rf-flex rf-min-w-0 rf-items-center rf-justify-center",style:{height:e},children:I?T.jsxs("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-gap-2 rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:[T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),"Loading preview..."]}):A?T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-p-4",style:{height:e},children:T.jsxs("div",{className:"rf-flex rf-max-w-[320px] rf-items-start rf-gap-2 rf-text-sm rf-text-zinc-300",children:[T.jsx(qog,{className:"rf-mt-0.5 rf-h-4 rf-w-4 rf-flex-shrink-0"}),T.jsx("span",{children:A})]})}):g?T.jsx("div",{className:"rf-w-full rf-min-w-0 rf-overflow-hidden",children:T.jsx(Hog,{circuitJson:g,height:e,allowEditing:!1,clickToInteractEnabled:!1,focusOnHover:!1,disablePcbGroups:!0})}):T.jsx("div",{className:"rf-flex rf-w-full rf-items-center rf-justify-center rf-bg-zinc-950 rf-text-sm rf-text-zinc-300",style:{height:e},children:"No preview"})}),B4I={importComponentDialog:101,importComponentDetailsDialog:102},WMo=({packageResult:g,isOpen:A,onOpenChange:I,isLoading:e,details:t,previewTab:o,onPreviewTabChange:B,isSubmitting:C,onImport:Q})=>{const i=g?.package??null,E=i?.latest_pcb_preview_image_url,n=i?.latest_sch_preview_image_url,s=i?.latest_cad_preview_image_url,r=i?.unscoped_name?.split("/").pop()??i?.unscoped_name,a=i?.org_owner_tscircuit_handle??void 0,c=a?`https://tscircuit.com/${a}`:void 0,h=a&&r?`https://tscircuit.com/${a}/${r}`:void 0;return T.jsx(Yb,{open:A,onOpenChange:I,children:T.jsxs(RL,{showOverlay:!1,style:{width:"calc(100vw - 2rem)",zIndex:B4I.importComponentDetailsDialog},className:"rf-max-w-5xl no-scrollbar !rf-overflow-y-auto rf-max-h-[90vh] rf-overflow-hidden rf-flex rf-flex-col rf-rounded-sm",children:[T.jsx(NL,{className:"rf-pb-4 rf-border-b",children:T.jsx("div",{className:"rf-flex rf-items-start rf-justify-between rf-gap-4",children:T.jsxs("div",{className:"rf-flex-1 rf-min-w-0",children:[T.jsx(xL,{className:"rf-text-xl rf-font-semibold rf-truncate",children:r}),T.jsx(_b,{children:i?.description})]})})}),T.jsxs("div",{className:"rf-flex-1 rf-overflow-y-auto rf-py-4 rf-space-y-6",children:[a?T.jsxs("div",{children:[T.jsx("span",{className:"rf-text-xs rf-font-medium rf-text-gray-500 rf-uppercase rf-tracking-wide",children:"Created by"}),T.jsx("div",{className:"rf-mt-1 rf-text-sm rf-font-medium",children:c?T.jsx("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"rf-text-black hover:rf-underline",children:a}):a})]}):null,(s||E||n)&&T.jsx(T.Fragment,{children:T.jsxs("div",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-4",children:"Preview"}),T.jsxs(VvA,{value:o,onValueChange:l=>B(l),children:[T.jsxs(LDA,{className:"rf-inline-flex rf-h-9 rf-items-center rf-justify-center rf-rounded-lg rf-bg-zinc-100 rf-p-1 rf-text-zinc-500 dark:rf-bg-zinc-800 dark:rf-text-zinc-400",children:[E&&T.jsx(mx,{value:"pcb",children:"PCB"}),n&&T.jsx(mx,{value:"schematic",children:"Schematic"}),s&&T.jsx(mx,{value:"3d",children:"3D"})]}),T.jsxs("div",{className:"rf-mt-4",children:[T.jsx(xy,{value:"pcb",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:E?T.jsx("img",{src:E,alt:`${r??"package"} PCB preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(xy,{value:"schematic",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:n?T.jsx("img",{src:n,alt:`${r??"package"} schematic preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null}),T.jsx(xy,{value:"3d",className:"rf-border rf-rounded-lg rf-overflow-hidden rf-bg-gray-50",children:s?T.jsx("img",{src:s,alt:`${r??"package"} 3D preview`,className:"rf-w-full rf-h-full rf-object-contain rf-bg-white rf-p-4"}):null})]})]})]})}),t?.ai_description?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"AI Description"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed",children:t.ai_description})})]}):null,t?.ai_usage_instructions?T.jsxs("section",{children:[T.jsx("h3",{className:"rf-text-lg rf-font-semibold rf-mb-3",children:"Usage Instructions"}),T.jsx("div",{className:"rf-bg-gray-50 rf-border rf-border-gray-200 rf-rounded-lg rf-p-4",children:T.jsx("p",{className:"rf-text-sm rf-text-gray-700 rf-leading-relaxed rf-whitespace-pre-wrap",children:t.ai_usage_instructions})})]}):null,e?T.jsxs("div",{className:"rf-flex rf-justify-center rf-items-center rf-gap-2 rf-text-gray-500",children:[T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}),T.jsx("span",{className:"rf-text-sm",children:"Loading package details..."})]}):null]}),T.jsxs(YO,{className:"rf-pt-4 rf-border-t rf-flex rf-flex-col sm:rf-flex-row rf-justify-between rf-gap-2",children:[T.jsx("div",{className:"rf-flex-1",children:h?T.jsxs(si,{variant:"outline",size:"sm",className:"rf-gap-2 rf-w-full sm:rf-w-auto",onClick:()=>window.open(h,"_blank"),children:[T.jsx(eco,{className:"rf-h-4 rf-w-4"}),"View on tscircuit.com"]}):null}),T.jsxs("div",{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:()=>I(!1),className:"rf-order-2 sm:rf-order-1",children:"Close"}),T.jsx(si,{onClick:Q,disabled:C,className:"rf-bg-blue-600 hover:rf-bg-blue-700",children:C?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import Component"})]})]})]})})},VMo=()=>{const[g,A]=z.useState(null),[I,e]=z.useState(!1),t=z.useCallback(async(B,C)=>{e(!0);try{const Q=await fetch(`https://api.tscircuit.com/packages/get?name=${encodeURIComponent(`${B}/${C}`)}`);if(!Q.ok)throw new Error(`Failed to load package details: ${Q.status}`);const i=await Q.json();A(i.package??null)}catch(Q){console.error("Failed to fetch package details",Q),A(null)}finally{e(!1)}},[]),o=z.useCallback(()=>{A(null),e(!1)},[]);return{details:g,isLoading:I,fetchDetails:t,reset:o}},jMo=(g,A)=>{const[I,e]=z.useState({circuitJson:null,error:null,isLoading:!1});return z.useEffect(()=>{if(!g||!t4I(g)){e({circuitJson:null,error:null,isLoading:!1});return}let t=!1;return e({circuitJson:null,error:null,isLoading:!0}),YMo(g,A).then(o=>{t||e({circuitJson:o,error:null,isLoading:!1})}).catch(o=>{t||e({circuitJson:null,error:o instanceof Error?o.message:"Failed to load footprint preview",isLoading:!1})}),()=>{t=!0}},[g,A]),I},zMo=async(g,A)=>{const I={"Content-Type":"application/json"};A&&(I.Authorization=`Bearer ${A}`);const e=await fetch("https://registry-api.tscircuit.com/packages/search",{method:"POST",headers:I,body:JSON.stringify({query:g})});if(!e.ok)throw new Error(`tscircuit registry error: ${e.status}`);return(await e.json()).packages??[]},XMo=({sessionToken:g})=>{const[A,I]=z.useState([]),[e,t]=z.useState(!1),[o,B]=z.useState(null),[C,Q]=z.useState(!1),i=z.useCallback(async n=>{const s=n.trim();if(!s)return[];t(!0),B(null);try{const a=(await zMo(s,g)).map(c=>({source:"tscircuit.com",package:c}));return I(a),a}catch(r){return console.error("Error searching tscircuit packages",r),I([]),B(r instanceof Error?r.message:"Failed to search tscircuit packages"),[]}finally{t(!1),Q(!0)}},[g]),E=z.useCallback(()=>{I([]),t(!1),B(null),Q(!1)},[]);return{results:A,isSearching:e,error:o,hasSearched:C,search:i,reset:E}},$Mo=g=>{const A=/^C(\d+)$/i.exec(g.trim());if(!A)return null;const I=Number(A[1]);if(!Number.isSafeInteger(I))return null;const e=`C${A[1]}`;return{source:"jlcpcb",component:{lcscId:I,manufacturer:e,partNumber:e,description:"Import directly from EasyEDA; stock and availability are unknown",package:"",isDirectLookup:!0}}},C4I=(g,A)=>{const I=$Mo(g);return I?A.some(t=>t.component.partNumber.toUpperCase()===I.component.partNumber)?A:[I,...A]:A},ASo=g=>{const A=g.trim();return/^C\d+/i.test(A)?A.replace(/^C/i,""):A},gSo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=ASo(E);if(!n)return[];e(!0),o(null);try{const s=await Tko(n,10),r=C4I(E,s.map(a=>({source:"jlcpcb",component:qko(a)})));return A(r),r}catch(s){console.error("Error searching JLCPCB components",s);const r=C4I(E,[]);return A(r),o(r.length>0?null:s instanceof Error?s.message:"Failed to search JLCPCB components"),r}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},ISo=()=>{const[g,A]=z.useState([]),[I,e]=z.useState(!1),[t,o]=z.useState(null),[B,C]=z.useState(!1),Q=z.useCallback(async E=>{const n=E.trim();if(!n)return[];e(!0),o(null);try{const r=(await JMo(n,20)).map(a=>({source:"kicad",footprint:PMo(a)}));return A(r),r}catch(s){return console.error("Error searching KiCad footprints",s),A([]),o(s instanceof Error?s.message:"Failed to search KiCad footprints"),[]}finally{e(!1),C(!0)}},[]),i=z.useCallback(()=>{A([]),e(!1),o(null),C(!1)},[]);return{results:g,isSearching:I,error:t,hasSearched:B,search:Q,reset:i}},eSo=({onTscircuitPackageSelected:g,onJlcpcbComponentTsxLoaded:A,onKicadStringSelected:I})=>{const e=[];return g&&e.push("tscircuit.com"),A&&e.push("jlcpcb"),I&&e.push("kicad"),e},tSo=({isOpen:g,onClose:A,jlcpcbProxyRequestHeaders:I,onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o,jlcpcbProxyApiBase:B,tscircuitSessionToken:C})=>{ioA();const Q=z.useMemo(()=>eSo({onKicadStringSelected:e,onTscircuitPackageSelected:t,onJlcpcbComponentTsxLoaded:o}),[e,t,o]),i=Q.length>0,E=Q.length===1,[n,s]=z.useState(Q[0]??"tscircuit.com"),[r,a]=z.useState(""),[c,h]=z.useState(null),{results:l,isSearching:D,error:d,hasSearched:y,search:w,reset:u}=XMo({sessionToken:C}),{results:G,isSearching:m,error:p,hasSearched:k,search:S,reset:R}=gSo(),{results:x,isSearching:N,error:U,hasSearched:K,search:Y,reset:_}=ISo(),{details:q,isLoading:j,fetchDetails:W,reset:Z}=VMo(),[$,eA]=z.useState(null),[IA,QA]=z.useState(!1),[sA,lA]=z.useState("pcb"),[BA,hA]=z.useState(null),[nA,aA]=z.useState(!1),SA=z.useMemo(()=>({jlcpcb:{headers:I,apiBase:B}}),[B,I]),{circuitJson:FA,error:rA,isLoading:NA}=jMo(c,SA),RA=t4I(c);z.useEffect(()=>{hA(null)},[c]);const xA=z.useCallback(()=>{u(),R(),_(),h(null)},[R,_,u]);z.useEffect(()=>{g||(xA(),a(""),QA(!1),eA(null),hA(null))},[g,xA]),z.useEffect(()=>{a(""),h(null),n==="tscircuit.com"?u():n==="jlcpcb"?R():n==="kicad"&&_()},[n,R,_,u]);const bA=kA=>{h(kA),eA(kA),lA("pcb"),QA(!0),Z();const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(OA&&$A){const og=$A.split("/").pop()??$A;W(OA,og)}},JA=async()=>{r.trim()&&(h(null),n==="tscircuit.com"?await w(r):n==="jlcpcb"?await S(r):n==="kicad"&&await Y(r))},mA=async kA=>{try{if(hA(null),aA(!0),kA.source==="kicad"){if(!e)throw new Error("KiCad handler not provided");await e({result:kA,footprint:kA.footprint.qualifiedName})}else if(kA.source==="jlcpcb"){if(!o)throw new Error("JLCPCB handler not provided");const OA=await Zko(kA.component.partNumber,{headers:I,apiBase:B});await o({result:kA,tsx:OA})}else if(kA.source==="tscircuit.com"){if(!t)throw new Error("tscircuit package handler not provided");const OA=kA.package.org_owner_tscircuit_handle,$A=kA.package.unscoped_name;if(!OA||!$A)throw new Error("Missing package metadata");const og=$A.split("/").pop()??$A,dg=`@tsci/${OA}.${og}`;await t({result:kA,fullPackageName:dg})}return!0}catch(OA){return console.error("Failed to import component",OA),hA(OA instanceof Error?OA.message:"Failed to import component"),!1}finally{aA(!1)}};let LA=[],dA=!1,HA=null,WA=!1;n==="tscircuit.com"?(LA=l,dA=D,HA=d,WA=y):n==="jlcpcb"?(LA=G,dA=m,HA=p,WA=k):n==="kicad"&&(LA=x,dA=N,HA=U,WA=K);const Qg=async()=>{if(!c)return;await mA(c)&&(A(),xA(),a(""))},YA=kA=>{kA||A()},uA=kA=>{QA(kA),kA||eA(null)};return T.jsxs(Yb,{open:g,onOpenChange:YA,children:[T.jsxs(RL,{style:{width:"calc(100vw - 2rem)",maxWidth:RA?"min(1120px, calc(100vw - 2rem))":"min(672px, calc(100vw - 2rem))",zIndex:B4I.importComponentDialog},className:"rf-rounded-sm rf-max-h-[90vh] rf-overflow-y-auto rf-overflow-x-hidden rf-flex rf-flex-col",children:[T.jsxs(NL,{children:[T.jsxs(xL,{className:"rf-text-lg sm:rf-text-xl",children:["Import ",E?ipA[n].label:""," ","Component"]}),T.jsx(_b,{className:"rf-text-sm",children:i?"Search for components from available sources.":"Import options are disabled because no handlers were provided."})]}),i?T.jsxs(VvA,{value:n,onValueChange:kA=>s(kA),className:"rf-min-w-0 rf-w-full",children:[!E&&T.jsx(LDA,{className:"rf-flex rf-w-full rf-gap-2",children:Q.map(kA=>T.jsx(mx,{value:kA,className:"rf-flex-1 rf-text-xs sm:rf-text-sm",children:ipA[kA].label},kA))}),T.jsxs("div",{className:"rf-min-w-0",style:RA?{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(360px, 0.95fr)",gap:"1.5rem",alignItems:"start"}:void 0,children:[T.jsxs("div",{className:"rf-min-w-0",children:[T.jsx(_Mo,{query:r,placeholder:ipA[n].placeholder,isSearching:dA,onQueryChange:a,onSubmit:JA}),T.jsx("div",{className:"no-scrollbar rf-mt-4 rf-flex-1 rf-min-h-[200px] !rf-max-h-[40vh] !rf-overflow-y-auto rf-overflow-x-hidden rf-border rf-rounded-md rf-min-w-0",children:dA?T.jsxs("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:[T.jsx(mS,{className:"rf-h-8 rf-w-8 rf-animate-spin rf-mx-auto rf-mb-2"}),T.jsx("p",{children:"Searching..."})]}):LA.length>0?T.jsx(ZMo,{results:LA,selected:c,onSelect:h,onShowDetails:n==="tscircuit.com"?bA:void 0}):T.jsx("div",{className:"rf-p-8 rf-text-center rf-text-zinc-500",children:HA?`Error: ${HA}`:WA?ipA[n].emptyMessage:"Enter a search term to find components"})})]}),RA?T.jsx("div",{className:"rf-mt-4",children:T.jsx(OMo,{circuitJson:FA,error:rA,isLoading:NA,height:325})}):null]})]}):null,BA?T.jsx("div",{className:"rf-text-sm rf-text-red-600 rf-mt-2",children:BA}):null,T.jsxs(YO,{className:"rf-flex rf-flex-col sm:rf-flex-row rf-gap-2",children:[T.jsx(si,{variant:"outline",onClick:A,className:"rf-order-2 sm:rf-order-1",children:"Cancel"}),T.jsx(si,{onClick:Qg,disabled:!c||nA,className:"rf-order-1 sm:rf-order-2",children:nA?T.jsx(mS,{className:"rf-h-4 rf-w-4 rf-animate-spin"}):"Import"})]})]}),T.jsx(WMo,{packageResult:$,isOpen:IA,onOpenChange:uA,isLoading:j,details:q,previewTab:sA,onPreviewTabChange:kA=>lA(kA),isSubmitting:nA,onImport:()=>{$&&mA($).then(kA=>{kA&&(QA(!1),A(),xA(),a(""))})}})]})},oSo=g=>{const A=g.match(/export const (\w+) =/);if(!A)throw new Error("Could not determine component name from TSX contents");return A[1]},Q4I=g=>{const A=Kc(B=>B.pushEvent),I=Kc(B=>B.upsertFile),e=async({result:B,fullPackageName:C})=>{const i=B.package.unscoped_name??B.package.name;await LC.promise(A({event_type:"INSTALL_PACKAGE",full_package_name:C}),{loading:`Requesting install for "${i}"`,success:`Install requested for "${i}"`,error:E=>`Failed to request install: ${E instanceof Error?E.message:String(E)}`})},t=async({footprint:B})=>{await LC.promise(navigator.clipboard.writeText(B),{loading:`Copying "${B}"`,success:`Copied "${B}" to clipboard`,error:C=>`Failed to copy footprint: ${C instanceof Error?C.message:String(C)}`})},o=async({result:B,tsx:C})=>{const i=`imports/${oSo(C)}.tsx`;await LC.promise(I(i,C),{loading:`Importing ${B.component.partNumber}`,success:`Imported to "${i}"`,error:E=>`Failed to import component: ${E instanceof Error?E.message:String(E)}`})};return T.jsx(tSo,{...g,onTscircuitPackageSelected:e,onKicadStringSelected:t,onJlcpcbComponentTsxLoaded:o})};Q4I.displayName="ImportComponentDialogForCli";const BSo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToAltiumZip:I}=await Promise.resolve().then(()=>kTo),e=await I(g,A);return new Blob([new Uint8Array(e)],{type:"application/zip"})},CSo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const I=await BSo({circuitJson:g,projectName:A});bk(I,{fileName:`${A}_altium_project.zip`})})(),{loading:"Generating Altium project...",success:"Altium project ZIP ready",error:I=>`Failed to generate Altium project: ${I instanceof Error?I.message:String(I)}`})};var gQg={exports:{}},i4I;function QSo(){return i4I||(i4I=1,(function(g,A){var I={env:{},version:""};(function(e){g.exports=e()})(function(){return(function e(t,o,B){function C(E,n){if(!o[E]){if(!t[E]){var s=typeof aU=="function"&&aU;if(!n&&s)return s(E,!0);if(Q)return Q(E,!0);var r=new Error("Cannot find module '"+E+"'");throw r.code="MODULE_NOT_FOUND",r}var a=o[E]={exports:{}};t[E][0].call(a.exports,function(c){var h=t[E][1][c];return C(h||c)},a,a.exports,e,t,o,B)}return o[E].exports}for(var Q=typeof aU=="function"&&aU,i=0;i<B.length;i++)C(B[i]);return C})({1:[function(e,t,o){var B=e("./utils"),C=e("./support"),Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";o.encode=function(i){for(var E,n,s,r,a,c,h,l=[],D=0,d=i.length,y=d,w=B.getTypeOf(i)!=="string";D<i.length;)y=d-D,s=w?(E=i[D++],n=D<d?i[D++]:0,D<d?i[D++]:0):(E=i.charCodeAt(D++),n=D<d?i.charCodeAt(D++):0,D<d?i.charCodeAt(D++):0),r=E>>2,a=(3&E)<<4|n>>4,c=1<y?(15&n)<<2|s>>6:64,h=2<y?63&s:64,l.push(Q.charAt(r)+Q.charAt(a)+Q.charAt(c)+Q.charAt(h));return l.join("")},o.decode=function(i){var E,n,s,r,a,c,h=0,l=0,D="data:";if(i.substr(0,D.length)===D)throw new Error("Invalid base64 input, it looks like a data url.");var d,y=3*(i=i.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(i.charAt(i.length-1)===Q.charAt(64)&&y--,i.charAt(i.length-2)===Q.charAt(64)&&y--,y%1!=0)throw new Error("Invalid base64 input, bad content length.");for(d=C.uint8array?new Uint8Array(0|y):new Array(0|y);h<i.length;)E=Q.indexOf(i.charAt(h++))<<2|(r=Q.indexOf(i.charAt(h++)))>>4,n=(15&r)<<4|(a=Q.indexOf(i.charAt(h++)))>>2,s=(3&a)<<6|(c=Q.indexOf(i.charAt(h++))),d[l++]=E,a!==64&&(d[l++]=n),c!==64&&(d[l++]=s);return d}},{"./support":30,"./utils":32}],2:[function(e,t,o){var B=e("./external"),C=e("./stream/DataWorker"),Q=e("./stream/Crc32Probe"),i=e("./stream/DataLengthProbe");function E(n,s,r,a,c){this.compressedSize=n,this.uncompressedSize=s,this.crc32=r,this.compression=a,this.compressedContent=c}E.prototype={getContentWorker:function(){var n=new C(B.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new i("data_length")),s=this;return n.on("end",function(){if(this.streamInfo.data_length!==s.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),n},getCompressedWorker:function(){return new C(B.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},E.createWorkerFrom=function(n,s,r){return n.pipe(new Q).pipe(new i("uncompressedSize")).pipe(s.compressWorker(r)).pipe(new i("compressedSize")).withStreamInfo("compression",s)},t.exports=E},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,o){var B=e("./stream/GenericWorker");o.STORE={magic:"\0\0",compressWorker:function(){return new B("STORE compression")},uncompressWorker:function(){return new B("STORE decompression")}},o.DEFLATE=e("./flate")},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,o){var B=e("./utils"),C=(function(){for(var Q,i=[],E=0;E<256;E++){Q=E;for(var n=0;n<8;n++)Q=1&Q?3988292384^Q>>>1:Q>>>1;i[E]=Q}return i})();t.exports=function(Q,i){return Q!==void 0&&Q.length?B.getTypeOf(Q)!=="string"?(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n[h])];return-1^E})(0|i,Q,Q.length,0):(function(E,n,s,r){var a=C,c=r+s;E^=-1;for(var h=r;h<c;h++)E=E>>>8^a[255&(E^n.charCodeAt(h))];return-1^E})(0|i,Q,Q.length,0):0}},{"./utils":32}],5:[function(e,t,o){o.base64=!1,o.binary=!1,o.dir=!1,o.createFolders=!0,o.date=null,o.compression=null,o.compressionOptions=null,o.comment=null,o.unixPermissions=null,o.dosPermissions=null},{}],6:[function(e,t,o){var B=null;B=typeof Promise<"u"?Promise:e("lie"),t.exports={Promise:B}},{lie:37}],7:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Uint32Array<"u",C=e("pako"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=B?"uint8array":"array";function n(s,r){i.call(this,"FlateWorker/"+s),this._pako=null,this._pakoAction=s,this._pakoOptions=r,this.meta={}}o.magic="\b\0",Q.inherits(n,i),n.prototype.processChunk=function(s){this.meta=s.meta,this._pako===null&&this._createPako(),this._pako.push(Q.transformTo(E,s.data),!1)},n.prototype.flush=function(){i.prototype.flush.call(this),this._pako===null&&this._createPako(),this._pako.push([],!0)},n.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this._pako=null},n.prototype._createPako=function(){this._pako=new C[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var s=this;this._pako.onData=function(r){s.push({data:r,meta:s.meta})}},o.compressWorker=function(s){return new n("Deflate",s)},o.uncompressWorker=function(){return new n("Inflate",{})}},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,o){function B(a,c){var h,l="";for(h=0;h<c;h++)l+=String.fromCharCode(255&a),a>>>=8;return l}function C(a,c,h,l,D,d){var y,w,u=a.file,G=a.compression,m=d!==E.utf8encode,p=Q.transformTo("string",d(u.name)),k=Q.transformTo("string",E.utf8encode(u.name)),S=u.comment,R=Q.transformTo("string",d(S)),x=Q.transformTo("string",E.utf8encode(S)),N=k.length!==u.name.length,U=x.length!==S.length,K="",Y="",_="",q=u.dir,j=u.date,W={crc32:0,compressedSize:0,uncompressedSize:0};c&&!h||(W.crc32=a.crc32,W.compressedSize=a.compressedSize,W.uncompressedSize=a.uncompressedSize);var Z=0;c&&(Z|=8),m||!N&&!U||(Z|=2048);var $=0,eA=0;q&&($|=16),D==="UNIX"?(eA=798,$|=(function(QA,sA){var lA=QA;return QA||(lA=sA?16893:33204),(65535&lA)<<16})(u.unixPermissions,q)):(eA=20,$|=(function(QA){return 63&(QA||0)})(u.dosPermissions)),y=j.getUTCHours(),y<<=6,y|=j.getUTCMinutes(),y<<=5,y|=j.getUTCSeconds()/2,w=j.getUTCFullYear()-1980,w<<=4,w|=j.getUTCMonth()+1,w<<=5,w|=j.getUTCDate(),N&&(Y=B(1,1)+B(n(p),4)+k,K+="up"+B(Y.length,2)+Y),U&&(_=B(1,1)+B(n(R),4)+x,K+="uc"+B(_.length,2)+_);var IA="";return IA+=`
|
|
5672
5672
|
\0`,IA+=B(Z,2),IA+=G.magic,IA+=B(y,2),IA+=B(w,2),IA+=B(W.crc32,4),IA+=B(W.compressedSize,4),IA+=B(W.uncompressedSize,4),IA+=B(p.length,2),IA+=B(K.length,2),{fileRecord:s.LOCAL_FILE_HEADER+IA+p+K,dirRecord:s.CENTRAL_FILE_HEADER+B(eA,2)+IA+B(R.length,2)+"\0\0\0\0"+B($,4)+B(l,4)+p+K+R}}var Q=e("../utils"),i=e("../stream/GenericWorker"),E=e("../utf8"),n=e("../crc32"),s=e("../signature");function r(a,c,h,l){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=c,this.zipPlatform=h,this.encodeFileName=l,this.streamFiles=a,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[]}Q.inherits(r,i),r.prototype.push=function(a){var c=a.meta.percent||0,h=this.entriesCount,l=this._sources.length;this.accumulate?this.contentBuffer.push(a):(this.bytesWritten+=a.data.length,i.prototype.push.call(this,{data:a.data,meta:{currentFile:this.currentFile,percent:h?(c+100*(h-l-1))/h:100}}))},r.prototype.openedSource=function(a){this.currentSourceOffset=this.bytesWritten,this.currentFile=a.file.name;var c=this.streamFiles&&!a.file.dir;if(c){var h=C(a,c,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:h.fileRecord,meta:{percent:0}})}else this.accumulate=!0},r.prototype.closedSource=function(a){this.accumulate=!1;var c=this.streamFiles&&!a.file.dir,h=C(a,c,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(h.dirRecord),c)this.push({data:(function(l){return s.DATA_DESCRIPTOR+B(l.crc32,4)+B(l.compressedSize,4)+B(l.uncompressedSize,4)})(a),meta:{percent:100}});else for(this.push({data:h.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null},r.prototype.flush=function(){for(var a=this.bytesWritten,c=0;c<this.dirRecords.length;c++)this.push({data:this.dirRecords[c],meta:{percent:100}});var h=this.bytesWritten-a,l=(function(D,d,y,w,u){var G=Q.transformTo("string",u(w));return s.CENTRAL_DIRECTORY_END+"\0\0\0\0"+B(D,2)+B(D,2)+B(d,4)+B(y,4)+B(G.length,2)+G})(this.dirRecords.length,h,a,this.zipComment,this.encodeFileName);this.push({data:l,meta:{percent:100}})},r.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume()},r.prototype.registerPrevious=function(a){this._sources.push(a);var c=this;return a.on("data",function(h){c.processChunk(h)}),a.on("end",function(){c.closedSource(c.previous.streamInfo),c._sources.length?c.prepareNextSource():c.end()}),a.on("error",function(h){c.error(h)}),this},r.prototype.resume=function(){return!!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},r.prototype.error=function(a){var c=this._sources;if(!i.prototype.error.call(this,a))return!1;for(var h=0;h<c.length;h++)try{c[h].error(a)}catch{}return!0},r.prototype.lock=function(){i.prototype.lock.call(this);for(var a=this._sources,c=0;c<a.length;c++)a[c].lock()},t.exports=r},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,o){var B=e("../compressions"),C=e("./ZipFileWorker");o.generateWorker=function(Q,i,E){var n=new C(i.streamFiles,E,i.platform,i.encodeFileName),s=0;try{Q.forEach(function(r,a){s++;var c=(function(d,y){var w=d||y,u=B[w];if(!u)throw new Error(w+" is not a valid compression method !");return u})(a.options.compression,i.compression),h=a.options.compressionOptions||i.compressionOptions||{},l=a.dir,D=a.date;a._compressWorker(c,h).withStreamInfo("file",{name:r,dir:l,date:D,comment:a.comment||"",unixPermissions:a.unixPermissions,dosPermissions:a.dosPermissions}).pipe(n)}),n.entriesCount=s}catch(r){n.error(r)}return n}},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,o){function B(){if(!(this instanceof B))return new B;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var C=new B;for(var Q in this)typeof this[Q]!="function"&&(C[Q]=this[Q]);return C}}(B.prototype=e("./object")).loadAsync=e("./load"),B.support=e("./support"),B.defaults=e("./defaults"),B.version="3.10.2",B.loadAsync=function(C,Q){return new B().loadAsync(C,Q)},B.external=e("./external"),t.exports=B},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,o){var B=e("./utils"),C=e("./external"),Q=e("./utf8"),i=e("./zipEntries"),E=e("./stream/Crc32Probe"),n=e("./nodejsUtils");function s(r){return new C.Promise(function(a,c){var h=r.decompressed.getContentWorker().pipe(new E);h.on("error",function(l){c(l)}).on("end",function(){h.streamInfo.crc32!==r.decompressed.crc32?c(new Error("Corrupted zip : CRC32 mismatch")):a()}).resume()})}t.exports=function(r,a){var c=this;return a=B.extend(a||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:Q.utf8decode}),n.isNode&&n.isStream(r)?C.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):B.prepareContent("the loaded zip file",r,!0,a.optimizedBinaryString,a.base64).then(function(h){var l=new i(a);return l.load(h),l}).then(function(h){var l=[C.Promise.resolve(h)],D=h.files;if(a.checkCRC32)for(var d=0;d<D.length;d++)l.push(s(D[d]));return C.Promise.all(l)}).then(function(h){for(var l=h.shift(),D=l.files,d=0;d<D.length;d++){var y=D[d],w=y.fileNameStr,u=B.resolve(y.fileNameStr);c.file(u,y.decompressed,{binary:!0,optimizedBinaryString:!0,date:y.date,dir:y.dir,comment:y.fileCommentStr.length?y.fileCommentStr:null,unixPermissions:y.unixPermissions,dosPermissions:y.dosPermissions,createFolders:a.createFolders}),y.dir||(c.file(u).unsafeOriginalName=w)}return l.zipComment.length&&(c.comment=l.zipComment),c})}},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,o){var B=e("../utils"),C=e("../stream/GenericWorker");function Q(i,E){C.call(this,"Nodejs stream input adapter for "+i),this._upstreamEnded=!1,this._bindStream(E)}B.inherits(Q,C),Q.prototype._bindStream=function(i){var E=this;(this._stream=i).pause(),i.on("data",function(n){E.push({data:n,meta:{percent:0}})}).on("error",function(n){E.isPaused?this.generatedError=n:E.error(n)}).on("end",function(){E.isPaused?E._upstreamEnded=!0:E.end()})},Q.prototype.pause=function(){return!!C.prototype.pause.call(this)&&(this._stream.pause(),!0)},Q.prototype.resume=function(){return!!C.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=Q},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,o){var B=e("readable-stream").Readable;function C(Q,i,E){B.call(this,i),this._helper=Q;var n=this;Q.on("data",function(s,r){n.push(s)||n._helper.pause(),E&&E(r)}).on("error",function(s){n.emit("error",s)}).on("end",function(){n.push(null)})}e("../utils").inherits(C,B),C.prototype._read=function(){this._helper.resume()},t.exports=C},{"../utils":32,"readable-stream":16}],14:[function(e,t,o){t.exports={isNode:typeof Buffer<"u",newBufferFrom:function(B,C){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(B,C);if(typeof B=="number")throw new Error('The "data" argument must not be a number');return new Buffer(B,C)},allocBuffer:function(B){if(Buffer.alloc)return Buffer.alloc(B);var C=new Buffer(B);return C.fill(0),C},isBuffer:function(B){return Buffer.isBuffer(B)},isStream:function(B){return B&&typeof B.on=="function"&&typeof B.pause=="function"&&typeof B.resume=="function"}}},{}],15:[function(e,t,o){function B(u,G,m){var p,k=Q.getTypeOf(G),S=Q.extend(m||{},n);S.date=S.date||new Date,S.compression!==null&&(S.compression=S.compression.toUpperCase()),typeof S.unixPermissions=="string"&&(S.unixPermissions=parseInt(S.unixPermissions,8)),S.unixPermissions&&16384&S.unixPermissions&&(S.dir=!0),S.dosPermissions&&16&S.dosPermissions&&(S.dir=!0),S.dir&&(u=D(u)),S.createFolders&&(p=l(u))&&d.call(this,p,!0);var R=k==="string"&&S.binary===!1&&S.base64===!1;m&&m.binary!==void 0||(S.binary=!R),(G instanceof s&&G.uncompressedSize===0||S.dir||!G||G.length===0)&&(S.base64=!1,S.binary=!0,G="",S.compression="STORE",k="string");var x=null;x=G instanceof s||G instanceof i?G:c.isNode&&c.isStream(G)?new h(u,G):Q.prepareContent(u,G,S.binary,S.optimizedBinaryString,S.base64);var N=new r(u,x,S);this.files[u]=N}var C=e("./utf8"),Q=e("./utils"),i=e("./stream/GenericWorker"),E=e("./stream/StreamHelper"),n=e("./defaults"),s=e("./compressedObject"),r=e("./zipObject"),a=e("./generate"),c=e("./nodejsUtils"),h=e("./nodejs/NodejsStreamInputAdapter"),l=function(u){u.slice(-1)==="/"&&(u=u.substring(0,u.length-1));var G=u.lastIndexOf("/");return 0<G?u.substring(0,G):""},D=function(u){return u.slice(-1)!=="/"&&(u+="/"),u},d=function(u,G){return G=G!==void 0?G:n.createFolders,u=D(u),this.files[u]||B.call(this,u,null,{dir:!0,createFolders:G}),this.files[u]};function y(u){return Object.prototype.toString.call(u)==="[object RegExp]"}var w={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(u){var G,m,p;for(G in this.files)p=this.files[G],(m=G.slice(this.root.length,G.length))&&G.slice(0,this.root.length)===this.root&&u(m,p)},filter:function(u){var G=[];return this.forEach(function(m,p){u(m,p)&&G.push(p)}),G},file:function(u,G,m){if(arguments.length!==1)return u=this.root+u,B.call(this,u,G,m),this;if(y(u)){var p=u;return this.filter(function(S,R){return!R.dir&&p.test(S)})}var k=this.files[this.root+u];return k&&!k.dir?k:null},folder:function(u){if(!u)return this;if(y(u))return this.filter(function(k,S){return S.dir&&u.test(k)});var G=this.root+u,m=d.call(this,G),p=this.clone();return p.root=m.name,p},remove:function(u){u=this.root+u;var G=this.files[u];if(G||(u.slice(-1)!=="/"&&(u+="/"),G=this.files[u]),G&&!G.dir)delete this.files[u];else for(var m=this.filter(function(k,S){return S.name.slice(0,u.length)===u}),p=0;p<m.length;p++)delete this.files[m[p].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(u){var G,m={};try{if((m=Q.extend(u||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:C.utf8encode})).type=m.type.toLowerCase(),m.compression=m.compression.toUpperCase(),m.type==="binarystring"&&(m.type="string"),!m.type)throw new Error("No output type specified.");Q.checkSupport(m.type),m.platform!=="darwin"&&m.platform!=="freebsd"&&m.platform!=="linux"&&m.platform!=="sunos"||(m.platform="UNIX"),m.platform==="win32"&&(m.platform="DOS");var p=m.comment||this.comment||"";G=a.generateWorker(this,m,p)}catch(k){(G=new i("error")).error(k)}return new E(G,m.type||"string",m.mimeType)},generateAsync:function(u,G){return this.generateInternalStream(u).accumulate(G)},generateNodeStream:function(u,G){return(u=u||{}).type||(u.type="nodebuffer"),this.generateInternalStream(u).toNodejsStream(G)}};t.exports=w},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,o){t.exports=e("stream")},{stream:void 0}],17:[function(e,t,o){var B=e("./DataReader");function C(Q){B.call(this,Q);for(var i=0;i<this.data.length;i++)Q[i]=255&Q[i]}e("../utils").inherits(C,B),C.prototype.byteAt=function(Q){return this.data[this.zero+Q]},C.prototype.lastIndexOfSignature=function(Q){for(var i=Q.charCodeAt(0),E=Q.charCodeAt(1),n=Q.charCodeAt(2),s=Q.charCodeAt(3),r=this.length-4;0<=r;--r)if(this.data[r]===i&&this.data[r+1]===E&&this.data[r+2]===n&&this.data[r+3]===s)return r-this.zero;return-1},C.prototype.readAndCheckSignature=function(Q){var i=Q.charCodeAt(0),E=Q.charCodeAt(1),n=Q.charCodeAt(2),s=Q.charCodeAt(3),r=this.readData(4);return i===r[0]&&E===r[1]&&n===r[2]&&s===r[3]},C.prototype.readData=function(Q){if(this.checkOffset(Q),Q===0)return[];var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./DataReader":18}],18:[function(e,t,o){var B=e("../utils");function C(Q){this.data=Q,this.length=Q.length,this.index=0,this.zero=0}C.prototype={checkOffset:function(Q){this.checkIndex(this.index+Q)},checkIndex:function(Q){if(this.length<this.zero+Q||Q<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+Q+"). Corrupted zip ?")},setIndex:function(Q){this.checkIndex(Q),this.index=Q},skip:function(Q){this.setIndex(this.index+Q)},byteAt:function(){},readInt:function(Q){var i,E=0;for(this.checkOffset(Q),i=this.index+Q-1;i>=this.index;i--)E=(E<<8)+this.byteAt(i);return this.index+=Q,E},readString:function(Q){return B.transformTo("string",this.readData(Q))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var Q=this.readInt(4);return new Date(Date.UTC(1980+(Q>>25&127),(Q>>21&15)-1,Q>>16&31,Q>>11&31,Q>>5&63,(31&Q)<<1))}},t.exports=C},{"../utils":32}],19:[function(e,t,o){var B=e("./Uint8ArrayReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.readData=function(Q){this.checkOffset(Q);var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,o){var B=e("./DataReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.byteAt=function(Q){return this.data.charCodeAt(this.zero+Q)},C.prototype.lastIndexOfSignature=function(Q){return this.data.lastIndexOf(Q)-this.zero},C.prototype.readAndCheckSignature=function(Q){return Q===this.readData(4)},C.prototype.readData=function(Q){this.checkOffset(Q);var i=this.data.slice(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./DataReader":18}],21:[function(e,t,o){var B=e("./ArrayReader");function C(Q){B.call(this,Q)}e("../utils").inherits(C,B),C.prototype.readData=function(Q){if(this.checkOffset(Q),Q===0)return new Uint8Array(0);var i=this.data.subarray(this.zero+this.index,this.zero+this.index+Q);return this.index+=Q,i},t.exports=C},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,o){var B=e("../utils"),C=e("../support"),Q=e("./ArrayReader"),i=e("./StringReader"),E=e("./NodeBufferReader"),n=e("./Uint8ArrayReader");t.exports=function(s){var r=B.getTypeOf(s);return B.checkSupport(r),r!=="string"||C.uint8array?r==="nodebuffer"?new E(s):C.uint8array?new n(B.transformTo("uint8array",s)):new Q(B.transformTo("array",s)):new i(s)}},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,o){o.LOCAL_FILE_HEADER="PK",o.CENTRAL_FILE_HEADER="PK",o.CENTRAL_DIRECTORY_END="PK",o.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK\x07",o.ZIP64_CENTRAL_DIRECTORY_END="PK",o.DATA_DESCRIPTOR="PK\x07\b"},{}],24:[function(e,t,o){var B=e("./GenericWorker"),C=e("../utils");function Q(i){B.call(this,"ConvertWorker to "+i),this.destType=i}C.inherits(Q,B),Q.prototype.processChunk=function(i){this.push({data:C.transformTo(this.destType,i.data),meta:i.meta})},t.exports=Q},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,o){var B=e("./GenericWorker"),C=e("../crc32");function Q(){B.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0)}e("../utils").inherits(Q,B),Q.prototype.processChunk=function(i){this.streamInfo.crc32=C(i.data,this.streamInfo.crc32||0),this.push(i)},t.exports=Q},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,o){var B=e("../utils"),C=e("./GenericWorker");function Q(i){C.call(this,"DataLengthProbe for "+i),this.propName=i,this.withStreamInfo(i,0)}B.inherits(Q,C),Q.prototype.processChunk=function(i){if(i){var E=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=E+i.data.length}C.prototype.processChunk.call(this,i)},t.exports=Q},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,o){var B=e("../utils"),C=e("./GenericWorker");function Q(i){C.call(this,"DataWorker");var E=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,i.then(function(n){E.dataIsReady=!0,E.data=n,E.max=n&&n.length||0,E.type=B.getTypeOf(n),E.isPaused||E._tickAndRepeat()},function(n){E.error(n)})}B.inherits(Q,C),Q.prototype.cleanUp=function(){C.prototype.cleanUp.call(this),this.data=null},Q.prototype.resume=function(){return!!C.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,B.delay(this._tickAndRepeat,[],this)),!0)},Q.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(B.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0))},Q.prototype._tick=function(){if(this.isPaused||this.isFinished)return!1;var i=null,E=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":i=this.data.substring(this.index,E);break;case"uint8array":i=this.data.subarray(this.index,E);break;case"array":case"nodebuffer":i=this.data.slice(this.index,E)}return this.index=E,this.push({data:i,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=Q},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,o){function B(C){this.name=C||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null}B.prototype={push:function(C){this.emit("data",C)},end:function(){if(this.isFinished)return!1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0}catch(C){this.emit("error",C)}return!0},error:function(C){return!this.isFinished&&(this.isPaused?this.generatedError=C:(this.isFinished=!0,this.emit("error",C),this.previous&&this.previous.error(C),this.cleanUp()),!0)},on:function(C,Q){return this._listeners[C].push(Q),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[]},emit:function(C,Q){if(this._listeners[C])for(var i=0;i<this._listeners[C].length;i++)this._listeners[C][i].call(this,Q)},pipe:function(C){return C.registerPrevious(this)},registerPrevious:function(C){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=C.streamInfo,this.mergeStreamInfo(),this.previous=C;var Q=this;return C.on("data",function(i){Q.processChunk(i)}),C.on("end",function(){Q.end()}),C.on("error",function(i){Q.error(i)}),this},pause:function(){return!this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return!1;var C=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),C=!0),this.previous&&this.previous.resume(),!C},flush:function(){},processChunk:function(C){this.push(C)},withStreamInfo:function(C,Q){return this.extraStreamInfo[C]=Q,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var C in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,C)&&(this.streamInfo[C]=this.extraStreamInfo[C])},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock()},toString:function(){var C="Worker "+this.name;return this.previous?this.previous+" -> "+C:C}},t.exports=B},{}],29:[function(e,t,o){var B=e("../utils"),C=e("./ConvertWorker"),Q=e("./GenericWorker"),i=e("../base64"),E=e("../support"),n=e("../external"),s=null;if(E.nodestream)try{s=e("../nodejs/NodejsStreamOutputAdapter")}catch{}function r(c,h){return new n.Promise(function(l,D){var d=[],y=c._internalType,w=c._outputType,u=c._mimeType;c.on("data",function(G,m){d.push(G),h&&h(m)}).on("error",function(G){d=[],D(G)}).on("end",function(){try{var G=(function(m,p,k){switch(m){case"blob":return B.newBlob(B.transformTo("arraybuffer",p),k);case"base64":return i.encode(p);default:return B.transformTo(m,p)}})(w,(function(m,p){var k,S=0,R=null,x=0;for(k=0;k<p.length;k++)x+=p[k].length;switch(m){case"string":return p.join("");case"array":return Array.prototype.concat.apply([],p);case"uint8array":for(R=new Uint8Array(x),k=0;k<p.length;k++)R.set(p[k],S),S+=p[k].length;return R;case"nodebuffer":return Buffer.concat(p);default:throw new Error("concat : unsupported type '"+m+"'")}})(y,d),u);l(G)}catch(m){D(m)}d=[]}).resume()})}function a(c,h,l){var D=h;switch(h){case"blob":case"arraybuffer":D="uint8array";break;case"base64":D="string"}try{this._internalType=D,this._outputType=h,this._mimeType=l,B.checkSupport(D),this._worker=c.pipe(new C(D)),c.lock()}catch(d){this._worker=new Q("error"),this._worker.error(d)}}a.prototype={accumulate:function(c){return r(this,c)},on:function(c,h){var l=this;return c==="data"?this._worker.on(c,function(D){h.call(l,D.data,D.meta)}):this._worker.on(c,function(){B.delay(h,arguments,l)}),this},resume:function(){return B.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(c){if(B.checkSupport("nodestream"),this._outputType!=="nodebuffer")throw new Error(this._outputType+" is not supported by this method");return new s(this,{objectMode:this._outputType!=="nodebuffer"},c)}},t.exports=a},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,o){if(o.base64=!0,o.array=!0,o.string=!0,o.arraybuffer=typeof ArrayBuffer<"u"&&typeof Uint8Array<"u",o.nodebuffer=typeof Buffer<"u",o.uint8array=typeof Uint8Array<"u",typeof ArrayBuffer>"u")o.blob=!1;else{var B=new ArrayBuffer(0);try{o.blob=new Blob([B],{type:"application/zip"}).size===0}catch{try{var C=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);C.append(B),o.blob=C.getBlob("application/zip").size===0}catch{o.blob=!1}}}try{o.nodestream=!!e("readable-stream").Readable}catch{o.nodestream=!1}},{"readable-stream":16}],31:[function(e,t,o){for(var B=e("./utils"),C=e("./support"),Q=e("./nodejsUtils"),i=e("./stream/GenericWorker"),E=new Array(256),n=0;n<256;n++)E[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;E[254]=E[254]=1;function s(){i.call(this,"utf-8 decode"),this.leftOver=null}function r(){i.call(this,"utf-8 encode")}o.utf8encode=function(a){return C.nodebuffer?Q.newBufferFrom(a,"utf-8"):(function(c){var h,l,D,d,y,w=c.length,u=0;for(d=0;d<w;d++)(64512&(l=c.charCodeAt(d)))==55296&&d+1<w&&(64512&(D=c.charCodeAt(d+1)))==56320&&(l=65536+(l-55296<<10)+(D-56320),d++),u+=l<128?1:l<2048?2:l<65536?3:4;for(h=C.uint8array?new Uint8Array(u):new Array(u),d=y=0;y<u;d++)(64512&(l=c.charCodeAt(d)))==55296&&d+1<w&&(64512&(D=c.charCodeAt(d+1)))==56320&&(l=65536+(l-55296<<10)+(D-56320),d++),l<128?h[y++]=l:(l<2048?h[y++]=192|l>>>6:(l<65536?h[y++]=224|l>>>12:(h[y++]=240|l>>>18,h[y++]=128|l>>>12&63),h[y++]=128|l>>>6&63),h[y++]=128|63&l);return h})(a)},o.utf8decode=function(a){return C.nodebuffer?B.transformTo("nodebuffer",a).toString("utf-8"):(function(c){var h,l,D,d,y=c.length,w=new Array(2*y);for(h=l=0;h<y;)if((D=c[h++])<128)w[l++]=D;else if(4<(d=E[D]))w[l++]=65533,h+=d-1;else{for(D&=d===2?31:d===3?15:7;1<d&&h<y;)D=D<<6|63&c[h++],d--;1<d?w[l++]=65533:D<65536?w[l++]=D:(D-=65536,w[l++]=55296|D>>10&1023,w[l++]=56320|1023&D)}return w.length!==l&&(w.subarray?w=w.subarray(0,l):w.length=l),B.applyFromCharCode(w)})(a=B.transformTo(C.uint8array?"uint8array":"array",a))},B.inherits(s,i),s.prototype.processChunk=function(a){var c=B.transformTo(C.uint8array?"uint8array":"array",a.data);if(this.leftOver&&this.leftOver.length){if(C.uint8array){var h=c;(c=new Uint8Array(h.length+this.leftOver.length)).set(this.leftOver,0),c.set(h,this.leftOver.length)}else c=this.leftOver.concat(c);this.leftOver=null}var l=(function(d,y){var w;for((y=y||d.length)>d.length&&(y=d.length),w=y-1;0<=w&&(192&d[w])==128;)w--;return w<0||w===0?y:w+E[d[w]]>y?w:y})(c),D=c;l!==c.length&&(C.uint8array?(D=c.subarray(0,l),this.leftOver=c.subarray(l,c.length)):(D=c.slice(0,l),this.leftOver=c.slice(l,c.length))),this.push({data:o.utf8decode(D),meta:a.meta})},s.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:o.utf8decode(this.leftOver),meta:{}}),this.leftOver=null)},o.Utf8DecodeWorker=s,B.inherits(r,i),r.prototype.processChunk=function(a){this.push({data:o.utf8encode(a.data),meta:a.meta})},o.Utf8EncodeWorker=r},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,o){var B=e("./support"),C=e("./base64"),Q=e("./nodejsUtils"),i=e("./external");function E(h){return h}function n(h,l){for(var D=0;D<h.length;++D)l[D]=255&h.charCodeAt(D);return l}e("setimmediate"),o.newBlob=function(h,l){o.checkSupport("blob");try{return new Blob([h],{type:l})}catch{try{var D=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return D.append(h),D.getBlob(l)}catch{throw new Error("Bug : can't construct the Blob.")}}};var s={stringifyByChunk:function(h,l,D){var d=[],y=0,w=h.length;if(w<=D)return String.fromCharCode.apply(null,h);for(;y<w;)l==="array"||l==="nodebuffer"?d.push(String.fromCharCode.apply(null,h.slice(y,Math.min(y+D,w)))):d.push(String.fromCharCode.apply(null,h.subarray(y,Math.min(y+D,w)))),y+=D;return d.join("")},stringifyByChar:function(h){for(var l="",D=0;D<h.length;D++)l+=String.fromCharCode(h[D]);return l},applyCanBeUsed:{uint8array:(function(){try{return B.uint8array&&String.fromCharCode.apply(null,new Uint8Array(1)).length===1}catch{return!1}})(),nodebuffer:(function(){try{return B.nodebuffer&&String.fromCharCode.apply(null,Q.allocBuffer(1)).length===1}catch{return!1}})()}};function r(h){var l=65536,D=o.getTypeOf(h),d=!0;if(D==="uint8array"?d=s.applyCanBeUsed.uint8array:D==="nodebuffer"&&(d=s.applyCanBeUsed.nodebuffer),d)for(;1<l;)try{return s.stringifyByChunk(h,D,l)}catch{l=Math.floor(l/2)}return s.stringifyByChar(h)}function a(h,l){for(var D=0;D<h.length;D++)l[D]=h[D];return l}o.applyFromCharCode=r;var c={};c.string={string:E,array:function(h){return n(h,new Array(h.length))},arraybuffer:function(h){return c.string.uint8array(h).buffer},uint8array:function(h){return n(h,new Uint8Array(h.length))},nodebuffer:function(h){return n(h,Q.allocBuffer(h.length))}},c.array={string:r,array:E,arraybuffer:function(h){return new Uint8Array(h).buffer},uint8array:function(h){return new Uint8Array(h)},nodebuffer:function(h){return Q.newBufferFrom(h)}},c.arraybuffer={string:function(h){return r(new Uint8Array(h))},array:function(h){return a(new Uint8Array(h),new Array(h.byteLength))},arraybuffer:E,uint8array:function(h){return new Uint8Array(h)},nodebuffer:function(h){return Q.newBufferFrom(new Uint8Array(h))}},c.uint8array={string:r,array:function(h){return a(h,new Array(h.length))},arraybuffer:function(h){return h.buffer},uint8array:E,nodebuffer:function(h){return Q.newBufferFrom(h)}},c.nodebuffer={string:r,array:function(h){return a(h,new Array(h.length))},arraybuffer:function(h){return c.nodebuffer.uint8array(h).buffer},uint8array:function(h){return a(h,new Uint8Array(h.length))},nodebuffer:E},o.transformTo=function(h,l){if(l=l||"",!h)return l;o.checkSupport(h);var D=o.getTypeOf(l);return c[D][h](l)},o.resolve=function(h){for(var l=h.split("/"),D=[],d=0;d<l.length;d++){var y=l[d];y==="."||y===""&&d!==0&&d!==l.length-1||(y===".."?D.pop():D.push(y))}return D.join("/")},o.getTypeOf=function(h){if(typeof h=="string")return"string";var l=Object.prototype.toString.call(h);return l==="[object Array]"?"array":B.nodebuffer&&Q.isBuffer(h)?"nodebuffer":B.uint8array&&l==="[object Uint8Array]"?"uint8array":B.arraybuffer&&l==="[object ArrayBuffer]"?"arraybuffer":void 0},o.checkSupport=function(h){if(!B[h.toLowerCase()])throw new Error(h+" is not supported by this platform")},o.MAX_VALUE_16BITS=65535,o.MAX_VALUE_32BITS=-1,o.pretty=function(h){var l,D,d="";for(D=0;D<(h||"").length;D++)d+="\\x"+((l=h.charCodeAt(D))<16?"0":"")+l.toString(16).toUpperCase();return d},o.delay=function(h,l,D){setImmediate(function(){h.apply(D||null,l||[])})},o.inherits=function(h,l){function D(){}D.prototype=l.prototype,h.prototype=new D},o.extend=function(){var h,l,D={};for(h=0;h<arguments.length;h++)for(l in arguments[h])Object.prototype.hasOwnProperty.call(arguments[h],l)&&D[l]===void 0&&(D[l]=arguments[h][l]);return D},o.prepareContent=function(h,l,D,d,y){return i.Promise.resolve(l).then(function(w){return B.blob&&(w instanceof Blob||["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(w))!==-1)?Blob.prototype.arrayBuffer!==void 0?w.arrayBuffer():typeof FileReader<"u"?new i.Promise(function(u,G){var m=new FileReader;m.onload=function(p){u(p.target.result)},m.onerror=function(p){G(p.target.error)},m.readAsArrayBuffer(w)}):i.Promise.reject(new Error(h+" is a Blob, but we have no way of reading it.")):w}).then(function(w){var u=o.getTypeOf(w);return u?(u==="arraybuffer"?w=o.transformTo("uint8array",w):u==="string"&&(y?w=C.decode(w):D&&d!==!0&&(w=(function(G){return n(G,B.uint8array?new Uint8Array(G.length):new Array(G.length))})(w))),w):i.Promise.reject(new Error("Can't read the data of '"+h+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})}},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,o){var B=e("./reader/readerFor"),C=e("./utils"),Q=e("./signature"),i=e("./zipEntry"),E=e("./support");function n(s){this.files=[],this.loadOptions=s}n.prototype={checkSignature:function(s){if(!this.reader.readAndCheckSignature(s)){this.reader.index-=4;var r=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+C.pretty(r)+", expected "+C.pretty(s)+")")}},isSignature:function(s,r){var a=this.reader.index;this.reader.setIndex(s);var c=this.reader.readString(4)===r;return this.reader.setIndex(a),c},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var s=this.reader.readData(this.zipCommentLength),r=E.uint8array?"uint8array":"array",a=C.transformTo(r,s);this.zipComment=this.loadOptions.decodeFileName(a)},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var s,r,a,c=this.zip64EndOfCentralSize-44;0<c;)s=this.reader.readInt(2),r=this.reader.readInt(4),a=this.reader.readData(r),this.zip64ExtensibleData[s]={id:s,length:r,value:a}},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var s,r;for(s=0;s<this.files.length;s++)r=this.files[s],this.reader.setIndex(r.localHeaderOffset),this.checkSignature(Q.LOCAL_FILE_HEADER),r.readLocalPart(this.reader),r.handleUTF8(),r.processAttributes()},readCentralDir:function(){var s;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(Q.CENTRAL_FILE_HEADER);)(s=new i({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(s);if(this.centralDirRecords!==this.files.length&&this.centralDirRecords!==0&&this.files.length===0)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var s=this.reader.lastIndexOfSignature(Q.CENTRAL_DIRECTORY_END);if(s<0)throw this.isSignature(0,Q.LOCAL_FILE_HEADER)?new Error("Corrupted zip: can't find end of central directory"):new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html");this.reader.setIndex(s);var r=s;if(this.checkSignature(Q.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===C.MAX_VALUE_16BITS||this.diskWithCentralDirStart===C.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===C.MAX_VALUE_16BITS||this.centralDirRecords===C.MAX_VALUE_16BITS||this.centralDirSize===C.MAX_VALUE_32BITS||this.centralDirOffset===C.MAX_VALUE_32BITS){if(this.zip64=!0,(s=this.reader.lastIndexOfSignature(Q.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(s),this.checkSignature(Q.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,Q.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(Q.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(Q.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral()}var a=this.centralDirOffset+this.centralDirSize;this.zip64&&(a+=20,a+=12+this.zip64EndOfCentralSize);var c=r-a;if(0<c)this.isSignature(r,Q.CENTRAL_FILE_HEADER)||(this.reader.zero=c);else if(c<0)throw new Error("Corrupted zip: missing "+Math.abs(c)+" bytes.")},prepareReader:function(s){this.reader=B(s)},load:function(s){this.prepareReader(s),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles()}},t.exports=n},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,o){var B=e("./reader/readerFor"),C=e("./utils"),Q=e("./compressedObject"),i=e("./crc32"),E=e("./utf8"),n=e("./compressions"),s=e("./support");function r(a,c){this.options=a,this.loadOptions=c}r.prototype={isEncrypted:function(){return(1&this.bitFlag)==1},useUTF8:function(){return(2048&this.bitFlag)==2048},readLocalPart:function(a){var c,h;if(a.skip(22),this.fileNameLength=a.readInt(2),h=a.readInt(2),this.fileName=a.readData(this.fileNameLength),a.skip(h),this.compressedSize===-1||this.uncompressedSize===-1)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if((c=(function(l){for(var D in n)if(Object.prototype.hasOwnProperty.call(n,D)&&n[D].magic===l)return n[D];return null})(this.compressionMethod))===null)throw new Error("Corrupted zip : compression "+C.pretty(this.compressionMethod)+" unknown (inner file : "+C.transformTo("string",this.fileName)+")");this.decompressed=new Q(this.compressedSize,this.uncompressedSize,this.crc32,c,a.readData(this.compressedSize))},readCentralPart:function(a){this.versionMadeBy=a.readInt(2),a.skip(2),this.bitFlag=a.readInt(2),this.compressionMethod=a.readString(2),this.date=a.readDate(),this.crc32=a.readInt(4),this.compressedSize=a.readInt(4),this.uncompressedSize=a.readInt(4);var c=a.readInt(2);if(this.extraFieldsLength=a.readInt(2),this.fileCommentLength=a.readInt(2),this.diskNumberStart=a.readInt(2),this.internalFileAttributes=a.readInt(2),this.externalFileAttributes=a.readInt(4),this.localHeaderOffset=a.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");a.skip(c),this.readExtraFields(a),this.parseZIP64ExtraField(a),this.fileComment=a.readData(this.fileCommentLength)},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var a=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),a==0&&(this.dosPermissions=63&this.externalFileAttributes),a==3&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||this.fileNameStr.slice(-1)!=="/"||(this.dir=!0)},parseZIP64ExtraField:function(){if(this.extraFields[1]){var a=B(this.extraFields[1].value);this.uncompressedSize===C.MAX_VALUE_32BITS&&(this.uncompressedSize=a.readInt(8)),this.compressedSize===C.MAX_VALUE_32BITS&&(this.compressedSize=a.readInt(8)),this.localHeaderOffset===C.MAX_VALUE_32BITS&&(this.localHeaderOffset=a.readInt(8)),this.diskNumberStart===C.MAX_VALUE_32BITS&&(this.diskNumberStart=a.readInt(4))}},readExtraFields:function(a){var c,h,l,D=a.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});a.index+4<D;)c=a.readInt(2),h=a.readInt(2),l=a.readData(h),this.extraFields[c]={id:c,length:h,value:l};a.setIndex(D)},handleUTF8:function(){var a=s.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=E.utf8decode(this.fileName),this.fileCommentStr=E.utf8decode(this.fileComment);else{var c=this.findExtraFieldUnicodePath();if(c!==null)this.fileNameStr=c;else{var h=C.transformTo(a,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(h)}var l=this.findExtraFieldUnicodeComment();if(l!==null)this.fileCommentStr=l;else{var D=C.transformTo(a,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(D)}}},findExtraFieldUnicodePath:function(){var a=this.extraFields[28789];if(a){var c=B(a.value);return c.readInt(1)!==1||i(this.fileName)!==c.readInt(4)?null:E.utf8decode(c.readData(a.length-5))}return null},findExtraFieldUnicodeComment:function(){var a=this.extraFields[25461];if(a){var c=B(a.value);return c.readInt(1)!==1||i(this.fileComment)!==c.readInt(4)?null:E.utf8decode(c.readData(a.length-5))}return null}},t.exports=r},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,o){function B(c,h,l){this.name=c,this.dir=l.dir,this.date=l.date,this.comment=l.comment,this.unixPermissions=l.unixPermissions,this.dosPermissions=l.dosPermissions,this._data=h,this._dataBinary=l.binary,this.options={compression:l.compression,compressionOptions:l.compressionOptions}}var C=e("./stream/StreamHelper"),Q=e("./stream/DataWorker"),i=e("./utf8"),E=e("./compressedObject"),n=e("./stream/GenericWorker");B.prototype={internalStream:function(c){var h=null,l="string";try{if(!c)throw new Error("No output type specified.");var D=(l=c.toLowerCase())==="string"||l==="text";l!=="binarystring"&&l!=="text"||(l="string"),h=this._decompressWorker();var d=!this._dataBinary;d&&!D&&(h=h.pipe(new i.Utf8EncodeWorker)),!d&&D&&(h=h.pipe(new i.Utf8DecodeWorker))}catch(y){(h=new n("error")).error(y)}return new C(h,l,"")},async:function(c,h){return this.internalStream(c).accumulate(h)},nodeStream:function(c,h){return this.internalStream(c||"nodebuffer").toNodejsStream(h)},_compressWorker:function(c,h){if(this._data instanceof E&&this._data.compression.magic===c.magic)return this._data.getCompressedWorker();var l=this._decompressWorker();return this._dataBinary||(l=l.pipe(new i.Utf8EncodeWorker)),E.createWorkerFrom(l,c,h)},_decompressWorker:function(){return this._data instanceof E?this._data.getContentWorker():this._data instanceof n?this._data:new Q(this._data)}};for(var s=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],r=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},a=0;a<s.length;a++)B.prototype[s[a]]=r;t.exports=B},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,t,o){(function(B){var C,Q,i=B.MutationObserver||B.WebKitMutationObserver;if(i){var E=0,n=new i(c),s=B.document.createTextNode("");n.observe(s,{characterData:!0}),C=function(){s.data=E=++E%2}}else if(B.setImmediate||B.MessageChannel===void 0)C="document"in B&&"onreadystatechange"in B.document.createElement("script")?function(){var h=B.document.createElement("script");h.onreadystatechange=function(){c(),h.onreadystatechange=null,h.parentNode.removeChild(h),h=null},B.document.documentElement.appendChild(h)}:function(){setTimeout(c,0)};else{var r=new B.MessageChannel;r.port1.onmessage=c,C=function(){r.port2.postMessage(0)}}var a=[];function c(){var h,l;Q=!0;for(var D=a.length;D;){for(l=a,a=[],h=-1;++h<D;)l[h]();D=a.length}Q=!1}t.exports=function(h){a.push(h)!==1||Q||C()}}).call(this,typeof FY<"u"?FY:typeof self<"u"?self:typeof window<"u"?window:{})},{}],37:[function(e,t,o){var B=e("immediate");function C(){}var Q={},i=["REJECTED"],E=["FULFILLED"],n=["PENDING"];function s(D){if(typeof D!="function")throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,D!==C&&h(this,D)}function r(D,d,y){this.promise=D,typeof d=="function"&&(this.onFulfilled=d,this.callFulfilled=this.otherCallFulfilled),typeof y=="function"&&(this.onRejected=y,this.callRejected=this.otherCallRejected)}function a(D,d,y){B(function(){var w;try{w=d(y)}catch(u){return Q.reject(D,u)}w===D?Q.reject(D,new TypeError("Cannot resolve promise with itself")):Q.resolve(D,w)})}function c(D){var d=D&&D.then;if(D&&(typeof D=="object"||typeof D=="function")&&typeof d=="function")return function(){d.apply(D,arguments)}}function h(D,d){var y=!1;function w(m){y||(y=!0,Q.reject(D,m))}function u(m){y||(y=!0,Q.resolve(D,m))}var G=l(function(){d(u,w)});G.status==="error"&&w(G.value)}function l(D,d){var y={};try{y.value=D(d),y.status="success"}catch(w){y.status="error",y.value=w}return y}(t.exports=s).prototype.finally=function(D){if(typeof D!="function")return this;var d=this.constructor;return this.then(function(y){return d.resolve(D()).then(function(){return y})},function(y){return d.resolve(D()).then(function(){throw y})})},s.prototype.catch=function(D){return this.then(null,D)},s.prototype.then=function(D,d){if(typeof D!="function"&&this.state===E||typeof d!="function"&&this.state===i)return this;var y=new this.constructor(C);return this.state!==n?a(y,this.state===E?D:d,this.outcome):this.queue.push(new r(y,D,d)),y},r.prototype.callFulfilled=function(D){Q.resolve(this.promise,D)},r.prototype.otherCallFulfilled=function(D){a(this.promise,this.onFulfilled,D)},r.prototype.callRejected=function(D){Q.reject(this.promise,D)},r.prototype.otherCallRejected=function(D){a(this.promise,this.onRejected,D)},Q.resolve=function(D,d){var y=l(c,d);if(y.status==="error")return Q.reject(D,y.value);var w=y.value;if(w)h(D,w);else{D.state=E,D.outcome=d;for(var u=-1,G=D.queue.length;++u<G;)D.queue[u].callFulfilled(d)}return D},Q.reject=function(D,d){D.state=i,D.outcome=d;for(var y=-1,w=D.queue.length;++y<w;)D.queue[y].callRejected(d);return D},s.resolve=function(D){return D instanceof this?D:Q.resolve(new this(C),D)},s.reject=function(D){var d=new this(C);return Q.reject(d,D)},s.all=function(D){var d=this;if(Object.prototype.toString.call(D)!=="[object Array]")return this.reject(new TypeError("must be an array"));var y=D.length,w=!1;if(!y)return this.resolve([]);for(var u=new Array(y),G=0,m=-1,p=new this(C);++m<y;)k(D[m],m);return p;function k(S,R){d.resolve(S).then(function(x){u[R]=x,++G!==y||w||(w=!0,Q.resolve(p,u))},function(x){w||(w=!0,Q.reject(p,x))})}},s.race=function(D){var d=this;if(Object.prototype.toString.call(D)!=="[object Array]")return this.reject(new TypeError("must be an array"));var y=D.length,w=!1;if(!y)return this.resolve([]);for(var u=-1,G=new this(C);++u<y;)m=D[u],d.resolve(m).then(function(p){w||(w=!0,Q.resolve(G,p))},function(p){w||(w=!0,Q.reject(G,p))});var m;return G}},{immediate:36}],38:[function(e,t,o){var B={};(0,e("./lib/utils/common").assign)(B,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=B},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,o){var B=e("./zlib/deflate"),C=e("./utils/common"),Q=e("./utils/strings"),i=e("./zlib/messages"),E=e("./zlib/zstream"),n=Object.prototype.toString,s=0,r=-1,a=0,c=8;function h(D){if(!(this instanceof h))return new h(D);this.options=C.assign({level:r,method:c,chunkSize:16384,windowBits:15,memLevel:8,strategy:a,to:""},D||{});var d=this.options;d.raw&&0<d.windowBits?d.windowBits=-d.windowBits:d.gzip&&0<d.windowBits&&d.windowBits<16&&(d.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new E,this.strm.avail_out=0;var y=B.deflateInit2(this.strm,d.level,d.method,d.windowBits,d.memLevel,d.strategy);if(y!==s)throw new Error(i[y]);if(d.header&&B.deflateSetHeader(this.strm,d.header),d.dictionary){var w;if(w=typeof d.dictionary=="string"?Q.string2buf(d.dictionary):n.call(d.dictionary)==="[object ArrayBuffer]"?new Uint8Array(d.dictionary):d.dictionary,(y=B.deflateSetDictionary(this.strm,w))!==s)throw new Error(i[y]);this._dict_set=!0}}function l(D,d){var y=new h(d);if(y.push(D,!0),y.err)throw y.msg||i[y.err];return y.result}h.prototype.push=function(D,d){var y,w,u=this.strm,G=this.options.chunkSize;if(this.ended)return!1;w=d===~~d?d:d===!0?4:0,typeof D=="string"?u.input=Q.string2buf(D):n.call(D)==="[object ArrayBuffer]"?u.input=new Uint8Array(D):u.input=D,u.next_in=0,u.avail_in=u.input.length;do{if(u.avail_out===0&&(u.output=new C.Buf8(G),u.next_out=0,u.avail_out=G),(y=B.deflate(u,w))!==1&&y!==s)return this.onEnd(y),!(this.ended=!0);u.avail_out!==0&&(u.avail_in!==0||w!==4&&w!==2)||(this.options.to==="string"?this.onData(Q.buf2binstring(C.shrinkBuf(u.output,u.next_out))):this.onData(C.shrinkBuf(u.output,u.next_out)))}while((0<u.avail_in||u.avail_out===0)&&y!==1);return w===4?(y=B.deflateEnd(this.strm),this.onEnd(y),this.ended=!0,y===s):w!==2||(this.onEnd(s),!(u.avail_out=0))},h.prototype.onData=function(D){this.chunks.push(D)},h.prototype.onEnd=function(D){D===s&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=C.flattenChunks(this.chunks)),this.chunks=[],this.err=D,this.msg=this.strm.msg},o.Deflate=h,o.deflate=l,o.deflateRaw=function(D,d){return(d=d||{}).raw=!0,l(D,d)},o.gzip=function(D,d){return(d=d||{}).gzip=!0,l(D,d)}},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,o){var B=e("./zlib/inflate"),C=e("./utils/common"),Q=e("./utils/strings"),i=e("./zlib/constants"),E=e("./zlib/messages"),n=e("./zlib/zstream"),s=e("./zlib/gzheader"),r=Object.prototype.toString;function a(h){if(!(this instanceof a))return new a(h);this.options=C.assign({chunkSize:16384,windowBits:0,to:""},h||{});var l=this.options;l.raw&&0<=l.windowBits&&l.windowBits<16&&(l.windowBits=-l.windowBits,l.windowBits===0&&(l.windowBits=-15)),!(0<=l.windowBits&&l.windowBits<16)||h&&h.windowBits||(l.windowBits+=32),15<l.windowBits&&l.windowBits<48&&(15&l.windowBits)==0&&(l.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new n,this.strm.avail_out=0;var D=B.inflateInit2(this.strm,l.windowBits);if(D!==i.Z_OK)throw new Error(E[D]);this.header=new s,B.inflateGetHeader(this.strm,this.header)}function c(h,l){var D=new a(l);if(D.push(h,!0),D.err)throw D.msg||E[D.err];return D.result}a.prototype.push=function(h,l){var D,d,y,w,u,G,m=this.strm,p=this.options.chunkSize,k=this.options.dictionary,S=!1;if(this.ended)return!1;d=l===~~l?l:l===!0?i.Z_FINISH:i.Z_NO_FLUSH,typeof h=="string"?m.input=Q.binstring2buf(h):r.call(h)==="[object ArrayBuffer]"?m.input=new Uint8Array(h):m.input=h,m.next_in=0,m.avail_in=m.input.length;do{if(m.avail_out===0&&(m.output=new C.Buf8(p),m.next_out=0,m.avail_out=p),(D=B.inflate(m,i.Z_NO_FLUSH))===i.Z_NEED_DICT&&k&&(G=typeof k=="string"?Q.string2buf(k):r.call(k)==="[object ArrayBuffer]"?new Uint8Array(k):k,D=B.inflateSetDictionary(this.strm,G)),D===i.Z_BUF_ERROR&&S===!0&&(D=i.Z_OK,S=!1),D!==i.Z_STREAM_END&&D!==i.Z_OK)return this.onEnd(D),!(this.ended=!0);m.next_out&&(m.avail_out!==0&&D!==i.Z_STREAM_END&&(m.avail_in!==0||d!==i.Z_FINISH&&d!==i.Z_SYNC_FLUSH)||(this.options.to==="string"?(y=Q.utf8border(m.output,m.next_out),w=m.next_out-y,u=Q.buf2string(m.output,y),m.next_out=w,m.avail_out=p-w,w&&C.arraySet(m.output,m.output,y,w,0),this.onData(u)):this.onData(C.shrinkBuf(m.output,m.next_out)))),m.avail_in===0&&m.avail_out===0&&(S=!0)}while((0<m.avail_in||m.avail_out===0)&&D!==i.Z_STREAM_END);return D===i.Z_STREAM_END&&(d=i.Z_FINISH),d===i.Z_FINISH?(D=B.inflateEnd(this.strm),this.onEnd(D),this.ended=!0,D===i.Z_OK):d!==i.Z_SYNC_FLUSH||(this.onEnd(i.Z_OK),!(m.avail_out=0))},a.prototype.onData=function(h){this.chunks.push(h)},a.prototype.onEnd=function(h){h===i.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=C.flattenChunks(this.chunks)),this.chunks=[],this.err=h,this.msg=this.strm.msg},o.Inflate=a,o.inflate=c,o.inflateRaw=function(h,l){return(l=l||{}).raw=!0,c(h,l)},o.ungzip=c},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,o){var B=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";o.assign=function(i){for(var E=Array.prototype.slice.call(arguments,1);E.length;){var n=E.shift();if(n){if(typeof n!="object")throw new TypeError(n+"must be non-object");for(var s in n)n.hasOwnProperty(s)&&(i[s]=n[s])}}return i},o.shrinkBuf=function(i,E){return i.length===E?i:i.subarray?i.subarray(0,E):(i.length=E,i)};var C={arraySet:function(i,E,n,s,r){if(E.subarray&&i.subarray)i.set(E.subarray(n,n+s),r);else for(var a=0;a<s;a++)i[r+a]=E[n+a]},flattenChunks:function(i){var E,n,s,r,a,c;for(E=s=0,n=i.length;E<n;E++)s+=i[E].length;for(c=new Uint8Array(s),E=r=0,n=i.length;E<n;E++)a=i[E],c.set(a,r),r+=a.length;return c}},Q={arraySet:function(i,E,n,s,r){for(var a=0;a<s;a++)i[r+a]=E[n+a]},flattenChunks:function(i){return[].concat.apply([],i)}};o.setTyped=function(i){i?(o.Buf8=Uint8Array,o.Buf16=Uint16Array,o.Buf32=Int32Array,o.assign(o,C)):(o.Buf8=Array,o.Buf16=Array,o.Buf32=Array,o.assign(o,Q))},o.setTyped(B)},{}],42:[function(e,t,o){var B=e("./common"),C=!0,Q=!0;try{String.fromCharCode.apply(null,[0])}catch{C=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{Q=!1}for(var i=new B.Buf8(256),E=0;E<256;E++)i[E]=252<=E?6:248<=E?5:240<=E?4:224<=E?3:192<=E?2:1;function n(s,r){if(r<65537&&(s.subarray&&Q||!s.subarray&&C))return String.fromCharCode.apply(null,B.shrinkBuf(s,r));for(var a="",c=0;c<r;c++)a+=String.fromCharCode(s[c]);return a}i[254]=i[254]=1,o.string2buf=function(s){var r,a,c,h,l,D=s.length,d=0;for(h=0;h<D;h++)(64512&(a=s.charCodeAt(h)))==55296&&h+1<D&&(64512&(c=s.charCodeAt(h+1)))==56320&&(a=65536+(a-55296<<10)+(c-56320),h++),d+=a<128?1:a<2048?2:a<65536?3:4;for(r=new B.Buf8(d),h=l=0;l<d;h++)(64512&(a=s.charCodeAt(h)))==55296&&h+1<D&&(64512&(c=s.charCodeAt(h+1)))==56320&&(a=65536+(a-55296<<10)+(c-56320),h++),a<128?r[l++]=a:(a<2048?r[l++]=192|a>>>6:(a<65536?r[l++]=224|a>>>12:(r[l++]=240|a>>>18,r[l++]=128|a>>>12&63),r[l++]=128|a>>>6&63),r[l++]=128|63&a);return r},o.buf2binstring=function(s){return n(s,s.length)},o.binstring2buf=function(s){for(var r=new B.Buf8(s.length),a=0,c=r.length;a<c;a++)r[a]=s.charCodeAt(a);return r},o.buf2string=function(s,r){var a,c,h,l,D=r||s.length,d=new Array(2*D);for(a=c=0;a<D;)if((h=s[a++])<128)d[c++]=h;else if(4<(l=i[h]))d[c++]=65533,a+=l-1;else{for(h&=l===2?31:l===3?15:7;1<l&&a<D;)h=h<<6|63&s[a++],l--;1<l?d[c++]=65533:h<65536?d[c++]=h:(h-=65536,d[c++]=55296|h>>10&1023,d[c++]=56320|1023&h)}return n(d,c)},o.utf8border=function(s,r){var a;for((r=r||s.length)>s.length&&(r=s.length),a=r-1;0<=a&&(192&s[a])==128;)a--;return a<0||a===0?r:a+i[s[a]]>r?a:r}},{"./common":41}],43:[function(e,t,o){t.exports=function(B,C,Q,i){for(var E=65535&B|0,n=B>>>16&65535|0,s=0;Q!==0;){for(Q-=s=2e3<Q?2e3:Q;n=n+(E=E+C[i++]|0)|0,--s;);E%=65521,n%=65521}return E|n<<16|0}},{}],44:[function(e,t,o){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],45:[function(e,t,o){var B=(function(){for(var C,Q=[],i=0;i<256;i++){C=i;for(var E=0;E<8;E++)C=1&C?3988292384^C>>>1:C>>>1;Q[i]=C}return Q})();t.exports=function(C,Q,i,E){var n=B,s=E+i;C^=-1;for(var r=E;r<s;r++)C=C>>>8^n[255&(C^Q[r])];return-1^C}},{}],46:[function(e,t,o){var B,C=e("../utils/common"),Q=e("./trees"),i=e("./adler32"),E=e("./crc32"),n=e("./messages"),s=0,r=4,a=0,c=-2,h=-1,l=4,D=2,d=8,y=9,w=286,u=30,G=19,m=2*w+1,p=15,k=3,S=258,R=S+k+1,x=42,N=113,U=1,K=2,Y=3,_=4;function q(rA,NA){return rA.msg=n[NA],NA}function j(rA){return(rA<<1)-(4<rA?9:0)}function W(rA){for(var NA=rA.length;0<=--NA;)rA[NA]=0}function Z(rA){var NA=rA.state,RA=NA.pending;RA>rA.avail_out&&(RA=rA.avail_out),RA!==0&&(C.arraySet(rA.output,NA.pending_buf,NA.pending_out,RA,rA.next_out),rA.next_out+=RA,NA.pending_out+=RA,rA.total_out+=RA,rA.avail_out-=RA,NA.pending-=RA,NA.pending===0&&(NA.pending_out=0))}function $(rA,NA){Q._tr_flush_block(rA,0<=rA.block_start?rA.block_start:-1,rA.strstart-rA.block_start,NA),rA.block_start=rA.strstart,Z(rA.strm)}function eA(rA,NA){rA.pending_buf[rA.pending++]=NA}function IA(rA,NA){rA.pending_buf[rA.pending++]=NA>>>8&255,rA.pending_buf[rA.pending++]=255&NA}function QA(rA,NA){var RA,xA,bA=rA.max_chain_length,JA=rA.strstart,mA=rA.prev_length,LA=rA.nice_match,dA=rA.strstart>rA.w_size-R?rA.strstart-(rA.w_size-R):0,HA=rA.window,WA=rA.w_mask,Qg=rA.prev,YA=rA.strstart+S,uA=HA[JA+mA-1],kA=HA[JA+mA];rA.prev_length>=rA.good_match&&(bA>>=2),LA>rA.lookahead&&(LA=rA.lookahead);do if(HA[(RA=NA)+mA]===kA&&HA[RA+mA-1]===uA&&HA[RA]===HA[JA]&&HA[++RA]===HA[JA+1]){JA+=2,RA++;do;while(HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&HA[++JA]===HA[++RA]&&JA<YA);if(xA=S-(YA-JA),JA=YA-S,mA<xA){if(rA.match_start=NA,LA<=(mA=xA))break;uA=HA[JA+mA-1],kA=HA[JA+mA]}}while((NA=Qg[NA&WA])>dA&&--bA!=0);return mA<=rA.lookahead?mA:rA.lookahead}function sA(rA){var NA,RA,xA,bA,JA,mA,LA,dA,HA,WA,Qg=rA.w_size;do{if(bA=rA.window_size-rA.lookahead-rA.strstart,rA.strstart>=Qg+(Qg-R)){for(C.arraySet(rA.window,rA.window,Qg,Qg,0),rA.match_start-=Qg,rA.strstart-=Qg,rA.block_start-=Qg,NA=RA=rA.hash_size;xA=rA.head[--NA],rA.head[NA]=Qg<=xA?xA-Qg:0,--RA;);for(NA=RA=Qg;xA=rA.prev[--NA],rA.prev[NA]=Qg<=xA?xA-Qg:0,--RA;);bA+=Qg}if(rA.strm.avail_in===0)break;if(mA=rA.strm,LA=rA.window,dA=rA.strstart+rA.lookahead,HA=bA,WA=void 0,WA=mA.avail_in,HA<WA&&(WA=HA),RA=WA===0?0:(mA.avail_in-=WA,C.arraySet(LA,mA.input,mA.next_in,WA,dA),mA.state.wrap===1?mA.adler=i(mA.adler,LA,WA,dA):mA.state.wrap===2&&(mA.adler=E(mA.adler,LA,WA,dA)),mA.next_in+=WA,mA.total_in+=WA,WA),rA.lookahead+=RA,rA.lookahead+rA.insert>=k)for(JA=rA.strstart-rA.insert,rA.ins_h=rA.window[JA],rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[JA+1])&rA.hash_mask;rA.insert&&(rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[JA+k-1])&rA.hash_mask,rA.prev[JA&rA.w_mask]=rA.head[rA.ins_h],rA.head[rA.ins_h]=JA,JA++,rA.insert--,!(rA.lookahead+rA.insert<k)););}while(rA.lookahead<R&&rA.strm.avail_in!==0)}function lA(rA,NA){for(var RA,xA;;){if(rA.lookahead<R){if(sA(rA),rA.lookahead<R&&NA===s)return U;if(rA.lookahead===0)break}if(RA=0,rA.lookahead>=k&&(rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[rA.strstart+k-1])&rA.hash_mask,RA=rA.prev[rA.strstart&rA.w_mask]=rA.head[rA.ins_h],rA.head[rA.ins_h]=rA.strstart),RA!==0&&rA.strstart-RA<=rA.w_size-R&&(rA.match_length=QA(rA,RA)),rA.match_length>=k)if(xA=Q._tr_tally(rA,rA.strstart-rA.match_start,rA.match_length-k),rA.lookahead-=rA.match_length,rA.match_length<=rA.max_lazy_match&&rA.lookahead>=k){for(rA.match_length--;rA.strstart++,rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[rA.strstart+k-1])&rA.hash_mask,RA=rA.prev[rA.strstart&rA.w_mask]=rA.head[rA.ins_h],rA.head[rA.ins_h]=rA.strstart,--rA.match_length!=0;);rA.strstart++}else rA.strstart+=rA.match_length,rA.match_length=0,rA.ins_h=rA.window[rA.strstart],rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[rA.strstart+1])&rA.hash_mask;else xA=Q._tr_tally(rA,0,rA.window[rA.strstart]),rA.lookahead--,rA.strstart++;if(xA&&($(rA,!1),rA.strm.avail_out===0))return U}return rA.insert=rA.strstart<k-1?rA.strstart:k-1,NA===r?($(rA,!0),rA.strm.avail_out===0?Y:_):rA.last_lit&&($(rA,!1),rA.strm.avail_out===0)?U:K}function BA(rA,NA){for(var RA,xA,bA;;){if(rA.lookahead<R){if(sA(rA),rA.lookahead<R&&NA===s)return U;if(rA.lookahead===0)break}if(RA=0,rA.lookahead>=k&&(rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[rA.strstart+k-1])&rA.hash_mask,RA=rA.prev[rA.strstart&rA.w_mask]=rA.head[rA.ins_h],rA.head[rA.ins_h]=rA.strstart),rA.prev_length=rA.match_length,rA.prev_match=rA.match_start,rA.match_length=k-1,RA!==0&&rA.prev_length<rA.max_lazy_match&&rA.strstart-RA<=rA.w_size-R&&(rA.match_length=QA(rA,RA),rA.match_length<=5&&(rA.strategy===1||rA.match_length===k&&4096<rA.strstart-rA.match_start)&&(rA.match_length=k-1)),rA.prev_length>=k&&rA.match_length<=rA.prev_length){for(bA=rA.strstart+rA.lookahead-k,xA=Q._tr_tally(rA,rA.strstart-1-rA.prev_match,rA.prev_length-k),rA.lookahead-=rA.prev_length-1,rA.prev_length-=2;++rA.strstart<=bA&&(rA.ins_h=(rA.ins_h<<rA.hash_shift^rA.window[rA.strstart+k-1])&rA.hash_mask,RA=rA.prev[rA.strstart&rA.w_mask]=rA.head[rA.ins_h],rA.head[rA.ins_h]=rA.strstart),--rA.prev_length!=0;);if(rA.match_available=0,rA.match_length=k-1,rA.strstart++,xA&&($(rA,!1),rA.strm.avail_out===0))return U}else if(rA.match_available){if((xA=Q._tr_tally(rA,0,rA.window[rA.strstart-1]))&&$(rA,!1),rA.strstart++,rA.lookahead--,rA.strm.avail_out===0)return U}else rA.match_available=1,rA.strstart++,rA.lookahead--}return rA.match_available&&(xA=Q._tr_tally(rA,0,rA.window[rA.strstart-1]),rA.match_available=0),rA.insert=rA.strstart<k-1?rA.strstart:k-1,NA===r?($(rA,!0),rA.strm.avail_out===0?Y:_):rA.last_lit&&($(rA,!1),rA.strm.avail_out===0)?U:K}function hA(rA,NA,RA,xA,bA){this.good_length=rA,this.max_lazy=NA,this.nice_length=RA,this.max_chain=xA,this.func=bA}function nA(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=d,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new C.Buf16(2*m),this.dyn_dtree=new C.Buf16(2*(2*u+1)),this.bl_tree=new C.Buf16(2*(2*G+1)),W(this.dyn_ltree),W(this.dyn_dtree),W(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new C.Buf16(p+1),this.heap=new C.Buf16(2*w+1),W(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new C.Buf16(2*w+1),W(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function aA(rA){var NA;return rA&&rA.state?(rA.total_in=rA.total_out=0,rA.data_type=D,(NA=rA.state).pending=0,NA.pending_out=0,NA.wrap<0&&(NA.wrap=-NA.wrap),NA.status=NA.wrap?x:N,rA.adler=NA.wrap===2?0:1,NA.last_flush=s,Q._tr_init(NA),a):q(rA,c)}function SA(rA){var NA=aA(rA);return NA===a&&(function(RA){RA.window_size=2*RA.w_size,W(RA.head),RA.max_lazy_match=B[RA.level].max_lazy,RA.good_match=B[RA.level].good_length,RA.nice_match=B[RA.level].nice_length,RA.max_chain_length=B[RA.level].max_chain,RA.strstart=0,RA.block_start=0,RA.lookahead=0,RA.insert=0,RA.match_length=RA.prev_length=k-1,RA.match_available=0,RA.ins_h=0})(rA.state),NA}function FA(rA,NA,RA,xA,bA,JA){if(!rA)return c;var mA=1;if(NA===h&&(NA=6),xA<0?(mA=0,xA=-xA):15<xA&&(mA=2,xA-=16),bA<1||y<bA||RA!==d||xA<8||15<xA||NA<0||9<NA||JA<0||l<JA)return q(rA,c);xA===8&&(xA=9);var LA=new nA;return(rA.state=LA).strm=rA,LA.wrap=mA,LA.gzhead=null,LA.w_bits=xA,LA.w_size=1<<LA.w_bits,LA.w_mask=LA.w_size-1,LA.hash_bits=bA+7,LA.hash_size=1<<LA.hash_bits,LA.hash_mask=LA.hash_size-1,LA.hash_shift=~~((LA.hash_bits+k-1)/k),LA.window=new C.Buf8(2*LA.w_size),LA.head=new C.Buf16(LA.hash_size),LA.prev=new C.Buf16(LA.w_size),LA.lit_bufsize=1<<bA+6,LA.pending_buf_size=4*LA.lit_bufsize,LA.pending_buf=new C.Buf8(LA.pending_buf_size),LA.d_buf=1*LA.lit_bufsize,LA.l_buf=3*LA.lit_bufsize,LA.level=NA,LA.strategy=JA,LA.method=RA,SA(rA)}B=[new hA(0,0,0,0,function(rA,NA){var RA=65535;for(RA>rA.pending_buf_size-5&&(RA=rA.pending_buf_size-5);;){if(rA.lookahead<=1){if(sA(rA),rA.lookahead===0&&NA===s)return U;if(rA.lookahead===0)break}rA.strstart+=rA.lookahead,rA.lookahead=0;var xA=rA.block_start+RA;if((rA.strstart===0||rA.strstart>=xA)&&(rA.lookahead=rA.strstart-xA,rA.strstart=xA,$(rA,!1),rA.strm.avail_out===0)||rA.strstart-rA.block_start>=rA.w_size-R&&($(rA,!1),rA.strm.avail_out===0))return U}return rA.insert=0,NA===r?($(rA,!0),rA.strm.avail_out===0?Y:_):(rA.strstart>rA.block_start&&($(rA,!1),rA.strm.avail_out),U)}),new hA(4,4,8,4,lA),new hA(4,5,16,8,lA),new hA(4,6,32,32,lA),new hA(4,4,16,16,BA),new hA(8,16,32,32,BA),new hA(8,16,128,128,BA),new hA(8,32,128,256,BA),new hA(32,128,258,1024,BA),new hA(32,258,258,4096,BA)],o.deflateInit=function(rA,NA){return FA(rA,NA,d,15,8,0)},o.deflateInit2=FA,o.deflateReset=SA,o.deflateResetKeep=aA,o.deflateSetHeader=function(rA,NA){return rA&&rA.state?rA.state.wrap!==2?c:(rA.state.gzhead=NA,a):c},o.deflate=function(rA,NA){var RA,xA,bA,JA;if(!rA||!rA.state||5<NA||NA<0)return rA?q(rA,c):c;if(xA=rA.state,!rA.output||!rA.input&&rA.avail_in!==0||xA.status===666&&NA!==r)return q(rA,rA.avail_out===0?-5:c);if(xA.strm=rA,RA=xA.last_flush,xA.last_flush=NA,xA.status===x)if(xA.wrap===2)rA.adler=0,eA(xA,31),eA(xA,139),eA(xA,8),xA.gzhead?(eA(xA,(xA.gzhead.text?1:0)+(xA.gzhead.hcrc?2:0)+(xA.gzhead.extra?4:0)+(xA.gzhead.name?8:0)+(xA.gzhead.comment?16:0)),eA(xA,255&xA.gzhead.time),eA(xA,xA.gzhead.time>>8&255),eA(xA,xA.gzhead.time>>16&255),eA(xA,xA.gzhead.time>>24&255),eA(xA,xA.level===9?2:2<=xA.strategy||xA.level<2?4:0),eA(xA,255&xA.gzhead.os),xA.gzhead.extra&&xA.gzhead.extra.length&&(eA(xA,255&xA.gzhead.extra.length),eA(xA,xA.gzhead.extra.length>>8&255)),xA.gzhead.hcrc&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending,0)),xA.gzindex=0,xA.status=69):(eA(xA,0),eA(xA,0),eA(xA,0),eA(xA,0),eA(xA,0),eA(xA,xA.level===9?2:2<=xA.strategy||xA.level<2?4:0),eA(xA,3),xA.status=N);else{var mA=d+(xA.w_bits-8<<4)<<8;mA|=(2<=xA.strategy||xA.level<2?0:xA.level<6?1:xA.level===6?2:3)<<6,xA.strstart!==0&&(mA|=32),mA+=31-mA%31,xA.status=N,IA(xA,mA),xA.strstart!==0&&(IA(xA,rA.adler>>>16),IA(xA,65535&rA.adler)),rA.adler=1}if(xA.status===69)if(xA.gzhead.extra){for(bA=xA.pending;xA.gzindex<(65535&xA.gzhead.extra.length)&&(xA.pending!==xA.pending_buf_size||(xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),Z(rA),bA=xA.pending,xA.pending!==xA.pending_buf_size));)eA(xA,255&xA.gzhead.extra[xA.gzindex]),xA.gzindex++;xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),xA.gzindex===xA.gzhead.extra.length&&(xA.gzindex=0,xA.status=73)}else xA.status=73;if(xA.status===73)if(xA.gzhead.name){bA=xA.pending;do{if(xA.pending===xA.pending_buf_size&&(xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),Z(rA),bA=xA.pending,xA.pending===xA.pending_buf_size)){JA=1;break}JA=xA.gzindex<xA.gzhead.name.length?255&xA.gzhead.name.charCodeAt(xA.gzindex++):0,eA(xA,JA)}while(JA!==0);xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),JA===0&&(xA.gzindex=0,xA.status=91)}else xA.status=91;if(xA.status===91)if(xA.gzhead.comment){bA=xA.pending;do{if(xA.pending===xA.pending_buf_size&&(xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),Z(rA),bA=xA.pending,xA.pending===xA.pending_buf_size)){JA=1;break}JA=xA.gzindex<xA.gzhead.comment.length?255&xA.gzhead.comment.charCodeAt(xA.gzindex++):0,eA(xA,JA)}while(JA!==0);xA.gzhead.hcrc&&xA.pending>bA&&(rA.adler=E(rA.adler,xA.pending_buf,xA.pending-bA,bA)),JA===0&&(xA.status=103)}else xA.status=103;if(xA.status===103&&(xA.gzhead.hcrc?(xA.pending+2>xA.pending_buf_size&&Z(rA),xA.pending+2<=xA.pending_buf_size&&(eA(xA,255&rA.adler),eA(xA,rA.adler>>8&255),rA.adler=0,xA.status=N)):xA.status=N),xA.pending!==0){if(Z(rA),rA.avail_out===0)return xA.last_flush=-1,a}else if(rA.avail_in===0&&j(NA)<=j(RA)&&NA!==r)return q(rA,-5);if(xA.status===666&&rA.avail_in!==0)return q(rA,-5);if(rA.avail_in!==0||xA.lookahead!==0||NA!==s&&xA.status!==666){var LA=xA.strategy===2?(function(dA,HA){for(var WA;;){if(dA.lookahead===0&&(sA(dA),dA.lookahead===0)){if(HA===s)return U;break}if(dA.match_length=0,WA=Q._tr_tally(dA,0,dA.window[dA.strstart]),dA.lookahead--,dA.strstart++,WA&&($(dA,!1),dA.strm.avail_out===0))return U}return dA.insert=0,HA===r?($(dA,!0),dA.strm.avail_out===0?Y:_):dA.last_lit&&($(dA,!1),dA.strm.avail_out===0)?U:K})(xA,NA):xA.strategy===3?(function(dA,HA){for(var WA,Qg,YA,uA,kA=dA.window;;){if(dA.lookahead<=S){if(sA(dA),dA.lookahead<=S&&HA===s)return U;if(dA.lookahead===0)break}if(dA.match_length=0,dA.lookahead>=k&&0<dA.strstart&&(Qg=kA[YA=dA.strstart-1])===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]){uA=dA.strstart+S;do;while(Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&Qg===kA[++YA]&&YA<uA);dA.match_length=S-(uA-YA),dA.match_length>dA.lookahead&&(dA.match_length=dA.lookahead)}if(dA.match_length>=k?(WA=Q._tr_tally(dA,1,dA.match_length-k),dA.lookahead-=dA.match_length,dA.strstart+=dA.match_length,dA.match_length=0):(WA=Q._tr_tally(dA,0,dA.window[dA.strstart]),dA.lookahead--,dA.strstart++),WA&&($(dA,!1),dA.strm.avail_out===0))return U}return dA.insert=0,HA===r?($(dA,!0),dA.strm.avail_out===0?Y:_):dA.last_lit&&($(dA,!1),dA.strm.avail_out===0)?U:K})(xA,NA):B[xA.level].func(xA,NA);if(LA!==Y&&LA!==_||(xA.status=666),LA===U||LA===Y)return rA.avail_out===0&&(xA.last_flush=-1),a;if(LA===K&&(NA===1?Q._tr_align(xA):NA!==5&&(Q._tr_stored_block(xA,0,0,!1),NA===3&&(W(xA.head),xA.lookahead===0&&(xA.strstart=0,xA.block_start=0,xA.insert=0))),Z(rA),rA.avail_out===0))return xA.last_flush=-1,a}return NA!==r?a:xA.wrap<=0?1:(xA.wrap===2?(eA(xA,255&rA.adler),eA(xA,rA.adler>>8&255),eA(xA,rA.adler>>16&255),eA(xA,rA.adler>>24&255),eA(xA,255&rA.total_in),eA(xA,rA.total_in>>8&255),eA(xA,rA.total_in>>16&255),eA(xA,rA.total_in>>24&255)):(IA(xA,rA.adler>>>16),IA(xA,65535&rA.adler)),Z(rA),0<xA.wrap&&(xA.wrap=-xA.wrap),xA.pending!==0?a:1)},o.deflateEnd=function(rA){var NA;return rA&&rA.state?(NA=rA.state.status)!==x&&NA!==69&&NA!==73&&NA!==91&&NA!==103&&NA!==N&&NA!==666?q(rA,c):(rA.state=null,NA===N?q(rA,-3):a):c},o.deflateSetDictionary=function(rA,NA){var RA,xA,bA,JA,mA,LA,dA,HA,WA=NA.length;if(!rA||!rA.state||(JA=(RA=rA.state).wrap)===2||JA===1&&RA.status!==x||RA.lookahead)return c;for(JA===1&&(rA.adler=i(rA.adler,NA,WA,0)),RA.wrap=0,WA>=RA.w_size&&(JA===0&&(W(RA.head),RA.strstart=0,RA.block_start=0,RA.insert=0),HA=new C.Buf8(RA.w_size),C.arraySet(HA,NA,WA-RA.w_size,RA.w_size,0),NA=HA,WA=RA.w_size),mA=rA.avail_in,LA=rA.next_in,dA=rA.input,rA.avail_in=WA,rA.next_in=0,rA.input=NA,sA(RA);RA.lookahead>=k;){for(xA=RA.strstart,bA=RA.lookahead-(k-1);RA.ins_h=(RA.ins_h<<RA.hash_shift^RA.window[xA+k-1])&RA.hash_mask,RA.prev[xA&RA.w_mask]=RA.head[RA.ins_h],RA.head[RA.ins_h]=xA,xA++,--bA;);RA.strstart=xA,RA.lookahead=k-1,sA(RA)}return RA.strstart+=RA.lookahead,RA.block_start=RA.strstart,RA.insert=RA.lookahead,RA.lookahead=0,RA.match_length=RA.prev_length=k-1,RA.match_available=0,rA.next_in=LA,rA.input=dA,rA.avail_in=mA,RA.wrap=JA,a},o.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,o){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},{}],48:[function(e,t,o){t.exports=function(B,C){var Q,i,E,n,s,r,a,c,h,l,D,d,y,w,u,G,m,p,k,S,R,x,N,U,K;Q=B.state,i=B.next_in,U=B.input,E=i+(B.avail_in-5),n=B.next_out,K=B.output,s=n-(C-B.avail_out),r=n+(B.avail_out-257),a=Q.dmax,c=Q.wsize,h=Q.whave,l=Q.wnext,D=Q.window,d=Q.hold,y=Q.bits,w=Q.lencode,u=Q.distcode,G=(1<<Q.lenbits)-1,m=(1<<Q.distbits)-1;A:do{y<15&&(d+=U[i++]<<y,y+=8,d+=U[i++]<<y,y+=8),p=w[d&G];g:for(;;){if(d>>>=k=p>>>24,y-=k,(k=p>>>16&255)===0)K[n++]=65535&p;else{if(!(16&k)){if((64&k)==0){p=w[(65535&p)+(d&(1<<k)-1)];continue g}if(32&k){Q.mode=12;break A}B.msg="invalid literal/length code",Q.mode=30;break A}S=65535&p,(k&=15)&&(y<k&&(d+=U[i++]<<y,y+=8),S+=d&(1<<k)-1,d>>>=k,y-=k),y<15&&(d+=U[i++]<<y,y+=8,d+=U[i++]<<y,y+=8),p=u[d&m];I:for(;;){if(d>>>=k=p>>>24,y-=k,!(16&(k=p>>>16&255))){if((64&k)==0){p=u[(65535&p)+(d&(1<<k)-1)];continue I}B.msg="invalid distance code",Q.mode=30;break A}if(R=65535&p,y<(k&=15)&&(d+=U[i++]<<y,(y+=8)<k&&(d+=U[i++]<<y,y+=8)),a<(R+=d&(1<<k)-1)){B.msg="invalid distance too far back",Q.mode=30;break A}if(d>>>=k,y-=k,(k=n-s)<R){if(h<(k=R-k)&&Q.sane){B.msg="invalid distance too far back",Q.mode=30;break A}if(N=D,(x=0)===l){if(x+=c-k,k<S){for(S-=k;K[n++]=D[x++],--k;);x=n-R,N=K}}else if(l<k){if(x+=c+l-k,(k-=l)<S){for(S-=k;K[n++]=D[x++],--k;);if(x=0,l<S){for(S-=k=l;K[n++]=D[x++],--k;);x=n-R,N=K}}}else if(x+=l-k,k<S){for(S-=k;K[n++]=D[x++],--k;);x=n-R,N=K}for(;2<S;)K[n++]=N[x++],K[n++]=N[x++],K[n++]=N[x++],S-=3;S&&(K[n++]=N[x++],1<S&&(K[n++]=N[x++]))}else{for(x=n-R;K[n++]=K[x++],K[n++]=K[x++],K[n++]=K[x++],2<(S-=3););S&&(K[n++]=K[x++],1<S&&(K[n++]=K[x++]))}break}}break}}while(i<E&&n<r);i-=S=y>>3,d&=(1<<(y-=S<<3))-1,B.next_in=i,B.next_out=n,B.avail_in=i<E?E-i+5:5-(i-E),B.avail_out=n<r?r-n+257:257-(n-r),Q.hold=d,Q.bits=y}},{}],49:[function(e,t,o){var B=e("../utils/common"),C=e("./adler32"),Q=e("./crc32"),i=e("./inffast"),E=e("./inftrees"),n=1,s=2,r=0,a=-2,c=1,h=852,l=592;function D(x){return(x>>>24&255)+(x>>>8&65280)+((65280&x)<<8)+((255&x)<<24)}function d(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new B.Buf16(320),this.work=new B.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function y(x){var N;return x&&x.state?(N=x.state,x.total_in=x.total_out=N.total=0,x.msg="",N.wrap&&(x.adler=1&N.wrap),N.mode=c,N.last=0,N.havedict=0,N.dmax=32768,N.head=null,N.hold=0,N.bits=0,N.lencode=N.lendyn=new B.Buf32(h),N.distcode=N.distdyn=new B.Buf32(l),N.sane=1,N.back=-1,r):a}function w(x){var N;return x&&x.state?((N=x.state).wsize=0,N.whave=0,N.wnext=0,y(x)):a}function u(x,N){var U,K;return x&&x.state?(K=x.state,N<0?(U=0,N=-N):(U=1+(N>>4),N<48&&(N&=15)),N&&(N<8||15<N)?a:(K.window!==null&&K.wbits!==N&&(K.window=null),K.wrap=U,K.wbits=N,w(x))):a}function G(x,N){var U,K;return x?(K=new d,(x.state=K).window=null,(U=u(x,N))!==r&&(x.state=null),U):a}var m,p,k=!0;function S(x){if(k){var N;for(m=new B.Buf32(512),p=new B.Buf32(32),N=0;N<144;)x.lens[N++]=8;for(;N<256;)x.lens[N++]=9;for(;N<280;)x.lens[N++]=7;for(;N<288;)x.lens[N++]=8;for(E(n,x.lens,0,288,m,0,x.work,{bits:9}),N=0;N<32;)x.lens[N++]=5;E(s,x.lens,0,32,p,0,x.work,{bits:5}),k=!1}x.lencode=m,x.lenbits=9,x.distcode=p,x.distbits=5}function R(x,N,U,K){var Y,_=x.state;return _.window===null&&(_.wsize=1<<_.wbits,_.wnext=0,_.whave=0,_.window=new B.Buf8(_.wsize)),K>=_.wsize?(B.arraySet(_.window,N,U-_.wsize,_.wsize,0),_.wnext=0,_.whave=_.wsize):(K<(Y=_.wsize-_.wnext)&&(Y=K),B.arraySet(_.window,N,U-K,Y,_.wnext),(K-=Y)?(B.arraySet(_.window,N,U-K,K,0),_.wnext=K,_.whave=_.wsize):(_.wnext+=Y,_.wnext===_.wsize&&(_.wnext=0),_.whave<_.wsize&&(_.whave+=Y))),0}o.inflateReset=w,o.inflateReset2=u,o.inflateResetKeep=y,o.inflateInit=function(x){return G(x,15)},o.inflateInit2=G,o.inflate=function(x,N){var U,K,Y,_,q,j,W,Z,$,eA,IA,QA,sA,lA,BA,hA,nA,aA,SA,FA,rA,NA,RA,xA,bA=0,JA=new B.Buf8(4),mA=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!x||!x.state||!x.output||!x.input&&x.avail_in!==0)return a;(U=x.state).mode===12&&(U.mode=13),q=x.next_out,Y=x.output,W=x.avail_out,_=x.next_in,K=x.input,j=x.avail_in,Z=U.hold,$=U.bits,eA=j,IA=W,NA=r;A:for(;;)switch(U.mode){case c:if(U.wrap===0){U.mode=13;break}for(;$<16;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(2&U.wrap&&Z===35615){JA[U.check=0]=255&Z,JA[1]=Z>>>8&255,U.check=Q(U.check,JA,2,0),$=Z=0,U.mode=2;break}if(U.flags=0,U.head&&(U.head.done=!1),!(1&U.wrap)||(((255&Z)<<8)+(Z>>8))%31){x.msg="incorrect header check",U.mode=30;break}if((15&Z)!=8){x.msg="unknown compression method",U.mode=30;break}if($-=4,rA=8+(15&(Z>>>=4)),U.wbits===0)U.wbits=rA;else if(rA>U.wbits){x.msg="invalid window size",U.mode=30;break}U.dmax=1<<rA,x.adler=U.check=1,U.mode=512&Z?10:12,$=Z=0;break;case 2:for(;$<16;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(U.flags=Z,(255&U.flags)!=8){x.msg="unknown compression method",U.mode=30;break}if(57344&U.flags){x.msg="unknown header flags set",U.mode=30;break}U.head&&(U.head.text=Z>>8&1),512&U.flags&&(JA[0]=255&Z,JA[1]=Z>>>8&255,U.check=Q(U.check,JA,2,0)),$=Z=0,U.mode=3;case 3:for(;$<32;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.head&&(U.head.time=Z),512&U.flags&&(JA[0]=255&Z,JA[1]=Z>>>8&255,JA[2]=Z>>>16&255,JA[3]=Z>>>24&255,U.check=Q(U.check,JA,4,0)),$=Z=0,U.mode=4;case 4:for(;$<16;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.head&&(U.head.xflags=255&Z,U.head.os=Z>>8),512&U.flags&&(JA[0]=255&Z,JA[1]=Z>>>8&255,U.check=Q(U.check,JA,2,0)),$=Z=0,U.mode=5;case 5:if(1024&U.flags){for(;$<16;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.length=Z,U.head&&(U.head.extra_len=Z),512&U.flags&&(JA[0]=255&Z,JA[1]=Z>>>8&255,U.check=Q(U.check,JA,2,0)),$=Z=0}else U.head&&(U.head.extra=null);U.mode=6;case 6:if(1024&U.flags&&(j<(QA=U.length)&&(QA=j),QA&&(U.head&&(rA=U.head.extra_len-U.length,U.head.extra||(U.head.extra=new Array(U.head.extra_len)),B.arraySet(U.head.extra,K,_,QA,rA)),512&U.flags&&(U.check=Q(U.check,K,QA,_)),j-=QA,_+=QA,U.length-=QA),U.length))break A;U.length=0,U.mode=7;case 7:if(2048&U.flags){if(j===0)break A;for(QA=0;rA=K[_+QA++],U.head&&rA&&U.length<65536&&(U.head.name+=String.fromCharCode(rA)),rA&&QA<j;);if(512&U.flags&&(U.check=Q(U.check,K,QA,_)),j-=QA,_+=QA,rA)break A}else U.head&&(U.head.name=null);U.length=0,U.mode=8;case 8:if(4096&U.flags){if(j===0)break A;for(QA=0;rA=K[_+QA++],U.head&&rA&&U.length<65536&&(U.head.comment+=String.fromCharCode(rA)),rA&&QA<j;);if(512&U.flags&&(U.check=Q(U.check,K,QA,_)),j-=QA,_+=QA,rA)break A}else U.head&&(U.head.comment=null);U.mode=9;case 9:if(512&U.flags){for(;$<16;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(Z!==(65535&U.check)){x.msg="header crc mismatch",U.mode=30;break}$=Z=0}U.head&&(U.head.hcrc=U.flags>>9&1,U.head.done=!0),x.adler=U.check=0,U.mode=12;break;case 10:for(;$<32;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}x.adler=U.check=D(Z),$=Z=0,U.mode=11;case 11:if(U.havedict===0)return x.next_out=q,x.avail_out=W,x.next_in=_,x.avail_in=j,U.hold=Z,U.bits=$,2;x.adler=U.check=1,U.mode=12;case 12:if(N===5||N===6)break A;case 13:if(U.last){Z>>>=7&$,$-=7&$,U.mode=27;break}for(;$<3;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}switch(U.last=1&Z,$-=1,3&(Z>>>=1)){case 0:U.mode=14;break;case 1:if(S(U),U.mode=20,N!==6)break;Z>>>=2,$-=2;break A;case 2:U.mode=17;break;case 3:x.msg="invalid block type",U.mode=30}Z>>>=2,$-=2;break;case 14:for(Z>>>=7&$,$-=7&$;$<32;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if((65535&Z)!=(Z>>>16^65535)){x.msg="invalid stored block lengths",U.mode=30;break}if(U.length=65535&Z,$=Z=0,U.mode=15,N===6)break A;case 15:U.mode=16;case 16:if(QA=U.length){if(j<QA&&(QA=j),W<QA&&(QA=W),QA===0)break A;B.arraySet(Y,K,_,QA,q),j-=QA,_+=QA,W-=QA,q+=QA,U.length-=QA;break}U.mode=12;break;case 17:for(;$<14;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(U.nlen=257+(31&Z),Z>>>=5,$-=5,U.ndist=1+(31&Z),Z>>>=5,$-=5,U.ncode=4+(15&Z),Z>>>=4,$-=4,286<U.nlen||30<U.ndist){x.msg="too many length or distance symbols",U.mode=30;break}U.have=0,U.mode=18;case 18:for(;U.have<U.ncode;){for(;$<3;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.lens[mA[U.have++]]=7&Z,Z>>>=3,$-=3}for(;U.have<19;)U.lens[mA[U.have++]]=0;if(U.lencode=U.lendyn,U.lenbits=7,RA={bits:U.lenbits},NA=E(0,U.lens,0,19,U.lencode,0,U.work,RA),U.lenbits=RA.bits,NA){x.msg="invalid code lengths set",U.mode=30;break}U.have=0,U.mode=19;case 19:for(;U.have<U.nlen+U.ndist;){for(;hA=(bA=U.lencode[Z&(1<<U.lenbits)-1])>>>16&255,nA=65535&bA,!((BA=bA>>>24)<=$);){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(nA<16)Z>>>=BA,$-=BA,U.lens[U.have++]=nA;else{if(nA===16){for(xA=BA+2;$<xA;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(Z>>>=BA,$-=BA,U.have===0){x.msg="invalid bit length repeat",U.mode=30;break}rA=U.lens[U.have-1],QA=3+(3&Z),Z>>>=2,$-=2}else if(nA===17){for(xA=BA+3;$<xA;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}$-=BA,rA=0,QA=3+(7&(Z>>>=BA)),Z>>>=3,$-=3}else{for(xA=BA+7;$<xA;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}$-=BA,rA=0,QA=11+(127&(Z>>>=BA)),Z>>>=7,$-=7}if(U.have+QA>U.nlen+U.ndist){x.msg="invalid bit length repeat",U.mode=30;break}for(;QA--;)U.lens[U.have++]=rA}}if(U.mode===30)break;if(U.lens[256]===0){x.msg="invalid code -- missing end-of-block",U.mode=30;break}if(U.lenbits=9,RA={bits:U.lenbits},NA=E(n,U.lens,0,U.nlen,U.lencode,0,U.work,RA),U.lenbits=RA.bits,NA){x.msg="invalid literal/lengths set",U.mode=30;break}if(U.distbits=6,U.distcode=U.distdyn,RA={bits:U.distbits},NA=E(s,U.lens,U.nlen,U.ndist,U.distcode,0,U.work,RA),U.distbits=RA.bits,NA){x.msg="invalid distances set",U.mode=30;break}if(U.mode=20,N===6)break A;case 20:U.mode=21;case 21:if(6<=j&&258<=W){x.next_out=q,x.avail_out=W,x.next_in=_,x.avail_in=j,U.hold=Z,U.bits=$,i(x,IA),q=x.next_out,Y=x.output,W=x.avail_out,_=x.next_in,K=x.input,j=x.avail_in,Z=U.hold,$=U.bits,U.mode===12&&(U.back=-1);break}for(U.back=0;hA=(bA=U.lencode[Z&(1<<U.lenbits)-1])>>>16&255,nA=65535&bA,!((BA=bA>>>24)<=$);){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(hA&&(240&hA)==0){for(aA=BA,SA=hA,FA=nA;hA=(bA=U.lencode[FA+((Z&(1<<aA+SA)-1)>>aA)])>>>16&255,nA=65535&bA,!(aA+(BA=bA>>>24)<=$);){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}Z>>>=aA,$-=aA,U.back+=aA}if(Z>>>=BA,$-=BA,U.back+=BA,U.length=nA,hA===0){U.mode=26;break}if(32&hA){U.back=-1,U.mode=12;break}if(64&hA){x.msg="invalid literal/length code",U.mode=30;break}U.extra=15&hA,U.mode=22;case 22:if(U.extra){for(xA=U.extra;$<xA;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.length+=Z&(1<<U.extra)-1,Z>>>=U.extra,$-=U.extra,U.back+=U.extra}U.was=U.length,U.mode=23;case 23:for(;hA=(bA=U.distcode[Z&(1<<U.distbits)-1])>>>16&255,nA=65535&bA,!((BA=bA>>>24)<=$);){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if((240&hA)==0){for(aA=BA,SA=hA,FA=nA;hA=(bA=U.distcode[FA+((Z&(1<<aA+SA)-1)>>aA)])>>>16&255,nA=65535&bA,!(aA+(BA=bA>>>24)<=$);){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}Z>>>=aA,$-=aA,U.back+=aA}if(Z>>>=BA,$-=BA,U.back+=BA,64&hA){x.msg="invalid distance code",U.mode=30;break}U.offset=nA,U.extra=15&hA,U.mode=24;case 24:if(U.extra){for(xA=U.extra;$<xA;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}U.offset+=Z&(1<<U.extra)-1,Z>>>=U.extra,$-=U.extra,U.back+=U.extra}if(U.offset>U.dmax){x.msg="invalid distance too far back",U.mode=30;break}U.mode=25;case 25:if(W===0)break A;if(QA=IA-W,U.offset>QA){if((QA=U.offset-QA)>U.whave&&U.sane){x.msg="invalid distance too far back",U.mode=30;break}sA=QA>U.wnext?(QA-=U.wnext,U.wsize-QA):U.wnext-QA,QA>U.length&&(QA=U.length),lA=U.window}else lA=Y,sA=q-U.offset,QA=U.length;for(W<QA&&(QA=W),W-=QA,U.length-=QA;Y[q++]=lA[sA++],--QA;);U.length===0&&(U.mode=21);break;case 26:if(W===0)break A;Y[q++]=U.length,W--,U.mode=21;break;case 27:if(U.wrap){for(;$<32;){if(j===0)break A;j--,Z|=K[_++]<<$,$+=8}if(IA-=W,x.total_out+=IA,U.total+=IA,IA&&(x.adler=U.check=U.flags?Q(U.check,Y,IA,q-IA):C(U.check,Y,IA,q-IA)),IA=W,(U.flags?Z:D(Z))!==U.check){x.msg="incorrect data check",U.mode=30;break}$=Z=0}U.mode=28;case 28:if(U.wrap&&U.flags){for(;$<32;){if(j===0)break A;j--,Z+=K[_++]<<$,$+=8}if(Z!==(4294967295&U.total)){x.msg="incorrect length check",U.mode=30;break}$=Z=0}U.mode=29;case 29:NA=1;break A;case 30:NA=-3;break A;case 31:return-4;default:return a}return x.next_out=q,x.avail_out=W,x.next_in=_,x.avail_in=j,U.hold=Z,U.bits=$,(U.wsize||IA!==x.avail_out&&U.mode<30&&(U.mode<27||N!==4))&&R(x,x.output,x.next_out,IA-x.avail_out)?(U.mode=31,-4):(eA-=x.avail_in,IA-=x.avail_out,x.total_in+=eA,x.total_out+=IA,U.total+=IA,U.wrap&&IA&&(x.adler=U.check=U.flags?Q(U.check,Y,IA,x.next_out-IA):C(U.check,Y,IA,x.next_out-IA)),x.data_type=U.bits+(U.last?64:0)+(U.mode===12?128:0)+(U.mode===20||U.mode===15?256:0),(eA==0&&IA===0||N===4)&&NA===r&&(NA=-5),NA)},o.inflateEnd=function(x){if(!x||!x.state)return a;var N=x.state;return N.window&&(N.window=null),x.state=null,r},o.inflateGetHeader=function(x,N){var U;return x&&x.state?(2&(U=x.state).wrap)==0?a:((U.head=N).done=!1,r):a},o.inflateSetDictionary=function(x,N){var U,K=N.length;return x&&x.state?(U=x.state).wrap!==0&&U.mode!==11?a:U.mode===11&&C(1,N,K,0)!==U.check?-3:R(x,N,K,K)?(U.mode=31,-4):(U.havedict=1,r):a},o.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,o){var B=e("../utils/common"),C=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Q=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],i=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],E=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(n,s,r,a,c,h,l,D){var d,y,w,u,G,m,p,k,S,R=D.bits,x=0,N=0,U=0,K=0,Y=0,_=0,q=0,j=0,W=0,Z=0,$=null,eA=0,IA=new B.Buf16(16),QA=new B.Buf16(16),sA=null,lA=0;for(x=0;x<=15;x++)IA[x]=0;for(N=0;N<a;N++)IA[s[r+N]]++;for(Y=R,K=15;1<=K&&IA[K]===0;K--);if(K<Y&&(Y=K),K===0)return c[h++]=20971520,c[h++]=20971520,D.bits=1,0;for(U=1;U<K&&IA[U]===0;U++);for(Y<U&&(Y=U),x=j=1;x<=15;x++)if(j<<=1,(j-=IA[x])<0)return-1;if(0<j&&(n===0||K!==1))return-1;for(QA[1]=0,x=1;x<15;x++)QA[x+1]=QA[x]+IA[x];for(N=0;N<a;N++)s[r+N]!==0&&(l[QA[s[r+N]]++]=N);if(m=n===0?($=sA=l,19):n===1?($=C,eA-=257,sA=Q,lA-=257,256):($=i,sA=E,-1),x=U,G=h,q=N=Z=0,w=-1,u=(W=1<<(_=Y))-1,n===1&&852<W||n===2&&592<W)return 1;for(;;){for(p=x-q,S=l[N]<m?(k=0,l[N]):l[N]>m?(k=sA[lA+l[N]],$[eA+l[N]]):(k=96,0),d=1<<x-q,U=y=1<<_;c[G+(Z>>q)+(y-=d)]=p<<24|k<<16|S|0,y!==0;);for(d=1<<x-1;Z&d;)d>>=1;if(d!==0?(Z&=d-1,Z+=d):Z=0,N++,--IA[x]==0){if(x===K)break;x=s[r+l[N]]}if(Y<x&&(Z&u)!==w){for(q===0&&(q=Y),G+=U,j=1<<(_=x-q);_+q<K&&!((j-=IA[_+q])<=0);)_++,j<<=1;if(W+=1<<_,n===1&&852<W||n===2&&592<W)return 1;c[w=Z&u]=Y<<24|_<<16|G-h|0}}return Z!==0&&(c[G+Z]=x-q<<24|64<<16|0),D.bits=Y,0}},{"../utils/common":41}],51:[function(e,t,o){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],52:[function(e,t,o){var B=e("../utils/common"),C=0,Q=1;function i(bA){for(var JA=bA.length;0<=--JA;)bA[JA]=0}var E=0,n=29,s=256,r=s+1+n,a=30,c=19,h=2*r+1,l=15,D=16,d=7,y=256,w=16,u=17,G=18,m=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],p=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],k=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],R=new Array(2*(r+2));i(R);var x=new Array(2*a);i(x);var N=new Array(512);i(N);var U=new Array(256);i(U);var K=new Array(n);i(K);var Y,_,q,j=new Array(a);function W(bA,JA,mA,LA,dA){this.static_tree=bA,this.extra_bits=JA,this.extra_base=mA,this.elems=LA,this.max_length=dA,this.has_stree=bA&&bA.length}function Z(bA,JA){this.dyn_tree=bA,this.max_code=0,this.stat_desc=JA}function $(bA){return bA<256?N[bA]:N[256+(bA>>>7)]}function eA(bA,JA){bA.pending_buf[bA.pending++]=255&JA,bA.pending_buf[bA.pending++]=JA>>>8&255}function IA(bA,JA,mA){bA.bi_valid>D-mA?(bA.bi_buf|=JA<<bA.bi_valid&65535,eA(bA,bA.bi_buf),bA.bi_buf=JA>>D-bA.bi_valid,bA.bi_valid+=mA-D):(bA.bi_buf|=JA<<bA.bi_valid&65535,bA.bi_valid+=mA)}function QA(bA,JA,mA){IA(bA,mA[2*JA],mA[2*JA+1])}function sA(bA,JA){for(var mA=0;mA|=1&bA,bA>>>=1,mA<<=1,0<--JA;);return mA>>>1}function lA(bA,JA,mA){var LA,dA,HA=new Array(l+1),WA=0;for(LA=1;LA<=l;LA++)HA[LA]=WA=WA+mA[LA-1]<<1;for(dA=0;dA<=JA;dA++){var Qg=bA[2*dA+1];Qg!==0&&(bA[2*dA]=sA(HA[Qg]++,Qg))}}function BA(bA){var JA;for(JA=0;JA<r;JA++)bA.dyn_ltree[2*JA]=0;for(JA=0;JA<a;JA++)bA.dyn_dtree[2*JA]=0;for(JA=0;JA<c;JA++)bA.bl_tree[2*JA]=0;bA.dyn_ltree[2*y]=1,bA.opt_len=bA.static_len=0,bA.last_lit=bA.matches=0}function hA(bA){8<bA.bi_valid?eA(bA,bA.bi_buf):0<bA.bi_valid&&(bA.pending_buf[bA.pending++]=bA.bi_buf),bA.bi_buf=0,bA.bi_valid=0}function nA(bA,JA,mA,LA){var dA=2*JA,HA=2*mA;return bA[dA]<bA[HA]||bA[dA]===bA[HA]&&LA[JA]<=LA[mA]}function aA(bA,JA,mA){for(var LA=bA.heap[mA],dA=mA<<1;dA<=bA.heap_len&&(dA<bA.heap_len&&nA(JA,bA.heap[dA+1],bA.heap[dA],bA.depth)&&dA++,!nA(JA,LA,bA.heap[dA],bA.depth));)bA.heap[mA]=bA.heap[dA],mA=dA,dA<<=1;bA.heap[mA]=LA}function SA(bA,JA,mA){var LA,dA,HA,WA,Qg=0;if(bA.last_lit!==0)for(;LA=bA.pending_buf[bA.d_buf+2*Qg]<<8|bA.pending_buf[bA.d_buf+2*Qg+1],dA=bA.pending_buf[bA.l_buf+Qg],Qg++,LA===0?QA(bA,dA,JA):(QA(bA,(HA=U[dA])+s+1,JA),(WA=m[HA])!==0&&IA(bA,dA-=K[HA],WA),QA(bA,HA=$(--LA),mA),(WA=p[HA])!==0&&IA(bA,LA-=j[HA],WA)),Qg<bA.last_lit;);QA(bA,y,JA)}function FA(bA,JA){var mA,LA,dA,HA=JA.dyn_tree,WA=JA.stat_desc.static_tree,Qg=JA.stat_desc.has_stree,YA=JA.stat_desc.elems,uA=-1;for(bA.heap_len=0,bA.heap_max=h,mA=0;mA<YA;mA++)HA[2*mA]!==0?(bA.heap[++bA.heap_len]=uA=mA,bA.depth[mA]=0):HA[2*mA+1]=0;for(;bA.heap_len<2;)HA[2*(dA=bA.heap[++bA.heap_len]=uA<2?++uA:0)]=1,bA.depth[dA]=0,bA.opt_len--,Qg&&(bA.static_len-=WA[2*dA+1]);for(JA.max_code=uA,mA=bA.heap_len>>1;1<=mA;mA--)aA(bA,HA,mA);for(dA=YA;mA=bA.heap[1],bA.heap[1]=bA.heap[bA.heap_len--],aA(bA,HA,1),LA=bA.heap[1],bA.heap[--bA.heap_max]=mA,bA.heap[--bA.heap_max]=LA,HA[2*dA]=HA[2*mA]+HA[2*LA],bA.depth[dA]=(bA.depth[mA]>=bA.depth[LA]?bA.depth[mA]:bA.depth[LA])+1,HA[2*mA+1]=HA[2*LA+1]=dA,bA.heap[1]=dA++,aA(bA,HA,1),2<=bA.heap_len;);bA.heap[--bA.heap_max]=bA.heap[1],(function(kA,OA){var $A,og,dg,Sg,Bg,Yg,iI=OA.dyn_tree,GA=OA.max_code,ng=OA.stat_desc.static_tree,pg=OA.stat_desc.has_stree,Ug=OA.stat_desc.extra_bits,mg=OA.stat_desc.extra_base,Rg=OA.stat_desc.max_length,Jg=0;for(Sg=0;Sg<=l;Sg++)kA.bl_count[Sg]=0;for(iI[2*kA.heap[kA.heap_max]+1]=0,$A=kA.heap_max+1;$A<h;$A++)Rg<(Sg=iI[2*iI[2*(og=kA.heap[$A])+1]+1]+1)&&(Sg=Rg,Jg++),iI[2*og+1]=Sg,GA<og||(kA.bl_count[Sg]++,Bg=0,mg<=og&&(Bg=Ug[og-mg]),Yg=iI[2*og],kA.opt_len+=Yg*(Sg+Bg),pg&&(kA.static_len+=Yg*(ng[2*og+1]+Bg)));if(Jg!==0){do{for(Sg=Rg-1;kA.bl_count[Sg]===0;)Sg--;kA.bl_count[Sg]--,kA.bl_count[Sg+1]+=2,kA.bl_count[Rg]--,Jg-=2}while(0<Jg);for(Sg=Rg;Sg!==0;Sg--)for(og=kA.bl_count[Sg];og!==0;)GA<(dg=kA.heap[--$A])||(iI[2*dg+1]!==Sg&&(kA.opt_len+=(Sg-iI[2*dg+1])*iI[2*dg],iI[2*dg+1]=Sg),og--)}})(bA,JA),lA(HA,uA,bA.bl_count)}function rA(bA,JA,mA){var LA,dA,HA=-1,WA=JA[1],Qg=0,YA=7,uA=4;for(WA===0&&(YA=138,uA=3),JA[2*(mA+1)+1]=65535,LA=0;LA<=mA;LA++)dA=WA,WA=JA[2*(LA+1)+1],++Qg<YA&&dA===WA||(Qg<uA?bA.bl_tree[2*dA]+=Qg:dA!==0?(dA!==HA&&bA.bl_tree[2*dA]++,bA.bl_tree[2*w]++):Qg<=10?bA.bl_tree[2*u]++:bA.bl_tree[2*G]++,HA=dA,uA=(Qg=0)===WA?(YA=138,3):dA===WA?(YA=6,3):(YA=7,4))}function NA(bA,JA,mA){var LA,dA,HA=-1,WA=JA[1],Qg=0,YA=7,uA=4;for(WA===0&&(YA=138,uA=3),LA=0;LA<=mA;LA++)if(dA=WA,WA=JA[2*(LA+1)+1],!(++Qg<YA&&dA===WA)){if(Qg<uA)for(;QA(bA,dA,bA.bl_tree),--Qg!=0;);else dA!==0?(dA!==HA&&(QA(bA,dA,bA.bl_tree),Qg--),QA(bA,w,bA.bl_tree),IA(bA,Qg-3,2)):Qg<=10?(QA(bA,u,bA.bl_tree),IA(bA,Qg-3,3)):(QA(bA,G,bA.bl_tree),IA(bA,Qg-11,7));HA=dA,uA=(Qg=0)===WA?(YA=138,3):dA===WA?(YA=6,3):(YA=7,4)}}i(j);var RA=!1;function xA(bA,JA,mA,LA){IA(bA,(E<<1)+(LA?1:0),3),(function(dA,HA,WA,Qg){hA(dA),eA(dA,WA),eA(dA,~WA),B.arraySet(dA.pending_buf,dA.window,HA,WA,dA.pending),dA.pending+=WA})(bA,JA,mA)}o._tr_init=function(bA){RA||((function(){var JA,mA,LA,dA,HA,WA=new Array(l+1);for(dA=LA=0;dA<n-1;dA++)for(K[dA]=LA,JA=0;JA<1<<m[dA];JA++)U[LA++]=dA;for(U[LA-1]=dA,dA=HA=0;dA<16;dA++)for(j[dA]=HA,JA=0;JA<1<<p[dA];JA++)N[HA++]=dA;for(HA>>=7;dA<a;dA++)for(j[dA]=HA<<7,JA=0;JA<1<<p[dA]-7;JA++)N[256+HA++]=dA;for(mA=0;mA<=l;mA++)WA[mA]=0;for(JA=0;JA<=143;)R[2*JA+1]=8,JA++,WA[8]++;for(;JA<=255;)R[2*JA+1]=9,JA++,WA[9]++;for(;JA<=279;)R[2*JA+1]=7,JA++,WA[7]++;for(;JA<=287;)R[2*JA+1]=8,JA++,WA[8]++;for(lA(R,r+1,WA),JA=0;JA<a;JA++)x[2*JA+1]=5,x[2*JA]=sA(JA,5);Y=new W(R,m,s+1,r,l),_=new W(x,p,0,a,l),q=new W(new Array(0),k,0,c,d)})(),RA=!0),bA.l_desc=new Z(bA.dyn_ltree,Y),bA.d_desc=new Z(bA.dyn_dtree,_),bA.bl_desc=new Z(bA.bl_tree,q),bA.bi_buf=0,bA.bi_valid=0,BA(bA)},o._tr_stored_block=xA,o._tr_flush_block=function(bA,JA,mA,LA){var dA,HA,WA=0;0<bA.level?(bA.strm.data_type===2&&(bA.strm.data_type=(function(Qg){var YA,uA=4093624447;for(YA=0;YA<=31;YA++,uA>>>=1)if(1&uA&&Qg.dyn_ltree[2*YA]!==0)return C;if(Qg.dyn_ltree[18]!==0||Qg.dyn_ltree[20]!==0||Qg.dyn_ltree[26]!==0)return Q;for(YA=32;YA<s;YA++)if(Qg.dyn_ltree[2*YA]!==0)return Q;return C})(bA)),FA(bA,bA.l_desc),FA(bA,bA.d_desc),WA=(function(Qg){var YA;for(rA(Qg,Qg.dyn_ltree,Qg.l_desc.max_code),rA(Qg,Qg.dyn_dtree,Qg.d_desc.max_code),FA(Qg,Qg.bl_desc),YA=c-1;3<=YA&&Qg.bl_tree[2*S[YA]+1]===0;YA--);return Qg.opt_len+=3*(YA+1)+5+5+4,YA})(bA),dA=bA.opt_len+3+7>>>3,(HA=bA.static_len+3+7>>>3)<=dA&&(dA=HA)):dA=HA=mA+5,mA+4<=dA&&JA!==-1?xA(bA,JA,mA,LA):bA.strategy===4||HA===dA?(IA(bA,2+(LA?1:0),3),SA(bA,R,x)):(IA(bA,4+(LA?1:0),3),(function(Qg,YA,uA,kA){var OA;for(IA(Qg,YA-257,5),IA(Qg,uA-1,5),IA(Qg,kA-4,4),OA=0;OA<kA;OA++)IA(Qg,Qg.bl_tree[2*S[OA]+1],3);NA(Qg,Qg.dyn_ltree,YA-1),NA(Qg,Qg.dyn_dtree,uA-1)})(bA,bA.l_desc.max_code+1,bA.d_desc.max_code+1,WA+1),SA(bA,bA.dyn_ltree,bA.dyn_dtree)),BA(bA),LA&&hA(bA)},o._tr_tally=function(bA,JA,mA){return bA.pending_buf[bA.d_buf+2*bA.last_lit]=JA>>>8&255,bA.pending_buf[bA.d_buf+2*bA.last_lit+1]=255&JA,bA.pending_buf[bA.l_buf+bA.last_lit]=255&mA,bA.last_lit++,JA===0?bA.dyn_ltree[2*mA]++:(bA.matches++,JA--,bA.dyn_ltree[2*(U[mA]+s+1)]++,bA.dyn_dtree[2*$(JA)]++),bA.last_lit===bA.lit_bufsize-1},o._tr_align=function(bA){IA(bA,2,3),QA(bA,y,R),(function(JA){JA.bi_valid===16?(eA(JA,JA.bi_buf),JA.bi_buf=0,JA.bi_valid=0):8<=JA.bi_valid&&(JA.pending_buf[JA.pending++]=255&JA.bi_buf,JA.bi_buf>>=8,JA.bi_valid-=8)})(bA)}},{"../utils/common":41}],53:[function(e,t,o){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(e,t,o){(function(B){(function(C,Q){if(!C.setImmediate){var i,E,n,s,r=1,a={},c=!1,h=C.document,l=Object.getPrototypeOf&&Object.getPrototypeOf(C);l=l&&l.setTimeout?l:C,i={}.toString.call(C.process)==="[object process]"?function(w){I.nextTick(function(){d(w)})}:(function(){if(C.postMessage&&!C.importScripts){var w=!0,u=C.onmessage;return C.onmessage=function(){w=!1},C.postMessage("","*"),C.onmessage=u,w}})()?(s="setImmediate$"+Math.random()+"$",C.addEventListener?C.addEventListener("message",y,!1):C.attachEvent("onmessage",y),function(w){C.postMessage(s+w,"*")}):C.MessageChannel?((n=new MessageChannel).port1.onmessage=function(w){d(w.data)},function(w){n.port2.postMessage(w)}):h&&"onreadystatechange"in h.createElement("script")?(E=h.documentElement,function(w){var u=h.createElement("script");u.onreadystatechange=function(){d(w),u.onreadystatechange=null,E.removeChild(u),u=null},E.appendChild(u)}):function(w){setTimeout(d,0,w)},l.setImmediate=function(w){typeof w!="function"&&(w=new Function(""+w));for(var u=new Array(arguments.length-1),G=0;G<u.length;G++)u[G]=arguments[G+1];var m={callback:w,args:u};return a[r]=m,i(r),r++},l.clearImmediate=D}function D(w){delete a[w]}function d(w){if(c)setTimeout(d,0,w);else{var u=a[w];if(u){c=!0;try{(function(G){var m=G.callback,p=G.args;switch(p.length){case 0:m();break;case 1:m(p[0]);break;case 2:m(p[0],p[1]);break;case 3:m(p[0],p[1],p[2]);break;default:m.apply(Q,p)}})(u)}finally{D(w),c=!1}}}}function y(w){w.source===C&&typeof w.data=="string"&&w.data.indexOf(s)===0&&d(+w.data.slice(s.length))}})(typeof self>"u"?B===void 0?this:B:self)}).call(this,typeof FY<"u"?FY:typeof self<"u"?self:typeof window<"u"?window:{})},{}]},{},[10])(10)})})(gQg)),gQg.exports}var iSo=QSo();const coA=vp(iSo),ESo=async()=>await Promise.resolve().then(()=>MVo),nSo=async({circuitJson:g,projectName:A})=>{try{const{circuitJsonToStep:I}=await ESo(),e=await I(g,{exportMode:"assembly"}),t=new coA;for(const[o,B]of Object.entries(e))t.file(o,B);bk(await t.generateAsync({type:"blob"}),{fileName:`${A}-assembly.zip`})}catch(I){LC.error(`Failed to export assembly STEP: ${I instanceof Error?I.message:String(I)}`)}},sSo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const I=new coA,[e,{convertCircuitJsonToBomRows:t,convertBomRowsToCsv:o},{convertCircuitJsonToPickAndPlaceCsv:B}]=await Promise.all([RS("circuit-json-to-gerber"),RS("circuit-json-to-bom-csv"),RS("circuit-json-to-pnp-csv")]),C=g.filter(r=>!("error_type"in r)&&!("warning_type"in r)),Q=e.convertCircuitJsonToGerberFiles(C,{flip_y_axis:!1});for(const[r,a]of Object.entries(Q))I.file(`gerber/${r}`,a);const i=await t({circuitJson:g}),E=await o(i);I.file("bom.csv",E);const n=await B(g,{supplier:"jlcpcb"});I.file("pick_and_place.csv",n);const s=await I.generateAsync({type:"blob"});bk(s,{fileName:`${A}_fabrication_files.zip`})})(),{loading:"Generating fabrication files...",success:"Fabrication ZIP ready",error:I=>`Failed to generate fabrication files: ${I instanceof Error?I.message:String(I)}`})},aSo=async g=>{const{createFdmComponentBox:A,renderFdmComponentBoxPng:I}=await RS("circuit-json-to-fdm-component-box"),[e,t]=await Promise.all([A(g),I(g,{},{width:960,height:640})]);return{...e,previewPng:t}},rSo=async g=>{const{createFdmComponentBox:A}=await RS("circuit-json-to-fdm-component-box");return A(g)},E4I=({generatedBox:g,projectName:A})=>{const I=Uint8Array.from(g.threeMf);bk(new Blob([I.buffer],{type:"model/3mf"}),{fileName:`${kCg(A)}-component-box.3mf`})},cSo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const I=await rSo(g);E4I({generatedBox:I,projectName:A})})(),{loading:"Generating component box...",success:"Component box 3MF ready",error:I=>`Failed to generate component box: ${I instanceof Error?I.message:String(I)}`})},hSo=async({circuitJson:g,projectName:A})=>{let I;try{const{convertCircuitJsonToGltf:e}=await RS("circuit-json-to-gltf");console.log("convertCircuitJsonToGltf",e);const t=await e(g,{format:"glb",boardTextureResolution:1024});if(!t||!(t instanceof ArrayBuffer))throw new Error("Invalid GLB data returned from converter");I=new Blob([t],{type:"model/gltf-binary"})}catch(e){console.error("GLB Export Error:",e);return}bk(I,{fileName:`${A}.glb`})},lSo=async({circuitJson:g,libraryName:A})=>{const{CircuitJsonToKicadLibraryConverter:I}=await RS("circuit-json-to-kicad"),e=new I(g,{libraryName:A,footprintLibraryName:A});e.runUntilFinished();const t=e.getOutput(),o=new coA;o.file(`${A}.kicad_sym`,t.kicadSymString);for(const B of t.footprints){const C=o.folder(`${A}.pretty`);C&&C.file(`${B.footprintName}.kicad_mod`,`${B.kicadModString}
|
|
5673
5673
|
`)}if(t.model3dSourcePaths.length>0){const B=o.folder(`${A}.3dshapes`);if(B)for(const C of t.model3dSourcePaths)try{const Q=C.split("/").pop()||C,i=await fetch(C);if(i.ok){const E=await i.arrayBuffer();B.file(Q,E)}}catch{}}return o.file("fp-lib-table",t.fpLibTableString),o.file("sym-lib-table",t.symLibTableString),o},DSo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const e=await(await lSo({circuitJson:g,libraryName:A})).generateAsync({type:"blob"});bk(e,{fileName:`${A}_kicad_library.zip`})})(),{loading:"Generating KiCad library...",success:"KiCad library ZIP ready",error:I=>`Failed to generate KiCad library: ${I instanceof Error?I.message:String(I)}`})},dSo=async({circuitJson:g,projectName:A})=>{const{CircuitJsonToKicadPcbConverter:I,CircuitJsonToKicadSchConverter:e,CircuitJsonToKicadProConverter:t,resolveAndLoadKicad3dModelFiles:o}=await RS("circuit-json-to-kicad"),B=new e(g);B.runUntilFinished();const C=B.getOutputString(),Q=new I(g,{includeBuiltin3dModels:!0,projectName:A});Q.runUntilFinished();const i=Q.getOutputString(),E=new t(g,{projectName:A,schematicFilename:`${A}.kicad_sch`,pcbFilename:`${A}.kicad_pcb`});E.runUntilFinished();const n=E.getOutputString(),s=new coA;return s.file(`${A}.kicad_sch`,C),s.file(`${A}.kicad_pcb`,i),s.file(`${A}.kicad_pro`,n),await o({projectName:A,model3dSourcePaths:Q.getModel3dSourcePaths(),fetch,onModelFile:({outputPath:r,content:a})=>{s.file(r,a)},onError:({sourcePath:r})=>{console.warn(`Failed to load 3D model from ${r}`)}}),s},ySo=async({circuitJson:g,projectName:A})=>{await LC.promise((async()=>{const e=await(await dSo({circuitJson:g,projectName:A})).generateAsync({type:"blob"});bk(e,{fileName:`${A}_kicad_project.zip`})})(),{loading:"Generating KiCad project...",success:"KiCad project ZIP ready",error:I=>`Failed to generate KiCad project: ${I instanceof Error?I.message:String(I)}`})},n4I=async({circuitJson:g,projectName:A,options:I={}})=>{try{const{convertCircuitJsonToLbrn:e}=await RS("circuit-json-to-lbrn"),o=(await e(g,{includeSilkscreen:I.includeSilkscreen??!1,includeOxidationCleaningLayer:I.includeOxidationCleaningLayer??!0})).toXml(),B=new Blob([o],{type:"application/lbrn"});bk(B,{fileName:`${A}.lbrn2`})}catch(e){const t=e instanceof Error?e.message:"Unknown error";LC.error(`Failed to export to LBRN format: ${t}`)}},wSo=async({circuitJson:g,projectName:A})=>{const{convertCircuitJsonToPinoutSvg:I}=await RS("circuit-to-svg"),e=I(g);bk(e,{fileName:`${A}-pinout.svg`,mimeType:"image/svg+xml"})},uSo=async({circuitJson:g,projectName:A})=>{const{circuitJsonToStep:I}=await RS("circuit-json-to-step"),e=g.find(i=>i.type==="pcb_board"),t=e&&"width"in e?e.width:void 0,o=e&&"height"in e?e.height:void 0,B=e&&"thickness"in e?e.thickness:void 0;if(t===void 0||o===void 0||B===void 0){LC.error("Board dimensions not found. Please add a pcb_board with width, height, and thickness to your circuit.");return}let C;try{C=await I(g,{boardWidth:t,boardHeight:o,boardThickness:B,productName:A,includeComponents:!0,includeExternalMeshes:!0})}catch(i){const E=i instanceof Error?i.message:"Unknown error";LC.error(`Failed to convert circuit to STEP format: ${E}`);return}const Q=new Blob([C],{type:"application/step"});try{bk(Q,{fileName:`${A}.step`})}catch(i){const E=i instanceof Error?i.message:"Unknown error";LC.error(`Failed to download STEP file: ${E}`)}},GSo=[{extension:"json",name:"Circuit JSON"},{extension:"json",name:"Simple Route JSON"},{extension:"zip",name:"Fabrication Files"},{extension:"zip",name:"KiCad Project"},{extension:"zip",name:"Altium Project"},{extension:"zip",name:"KiCad Library"},{extension:"glb",name:"GLB (Binary GLTF)"},{extension:"svg",name:"Pinout SVG"},{extension:"step",name:"STEP"},{extension:"zip",name:"Assembly STEP"},{extension:"lbrn2",name:"LightBurn"}],mSo=async({exportName:g,circuitJson:A,simpleRouteJson:I,projectName:e})=>{const t=kCg(e);if(g==="Fabrication Files"){await sSo({circuitJson:A,projectName:t});return}if(g==="KiCad Project"){await ySo({circuitJson:A,projectName:t});return}if(g==="Altium Project"){await CSo({circuitJson:A,projectName:t});return}if(g==="KiCad Library"){await DSo({circuitJson:A,projectName:t});return}if(g==="Circuit JSON"){bk(JSON.stringify(A,null,2),{fileName:`${t}.circuit.json`,mimeType:"application/json"});return}if(g==="Simple Route JSON"){if(!I)throw new Error("No Simple Route JSON available to export");bk(JSON.stringify(I,null,2),{fileName:`${t}.simple-route.json`,mimeType:"application/json"});return}if(g==="GLB (Binary GLTF)"){await hSo({circuitJson:A,projectName:t});return}if(g==="Pinout SVG"){wSo({circuitJson:A,projectName:t});return}if(g==="STEP"){await uSo({circuitJson:A,projectName:t});return}if(g==="Assembly STEP"){await nSo({circuitJson:A,projectName:t});return}if(g==="Component Box (3MF)"){await cSo({circuitJson:A,projectName:t});return}if(g==="LightBurn"){await n4I({circuitJson:A,projectName:t});return}throw new Error(`Unsupported export type: "${g}"`)},pSo=({packageName:g,onSelectReview:A})=>{const I=Kc(n=>n.fsMap),e=Kc(n=>n.circuitJson),[t,o]=z.useState([]),[B,C]=z.useState(!1),[Q,i]=z.useState(!1);z.useEffect(()=>{!g||!KDA()||(C(!0),fgA.get("ai_reviews/list",{searchParams:{package_name:g}}).json().then(n=>o(n.ai_reviews)).catch(n=>{console.error("Failed to load AI reviews",n),LC.error("Failed to load AI reviews")}).finally(()=>C(!1)))},[g]);const E=async()=>{if(!e){LC.error("Need Circuit JSON to Request AI Review");return}if(!KDA()){LC.error("Missing registry token");return}i(!0);try{const{ai_review:n}=await fgA.post("ai_reviews/create",{json:{package_name:g??"unknown",fs_map:Object.fromEntries(I),circuit_json:e}}).json();o(s=>[n,...s]),A(n),LC.success("AI review requested")}catch(n){console.error("Failed to create AI review",n),LC.error("Failed to request AI review")}finally{i(!1)}};return T.jsxs(T.Fragment,{children:[T.jsxs(NL,{children:[T.jsx(xL,{children:"AI Review"}),T.jsx(_b,{children:"Select an AI review or request a new one."})]}),T.jsx("div",{className:"rf-flex rf-gap-4 rf-mt-4",children:T.jsx("div",{className:"rf-w-48 rf-h-64 rf-overflow-y-auto rf-border rf-rounded rf-p-2 rf-flex-shrink-0",children:B?T.jsx("div",{className:"rf-text-sm",children:"Loading..."}):t.length>0?t.map(n=>T.jsx("div",{className:"rf-text-sm rf-p-2 rf-cursor-pointer rf-rounded hover:rf-bg-zinc-100",onClick:()=>A(n),children:new Date(n.created_at||"").toLocaleString()},n.ai_review_id)):T.jsx("div",{className:"rf-text-sm rf-text-muted-foreground",children:"No AI reviews found."})})}),T.jsx(YO,{className:"rf-mt-4",children:T.jsx(si,{onClick:E,disabled:Q,children:Q?"Requesting...":"Review my Board"})})]})};function IQg(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var bb=IQg();function s4I(g){bb=g}var hoA={exec:()=>null};function Zs(g,A=""){let I=typeof g=="string"?g:g.source;const e={replace:(t,o)=>{let B=typeof o=="string"?o:o.source;return B=B.replace(jm.caret,"$1"),I=I.replace(t,B),e},getRegex:()=>new RegExp(I,A)};return e}var jm={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:g=>new RegExp(`^( {0,3}${g})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}#`),htmlBeginRegex:g=>new RegExp(`^ {0,${Math.min(3,g-1)}}<(?:[a-z].*>|!--)`,"i")},kSo=/^(?:[ \t]*(?:\n|$))+/,MSo=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,SSo=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,loA=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,fSo=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,eQg=/(?:[*+-]|\d{1,9}[.)])/,a4I=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,r4I=Zs(a4I).replace(/bull/g,eQg).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),RSo=Zs(a4I).replace(/bull/g,eQg).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),tQg=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,NSo=/^[^\n]+/,oQg=/(?!\s*\])(?:\\.|[^\[\]\\])+/,xSo=Zs(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",oQg).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),FSo=Zs(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,eQg).getRegex(),cpA="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",BQg=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,USo=Zs("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",BQg).replace("tag",cpA).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),c4I=Zs(tQg).replace("hr",loA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cpA).getRegex(),JSo=Zs(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",c4I).getRegex(),CQg={blockquote:JSo,code:MSo,def:xSo,fences:SSo,heading:fSo,hr:loA,html:USo,lheading:r4I,list:FSo,newline:kSo,paragraph:c4I,table:hoA,text:NSo},h4I=Zs("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",loA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cpA).getRegex(),PSo={...CQg,lheading:RSo,table:h4I,paragraph:Zs(tQg).replace("hr",loA).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",h4I).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",cpA).getRegex()},KSo={...CQg,html:Zs(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",BQg).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:hoA,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Zs(tQg).replace("hr",loA).replace("heading",` *#{1,6} *[^
|
|
5674
5674
|
]`).replace("lheading",r4I).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},LSo=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,YSo=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,l4I=/^( {2,}|\\)\n(?!\s*$)/,_So=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,hpA=/[\p{P}\p{S}]/u,QQg=/[\s\p{P}\p{S}]/u,D4I=/[^\s\p{P}\p{S}]/u,bSo=Zs(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,QQg).getRegex(),d4I=/(?!~)[\p{P}\p{S}]/u,HSo=/(?!~)[\s\p{P}\p{S}]/u,vSo=/(?:[^\s\p{P}\p{S}]|~)/u,TSo=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,y4I=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,qSo=Zs(y4I,"u").replace(/punct/g,hpA).getRegex(),ZSo=Zs(y4I,"u").replace(/punct/g,d4I).getRegex(),w4I="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",OSo=Zs(w4I,"gu").replace(/notPunctSpace/g,D4I).replace(/punctSpace/g,QQg).replace(/punct/g,hpA).getRegex(),WSo=Zs(w4I,"gu").replace(/notPunctSpace/g,vSo).replace(/punctSpace/g,HSo).replace(/punct/g,d4I).getRegex(),VSo=Zs("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,D4I).replace(/punctSpace/g,QQg).replace(/punct/g,hpA).getRegex(),jSo=Zs(/\\(punct)/,"gu").replace(/punct/g,hpA).getRegex(),zSo=Zs(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),XSo=Zs(BQg).replace("(?:-->|$)","-->").getRegex(),$So=Zs("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",XSo).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),lpA=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,A2o=Zs(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",lpA).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),u4I=Zs(/^!?\[(label)\]\[(ref)\]/).replace("label",lpA).replace("ref",oQg).getRegex(),G4I=Zs(/^!?\[(ref)\](?:\[\])?/).replace("ref",oQg).getRegex(),g2o=Zs("reflink|nolink(?!\\()","g").replace("reflink",u4I).replace("nolink",G4I).getRegex(),iQg={_backpedal:hoA,anyPunctuation:jSo,autolink:zSo,blockSkip:TSo,br:l4I,code:YSo,del:hoA,emStrongLDelim:qSo,emStrongRDelimAst:OSo,emStrongRDelimUnd:VSo,escape:LSo,link:A2o,nolink:G4I,punctuation:bSo,reflink:u4I,reflinkSearch:g2o,tag:$So,text:_So,url:hoA},I2o={...iQg,link:Zs(/^!?\[(label)\]\((.*?)\)/).replace("label",lpA).getRegex(),reflink:Zs(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",lpA).getRegex()},EQg={...iQg,emStrongRDelimAst:WSo,emStrongLDelim:ZSo,url:Zs(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},e2o={...EQg,br:Zs(l4I).replace("{2,}","*").getRegex(),text:Zs(EQg.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},DpA={normal:CQg,gfm:PSo,pedantic:KSo},DoA={normal:iQg,gfm:EQg,breaks:e2o,pedantic:I2o},t2o={"&":"&","<":"<",">":">",'"':""","'":"'"},m4I=g=>t2o[g];function yF(g,A){if(A){if(jm.escapeTest.test(g))return g.replace(jm.escapeReplace,m4I)}else if(jm.escapeTestNoEncode.test(g))return g.replace(jm.escapeReplaceNoEncode,m4I);return g}function p4I(g){try{g=encodeURI(g).replace(jm.percentDecode,"%")}catch{return null}return g}function k4I(g,A){const I=g.replace(jm.findPipe,(o,B,C)=>{let Q=!1,i=B;for(;--i>=0&&C[i]==="\\";)Q=!Q;return Q?"|":" |"}),e=I.split(jm.splitPipe);let t=0;if(e[0].trim()||e.shift(),e.length>0&&!e.at(-1)?.trim()&&e.pop(),A)if(e.length>A)e.splice(A);else for(;e.length<A;)e.push("");for(;t<e.length;t++)e[t]=e[t].trim().replace(jm.slashPipe,"|");return e}function doA(g,A,I){const e=g.length;if(e===0)return"";let t=0;for(;t<e&&g.charAt(e-t-1)===A;)t++;return g.slice(0,e-t)}function o2o(g,A){if(g.indexOf(A[1])===-1)return-1;let I=0;for(let e=0;e<g.length;e++)if(g[e]==="\\")e++;else if(g[e]===A[0])I++;else if(g[e]===A[1]&&(I--,I<0))return e;return I>0?-2:-1}function M4I(g,A,I,e,t){const o=A.href,B=A.title||null,C=g[1].replace(t.other.outputLinkReplace,"$1");e.state.inLink=!0;const Q={type:g[0].charAt(0)==="!"?"image":"link",raw:I,href:o,title:B,text:C,tokens:e.inlineTokens(C)};return e.state.inLink=!1,Q}function B2o(g,A,I){const e=g.match(I.other.indentCodeCompensation);if(e===null)return A;const t=e[1];return A.split(`
|