{"version":3,"file":"CaseStudyKit-coCLGb.OEmEIPBd.mjs","names":["e","React","p","t","_Fragment","l"],"sources":["https:/framerusercontent.com/modules/4Rb11INl4lkeE5nLDJ9L/Mu9XPey4vzpfCpX2TeeE/CaseStudyKit.js","https:/framer.com/m/CaseStudyKit-coCLGb.js@Mu9XPey4vzpfCpX2TeeE"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import React,{useEffect}from\"react\";// @ts-expect-error - framer-motion resolved at runtime in Framer\nimport{motion,AnimatePresence,useInView,useReducedMotion}from\"framer-motion\";// @ts-expect-error - Framer runtime API resolved at runtime\nimport{RenderTarget}from\"framer\";// @ts-expect-error - react-dom resolved at runtime in Framer\nimport{createPortal}from\"react-dom\";/**\n * CaseStudyKit — the single shared design system for the whole portfolio.\n * THEME (signal-bold Phase 1, 2026-06-04): cooled white / cobalt. Hanken Grotesk LIVE in editor (single sans family). Hanken loads via idempotent Google Fonts link injection; Framer project font is optional fallback.\n *\n * One system, whole site: EVERY page composes these exports and NEVER\n * redeclares its own tokens, type, card, footer, buttons, or section header.\n *\n * IA LADDER (signal-bold, 2026-06-05) — Hanken Grotesk only. `serif` and `sans` constants share one stack;\n   H1/H2/metrics use the voice slot; body/UI use sign weights (no separate serif face). One Bullets style. Bold = ink, one phrase/para.\n *\n * MOTION (locked): ease [0.22,1,0.36,1]; reveal 0.5s; count-up 0.95s; hover 0.22s;\n *   RevealInView + CountUpInView fire once on scroll-in with a setTimeout fallback,\n *   and honour prefers-reduced-motion (final state, no animation). Nothing ambient.\n *   Count-ups auto-format: integer targets round; non-integer targets show one decimal.\n *\n * AFFORDANCE TIERS: Tier 1 ACTION (Button, StudyCard) — cobalt, pointer, hover lift.\n *   Tier 2 VIEWABLE (Figure, FigurePair) — zoom cue + click-to-lightbox. Tier 3 PASSIVE\n *   (card / MetricRow / Callout / Testimonial) — flat, recedes.\n *\n * Exports: tokens, radii, elevation, state, typeScale (as type), contentWrap, sectionOuter, divider, card,\n *   Section, Divider, SectionLabel, SectionHeader, Hero, MetricRow, MetricBand,\n *   Figure, HeroFigure, FigurePair, PullQuote, Bullets, Callout, Button, Reveal, CountUp,\n *   StudyCard, StudyGrid, CompanyStrip, SiteFooter,\n *   TestimonialCard, TestimonialGrid, SkillChip, SkillChips, ExperienceRow, ExperienceList,\n *   CountUpInView, RevealInView, StatBand, SplitRow, TwoUp, StudySection, StudyPhase, StudyShell, RailBrandLink, AllWorkLink, StudyHero,\n *   SectionIcon, SectionTitle, SubTitle, ItemTitle, Eyebrow, CalloutStat.\n */export const tokens={bg:\"#FFFFFF\",subtle:\"#F4F6F8\",surface:\"#F4F6F8\",greyBold:\"#15171C\",grey:\"#5C636D\",muted:\"#9AA0AA\",border:\"#E6E9ED\",borderCard:\"#E6E9ED\",hair:\"#DCE0E5\",cobaltWash:\"#EDF1FB\",cta:\"#1F3A93\",ctaBright:\"#2747C7\"};/** radii — corner-radius scale (DESIGN-SYSTEM §1.4). One named step per intent; pill/full are\n *  shape intents, not sizes. Refactored from scattered literals 2026-06-20. */export const radii={none:0,focus:2,xs:4,sm:6,md:8,lg:10,xl:12,figure:16,heroFigure:18,pill:999,full:\"50%\"};/** elevation — the ONLY allowed shadows (DESIGN-SYSTEM §1.4). Figures/thumbs/plates stay flat (none). */export const elevation={none:\"none\",buttonHover:\"0 8px 20px rgba(31,58,147,0.28)\",cardHover:\"0 6px 16px rgba(0,0,0,0.06)\",lightbox:\"0 24px 64px rgba(0,0,0,0.5)\"};/** state — focus / interaction tokens (DESIGN-SYSTEM §1.7). Single source for the focus ring. */export const state={focusRingWidth:3,focusRingOffset:3,focusRingColor:tokens.ctaBright,focusRing:`3px solid ${tokens.ctaBright}`,focusHalo:\"0 0 0 3px rgba(39,71,199,0.45)\"};const CASE_STUDY_PASSWORD=\"design2026\";const CS_GATE_KEY=\"ktmux-cs-unlock-v1\";const gateMono='\"JetBrains Mono\", ui-monospace, monospace';const hanken='\"Hanken Grotesk\", \"Inter\", system-ui, sans-serif';const serif=hanken;const sans=hanken;const HANKEN_FONT_LINK_ID=\"hanken-grotesk-font\";const HANKEN_FONT_URL=\"https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700;800&display=swap\";/** Injects Hanken Grotesk from Google Fonts (client-only, idempotent). */export function loadHankenGroteskFont(){if(typeof document===\"undefined\")return;const head=document.head;if(!head)return;if(!document.getElementById(\"hanken-grotesk-preconnect-googleapis\")){const link=document.createElement(\"link\");link.id=\"hanken-grotesk-preconnect-googleapis\";link.rel=\"preconnect\";link.href=\"https://fonts.googleapis.com\";head.appendChild(link);}if(!document.getElementById(\"hanken-grotesk-preconnect-gstatic\")){const link=document.createElement(\"link\");link.id=\"hanken-grotesk-preconnect-gstatic\";link.rel=\"preconnect\";link.href=\"https://fonts.gstatic.com\";link.crossOrigin=\"anonymous\";head.appendChild(link);}if(!document.getElementById(HANKEN_FONT_LINK_ID)){const link=document.createElement(\"link\");link.id=HANKEN_FONT_LINK_ID;link.rel=\"stylesheet\";link.href=HANKEN_FONT_URL;head.appendChild(link);}}export function useHankenGroteskFont(){useEffect(()=>{loadHankenGroteskFont();},[]);}const ease=[.22,1,.36,1];const fmtCount=(n,to)=>Number.isInteger(to)?String(Math.round(n)):n.toFixed(1);/** Major Third modular scale — [typescale.com](https://typescale.com/) ratio 1.25 @ 16px base. */export const TYPE_BASE=16;export const TYPE_RATIO=1.25;export const typeSteps={xs:10,sm:13,base:16,lg:20,xl:25,\"2xl\":31,\"3xl\":39,\"4xl\":49,\"5xl\":61};const t=typeSteps;const fluid=(minPx,vw,maxPx)=>`clamp(${minPx/16}rem, ${vw}, ${maxPx/16}rem)`;export const typeScale={sectionEyebrow:{fontSize:t.sm,fontFamily:sans,fontWeight:600,color:tokens.muted,letterSpacing:\"0.04em\",lineHeight:\"normal\",margin:0},sectionLabel:{fontSize:t.sm,fontFamily:sans,fontWeight:600,color:tokens.muted,letterSpacing:\"0.04em\",lineHeight:\"normal\",margin:0},sectionHeadline:{fontSize:fluid(t[\"2xl\"],\"3.2vw\",t[\"3xl\"]),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:\"1.15em\",letterSpacing:\"-0.015em\",margin:0},pageHeroTitle:{fontSize:fluid(t[\"3xl\"],\"4vw\",t[\"4xl\"]),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:\"1.08em\",letterSpacing:\"-0.015em\",margin:0},heroTitle:{fontSize:fluid(t[\"4xl\"],\"8.2vw\",88),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:\"0.98em\",letterSpacing:\"-0.035em\",margin:0},caseStudyHeroTitle:{fontSize:\"clamp(2.6rem, 7vw, 5rem)\",fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:\"1em\",letterSpacing:\"-0.035em\",margin:0},subHeading:{fontSize:t.lg,fontFamily:sans,fontWeight:700,color:tokens.greyBold,lineHeight:\"1.3em\",margin:0},itemTitle:{fontSize:t.base,fontFamily:sans,fontWeight:600,color:tokens.greyBold,lineHeight:\"1.4em\",margin:0},body:{fontSize:t.base,fontFamily:sans,fontWeight:400,color:tokens.grey,lineHeight:\"1.6em\",margin:0},bodyLg:{fontSize:t.lg,fontFamily:sans,fontWeight:400,color:tokens.grey,lineHeight:\"1.6em\",margin:0},bodySm:{fontSize:t.sm,fontFamily:sans,fontWeight:400,color:tokens.grey,lineHeight:\"1.4em\",margin:0},stepTitle:{fontSize:t.lg,fontFamily:sans,fontWeight:600,color:tokens.greyBold,margin:0},stepDesc:{fontSize:t.base,fontFamily:sans,fontWeight:400,color:tokens.grey,lineHeight:\"1.6em\",margin:0},heroTag:{fontSize:t.sm,fontFamily:sans,fontWeight:600,color:tokens.cta,letterSpacing:\"0.12em\",textTransform:\"uppercase\",margin:0},metricNumber:{fontSize:t[\"4xl\"],fontFamily:serif,fontWeight:700,color:tokens.greyBold,margin:0,lineHeight:1},metricLabel:{fontSize:t.xs,fontFamily:sans,fontWeight:600,color:tokens.muted,letterSpacing:\"0.12em\",textTransform:\"uppercase\",margin:0},metricSub:{fontSize:t.sm,fontFamily:sans,fontWeight:400,color:tokens.muted,margin:0},calloutNumber:{fontSize:fluid(t[\"2xl\"],\"5vw\",t[\"3xl\"]),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:1,margin:0},caption:{fontSize:t.xs,fontFamily:sans,fontWeight:500,color:tokens.muted,letterSpacing:\"0.04em\",lineHeight:1.5,margin:0,textAlign:\"left\"},pullQuote:{fontSize:fluid(t.xl,\"2.4vw\",t[\"2xl\"]),fontFamily:serif,fontWeight:500,color:tokens.greyBold,lineHeight:\"1.3em\",letterSpacing:\"-0.02em\",margin:0},metaLabel:{fontSize:t.xs,fontFamily:sans,fontWeight:600,color:tokens.muted,letterSpacing:\"0.1em\",textTransform:\"uppercase\",margin:0},metaValue:{fontSize:t.base,fontFamily:sans,fontWeight:400,color:tokens.greyBold,margin:0,lineHeight:\"1.5em\"},linkStyle:{color:tokens.ctaBright,textDecoration:\"underline\"}};export const contentWrap={maxWidth:1040,width:\"100%\",marginLeft:\"auto\",marginRight:\"auto\",paddingLeft:\"clamp(12px, 3vw, 32px)\",paddingRight:\"clamp(12px, 3vw, 32px)\",boxSizing:\"border-box\"};/** Reading-column architecture (the \"breakout\" longform pattern):\n *  Prose + narrow figures share ONE centered ~720px reading column (Bringhurst measure realized as a\n *  COLUMN, not a per-paragraph cap). Only genuinely-wide artifacts (6-col data tables, interactive\n *  demos, hero) break out to the full 1040px contentWrap. Width becomes a signal: 720 = \"read this\",\n *  1040 = \"study this\". Use <Prose> (alias <Measure>) to wrap narrative runs; leave wide artifacts\n *  as direct StudySection children (unwrapped) so they fill the full 1040 contentWrap. */export const READING_MEASURE=720;export const prose={maxWidth:READING_MEASURE,width:\"100%\",boxSizing:\"border-box\"};export function Prose({children,gap=20}){return /*#__PURE__*/_jsx(\"div\",{style:{...prose,display:\"flex\",flexDirection:\"column\",gap},children:children});}/** Measure — alias of Prose (the 720px reading column) for readability at call sites. Wrap narrative\n *  runs in <Measure>; keep wide artifacts (tables, demos, hero) as direct StudySection children so they\n *  fill the full 1040 contentWrap. */export const Measure=Prose;/* --------------------------------------------------------------------------- *//* LAYOUT SYSTEM — grid · spacing scale · vertical rhythm (DESIGN-SYSTEM §1.3).  *//* Case studies + Home share these tokens. Full record: DESIGN-SYSTEM.md §1.3.  *//* --------------------------------------------------------------------------- *//** GRID — the case-study layout grid; extends the Home's Material 12-col grid (SIGNAL-BOLD-BUILD-SPEC §5).\n *  Reading column = 8 of 12 cols ≈ READING_MEASURE; SplitRow = column spans; full-bleed = 12 cols. */export const GRID={cols:12,gutter:\"clamp(16px, 2vw, 24px)\",read:READING_MEASURE};/** space — signal-bold spacing scale (DESIGN-SYSTEM §1.3; 4px base, 8pt rhythm). Ported to JS for Framer.\n *  Use these tokens for gaps/margins instead of literal numbers. */export const space={2:2,4:4,6:6,8:8,10:10,12:12,14:14,16:16,18:18,20:20,24:24,28:28,32:32,40:40,44:44,48:48,56:56,72:72};/** rhythm — vertical section rhythm (DESIGN-SYSTEM §1.3 rhythm-*; Billy Sweeney teardown). Case-study\n *  bands lean to the airier end of the brand range (\"air is the layout\"). */export const rhythm={section:\"clamp(96px, 9vw, 140px)\",phase:\"clamp(56px, 7vw, 88px)\",heroTop:\"clamp(88px, 6vw, 96px)\",heroBottom:\"clamp(36px, 3.5vw, 48px)\",listGap:\"clamp(56px, 7vw, 104px)\"};/** Bleed — the full-width artifact tier (the binary counterpart to Measure/Prose). Fills the full\n *  contentWrap (1040): data tables, interactive demos, hero figures, before/after pairs. */export function Bleed({children,gap}){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",...gap!=null?{display:\"flex\",flexDirection:\"column\",gap}:{}},children:children});}export const sectionOuter=(bg,paddingTop=80,paddingBottom=80)=>({width:\"100%\",backgroundColor:bg,paddingTop,paddingBottom,boxSizing:\"border-box\"});export const divider={width:\"100%\",height:1,backgroundColor:tokens.border,flexShrink:0};/** Tier 3 PASSIVE panel — flat (no shadow), so it never reads as clickable. */export const card={backgroundColor:tokens.surface,borderRadius:radii.figure,padding:28,border:`1px solid ${tokens.border}`,display:\"flex\",flexDirection:\"column\",gap:14};/* ----------------------------------------------------------------------- *//* Motion                                                                  *//* ----------------------------------------------------------------------- */export function Reveal({children,delay=0}){const onCanvas=RenderTarget.current()===RenderTarget.canvas;const reduce=useReducedMotion();return /*#__PURE__*/_jsx(motion.div,{initial:onCanvas||reduce?false:{opacity:0,y:24},animate:{opacity:1,y:0},transition:{duration:reduce?0:.5,delay:reduce?0:delay,ease},children:children});}export function CountUp({to,suffix=\"\",prefix=\"\"}){const reduce=useReducedMotion();const onCanvas=RenderTarget.current()===RenderTarget.canvas;const ref=React.useRef(null);const[n,setN]=React.useState(to)// SSR / no-JS / crawler-safe: real value by default\n;React.useEffect(()=>{if(reduce||onCanvas){setN(to);return;}const el=ref.current;const belowFold=el?el.getBoundingClientRect().top>(window.innerHeight||800):false;if(!belowFold){setN(to);return;}setN(0);let raf=0;const start=performance.now();const dur=1300;const tick=t=>{const p=Math.min(1,(t-start)/dur);setN(to*(1-Math.pow(1-p,3)));if(p<1)raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>cancelAnimationFrame(raf);},[to,reduce,onCanvas]);return /*#__PURE__*/_jsxs(\"span\",{ref:ref,children:[prefix,fmtCount(n,to),suffix]});}/* ----------------------------------------------------------------------- *//* Layout                                                                  *//* ----------------------------------------------------------------------- *//** @deprecated Band dividers violate LINE-USAGE-GUIDELINE — use section spacing. Token `divider` is internal row joinery only (ExperienceRow). */export function Divider(){return null;}export function Section({bg=tokens.bg,pt,pb,gap=32,children}){return /*#__PURE__*/_jsx(\"div\",{style:sectionOuter(bg,pt,pb),children:/*#__PURE__*/_jsx(\"div\",{style:{...contentWrap,display:\"flex\",flexDirection:\"column\",gap},children:children})});}export function SectionLabel({children,active}){return /*#__PURE__*/_jsx(\"p\",{style:{...typeScale.sectionEyebrow,...active?{color:tokens.cta}:{}},children:children});}/** SectionHeader — the ONE eyebrow→title pair (canonical 8px gap). Both parts optional. */export function SectionHeader({eyebrow,title,align=\"left\"}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,alignItems:align===\"center\"?\"center\":\"flex-start\",textAlign:align},children:[eyebrow?/*#__PURE__*/_jsx(\"p\",{style:typeScale.sectionEyebrow,children:eyebrow}):null,title?/*#__PURE__*/_jsx(\"h2\",{style:{...typeScale.sectionHeadline,textAlign:align},children:title}):null]});}/** Tier 1 ACTION — pill button, hover lift. */export function Button({children,href=\"#\",primary}){const base={display:\"inline-flex\",alignItems:\"center\",gap:8,padding:\"13px 26px\",minHeight:44,borderRadius:radii.pill,fontFamily:sans,fontSize:t.base,fontWeight:600,textDecoration:\"none\",cursor:\"pointer\",boxSizing:\"border-box\"};const style=primary?{...base,backgroundColor:tokens.ctaBright,color:\"#fff\"}:{...base,backgroundColor:\"transparent\",color:tokens.greyBold,border:`1px solid ${tokens.border}`};return /*#__PURE__*/_jsx(motion.a,{href:href,style:style,whileHover:{y:-2,boxShadow:primary?elevation.buttonHover:elevation.cardHover},whileFocus:{boxShadow:state.focusHalo},transition:{duration:.22,ease},children:children});}/* ----------------------------------------------------------------------- *//* Hero + metrics                                                          *//* ----------------------------------------------------------------------- */export function Hero({company,title,intro,tags,pt=96,pb=56}){return /*#__PURE__*/_jsx(\"div\",{style:sectionOuter(tokens.bg,pt,pb),children:/*#__PURE__*/_jsxs(\"div\",{style:{...contentWrap,display:\"flex\",flexDirection:\"column\",gap:24},children:[/*#__PURE__*/_jsx(Reveal,{children:/*#__PURE__*/_jsxs(\"p\",{style:typeScale.heroTag,children:[\"Case Study \\xb7 \",company]})}),/*#__PURE__*/_jsx(Reveal,{delay:.06,children:/*#__PURE__*/_jsx(\"h1\",{style:{...typeScale.heroTitle,maxWidth:820},children:title})}),/*#__PURE__*/_jsx(Reveal,{delay:.12,children:/*#__PURE__*/_jsx(\"p\",{style:typeScale.bodyLg,children:intro})}),tags&&tags.length>0?/*#__PURE__*/_jsx(Reveal,{delay:.16,children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:8,marginTop:4},children:tags.map(t=>/*#__PURE__*/_jsx(\"span\",{style:{...typeScale.heroTag,border:`1px solid ${tokens.border}`,borderRadius:radii.pill,padding:\"5px 12px\",backgroundColor:\"rgba(31,58,147,0.05)\"},children:t},t))})}):null]})});}/** MetricRow — Tier 3 passive metric cards (flat). */export function MetricRow({metrics,minWidth=160}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"row\",flexWrap:\"wrap\",gap:20},children:metrics.map((m,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{...card,flex:`1 1 ${minWidth}px`,gap:6},children:[/*#__PURE__*/_jsx(\"p\",{style:typeScale.metricNumber,children:m.num}),/*#__PURE__*/_jsx(\"p\",{style:typeScale.metricLabel,children:m.label}),m.sub?/*#__PURE__*/_jsx(\"p\",{style:typeScale.metricSub,children:m.sub}):null]},i))});}/** @deprecated Use StatBand — surface band + enclosing rules retired per LINE-USAGE-GUIDELINE. */export function MetricBand({metrics}){return /*#__PURE__*/_jsx(\"div\",{style:sectionOuter(tokens.bg),children:/*#__PURE__*/_jsx(\"div\",{style:contentWrap,children:/*#__PURE__*/_jsx(StatBand,{items:metrics.map(m=>({to:m.to,suffix:m.suffix,label:m.label})),variant:\"hero\"})})});}function Lightbox({src,caption,onClose}){React.useEffect(()=>{const onKey=e=>{if(e.key===\"Escape\")onClose();};window.addEventListener(\"keydown\",onKey);const prevOverflow=document.body.style.overflow;document.body.style.overflow=\"hidden\";return()=>{window.removeEventListener(\"keydown\",onKey);document.body.style.overflow=prevOverflow;};},[onClose]);const reduce=useReducedMotion();if(typeof document===\"undefined\")return null;// Rendered through a portal to <body> so the fixed overlay escapes any\n// transformed/animated ancestor (Reveal, section motion) and centers on the\n// true viewport rather than its parent's coordinate space.\nreturn /*#__PURE__*/createPortal(/*#__PURE__*/_jsxs(motion.div,{onClick:onClose,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:reduce?0:.2},style:{position:\"fixed\",top:0,left:0,right:0,bottom:0,zIndex:9999,backgroundColor:\"rgba(20,18,14,0.86)\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",gap:16,padding:32,cursor:\"zoom-out\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"img\",{src:src,alt:caption||\"\",style:{maxWidth:\"92vw\",maxHeight:caption?\"82vh\":\"88vh\",objectFit:\"contain\",borderRadius:radii.xl,boxShadow:elevation.lightbox}}),caption?/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:sans,fontSize:13,color:\"rgba(255,255,255,0.8)\",margin:0,textAlign:\"center\",maxWidth:640},children:caption}):null]}),document.body);}export function Figure({src,caption=\"\",ratio=\"16 / 9\",fit=\"contain\",maxWidth,maxHeight=520,hero=false,flush=false}){if(!src)return null;const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[open,setOpen]=React.useState(false);const[hover,setHover]=React.useState(false);const wrap={display:\"flex\",flexDirection:\"column\",gap:10,width:\"100%\",marginTop:flush?space[6]:hero?\"clamp(40px, 5vw, 64px)\":\"clamp(32px, 4vw, 56px)\",...maxWidth?{maxWidth,marginLeft:\"auto\",marginRight:\"auto\"}:{}};const radius=hero?radii.heroFigure:radii.figure;const mount={backgroundColor:tokens.bg,borderRadius:radius,border:`1px solid ${tokens.border}`,boxSizing:\"border-box\",overflow:\"hidden\",cursor:\"zoom-in\",position:\"relative\",outline:\"none\"};const expandCue=/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",top:12,right:12,width:30,height:30,borderRadius:radii.md,backgroundColor:\"rgba(26,23,20,0.55)\",color:\"#fff\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:t.base,lineHeight:1,opacity:hover?1:.5,transition:\"opacity 0.2s ease\",pointerEvents:\"none\"},children:\"⤢\"});const open_=()=>{if(!onCanvas)setOpen(true);};const a11y={role:\"button\",tabIndex:onCanvas?-1:0,\"aria-label\":caption?`Expand image: ${caption}`:\"Expand image\",onKeyDown:e=>{if(e.key===\"Enter\"||e.key===\" \"){e.preventDefault();open_();}}};const hoverProps={onMouseEnter:()=>setHover(true),onMouseLeave:()=>setHover(false),onClick:open_,...a11y};return /*#__PURE__*/_jsxs(\"div\",{style:wrap,children:[/*#__PURE__*/_jsx(\"style\",{children:`.kit-fig-mount:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px}`}),fit===\"cover\"?/*#__PURE__*/_jsxs(\"div\",{...hoverProps,className:\"kit-fig-mount\",style:{...mount,width:\"100%\",aspectRatio:ratio,padding:10},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:radius,backgroundColor:tokens.bg,backgroundImage:`url(${src})`,backgroundSize:\"cover\",backgroundPosition:\"center\",backgroundRepeat:\"no-repeat\"}}),expandCue]}):/*#__PURE__*/_jsxs(\"div\",{...hoverProps,className:\"kit-fig-mount\",style:{...mount,padding:16,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:[/*#__PURE__*/_jsx(\"img\",{src:src,alt:caption,loading:\"lazy\",decoding:\"async\",style:{display:\"block\",width:\"100%\",maxWidth:\"100%\",maxHeight,objectFit:\"contain\",borderRadius:radius,backgroundColor:tokens.bg}}),expandCue]}),caption?/*#__PURE__*/_jsx(\"p\",{style:{...typeScale.caption,marginTop:14},children:caption}):null,/*#__PURE__*/_jsx(AnimatePresence,{children:open?/*#__PURE__*/_jsx(Lightbox,{src:src,caption:caption,onClose:()=>setOpen(false)},\"lb\"):null})]});}/** HeroFigure — case-study hero slot: paper fill, 18px radius, hero top margin. Prefer over bare Figure below StudyHero. */export function HeroFigure(props){return /*#__PURE__*/_jsx(Figure,{...props,hero:true});}const FIG_PAIR_CELL_HEIGHT=\"clamp(420px, 52vw, 640px)\";/** FigurePair — two figures locked to equal height with prototype overlay tags (.cs-tag).\n *  Equal clamp height, single container border, top-aligned contain. Stacks 1-col below 640px.\n *  activeB marks the After (or right) cell cobalt-on. Opens lightbox on click. */export function FigurePair({a,b,labelA,labelB,caption,activeB=true}){if(!a&&!b)return null;const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[open,setOpen]=React.useState(null);const[hover,setHover]=React.useState(null);const overlayTag=(label,active)=>label?/*#__PURE__*/_jsx(\"span\",{style:{position:\"absolute\",top:12,left:12,zIndex:1,fontSize:10,fontFamily:sans,fontWeight:600,letterSpacing:\"0.12em\",textTransform:\"uppercase\",color:active?tokens.cta:tokens.muted,backgroundColor:tokens.bg,border:`1px solid ${active?\"rgba(31,58,147,0.25)\":tokens.border}`,padding:\"4px 9px\",borderRadius:radii.sm,lineHeight:1},children:label}):null;const cell=(src,label,i,tagActive)=>{if(!src)return /*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{minWidth:0}});return /*#__PURE__*/_jsx(\"div\",{className:\"kit-fig-pair-cell\",style:{minWidth:0,height:FIG_PAIR_CELL_HEIGHT},children:/*#__PURE__*/_jsxs(\"div\",{className:\"kit-fig-mount\",role:\"button\",tabIndex:onCanvas?-1:0,\"aria-label\":label?`Expand image: ${label}`:\"Expand image\",onMouseEnter:()=>setHover(i),onMouseLeave:()=>setHover(null),onClick:()=>{if(!onCanvas&&src)setOpen(src);},onKeyDown:e=>{if((e.key===\"Enter\"||e.key===\" \")&&!onCanvas&&src){e.preventDefault();setOpen(src);}},style:{position:\"relative\",width:\"100%\",height:\"100%\",backgroundColor:tokens.bg,border:`1px solid ${tokens.border}`,borderRadius:radii.figure,overflow:\"hidden\",boxSizing:\"border-box\",cursor:\"zoom-in\",outline:\"none\"},children:[overlayTag(label,tagActive),/*#__PURE__*/_jsx(\"img\",{src:src,alt:label||caption||\"\",loading:\"lazy\",decoding:\"async\",style:{width:\"100%\",height:\"100%\",objectFit:\"contain\",objectPosition:\"center top\",display:\"block\",border:\"none\",borderRadius:radii.none,backgroundColor:tokens.bg}}),/*#__PURE__*/_jsx(\"div\",{\"aria-hidden\":true,style:{position:\"absolute\",top:12,right:12,width:30,height:30,borderRadius:radii.md,backgroundColor:\"rgba(26,23,20,0.55)\",color:\"#fff\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\",fontSize:t.base,lineHeight:1,opacity:hover===i?1:0,transition:\"opacity 0.2s ease\",pointerEvents:\"none\"},children:\"⤢\"})]})});};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:8,marginTop:\"clamp(32px, 4vw, 56px)\"},children:[/*#__PURE__*/_jsx(\"style\",{children:`@container(max-width:640px){.kit-fig-pair-grid{grid-template-columns:1fr !important;align-items:start !important}.kit-fig-pair-cell{height:clamp(240px,56vw,360px)!important}}.kit-fig-mount:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px}`}),/*#__PURE__*/_jsxs(\"div\",{className:\"kit-fig-pair-grid\",style:{display:\"grid\",gridTemplateColumns:\"1fr 1fr\",gap:20,alignItems:\"stretch\"},children:[cell(a,labelA,0,false),cell(b,labelB,1,activeB)]}),caption?/*#__PURE__*/_jsx(\"p\",{style:{...typeScale.caption,marginTop:14},children:caption}):null,/*#__PURE__*/_jsx(AnimatePresence,{children:open?/*#__PURE__*/_jsx(Lightbox,{src:open,caption:caption,onClose:()=>setOpen(null)},\"lb\"):null})]});}/* ----------------------------------------------------------------------- *//* PullQuote, Bullets, Callout                                             *//* ----------------------------------------------------------------------- *//** PullQuote — left-aligned testimonial: grey accent line, voice-weight quote, generic person icon + name/role figcaption (no photo, no named-person likeness). */export function PullQuote({quote,attribution,role}){// Resolve name / role from prop or by splitting attribution on first comma\nlet name;let resolvedRole;if(role){name=attribution;resolvedRole=role;}else if(attribution){const commaIdx=attribution.indexOf(\",\");if(commaIdx!==-1){name=attribution.slice(0,commaIdx).trim();resolvedRole=attribution.slice(commaIdx+1).trim();}else{name=attribution;resolvedRole=undefined;}}return /*#__PURE__*/_jsxs(\"figure\",{style:{width:\"100%\",boxSizing:\"border-box\",...name||resolvedRole?{margin:0,borderTop:`2px solid ${tokens.muted}`,paddingTop:24}:{margin:\"clamp(32px, 5vw, 56px) 0\"}},children:[/*#__PURE__*/_jsx(\"blockquote\",{style:{fontFamily:serif,fontWeight:500,fontSize:fluid(t.xl,\"2.4vw\",t[\"2xl\"]),lineHeight:1.3,letterSpacing:\"-0.02em\",color:tokens.greyBold,margin:0},children:quote}),name||resolvedRole?/*#__PURE__*/_jsxs(\"figcaption\",{style:{marginTop:20,display:\"flex\",flexDirection:\"row\",alignItems:\"center\",gap:12,fontFamily:sans},children:[/*#__PURE__*/_jsxs(\"svg\",{width:28,height:28,viewBox:\"0 0 24 24\",fill:\"none\",stroke:tokens.muted,strokeWidth:1.5,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0,borderRadius:radii.full,border:`1px solid ${tokens.border}`,padding:4,boxSizing:\"border-box\"},\"aria-hidden\":true,children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"8\",r:\"3.4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M5.5 19a6.5 6.5 0 0 1 13 0\"})]}),/*#__PURE__*/_jsxs(\"span\",{style:{display:\"flex\",flexDirection:\"column\",gap:2},children:[name?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:t.base,fontWeight:600,color:tokens.greyBold},children:name}):null,resolvedRole?/*#__PURE__*/_jsx(\"span\",{style:{fontSize:t.xs,fontWeight:600,letterSpacing:\"0.1em\",textTransform:\"uppercase\",color:tokens.muted},children:resolvedRole}):null]})]}):null]});}/** EndCTA — closing CTA at the bottom of every study (mounted by CaseStudyNav above prev/next). */export function EndCTA({closing}){return /*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",backgroundColor:tokens.bg,paddingTop:80,paddingBottom:48,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:contentWrap,children:[closing?/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:sans,fontSize:16,color:tokens.grey,lineHeight:1.65,margin:\"0 0 28px\",maxWidth:\"62ch\"},children:closing}):null,/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:14,alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"a\",{href:\"/mywork\",className:\"end-cta-primary\",style:{fontFamily:sans,fontWeight:600,fontSize:t.base,minHeight:44,display:\"inline-flex\",alignItems:\"center\",padding:\"0 22px\",borderRadius:radii.sm,textDecoration:\"none\",border:\"1px solid transparent\",backgroundColor:tokens.cta,color:\"#fff\",boxSizing:\"border-box\"},children:\"See more work\"}),/*#__PURE__*/_jsx(\"a\",{href:\"mailto:kyle@kylemaskewich.com\",className:\"end-cta-ghost\",style:{fontFamily:sans,fontWeight:600,fontSize:t.base,minHeight:44,display:\"inline-flex\",alignItems:\"center\",padding:\"0 22px\",borderRadius:radii.sm,textDecoration:\"none\",border:`1px solid ${tokens.hair}`,backgroundColor:\"transparent\",color:tokens.greyBold,boxSizing:\"border-box\"},children:\"Get in touch\"})]})]}),/*#__PURE__*/_jsx(\"style\",{children:`.end-cta-primary:hover{background:${tokens.ctaBright}!important}.end-cta-ghost:hover{border-color:${tokens.cta}!important;color:${tokens.cta}!important}.end-cta-primary:focus-visible,.end-cta-ghost:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px}`})]});}/** RuleGrid — muted-rule grid for principles / numbered findings (prototype .cs-principles / .cs-causes). */export function RuleGrid({items,variant=\"principle\"}){const cols=variant===\"level\"?3:2;const numbered=variant===\"numbered\"||variant===\"level\";return /*#__PURE__*/_jsxs(\"div\",{className:\"rule-grid\",style:{display:\"grid\",gridTemplateColumns:`repeat(${cols}, minmax(0, 1fr))`,gap:variant===\"principle\"?\"28px 40px\":\"24px 40px\",marginTop:variant===\"principle\"?36:32,containerType:\"inline-size\"},children:[items.map((item,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{borderTop:variant===\"principle\"?`2px solid ${tokens.muted}`:`1px solid ${tokens.border}`,paddingTop:16,display:\"flex\",flexDirection:\"column\"},children:[numbered&&item.index?/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.xs,fontWeight:600,color:tokens.muted,letterSpacing:variant===\"level\"?\"0.12em\":\"0.04em\",textTransform:variant===\"level\"?\"uppercase\":undefined,marginBottom:10,display:\"block\"},children:item.index}):null,/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:serif,fontWeight:700,fontSize:variant===\"principle\"?fluid(t.xl,\"2.4vw\",t[\"2xl\"]):t.base,letterSpacing:variant===\"principle\"?\"-0.02em\":0,color:tokens.greyBold,lineHeight:variant===\"principle\"?1.1:1.4,display:\"block\"},children:item.heading}),/*#__PURE__*/_jsx(\"p\",{style:{margin:\"8px 0 0\",fontFamily:sans,fontSize:t.base,lineHeight:1.5,color:tokens.grey},children:item.body})]},i)),/*#__PURE__*/_jsx(\"style\",{children:`@container (max-width: 760px){.rule-grid{grid-template-columns:1fr !important}}`})]});}/** Bullets — the ONE list style (muted marker, one gap/indent). Lists route through here. */export function Bullets({items,sm}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:10},children:items.map((it,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:12,alignItems:\"flex-start\"},children:[/*#__PURE__*/_jsx(\"span\",{style:{color:tokens.muted,fontSize:sm?16:18,lineHeight:sm?\"1.65em\":\"1.7em\",flexShrink:0},children:\"\\xb7\"}),/*#__PURE__*/_jsx(\"span\",{style:sm?typeScale.stepDesc:typeScale.body,children:it})]},i))});}/** Callout — Tier 3 passive content box (flat). */export function Callout({children}){return /*#__PURE__*/_jsx(\"div\",{style:card,children:children});}/* ----------------------------------------------------------------------- *//* STUDY PRIMITIVES — promoted so every case study composes ONE definition  *//* for hero, animated metrics, split layouts, and scroll motion.            *//* ----------------------------------------------------------------------- *//** CountUpInView — count-up that fires once when scrolled into view; a 4s fallback\n *  forces the final value (guards the published whileInView blank bug). Honours\n *  reduced-motion (shows the final value immediately). Integer targets round;\n *  non-integer targets show one decimal (e.g. 7.6). */export function CountUpInView({to,suffix=\"\",prefix=\"\"}){const onCanvas=RenderTarget.current()===RenderTarget.canvas;const reduce=useReducedMotion();const ref=React.useRef(null);const inView=useInView(ref,{once:true,margin:\"-12% 0px\"});const[n,setN]=React.useState(to)// SSR / no-JS / crawler-safe: real value by default\n;const armed=React.useRef(false);const done=React.useRef(onCanvas||!!reduce);React.useEffect(()=>{if(done.current){setN(to);return;}const el=ref.current;const belowFold=el?el.getBoundingClientRect().top>(window.innerHeight||800):false;if(!belowFold){done.current=true;return;}armed.current=true;setN(0);const id=setTimeout(()=>{if(!done.current){done.current=true;setN(to);}},6e3);return()=>clearTimeout(id);},[to]);React.useEffect(()=>{if(!inView||!armed.current||done.current)return;done.current=true;let raf=0;const start=performance.now();const dur=950;const tick=t=>{const p=Math.min(1,(t-start)/dur);setN(to*(1-Math.pow(1-p,3)));if(p<1)raf=requestAnimationFrame(tick);};raf=requestAnimationFrame(tick);return()=>cancelAnimationFrame(raf);},[inView,to]);return /*#__PURE__*/_jsxs(\"span\",{ref:ref,children:[prefix,fmtCount(n,to),suffix]});}/** RevealInView — fade-and-rise once when scrolled in; 2.5s fallback forces the\n *  visible state. Honours reduced-motion (renders final state, no animation). */export function RevealInView({children,delay=0}){const onCanvas=RenderTarget.current()===RenderTarget.canvas;const reduce=useReducedMotion();const ref=React.useRef(null);const inView=useInView(ref,{once:true,margin:\"-8% 0px\"});const[show,setShow]=React.useState(onCanvas||!!reduce);React.useEffect(()=>{if(inView)setShow(true);},[inView]);React.useEffect(()=>{if(onCanvas||reduce)return;const id=setTimeout(()=>setShow(true),2500);return()=>clearTimeout(id);},[onCanvas,reduce]);return /*#__PURE__*/_jsx(motion.div,{ref:ref,initial:false,animate:{opacity:show?1:0,y:show?0:18},transition:{duration:reduce?0:.5,delay:reduce?0:delay,ease},children:children});}/** StatBand — hero strip (ink nums, no enclosing HR) or outcome board (ink nums, per-cell row tops). */export function StatBand({items,variant=\"hero\"}){const labelStyle={fontSize:t.xs,fontFamily:sans,fontWeight:600,letterSpacing:variant===\"hero\"?\"0.12em\":\"0.1em\",textTransform:\"uppercase\",color:tokens.muted,marginTop:variant===\"hero\"?12:14,display:\"block\"};const numHero={fontSize:fluid(t[\"2xl\"],\"4.4vw\",t[\"3xl\"]),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:1,letterSpacing:\"-0.03em\",fontVariantNumeric:\"tabular-nums\"};const numOutcome={fontSize:fluid(t[\"3xl\"],\"5vw\",t[\"4xl\"]),fontFamily:serif,fontWeight:700,color:tokens.greyBold,lineHeight:1,letterSpacing:\"-0.03em\",fontVariantNumeric:\"tabular-nums\",display:\"block\"};if(variant===\"outcome\"){return /*#__PURE__*/_jsxs(\"div\",{className:\"stat-band-outcome\",style:{display:\"grid\",gridTemplateColumns:\"repeat(3, minmax(0, 1fr))\",gap:40,marginTop:40},children:[items.map((m,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{borderTop:`1px solid ${tokens.border}`,paddingTop:20,minWidth:0},children:[/*#__PURE__*/_jsx(\"span\",{style:numOutcome,children:/*#__PURE__*/_jsx(CountUpInView,{to:m.to,suffix:m.suffix||\"\",prefix:m.prefix||\"\"})}),/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:m.label})]},i)),/*#__PURE__*/_jsx(\"style\",{children:`@container(max-width:760px){.stat-band-outcome{grid-template-columns:1fr !important}}`})]});}return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"clamp(28px, 4vw, 64px)\",marginTop:40},children:items.map((m,i)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"span\",{style:numHero,children:/*#__PURE__*/_jsx(CountUpInView,{to:m.to,suffix:m.suffix||\"\",prefix:m.prefix||\"\"})}),/*#__PURE__*/_jsx(\"span\",{style:labelStyle,children:m.label})]},i))});}/** SplitRow — text one side, a Figure the other; alternates via flip; stacks on mobile.\n *  `split` = the text/image COLUMN ratio (12-col fractions), governed by the layout system:\n *    even (6/6, default) · wide-text (7/5) · wide-media (5/7) · feature-media (4/8).\n *  (`ratio`/`fit`/`maxHeight` are the IMAGE aspect, unchanged.) flex-grow carries the ratio;\n *  minWidth 280 stacks the columns on narrow viewports. */const SPLIT_FR={even:[6,6],\"wide-text\":[7,5],\"wide-media\":[5,7],\"feature-media\":[4,8]};export function SplitRow({children,src,caption,flip=false,ratio,fit,maxHeight,split=\"even\"}){const[tf,imf]=SPLIT_FR[split]||SPLIT_FR.even;const txt=/*#__PURE__*/_jsx(\"div\",{style:{flex:`${tf} 1 0`,minWidth:280,display:\"flex\",flexDirection:\"column\",gap:12},children:children},\"t\");const img=/*#__PURE__*/_jsx(\"div\",{style:{flex:`${imf} 1 0`,minWidth:280},children:/*#__PURE__*/_jsx(Figure,{src:src,caption:caption,ratio:ratio,fit:fit,maxHeight:maxHeight,flush:true})},\"i\");return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"clamp(32px, 4vw, 56px)\",alignItems:\"flex-start\"},children:flip?[img,txt]:[txt,img]});}/** TwoUp — responsive multi-column figure grid (mobile-safe min()). */export function TwoUp({children,min=300}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:`repeat(auto-fit, minmax(min(100%, ${min}px), 1fr))`,gap:24},children:children});}/** StudySection — section padding + content width + scroll reveal. One wrapper per study section. */export function StudySection({bg=tokens.bg,pt,pb,gap=20,children}){const padTop=pt??rhythm.section;const padBottom=pb??rhythm.section;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",backgroundColor:bg,paddingTop:padTop,paddingBottom:padBottom,boxSizing:\"border-box\"},children:/*#__PURE__*/_jsx(RevealInView,{children:/*#__PURE__*/_jsx(\"div\",{style:{...contentWrap,display:\"flex\",flexDirection:\"column\",gap},children:children})})});}/** StudyPhase — Approach section outer padding (clamp rhythm). Replaces per-study sectionOuter clones. */export function StudyPhase({id,bg=tokens.bg,gap=20,children}){return /*#__PURE__*/_jsx(\"div\",{id:id,style:{width:\"100%\",backgroundColor:bg,paddingTop:rhythm.section,paddingBottom:rhythm.section,boxSizing:\"border-box\"},children:/*#__PURE__*/_jsx(RevealInView,{children:/*#__PURE__*/_jsx(\"div\",{style:{...contentWrap,display:\"flex\",flexDirection:\"column\",gap},children:children})})});}/** RailBrandLink — K. home link with expand-to-full-name on hover (matches Home km-rail-brand). */export function RailBrandLink({compact=false}){return /*#__PURE__*/_jsxs(\"a\",{href:\"/\",className:\"ss-brand\",\"aria-label\":\"Kyle Maskewich — home\",children:[\"K\",compact?null:/*#__PURE__*/_jsx(\"span\",{className:\"ss-brand-rest\",children:\"yle Maskewich\"}),/*#__PURE__*/_jsx(\"span\",{className:\"ss-brand-dot\",children:\".\"})]});}/** CaseStudyGate — client-side password screen for study pages (editor canvas bypasses). */function CaseStudyGate({children}){useHankenGroteskFont();const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[status,setStatus]=React.useState(\"checking\");const[error,setError]=React.useState(false);const[value,setValue]=React.useState(\"\");React.useEffect(()=>{if(onCanvas){setStatus(\"unlocked\");return;}try{const stored=typeof window!==\"undefined\"?window.sessionStorage.getItem(CS_GATE_KEY):null;setStatus(stored===CASE_STUDY_PASSWORD?\"unlocked\":\"locked\");}catch{setStatus(\"locked\");}},[onCanvas]);if(onCanvas)return /*#__PURE__*/_jsx(_Fragment,{children:children});if(status===\"checking\"){return /*#__PURE__*/_jsx(\"div\",{className:\"cs-gate-check\",style:{backgroundColor:tokens.bg},\"aria-hidden\":true});}if(status===\"locked\"){const handleSubmit=e=>{e.preventDefault();if(value===CASE_STUDY_PASSWORD){try{window.sessionStorage.setItem(CS_GATE_KEY,CASE_STUDY_PASSWORD);}catch{}setError(false);setStatus(\"unlocked\");}else{setError(true);}};return /*#__PURE__*/_jsxs(\"div\",{className:\"cs-gate-screen\",style:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",backgroundColor:tokens.bg,padding:\"clamp(24px, 5vw, 48px)\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:{width:\"100%\",maxWidth:420,display:\"flex\",flexDirection:\"column\",gap:20},children:[/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:gateMono,fontSize:t.xs,fontWeight:600,letterSpacing:\"0.14em\",textTransform:\"uppercase\",color:tokens.cta,margin:0},children:\"Protected\"}),/*#__PURE__*/_jsx(\"h1\",{style:{fontFamily:sans,fontSize:\"clamp(1.5rem, 4vw, 2rem)\",fontWeight:700,lineHeight:1.2,color:tokens.greyBold,margin:0},children:\"This case study is password protected.\"}),/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:sans,fontSize:16,lineHeight:1.5,color:tokens.muted,margin:0},children:\"Enter the password to view the work.\"}),/*#__PURE__*/_jsxs(\"form\",{onSubmit:handleSubmit,autoComplete:\"off\",style:{display:\"flex\",flexDirection:\"column\",gap:12,marginTop:8},children:[/*#__PURE__*/_jsx(\"label\",{htmlFor:\"cs-gate-entry\",className:\"cs-gate-label\",style:{fontFamily:sans,fontSize:t.sm,fontWeight:500,color:tokens.greyBold},children:\"Password\"}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:12},children:[/*#__PURE__*/_jsx(\"input\",{id:\"cs-gate-entry\",type:\"password\",name:\"cs-gate-entry\",value:value,onChange:e=>{setValue(e.target.value);if(error)setError(false);},onFocus:e=>{e.currentTarget.readOnly=false;},\"aria-label\":\"Password\",autoFocus:true,readOnly:true,autoComplete:\"new-password\",\"data-lpignore\":\"true\",\"data-1p-ignore\":true,\"data-form-type\":\"other\",style:{fontFamily:sans,fontSize:16,minHeight:44,padding:\"10px 14px\",border:`1px solid ${tokens.border}`,borderRadius:radii.xs,backgroundColor:tokens.bg,color:tokens.greyBold,boxSizing:\"border-box\",width:\"100%\"}}),/*#__PURE__*/_jsx(\"button\",{type:\"submit\",style:{fontFamily:sans,fontSize:t.base,fontWeight:600,minHeight:44,padding:\"10px 20px\",border:\"none\",borderRadius:radii.xs,backgroundColor:tokens.cta,color:tokens.bg,cursor:\"pointer\",boxSizing:\"border-box\",alignSelf:\"flex-start\"},children:\"Unlock\"})]})]}),error?/*#__PURE__*/_jsx(\"p\",{role:\"alert\",\"aria-live\":\"polite\",style:{fontFamily:sans,fontSize:t.sm,color:tokens.greyBold,margin:0},children:\"That password is not correct. Try again.\"}):null]}),/*#__PURE__*/_jsx(\"style\",{children:`.cs-gate-check,.cs-gate-screen{min-height:100vh;min-height:100dvh}.cs-gate-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#cs-gate-entry:focus-visible,button[type=\"submit\"]:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px}button[type=\"submit\"]:hover{background-color:${tokens.ctaBright}}@media(prefers-reduced-motion:reduce){button[type=\"submit\"]:hover{background-color:${tokens.cta}}}`})]});}return /*#__PURE__*/_jsx(_Fragment,{children:children});}/** StudyShell — 240px sticky TOC rail (signal-bold .spine-col / .spine-track prototype). *//** StudyActiveContext — the id of the section the scroll-spy currently marks active. SectionOpen reads\n *  it to light its kicker cobalt when active (mirrors the rail). Provided by StudyShell. */export const StudyActiveContext=/*#__PURE__*/React.createContext(\"\");export function StudyShell({sections,children}){useHankenGroteskFont();const onCanvas=RenderTarget.current()===RenderTarget.canvas;const[active,setActive]=React.useState(sections[0]?.id||\"\");const reduce=!!useReducedMotion();const pillRowRef=React.useRef(null);React.useEffect(()=>{if(onCanvas)return;// Scroll-spy: active = the last section whose top has crossed a line ~30% down the viewport\n// (robust for all section heights, incl. the tall Approach). Sets `active`, which drives\n// the rail, the mobile nav, AND the section kickers (via StudyActiveContext).\nlet raf=0;const compute=()=>{raf=0;const line=window.innerHeight*.3;let current=sections[0]?.id||\"\";for(const s of sections){const el=document.getElementById(s.id);if(el&&el.getBoundingClientRect().top<=line)current=s.id;}// Bottom-of-page snaps to the last section, but ONLY when the page is genuinely\n// scrollable. Before lazy product images load, the page can be shorter than the\n// viewport; without this guard that false-snaps the rail to the last section on load.\nconst scrollable=document.body.scrollHeight>window.innerHeight+4;if(scrollable&&window.innerHeight+window.scrollY>=document.body.scrollHeight-4){current=sections[sections.length-1]?.id||current;}setActive(current);};const onScroll=()=>{if(!raf)raf=requestAnimationFrame(compute);};compute();window.addEventListener(\"scroll\",onScroll,{passive:true});window.addEventListener(\"resize\",onScroll);// Re-run once layout settles. Images and fonts load AFTER mount and shift every\n// section offset without firing scroll/resize. Without this the spy sticks to whatever\n// it computed against the collapsed pre-load layout (every top above the line = the\n// last section wins), so the rail opened on the last item (\"Reflections\") and never moved.\nwindow.addEventListener(\"load\",onScroll);let ro=null;if(typeof ResizeObserver!==\"undefined\"){ro=new ResizeObserver(onScroll);try{ro.observe(document.body);}catch{}}const t1=setTimeout(onScroll,200);const t2=setTimeout(onScroll,1200);return()=>{window.removeEventListener(\"scroll\",onScroll);window.removeEventListener(\"resize\",onScroll);window.removeEventListener(\"load\",onScroll);if(ro)ro.disconnect();clearTimeout(t1);clearTimeout(t2);if(raf)cancelAnimationFrame(raf);};},[sections,onCanvas]);React.useEffect(()=>{if(onCanvas)return;const row=pillRowRef.current;if(!row)return;const el=row.querySelector('[aria-current=\"true\"]');if(!el)return;row.scrollTo({left:el.offsetLeft-row.clientWidth/2+el.clientWidth/2,behavior:reduce?\"auto\":\"smooth\"});},[active,onCanvas,reduce]);const go=(e,id)=>{e.preventDefault();const el=document.getElementById(id);if(el)el.scrollIntoView({behavior:reduce?\"auto\":\"smooth\",block:\"start\"});setActive(id);try{history.pushState(null,\"\",`#${id}`);}catch{}};const link=s=>{const on=active===s.id;return /*#__PURE__*/_jsxs(\"a\",{href:`#${s.id}`,onClick:e=>go(e,s.id),\"aria-current\":on?\"true\":undefined,style:{position:\"relative\",display:\"inline-flex\",alignItems:\"center\",minHeight:36,fontFamily:sans,fontSize:t.base,fontWeight:on?600:500,lineHeight:\"1.3em\",color:on?tokens.greyBold:tokens.muted,textDecoration:\"none\",padding:\"8px 0\",border:\"none\",background:\"transparent\",transition:\"color 0.18s ease\"},children:[on?/*#__PURE__*/_jsx(\"span\",{\"aria-hidden\":true,style:{position:\"absolute\",left:-18,top:\"50%\",transform:\"translateY(-50%)\",width:6,height:6,backgroundColor:tokens.cta}}):null,s.label]},s.id);};const tocLab={fontSize:t.xs,fontFamily:sans,fontWeight:600,letterSpacing:\"0.14em\",textTransform:\"uppercase\",color:tokens.muted,marginBottom:10,display:\"block\"};const railBadge={fontFamily:sans,fontSize:t.xs,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:tokens.muted,writingMode:\"vertical-rl\",textOrientation:\"mixed\",transform:\"rotate(180deg)\"};return /*#__PURE__*/_jsx(CaseStudyGate,{children:/*#__PURE__*/_jsxs(\"div\",{className:\"ss-shell\",style:{width:\"100%\",marginLeft:\"auto\",marginRight:\"auto\",paddingLeft:\"clamp(0px, 2vw, 24px)\",paddingRight:\"clamp(0px, 2vw, 24px)\",boxSizing:\"border-box\",containerType:\"inline-size\"},children:[/*#__PURE__*/_jsx(\"a\",{href:\"#ss-main\",className:\"ss-skip\",children:\"Skip to content\"}),/*#__PURE__*/_jsxs(\"div\",{className:\"ss-mobilebar\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"ss-mobilebar-top\",children:[/*#__PURE__*/_jsx(RailBrandLink,{compact:true}),/*#__PURE__*/_jsx(AllWorkLink,{})]}),/*#__PURE__*/_jsx(\"nav\",{\"aria-label\":\"On this page\",className:\"ss-pillrow\",ref:pillRowRef,children:sections.map(s=>{const on=active===s.id;return /*#__PURE__*/_jsx(\"a\",{href:`#${s.id}`,onClick:e=>go(e,s.id),\"aria-current\":on?\"true\":undefined,className:on?\"ss-mlink ss-mlink-on\":\"ss-mlink\",children:s.label},s.id);})})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"ss-grid\",children:[/*#__PURE__*/_jsx(\"aside\",{className:\"ss-rail-col\",\"aria-label\":\"Study navigation\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"ss-rail-track\",children:[/*#__PURE__*/_jsx(RailBrandLink,{}),/*#__PURE__*/_jsx(\"div\",{className:\"ss-rail-back\",style:{marginTop:28},children:/*#__PURE__*/_jsx(AllWorkLink,{})}),/*#__PURE__*/_jsx(\"nav\",{\"aria-label\":\"On this page\",className:\"ss-toc\",style:{display:\"flex\",flexDirection:\"column\",alignItems:\"flex-start\",gap:2,marginTop:\"clamp(56px, 10vh, 104px)\"},children:sections.map(link)}),/*#__PURE__*/_jsx(\"div\",{className:\"ss-rail-foot\",style:{marginTop:\"auto\",paddingTop:24},children:/*#__PURE__*/_jsx(\"span\",{style:railBadge,\"aria-hidden\":true,children:\"Case study\"})})]})}),/*#__PURE__*/_jsx(\"div\",{className:\"ss-main\",id:\"ss-main\",tabIndex:-1,style:{minWidth:0,outline:\"none\"},children:/*#__PURE__*/_jsx(StudyActiveContext.Provider,{value:active,children:children})})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n.ss-brand{font-family:${sans};font-weight:700;font-size:16px;letter-spacing:-0.01em;color:${tokens.greyBold};text-decoration:none;display:inline-flex;align-items:baseline;white-space:nowrap;min-height:44px}\n.ss-brand-dot{color:${tokens.cta}}\n.ss-brand-rest{display:inline-block;max-width:0;overflow:hidden;white-space:nowrap;opacity:0;transition:max-width 0.32s ease,opacity 0.32s ease}\n.ss-brand:hover .ss-brand-rest,.ss-brand:focus-visible .ss-brand-rest{max-width:16ch;opacity:1}\n@media(prefers-reduced-motion:reduce){.ss-brand-rest{transition:none}}\n.ss-shell a:focus-visible,.ss-shell button:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px}\n.ss-grid{display:grid;grid-template-columns:1fr;align-items:start}\n.ss-rail-col{display:none}\n.ss-skip{position:absolute;left:-9999px;top:0;z-index:200;background:${tokens.cta};color:#fff;padding:10px 16px;border-radius:0 0 ${radii.md}px 0;font-family:${sans};font-size:14px;font-weight:600;text-decoration:none}\n.ss-skip:focus-visible{left:0}\n.ss-mobilebar{position:sticky;top:0;z-index:50;display:flex;flex-direction:column;gap:8px;padding:10px clamp(16px,4vw,24px) 8px;background:rgba(255,255,255,0.94);backdrop-filter:saturate(1.2);border-bottom:1px solid ${tokens.border}}\n.ss-mobilebar-top{display:flex;align-items:center;gap:16px;min-width:0}\n.ss-pillrow{display:flex;gap:clamp(16px,4vw,22px);overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 calc(clamp(16px,4vw,24px) * -1);padding:2px clamp(16px,4vw,24px)}\n.ss-pillrow::-webkit-scrollbar{display:none}\n.ss-mlink{flex:0 0 auto;display:inline-flex;align-items:center;min-height:40px;padding:8px 0;color:${tokens.muted};font-family:${sans};font-size:13px;font-weight:500;white-space:nowrap;text-decoration:none;transition:color 0.18s ease}\n.ss-mlink-on{color:${tokens.cta};font-weight:600}\n@media(max-width:900px){html{scroll-padding-top:128px}}\n@container(min-width:901px){.ss-mobilebar{display:none}.ss-grid{grid-template-columns:240px minmax(0,1fr);gap:0;align-items:stretch}.ss-rail-col{display:block;position:sticky;top:0;align-self:start;height:fit-content;z-index:2;background:transparent}.ss-rail-track{display:flex;box-sizing:border-box;position:static;min-height:100dvh;height:auto;flex-direction:column;align-items:stretch;gap:10px;padding:clamp(32px,4vw,52px) clamp(28px,2.4vw,44px);overflow:visible}}\n`})]})});}const backArrowIcon=/*#__PURE__*/_jsxs(\"svg\",{className:\"awl-arrow\",width:22,height:10,viewBox:\"0 0 22 10\",\"aria-hidden\":true,style:{flexShrink:0},children:[/*#__PURE__*/_jsx(\"line\",{x1:\"2\",y1:\"5\",x2:\"22\",y2:\"5\",stroke:\"currentColor\",strokeWidth:1.6}),/*#__PURE__*/_jsx(\"path\",{d:\"M8 1 L1 5 L8 9\",fill:\"none\",stroke:\"currentColor\",strokeWidth:1.6})]});/** AllWorkLink — muted ← All work to /#work (Home Work section; rail + legacy hero; prototype .cs-back). */export function AllWorkLink(){return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsxs(\"a\",{href:\"/#work\",className:\"awl-link\",style:{display:\"inline-flex\",alignItems:\"center\",gap:8,minHeight:44,padding:\"8px 0\",margin:0,fontFamily:sans,fontSize:t.sm,fontWeight:500,letterSpacing:\"0.04em\",color:tokens.muted,textDecoration:\"none\",boxSizing:\"border-box\",transition:\"color 0.18s ease\"},children:[backArrowIcon,\"All work\"]}),/*#__PURE__*/_jsx(\"style\",{children:`.awl-link:hover,.awl-link:focus-visible{color:${tokens.cta}!important}.awl-link:hover .awl-arrow,.awl-link:focus-visible .awl-arrow{transform:translateX(-3px)}.awl-arrow{transition:transform 0.18s ease}.awl-link:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px;border-radius:${radii.focus}px}@media(prefers-reduced-motion:reduce){.awl-arrow{transition:none}}`})]});}/** StudyHero — case-study hero: eyebrow · title · intro · children (e.g. StatBand) · 2-col meta grid (prototype .cs-hero). */export function StudyHero({company,eyebrow,title,intro,meta,sectionId,children}){useHankenGroteskFont();const tag=eyebrow??(company?`Case Study \\xb7 ${company}`:\"\");return /*#__PURE__*/_jsxs(\"div\",{id:sectionId,style:{width:\"100%\",backgroundColor:tokens.bg,paddingTop:rhythm.heroTop,paddingBottom:rhythm.heroBottom,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"div\",{style:contentWrap,children:[/*#__PURE__*/_jsx(RevealInView,{children:/*#__PURE__*/_jsx(\"p\",{style:{...typeScale.sectionEyebrow,letterSpacing:\"0.16em\",textTransform:\"uppercase\",marginBottom:space[14]},children:tag})}),/*#__PURE__*/_jsx(RevealInView,{delay:.06,children:/*#__PURE__*/_jsx(\"h1\",{style:{...typeScale.caseStudyHeroTitle,margin:`${space[14]}px 0 0`},children:title})}),/*#__PURE__*/_jsx(RevealInView,{delay:.12,children:/*#__PURE__*/_jsx(\"p\",{style:{...typeScale.bodyLg,margin:`${space[24]}px 0 0`,maxWidth:\"60ch\"},children:intro})}),children?/*#__PURE__*/_jsx(RevealInView,{delay:.14,children:/*#__PURE__*/_jsx(\"div\",{style:{marginTop:space[40]},children:children})}):null,meta.length>0?/*#__PURE__*/_jsx(RevealInView,{delay:.16,children:/*#__PURE__*/_jsx(\"dl\",{className:\"ss-hero-meta\",style:{display:\"grid\",gridTemplateColumns:\"repeat(2, minmax(0, 1fr))\",gap:`${space[18]}px ${space[40]}px`,margin:`${space[44]}px 0 0`,maxWidth:760,padding:0},children:meta.map(({l,v})=>/*#__PURE__*/_jsxs(\"div\",{style:{borderTop:`1px solid ${tokens.border}`,paddingTop:space[12],margin:0},children:[/*#__PURE__*/_jsx(\"dt\",{style:{...typeScale.metaLabel,letterSpacing:\"0.14em\",marginBottom:space[6]},children:l}),/*#__PURE__*/_jsx(\"dd\",{style:{...typeScale.metaValue,lineHeight:\"1.4em\",margin:0},children:v})]},l))})}):null]}),/*#__PURE__*/_jsx(\"style\",{children:`@container(max-width:640px){.ss-hero-meta{grid-template-columns:1fr!important}}`})]});}/* ----------------------------------------------------------------------- *//* IA LADDER — heading components + section-marker icons (locked).          *//* Serif spine (StudyHero H1, SectionTitle H2) · sans within (SubTitle H3,  *//* ItemTitle H4) · Eyebrow kicker · CalloutStat. Icons ONLY at H2.          *//* ----------------------------------------------------------------------- */const ICON_PATHS={flag:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"4\",y1:\"22\",x2:\"4\",y2:\"15\"})]}),search:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"11\",cy:\"11\",r:\"7\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"21\",y1:\"21\",x2:\"16.5\",y2:\"16.5\"})]}),compass:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"polygon\",{points:\"15.6 8.4 13.2 13.2 8.4 15.6 10.8 10.8\"})]}),layers:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polygon\",{points:\"12 2 2 7 12 12 22 7 12 2\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"2 17 12 22 22 17\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"2 12 12 17 22 12\"})]}),\"trending-up\":/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"polyline\",{points:\"22 7 13.5 15.5 8.5 10.5 2 17\"}),/*#__PURE__*/_jsx(\"polyline\",{points:\"16 7 22 7 22 13\"})]}),lightbulb:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"path\",{d:\"M9 18h6\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M10 22h4\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12 2a7 7 0 0 0-4 12.6c.6.5 1 1.2 1 2.4h6c0-1.2.4-1.9 1-2.4A7 7 0 0 0 12 2z\"})]}),info:/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"circle\",{cx:\"12\",cy:\"12\",r:\"9\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"11\",x2:\"12\",y2:\"16\"}),/*#__PURE__*/_jsx(\"line\",{x1:\"12\",y1:\"8\",x2:\"12.01\",y2:\"8\"})]}),shield:/*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"path\",{d:\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"})})};/** SectionIcon — a thin muted line marker; one per H2 section. */export function SectionIcon({name,size=28}){if(!name||!ICON_PATHS[name])return null;return /*#__PURE__*/_jsx(\"svg\",{width:size,height:size,viewBox:\"0 0 24 24\",fill:\"none\",stroke:tokens.muted,strokeWidth:1.75,strokeLinecap:\"round\",strokeLinejoin:\"round\",style:{flexShrink:0},\"aria-hidden\":true,children:ICON_PATHS[name]});}/** SectionTitle — H2 (serif), with an optional section-marker icon to its left. */export function SectionTitle({children,icon}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:14},children:[icon?/*#__PURE__*/_jsx(SectionIcon,{name:icon}):null,/*#__PURE__*/_jsx(\"h2\",{style:typeScale.sectionHeadline,children:children})]});}/** SubTitle — H3 (Inter 600, 20). */export function SubTitle({children}){return /*#__PURE__*/_jsx(\"h3\",{style:{...typeScale.subHeading,marginTop:space[24],marginBottom:space[12]},children:children});}/** PhaseHead — L2 header for a SEQUENTIAL phase: a SubTitle (20/700) with a cobalt \"Phase N ·\" lead-in.\n *  The one place cobalt touches a sub-heading; it marks the live sequence (Standardize→Systemize→Automate)\n *  and can never be mistaken for a section ordinal. Parallel beats use plain SubTitle (no lead-in). */export function PhaseHead({n,children}){return /*#__PURE__*/_jsxs(\"h3\",{style:{...typeScale.subHeading,marginTop:space[24],marginBottom:space[12]},children:[/*#__PURE__*/_jsxs(\"span\",{style:{color:tokens.cta},children:[\"Phase \",n,\" \\xb7\\xa0\"]}),children]});}/** ItemTitle — H4 / card title (Inter 600, 16). Never serif. */export function ItemTitle({children}){return /*#__PURE__*/_jsx(\"h4\",{style:{...typeScale.itemTitle,marginTop:space[20],marginBottom:space[8]},children:children});}/** Eyebrow — muted `NN / Label` section kicker; pass active for cobalt (scroll-spy). */export function Eyebrow({children,active}){return /*#__PURE__*/_jsx(\"p\",{style:{...typeScale.sectionEyebrow,...active?{color:tokens.cta}:{}},children:children});}/** CalloutStat — inline stat callout: serif ink numeral + note, muted rule. */export function CalloutStat({stat,children}){return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:16,borderLeft:`2px solid ${tokens.muted}`,paddingLeft:16,maxWidth:540},children:[/*#__PURE__*/_jsx(\"span\",{style:typeScale.calloutNumber,children:stat}),/*#__PURE__*/_jsx(\"span\",{style:typeScale.bodySm,children:children})]});}/** StudyCard — Tier 1 ACTION: the ONE case-study listing card (Home + My work). */export function StudyCard({slug,company,title,stat,desc}){return /*#__PURE__*/_jsxs(motion.a,{href:`/project/${slug}`,style:{display:\"flex\",flexDirection:\"column\",gap:10,padding:28,backgroundColor:tokens.surface,border:`1px solid ${tokens.border}`,borderRadius:radii.figure,textDecoration:\"none\",boxSizing:\"border-box\",height:\"100%\",cursor:\"pointer\"},whileHover:{y:-4,borderColor:tokens.ctaBright},whileFocus:{borderColor:tokens.ctaBright,boxShadow:state.focusHalo},transition:{duration:.25,ease},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:700,letterSpacing:\"0.08em\",textTransform:\"uppercase\",color:tokens.muted},children:company}),/*#__PURE__*/_jsx(\"h3\",{style:{fontFamily:serif,fontSize:t.xl,fontWeight:600,color:tokens.greyBold,margin:0,lineHeight:\"1.25em\"},children:title}),stat?/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:600,color:tokens.greyBold,letterSpacing:\"0.01em\"},children:stat}):null,/*#__PURE__*/_jsx(\"p\",{style:{fontFamily:sans,fontSize:t.base,fontWeight:400,color:tokens.grey,lineHeight:\"1.6em\",margin:0,flex:1},children:desc}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:600,letterSpacing:\"0.03em\",color:tokens.ctaBright},children:\"Read case study →\"})]});}/** StudyGrid — canonical responsive listing grid (mobile-safe min()). */export function StudyGrid({children}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fill, minmax(min(100%, 300px), 1fr))\",gap:24},children:children});}/** CompanyStrip — monochrome wordmark/logo row with name fallback. */export function CompanyStrip({logos}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"center\",alignItems:\"center\",gap:40},children:logos.map(c=>c.logo?/*#__PURE__*/_jsx(\"img\",{src:c.logo,alt:c.name,loading:\"lazy\",decoding:\"async\",style:{height:26,width:\"auto\",maxWidth:132,objectFit:\"contain\",filter:\"grayscale(1)\",opacity:.55}},c.name):/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:600,letterSpacing:\"0.13em\",textTransform:\"uppercase\",color:tokens.muted},children:c.name},c.name))});}/** SiteFooter — unified grid footer (signal-bold): availability primary, Connect emphasized, meta tier quietest. */const RESUME_URL=\"\"// TODO: Kyle to host Kyle-Maskewich-Resume.pdf and provide URL\n;const footerMono='\"JetBrains Mono\", ui-monospace, monospace';export function SiteFooter(){const year=new Date().getFullYear();const prefersReducedMotion=useReducedMotion();const footerLink={fontFamily:sans,fontSize:13,fontWeight:500,color:tokens.grey,textDecoration:\"none\",display:\"inline-flex\",alignItems:\"center\",minHeight:44,boxSizing:\"border-box\"};const scrollToTop=()=>{window.scrollTo({top:0,behavior:prefersReducedMotion?\"auto\":\"smooth\"});};return /*#__PURE__*/_jsxs(\"footer\",{style:{width:\"100%\",backgroundColor:tokens.bg,borderTop:`1px solid ${tokens.border}`,paddingTop:\"clamp(32px, 4vw, 44px)\",paddingBottom:\"clamp(24px, 3vw, 36px)\",boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{...contentWrap},children:/*#__PURE__*/_jsxs(\"div\",{className:\"sf-row2\",style:{display:\"flex\",justifyContent:\"space-between\",alignItems:\"center\",gap:\"8px 24px\",flexWrap:\"wrap\"},children:[/*#__PURE__*/_jsxs(\"span\",{style:{fontFamily:sans,fontSize:t.sm,color:tokens.muted,whiteSpace:\"nowrap\"},children:[\"\\xa9 Kyle Maskewich \",year]}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:\"0 18px\",alignItems:\"center\"},children:[/*#__PURE__*/_jsx(\"a\",{href:\"mailto:kyle@kylemaskewich.com\",className:\"sf-link\",style:footerLink,children:\"Email\"}),/*#__PURE__*/_jsx(\"a\",{href:\"https://www.linkedin.com/in/kylemaskewich\",target:\"_blank\",rel:\"noopener noreferrer\",className:\"sf-link\",style:footerLink,children:\"LinkedIn\"})]})]})}),/*#__PURE__*/_jsx(\"style\",{children:`\n.sf-link:hover,.sf-link:focus-visible{color:${tokens.cta}!important}\n.sf-link:focus-visible{outline:${state.focusRing};outline-offset:${state.focusRingOffset}px;border-radius:${radii.focus}px}\n.sf-back-top:hover,.sf-back-top:focus-visible{color:${tokens.cta}!important}\n@media(max-width:640px){.sf-row1{flex-direction:column;gap:16px}.sf-row2{flex-direction:column;align-items:flex-start!important;gap:10px}}\n`})]});}/** TestimonialCard / TestimonialGrid — Tier 3 passive social-proof cards (flat). */export function TestimonialCard({quote,name,title}){return /*#__PURE__*/_jsxs(\"div\",{style:{backgroundColor:tokens.surface,borderRadius:radii.xl,padding:28,border:`1px solid ${tokens.borderCard}`,display:\"flex\",flexDirection:\"column\",gap:20,boxSizing:\"border-box\"},children:[/*#__PURE__*/_jsxs(\"p\",{style:{...typeScale.bodySm,fontStyle:\"italic\"},children:['\"',quote,'\"']}),/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:600,color:tokens.greyBold},children:name}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:500,color:tokens.muted,letterSpacing:\"0.08em\"},children:title})]})]});}export function TestimonialGrid({items}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"grid\",gridTemplateColumns:\"repeat(auto-fill, minmax(min(100%, 280px), 1fr))\",gap:24},children:items.map((t,i)=>/*#__PURE__*/_jsx(TestimonialCard,{quote:t.quote,name:t.name,title:t.title},i))});}/** SkillChip / SkillChips — About page skill pills. */export function SkillChip({label}){return /*#__PURE__*/_jsx(\"span\",{style:{backgroundColor:tokens.bg,borderRadius:radii.pill,padding:\"8px 16px\",border:`1px solid ${tokens.border}`,...typeScale.bodySm,display:\"inline-block\",boxSizing:\"border-box\"},children:label});}export function SkillChips({items}){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:10},children:items.map((s,i)=>/*#__PURE__*/_jsx(SkillChip,{label:s},i))});}/** ExperienceRow / ExperienceList — My work experience timeline. */export function ExperienceRow({role,company,dates,isLast}){return /*#__PURE__*/_jsxs(\"div\",{children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",justifyContent:\"space-between\",alignItems:\"center\",gap:12,paddingTop:20,paddingBottom:20},children:[/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",flexDirection:\"column\",gap:4},children:[/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.lg,fontWeight:600,color:tokens.greyBold,lineHeight:\"1.3em\"},children:role}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.base,fontWeight:500,color:tokens.cta},children:company})]}),/*#__PURE__*/_jsx(\"span\",{style:{fontFamily:sans,fontSize:t.sm,fontWeight:500,color:tokens.muted,letterSpacing:\"0.08em\"},children:dates})]}),!isLast&&/*#__PURE__*/_jsx(\"div\",{style:divider})]});}export function ExperienceList({items}){return /*#__PURE__*/_jsx(\"div\",{children:items.map((it,i)=>/*#__PURE__*/_jsx(ExperienceRow,{role:it.role,company:it.company,dates:it.dates,isLast:i===items.length-1},i))});}/** Default export: preview so the file is a valid Framer component module. */export default function CaseStudyKitPreview(){useHankenGroteskFont();return /*#__PURE__*/_jsx(\"div\",{style:{...sectionOuter(tokens.bg),fontFamily:sans},children:/*#__PURE__*/_jsxs(\"div\",{style:{...contentWrap,display:\"flex\",flexDirection:\"column\",gap:24},children:[/*#__PURE__*/_jsx(\"p\",{style:typeScale.sectionEyebrow,children:\"CaseStudyKit\"}),/*#__PURE__*/_jsx(\"h2\",{style:typeScale.sectionHeadline,children:\"Signal-bold / cooled white / cobalt (Phase 1 tokens + figures)\"}),/*#__PURE__*/_jsx(\"p\",{style:typeScale.body,children:\"Tokens, the locked IA ladder (serif spine, sans within), section-marker icons, motion with reduced-motion support, affordance tiers, and the page chrome every page composes.\"})]})});}\nexport const __FramerMetadata__ = {\"exports\":{\"PullQuote\":{\"type\":\"reactComponent\",\"name\":\"PullQuote\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"radii\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"typeScale\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TYPE_RATIO\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TestimonialGrid\":{\"type\":\"reactComponent\",\"name\":\"TestimonialGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SectionHeader\":{\"type\":\"reactComponent\",\"name\":\"SectionHeader\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Bullets\":{\"type\":\"reactComponent\",\"name\":\"Bullets\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Measure\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TYPE_BASE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ExperienceRow\":{\"type\":\"reactComponent\",\"name\":\"ExperienceRow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Figure\":{\"type\":\"reactComponent\",\"name\":\"Figure\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"sectionOuter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"GRID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"TwoUp\":{\"type\":\"reactComponent\",\"name\":\"TwoUp\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"useHankenGroteskFont\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ItemTitle\":{\"type\":\"reactComponent\",\"name\":\"ItemTitle\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SectionTitle\":{\"type\":\"reactComponent\",\"name\":\"SectionTitle\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RevealInView\":{\"type\":\"reactComponent\",\"name\":\"RevealInView\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"typeSteps\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Hero\":{\"type\":\"reactComponent\",\"name\":\"Hero\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"ExperienceList\":{\"type\":\"reactComponent\",\"name\":\"ExperienceList\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Prose\":{\"type\":\"reactComponent\",\"name\":\"Prose\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyActiveContext\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"CompanyStrip\":{\"type\":\"reactComponent\",\"name\":\"CompanyStrip\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RuleGrid\":{\"type\":\"reactComponent\",\"name\":\"RuleGrid\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"CountUp\":{\"type\":\"reactComponent\",\"name\":\"CountUp\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyPhase\":{\"type\":\"reactComponent\",\"name\":\"StudyPhase\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SectionIcon\":{\"type\":\"reactComponent\",\"name\":\"SectionIcon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"CalloutStat\":{\"type\":\"reactComponent\",\"name\":\"CalloutStat\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"divider\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"elevation\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Eyebrow\":{\"type\":\"reactComponent\",\"name\":\"Eyebrow\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyCard\":{\"type\":\"reactComponent\",\"name\":\"StudyCard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"state\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"HeroFigure\":{\"type\":\"reactComponent\",\"name\":\"HeroFigure\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"FigurePair\":{\"type\":\"reactComponent\",\"name\":\"FigurePair\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"CountUpInView\":{\"type\":\"reactComponent\",\"name\":\"CountUpInView\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"CaseStudyKitPreview\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyShell\":{\"type\":\"reactComponent\",\"name\":\"StudyShell\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Section\":{\"type\":\"reactComponent\",\"name\":\"Section\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SplitRow\":{\"type\":\"reactComponent\",\"name\":\"SplitRow\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"RailBrandLink\":{\"type\":\"reactComponent\",\"name\":\"RailBrandLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"prose\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Callout\":{\"type\":\"reactComponent\",\"name\":\"Callout\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"MetricBand\":{\"type\":\"reactComponent\",\"name\":\"MetricBand\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"loadHankenGroteskFont\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"READING_MEASURE\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"space\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StatBand\":{\"type\":\"reactComponent\",\"name\":\"StatBand\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyCardData\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyHero\":{\"type\":\"reactComponent\",\"name\":\"StudyHero\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SkillChip\":{\"type\":\"reactComponent\",\"name\":\"SkillChip\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Divider\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FigureProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SubTitle\":{\"type\":\"reactComponent\",\"name\":\"SubTitle\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"card\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SkillChips\":{\"type\":\"reactComponent\",\"name\":\"SkillChips\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Reveal\":{\"type\":\"reactComponent\",\"name\":\"Reveal\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Button\":{\"type\":\"reactComponent\",\"name\":\"Button\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"AllWorkLink\":{\"type\":\"reactComponent\",\"name\":\"AllWorkLink\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudySection\":{\"type\":\"reactComponent\",\"name\":\"StudySection\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"TestimonialCard\":{\"type\":\"reactComponent\",\"name\":\"TestimonialCard\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"tokens\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"rhythm\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"MetricRow\":{\"type\":\"reactComponent\",\"name\":\"MetricRow\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SectionLabel\":{\"type\":\"reactComponent\",\"name\":\"SectionLabel\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"SiteFooter\":{\"type\":\"reactComponent\",\"name\":\"SiteFooter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"contentWrap\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"EndCTA\":{\"type\":\"reactComponent\",\"name\":\"EndCTA\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"Bleed\":{\"type\":\"reactComponent\",\"name\":\"Bleed\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"StudyGrid\":{\"type\":\"reactComponent\",\"name\":\"StudyGrid\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"PhaseHead\":{\"type\":\"reactComponent\",\"name\":\"PhaseHead\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CaseStudyKit.map","/*\n * CaseStudyKit\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/4Rb11INl4lkeE5nLDJ9L/Mu9XPey4vzpfCpX2TeeE/CaseStudyKit.js\"\nexport { default } from \"https://framerusercontent.com/modules/4Rb11INl4lkeE5nLDJ9L/Mu9XPey4vzpfCpX2TeeE/CaseStudyKit.js\"\n"],"mappings":"0RA8BirC,SAAgB,GAAuB,CAAC,GAAG,OAAO,SAAW,IAAY,OAAO,IAAM,EAAK,SAAS,KAAS,KAAY,IAAG,CAAC,SAAS,eAAe,uCAAuC,CAAC,CAAC,IAAM,EAAK,SAAS,cAAc,OAAO,CAAC,EAAK,GAAG,uCAAuC,EAAK,IAAI,aAAa,EAAK,KAAK,+BAA+B,EAAK,YAAY,EAAK,CAAE,GAAG,CAAC,SAAS,eAAe,oCAAoC,CAAC,CAAC,IAAM,EAAK,SAAS,cAAc,OAAO,CAAC,EAAK,GAAG,oCAAoC,EAAK,IAAI,aAAa,EAAK,KAAK,4BAA4B,EAAK,YAAY,YAAY,EAAK,YAAY,EAAK,CAAE,GAAG,CAAC,SAAS,eAAe,EAAoB,CAAC,CAAC,IAAM,EAAK,SAAS,cAAc,OAAO,CAAC,EAAK,GAAG,EAAoB,EAAK,IAAI,aAAa,EAAK,KAAK,EAAgB,EAAK,YAAY,EAAK,GAAG,SAAgB,GAAsB,CAAC,MAAc,CAAC,GAAuB,EAAG,EAAE,CAAC,CAK/2D,SAAgB,EAAM,CAAC,WAAS,MAAI,IAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,GAAM,QAAQ,OAAO,cAAc,SAAS,MAAI,CAAU,WAAS,CAAC,CAMxQ,SAAgB,EAAM,CAAC,WAAS,OAAK,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,GAAG,GAAK,KAAiD,EAAE,CAA9C,CAAC,QAAQ,OAAO,cAAc,SAAS,MAAI,CAAI,CAAU,WAAS,CAAC,CACy7B,SAAgB,EAAa,CAAC,WAAS,UAAQ,CAAC,OAAoB,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAU,eAAe,GAAG,EAAO,CAAC,MAAM,EAAO,IAAI,CAAC,EAAE,CAAC,CAAU,WAAS,CAAC,CAA4iB,SAAgB,GAAO,CAAC,WAAS,OAAK,IAAI,WAAS,CAAC,IAAM,EAAK,CAAC,QAAQ,cAAc,WAAW,SAAS,IAAI,EAAE,QAAQ,YAAY,UAAU,GAAG,aAAa,EAAM,KAAK,WAAW,EAAK,SAAS,EAAE,KAAK,WAAW,IAAI,eAAe,OAAO,OAAO,UAAU,UAAU,aAAa,CAAO,EAAM,EAAQ,CAAC,GAAG,EAAK,gBAAgB,EAAO,UAAU,MAAM,OAAO,CAAC,CAAC,GAAG,EAAK,gBAAgB,cAAc,MAAM,EAAO,SAAS,OAAO,aAAa,EAAO,SAAS,CAAC,OAAoB,EAAK,EAAO,EAAE,CAAM,OAAW,QAAM,WAAW,CAAC,EAAE,GAAG,UAAU,EAAQ,EAAU,YAAY,EAAU,UAAU,CAAC,WAAW,CAAC,UAAU,EAAM,UAAU,CAAC,WAAW,CAAC,SAAS,IAAI,OAAK,CAAU,WAAS,CAAC,CAA6kE,SAAS,GAAS,CAAC,MAAI,UAAQ,WAAS,CAAC,EAAM,cAAc,CAAC,IAAM,EAAM,GAAG,CAAIA,EAAE,MAAM,UAAS,GAAS,EAAG,EAAO,iBAAiB,UAAU,EAAM,CAAC,IAAM,EAAa,SAAS,KAAK,MAAM,SAA+C,MAAtC,UAAS,KAAK,MAAM,SAAS,aAAmB,CAAC,EAAO,oBAAoB,UAAU,EAAM,CAAC,SAAS,KAAK,MAAM,SAAS,IAAiB,CAAC,EAAQ,CAAC,CAAC,IAAM,EAAO,GAAkB,CAG9/J,OAHkgK,OAAO,SAAW,IAAmB,KAGnhK,EAA0B,EAAM,EAAO,IAAI,CAAC,QAAQ,EAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,SAAS,EAAO,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,QAAQ,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,gBAAgB,sBAAsB,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,eAAe,SAAS,IAAI,GAAG,QAAQ,GAAG,OAAO,WAAW,UAAU,aAAa,CAAC,SAAS,CAAc,EAAK,MAAM,CAAK,MAAI,IAAI,GAAS,GAAG,MAAM,CAAC,SAAS,OAAO,UAAU,EAAQ,OAAO,OAAO,UAAU,UAAU,aAAa,EAAM,GAAG,UAAU,EAAU,SAAS,CAAC,CAAC,CAAC,EAAqB,EAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAK,SAAS,GAAG,MAAM,wBAAwB,OAAO,EAAE,UAAU,SAAS,SAAS,IAAI,CAAC,SAAS,EAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,KAAK,CAAE,SAAgB,EAAO,CAAC,MAAI,UAAQ,GAAG,QAAM,SAAS,MAAI,UAAU,WAAS,YAAU,IAAI,OAAK,GAAM,QAAM,IAAO,CAAC,GAAG,CAAC,EAAI,OAAO,KAAK,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAY,CAAC,EAAK,GAASC,EAAM,SAAS,GAAM,CAAM,CAAC,EAAM,GAAUA,EAAM,SAAS,GAAM,CAAO,EAAK,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,MAAM,OAAO,UAAU,EAAM,EAAM,GAAG,EAAK,yBAAyB,yBAAyB,GAAG,EAAS,CAAC,WAAS,WAAW,OAAO,YAAY,OAAO,CAAC,EAAE,CAAC,CAAO,EAAO,EAAK,EAAM,WAAW,EAAM,OAAa,EAAM,CAAC,gBAAgB,EAAO,GAAG,aAAa,EAAO,OAAO,aAAa,EAAO,SAAS,UAAU,aAAa,SAAS,SAAS,OAAO,UAAU,SAAS,WAAW,QAAQ,OAAO,CAAO,EAAuB,EAAK,MAAM,CAAC,cAAc,GAAK,MAAM,CAAC,SAAS,WAAW,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,aAAa,EAAM,GAAG,gBAAgB,sBAAsB,MAAM,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,SAAS,EAAE,KAAK,WAAW,EAAE,QAAQ,EAAM,EAAE,GAAG,WAAW,oBAAoB,cAAc,OAAO,CAAC,SAAS,IAAI,CAAC,CAAO,MAAU,CAAK,GAAS,EAAQ,GAAK,EAAuM,EAAW,CAAC,iBAAiB,EAAS,GAAK,CAAC,iBAAiB,EAAS,GAAM,CAAC,QAAQ,EAA7Q,KAAK,SAAS,SAAS,EAAS,GAAG,EAAE,aAAa,EAAQ,iBAAiB,IAAU,eAAe,UAAU,GAAG,EAAID,EAAE,MAAM,SAASA,EAAE,MAAM,OAAK,EAAE,gBAAgB,CAAC,GAAO,GAA8G,CAAC,OAAoB,EAAM,MAAM,CAAC,MAAM,EAAK,SAAS,CAAc,EAAK,QAAQ,CAAC,SAAS,wCAAwC,EAAM,UAAU,kBAAkB,EAAM,gBAAgB,KAAK,CAAC,CAAC,IAAM,QAAqB,EAAM,MAAM,CAAC,GAAG,EAAW,UAAU,gBAAgB,MAAM,CAAC,GAAG,EAAM,MAAM,OAAO,YAAY,EAAM,QAAQ,GAAG,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,aAAa,EAAO,gBAAgB,EAAO,GAAG,gBAAgB,OAAO,EAAI,GAAG,eAAe,QAAQ,mBAAmB,SAAS,iBAAiB,YAAY,CAAC,CAAC,CAAC,EAAU,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,GAAG,EAAW,UAAU,gBAAgB,MAAM,CAAC,GAAG,EAAM,QAAQ,GAAG,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,CAAC,SAAS,CAAc,EAAK,MAAM,CAAK,MAAI,IAAI,EAAQ,QAAQ,OAAO,SAAS,QAAQ,MAAM,CAAC,QAAQ,QAAQ,MAAM,OAAO,SAAS,OAAO,YAAU,UAAU,UAAU,aAAa,EAAO,gBAAgB,EAAO,GAAG,CAAC,CAAC,CAAC,EAAU,CAAC,CAAC,CAAC,EAAqB,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAU,QAAQ,UAAU,GAAG,CAAC,SAAS,EAAQ,CAAC,CAAC,KAAkB,EAAK,EAAgB,CAAC,SAAS,EAAkB,EAAK,GAAS,CAAK,MAAY,UAAQ,YAAY,EAAQ,GAAM,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAA8H,SAAgB,GAAW,EAAM,CAAC,OAAoB,EAAK,EAAO,CAAC,GAAG,EAAM,KAAK,GAAK,CAAC,CAE7K,SAAgB,GAAU,CAAC,QAAM,cAAY,QAAM,CACh8G,IAAI,EAAS,EAAa,GAAG,EAAM,EAAK,EAAY,EAAa,UAAc,EAAY,CAAC,IAAM,EAAS,EAAY,QAAQ,IAAI,CAAI,IAAW,IAAsG,EAAK,EAAY,EAAa,IAAA,KAAhI,EAAK,EAAY,MAAM,EAAE,EAAS,CAAC,MAAM,CAAC,EAAa,EAAY,MAAM,EAAS,EAAE,CAAC,MAAM,EAAiD,OAAoB,EAAM,SAAS,CAAC,MAAM,CAAC,MAAM,OAAO,UAAU,aAAa,GAAG,GAAM,EAAa,CAAC,OAAO,EAAE,UAAU,aAAa,EAAO,QAAQ,WAAW,GAAG,CAAC,CAAC,OAAO,2BAA2B,CAAC,CAAC,SAAS,CAAc,EAAK,aAAa,CAAC,MAAM,CAAC,WAAW,EAAM,WAAW,IAAI,SAAS,EAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,WAAW,IAAI,cAAc,UAAU,MAAM,EAAO,SAAS,OAAO,EAAE,CAAC,SAAS,EAAM,CAAC,CAAC,GAAM,EAA0B,EAAM,aAAa,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,OAAO,cAAc,MAAM,WAAW,SAAS,IAAI,GAAG,WAAW,EAAK,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,QAAQ,YAAY,KAAK,OAAO,OAAO,EAAO,MAAM,YAAY,IAAI,cAAc,QAAQ,eAAe,QAAQ,MAAM,CAAC,WAAW,EAAE,aAAa,EAAM,KAAK,OAAO,aAAa,EAAO,SAAS,QAAQ,EAAE,UAAU,aAAa,CAAC,cAAc,GAAK,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,6BAA6B,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,EAAkB,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,WAAW,IAAI,MAAM,EAAO,SAAS,CAAC,SAAS,EAAK,CAAC,CAAC,KAAK,EAA0B,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,WAAW,IAAI,cAAc,QAAQ,cAAc,YAAY,MAAM,EAAO,MAAM,CAAC,SAAS,EAAa,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAivG,SAAgB,GAAQ,CAAC,QAAM,MAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,CAAC,SAAS,EAAM,KAAK,EAAG,IAAiB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,GAAG,WAAW,aAAa,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAO,MAAM,SAAS,EAAG,GAAG,GAAG,WAAW,EAAG,SAAS,QAAQ,WAAW,EAAE,CAAC,SAAS,IAAO,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,EAAG,EAAU,SAAS,EAAU,KAAK,SAAS,EAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAGrwK,SAAgB,EAAc,CAAC,KAAG,SAAO,GAAG,SAAO,IAAI,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAa,EAAO,GAAkB,CAAO,EAAIC,EAAM,OAAO,KAAK,CAAO,EAAO,EAAU,EAAI,CAAC,KAAK,GAAK,OAAO,WAAW,CAAC,CAAM,CAAC,EAAE,GAAMA,EAAM,SAAS,EAAG,CAC3T,EAAMA,EAAM,OAAO,GAAM,CAAO,EAAKA,EAAM,OAAO,GAAU,CAAC,CAAC,EAAO,CAA2qB,OAA1qB,EAAM,cAAc,CAAC,GAAG,EAAK,QAAQ,CAAC,EAAK,EAAG,CAAC,OAAQ,IAAM,EAAG,EAAI,QAA0F,GAAG,EAArE,GAAG,EAAG,uBAAuB,CAAC,KAAK,EAAO,aAAa,MAAyB,CAAC,EAAK,QAAQ,GAAK,OAAQ,EAAM,QAAQ,GAAK,EAAK,EAAE,CAAC,IAAM,EAAG,eAAe,CAAK,EAAK,UAAS,EAAK,QAAQ,GAAK,EAAK,EAAG,GAAI,IAAI,CAAC,UAAU,aAAa,EAAG,EAAG,CAAC,EAAG,CAAC,CAAC,EAAM,cAAc,CAAC,GAAG,CAAC,GAAQ,CAAC,EAAM,SAAS,EAAK,QAAQ,OAAO,EAAK,QAAQ,GAAK,IAAI,EAAI,EAAQ,EAAM,YAAY,KAAK,CAAqB,EAAK,GAAG,CAAC,IAAMC,EAAE,KAAK,IAAI,GAAGC,EAAE,GAAO,IAAI,CAAC,EAAK,GAAI,GAAW,EAAED,IAAE,GAAI,CAAIA,EAAE,IAAE,EAAI,sBAAsB,EAAK,GAAmC,MAAhC,GAAI,sBAAsB,EAAK,KAAW,qBAAqB,EAAI,EAAG,CAAC,EAAO,EAAG,CAAC,CAAqB,EAAM,OAAO,CAAK,MAAI,SAAS,CAAC,EAAO,EAAS,EAAE,EAAG,CAAC,EAAO,CAAC,CAAC,CACzvB,SAAgB,EAAa,CAAC,WAAS,QAAM,GAAG,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAa,EAAO,GAAkB,CAAO,EAAID,EAAM,OAAO,KAAK,CAAO,EAAO,EAAU,EAAI,CAAC,KAAK,GAAK,OAAO,UAAU,CAAC,CAAM,CAAC,EAAK,GAASA,EAAM,SAAS,GAAU,CAAC,CAAC,EAAO,CAAsM,OAArM,EAAM,cAAc,CAAI,GAAO,EAAQ,GAAK,EAAG,CAAC,EAAO,CAAC,CAAC,EAAM,cAAc,CAAC,GAAG,GAAU,EAAO,OAAO,IAAM,EAAG,eAAe,EAAQ,GAAK,CAAC,KAAK,CAAC,UAAU,aAAa,EAAG,EAAG,CAAC,EAAS,EAAO,CAAC,CAAqB,EAAK,EAAO,IAAI,CAAK,MAAI,QAAQ,GAAM,QAAQ,CAAC,QAAQ,EAAK,EAAE,EAAE,EAAE,EAAK,EAAE,GAAG,CAAC,WAAW,CAAC,SAAS,EAAO,EAAE,GAAG,MAAM,EAAO,EAAE,EAAM,OAAK,CAAU,WAAS,CAAC,CAA0G,SAAgB,GAAS,CAAC,QAAM,UAAQ,QAAQ,CAAC,IAAM,EAAW,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,cAAc,IAAU,OAAO,SAAS,QAAQ,cAAc,YAAY,MAAM,EAAO,MAAM,UAAU,IAAU,OAAO,GAAG,GAAG,QAAQ,QAAQ,CAAO,EAAQ,CAAC,SAAS,EAAM,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,EAAE,cAAc,UAAU,mBAAmB,eAAe,CAAO,EAAW,CAAC,SAAS,EAAM,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,EAAE,cAAc,UAAU,mBAAmB,eAAe,QAAQ,QAAQ,CAAyoB,OAAroB,IAAU,UAA+B,EAAM,MAAM,CAAC,UAAU,oBAAoB,MAAM,CAAC,QAAQ,OAAO,oBAAoB,4BAA4B,IAAI,GAAG,UAAU,GAAG,CAAC,SAAS,CAAC,EAAM,KAAK,EAAE,IAAiB,EAAM,MAAM,CAAC,MAAM,CAAC,UAAU,aAAa,EAAO,SAAS,WAAW,GAAG,SAAS,EAAE,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,EAAW,SAAsB,EAAK,EAAc,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,EAAW,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS,wFAAwF,CAAC,CAAC,CAAC,CAAC,CAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,SAAS,OAAO,IAAI,yBAAyB,UAAU,GAAG,CAAC,SAAS,EAAM,KAAK,EAAE,IAAiB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,EAAQ,SAAsB,EAAK,EAAc,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,QAAQ,GAAG,OAAO,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,EAAW,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAIv2E,SAAgB,GAAS,CAAC,WAAS,MAAI,UAAQ,OAAK,GAAM,QAAM,MAAI,YAAU,QAAM,QAAQ,CAAC,GAAK,CAAC,EAAG,GAAK,EAAS,IAAQ,EAAS,KAAW,EAAiB,EAAK,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,EAAG,MAAM,SAAS,IAAI,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,CAAU,WAAS,CAAC,IAAI,CAAO,EAAiB,EAAK,MAAM,CAAC,MAAM,CAAC,KAAK,GAAG,EAAI,MAAM,SAAS,IAAI,CAAC,SAAsB,EAAK,EAAO,CAAK,MAAY,UAAc,QAAU,MAAc,YAAU,MAAM,GAAK,CAAC,CAAC,CAAC,IAAI,CAAC,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,SAAS,OAAO,IAAI,yBAAyB,WAAW,aAAa,CAAC,SAAS,EAAK,CAAC,EAAI,EAAI,CAAC,CAAC,EAAI,EAAI,CAAC,CAAC,CAAoX,SAAgB,GAAa,CAAC,KAAG,EAAO,GAAG,KAAG,KAAG,MAAI,GAAG,YAAU,CAAoE,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,gBAAgB,EAAG,WAA7H,GAAI,EAAO,QAAoI,cAA5G,GAAI,EAAO,QAAyH,UAAU,aAAa,CAAC,SAAsB,EAAK,EAAa,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAY,QAAQ,OAAO,cAAc,SAAS,MAAI,CAAU,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAA8kB,SAAgB,EAAc,CAAC,UAAQ,IAAO,CAAC,OAAoB,EAAM,IAAI,CAAC,KAAK,IAAI,UAAU,WAAW,aAAa,wBAAwB,SAAS,CAAC,IAAI,EAAQ,KAAkB,EAAK,OAAO,CAAC,UAAU,gBAAgB,SAAS,gBAAgB,CAAC,CAAc,EAAK,OAAO,CAAC,UAAU,eAAe,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAA8F,SAAS,GAAc,CAAC,YAAU,CAAC,GAAsB,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAY,CAAC,EAAO,GAAWA,EAAM,SAAS,WAAW,CAAM,CAAC,EAAM,GAAUA,EAAM,SAAS,GAAM,CAAM,CAAC,EAAM,GAAUA,EAAM,SAAS,GAAG,CAAs/G,OAAr/G,EAAM,cAAc,CAAC,GAAG,EAAS,CAAC,EAAU,WAAW,CAAC,OAAQ,GAAG,CAA0F,GAArE,IAAS,OAAuD,KAA3C,EAAO,eAAe,QAAQ,EAAY,IAAyB,EAAoB,WAAW,SAAS,MAAO,CAAC,EAAU,SAAS,GAAI,CAAC,EAAS,CAAC,CAAI,EAA6B,EAAKG,EAAU,CAAU,WAAS,CAAC,CAAI,IAAS,WAAgC,EAAK,MAAM,CAAC,UAAU,gBAAgB,MAAM,CAAC,gBAAgB,EAAO,GAAG,CAAC,cAAc,GAAK,CAAC,CAAK,IAAS,SAAiP,EAAM,MAAM,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,gBAAgB,EAAO,GAAG,QAAQ,yBAAyB,UAAU,aAAa,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,SAAS,IAAI,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAS,SAAS,EAAE,GAAG,WAAW,IAAI,cAAc,SAAS,cAAc,YAAY,MAAM,EAAO,IAAI,OAAO,EAAE,CAAC,SAAS,YAAY,CAAC,CAAc,EAAK,KAAK,CAAC,MAAM,CAAC,WAAW,EAAK,SAAS,2BAA2B,WAAW,IAAI,WAAW,IAAI,MAAM,EAAO,SAAS,OAAO,EAAE,CAAC,SAAS,yCAAyC,CAAC,CAAc,EAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAK,SAAS,GAAG,WAAW,IAAI,MAAM,EAAO,MAAM,OAAO,EAAE,CAAC,SAAS,uCAAuC,CAAC,CAAc,EAAM,OAAO,CAAC,SAAxjC,GAAG,CAAoB,GAAnB,EAAE,gBAAgB,CAAI,IAAQ,EAAoB,CAAC,GAAG,CAAC,EAAO,eAAe,QAAQ,EAAY,EAAoB,MAAO,EAAE,EAAS,GAAM,CAAC,EAAU,WAAW,MAAO,EAAS,GAAK,EAAk5B,aAAa,MAAM,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,UAAU,EAAE,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,QAAQ,gBAAgB,UAAU,gBAAgB,MAAM,CAAC,WAAW,EAAK,SAAS,EAAE,GAAG,WAAW,IAAI,MAAM,EAAO,SAAS,CAAC,SAAS,WAAW,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,IAAI,GAAG,CAAC,SAAS,CAAc,EAAK,QAAQ,CAAC,GAAG,gBAAgB,KAAK,WAAW,KAAK,gBAAsB,QAAM,SAAS,GAAG,CAAC,EAASJ,EAAE,OAAO,MAAM,CAAI,GAAM,EAAS,GAAM,EAAG,QAAQ,GAAG,CAAC,EAAE,cAAc,SAAS,IAAQ,aAAa,WAAW,UAAU,GAAK,SAAS,GAAK,aAAa,eAAe,gBAAgB,OAAO,iBAAiB,GAAK,iBAAiB,QAAQ,MAAM,CAAC,WAAW,EAAK,SAAS,GAAG,UAAU,GAAG,QAAQ,YAAY,OAAO,aAAa,EAAO,SAAS,aAAa,EAAM,GAAG,gBAAgB,EAAO,GAAG,MAAM,EAAO,SAAS,UAAU,aAAa,MAAM,OAAO,CAAC,CAAC,CAAc,EAAK,SAAS,CAAC,KAAK,SAAS,MAAM,CAAC,WAAW,EAAK,SAAS,EAAE,KAAK,WAAW,IAAI,UAAU,GAAG,QAAQ,YAAY,OAAO,OAAO,aAAa,EAAM,GAAG,gBAAgB,EAAO,IAAI,MAAM,EAAO,GAAG,OAAO,UAAU,UAAU,aAAa,UAAU,aAAa,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAmB,EAAK,IAAI,CAAC,KAAK,QAAQ,YAAY,SAAS,MAAM,CAAC,WAAW,EAAK,SAAS,EAAE,GAAG,MAAM,EAAO,SAAS,OAAO,EAAE,CAAC,SAAS,2CAA2C,CAAC,CAAC,KAAK,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS,yRAAyR,EAAM,UAAU,kBAAkB,EAAM,gBAAgB,kDAAkD,EAAO,UAAU,sFAAsF,EAAO,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAsB,EAAKI,EAAU,CAAU,WAAS,CAAC,CACnqM,SAAgB,GAAW,CAAC,WAAS,YAAU,CAAC,GAAsB,CAAC,IAAM,EAAS,EAAa,SAAS,GAAG,EAAa,OAAY,CAAC,EAAO,GAAWH,EAAM,SAAS,EAAS,IAAI,IAAI,GAAG,CAAO,EAAO,CAAC,CAAC,GAAkB,CAAO,EAAWA,EAAM,OAAO,KAAK,CAAC,EAAM,cAAc,CAAC,GAAG,EAAS,OAGvc,IAAI,EAAI,EAAQ,MAAY,CAAC,EAAI,EAAE,IAAM,EAAK,EAAO,YAAY,GAAO,EAAQ,EAAS,IAAI,IAAI,GAAG,IAAI,IAAM,KAAK,EAAS,CAAC,IAAM,EAAG,SAAS,eAAe,EAAE,GAAG,CAAI,GAAI,EAAG,uBAAuB,CAAC,KAAK,IAAK,EAAQ,EAAE,IAGzM,SAAS,KAAK,aAAa,EAAO,YAAY,GAAiB,EAAO,YAAY,EAAO,SAAS,SAAS,KAAK,aAAa,IAAG,EAAQ,EAAS,EAAS,OAAO,IAAI,IAAI,GAAS,EAAU,EAAQ,EAAS,MAAa,CAAC,AAAQ,IAAI,sBAAsB,EAAQ,EAAG,GAAS,CAAC,EAAO,iBAAiB,SAAS,EAAS,CAAC,QAAQ,GAAK,CAAC,CAAC,EAAO,iBAAiB,SAAS,EAAS,CAIvY,EAAO,iBAAiB,OAAO,EAAS,CAAC,IAAI,EAAG,KAAK,GAAG,OAAO,eAAiB,IAAY,CAAC,EAAG,IAAI,eAAe,EAAS,CAAC,GAAG,CAAC,EAAG,QAAQ,SAAS,KAAK,MAAO,GAAG,IAAM,EAAG,WAAW,EAAS,IAAI,CAAO,EAAG,WAAW,EAAS,KAAK,CAAC,UAAU,CAAC,EAAO,oBAAoB,SAAS,EAAS,CAAC,EAAO,oBAAoB,SAAS,EAAS,CAAC,EAAO,oBAAoB,OAAO,EAAS,CAAI,GAAG,EAAG,YAAY,CAAC,aAAa,EAAG,CAAC,aAAa,EAAG,CAAI,GAAI,qBAAqB,EAAI,GAAK,CAAC,EAAS,EAAS,CAAC,CAAC,EAAM,cAAc,CAAC,GAAG,EAAS,OAAO,IAAM,EAAI,EAAW,QAAQ,GAAG,CAAC,EAAI,OAAO,IAAM,EAAG,EAAI,cAAc,wBAAwB,CAAK,GAAU,EAAI,SAAS,CAAC,KAAK,EAAG,WAAW,EAAI,YAAY,EAAE,EAAG,YAAY,EAAE,SAAS,EAAO,OAAO,SAAS,CAAC,EAAG,CAAC,EAAO,EAAS,EAAO,CAAC,CAAC,IAAM,GAAI,EAAE,IAAK,CAAC,EAAE,gBAAgB,CAAC,IAAM,EAAG,SAAS,eAAe,EAAG,CAAI,GAAG,EAAG,eAAe,CAAC,SAAS,EAAO,OAAO,SAAS,MAAM,QAAQ,CAAC,CAAC,EAAU,EAAG,CAAC,GAAG,CAAC,QAAQ,UAAU,KAAK,GAAG,IAAI,IAAK,MAAO,IAAU,EAAK,GAAG,CAAC,IAAM,EAAG,IAAS,EAAE,GAAG,OAAoB,EAAM,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,QAAQ,GAAG,EAAGD,EAAE,EAAE,GAAG,CAAC,eAAe,EAAG,OAAO,IAAA,GAAU,MAAM,CAAC,SAAS,WAAW,QAAQ,cAAc,WAAW,SAAS,UAAU,GAAG,WAAW,EAAK,SAAS,EAAE,KAAK,WAAW,EAAG,IAAI,IAAI,WAAW,QAAQ,MAAM,EAAG,EAAO,SAAS,EAAO,MAAM,eAAe,OAAO,QAAQ,QAAQ,OAAO,OAAO,WAAW,cAAc,WAAW,mBAAmB,CAAC,SAAS,CAAC,EAAgB,EAAK,OAAO,CAAC,cAAc,GAAK,MAAM,CAAC,SAAS,WAAW,KAAK,IAAI,IAAI,MAAM,UAAU,mBAAmB,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAO,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,GAAG,EAA0B,EAAE,GAAyF,EAAO,MAAuC,IAAM,EAAU,CAAC,WAAW,EAAK,SAAS,EAAE,GAAG,cAAc,SAAS,cAAc,YAAY,MAAM,EAAO,MAAM,YAAY,cAAc,gBAAgB,QAAQ,UAAU,iBAAiB,CAAC,OAAoB,EAAK,GAAc,CAAC,SAAsB,EAAM,MAAM,CAAC,UAAU,WAAW,MAAM,CAAC,MAAM,OAAO,WAAW,OAAO,YAAY,OAAO,YAAY,wBAAwB,aAAa,wBAAwB,UAAU,aAAa,cAAc,cAAc,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,KAAK,WAAW,UAAU,UAAU,SAAS,kBAAkB,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,eAAe,SAAS,CAAc,EAAM,MAAM,CAAC,UAAU,mBAAmB,SAAS,CAAc,EAAK,EAAc,CAAC,QAAQ,GAAK,CAAC,CAAc,EAAK,EAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,aAAa,eAAe,UAAU,aAAa,IAAI,EAAW,SAAS,EAAS,IAAI,GAAG,CAAC,IAAM,EAAG,IAAS,EAAE,GAAG,OAAoB,EAAK,IAAI,CAAC,KAAK,IAAI,EAAE,KAAK,QAAQ,GAAG,EAAGA,EAAE,EAAE,GAAG,CAAC,eAAe,EAAG,OAAO,IAAA,GAAU,UAAU,EAAG,uBAAuB,WAAW,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,EAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,UAAU,UAAU,SAAS,CAAc,EAAK,QAAQ,CAAC,UAAU,cAAc,aAAa,mBAAmB,SAAsB,EAAM,MAAM,CAAC,UAAU,gBAAgB,SAAS,CAAc,EAAK,EAAc,EAAE,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,UAAU,GAAG,CAAC,SAAsB,EAAK,EAAY,EAAE,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,aAAa,eAAe,UAAU,SAAS,MAAM,CAAC,QAAQ,OAAO,cAAc,SAAS,WAAW,aAAa,IAAI,EAAE,UAAU,2BAA2B,CAAC,SAAS,EAAS,IAAI,EAAK,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,eAAe,MAAM,CAAC,UAAU,OAAO,WAAW,GAAG,CAAC,SAAsB,EAAK,OAAO,CAAC,MAAM,EAAU,cAAc,GAAK,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,UAAU,UAAU,GAAG,UAAU,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,QAAQ,OAAO,CAAC,SAAsB,EAAK,GAAmB,SAAS,CAAC,MAAM,EAAgB,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS;wBAC9xH,EAAK,+DAA+D,EAAO,SAAS;sBACtF,EAAO,IAAI;;;;mEAIkC,EAAM,UAAU,kBAAkB,EAAM,gBAAgB;;;uEAGpD,EAAO,IAAI,kDAAkD,EAAM,GAAG,mBAAmB,EAAK;;0NAEqD,EAAO,OAAO;;;;qGAInI,EAAO,MAAM,eAAe,EAAK;qBACjH,EAAO,IAAI;;;EAG9B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAA8c,SAAgB,GAAa,CAAC,OAAoB,EAAMI,EAAU,CAAC,SAAS,CAAc,EAAM,IAAI,CAAC,KAAK,SAAS,UAAU,WAAW,MAAM,CAAC,QAAQ,cAAc,WAAW,SAAS,IAAI,EAAE,UAAU,GAAG,QAAQ,QAAQ,OAAO,EAAE,WAAW,EAAK,SAAS,EAAE,GAAG,WAAW,IAAI,cAAc,SAAS,MAAM,EAAO,MAAM,eAAe,OAAO,UAAU,aAAa,WAAW,mBAAmB,CAAC,SAAS,CAAC,GAAc,WAAW,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS,iDAAiD,EAAO,IAAI,iLAAiL,EAAM,UAAU,kBAAkB,EAAM,gBAAgB,mBAAmB,EAAM,MAAM,uEAAuE,CAAC,CAAC,CAAC,CAAC,CAAgI,SAAgB,GAAU,CAAC,UAAQ,UAAQ,QAAM,QAAM,OAAK,YAAU,YAAU,CAAC,GAAsB,CAAC,IAAM,EAAI,IAAU,EAAQ,mBAAmB,IAAU,IAAI,OAAoB,EAAM,MAAM,CAAC,GAAG,EAAU,MAAM,CAAC,MAAM,OAAO,gBAAgB,EAAO,GAAG,WAAW,EAAO,QAAQ,cAAc,EAAO,WAAW,UAAU,aAAa,CAAC,SAAS,CAAc,EAAM,MAAM,CAAC,MAAM,EAAY,SAAS,CAAc,EAAK,EAAa,CAAC,SAAsB,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAU,eAAe,cAAc,SAAS,cAAc,YAAY,aAAa,EAAM,IAAI,CAAC,SAAS,EAAI,CAAC,CAAC,CAAC,CAAc,EAAK,EAAa,CAAC,MAAM,IAAI,SAAsB,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,mBAAmB,OAAO,GAAG,EAAM,IAAI,QAAQ,CAAC,SAAS,EAAM,CAAC,CAAC,CAAC,CAAc,EAAK,EAAa,CAAC,MAAM,IAAI,SAAsB,EAAK,IAAI,CAAC,MAAM,CAAC,GAAG,EAAU,OAAO,OAAO,GAAG,EAAM,IAAI,QAAQ,SAAS,OAAO,CAAC,SAAS,EAAM,CAAC,CAAC,CAAC,CAAC,EAAsB,EAAK,EAAa,CAAC,MAAM,IAAI,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,UAAU,EAAM,IAAI,CAAU,WAAS,CAAC,CAAC,CAAC,CAAC,KAAK,EAAK,OAAO,EAAe,EAAK,EAAa,CAAC,MAAM,IAAI,SAAsB,EAAK,KAAK,CAAC,UAAU,eAAe,MAAM,CAAC,QAAQ,OAAO,oBAAoB,4BAA4B,IAAI,GAAG,EAAM,IAAI,KAAK,EAAM,IAAI,IAAI,OAAO,GAAG,EAAM,IAAI,QAAQ,SAAS,IAAI,QAAQ,EAAE,CAAC,SAAS,EAAK,KAAK,CAAC,EAAA,EAAE,OAAkB,EAAM,MAAM,CAAC,MAAM,CAAC,UAAU,aAAa,EAAO,SAAS,WAAW,EAAM,IAAI,OAAO,EAAE,CAAC,SAAS,CAAc,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,UAAU,cAAc,SAAS,aAAa,EAAM,GAAG,CAAC,SAASC,EAAE,CAAC,CAAc,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,UAAU,WAAW,QAAQ,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAACA,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS,kFAAkF,CAAC,CAAC,CAAC,CAAC,CAAm+D,SAAgB,GAAY,CAAC,OAAK,OAAK,IAAI,CAAyC,MAArC,CAAC,GAAM,CAAC,EAAW,GAAa,KAAyB,EAAK,MAAM,CAAC,MAAM,EAAK,OAAO,EAAK,QAAQ,YAAY,KAAK,OAAO,OAAO,EAAO,MAAM,YAAY,KAAK,cAAc,QAAQ,eAAe,QAAQ,MAAM,CAAC,WAAW,EAAE,CAAC,cAAc,GAAK,SAAS,EAAW,GAAM,CAAC,CAAqF,SAAgB,GAAa,CAAC,WAAS,QAAM,CAAC,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,EAAkB,EAAK,GAAY,CAAC,KAAK,EAAK,CAAC,CAAC,KAAkB,EAAK,KAAK,CAAC,MAAM,EAAU,gBAAyB,WAAS,CAAC,CAAC,CAAC,CAAC,CAAuC,SAAgB,GAAS,CAAC,YAAU,CAAC,OAAoB,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,WAAW,UAAU,EAAM,IAAI,aAAa,EAAM,IAAI,CAAU,WAAS,CAAC,CAE37L,SAAgB,GAAU,CAAC,IAAE,YAAU,CAAC,OAAoB,EAAM,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,WAAW,UAAU,EAAM,IAAI,aAAa,EAAM,IAAI,CAAC,SAAS,CAAc,EAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAO,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAY,CAAC,CAAC,CAAC,EAAS,CAAC,CAAC,CAAkE,SAAgB,GAAU,CAAC,YAAU,CAAC,OAAoB,EAAK,KAAK,CAAC,MAAM,CAAC,GAAG,EAAU,UAAU,UAAU,EAAM,IAAI,aAAa,EAAM,GAAG,CAAU,WAAS,CAAC,CAA2U,SAAgB,GAAY,CAAC,OAAK,YAAU,CAAC,OAAoB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,GAAG,WAAW,aAAa,EAAO,QAAQ,YAAY,GAAG,SAAS,IAAI,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,MAAM,EAAU,cAAc,SAAS,EAAK,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,EAAU,OAAgB,WAAS,CAAC,CAAC,CAAC,CAAC,CACnrC,SAAgB,IAAY,CAAC,IAAM,EAAK,IAAI,MAAM,CAAC,aAAa,CAA4B,GAAkB,CAAC,IAAM,EAAW,CAAC,WAAW,EAAK,SAAS,GAAG,WAAW,IAAI,MAAM,EAAO,KAAK,eAAe,OAAO,QAAQ,cAAc,WAAW,SAAS,UAAU,GAAG,UAAU,aAAa,CAAiG,OAAoB,EAAM,SAAS,CAAC,MAAM,CAAC,MAAM,OAAO,gBAAgB,EAAO,GAAG,UAAU,aAAa,EAAO,SAAS,WAAW,yBAAyB,cAAc,yBAAyB,UAAU,aAAa,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAY,CAAC,SAAsB,EAAM,MAAM,CAAC,UAAU,UAAU,MAAM,CAAC,QAAQ,OAAO,eAAe,gBAAgB,WAAW,SAAS,IAAI,WAAW,SAAS,OAAO,CAAC,SAAS,CAAc,EAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAK,SAAS,EAAE,GAAG,MAAM,EAAO,MAAM,WAAW,SAAS,CAAC,SAAS,CAAC,oBAAuB,EAAK,CAAC,CAAC,CAAc,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,SAAS,WAAW,SAAS,CAAC,SAAS,CAAc,EAAK,IAAI,CAAC,KAAK,gCAAgC,UAAU,UAAU,MAAM,EAAW,SAAS,QAAQ,CAAC,CAAc,EAAK,IAAI,CAAC,KAAK,4CAA4C,OAAO,SAAS,IAAI,sBAAsB,UAAU,UAAU,MAAM,EAAW,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,QAAQ,CAAC,SAAS;8CAC74C,EAAO,IAAI;iCACxB,EAAM,UAAU,kBAAkB,EAAM,gBAAgB,mBAAmB,EAAM,MAAM;sDAClE,EAAO,IAAI;;EAE/D,CAAC,CAAC,CAAC,CAAC,qFA/FyE,IAAoC,IACtC,IAC5C,IACG,CA0BpB,EAAO,CAAC,GAAG,UAAU,OAAO,UAAU,QAAQ,UAAU,SAAS,UAAU,KAAK,UAAU,MAAM,UAAU,OAAO,UAAU,WAAW,UAAU,KAAK,UAAU,WAAW,UAAU,IAAI,UAAU,UAAU,UAAU,CAC1I,EAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,WAAW,GAAG,KAAK,IAAI,KAAK,MAAM,CAAuH,EAAU,CAAC,KAAK,OAAO,YAAY,kCAAkC,UAAU,8BAA8B,SAAS,8BAA8B,CAA+G,EAAM,CAAC,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAO,UAAU,UAAU,aAAa,EAAO,YAAY,UAAU,iCAAiC,CAAO,EAAoB,aAAmB,EAAY,qBAA2B,EAAS,4CAAkD,EAAO,mDAAyD,EAAM,EAAa,EAAK,EAAa,EAAoB,sBAA4B,EAAgB,gGAA6jC,EAAK,CAAC,IAAI,EAAE,IAAI,EAAE,CAAO,GAAU,EAAE,IAAK,OAAO,UAAU,EAAG,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAuK,EAAU,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,CAAO,EAAE,EAAgB,GAAO,EAAM,EAAG,IAAQ,SAAS,EAAM,GAAG,OAAO,EAAG,IAAI,EAAM,GAAG,MAAmB,EAAU,CAAC,eAAe,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,cAAc,SAAS,WAAW,SAAS,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,cAAc,SAAS,WAAW,SAAS,OAAO,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAM,EAAE,OAAO,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,SAAS,cAAc,WAAW,OAAO,EAAE,CAAC,cAAc,CAAC,SAAS,EAAM,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,SAAS,cAAc,WAAW,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAM,EAAE,OAAO,QAAQ,GAAG,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,SAAS,cAAc,WAAW,OAAO,EAAE,CAAC,mBAAmB,CAAC,SAAS,2BAA2B,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,MAAM,cAAc,WAAW,OAAO,EAAE,CAAC,WAAW,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,QAAQ,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,QAAQ,OAAO,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,KAAK,WAAW,QAAQ,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,KAAK,WAAW,QAAQ,OAAO,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,KAAK,WAAW,QAAQ,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,SAAS,OAAO,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,KAAK,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,KAAK,WAAW,QAAQ,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,IAAI,cAAc,SAAS,cAAc,YAAY,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,OAAO,EAAE,WAAW,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,cAAc,SAAS,cAAc,YAAY,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,OAAO,EAAE,CAAC,cAAc,CAAC,SAAS,EAAM,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,cAAc,SAAS,WAAW,IAAI,OAAO,EAAE,UAAU,OAAO,CAAC,UAAU,CAAC,SAAS,EAAM,EAAE,GAAG,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAM,WAAW,IAAI,MAAM,EAAO,SAAS,WAAW,QAAQ,cAAc,UAAU,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,MAAM,cAAc,QAAQ,cAAc,YAAY,OAAO,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,WAAW,EAAK,WAAW,IAAI,MAAM,EAAO,SAAS,OAAO,EAAE,WAAW,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAO,UAAU,eAAe,YAAY,CAAC,CAAc,EAAY,CAAC,SAAS,KAAK,MAAM,OAAO,WAAW,OAAO,YAAY,OAAO,YAAY,yBAAyB,aAAa,yBAAyB,UAAU,aAAa,CAKt2K,EAAgB,IAAiB,GAAM,CAAC,SAAS,EAAgB,MAAM,OAAO,UAAU,aAAa,CAEzJ,GAAQ,EAEsB,EAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAClG,EAAO,CAAC,QAAQ,0BAA0B,MAAM,yBAAyB,QAAQ,yBAAyB,WAAW,2BAA2B,QAAQ,0BAA0B,CACS,IAAc,EAAG,EAAW,GAAG,EAAc,MAAM,CAAC,MAAM,OAAO,gBAAgB,EAAG,aAAW,gBAAc,UAAU,aAAa,EAA8D,EAAO,OAAuI,EAAO,QAAqB,EAAM,OAAyB,GAAa,EAAO,OAApB,EAgB/lB,EAAS,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CACxC,GAAgC,EAAM,cAAc,GAAG,CA6BhJ,GAA2B,EAAM,MAAM,CAAC,UAAU,YAAY,MAAM,GAAG,OAAO,GAAG,QAAQ,YAAY,cAAc,GAAK,MAAM,CAAC,WAAW,EAAE,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,OAAO,eAAe,YAAY,IAAI,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,OAAO,eAAe,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAsvG,EAAW,CAAC,KAAkB,EAAMD,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,4DAA4D,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAoB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,QAAqB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,CAAC,CAAc,EAAK,UAAU,CAAC,OAAO,wCAAwC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAoB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAc,EAAK,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAc,EAAK,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,cAA2B,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,WAAW,CAAC,OAAO,+BAA+B,CAAC,CAAc,EAAK,WAAW,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,UAAuB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,OAAO,CAAC,EAAE,UAAU,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,WAAW,CAAC,CAAc,EAAK,OAAO,CAAC,EAAE,8EAA8E,CAAC,CAAC,CAAC,CAAC,CAAC,KAAkB,EAAMA,EAAU,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,IAAI,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,CAAc,EAAK,OAAO,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAoB,EAAKA,EAAU,CAAC,SAAsB,EAAK,OAAO,CAAC,EAAE,8CAA8C,CAAC,CAAC,CAAC,CAAC,sBChF1/J"}