@lerret/cli 0.1.2 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist-studio/.bundle-stamp +8 -8
- package/dist-studio/assets/{asset-runtime-MFjDKvQD.js → asset-runtime-BkKE6v8L.js} +1 -1
- package/dist-studio/assets/{cli-project-source-9dNA_gVa.js → cli-project-source-CcMekGqD.js} +1 -1
- package/dist-studio/assets/{dev-harness-BH6a8T7l.js → dev-harness-DXos2Ufq.js} +1 -1
- package/dist-studio/assets/{hosted-project-source-dVGq_8c6.js → hosted-project-source-BGPTmqgx.js} +2 -2
- package/dist-studio/assets/{index-EslqdOhg.js → index-DDZr-wEU.js} +2 -2
- package/dist-studio/assets/{open-folder-D5OR7eLb.js → open-folder-BwK8FWeb.js} +1 -1
- package/dist-studio/assets/{project-studio-BjNaIuRb.js → project-studio-Cu9lqG-F.js} +1 -1
- package/dist-studio/index.html +1 -1
- package/package.json +8 -9
- package/src/dev.js +3 -3
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,n as t,s as n}from"./index-
|
|
1
|
+
import{i as e,n as t,s as n}from"./index-DDZr-wEU.js";var r=n(e(),1),i=t();async function a(e){try{return await e.getDirectoryHandle(`.lerret`),!0}catch{return!1}}var o={width:`100vw`,height:`100vh`,display:`flex`,alignItems:`center`,justifyContent:`center`,background:`var(--lm-bg-secondary, #F2EEE6)`,fontFamily:`var(--lm-font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif)`,color:`var(--lm-text-primary, #1A1714)`,padding:`var(--lm-space-8, 32px)`,boxSizing:`border-box`},s={display:`flex`,flexDirection:`column`,alignItems:`center`,textAlign:`center`,maxWidth:`480px`,width:`100%`,gap:`var(--lm-space-6, 24px)`},c={fontSize:`var(--lm-size-badge, 11px)`,fontWeight:`var(--lm-weight-semibold, 600)`,letterSpacing:`0.18em`,textTransform:`uppercase`,color:`var(--lm-text-tertiary, #6E6960)`,margin:0},l={fontSize:`var(--lm-size-h2, 20px)`,fontWeight:`var(--lm-weight-semibold, 600)`,lineHeight:`var(--lm-lh-tight, 1.2)`,color:`var(--lm-text-primary, #1A1714)`,margin:0},u={fontSize:`var(--lm-size-body-lg, 14px)`,lineHeight:`var(--lm-lh-relaxed, 1.6)`,color:`var(--lm-text-secondary, #3A3530)`,maxWidth:`40ch`,margin:0},d={display:`inline-flex`,alignItems:`center`,gap:`var(--lm-space-2, 8px)`,padding:`var(--lm-space-3, 12px) var(--lm-space-6, 24px)`,background:`var(--lm-accent, #B85B33)`,color:`var(--lm-bg-primary, #FAF8F2)`,border:`none`,borderRadius:`var(--lm-radius-md, 8px)`,fontSize:`var(--lm-size-body-lg, 14px)`,fontWeight:`var(--lm-weight-semibold, 600)`,fontFamily:`inherit`,cursor:`pointer`,transition:`background var(--lm-duration-fast, 120ms)`},f={display:`inline-flex`,alignItems:`center`,gap:`var(--lm-space-2, 8px)`,padding:`var(--lm-space-3, 12px) var(--lm-space-6, 24px)`,background:`transparent`,color:`var(--lm-accent-text, #92421E)`,border:`1px solid var(--lm-accent-border, rgba(184,91,51,0.20))`,borderRadius:`var(--lm-radius-md, 8px)`,fontSize:`var(--lm-size-body-lg, 14px)`,fontWeight:`var(--lm-weight-semibold, 600)`,fontFamily:`inherit`,cursor:`pointer`,transition:`background var(--lm-duration-fast, 120ms)`},p={background:`var(--lm-bg-primary, #FAF8F2)`,border:`1px solid var(--lm-border, #DDD7CA)`,borderRadius:`var(--lm-radius-lg, 12px)`,padding:`var(--lm-space-6, 24px)`,maxWidth:`40ch`,display:`flex`,flexDirection:`column`,gap:`var(--lm-space-4, 16px)`,alignItems:`center`},m={fontSize:`var(--lm-size-h3, 16px)`,fontWeight:`var(--lm-weight-semibold, 600)`,color:`var(--lm-text-primary, #1A1714)`,margin:0},h={fontSize:`var(--lm-size-body, 13px)`,lineHeight:`var(--lm-lh-body, 1.45)`,color:`var(--lm-text-secondary, #3A3530)`,margin:0};function g(){return(0,i.jsxs)(`svg`,{width:`40`,height:`40`,viewBox:`0 0 40 40`,fill:`none`,"aria-hidden":`true`,style:{flex:`none`},children:[(0,i.jsx)(`rect`,{x:`3`,y:`10`,width:`34`,height:`24`,rx:`3`,fill:`var(--lm-accent-light, rgba(184,91,51,0.10))`}),(0,i.jsx)(`path`,{d:`M3 16h34M3 14c0-2.2 1.8-4 4-4h8l3 4`,stroke:`var(--lm-accent, #B85B33)`,strokeWidth:`1.8`,strokeLinejoin:`round`,fill:`none`})]})}function _({onFolderPicked:e,cliMode:t=!1}){let[n,_]=r.useState(`idle`),[v,y]=r.useState(null),[b,x]=r.useState(!1),[S,C]=r.useState(!1);async function w(){if(t){_(`cli-guide`);return}_(`picking`);let n;try{n=await window.showDirectoryPicker({mode:`readwrite`})}catch{_(`idle`);return}if(!await a(n)){y(n),_(`not-lerret-project`);return}_(`idle`),y(null),typeof e==`function`&&await e(n)}async function T(){await w()}function E(){return(0,i.jsxs)(`div`,{role:`alert`,style:p,"data-testid":`not-lerret-project-message`,children:[(0,i.jsx)(`h2`,{style:m,children:`Not a Lerret project`}),(0,i.jsxs)(`p`,{style:h,children:[`The folder you picked doesn't contain a `,(0,i.jsx)(`code`,{children:`.lerret/`}),` `,`directory. Open a folder that has one, or create a new project with`,` `,(0,i.jsx)(`code`,{children:`npx create-lerret my-canvas`}),`.`]}),(0,i.jsx)(`button`,{type:`button`,style:{...f,...S?{background:`var(--lm-accent-light, rgba(184,91,51,0.10))`}:{}},onClick:T,onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),onFocus:()=>C(!1),"aria-label":`Pick another folder`,"data-testid":`pick-another-folder-button`,children:`Pick another folder`})]})}function D(){return(0,i.jsxs)(`div`,{style:p,"data-testid":`cli-mode-guide`,children:[(0,i.jsx)(`h2`,{style:m,children:`Open in your terminal`}),(0,i.jsxs)(`p`,{style:h,children:[`In CLI mode the folder is set by the`,` `,(0,i.jsx)(`code`,{children:`lerret dev`}),` command.`,` `,`Run the following from inside your project:`]}),(0,i.jsx)(`pre`,{style:{background:`var(--lm-bg-tertiary, #E8E2D4)`,borderRadius:`var(--lm-radius-sm, 6px)`,padding:`var(--lm-space-3, 12px) var(--lm-space-4, 16px)`,fontSize:`var(--lm-size-body-sm, 12px)`,fontFamily:`var(--lm-font-mono, monospace)`,color:`var(--lm-text-primary, #1A1714)`,margin:0,whiteSpace:`pre`,overflowX:`auto`,width:`100%`,boxSizing:`border-box`},children:`lerret dev`}),(0,i.jsxs)(`p`,{style:{...h,fontSize:`var(--lm-size-body-sm, 12px)`,color:`var(--lm-text-tertiary, #6E6960)`},children:[`Or pass a path: `,(0,i.jsx)(`code`,{children:`lerret dev --folder ./my-project`})]}),(0,i.jsx)(`button`,{type:`button`,style:{...f,...S?{background:`var(--lm-accent-light, rgba(184,91,51,0.10))`}:{}},onClick:()=>_(`idle`),onMouseEnter:()=>C(!0),onMouseLeave:()=>C(!1),"data-testid":`back-to-entry-button`,children:`Back`})]})}let O=n===`picking`;return(0,i.jsxs)(`main`,{style:o,"aria-label":`Open a Lerret folder`,"data-testid":`open-folder-screen`,children:[(0,i.jsxs)(`div`,{style:s,children:[(0,i.jsx)(g,{}),(0,i.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`var(--lm-space-3, 12px)`,alignItems:`center`},children:[(0,i.jsx)(`p`,{style:c,"aria-hidden":`true`,children:`Lerret`}),(0,i.jsx)(`h1`,{style:l,children:`Open a Lerret folder`}),(0,i.jsx)(`p`,{style:u,children:t?`Run your project with the Lerret CLI — no account or signup needed.`:`Pick a local folder that contains a .lerret/ project. No account or signup needed — your files stay on your machine.`})]}),n===`not-lerret-project`&&E(),n===`cli-guide`&&D(),(n===`idle`||n===`picking`)&&(0,i.jsx)(`button`,{type:`button`,style:{...d,...b&&!O?{background:`var(--lm-accent-hover, #92421E)`}:{},...O?{opacity:.7,cursor:`wait`}:{}},onClick:w,disabled:O,onMouseEnter:()=>x(!0),onMouseLeave:()=>x(!1),"aria-label":t?`Open in terminal`:`Open a Lerret folder`,"data-testid":`open-folder-button`,children:O?`Opening…`:t?`How to open`:`Open a Lerret folder`})]}),(0,i.jsx)(`style`,{children:`
|
|
2
2
|
[data-testid="open-folder-button"]:focus-visible,
|
|
3
3
|
[data-testid="pick-another-folder-button"]:focus-visible,
|
|
4
4
|
[data-testid="back-to-entry-button"]:focus-visible {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,n as t,o as n,r,s as i,t as a}from"./index-EslqdOhg.js";import{_ as o,a as s,c,d as l,g as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b}from"./asset-runtime-MFjDKvQD.js";function x(e,t,n,r){let i;if(n){let r=t&&t.path||``,a=e.path;r&&a.startsWith(r)&&(a=a.slice(r.length)),a=a.replace(/^\/+/,``),i=n.replace(/\/+$/,``)+`/`+a}else i=e.path;return r!=null&&(i+=(i.includes(`?`)?`&`:`?`)+`t=`+encodeURIComponent(String(r))),i}async function S(e,t,n){let r=x(e,t,n.assetBaseUrl,n.reloadToken),i;try{i=await n.importModule(r)}catch(t){return[_(e,h(t,`evaluate`))]}let a=p(i);if(a.length===0)return[_(e,h(Error(`Asset "${e.fileName}" exports no React component. A component asset must \`export default\` a component, or export one or more component-valued named exports as variants.`),`evaluate`))];let o=g(i&&i.meta);return a.map(t=>s(e,t,o))}async function C(e,t,n){let r=x(e,t,n.assetBaseUrl,n.reloadToken),i=r+(r.includes(`?`)?`&raw`:`?raw`),a;try{a=await n.importModule(i)}catch(t){return[_(e,h(t,`load`))]}let o=a&&typeof a==`object`&&`default`in a?a.default:typeof a==`string`?a:``;return[d(e,typeof o==`string`?o:``)]}function w(e,t={}){let n=t.assetBaseUrl,r=t.importModule||(e=>a(()=>import(e),[],import.meta.url)),i=new Set,o=new Map,s=0,c=!1;function l(e){return o.get(e)}return{async loadAsset(t){if(c)return[_(t,h(Error(`asset runtime has been disposed`),`load`))];if(t==null||typeof t.path!=`string`)return[_(t||{kind:`asset`,name:`?`,fileName:`?`,path:`?`,assetKind:`component`,ext:``},h(Error(`loadAsset: expected an AssetNode with a path`),`load`))];let i=l(t.path);return t.assetKind===`markdown`?C(t,e,{assetBaseUrl:n,importModule:r,reloadToken:i}):S(t,e,{assetBaseUrl:n,importModule:r,reloadToken:i})},subscribe(e){return typeof e==`function`&&i.add(e),()=>i.delete(e)},notifyChange(e){if(!c&&!(typeof e!=`string`||e.length===0)){s+=1,o.set(e,s);for(let t of i)try{t(e)}catch(e){console.error(`[vite-runtime] subscribe listener threw:`,e)}}},dispose(){c=!0,i.clear(),o.clear()}}}var T=i(e(),1),E=i(r(),1),D=t();function O({open:e}){return(0,D.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 11 11`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,"aria-hidden":`true`,style:{opacity:.55,transform:e?`rotate(180deg)`:`none`,transition:`transform 120ms ease`,flex:`none`},children:(0,D.jsx)(`path`,{d:`M2 4l3.5 3.5L9 4`})})}function k(){return(0,D.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flex:`none`,opacity:.8},children:[(0,D.jsx)(`path`,{d:`M3.5 1.5h3L9 4v6.5h-5.5z`}),(0,D.jsx)(`path`,{d:`M2.5 3.5v6.5H8`})]})}function A({pages:e,current:t,onNavigate:n}){let r=Array.isArray(e)?e:[];return r.length===0?null:r.length===1?(0,D.jsx)(j,{label:r[0].label}):(0,D.jsx)(M,{pages:r,current:t,onNavigate:n})}function j({label:e}){return(0,D.jsxs)(`span`,{"data-tour":`dock-pages`,"data-page-picker":`static`,style:{display:`inline-flex`,alignItems:`center`,gap:7,padding:`8px 12px`,fontFamily:`inherit`,fontSize:13,fontWeight:600,color:`var(--lm-text-secondary, #3a3530)`,whiteSpace:`nowrap`},children:[(0,D.jsx)(`span`,{style:{display:`inline-flex`,color:`var(--lm-text-tertiary, #6e6960)`},children:(0,D.jsx)(k,{})}),(0,D.jsx)(`span`,{children:e})]})}function M({pages:e,current:t,onNavigate:n}){let[r,i]=T.useState(!1),[a,o]=T.useState(0),[s,c]=T.useState(null),l=T.useRef(null),u=T.useRef(null),d=T.useRef(null),f=Math.max(0,e.findIndex(e=>e.id===t)),p=e[f]||e[0],m=T.useCallback(()=>{if(!u.current)return;let e=u.current.getBoundingClientRect();c({left:e.left,bottom:window.innerHeight-e.top})},[]),h=T.useCallback(()=>{o(f),m(),i(!0)},[f,m]),g=T.useCallback((e=!0)=>{i(!1),e&&u.current&&u.current.focus()},[]),_=T.useCallback(r=>{let i=e[r];i&&i.id!==t&&n(i.id),g()},[e,t,n,g]);T.useEffect(()=>{if(!r)return;let e=e=>{let t=l.current&&l.current.contains(e.target),n=d.current&&d.current.contains(e.target);!t&&!n&&i(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[r]),T.useEffect(()=>{if(!r)return;let e=()=>m();return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,m]),T.useEffect(()=>{r&&d.current&&d.current.focus()},[r]),T.useEffect(()=>{if(!r||!d.current)return;let e=d.current.querySelector(`[data-page-active="true"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[r,a]);let v=e=>{(e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())},y=T.useCallback(t=>{switch(t.key){case`ArrowDown`:t.preventDefault(),o(t=>(t+1)%e.length);break;case`ArrowUp`:t.preventDefault(),o(t=>(t-1+e.length)%e.length);break;case`Home`:t.preventDefault(),o(0);break;case`End`:t.preventDefault(),o(e.length-1);break;case`Enter`:case` `:t.preventDefault(),_(a);break;case`Escape`:t.preventDefault(),g();break;case`Tab`:g(!1);break;default:break}},[e.length,a,_,g]);T.useEffect(()=>{if(!r)return;let e=d.current;if(e)return e.addEventListener(`keydown`,y),()=>e.removeEventListener(`keydown`,y)},[r,y]);let b=e=>`lerret-page-picker-option-${e}`;return(0,D.jsxs)(`span`,{ref:l,"data-tour":`dock-pages`,"data-page-picker":`dropdown`,style:{position:`relative`,display:`inline-flex`},children:[(0,D.jsxs)(`button`,{ref:u,type:`button`,onClick:()=>r?g():h(),onKeyDown:v,"aria-haspopup":`listbox`,"aria-expanded":r,"aria-label":`Page: ${p.label}. Switch page`,title:`Switch page`,style:{display:`inline-flex`,alignItems:`center`,gap:7,padding:`8px 12px`,borderRadius:8,border:`none`,background:r?`rgba(0,0,0,0.06)`:`transparent`,color:`var(--lm-text-secondary, #3a3530)`,fontFamily:`inherit`,fontSize:13,fontWeight:600,cursor:`pointer`,transition:`background 120ms ease`,whiteSpace:`nowrap`,maxWidth:240},onMouseEnter:e=>{r||(e.currentTarget.style.background=`rgba(0,0,0,0.05)`)},onMouseLeave:e=>{r||(e.currentTarget.style.background=`transparent`)},children:[(0,D.jsx)(`span`,{style:{display:`inline-flex`,color:`var(--lm-text-tertiary, #6e6960)`},children:(0,D.jsx)(k,{})}),(0,D.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:p.label}),(0,D.jsx)(O,{open:r})]}),r&&s&&E.createPortal((0,D.jsxs)(`ul`,{ref:d,id:`lerret-page-picker-listbox`,role:`listbox`,tabIndex:-1,"aria-label":`Pages`,"aria-activedescendant":b(a),style:{position:`fixed`,bottom:s.bottom+8,left:s.left,listStyle:`none`,margin:0,minWidth:200,maxWidth:300,maxHeight:280,overflowY:`auto`,background:`rgba(255,255,255,0.97)`,backdropFilter:`blur(16px) saturate(120%)`,WebkitBackdropFilter:`blur(16px) saturate(120%)`,border:`1px solid rgba(26,23,20,0.10)`,borderRadius:12,padding:6,boxShadow:`0 12px 32px rgba(15,23,42,0.18), 0 1px 3px rgba(15,23,42,0.06)`,zIndex:80,outline:`none`,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`},children:[(0,D.jsx)(`li`,{"aria-hidden":`true`,style:{fontSize:9.5,fontWeight:600,letterSpacing:`0.14em`,textTransform:`uppercase`,color:`var(--lm-text-muted, #9a958c)`,padding:`6px 12px 6px`},children:`Pages`}),e.map((e,n)=>{let r=e.id===t,i=n===a;return(0,D.jsxs)(`li`,{id:b(n),role:`option`,"aria-selected":r,"data-page-active":i,onClick:()=>_(n),onMouseEnter:()=>o(n),style:{display:`flex`,alignItems:`center`,gap:8,padding:`8px 12px`,borderRadius:8,cursor:`pointer`,fontSize:13,fontWeight:r?600:500,color:`var(--lm-text-primary, #1a1714)`,background:i?`var(--lm-accent-light, rgba(184,91,51,0.10))`:`transparent`,boxShadow:i?`inset 0 0 0 1.5px var(--lm-accent, #B85B33)`:`none`},children:[(0,D.jsx)(`span`,{"aria-hidden":`true`,style:{width:12,display:`inline-flex`,justifyContent:`center`,color:`var(--lm-accent, #B85B33)`},children:r?(0,D.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 11 11`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,D.jsx)(`path`,{d:`M2 5.8L4.4 8.2 9 2.8`})}):null}),(0,D.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.label})]},e.id)})]}),document.body)]})}var N=T.createContext(null);function P(){return T.useContext(N)}var F=T.createContext(null);function I(){return T.useContext(F)}var L=Uint8Array,R=Uint16Array,ee=Int32Array,te=new L([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ne=new L([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),z=new L([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),B=function(e,t){for(var n=new R(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new ee(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},V=B(te,2),H=V.b,U=V.r;H[28]=258,U[258]=28;var W=B(ne,0);W.b;for(var re=W.r,ie=new R(32768),G=0;G<32768;++G){var K=(G&43690)>>1|(G&21845)<<1;K=(K&52428)>>2|(K&13107)<<2,K=(K&61680)>>4|(K&3855)<<4,ie[G]=((K&65280)>>8|(K&255)<<8)>>1}for(var ae=(function(e,t,n){for(var r=e.length,i=0,a=new R(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new R(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new R(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[ie[d]>>c]=l}else for(s=new R(r),i=0;i<r;++i)e[i]&&(s[i]=ie[o[e[i]-1]++]>>15-e[i]);return s}),oe=new L(288),G=0;G<144;++G)oe[G]=8;for(var G=144;G<256;++G)oe[G]=9;for(var G=256;G<280;++G)oe[G]=7;for(var G=280;G<288;++G)oe[G]=8;for(var se=new L(32),G=0;G<32;++G)se[G]=5;var ce=ae(oe,9,0),le=ae(se,5,0),ue=function(e){return(e+7)/8|0},de=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new L(e.subarray(t,n))},fe=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],pe=function(e,t,n){var r=Error(t||fe[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,pe),!n)throw r;return r},me=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},he=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},ge=function(e,t){for(var n=[],r=0;r<e.length;++r)e[r]&&n.push({s:r,f:e[r]});var i=n.length,a=n.slice();if(!i)return{t:Ce,l:0};if(i==1){var o=new L(n[0].s+1);return o[n[0].s]=1,{t:o,l:1}}n.sort(function(e,t){return e.f-t.f}),n.push({s:-1,f:25001});var s=n[0],c=n[1],l=0,u=1,d=2;for(n[0]={s:-1,f:s.f+c.f,l:s,r:c};u!=i-1;)s=n[n[l].f<n[d].f?l++:d++],c=n[l!=u&&n[l].f<n[d].f?l++:d++],n[u++]={s:-1,f:s.f+c.f,l:s,r:c};for(var f=a[0].s,r=1;r<i;++r)a[r].s>f&&(f=a[r].s);var p=new R(f+1),m=_e(n[u-1],p,0);if(m>t){var r=0,h=0,g=m-t,_=1<<g;for(a.sort(function(e,t){return p[t.s]-p[e.s]||e.f-t.f});r<i;++r){var v=a[r].s;if(p[v]>t)h+=_-(1<<m-p[v]),p[v]=t;else break}for(h>>=g;h>0;){var y=a[r].s;p[y]<t?h-=1<<t-p[y]++-1:++r}for(;r>=0&&h;--r){var b=a[r].s;p[b]==t&&(--p[b],++h)}m=t}return{t:new L(p),l:m}},_e=function(e,t,n){return e.s==-1?Math.max(_e(e.l,t,n+1),_e(e.r,t,n+1)):t[e.s]=n},ve=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new R(++t),r=0,i=e[0],a=1,o=function(e){n[r++]=e},s=1;s<=t;++s)if(e[s]==i&&s!=t)++a;else{if(!i&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(i),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(i);a=1,i=e[s]}return{c:n.subarray(0,r),n:t}},ye=function(e,t){for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},be=function(e,t,n){var r=n.length,i=ue(t+2);e[i]=r&255,e[i+1]=r>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<r;++a)e[i+a+4]=n[a];return(i+4+r)*8},xe=function(e,t,n,r,i,a,o,s,c,l,u){me(t,u++,n),++i[256];for(var d=ge(i,15),f=d.t,p=d.l,m=ge(a,15),h=m.t,g=m.l,_=ve(f),v=_.c,y=_.n,b=ve(h),x=b.c,S=b.n,C=new R(19),w=0;w<v.length;++w)++C[v[w]&31];for(var w=0;w<x.length;++w)++C[x[w]&31];for(var T=ge(C,7),E=T.t,D=T.l,O=19;O>4&&!E[z[O-1]];--O);var k=l+5<<3,A=ye(i,oe)+ye(a,se)+o,j=ye(i,f)+ye(a,h)+o+14+3*O+ye(C,E)+2*C[16]+3*C[17]+7*C[18];if(c>=0&&k<=A&&k<=j)return be(t,u,e.subarray(c,c+l));var M,N,P,F;if(me(t,u,1+(j<A)),u+=2,j<A){M=ae(f,p,0),N=f,P=ae(h,g,0),F=h;var I=ae(E,D,0);me(t,u,y-257),me(t,u+5,S-1),me(t,u+10,O-4),u+=14;for(var w=0;w<O;++w)me(t,u+3*w,E[z[w]]);u+=3*O;for(var L=[v,x],ee=0;ee<2;++ee)for(var B=L[ee],w=0;w<B.length;++w){var V=B[w]&31;me(t,u,I[V]),u+=E[V],V>15&&(me(t,u,B[w]>>5&127),u+=B[w]>>12)}}else M=ce,N=oe,P=le,F=se;for(var w=0;w<s;++w){var H=r[w];if(H>255){var V=H>>18&31;he(t,u,M[V+257]),u+=N[V+257],V>7&&(me(t,u,H>>23&31),u+=te[V]);var U=H&31;he(t,u,P[U]),u+=F[U],U>3&&(he(t,u,H>>5&8191),u+=ne[U])}else he(t,u,M[H]),u+=N[H]}return he(t,u,M[256]),u+N[256]},Se=new ee([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ce=new L(0),we=function(e,t,n,r,i,a){var o=a.z||e.length,s=new L(r+o+5*(1+Math.ceil(o/7e3))+i),c=s.subarray(r,s.length-i),l=a.l,u=(a.r||0)&7;if(t){u&&(c[0]=a.r>>3);for(var d=Se[t-1],f=d>>13,p=d&8191,m=(1<<n)-1,h=a.p||new R(32768),g=a.h||new R(m+1),_=Math.ceil(n/3),v=2*_,y=function(t){return(e[t]^e[t+1]<<_^e[t+2]<<v)&m},b=new ee(25e3),x=new R(288),S=new R(32),C=0,w=0,T=a.i||0,E=0,D=a.w||0,O=0;T+2<o;++T){var k=y(T),A=T&32767,j=g[k];if(h[A]=j,g[k]=A,D<=T){var M=o-T;if((C>7e3||E>24576)&&(M>423||!l)){u=xe(e,c,0,b,x,S,w,E,O,T-O,u),E=C=w=0,O=T;for(var N=0;N<286;++N)x[N]=0;for(var N=0;N<30;++N)S[N]=0}var P=2,F=0,I=p,z=A-j&32767;if(M>2&&k==y(T-z))for(var B=Math.min(f,M)-1,V=Math.min(32767,T),H=Math.min(258,M);z<=V&&--I&&A!=j;){if(e[T+P]==e[T+P-z]){for(var W=0;W<H&&e[T+W]==e[T+W-z];++W);if(W>P){if(P=W,F=z,W>B)break;for(var ie=Math.min(z,W-2),G=0,N=0;N<ie;++N){var K=T-z+N&32767,ae=K-h[K]&32767;ae>G&&(G=ae,j=K)}}}A=j,j=h[A],z+=A-j&32767}if(F){b[E++]=268435456|U[P]<<18|re[F];var oe=U[P]&31,se=re[F]&31;w+=te[oe]+ne[se],++x[257+oe],++S[se],D=T+P,++C}else b[E++]=e[T],++x[e[T]]}}for(T=Math.max(T,D);T<o;++T)b[E++]=e[T],++x[e[T]];u=xe(e,c,l,b,x,S,w,E,O,T-O,u),l||(a.r=u&7|c[u/8|0]<<3,u-=7,a.h=g,a.p=h,a.i=T,a.w=D)}else{for(var T=a.w||0;T<o+l;T+=65535){var ce=T+65535;ce>=o&&(c[u/8|0]=l,ce=o),u=be(c,u+1,e.subarray(T,ce))}a.i=o}return de(s,0,r+ue(u)+i)},Te=(function(){for(var e=new Int32Array(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(n&1&&-306674912)^n>>>1;e[t]=n}return e})(),Ee=function(){var e=-1;return{p:function(t){for(var n=e,r=0;r<t.length;++r)n=Te[n&255^t[r]]^n>>>8;e=n},d:function(){return~e}}},De=function(e,t,n,r,i){if(!i&&(i={l:1},t.dictionary)){var a=t.dictionary.subarray(-32768),o=new L(a.length+e.length);o.set(a),o.set(e,a.length),e=o,i.w=a.length}return we(e,t.level==null?6:t.level,t.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,i)},Oe=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n},q=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function ke(e,t){return De(e,t||{},0,0)}var Ae=function(e,t,n,r){for(var i in e){var a=e[i],o=t+i,s=r;Array.isArray(a)&&(s=Oe(r,a[1]),a=a[0]),ArrayBuffer.isView(a)?n[o]=[a,s]:(n[o+=`/`]=[new L(0),s],Ae(a,o,n,r))}},je=typeof TextEncoder<`u`&&new TextEncoder,Me=typeof TextDecoder<`u`&&new TextDecoder;try{Me.decode(Ce,{stream:!0})}catch{}function Ne(e,t){if(t){for(var n=new L(e.length),r=0;r<e.length;++r)n[r]=e.charCodeAt(r);return n}if(je)return je.encode(e);for(var i=e.length,a=new L(e.length+(e.length>>1)),o=0,s=function(e){a[o++]=e},r=0;r<i;++r){if(o+5>a.length){var c=new L(o+8+(i-r<<1));c.set(a),a=c}var l=e.charCodeAt(r);l<128||t?s(l):l<2048?(s(192|l>>6),s(128|l&63)):l>55295&&l<57344?(l=65536+(l&1047552)|e.charCodeAt(++r)&1023,s(240|l>>18),s(128|l>>12&63),s(128|l>>6&63),s(128|l&63)):(s(224|l>>12),s(128|l>>6&63),s(128|l&63))}return de(a,0,o)}var Pe=function(e){var t=0;if(e)for(var n in e){var r=e[n].length;r>65535&&pe(9),t+=r+4}return t},Fe=function(e,t,n,r,i,a,o,s){var c=r.length,l=n.extra,u=s&&s.length,d=Pe(l);q(e,t,o==null?67324752:33639248),t+=4,o!=null&&(e[t++]=20,e[t++]=n.os),e[t]=20,t+=2,e[t++]=n.flag<<1|(a<0&&8),e[t++]=i&&8,e[t++]=n.compression&255,e[t++]=n.compression>>8;var f=new Date(n.mtime==null?Date.now():n.mtime),p=f.getFullYear()-1980;if((p<0||p>119)&&pe(10),q(e,t,p<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>1),t+=4,a!=-1&&(q(e,t,n.crc),q(e,t+4,a<0?-a-2:a),q(e,t+8,n.size)),q(e,t+12,c),q(e,t+14,d),t+=16,o!=null&&(q(e,t,u),q(e,t+6,n.attrs),q(e,t+10,o),t+=14),e.set(r,t),t+=c,d)for(var m in l){var h=l[m],g=h.length;q(e,t,+m),q(e,t+2,g),e.set(h,t+4),t+=4+g}return u&&(e.set(s,t),t+=u),t},Ie=function(e,t,n,r,i){q(e,t,101010256),q(e,t+8,n),q(e,t+10,n),q(e,t+12,r),q(e,t+16,i)};function Le(e,t){t||={};var n={},r=[];Ae(e,``,n,t);var i=0,a=0;for(var o in n){var s=n[o],c=s[0],l=s[1],u=l.level==0?0:8,d=Ne(o),f=d.length,p=l.comment,m=p&&Ne(p),h=m&&m.length,g=Pe(l.extra);f>65535&&pe(11);var _=u?ke(c,l):c,v=_.length,y=Ee();y.p(c),r.push(Oe(l,{size:c.length,crc:y.d(),c:_,f:d,m,u:f!=o.length||m&&p.length!=h,o:i,compression:u})),i+=30+f+g+v,a+=76+2*(f+g)+(h||0)+v}for(var b=new L(a+22),x=i,S=a-i,C=0;C<r.length;++C){var d=r[C];Fe(b,d.o,d,d.f,d.u,d.c.length);var w=30+d.f.length+Pe(d.extra);b.set(d.c,d.o+w),Fe(b,i,d,d.f,d.u,d.c.length,d.o,d.m),i+=16+w+(d.m?d.m.length:0)}return Ie(b,i,r.length,S,x),b}function Re(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let n=document.implementation.createHTMLDocument(),r=n.createElement(`base`),i=n.createElement(`a`);return n.head.appendChild(r),n.body.appendChild(i),t&&(r.href=t),i.href=e,i.href}var ze=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function Be(e){let t=[];for(let n=0,r=e.length;n<r;n++)t.push(e[n]);return t}var Ve=null;function He(e={}){return Ve||(e.includeStyleProperties?(Ve=e.includeStyleProperties,Ve):(Ve=Be(window.getComputedStyle(document.documentElement)),Ve))}function Ue(e,t){let n=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return n?parseFloat(n.replace(`px`,``)):0}function We(e){let t=Ue(e,`border-left-width`),n=Ue(e,`border-right-width`);return e.clientWidth+t+n}function Ge(e){let t=Ue(e,`border-top-width`),n=Ue(e,`border-bottom-width`);return e.clientHeight+t+n}function Ke(e,t={}){return{width:t.width||We(e),height:t.height||Ge(e)}}function qe(){let e,t;try{t=process}catch{}let n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var J=16384;function Je(e){(e.width>J||e.height>J)&&(e.width>J&&e.height>J?e.width>e.height?(e.height*=J/e.width,e.width=J):(e.width*=J/e.height,e.height=J):e.width>J?(e.height*=J/e.width,e.width=J):(e.width*=J/e.height,e.height=J))}function Ye(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:`image/png`,t.quality?t.quality:1)}):new Promise(n=>{let r=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(`,`)[1]),i=r.length,a=new Uint8Array(i);for(let e=0;e<i;e+=1)a[e]=r.charCodeAt(e);n(new Blob([a],{type:t.type?t.type:`image/png`}))})}function Xe(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{r.decode().then(()=>{requestAnimationFrame(()=>t(r))})},r.onerror=n,r.crossOrigin=`anonymous`,r.decoding=`async`,r.src=e})}async function Ze(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function Qe(e,t,n){let r=`http://www.w3.org/2000/svg`,i=document.createElementNS(r,`svg`),a=document.createElementNS(r,`foreignObject`);return i.setAttribute(`width`,`${t}`),i.setAttribute(`height`,`${n}`),i.setAttribute(`viewBox`,`0 0 ${t} ${n}`),a.setAttribute(`width`,`100%`),a.setAttribute(`height`,`100%`),a.setAttribute(`x`,`0`),a.setAttribute(`y`,`0`),a.setAttribute(`externalResourcesRequired`,`true`),i.appendChild(a),a.appendChild(e),Ze(i)}var Y=(e,t)=>{if(e instanceof t)return!0;let n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||Y(n,t)};function $e(e){let t=e.getPropertyValue(`content`);return`${e.cssText} content: '${t.replace(/'|"/g,``)}';`}function et(e,t){return He(t).map(t=>`${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t)?` !important`:``};`).join(` `)}function tt(e,t,n,r){let i=`.${e}:${t}`,a=n.cssText?$e(n):et(n,r);return document.createTextNode(`${i}{${a}}`)}function nt(e,t,n,r){let i=window.getComputedStyle(e,n),a=i.getPropertyValue(`content`);if(a===``||a===`none`)return;let o=ze();try{t.className=`${t.className} ${o}`}catch{return}let s=document.createElement(`style`);s.appendChild(tt(o,n,i,r)),t.appendChild(s)}function rt(e,t,n){nt(e,t,`:before`,n),nt(e,t,`:after`,n)}var it=`application/font-woff`,at=`image/jpeg`,ot={woff:it,woff2:it,ttf:`application/font-truetype`,eot:`application/vnd.ms-fontobject`,png:`image/png`,jpg:at,jpeg:at,gif:`image/gif`,tiff:`image/tiff`,svg:`image/svg+xml`,webp:`image/webp`};function st(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:``}function ct(e){return ot[st(e).toLowerCase()]||``}function lt(e){return e.split(/,/)[1]}function ut(e){return e.search(/^(data:)/)!==-1}function dt(e,t){return`data:${t};base64,${e}`}async function ft(e,t,n){let r=await fetch(e,t);if(r.status===404)throw Error(`Resource "${r.url}" not found`);let i=await r.blob();return new Promise((e,t)=>{let a=new FileReader;a.onerror=t,a.onloadend=()=>{try{e(n({res:r,result:a.result}))}catch(e){t(e)}},a.readAsDataURL(i)})}var pt={};function mt(e,t,n){let r=e.replace(/\?.*/,``);return n&&(r=e),/ttf|otf|eot|woff2?/i.test(r)&&(r=r.replace(/.*\//,``)),t?`[${t}]${r}`:r}async function ht(e,t,n){let r=mt(e,t,n.includeQueryParams);if(pt[r]!=null)return pt[r];n.cacheBust&&(e+=(/\?/.test(e)?`&`:`?`)+new Date().getTime());let i;try{i=dt(await ft(e,n.fetchRequestInit,({res:e,result:n})=>(t||=e.headers.get(`Content-Type`)||``,lt(n))),t)}catch(t){i=n.imagePlaceholder||``;let r=`Failed to fetch resource: ${e}`;t&&(r=typeof t==`string`?t:t.message),r&&console.warn(r)}return pt[r]=i,i}async function gt(e){let t=e.toDataURL();return t===`data:,`?e.cloneNode(!1):Xe(t)}async function _t(e,t){if(e.currentSrc){let t=document.createElement(`canvas`),n=t.getContext(`2d`);return t.width=e.clientWidth,t.height=e.clientHeight,n?.drawImage(e,0,0,t.width,t.height),Xe(t.toDataURL())}let n=e.poster;return Xe(await ht(n,ct(n),t))}async function vt(e,t){try{if(e?.contentDocument?.body)return await Ot(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function yt(e,t){return Y(e,HTMLCanvasElement)?gt(e):Y(e,HTMLVideoElement)?_t(e,t):Y(e,HTMLIFrameElement)?vt(e,t):e.cloneNode(xt(e))}var bt=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SLOT`,xt=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SVG`;async function St(e,t,n){if(xt(t))return t;let r=[];return r=bt(e)&&e.assignedNodes?Be(e.assignedNodes()):Y(e,HTMLIFrameElement)&&e.contentDocument?.body?Be(e.contentDocument.body.childNodes):Be((e.shadowRoot??e).childNodes),r.length===0||Y(e,HTMLVideoElement)||await r.reduce((e,r)=>e.then(()=>Ot(r,n)).then(e=>{e&&t.appendChild(e)}),Promise.resolve()),t}function Ct(e,t,n){let r=t.style;if(!r)return;let i=window.getComputedStyle(e);i.cssText?(r.cssText=i.cssText,r.transformOrigin=i.transformOrigin):He(n).forEach(n=>{let a=i.getPropertyValue(n);n===`font-size`&&a.endsWith(`px`)&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),Y(e,HTMLIFrameElement)&&n===`display`&&a===`inline`&&(a=`block`),n===`d`&&t.getAttribute(`d`)&&(a=`path(${t.getAttribute(`d`)})`),r.setProperty(n,a,i.getPropertyPriority(n))})}function wt(e,t){Y(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),Y(e,HTMLInputElement)&&t.setAttribute(`value`,e.value)}function Tt(e,t){if(Y(e,HTMLSelectElement)){let n=t,r=Array.from(n.children).find(t=>e.value===t.getAttribute(`value`));r&&r.setAttribute(`selected`,``)}}function Et(e,t,n){return Y(t,Element)&&(Ct(e,t,n),rt(e,t,n),wt(e,t),Tt(e,t)),t}async function Dt(e,t){let n=e.querySelectorAll?e.querySelectorAll(`use`):[];if(n.length===0)return e;let r={};for(let i=0;i<n.length;i++){let a=n[i].getAttribute(`xlink:href`);if(a){let n=e.querySelector(a),i=document.querySelector(a);!n&&i&&!r[a]&&(r[a]=await Ot(i,t,!0))}}let i=Object.values(r);if(i.length){let t=`http://www.w3.org/1999/xhtml`,n=document.createElementNS(t,`svg`);n.setAttribute(`xmlns`,t),n.style.position=`absolute`,n.style.width=`0`,n.style.height=`0`,n.style.overflow=`hidden`,n.style.display=`none`;let r=document.createElementNS(t,`defs`);n.appendChild(r);for(let e=0;e<i.length;e++)r.appendChild(i[e]);e.appendChild(n)}return e}async function Ot(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(e=>yt(e,t)).then(n=>St(e,n,t)).then(n=>Et(e,n,t)).then(e=>Dt(e,t))}var kt=/url\((['"]?)([^'"]+?)\1\)/g,At=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,jt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Mt(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,`\\$1`);return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,`g`)}function Nt(e){let t=[];return e.replace(kt,(e,n,r)=>(t.push(r),e)),t.filter(e=>!ut(e))}async function Pt(e,t,n,r,i){try{let a=n?Re(t,n):t,o=ct(t),s;return s=i?dt(await i(a),o):await ht(a,o,r),e.replace(Mt(t),`$1${s}$3`)}catch{}return e}function Ft(e,{preferredFontFormat:t}){return t?e.replace(jt,e=>{for(;;){let[n,,r]=At.exec(e)||[];if(!r)return``;if(r===t)return`src: ${n};`}}):e}function It(e){return e.search(kt)!==-1}async function Lt(e,t,n){if(!It(e))return e;let r=Ft(e,n);return Nt(r).reduce((e,r)=>e.then(e=>Pt(e,r,t,n)),Promise.resolve(r))}async function Rt(e,t,n){let r=t.style?.getPropertyValue(e);if(r){let i=await Lt(r,null,n);return t.style.setProperty(e,i,t.style.getPropertyPriority(e)),!0}return!1}async function zt(e,t){await Rt(`background`,e,t)||await Rt(`background-image`,e,t),await Rt(`mask`,e,t)||await Rt(`-webkit-mask`,e,t)||await Rt(`mask-image`,e,t)||await Rt(`-webkit-mask-image`,e,t)}async function Bt(e,t){let n=Y(e,HTMLImageElement);if(!(n&&!ut(e.src))&&!(Y(e,SVGImageElement)&&!ut(e.href.baseVal)))return;let r=n?e.src:e.href.baseVal,i=await ht(r,ct(r),t);await new Promise((r,a)=>{e.onload=r,e.onerror=t.onImageErrorHandler?(...e)=>{try{r(t.onImageErrorHandler(...e))}catch(e){a(e)}}:a;let o=e;o.decode&&=r,o.loading===`lazy`&&(o.loading=`eager`),n?(e.srcset=``,e.src=i):e.href.baseVal=i})}async function Vt(e,t){let n=Be(e.childNodes).map(e=>Ht(e,t));await Promise.all(n).then(()=>e)}async function Ht(e,t){Y(e,Element)&&(await zt(e,t),await Bt(e,t),await Vt(e,t))}function Ut(e,t){let{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);let r=t.style;return r!=null&&Object.keys(r).forEach(e=>{n[e]=r[e]}),e}var Wt={};async function Gt(e){let t=Wt[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},Wt[e]=t,t)}async function Kt(e,t){let n=e.cssText,r=/url\(["']?([^"')]+)["']?\)/g,i=(n.match(/url\([^)]+\)/g)||[]).map(async i=>{let a=i.replace(r,`$1`);return a.startsWith(`https://`)||(a=new URL(a,e.url).href),ft(a,t.fetchRequestInit,({result:e})=>(n=n.replace(i,`url(${e})`),[i,e]))});return Promise.all(i).then(()=>n)}function qt(e){if(e==null)return[];let t=[],n=e.replace(/(\/\*[\s\S]*?\*\/)/gi,``),r=RegExp(`((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})`,`gi`);for(;;){let e=r.exec(n);if(e===null)break;t.push(e[0])}n=n.replace(r,``);let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a=RegExp(`((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})`,`gi`);for(;;){let e=i.exec(n);if(e===null){if(e=a.exec(n),e===null)break;i.lastIndex=a.lastIndex}else a.lastIndex=i.lastIndex;t.push(e[0])}return t}async function Jt(e,t){let n=[],r=[];return e.forEach(n=>{if(`cssRules`in n)try{Be(n.cssRules||[]).forEach((e,i)=>{if(e.type===CSSRule.IMPORT_RULE){let a=i+1,o=e.href,s=Gt(o).then(e=>Kt(e,t)).then(e=>qt(e).forEach(e=>{try{n.insertRule(e,e.startsWith(`@import`)?a+=1:n.cssRules.length)}catch(t){console.error(`Error inserting rule from remote css`,{rule:e,error:t})}})).catch(e=>{console.error(`Error loading remote css`,e.toString())});r.push(s)}})}catch(i){let a=e.find(e=>e.href==null)||document.styleSheets[0];n.href!=null&&r.push(Gt(n.href).then(e=>Kt(e,t)).then(e=>qt(e).forEach(e=>{a.insertRule(e,a.cssRules.length)})).catch(e=>{console.error(`Error loading remote stylesheet`,e)})),console.error(`Error inlining remote css file`,i)}}),Promise.all(r).then(()=>(e.forEach(e=>{if(`cssRules`in e)try{Be(e.cssRules||[]).forEach(e=>{n.push(e)})}catch(t){console.error(`Error while reading CSS rules from ${e.href}`,t)}}),n))}function Yt(e){return e.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>It(e.style.getPropertyValue(`src`)))}async function Xt(e,t){if(e.ownerDocument==null)throw Error(`Provided element is not within a Document`);return Yt(await Jt(Be(e.ownerDocument.styleSheets),t))}function Zt(e){return e.trim().replace(/["']/g,``)}function Qt(e){let t=new Set;function n(e){(e.style.fontFamily||getComputedStyle(e).fontFamily).split(`,`).forEach(e=>{t.add(Zt(e))}),Array.from(e.children).forEach(e=>{e instanceof HTMLElement&&n(e)})}return n(e),t}async function $t(e,t){let n=await Xt(e,t),r=Qt(e);return(await Promise.all(n.filter(e=>r.has(Zt(e.style.fontFamily))).map(e=>{let n=e.parentStyleSheet?e.parentStyleSheet.href:null;return Lt(e.cssText,n,t)}))).join(`
|
|
1
|
+
import{i as e,n as t,o as n,r,s as i,t as a}from"./index-DDZr-wEU.js";import{_ as o,a as s,c,d as l,g as u,i as d,l as f,m as p,n as m,o as h,p as g,r as _,s as v,t as y,u as b}from"./asset-runtime-BkKE6v8L.js";function x(e,t,n,r){let i;if(n){let r=t&&t.path||``,a=e.path;r&&a.startsWith(r)&&(a=a.slice(r.length)),a=a.replace(/^\/+/,``),i=n.replace(/\/+$/,``)+`/`+a}else i=e.path;return r!=null&&(i+=(i.includes(`?`)?`&`:`?`)+`t=`+encodeURIComponent(String(r))),i}async function S(e,t,n){let r=x(e,t,n.assetBaseUrl,n.reloadToken),i;try{i=await n.importModule(r)}catch(t){return[_(e,h(t,`evaluate`))]}let a=p(i);if(a.length===0)return[_(e,h(Error(`Asset "${e.fileName}" exports no React component. A component asset must \`export default\` a component, or export one or more component-valued named exports as variants.`),`evaluate`))];let o=g(i&&i.meta);return a.map(t=>s(e,t,o))}async function C(e,t,n){let r=x(e,t,n.assetBaseUrl,n.reloadToken),i=r+(r.includes(`?`)?`&raw`:`?raw`),a;try{a=await n.importModule(i)}catch(t){return[_(e,h(t,`load`))]}let o=a&&typeof a==`object`&&`default`in a?a.default:typeof a==`string`?a:``;return[d(e,typeof o==`string`?o:``)]}function w(e,t={}){let n=t.assetBaseUrl,r=t.importModule||(e=>a(()=>import(e),[],import.meta.url)),i=new Set,o=new Map,s=0,c=!1;function l(e){return o.get(e)}return{async loadAsset(t){if(c)return[_(t,h(Error(`asset runtime has been disposed`),`load`))];if(t==null||typeof t.path!=`string`)return[_(t||{kind:`asset`,name:`?`,fileName:`?`,path:`?`,assetKind:`component`,ext:``},h(Error(`loadAsset: expected an AssetNode with a path`),`load`))];let i=l(t.path);return t.assetKind===`markdown`?C(t,e,{assetBaseUrl:n,importModule:r,reloadToken:i}):S(t,e,{assetBaseUrl:n,importModule:r,reloadToken:i})},subscribe(e){return typeof e==`function`&&i.add(e),()=>i.delete(e)},notifyChange(e){if(!c&&!(typeof e!=`string`||e.length===0)){s+=1,o.set(e,s);for(let t of i)try{t(e)}catch(e){console.error(`[vite-runtime] subscribe listener threw:`,e)}}},dispose(){c=!0,i.clear(),o.clear()}}}var T=i(e(),1),E=i(r(),1),D=t();function O({open:e}){return(0,D.jsx)(`svg`,{width:`9`,height:`9`,viewBox:`0 0 11 11`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.6`,strokeLinecap:`round`,"aria-hidden":`true`,style:{opacity:.55,transform:e?`rotate(180deg)`:`none`,transition:`transform 120ms ease`,flex:`none`},children:(0,D.jsx)(`path`,{d:`M2 4l3.5 3.5L9 4`})})}function k(){return(0,D.jsxs)(`svg`,{width:`12`,height:`12`,viewBox:`0 0 12 12`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.4`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{flex:`none`,opacity:.8},children:[(0,D.jsx)(`path`,{d:`M3.5 1.5h3L9 4v6.5h-5.5z`}),(0,D.jsx)(`path`,{d:`M2.5 3.5v6.5H8`})]})}function A({pages:e,current:t,onNavigate:n}){let r=Array.isArray(e)?e:[];return r.length===0?null:r.length===1?(0,D.jsx)(j,{label:r[0].label}):(0,D.jsx)(M,{pages:r,current:t,onNavigate:n})}function j({label:e}){return(0,D.jsxs)(`span`,{"data-tour":`dock-pages`,"data-page-picker":`static`,style:{display:`inline-flex`,alignItems:`center`,gap:7,padding:`8px 12px`,fontFamily:`inherit`,fontSize:13,fontWeight:600,color:`var(--lm-text-secondary, #3a3530)`,whiteSpace:`nowrap`},children:[(0,D.jsx)(`span`,{style:{display:`inline-flex`,color:`var(--lm-text-tertiary, #6e6960)`},children:(0,D.jsx)(k,{})}),(0,D.jsx)(`span`,{children:e})]})}function M({pages:e,current:t,onNavigate:n}){let[r,i]=T.useState(!1),[a,o]=T.useState(0),[s,c]=T.useState(null),l=T.useRef(null),u=T.useRef(null),d=T.useRef(null),f=Math.max(0,e.findIndex(e=>e.id===t)),p=e[f]||e[0],m=T.useCallback(()=>{if(!u.current)return;let e=u.current.getBoundingClientRect();c({left:e.left,bottom:window.innerHeight-e.top})},[]),h=T.useCallback(()=>{o(f),m(),i(!0)},[f,m]),g=T.useCallback((e=!0)=>{i(!1),e&&u.current&&u.current.focus()},[]),_=T.useCallback(r=>{let i=e[r];i&&i.id!==t&&n(i.id),g()},[e,t,n,g]);T.useEffect(()=>{if(!r)return;let e=e=>{let t=l.current&&l.current.contains(e.target),n=d.current&&d.current.contains(e.target);!t&&!n&&i(!1)};return document.addEventListener(`pointerdown`,e),()=>document.removeEventListener(`pointerdown`,e)},[r]),T.useEffect(()=>{if(!r)return;let e=()=>m();return window.addEventListener(`resize`,e),window.addEventListener(`scroll`,e,!0),()=>{window.removeEventListener(`resize`,e),window.removeEventListener(`scroll`,e,!0)}},[r,m]),T.useEffect(()=>{r&&d.current&&d.current.focus()},[r]),T.useEffect(()=>{if(!r||!d.current)return;let e=d.current.querySelector(`[data-page-active="true"]`);e&&typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`})},[r,a]);let v=e=>{(e.key===`ArrowDown`||e.key===`ArrowUp`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),h())},y=T.useCallback(t=>{switch(t.key){case`ArrowDown`:t.preventDefault(),o(t=>(t+1)%e.length);break;case`ArrowUp`:t.preventDefault(),o(t=>(t-1+e.length)%e.length);break;case`Home`:t.preventDefault(),o(0);break;case`End`:t.preventDefault(),o(e.length-1);break;case`Enter`:case` `:t.preventDefault(),_(a);break;case`Escape`:t.preventDefault(),g();break;case`Tab`:g(!1);break;default:break}},[e.length,a,_,g]);T.useEffect(()=>{if(!r)return;let e=d.current;if(e)return e.addEventListener(`keydown`,y),()=>e.removeEventListener(`keydown`,y)},[r,y]);let b=e=>`lerret-page-picker-option-${e}`;return(0,D.jsxs)(`span`,{ref:l,"data-tour":`dock-pages`,"data-page-picker":`dropdown`,style:{position:`relative`,display:`inline-flex`},children:[(0,D.jsxs)(`button`,{ref:u,type:`button`,onClick:()=>r?g():h(),onKeyDown:v,"aria-haspopup":`listbox`,"aria-expanded":r,"aria-label":`Page: ${p.label}. Switch page`,title:`Switch page`,style:{display:`inline-flex`,alignItems:`center`,gap:7,padding:`8px 12px`,borderRadius:8,border:`none`,background:r?`rgba(0,0,0,0.06)`:`transparent`,color:`var(--lm-text-secondary, #3a3530)`,fontFamily:`inherit`,fontSize:13,fontWeight:600,cursor:`pointer`,transition:`background 120ms ease`,whiteSpace:`nowrap`,maxWidth:240},onMouseEnter:e=>{r||(e.currentTarget.style.background=`rgba(0,0,0,0.05)`)},onMouseLeave:e=>{r||(e.currentTarget.style.background=`transparent`)},children:[(0,D.jsx)(`span`,{style:{display:`inline-flex`,color:`var(--lm-text-tertiary, #6e6960)`},children:(0,D.jsx)(k,{})}),(0,D.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`},children:p.label}),(0,D.jsx)(O,{open:r})]}),r&&s&&E.createPortal((0,D.jsxs)(`ul`,{ref:d,id:`lerret-page-picker-listbox`,role:`listbox`,tabIndex:-1,"aria-label":`Pages`,"aria-activedescendant":b(a),style:{position:`fixed`,bottom:s.bottom+8,left:s.left,listStyle:`none`,margin:0,minWidth:200,maxWidth:300,maxHeight:280,overflowY:`auto`,background:`rgba(255,255,255,0.97)`,backdropFilter:`blur(16px) saturate(120%)`,WebkitBackdropFilter:`blur(16px) saturate(120%)`,border:`1px solid rgba(26,23,20,0.10)`,borderRadius:12,padding:6,boxShadow:`0 12px 32px rgba(15,23,42,0.18), 0 1px 3px rgba(15,23,42,0.06)`,zIndex:80,outline:`none`,fontFamily:`-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif`},children:[(0,D.jsx)(`li`,{"aria-hidden":`true`,style:{fontSize:9.5,fontWeight:600,letterSpacing:`0.14em`,textTransform:`uppercase`,color:`var(--lm-text-muted, #9a958c)`,padding:`6px 12px 6px`},children:`Pages`}),e.map((e,n)=>{let r=e.id===t,i=n===a;return(0,D.jsxs)(`li`,{id:b(n),role:`option`,"aria-selected":r,"data-page-active":i,onClick:()=>_(n),onMouseEnter:()=>o(n),style:{display:`flex`,alignItems:`center`,gap:8,padding:`8px 12px`,borderRadius:8,cursor:`pointer`,fontSize:13,fontWeight:r?600:500,color:`var(--lm-text-primary, #1a1714)`,background:i?`var(--lm-accent-light, rgba(184,91,51,0.10))`:`transparent`,boxShadow:i?`inset 0 0 0 1.5px var(--lm-accent, #B85B33)`:`none`},children:[(0,D.jsx)(`span`,{"aria-hidden":`true`,style:{width:12,display:`inline-flex`,justifyContent:`center`,color:`var(--lm-accent, #B85B33)`},children:r?(0,D.jsx)(`svg`,{width:`11`,height:`11`,viewBox:`0 0 11 11`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,D.jsx)(`path`,{d:`M2 5.8L4.4 8.2 9 2.8`})}):null}),(0,D.jsx)(`span`,{style:{overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`},children:e.label})]},e.id)})]}),document.body)]})}var N=T.createContext(null);function P(){return T.useContext(N)}var F=T.createContext(null);function I(){return T.useContext(F)}var L=Uint8Array,R=Uint16Array,ee=Int32Array,te=new L([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),ne=new L([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),z=new L([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),B=function(e,t){for(var n=new R(31),r=0;r<31;++r)n[r]=t+=1<<e[r-1];for(var i=new ee(n[30]),r=1;r<30;++r)for(var a=n[r];a<n[r+1];++a)i[a]=a-n[r]<<5|r;return{b:n,r:i}},V=B(te,2),H=V.b,U=V.r;H[28]=258,U[258]=28;var W=B(ne,0);W.b;for(var re=W.r,ie=new R(32768),G=0;G<32768;++G){var K=(G&43690)>>1|(G&21845)<<1;K=(K&52428)>>2|(K&13107)<<2,K=(K&61680)>>4|(K&3855)<<4,ie[G]=((K&65280)>>8|(K&255)<<8)>>1}for(var ae=(function(e,t,n){for(var r=e.length,i=0,a=new R(t);i<r;++i)e[i]&&++a[e[i]-1];var o=new R(t);for(i=1;i<t;++i)o[i]=o[i-1]+a[i-1]<<1;var s;if(n){s=new R(1<<t);var c=15-t;for(i=0;i<r;++i)if(e[i])for(var l=i<<4|e[i],u=t-e[i],d=o[e[i]-1]++<<u,f=d|(1<<u)-1;d<=f;++d)s[ie[d]>>c]=l}else for(s=new R(r),i=0;i<r;++i)e[i]&&(s[i]=ie[o[e[i]-1]++]>>15-e[i]);return s}),oe=new L(288),G=0;G<144;++G)oe[G]=8;for(var G=144;G<256;++G)oe[G]=9;for(var G=256;G<280;++G)oe[G]=7;for(var G=280;G<288;++G)oe[G]=8;for(var se=new L(32),G=0;G<32;++G)se[G]=5;var ce=ae(oe,9,0),le=ae(se,5,0),ue=function(e){return(e+7)/8|0},de=function(e,t,n){return(t==null||t<0)&&(t=0),(n==null||n>e.length)&&(n=e.length),new L(e.subarray(t,n))},fe=[`unexpected EOF`,`invalid block type`,`invalid length/literal`,`invalid distance`,`stream finished`,`no stream handler`,,`no callback`,`invalid UTF-8 data`,`extra field too long`,`date not in range 1980-2099`,`filename too long`,`stream finishing`,`invalid zip data`],pe=function(e,t,n){var r=Error(t||fe[e]);if(r.code=e,Error.captureStackTrace&&Error.captureStackTrace(r,pe),!n)throw r;return r},me=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},he=function(e,t,n){n<<=t&7;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},ge=function(e,t){for(var n=[],r=0;r<e.length;++r)e[r]&&n.push({s:r,f:e[r]});var i=n.length,a=n.slice();if(!i)return{t:Ce,l:0};if(i==1){var o=new L(n[0].s+1);return o[n[0].s]=1,{t:o,l:1}}n.sort(function(e,t){return e.f-t.f}),n.push({s:-1,f:25001});var s=n[0],c=n[1],l=0,u=1,d=2;for(n[0]={s:-1,f:s.f+c.f,l:s,r:c};u!=i-1;)s=n[n[l].f<n[d].f?l++:d++],c=n[l!=u&&n[l].f<n[d].f?l++:d++],n[u++]={s:-1,f:s.f+c.f,l:s,r:c};for(var f=a[0].s,r=1;r<i;++r)a[r].s>f&&(f=a[r].s);var p=new R(f+1),m=_e(n[u-1],p,0);if(m>t){var r=0,h=0,g=m-t,_=1<<g;for(a.sort(function(e,t){return p[t.s]-p[e.s]||e.f-t.f});r<i;++r){var v=a[r].s;if(p[v]>t)h+=_-(1<<m-p[v]),p[v]=t;else break}for(h>>=g;h>0;){var y=a[r].s;p[y]<t?h-=1<<t-p[y]++-1:++r}for(;r>=0&&h;--r){var b=a[r].s;p[b]==t&&(--p[b],++h)}m=t}return{t:new L(p),l:m}},_e=function(e,t,n){return e.s==-1?Math.max(_e(e.l,t,n+1),_e(e.r,t,n+1)):t[e.s]=n},ve=function(e){for(var t=e.length;t&&!e[--t];);for(var n=new R(++t),r=0,i=e[0],a=1,o=function(e){n[r++]=e},s=1;s<=t;++s)if(e[s]==i&&s!=t)++a;else{if(!i&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(i),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(i);a=1,i=e[s]}return{c:n.subarray(0,r),n:t}},ye=function(e,t){for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},be=function(e,t,n){var r=n.length,i=ue(t+2);e[i]=r&255,e[i+1]=r>>8,e[i+2]=e[i]^255,e[i+3]=e[i+1]^255;for(var a=0;a<r;++a)e[i+a+4]=n[a];return(i+4+r)*8},xe=function(e,t,n,r,i,a,o,s,c,l,u){me(t,u++,n),++i[256];for(var d=ge(i,15),f=d.t,p=d.l,m=ge(a,15),h=m.t,g=m.l,_=ve(f),v=_.c,y=_.n,b=ve(h),x=b.c,S=b.n,C=new R(19),w=0;w<v.length;++w)++C[v[w]&31];for(var w=0;w<x.length;++w)++C[x[w]&31];for(var T=ge(C,7),E=T.t,D=T.l,O=19;O>4&&!E[z[O-1]];--O);var k=l+5<<3,A=ye(i,oe)+ye(a,se)+o,j=ye(i,f)+ye(a,h)+o+14+3*O+ye(C,E)+2*C[16]+3*C[17]+7*C[18];if(c>=0&&k<=A&&k<=j)return be(t,u,e.subarray(c,c+l));var M,N,P,F;if(me(t,u,1+(j<A)),u+=2,j<A){M=ae(f,p,0),N=f,P=ae(h,g,0),F=h;var I=ae(E,D,0);me(t,u,y-257),me(t,u+5,S-1),me(t,u+10,O-4),u+=14;for(var w=0;w<O;++w)me(t,u+3*w,E[z[w]]);u+=3*O;for(var L=[v,x],ee=0;ee<2;++ee)for(var B=L[ee],w=0;w<B.length;++w){var V=B[w]&31;me(t,u,I[V]),u+=E[V],V>15&&(me(t,u,B[w]>>5&127),u+=B[w]>>12)}}else M=ce,N=oe,P=le,F=se;for(var w=0;w<s;++w){var H=r[w];if(H>255){var V=H>>18&31;he(t,u,M[V+257]),u+=N[V+257],V>7&&(me(t,u,H>>23&31),u+=te[V]);var U=H&31;he(t,u,P[U]),u+=F[U],U>3&&(he(t,u,H>>5&8191),u+=ne[U])}else he(t,u,M[H]),u+=N[H]}return he(t,u,M[256]),u+N[256]},Se=new ee([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Ce=new L(0),we=function(e,t,n,r,i,a){var o=a.z||e.length,s=new L(r+o+5*(1+Math.ceil(o/7e3))+i),c=s.subarray(r,s.length-i),l=a.l,u=(a.r||0)&7;if(t){u&&(c[0]=a.r>>3);for(var d=Se[t-1],f=d>>13,p=d&8191,m=(1<<n)-1,h=a.p||new R(32768),g=a.h||new R(m+1),_=Math.ceil(n/3),v=2*_,y=function(t){return(e[t]^e[t+1]<<_^e[t+2]<<v)&m},b=new ee(25e3),x=new R(288),S=new R(32),C=0,w=0,T=a.i||0,E=0,D=a.w||0,O=0;T+2<o;++T){var k=y(T),A=T&32767,j=g[k];if(h[A]=j,g[k]=A,D<=T){var M=o-T;if((C>7e3||E>24576)&&(M>423||!l)){u=xe(e,c,0,b,x,S,w,E,O,T-O,u),E=C=w=0,O=T;for(var N=0;N<286;++N)x[N]=0;for(var N=0;N<30;++N)S[N]=0}var P=2,F=0,I=p,z=A-j&32767;if(M>2&&k==y(T-z))for(var B=Math.min(f,M)-1,V=Math.min(32767,T),H=Math.min(258,M);z<=V&&--I&&A!=j;){if(e[T+P]==e[T+P-z]){for(var W=0;W<H&&e[T+W]==e[T+W-z];++W);if(W>P){if(P=W,F=z,W>B)break;for(var ie=Math.min(z,W-2),G=0,N=0;N<ie;++N){var K=T-z+N&32767,ae=K-h[K]&32767;ae>G&&(G=ae,j=K)}}}A=j,j=h[A],z+=A-j&32767}if(F){b[E++]=268435456|U[P]<<18|re[F];var oe=U[P]&31,se=re[F]&31;w+=te[oe]+ne[se],++x[257+oe],++S[se],D=T+P,++C}else b[E++]=e[T],++x[e[T]]}}for(T=Math.max(T,D);T<o;++T)b[E++]=e[T],++x[e[T]];u=xe(e,c,l,b,x,S,w,E,O,T-O,u),l||(a.r=u&7|c[u/8|0]<<3,u-=7,a.h=g,a.p=h,a.i=T,a.w=D)}else{for(var T=a.w||0;T<o+l;T+=65535){var ce=T+65535;ce>=o&&(c[u/8|0]=l,ce=o),u=be(c,u+1,e.subarray(T,ce))}a.i=o}return de(s,0,r+ue(u)+i)},Te=(function(){for(var e=new Int32Array(256),t=0;t<256;++t){for(var n=t,r=9;--r;)n=(n&1&&-306674912)^n>>>1;e[t]=n}return e})(),Ee=function(){var e=-1;return{p:function(t){for(var n=e,r=0;r<t.length;++r)n=Te[n&255^t[r]]^n>>>8;e=n},d:function(){return~e}}},De=function(e,t,n,r,i){if(!i&&(i={l:1},t.dictionary)){var a=t.dictionary.subarray(-32768),o=new L(a.length+e.length);o.set(a),o.set(e,a.length),e=o,i.w=a.length}return we(e,t.level==null?6:t.level,t.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(e.length)))*1.5):20:12+t.mem,n,r,i)},Oe=function(e,t){var n={};for(var r in e)n[r]=e[r];for(var r in t)n[r]=t[r];return n},q=function(e,t,n){for(;n;++t)e[t]=n,n>>>=8};function ke(e,t){return De(e,t||{},0,0)}var Ae=function(e,t,n,r){for(var i in e){var a=e[i],o=t+i,s=r;Array.isArray(a)&&(s=Oe(r,a[1]),a=a[0]),ArrayBuffer.isView(a)?n[o]=[a,s]:(n[o+=`/`]=[new L(0),s],Ae(a,o,n,r))}},je=typeof TextEncoder<`u`&&new TextEncoder,Me=typeof TextDecoder<`u`&&new TextDecoder;try{Me.decode(Ce,{stream:!0})}catch{}function Ne(e,t){if(t){for(var n=new L(e.length),r=0;r<e.length;++r)n[r]=e.charCodeAt(r);return n}if(je)return je.encode(e);for(var i=e.length,a=new L(e.length+(e.length>>1)),o=0,s=function(e){a[o++]=e},r=0;r<i;++r){if(o+5>a.length){var c=new L(o+8+(i-r<<1));c.set(a),a=c}var l=e.charCodeAt(r);l<128||t?s(l):l<2048?(s(192|l>>6),s(128|l&63)):l>55295&&l<57344?(l=65536+(l&1047552)|e.charCodeAt(++r)&1023,s(240|l>>18),s(128|l>>12&63),s(128|l>>6&63),s(128|l&63)):(s(224|l>>12),s(128|l>>6&63),s(128|l&63))}return de(a,0,o)}var Pe=function(e){var t=0;if(e)for(var n in e){var r=e[n].length;r>65535&&pe(9),t+=r+4}return t},Fe=function(e,t,n,r,i,a,o,s){var c=r.length,l=n.extra,u=s&&s.length,d=Pe(l);q(e,t,o==null?67324752:33639248),t+=4,o!=null&&(e[t++]=20,e[t++]=n.os),e[t]=20,t+=2,e[t++]=n.flag<<1|(a<0&&8),e[t++]=i&&8,e[t++]=n.compression&255,e[t++]=n.compression>>8;var f=new Date(n.mtime==null?Date.now():n.mtime),p=f.getFullYear()-1980;if((p<0||p>119)&&pe(10),q(e,t,p<<25|f.getMonth()+1<<21|f.getDate()<<16|f.getHours()<<11|f.getMinutes()<<5|f.getSeconds()>>1),t+=4,a!=-1&&(q(e,t,n.crc),q(e,t+4,a<0?-a-2:a),q(e,t+8,n.size)),q(e,t+12,c),q(e,t+14,d),t+=16,o!=null&&(q(e,t,u),q(e,t+6,n.attrs),q(e,t+10,o),t+=14),e.set(r,t),t+=c,d)for(var m in l){var h=l[m],g=h.length;q(e,t,+m),q(e,t+2,g),e.set(h,t+4),t+=4+g}return u&&(e.set(s,t),t+=u),t},Ie=function(e,t,n,r,i){q(e,t,101010256),q(e,t+8,n),q(e,t+10,n),q(e,t+12,r),q(e,t+16,i)};function Le(e,t){t||={};var n={},r=[];Ae(e,``,n,t);var i=0,a=0;for(var o in n){var s=n[o],c=s[0],l=s[1],u=l.level==0?0:8,d=Ne(o),f=d.length,p=l.comment,m=p&&Ne(p),h=m&&m.length,g=Pe(l.extra);f>65535&&pe(11);var _=u?ke(c,l):c,v=_.length,y=Ee();y.p(c),r.push(Oe(l,{size:c.length,crc:y.d(),c:_,f:d,m,u:f!=o.length||m&&p.length!=h,o:i,compression:u})),i+=30+f+g+v,a+=76+2*(f+g)+(h||0)+v}for(var b=new L(a+22),x=i,S=a-i,C=0;C<r.length;++C){var d=r[C];Fe(b,d.o,d,d.f,d.u,d.c.length);var w=30+d.f.length+Pe(d.extra);b.set(d.c,d.o+w),Fe(b,i,d,d.f,d.u,d.c.length,d.o,d.m),i+=16+w+(d.m?d.m.length:0)}return Ie(b,i,r.length,S,x),b}function Re(e,t){if(e.match(/^[a-z]+:\/\//i))return e;if(e.match(/^\/\//))return window.location.protocol+e;if(e.match(/^[a-z]+:/i))return e;let n=document.implementation.createHTMLDocument(),r=n.createElement(`base`),i=n.createElement(`a`);return n.head.appendChild(r),n.body.appendChild(i),t&&(r.href=t),i.href=e,i.href}var ze=(()=>{let e=0,t=()=>`0000${(Math.random()*36**4<<0).toString(36)}`.slice(-4);return()=>(e+=1,`u${t()}${e}`)})();function Be(e){let t=[];for(let n=0,r=e.length;n<r;n++)t.push(e[n]);return t}var Ve=null;function He(e={}){return Ve||(e.includeStyleProperties?(Ve=e.includeStyleProperties,Ve):(Ve=Be(window.getComputedStyle(document.documentElement)),Ve))}function Ue(e,t){let n=(e.ownerDocument.defaultView||window).getComputedStyle(e).getPropertyValue(t);return n?parseFloat(n.replace(`px`,``)):0}function We(e){let t=Ue(e,`border-left-width`),n=Ue(e,`border-right-width`);return e.clientWidth+t+n}function Ge(e){let t=Ue(e,`border-top-width`),n=Ue(e,`border-bottom-width`);return e.clientHeight+t+n}function Ke(e,t={}){return{width:t.width||We(e),height:t.height||Ge(e)}}function qe(){let e,t;try{t=process}catch{}let n=t&&t.env?t.env.devicePixelRatio:null;return n&&(e=parseInt(n,10),Number.isNaN(e)&&(e=1)),e||window.devicePixelRatio||1}var J=16384;function Je(e){(e.width>J||e.height>J)&&(e.width>J&&e.height>J?e.width>e.height?(e.height*=J/e.width,e.width=J):(e.width*=J/e.height,e.height=J):e.width>J?(e.height*=J/e.width,e.width=J):(e.width*=J/e.height,e.height=J))}function Ye(e,t={}){return e.toBlob?new Promise(n=>{e.toBlob(n,t.type?t.type:`image/png`,t.quality?t.quality:1)}):new Promise(n=>{let r=window.atob(e.toDataURL(t.type?t.type:void 0,t.quality?t.quality:void 0).split(`,`)[1]),i=r.length,a=new Uint8Array(i);for(let e=0;e<i;e+=1)a[e]=r.charCodeAt(e);n(new Blob([a],{type:t.type?t.type:`image/png`}))})}function Xe(e){return new Promise((t,n)=>{let r=new Image;r.onload=()=>{r.decode().then(()=>{requestAnimationFrame(()=>t(r))})},r.onerror=n,r.crossOrigin=`anonymous`,r.decoding=`async`,r.src=e})}async function Ze(e){return Promise.resolve().then(()=>new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then(e=>`data:image/svg+xml;charset=utf-8,${e}`)}async function Qe(e,t,n){let r=`http://www.w3.org/2000/svg`,i=document.createElementNS(r,`svg`),a=document.createElementNS(r,`foreignObject`);return i.setAttribute(`width`,`${t}`),i.setAttribute(`height`,`${n}`),i.setAttribute(`viewBox`,`0 0 ${t} ${n}`),a.setAttribute(`width`,`100%`),a.setAttribute(`height`,`100%`),a.setAttribute(`x`,`0`),a.setAttribute(`y`,`0`),a.setAttribute(`externalResourcesRequired`,`true`),i.appendChild(a),a.appendChild(e),Ze(i)}var Y=(e,t)=>{if(e instanceof t)return!0;let n=Object.getPrototypeOf(e);return n===null?!1:n.constructor.name===t.name||Y(n,t)};function $e(e){let t=e.getPropertyValue(`content`);return`${e.cssText} content: '${t.replace(/'|"/g,``)}';`}function et(e,t){return He(t).map(t=>`${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t)?` !important`:``};`).join(` `)}function tt(e,t,n,r){let i=`.${e}:${t}`,a=n.cssText?$e(n):et(n,r);return document.createTextNode(`${i}{${a}}`)}function nt(e,t,n,r){let i=window.getComputedStyle(e,n),a=i.getPropertyValue(`content`);if(a===``||a===`none`)return;let o=ze();try{t.className=`${t.className} ${o}`}catch{return}let s=document.createElement(`style`);s.appendChild(tt(o,n,i,r)),t.appendChild(s)}function rt(e,t,n){nt(e,t,`:before`,n),nt(e,t,`:after`,n)}var it=`application/font-woff`,at=`image/jpeg`,ot={woff:it,woff2:it,ttf:`application/font-truetype`,eot:`application/vnd.ms-fontobject`,png:`image/png`,jpg:at,jpeg:at,gif:`image/gif`,tiff:`image/tiff`,svg:`image/svg+xml`,webp:`image/webp`};function st(e){let t=/\.([^./]*?)$/g.exec(e);return t?t[1]:``}function ct(e){return ot[st(e).toLowerCase()]||``}function lt(e){return e.split(/,/)[1]}function ut(e){return e.search(/^(data:)/)!==-1}function dt(e,t){return`data:${t};base64,${e}`}async function ft(e,t,n){let r=await fetch(e,t);if(r.status===404)throw Error(`Resource "${r.url}" not found`);let i=await r.blob();return new Promise((e,t)=>{let a=new FileReader;a.onerror=t,a.onloadend=()=>{try{e(n({res:r,result:a.result}))}catch(e){t(e)}},a.readAsDataURL(i)})}var pt={};function mt(e,t,n){let r=e.replace(/\?.*/,``);return n&&(r=e),/ttf|otf|eot|woff2?/i.test(r)&&(r=r.replace(/.*\//,``)),t?`[${t}]${r}`:r}async function ht(e,t,n){let r=mt(e,t,n.includeQueryParams);if(pt[r]!=null)return pt[r];n.cacheBust&&(e+=(/\?/.test(e)?`&`:`?`)+new Date().getTime());let i;try{i=dt(await ft(e,n.fetchRequestInit,({res:e,result:n})=>(t||=e.headers.get(`Content-Type`)||``,lt(n))),t)}catch(t){i=n.imagePlaceholder||``;let r=`Failed to fetch resource: ${e}`;t&&(r=typeof t==`string`?t:t.message),r&&console.warn(r)}return pt[r]=i,i}async function gt(e){let t=e.toDataURL();return t===`data:,`?e.cloneNode(!1):Xe(t)}async function _t(e,t){if(e.currentSrc){let t=document.createElement(`canvas`),n=t.getContext(`2d`);return t.width=e.clientWidth,t.height=e.clientHeight,n?.drawImage(e,0,0,t.width,t.height),Xe(t.toDataURL())}let n=e.poster;return Xe(await ht(n,ct(n),t))}async function vt(e,t){try{if(e?.contentDocument?.body)return await Ot(e.contentDocument.body,t,!0)}catch{}return e.cloneNode(!1)}async function yt(e,t){return Y(e,HTMLCanvasElement)?gt(e):Y(e,HTMLVideoElement)?_t(e,t):Y(e,HTMLIFrameElement)?vt(e,t):e.cloneNode(xt(e))}var bt=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SLOT`,xt=e=>e.tagName!=null&&e.tagName.toUpperCase()===`SVG`;async function St(e,t,n){if(xt(t))return t;let r=[];return r=bt(e)&&e.assignedNodes?Be(e.assignedNodes()):Y(e,HTMLIFrameElement)&&e.contentDocument?.body?Be(e.contentDocument.body.childNodes):Be((e.shadowRoot??e).childNodes),r.length===0||Y(e,HTMLVideoElement)||await r.reduce((e,r)=>e.then(()=>Ot(r,n)).then(e=>{e&&t.appendChild(e)}),Promise.resolve()),t}function Ct(e,t,n){let r=t.style;if(!r)return;let i=window.getComputedStyle(e);i.cssText?(r.cssText=i.cssText,r.transformOrigin=i.transformOrigin):He(n).forEach(n=>{let a=i.getPropertyValue(n);n===`font-size`&&a.endsWith(`px`)&&(a=`${Math.floor(parseFloat(a.substring(0,a.length-2)))-.1}px`),Y(e,HTMLIFrameElement)&&n===`display`&&a===`inline`&&(a=`block`),n===`d`&&t.getAttribute(`d`)&&(a=`path(${t.getAttribute(`d`)})`),r.setProperty(n,a,i.getPropertyPriority(n))})}function wt(e,t){Y(e,HTMLTextAreaElement)&&(t.innerHTML=e.value),Y(e,HTMLInputElement)&&t.setAttribute(`value`,e.value)}function Tt(e,t){if(Y(e,HTMLSelectElement)){let n=t,r=Array.from(n.children).find(t=>e.value===t.getAttribute(`value`));r&&r.setAttribute(`selected`,``)}}function Et(e,t,n){return Y(t,Element)&&(Ct(e,t,n),rt(e,t,n),wt(e,t),Tt(e,t)),t}async function Dt(e,t){let n=e.querySelectorAll?e.querySelectorAll(`use`):[];if(n.length===0)return e;let r={};for(let i=0;i<n.length;i++){let a=n[i].getAttribute(`xlink:href`);if(a){let n=e.querySelector(a),i=document.querySelector(a);!n&&i&&!r[a]&&(r[a]=await Ot(i,t,!0))}}let i=Object.values(r);if(i.length){let t=`http://www.w3.org/1999/xhtml`,n=document.createElementNS(t,`svg`);n.setAttribute(`xmlns`,t),n.style.position=`absolute`,n.style.width=`0`,n.style.height=`0`,n.style.overflow=`hidden`,n.style.display=`none`;let r=document.createElementNS(t,`defs`);n.appendChild(r);for(let e=0;e<i.length;e++)r.appendChild(i[e]);e.appendChild(n)}return e}async function Ot(e,t,n){return!n&&t.filter&&!t.filter(e)?null:Promise.resolve(e).then(e=>yt(e,t)).then(n=>St(e,n,t)).then(n=>Et(e,n,t)).then(e=>Dt(e,t))}var kt=/url\((['"]?)([^'"]+?)\1\)/g,At=/url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g,jt=/src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;function Mt(e){let t=e.replace(/([.*+?^${}()|\[\]\/\\])/g,`\\$1`);return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`,`g`)}function Nt(e){let t=[];return e.replace(kt,(e,n,r)=>(t.push(r),e)),t.filter(e=>!ut(e))}async function Pt(e,t,n,r,i){try{let a=n?Re(t,n):t,o=ct(t),s;return s=i?dt(await i(a),o):await ht(a,o,r),e.replace(Mt(t),`$1${s}$3`)}catch{}return e}function Ft(e,{preferredFontFormat:t}){return t?e.replace(jt,e=>{for(;;){let[n,,r]=At.exec(e)||[];if(!r)return``;if(r===t)return`src: ${n};`}}):e}function It(e){return e.search(kt)!==-1}async function Lt(e,t,n){if(!It(e))return e;let r=Ft(e,n);return Nt(r).reduce((e,r)=>e.then(e=>Pt(e,r,t,n)),Promise.resolve(r))}async function Rt(e,t,n){let r=t.style?.getPropertyValue(e);if(r){let i=await Lt(r,null,n);return t.style.setProperty(e,i,t.style.getPropertyPriority(e)),!0}return!1}async function zt(e,t){await Rt(`background`,e,t)||await Rt(`background-image`,e,t),await Rt(`mask`,e,t)||await Rt(`-webkit-mask`,e,t)||await Rt(`mask-image`,e,t)||await Rt(`-webkit-mask-image`,e,t)}async function Bt(e,t){let n=Y(e,HTMLImageElement);if(!(n&&!ut(e.src))&&!(Y(e,SVGImageElement)&&!ut(e.href.baseVal)))return;let r=n?e.src:e.href.baseVal,i=await ht(r,ct(r),t);await new Promise((r,a)=>{e.onload=r,e.onerror=t.onImageErrorHandler?(...e)=>{try{r(t.onImageErrorHandler(...e))}catch(e){a(e)}}:a;let o=e;o.decode&&=r,o.loading===`lazy`&&(o.loading=`eager`),n?(e.srcset=``,e.src=i):e.href.baseVal=i})}async function Vt(e,t){let n=Be(e.childNodes).map(e=>Ht(e,t));await Promise.all(n).then(()=>e)}async function Ht(e,t){Y(e,Element)&&(await zt(e,t),await Bt(e,t),await Vt(e,t))}function Ut(e,t){let{style:n}=e;t.backgroundColor&&(n.backgroundColor=t.backgroundColor),t.width&&(n.width=`${t.width}px`),t.height&&(n.height=`${t.height}px`);let r=t.style;return r!=null&&Object.keys(r).forEach(e=>{n[e]=r[e]}),e}var Wt={};async function Gt(e){let t=Wt[e];return t??(t={url:e,cssText:await(await fetch(e)).text()},Wt[e]=t,t)}async function Kt(e,t){let n=e.cssText,r=/url\(["']?([^"')]+)["']?\)/g,i=(n.match(/url\([^)]+\)/g)||[]).map(async i=>{let a=i.replace(r,`$1`);return a.startsWith(`https://`)||(a=new URL(a,e.url).href),ft(a,t.fetchRequestInit,({result:e})=>(n=n.replace(i,`url(${e})`),[i,e]))});return Promise.all(i).then(()=>n)}function qt(e){if(e==null)return[];let t=[],n=e.replace(/(\/\*[\s\S]*?\*\/)/gi,``),r=RegExp(`((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})`,`gi`);for(;;){let e=r.exec(n);if(e===null)break;t.push(e[0])}n=n.replace(r,``);let i=/@import[\s\S]*?url\([^)]*\)[\s\S]*?;/gi,a=RegExp(`((\\s*?(?:\\/\\*[\\s\\S]*?\\*\\/)?\\s*?@media[\\s\\S]*?){([\\s\\S]*?)}\\s*?})|(([\\s\\S]*?){([\\s\\S]*?)})`,`gi`);for(;;){let e=i.exec(n);if(e===null){if(e=a.exec(n),e===null)break;i.lastIndex=a.lastIndex}else a.lastIndex=i.lastIndex;t.push(e[0])}return t}async function Jt(e,t){let n=[],r=[];return e.forEach(n=>{if(`cssRules`in n)try{Be(n.cssRules||[]).forEach((e,i)=>{if(e.type===CSSRule.IMPORT_RULE){let a=i+1,o=e.href,s=Gt(o).then(e=>Kt(e,t)).then(e=>qt(e).forEach(e=>{try{n.insertRule(e,e.startsWith(`@import`)?a+=1:n.cssRules.length)}catch(t){console.error(`Error inserting rule from remote css`,{rule:e,error:t})}})).catch(e=>{console.error(`Error loading remote css`,e.toString())});r.push(s)}})}catch(i){let a=e.find(e=>e.href==null)||document.styleSheets[0];n.href!=null&&r.push(Gt(n.href).then(e=>Kt(e,t)).then(e=>qt(e).forEach(e=>{a.insertRule(e,a.cssRules.length)})).catch(e=>{console.error(`Error loading remote stylesheet`,e)})),console.error(`Error inlining remote css file`,i)}}),Promise.all(r).then(()=>(e.forEach(e=>{if(`cssRules`in e)try{Be(e.cssRules||[]).forEach(e=>{n.push(e)})}catch(t){console.error(`Error while reading CSS rules from ${e.href}`,t)}}),n))}function Yt(e){return e.filter(e=>e.type===CSSRule.FONT_FACE_RULE).filter(e=>It(e.style.getPropertyValue(`src`)))}async function Xt(e,t){if(e.ownerDocument==null)throw Error(`Provided element is not within a Document`);return Yt(await Jt(Be(e.ownerDocument.styleSheets),t))}function Zt(e){return e.trim().replace(/["']/g,``)}function Qt(e){let t=new Set;function n(e){(e.style.fontFamily||getComputedStyle(e).fontFamily).split(`,`).forEach(e=>{t.add(Zt(e))}),Array.from(e.children).forEach(e=>{e instanceof HTMLElement&&n(e)})}return n(e),t}async function $t(e,t){let n=await Xt(e,t),r=Qt(e);return(await Promise.all(n.filter(e=>r.has(Zt(e.style.fontFamily))).map(e=>{let n=e.parentStyleSheet?e.parentStyleSheet.href:null;return Lt(e.cssText,n,t)}))).join(`
|
|
2
2
|
`)}async function en(e,t){let n=t.fontEmbedCSS==null?t.skipFonts?null:await $t(e,t):t.fontEmbedCSS;if(n){let t=document.createElement(`style`),r=document.createTextNode(n);t.appendChild(r),e.firstChild?e.insertBefore(t,e.firstChild):e.appendChild(t)}}var tn=n({getFontEmbedCSS:()=>ln,toBlob:()=>cn,toCanvas:()=>rn,toJpeg:()=>sn,toPixelData:()=>an,toPng:()=>on,toSvg:()=>nn});async function nn(e,t={}){let{width:n,height:r}=Ke(e,t),i=await Ot(e,t,!0);return await en(i,t),await Ht(i,t),Ut(i,t),await Qe(i,n,r)}async function rn(e,t={}){let{width:n,height:r}=Ke(e,t),i=await Xe(await nn(e,t)),a=document.createElement(`canvas`),o=a.getContext(`2d`),s=t.pixelRatio||qe(),c=t.canvasWidth||n,l=t.canvasHeight||r;return a.width=c*s,a.height=l*s,t.skipAutoScale||Je(a),a.style.width=`${c}`,a.style.height=`${l}`,t.backgroundColor&&(o.fillStyle=t.backgroundColor,o.fillRect(0,0,a.width,a.height)),o.drawImage(i,0,0,a.width,a.height),a}async function an(e,t={}){let{width:n,height:r}=Ke(e,t);return(await rn(e,t)).getContext(`2d`).getImageData(0,0,n,r).data}async function on(e,t={}){return(await rn(e,t)).toDataURL()}async function sn(e,t={}){return(await rn(e,t)).toDataURL(`image/jpeg`,t.quality||1)}async function cn(e,t={}){return await Ye(await rn(e,t))}async function ln(e,t={}){return $t(e,t)}var un={png:{mimeType:`image/png`,extension:`.png`},jpg:{mimeType:`image/jpeg`,extension:`.jpg`}},dn={jpeg:`jpg`},fn=Object.keys(un).sort().join(`, `);function pn(e){if(e==null||e===``)return{format:`png`,...un.png};let t=String(e).toLowerCase(),n=dn[t]??t;if(!un[n])throw Error(`captureArtboard: unsupported format "${e}". Supported formats: ${fn}.`);return{format:n,...un[n]}}function mn(e){let t=new Uint8Array(e),n=``,r=32768;for(let e=0;e<t.length;e+=r)n+=String.fromCharCode.apply(null,t.subarray(e,e+r));return btoa(n)}function hn(e){return e.split(`,`).map(e=>e.trim().replace(/^["']|["']$/g,``).trim()).filter(Boolean)}function gn(e){let t=new Set([`IMG`,`VIDEO`,`CANVAS`,`SVG`]),n=new Set,r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return t.has(e.tagName)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}}),i=e;for(;i;){let e=window.getComputedStyle(i).getPropertyValue(`font-family`);if(e)for(let t of hn(e))n.add(t);for(let e of[`::before`,`::after`])try{let t=window.getComputedStyle(i,e).getPropertyValue(`font-family`);if(t)for(let e of hn(t))n.add(e)}catch{}i=r.nextNode()}return n}function _n(){let e=new Set;for(let t of document.querySelectorAll(`link[rel="stylesheet"]`))t.href&&t.href.includes(`fonts.googleapis.com`)&&e.add(t.href);for(let t of document.querySelectorAll(`style`)){let n=(t.textContent||``).matchAll(/@import\s+url\(\s*["']?(https:\/\/fonts\.googleapis\.com\/[^"')]+)["']?\s*\)/g);for(let t of n)e.add(t[1])}return[...e]}async function vn(e){let t=await fetch(e,{mode:`cors`});if(!t.ok)throw Error(`Google Fonts CSS fetch failed: ${t.status}`);let n=await t.text(),r=[...new Set(Array.from(n.matchAll(/url\((https:\/\/fonts\.gstatic\.com\/[^)]+)\)/g)).map(e=>e[1]))],i=await Promise.all(r.map(async e=>{try{let t=await fetch(e,{mode:`cors`});return t.ok?[e,`data:font/woff2;base64,${mn(await t.arrayBuffer())}`]:[e,null]}catch{return[e,null]}}));for(let[e,t]of i)t&&(n=n.split(e).join(t));return n}function yn(e,t,n){let r=n===`truetype`?`font/ttf`:n===`opentype`?`font/otf`:`font/${n}`;return`@font-face {\n font-family: '${e.replace(/'/g,`\\'`)}' ;\n src: url('data:${r};base64,${t}') format('${n}');\n font-display: swap;\n}`}async function bn(e,t={}){let{format:n,quality:r=.92,pixelRatio:i=2,backgroundColor:a,fontResolver:o=null}=t,{format:s}=pn(n);if(typeof document<`u`&&document.fonts?.ready)try{await document.fonts.ready}catch{}let c=gn(e),l=[],u=[...c].sort(),d=[];if(o)for(let e of u){let t;try{t=await o(e)}catch(n){console.warn(`captureArtboard: fontResolver threw for "${e}":`,n),t=null}if(!t)continue;let{url:n,format:r}=t;try{let t=await fetch(n);if(!t.ok)throw Error(`HTTP ${t.status}`);let i=mn(await t.arrayBuffer());d.push({family:e,rule:yn(e,i,r||`woff2`)})}catch(t){console.warn(`captureArtboard: failed to embed custom font "${e}":`,t),l.push(e)}}let f=``,p=_n();for(let e of p)try{let t=await vn(e);f+=`
|
|
3
3
|
`+t}catch(t){console.warn(`captureArtboard: Google Fonts CSS fetch failed for ${e}:`,t)}let m=[d.sort((e,t)=>e.family.localeCompare(t.family)).map(e=>e.rule).join(`
|
|
4
4
|
|
package/dist-studio/index.html
CHANGED
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
<script type="importmap" id="lerret-import-map">
|
|
39
39
|
{ "imports": {} }
|
|
40
40
|
</script>
|
|
41
|
-
<script type="module" crossorigin src="./assets/index-
|
|
41
|
+
<script type="module" crossorigin src="./assets/index-DDZr-wEU.js"></script>
|
|
42
42
|
<link rel="stylesheet" crossorigin href="./assets/index-BNmJ8c2t.css">
|
|
43
43
|
</head>
|
|
44
44
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lerret/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "The `lerret` design canvas CLI — a folder of plain React component files renders as a visual canvas. Includes the Vite dev server, headless export, and the bundled studio.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,21 +34,20 @@
|
|
|
34
34
|
"cli",
|
|
35
35
|
"local-first"
|
|
36
36
|
],
|
|
37
|
-
"scripts": {
|
|
38
|
-
"test": "vitest run",
|
|
39
|
-
"build": "pnpm --filter @lerret/studio build:cli && node scripts/bundle-studio.js",
|
|
40
|
-
"prepublishOnly": "pnpm --filter @lerret/studio build:cli && node scripts/bundle-studio.js"
|
|
41
|
-
},
|
|
42
37
|
"dependencies": {
|
|
43
|
-
"@lerret/core": "workspace:^",
|
|
44
38
|
"@vitejs/plugin-react": "^6.0.2",
|
|
45
39
|
"chokidar": "^5.0.0",
|
|
46
40
|
"playwright-core": "^1.60.0",
|
|
47
41
|
"react": "^19.2.0",
|
|
48
42
|
"react-dom": "^19.2.0",
|
|
49
|
-
"vite": "^8.0.0"
|
|
43
|
+
"vite": "^8.0.0",
|
|
44
|
+
"@lerret/core": "^0.1.1"
|
|
50
45
|
},
|
|
51
46
|
"devDependencies": {
|
|
52
47
|
"vitest": "^4.1.6"
|
|
48
|
+
},
|
|
49
|
+
"scripts": {
|
|
50
|
+
"test": "vitest run",
|
|
51
|
+
"build": "pnpm --filter @lerret/studio build:cli && node scripts/bundle-studio.js"
|
|
53
52
|
}
|
|
54
|
-
}
|
|
53
|
+
}
|
package/src/dev.js
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
// chokidar-driven `lerret:change` HMR event.
|
|
25
25
|
//
|
|
26
26
|
// In dev mode the studio is loaded *from source*. The production path
|
|
27
|
-
// uses a pre-built static bundle shipped inside the
|
|
27
|
+
// uses a pre-built static bundle shipped inside the `@lerret/cli` npm package;
|
|
28
28
|
// the plugin contract here is the same, only the bit of code that figures
|
|
29
29
|
// out where the studio's HTML + JS live differs.
|
|
30
30
|
|
|
@@ -162,8 +162,8 @@ export function parseDevArgs(argv) {
|
|
|
162
162
|
*
|
|
163
163
|
* Resolution order:
|
|
164
164
|
* 1. `<cli-package>/dist-studio/` — the pre-built static assets bundled
|
|
165
|
-
* into the published
|
|
166
|
-
* @lerret/cli build` (or after `npm install lerret`).
|
|
165
|
+
* into the published `@lerret/cli` package. Present after `pnpm --filter
|
|
166
|
+
* @lerret/cli build` (or after `npm install @lerret/cli`).
|
|
167
167
|
* 2. `<monorepo>/packages/studio/` source — the workspace fallback for
|
|
168
168
|
* fresh checkouts or contributors who haven't run the build yet. Vite
|
|
169
169
|
* will serve from source in this path, so HMR works but the bundle is
|