-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathmain.js
More file actions
30 lines (29 loc) · 306 KB
/
main.js
File metadata and controls
30 lines (29 loc) · 306 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
var sa=Object.defineProperty;var jn=Object.getOwnPropertyDescriptor;var En=Object.getOwnPropertyNames;var Rn=Object.prototype.hasOwnProperty;var Ln=(a,e)=>{for(var t in e)sa(a,t,{get:e[t],enumerable:!0})},Yn=(a,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of En(e))!Rn.call(a,i)&&i!==t&&sa(a,i,{get:()=>e[i],enumerable:!(s=jn(e,i))||s.enumerable});return a};var zn=a=>Yn(sa({},"__esModule",{value:!0}),a);var kc={};Ln(kc,{default:()=>aa});module.exports=zn(kc);var _n=require("obsidian");var xn=require("obsidian");var J=require("obsidian"),Ss=require("electron");var ut=require("os"),L=require("fs"),S=require("path"),k=(0,ut.homedir)(),Ye=(0,ut.platform)()==="win32",Le=process.env.XDG_CONFIG_HOME||(Ye?(0,S.join)(k,".config"):(0,S.join)(k,".config")),ia=new Map;function Qs(){ia.clear()}function se(a,e){let t=ia.get(a);if(t!==void 0)return t;let s=e();return ia.set(a,s),s}function Fe(a){if(Ye){let e=process.env.ProgramFiles||"C:\\Program Files",t=process.env.LOCALAPPDATA||(0,S.join)(k,"AppData","Local");return(0,L.existsSync)((0,S.join)(e,a))||(0,L.existsSync)((0,S.join)(t,"Programs",a))}return(0,L.existsSync)(`/Applications/${a}.app`)||(0,L.existsSync)((0,S.join)(k,"Applications",`${a}.app`))}function ke(a){let e=Ye?[`${a}.cmd`,`${a}.exe`,a]:[a],t=[];if(Ye){let i=process.env.APPDATA||(0,S.join)(k,"AppData","Roaming");t.push((0,S.join)(i,"npm"),(0,S.join)(k,".bun","bin"),(0,S.join)(k,"AppData","Local","npm"))}else t.push("/usr/local/bin","/opt/homebrew/bin",(0,S.join)(k,".local","bin"));for(let i of t)for(let r of e)if((0,L.existsSync)((0,S.join)(i,r)))return!0;let s=Ye?(0,S.join)(k,"AppData","Roaming","nvm"):(0,S.join)(k,".nvm","versions","node");try{for(let i of(0,L.readdirSync)(s)){let r=Ye?(0,S.join)(s,i):(0,S.join)(s,i,"bin");for(let n of e)if((0,L.existsSync)((0,S.join)(r,n)))return!0}}catch{}return!1}var W=[{id:"claude-code",name:"Claude Code",color:"#f97316",icon:"brain",paths:[{baseDir:(0,S.join)(k,".claude","skills"),type:"skill",pattern:"directory-with-skillmd"},{baseDir:(0,S.join)(k,".claude","commands"),type:"command",pattern:"flat-md"}],agentPaths:[{baseDir:(0,S.join)(k,".claude","agents"),type:"agent",pattern:"flat-md"}],isInstalled:()=>se("claude-code",()=>(0,L.existsSync)((0,S.join)(k,".claude","settings.json"))||(0,L.existsSync)((0,S.join)(k,".claude","CLAUDE.md"))||ke("claude"))},{id:"cursor",name:"Cursor",color:"#3b82f6",icon:"mouse-pointer",paths:[{baseDir:(0,S.join)(k,".cursor","skills"),type:"skill",pattern:"directory-with-skillmd"},{baseDir:(0,S.join)(k,".cursor","rules"),type:"rule",pattern:"flat-md"}],agentPaths:[{baseDir:(0,S.join)(k,".cursor","agents"),type:"agent",pattern:"flat-md"}],isInstalled:()=>se("cursor",()=>Fe("Cursor")||(0,L.existsSync)((0,S.join)(k,".cursor","argv.json")))},{id:"windsurf",name:"Windsurf",color:"#14b8a6",icon:"wind",paths:[{baseDir:(0,S.join)(k,".codeium","windsurf","memories"),type:"memory",pattern:"flat-md"},{baseDir:(0,S.join)(k,".windsurf","rules"),type:"rule",pattern:"flat-md"}],agentPaths:[],isInstalled:()=>se("windsurf",()=>Fe("Windsurf")||(0,L.existsSync)((0,S.join)(k,".codeium","windsurf","argv.json")))},{id:"codex",name:"Codex",color:"#22c55e",icon:"book",paths:[{baseDir:(0,S.join)(k,".codex","skills"),type:"skill",pattern:"directory-with-skillmd"},{baseDir:(0,S.join)(k,".codex","prompts"),type:"command",pattern:"flat-md"},{baseDir:(0,S.join)(k,".codex","memories"),type:"memory",pattern:"flat-md"}],agentPaths:[{baseDir:(0,S.join)(k,".codex","agents"),type:"agent",pattern:"flat-md"}],isInstalled:()=>se("codex",()=>(0,L.existsSync)((0,S.join)(k,".codex","config.toml"))||(0,L.existsSync)((0,S.join)(k,".codex","auth.json"))||ke("codex"))},{id:"copilot",name:"Copilot",color:"#a855f7",icon:"plane",paths:[{baseDir:(0,S.join)(k,".copilot","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("copilot",()=>(0,L.existsSync)((0,S.join)(k,".copilot"))||ke("copilot"))},{id:"amp",name:"Amp",color:"#ec4899",icon:"zap",paths:[{baseDir:(0,S.join)(Le,"amp","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("amp",()=>(0,L.existsSync)((0,S.join)(Le,"amp","config.json"))||(0,L.existsSync)((0,S.join)(Le,"amp","settings.json"))||ke("amp"))},{id:"opencode",name:"OpenCode",color:"#ef4444",icon:"terminal",paths:[{baseDir:(0,S.join)(Le,"opencode","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("opencode",()=>Fe("OpenCode")||(0,L.existsSync)((0,S.join)(Le,"opencode","opencode.json"))||(0,L.existsSync)((0,S.join)(Le,"opencode","opencode.jsonc"))||ke("opencode"))},{id:"pi",name:"Pi",color:"#06b6d4",icon:"sparkles",paths:[{baseDir:(0,S.join)(k,".pi","agent","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("pi",()=>ke("pi"))},{id:"antigravity",name:"Antigravity",color:"#ef4444",icon:"arrow-up-circle",paths:[{baseDir:(0,S.join)(k,".gemini","antigravity","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("antigravity",()=>Fe("Antigravity")||(0,L.existsSync)((0,S.join)(k,".gemini","antigravity","skills"))||ke("antigravity"))},{id:"claude-desktop",name:"Claude Desktop",color:"#f97316",icon:"monitor",paths:[],agentPaths:[],isInstalled:()=>se("claude-desktop",()=>Fe("Claude"))},{id:"global-agents",name:"Global",color:"#a3e635",icon:"globe",paths:[{baseDir:(0,S.join)(k,".agents","skills"),type:"skill",pattern:"directory-with-skillmd"}],agentPaths:[],isInstalled:()=>se("global-agents",()=>(0,L.existsSync)((0,S.join)(k,".agents","skills")))},{id:"aider",name:"Aider",color:"#eab308",icon:"wrench",paths:[],agentPaths:[],isInstalled:()=>se("aider",()=>ke("aider"))}];var I={"claude-code":{viewBox:"0 0 24 24",paths:'<path d="M20.998 10.949H24v3.102h-3v3.028h-1.487V20H18v-2.921h-1.487V20H15v-2.921H9V20H7.488v-2.921H6V20H4.487v-2.921H3V14.05H0V10.95h3V5h17.998v5.949zM6 10.949h1.488V8.102H6v2.847zm10.51 0H18V8.102h-1.49v2.847z" fill="currentColor"/>'},cursor:{viewBox:"0 0 466.73 532.09",paths:'<path d="M457.43 125.94 244.42 2.96a22.127 22.127 0 0 0-22.12 0L9.3 125.94C3.55 129.26 0 135.4 0 142.05v247.99c0 6.65 3.55 12.79 9.3 16.11l213.01 122.98a22.127 22.127 0 0 0 22.12 0l213.01-122.98c5.75-3.32 9.3-9.46 9.3-16.11V142.05c0-6.65-3.55-12.79-9.3-16.11h-.01Zm-13.38 26.05L238.42 508.15c-1.39 2.4-5.06 1.42-5.06-1.36V273.58c0-4.66-2.49-8.97-6.53-11.31L24.87 145.67c-2.4-1.39-1.42-5.06 1.36-5.06h411.26c5.84 0 9.49 6.33 6.57 11.39h-.01Z" fill="currentColor"/>'},windsurf:{viewBox:"0 0 24 24",paths:'<path d="M23.55 5.067c-1.2038-.002-2.1806.973-2.1806 2.1765v4.8676c0 .972-.8035 1.7594-1.7597 1.7594-.568 0-1.1352-.286-1.4718-.7659l-4.9713-7.1003c-.4125-.5896-1.0837-.941-1.8103-.941-1.1334 0-2.1533.9635-2.1533 2.153v4.8957c0 .972-.7969 1.7594-1.7596 1.7594-.57 0-1.1363-.286-1.4728-.7658L.4076 5.1598C.2822 4.9798 0 5.0688 0 5.2882v4.2452c0 .2147.0656.4228.1884.599l5.4748 7.8183c.3234.462.8006.8052 1.3509.9298 1.3771.313 2.6446-.747 2.6446-2.0977v-4.893c0-.972.7875-1.7593 1.7596-1.7593h.003a1.798 1.798 0 0 1 1.4718.7658l4.9723 7.0994c.4135.5905 1.05.941 1.8093.941 1.1587 0 2.1515-.9645 2.1515-2.153v-4.8948c0-.972.7875-1.7594 1.7596-1.7594h.194a.22.22 0 0 0 .2204-.2202v-4.622a.22.22 0 0 0-.2203-.2203Z" fill="currentColor"/>'},codex:{viewBox:"0 0 24 24",paths:'<path d="M8.086.457a6.105 6.105 0 013.046-.415c1.333.153 2.521.72 3.564 1.7a.117.117 0 00.107.029c1.408-.346 2.762-.224 4.061.366l.063.03.154.076c1.357.703 2.33 1.77 2.918 3.198.278.679.418 1.388.421 2.126a5.655 5.655 0 01-.18 1.631.167.167 0 00.04.155 5.982 5.982 0 011.578 2.891c.385 1.901-.01 3.615-1.183 5.14l-.182.22a6.063 6.063 0 01-2.934 1.851.162.162 0 00-.108.102c-.255.736-.511 1.364-.987 1.992-1.199 1.582-2.962 2.462-4.948 2.451-1.583-.008-2.986-.587-4.21-1.736a.145.145 0 00-.14-.032c-.518.167-1.04.191-1.604.185a5.924 5.924 0 01-2.595-.622 6.058 6.058 0 01-2.146-1.781c-.203-.269-.404-.522-.551-.821a7.74 7.74 0 01-.495-1.283 6.11 6.11 0 01-.017-3.064.166.166 0 00.008-.074.115.115 0 00-.037-.064 5.958 5.958 0 01-1.38-2.202 5.196 5.196 0 01-.333-1.589 6.915 6.915 0 01.188-2.132c.45-1.484 1.309-2.648 2.577-3.493.282-.188.55-.334.802-.438.286-.12.573-.22.861-.304a.129.129 0 00.087-.087A6.016 6.016 0 015.635 2.31C6.315 1.464 7.132.846 8.086.457zm-.804 7.85a.848.848 0 00-1.473.842l1.694 2.965-1.688 2.848a.849.849 0 001.46.864l1.94-3.272a.849.849 0 00.007-.854l-1.94-3.393zm5.446 6.24a.849.849 0 000 1.695h4.848a.849.849 0 000-1.696h-4.848z" fill="currentColor"/>'},copilot:{viewBox:"0 0 24 24",paths:'<path d="M23.922 16.997C23.061 18.492 18.063 22.02 12 22.02 5.937 22.02.939 18.492.078 16.997A.641.641 0 0 1 0 16.741v-2.869a.883.883 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.098 10.098 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952C7.255 2.937 9.248 1.98 11.978 1.98c2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.841.841 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256Zm-11.75-5.992h-.344a4.359 4.359 0 0 1-.355.508c-.77.947-1.918 1.492-3.508 1.492-1.725 0-2.989-.359-3.782-1.259a2.137 2.137 0 0 1-.085-.104L4 11.746v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.359 4.359 0 0 1-.355-.508Zm2.328 3.25c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm-5 0c.549 0 1 .451 1 1v2c0 .549-.451 1-1 1-.549 0-1-.451-1-1v-2c0-.549.451-1 1-1Zm3.313-6.185c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z" fill="currentColor"/>'},opencode:{viewBox:"0 0 24 36",paths:'<path d="M18 30H6V18H18V30Z" fill="currentColor" opacity="0.4"/><path d="M18 12H6V30H18V12ZM24 36H0V6H24V36Z" fill="currentColor" opacity="0.6"/>'},"claude-desktop":{viewBox:"0 0 24 24",paths:'<path d="M4.709 12.739l3.986-7.639a.209.209 0 01.37 0l3.987 7.639a.209.209 0 01-.185.308H4.894a.209.209 0 01-.185-.308zm6.262-10.658L5.158 13.376a.209.209 0 00.185.308h11.628a.209.209 0 00.185-.308L11.341 2.08a.209.209 0 00-.37 0z" fill="currentColor"/>'},"global-agents":{viewBox:"0 0 24 24",paths:'<path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z" fill="currentColor"/>'},goose:{viewBox:"0 0 24 24",paths:'<path d="M21.595 23.61c1.167-.254 2.405-.944 2.405-.944l-2.167-1.784a12.124 12.124 0 01-2.695-3.131 12.127 12.127 0 00-3.97-4.049l-.794-.462a1.115 1.115 0 01-.488-.815.844.844 0 01.154-.575c.413-.582 2.548-3.115 2.94-3.44.503-.416 1.065-.762 1.586-1.159.074-.056.148-.112.221-.17.003-.002.007-.004.009-.007.167-.131.325-.272.45-.438.453-.524.563-.988.59-1.193-.061-.197-.244-.639-.753-1.148.319.02.705.272 1.056.569.235-.376.481-.773.727-1.171.165-.266-.08-.465-.086-.471h-.001V3.22c-.007-.007-.206-.25-.471-.086-.567.35-1.134.702-1.639 1.021 0 0-.597-.012-1.305.599a2.464 2.464 0 00-.438.45l-.007.009c-.058.072-.114.147-.17.221-.397.521-.743 1.083-1.16 1.587-.323.391-2.857 2.526-3.44 2.94a.842.842 0 01-.574.153 1.115 1.115 0 01-.815-.488l-.462-.794a12.123 12.123 0 00-4.049-3.97 12.133 12.133 0 01-3.13-2.695L1.332 0S.643 1.238.39 2.405c.352.428 1.27 1.49 2.34 2.302C1.58 4.167.73 3.75.06 3.4c-.103.765-.063 1.92.043 2.816.726.317 1.961.806 3.219 1.066-1.006.236-2.11.278-2.961.262.15.554.358 1.119.64 1.688.119.263.25.52.39.77.452.125 2.222.383 3.164.171l-2.51.897a27.776 27.776 0 002.544 2.726c2.031-1.092 2.494-1.241 4.018-2.238-2.467 2.008-3.108 2.828-3.8 3.67l-.483.678c-.25.351-.469.725-.65 1.117-.61 1.31-1.47 4.1-1.47 4.1-.154.486.202.842.674.674 0 0 2.79-.861 4.1-1.47.392-.182.766-.4 1.118-.65l.677-.483c.227-.187.453-.37.701-.586 0 0 1.705 2.02 3.458 3.349l.896-2.511c-.211.942.046 2.712.17 3.163.252.142.509.272.772.392.569.28 1.134.49 1.688.64-.016-.853.026-1.956.261-2.962.26 1.258.75 2.493 1.067 3.219.895.106 2.051.146 2.816.043a73.87 73.87 0 01-1.308-2.67c.811 1.07 1.874 1.988 2.302 2.34h-.001z" fill="currentColor"/>'},cline:{viewBox:"0 0 24 24",paths:'<path d="M17.035 3.991c2.75 0 4.98 2.24 4.98 5.003v1.667l1.45 2.896a1.01 1.01 0 01-.002.909l-1.448 2.864v1.668c0 2.762-2.23 5.002-4.98 5.002H7.074c-2.751 0-4.98-2.24-4.98-5.002V17.33l-1.48-2.855a1.01 1.01 0 01-.003-.927l1.482-2.887V8.994c0-2.763 2.23-5.003 4.98-5.003h9.962zM8.265 9.6a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 004.547 0v-4.042A2.274 2.274 0 008.265 9.6zm7.326 0a2.274 2.274 0 00-2.274 2.274v4.042a2.274 2.274 0 104.548 0v-4.042A2.274 2.274 0 0015.59 9.6z" fill="currentColor"/><path d="M12.054 5.558a2.779 2.779 0 100-5.558 2.779 2.779 0 000 5.558z" fill="currentColor"/>'},continue:{viewBox:"0 0 26 24",paths:'<path d="M20.5286 3.26811L19.1512 5.65694L22.6328 11.6849C22.6582 11.7306 22.6735 11.7866 22.6735 11.8374C22.6735 11.8882 22.6582 11.9441 22.6328 11.9899L19.1512 18.0229L20.5286 20.4117L25.4791 11.8374L20.5286 3.26303V3.26811ZM18.6176 5.3469L19.995 2.95807H17.2402L15.8628 5.3469H18.6227H18.6176ZM15.8577 5.96697L19.075 11.5324H21.8298L18.6176 5.96697H15.8577ZM18.6176 17.7179L21.8298 12.1474H19.075L15.8577 17.7179H18.6176ZM15.8577 18.338L17.2351 20.7167H19.9899L18.6125 18.338H15.8526H15.8577ZM6.52098 21.3063L2.77002 15.1207H0.0152482L4.9657 23.69H14.8615L13.4841 21.3063H6.52606H6.52098ZM14.0178 20.9962L15.3952 23.38L16.7726 20.9911L15.3952 18.6023L14.0178 20.9911V20.9962ZM14.8615 18.2974H8.43712L7.05973 20.6862H13.4841L14.8615 18.2974ZM7.89836 17.9924L4.68108 12.4219L3.30369 14.8107L6.52098 20.3812L7.89836 17.9924ZM0.0101654 14.5007H2.76494L4.14232 12.1118H1.39263L0.0101654 14.5007ZM6.24143 2.5413L13.474 2.38882H13.474L14.8514 0H4.95045L0 8.57435H2.75477L6.23127 2.54638L6.24143 2.5413ZM4.14232 11.5782L2.76494 9.18934H0.0101654L1.38755 11.5782H4.14232ZM6.51081 3.31386L3.29861 8.8793L4.67599 11.2681L7.8882 5.70268L6.51081 3.31386ZM13.4791 3.00382H7.04448L8.42187 5.39264H14.8564L13.4791 3.00382ZM15.3952 5.0826L16.7675 2.69886L15.3952 0.310038L14.0178 2.69378L15.3952 5.0826Z" fill="currentColor"/>'},"roo-code":{viewBox:"0 0 96 96",paths:'<path d="M78.99,21.9l-1.73,6.24c-.09.33-.44.52-.77.42l-28.11-8.71c-.19-.06-.41-.02-.56.11l-28.95,23.22c-.08.07-.18.11-.29.13l-17.25,2.66c-.31.05-.53.32-.52.63l.11,2.47c.01.31.26.56.57.58l20.08,1.23c.11,0,.22-.02.31-.06l14.64-7.4c.21-.11.46-.08.64.06l9.37,7.03c.16.12.25.3.24.49l-.09,11.65c0,.13.04.25.11.35l14.74,21.15c.11.16.3.26.5.26h5.03c.46,0,.76-.5.54-.9l-10.87-19.92c-.1-.18-.1-.4,0-.58l5.51-10.48c.06-.11.15-.2.26-.26l19.56-9.92c.2-.1.43-.09.62.04l5.6,3.73c.1.07.22.1.34.1h5.15c.48,0,.77-.52.52-.93l-14.2-23.52c-.28-.46-.97-.36-1.11.15Z" fill="currentColor"/>'},replit:{viewBox:"0 0 24 24",paths:'<path d="M11.878 7.761H3.482A1.469 1.469 0 012 6.304V1.457C2 .644 2.67 0 3.482 0h6.913c.827 0 1.483.658 1.483 1.457v6.304zM20.882 16.215h-8.995V7.75h8.995c.87 0 1.588.717 1.588 1.586v5.294c0 .885-.717 1.586-1.588 1.586zM10.395 24H3.482C2.67 24 2 23.343 2 22.546v-4.853c0-.797.67-1.454 1.482-1.454h8.396v6.307c0 .797-.67 1.454-1.483 1.454z" fill="currentColor"/>'},"gemini-cli":{viewBox:"0 0 24 24",paths:'<path d="M11.538.392C11.722-.1 12.434-.093 12.608.407l.486 1.412A14.956 14.956 0 0022.135 10.9l1.569.569c.5.181.501.887.002 1.069l-1.573.576A14.953 14.953 0 0013.24 22.01l-.616 1.677c-.182.496-.884.497-1.068.002l-.643-1.731A14.953 14.953 0 002.05 13.127l-1.601-.588c-.496-.182-.497-.883-.002-1.067l1.633-.607A14.955 14.955 0 0010.895 2.14l.643-1.739v-.01z" fill="currentColor"/>'},amp:{viewBox:"0 0 21 21",paths:'<path d="M3.769 18.302l4.73-4.797 1.72 6.535 2.5-.684-2.49-9.489-9.338-2.529-.665 2.555 6.425 1.746-4.71 4.789 1.828 1.874z" fill="currentColor"/><path d="M17.407 12.741l2.5-.683-2.49-9.489-9.339-2.529-.664 2.555 7.885 2.142 2.108 8.004z" fill="currentColor"/><path d="M13.818 16.388l2.5-.684-2.49-9.488-9.339-2.53-.664 2.556 7.885 2.142 2.108 8.004z" fill="currentColor"/>'},antigravity:{viewBox:"0 0 112 96",paths:'<path d="M89.7 93.7c4.667 3.5 11.667 1.167 5.25-5.25C75.7 69.778 79.783 18.445 55.866 18.445S36.033 69.778 16.783 88.445c-7 7-.417 8.75 4.25 5.25 18.083-12.25 16.916-33.834 33.833-33.834s16.834 21.584 34.834 33.834z" fill="currentColor"/>'}};function ne(a,e,t=16){let s=I[e];if(!s)return;let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox",s.viewBox),i.setAttribute("width",String(t)),i.setAttribute("height",String(t)),i.setAttribute("fill","none"),i.classList.add("as-tool-svg");let n=new DOMParser().parseFromString(`<svg xmlns="http://www.w3.org/2000/svg">${s.paths}</svg>`,"image/svg+xml");for(let o of Array.from(n.documentElement.childNodes))i.appendChild(i.ownerDocument.importNode(o,!0));a.appendChild(i)}var ht=class{containerEl;store;onToggleDashboard;onToggleMarketplace;onCreateSkill;onToggleConversations;conversationStore;dashboardActive=!1;marketplaceActive=!1;conversationsActive=!1;constructor(e,t,s,i,r,n,o){this.containerEl=e,this.store=t,this.onToggleDashboard=s,this.onToggleMarketplace=i,this.onCreateSkill=r,this.onToggleConversations=n||(()=>{}),this.conversationStore=o||null}setDashboardActive(e){this.dashboardActive=e}setMarketplaceActive(e){this.marketplaceActive=e}setConversationsActive(e){this.conversationsActive=e}render(){this.containerEl.empty(),this.containerEl.addClass("as-sidebar"),this.renderLibrarySection(),this.conversationsActive&&this.conversationStore?this.renderConversationFilters():(this.renderTypeSection(),this.renderToolSection(),this.renderProjectSection(),this.renderCollectionSection(),this.store.hasSkillkit||this.renderSkillkitCta())}renderSection(e,t){let s=this.containerEl.createDiv("as-sidebar-section");s.createDiv({cls:"as-sidebar-title",text:e});for(let i of t){let r=s.createDiv("as-sidebar-item");!this.dashboardActive&&this.isActive(i.filter)&&r.addClass("is-active");let n=r.createSpan("as-sidebar-icon");(0,J.setIcon)(n,i.icon),r.createSpan({cls:"as-sidebar-label",text:i.label}),i.count!==void 0&&r.createSpan({cls:"as-sidebar-count",text:String(i.count)}),r.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.marketplaceActive&&this.onToggleMarketplace(),this.store.setFilter(i.filter)})}}renderTypeSection(){let e=this.store.getTypeCounts(),s=[{label:"Skills",icon:"sparkles",type:"skill"},{label:"Commands",icon:"terminal",type:"command"},{label:"Agents",icon:"bot",type:"agent"},{label:"Rules",icon:"scroll",type:"rule"}].filter(i=>e.has(i.type)).map(i=>({label:i.label,icon:i.icon,filter:{kind:"type",type:i.type},count:e.get(i.type)||0}));s.length>0&&this.renderSection("Types",s)}renderToolSection(){let e=this.store.getToolCounts(),t=W.filter(i=>i.isInstalled()&&e.has(i.id));if(t.length===0)return;let s=this.containerEl.createDiv("as-sidebar-section");s.createDiv({cls:"as-sidebar-title",text:"Tools"});for(let i of t){let r={kind:"tool",toolId:i.id},n=s.createDiv("as-sidebar-item");!this.dashboardActive&&this.isActive(r)&&n.addClass("is-active");let o=n.createSpan("as-sidebar-icon");I[i.id]?ne(o,i.id,14):(0,J.setIcon)(o,i.icon),n.createSpan({cls:"as-sidebar-label",text:i.name}),n.createSpan({cls:"as-sidebar-count",text:String(e.get(i.id)||0)}),n.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.store.setFilter(r)})}}renderProjectSection(){let e=this.store.getProjectCounts();if(e.size===0)return;let t=[];for(let[s,i]of e)t.push({label:s,icon:"folder-git-2",filter:{kind:"project",project:s},count:i});t.sort((s,i)=>s.label.localeCompare(i.label)),this.renderSection("Projects",t)}renderCollectionSection(){let e=this.containerEl.createDiv("as-sidebar-section");e.createDiv({cls:"as-sidebar-title",text:"Collections"});let t=new Set;for(let s of this.store.allItems)for(let i of s.collections)t.add(i);if(t.size===0){e.createDiv({cls:"as-sidebar-empty",text:"No collections yet"});return}for(let s of t){let i={kind:"collection",name:s},r=e.createDiv("as-sidebar-item");!this.dashboardActive&&this.isActive(i)&&r.addClass("is-active");let n=r.createSpan("as-sidebar-icon");(0,J.setIcon)(n,"folder"),r.createSpan({cls:"as-sidebar-label",text:s}),r.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.store.setFilter(i)})}}renderLibrarySection(){let e=this.containerEl.createDiv("as-sidebar-section");e.createDiv({cls:"as-sidebar-title",text:"Library"});let t=[{label:"All Skills",icon:"layers",filter:{kind:"all"}},{label:"Favorites",icon:"star",filter:{kind:"favorites"}}],s=this.dashboardActive||this.marketplaceActive||this.conversationsActive;for(let p of t){let u=e.createDiv("as-sidebar-item");!s&&this.isActive(p.filter)&&u.addClass("is-active");let g=u.createSpan("as-sidebar-icon");(0,J.setIcon)(g,p.icon),u.createSpan({cls:"as-sidebar-label",text:p.label}),u.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.marketplaceActive&&this.onToggleMarketplace(),this.conversationsActive&&this.onToggleConversations(),this.store.setFilter(p.filter)})}let i=e.createDiv("as-sidebar-item");this.dashboardActive&&i.addClass("is-active");let r=i.createSpan("as-sidebar-icon");(0,J.setIcon)(r,"bar-chart-2"),i.createSpan({cls:"as-sidebar-label",text:"Dashboard"}),i.addEventListener("click",()=>{this.marketplaceActive&&this.onToggleMarketplace(),this.conversationsActive&&this.onToggleConversations(),this.dashboardActive||this.onToggleDashboard()});let n=e.createDiv("as-sidebar-item");this.marketplaceActive&&n.addClass("is-active");let o=n.createSpan("as-sidebar-icon");(0,J.setIcon)(o,"shopping-bag"),n.createSpan({cls:"as-sidebar-label",text:"Marketplace"}),n.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.conversationsActive&&this.onToggleConversations(),this.marketplaceActive||this.onToggleMarketplace()});let l=e.createDiv("as-sidebar-item");this.conversationsActive&&l.addClass("is-active");let O=l.createSpan("as-sidebar-icon");(0,J.setIcon)(O,"message-circle"),l.createSpan({cls:"as-sidebar-label",text:"Conversations"}),l.addEventListener("click",()=>{this.dashboardActive&&this.onToggleDashboard(),this.marketplaceActive&&this.onToggleMarketplace(),this.conversationsActive||this.onToggleConversations()});let c=e.createDiv("as-sidebar-item as-sidebar-create"),d=c.createSpan("as-sidebar-icon");(0,J.setIcon)(d,"plus"),c.createSpan({cls:"as-sidebar-label",text:"Create"}),c.addEventListener("click",()=>this.onCreateSkill())}renderSkillkitCta(){let e=this.containerEl.createDiv("as-skillkit-cta"),t=e.createDiv("as-skillkit-icon");(0,J.setIcon)(t,"bar-chart-2"),e.createDiv({cls:"as-skillkit-title",text:"Unlock analytics"}),e.createDiv({cls:"as-skillkit-desc",text:"Install skillkit to see usage stats, stale badges, and heavy skill warnings."}),e.createDiv("as-skillkit-cmd").createEl("code",{text:"npm i -g @crafter/skillkit"}),e.createEl("a",{cls:"as-skillkit-link",text:"Learn more",href:"https://www.npmjs.com/package/@crafter/skillkit"}).addEventListener("click",r=>{r.preventDefault(),Ss.shell.openExternal("https://www.npmjs.com/package/@crafter/skillkit")})}renderConversationFilters(){if(!this.conversationStore)return;let e=this.conversationStore.getProjectCounts();if(e.size>0){let t=this.containerEl.createDiv("as-sidebar-section");t.createDiv({cls:"as-sidebar-title",text:"Projects"});let s=t.createDiv("as-sidebar-item"),i=this.conversationStore.filter;i.kind==="all-conversations"&&s.addClass("is-active");let r=s.createSpan("as-sidebar-icon");(0,J.setIcon)(r,"layers"),s.createSpan({cls:"as-sidebar-label",text:"All"}),s.createSpan({cls:"as-sidebar-count",text:String(this.conversationStore.allItems.length)}),s.addEventListener("click",()=>{this.conversationStore.setFilter({kind:"all-conversations"})});let n=t.createDiv("as-sidebar-item");i.kind==="conversation-favorites"&&n.addClass("is-active");let o=n.createSpan("as-sidebar-icon");(0,J.setIcon)(o,"star"),n.createSpan({cls:"as-sidebar-label",text:"Favorites"}),n.addEventListener("click",()=>{this.conversationStore.setFilter({kind:"conversation-favorites"})});for(let[l,O]of Array.from(e.entries()).sort((c,d)=>d[1]-c[1])){let c=t.createDiv("as-sidebar-item");i.kind==="conversation-project"&&i.project===l&&c.addClass("is-active");let d=c.createSpan("as-sidebar-icon");(0,J.setIcon)(d,"folder-git-2"),c.createSpan({cls:"as-sidebar-label",text:l}),c.createSpan({cls:"as-sidebar-count",text:String(O)}),c.addEventListener("click",()=>{this.conversationStore.setFilter({kind:"conversation-project",project:l})})}}}isActive(e){let t=this.store.filter;return t.kind!==e.kind?!1:t.kind==="tool"&&e.kind==="tool"?t.toolId===e.toolId:t.kind==="type"&&e.kind==="type"?t.type===e.type:t.kind==="collection"&&e.kind==="collection"?t.name===e.name:t.kind==="project"&&e.kind==="project"?t.project===e.project:!0}};var Pe=require("obsidian"),vs=require("electron");var mt=class{containerEl;store;onSelect;selectedId=null;inputEl=null;listEl=null;typeFilter=null;sortBy="name";openDropdown=null;menuDropdownEl=null;outsideClickCleanup=null;constructor(e,t,s){this.containerEl=e,this.store=t,this.onSelect=s}setSelected(e){this.selectedId=e}render(){if(!this.inputEl){this.containerEl.empty(),this.containerEl.addClass("as-list");let e=this.containerEl.createDiv("as-search");this.inputEl=e.createEl("input",{type:"text",placeholder:"Search skills...",cls:"as-search-input"}),this.inputEl.addEventListener("input",()=>{this.store.setSearch(this.inputEl.value)});let t=e.createDiv("as-conv-search-actions"),s=t.createEl("button",{cls:"as-conv-icon-btn"}),i=s.createSpan("as-conv-icon-btn-icon");(0,Pe.setIcon)(i,"file-search"),s.setAttribute("aria-label","Search file content"),this.store.deepSearch&&s.addClass("has-active"),s.addEventListener("click",()=>{this.store.setDeepSearch(!this.store.deepSearch),s.toggleClass("has-active",this.store.deepSearch)});let r=t.createDiv("as-conv-dropdown-wrap"),n=r.createEl("button",{cls:"as-conv-icon-btn"}),o=n.createSpan("as-conv-icon-btn-icon");(0,Pe.setIcon)(o,"sliders-horizontal"),n.setAttribute("aria-label","Filter & sort"),(this.typeFilter||this.sortBy!=="name")&&n.addClass("has-active"),this.menuDropdownEl=r.createDiv("as-conv-dropdown as-conv-dropdown-wide"),this.renderMenuDropdown(),n.addEventListener("click",l=>{if(l.stopPropagation(),this.openDropdown==="menu")this.closeDropdown();else{this.closeDropdown(),this.openDropdown="menu",this.menuDropdownEl?.addClass("is-open");let O=c=>{r.contains(c.target)||this.closeDropdown()};setTimeout(()=>document.addEventListener("click",O),0),this.outsideClickCleanup=()=>document.removeEventListener("click",O)}}),this.listEl=this.containerEl.createDiv("as-list-items")}this.inputEl.value=this.store.searchQuery,this.renderList()}closeDropdown(){this.openDropdown=null,this.menuDropdownEl?.removeClass("is-open"),this.outsideClickCleanup&&(this.outsideClickCleanup(),this.outsideClickCleanup=null)}renderMenuDropdown(){if(!this.menuDropdownEl)return;this.menuDropdownEl.empty(),this.menuDropdownEl.createDiv("as-conv-dropdown-header").setText("Sort");let t=[{label:"Name",value:"name",icon:"arrow-up-az"},{label:"Usage",value:"usage",icon:"trending-up"}];for(let r of t){let n=this.menuDropdownEl.createDiv(`as-conv-dropdown-item ${this.sortBy===r.value?"is-active":""}`),o=n.createSpan("as-conv-dropdown-check");this.sortBy===r.value&&(0,Pe.setIcon)(o,"check"),n.createSpan({cls:"as-conv-dropdown-item-label",text:r.label}),n.addEventListener("click",l=>{l.stopPropagation(),this.sortBy=r.value,this.updateMenuBtnState(),this.renderMenuDropdown(),this.renderList()})}this.menuDropdownEl.createDiv("as-conv-dropdown-header").setText("Filter");let i=[{id:null,label:"All"},{id:"stale",label:"Stale"},{id:"heavy",label:"Heavy"},{id:"oversized",label:"Oversized"},{id:"conflict",label:"Conflicts"}];for(let r of i){let n=this.typeFilter===r.id,o=this.menuDropdownEl.createDiv(`as-conv-dropdown-item ${n?"is-active":""}`),l=o.createSpan("as-conv-dropdown-check");n&&(0,Pe.setIcon)(l,"check"),o.createSpan({cls:"as-conv-dropdown-item-label",text:r.label}),o.addEventListener("click",O=>{O.stopPropagation(),this.typeFilter=r.id,this.updateMenuBtnState(),this.renderMenuDropdown(),this.renderList()})}}updateMenuBtnState(){let e=this.containerEl.querySelector(".as-conv-dropdown-wrap .as-conv-icon-btn");if(e){let t=this.typeFilter!==null||this.sortBy!=="name";e.toggleClass("has-active",t)}}renderList(){if(!this.listEl)return;this.listEl.empty();let e=this.store.filteredItems;if(this.typeFilter)switch(this.typeFilter){case"stale":e=e.filter(t=>t.usage?.isStale);break;case"heavy":e=e.filter(t=>t.usage?.isHeavy);break;case"oversized":e=e.filter(t=>t.warnings?.oversized);break;case"conflict":e=e.filter(t=>t.conflicts&&t.conflicts.length>0);break}if(this.sortBy==="usage"&&(e=[...e].sort((t,s)=>(s.usage?.uses??0)-(t.usage?.uses??0))),this.typeFilter){let t={stale:"Stale",heavy:"Heavy",oversized:"Oversized",conflict:"Conflict"},s=this.listEl.createDiv("as-active-filter");s.createSpan({text:`Showing: ${t[this.typeFilter]??this.typeFilter}`}),s.createSpan({cls:"as-filter-clear",text:"Clear"}).addEventListener("click",()=>{this.typeFilter=null,this.updateMenuBtn(),this.renderList()})}if(e.length===0){this.listEl.createDiv({cls:"as-list-empty",text:"No skills found"});return}for(let t of e)this.renderCard(this.listEl,t)}renderCard(e,t){let s=e.createDiv("as-skill-card");t.id===this.selectedId&&s.addClass("is-selected");let i=s.createDiv("as-skill-header");if(i.createSpan({cls:"as-skill-name",text:t.name}),t.isFavorite){let n=i.createSpan("as-skill-star");(0,Pe.setIcon)(n,"star")}t.description&&s.createDiv({cls:"as-skill-desc",text:t.description.length>80?t.description.slice(0,80)+"...":t.description});let r=s.createDiv("as-skill-meta");r.createSpan({cls:`as-type-tag as-type-${t.type}`,text:t.type});for(let n of t.tools){let o=W.find(O=>O.id===n);if(!o)continue;let l=r.createSpan("as-tool-badge");l.title=o.name,l.setAttribute("aria-label",o.name),l.setCssProps({"--tool-color":o.color}),I[n]?ne(l,n,12):l.addClass("as-tool-badge-dot")}t.usage&&(t.usage.uses>0&&r.createSpan({cls:"as-usage-badge",text:`${t.usage.uses}`,attr:{"aria-label":`Used ${t.usage.uses} times`}}),t.usage.isStale&&r.createSpan({cls:"as-badge-stale",text:"stale"}),t.usage.isHeavy&&r.createSpan({cls:"as-badge-heavy",text:"heavy"})),t.warnings?.oversized&&r.createSpan({cls:"as-badge-warn",text:"oversized"}),t.conflicts&&t.conflicts.length>0&&r.createSpan({cls:"as-badge-conflict",text:"conflict"}),s.addEventListener("click",()=>{this.selectedId=t.id,this.onSelect(t)}),s.addEventListener("contextmenu",n=>{n.preventDefault();let o=new Pe.Menu;o.addItem(l=>l.setTitle("Reveal in system explorer").setIcon("folder-open").onClick(()=>vs.shell.showItemInFolder(t.filePath))),o.addItem(l=>l.setTitle("Copy file path").setIcon("copy").onClick(()=>navigator.clipboard.writeText(t.filePath))),o.showAtMouseEvent(n)})}};var M=require("obsidian"),qr=require("fs"),Wr=require("electron");var Xe=require("child_process"),oe=require("fs"),v=require("path"),ft=require("os"),Dn=new Set(["Read","Write","Edit","MultiEdit","Bash","Glob","Grep","WebSearch","WebFetch","TodoRead","TodoWrite","Task","Agent","Skill","LSP","NotebookEdit","AskFollowupQuestion","AttemptCompletion","SearchReplace","InsertCodeBlock","ReadImages","ExecuteCommand","ListFiles","SearchFiles","ReadFile","WriteFile","ReplaceInFile","ListCodeDefinitionNames","BrowserAction","UseMcp","shell","shell_command","update_plan","create_plan","read_file","write_file","execute_command","spawn_agent","write_stdin","multi_tool_use.parallel"]);function An(a){return!(Dn.has(a)||a.startsWith("mcp__")||a.startsWith("mcp_"))}var x=(0,ft.homedir)(),B=(0,ft.platform)()==="win32",Mn=(0,v.join)(x,".skillkit","analytics.db"),ra=B?["skillkit.cmd","skillkit.exe","skillkit"]:["skillkit"];function gt(){let a=[];if(B){let t=process.env.APPDATA||(0,v.join)(x,"AppData","Roaming");a.push((0,v.join)(t,"npm"),(0,v.join)(x,".bun","bin"),(0,v.join)(x,"AppData","Local","npm"))}else a.push("/usr/local/bin","/opt/homebrew/bin",(0,v.join)(x,".local","bin"),(0,v.join)(x,".bun","bin"),(0,v.join)(x,".local","share","pnpm"),(0,v.join)(x,".volta","bin"),(0,v.join)(x,".yarn","bin"),(0,v.join)(x,".config","yarn","global","node_modules",".bin"),(0,v.join)(x,".fnm","aliases","default","bin"),(0,v.join)(x,".asdf","shims"),(0,v.join)(x,".proto","bin"));let e=B?(0,v.join)(x,"AppData","Roaming","nvm"):(0,v.join)(x,".nvm","versions","node");try{for(let t of(0,oe.readdirSync)(e))a.push(B?(0,v.join)(e,t):(0,v.join)(e,t,"bin"))}catch{}if(!B){let t=(0,v.join)(x,".local","share","mise","installs");for(let s of["node","bun"])try{for(let i of(0,oe.readdirSync)((0,v.join)(t,s)))a.push((0,v.join)(t,s,i,"bin"))}catch{}}return[...a,process.env.PATH||""].join(v.delimiter)}function $s(a){try{return(0,Xe.execSync)(`"${a}" help`,{encoding:"utf-8",timeout:5e3,env:{...process.env,NO_COLOR:"1",PATH:gt()},stdio:["pipe","pipe","pipe"],shell:B?"cmd.exe":void 0}).includes("Analytics for AI agent skills")}catch{return!1}}function Vn(){let a=[],e=[];if(B){let s=process.env.APPDATA||(0,v.join)(x,"AppData","Roaming");e.push((0,v.join)(s,"npm"),(0,v.join)(x,".bun","bin"),(0,v.join)(x,"AppData","Local","npm"))}else e.push("/usr/local/bin","/opt/homebrew/bin",(0,v.join)(x,".local","bin"),(0,v.join)(x,".bun","bin"),(0,v.join)(x,".local","share","mise","shims"),(0,v.join)(x,".local","share","pnpm"),(0,v.join)(x,".volta","bin"),(0,v.join)(x,".yarn","bin"),(0,v.join)(x,".config","yarn","global","node_modules",".bin"),(0,v.join)(x,".fnm","aliases","default","bin"),(0,v.join)(x,".asdf","shims"),(0,v.join)(x,".proto","bin"));for(let s of e)for(let i of ra){let r=(0,v.join)(s,i);(0,oe.existsSync)(r)&&a.push(r)}let t=B?(0,v.join)(x,"AppData","Roaming","nvm"):(0,v.join)(x,".nvm","versions","node");try{for(let s of(0,oe.readdirSync)(t)){let i=B?(0,v.join)(t,s):(0,v.join)(t,s,"bin");for(let r of ra){let n=(0,v.join)(i,r);(0,oe.existsSync)(n)&&a.push(n)}}}catch{}if(!B){let s=(0,v.join)(x,".local","share","mise","installs");for(let i of["node","bun"])try{for(let r of(0,oe.readdirSync)((0,v.join)(s,i))){let n=(0,v.join)(s,i,r,"bin","skillkit");(0,oe.existsSync)(n)&&a.push(n)}}catch{}}if(a.length===0&&!B){let s=[["pnpm","bin","-g"],["yarn","global","bin"],["npm","bin","-g"]];for(let i of s)try{let r=(0,Xe.execSync)(i.join(" "),{encoding:"utf-8",timeout:5e3,stdio:["pipe","pipe","pipe"]}).trim();if(r)for(let n of ra){let o=(0,v.join)(r,n);if((0,oe.existsSync)(o)&&$s(o))return o}}catch{}}for(let s of a)if($s(s))return s;return null}var na;function Qt(){return na===void 0&&(na=Vn()),na}function K(){return Qt()!==null||(0,oe.existsSync)(Mn)}function ze(a){let e=Qt();if(!e)return null;try{let t=(0,Xe.execSync)(`${e} ${a} --json`,{encoding:"utf-8",timeout:15e3,env:{...process.env,NO_COLOR:"1",PATH:gt()},stdio:["pipe","pipe","pipe"],shell:B?"cmd.exe":void 0}).trim();return bs(t)}catch{return null}}function bs(a){let e=a.indexOf("{"),t=a.indexOf("["),s=e===-1?t:t===-1?e:Math.min(e,t);return s===-1?null:JSON.parse(a.slice(s))}function oa(a){let e=Qt();return e?new Promise(t=>{(0,Xe.exec)(`${e} ${a} --json`,{encoding:"utf-8",timeout:15e3,env:{...process.env,NO_COLOR:"1",PATH:gt()},shell:B?"cmd.exe":void 0},(s,i)=>{if(s){t(null);return}try{t(bs(String(i).trim()))}catch{t(null)}})}):Promise.resolve(null)}function ks(a){if(!K())return[];let e=ze(`trace --list --skill ${a} --limit 5`);return Array.isArray(e)?e.map(t=>({traceId:t.trace_id,timestamp:t.timestamp,tokens:t.tokens_total,cost:t.cost_estimate,duration:t.duration_ms,model:t.model||"unknown"})):[]}async function Ps(){let a=new Map;if(!K())return a;let e=await oa("stats");if(!e?.top_skills)return a;let t=Date.now();for(let s of e.top_skills){if(!An(s.name))continue;let i=s.daily.length>0?s.daily[s.daily.length-1]?.date:null,r=null;i&&(r=Math.floor((t-new Date(i).getTime())/(1e3*60*60*24))),a.set(s.name,{uses:s.total,lastUsed:i||null,daysSinceUsed:r,isStale:r!==null&&r>30,isHeavy:!1,daily:s.daily})}return a}async function ys(){let a=new Map;if(!K())return a;let e=await oa("conflicts --dry-run");if(!e||!("pairs"in e))return a;for(let t of e.pairs)a.has(t.skill_a)||a.set(t.skill_a,[]),a.has(t.skill_b)||a.set(t.skill_b,[]),a.get(t.skill_a).push({skillName:t.skill_b,similarity:t.similarity}),a.get(t.skill_b).push({skillName:t.skill_a,similarity:t.similarity});return a}async function ws(){if(!K())return{oversized:[],longDesc:[]};let a=await oa("health");return a?.warnings?{oversized:a.warnings.oversized||[],longDesc:a.warnings.long_descriptions||[]}:{oversized:[],longDesc:[]}}function De(a){let e=Qt();if(!e)return{success:!1,output:"skillkit not found"};try{return{success:!0,output:(0,Xe.execSync)(`${e} ${a}`,{encoding:"utf-8",timeout:3e4,env:{...process.env,NO_COLOR:"1",PATH:gt()},stdio:["pipe","pipe","pipe"],shell:B?"cmd.exe":void 0}).trim()}}catch(t){return{success:!1,output:t instanceof Error?t.message:"unknown error"}}}function la(a){if(!a)return"never";let e=Date.now()-new Date(a).getTime(),t=Math.floor(e/6e4);if(t<60)return`${t}m ago`;let s=Math.floor(t/60);if(s<24)return`${s}h ago`;let i=Math.floor(s/24);return i<30?`${i}d ago`:`${Math.floor(i/30)}mo ago`}function xs(a,e,t=48,s=16){if(e.length===0)return;let i=Math.max(...e,1),r=e.map((l,O)=>{let c=O/(e.length-1||1)*t,d=s-l/i*s;return`${c.toFixed(1)},${d.toFixed(1)}`}),n=document.createElementNS("http://www.w3.org/2000/svg","svg");n.setAttribute("viewBox",`0 0 ${t} ${s}`),n.setAttribute("width",String(t)),n.setAttribute("height",String(s)),n.classList.add("as-sparkline");let o=document.createElementNS("http://www.w3.org/2000/svg","polyline");o.setAttribute("points",r.join(" ")),o.setAttribute("fill","none"),o.setAttribute("stroke","currentColor"),o.setAttribute("stroke-width","1.5"),o.setAttribute("stroke-linecap","round"),o.setAttribute("stroke-linejoin","round"),n.appendChild(o),a.appendChild(n)}var Zs=require("obsidian");function _e(a,e,t,s){new Oa(a,e,t,s).open()}var Oa=class extends Zs.Modal{title;message;onConfirm;constructor(e,t,s,i){super(e),this.title=t,this.message=s,this.onConfirm=i}onOpen(){let{contentEl:e}=this;e.addClass("as-confirm-modal"),e.createEl("p",{cls:"as-confirm-title",text:this.title}),e.createEl("p",{cls:"as-confirm-message",text:this.message});let t=e.createDiv("as-confirm-buttons");t.createEl("button",{cls:"as-confirm-cancel",text:"Cancel"}).addEventListener("click",()=>this.close()),t.createEl("button",{cls:"as-confirm-action mod-warning",text:"Confirm"}).addEventListener("click",()=>{this.close(),this.onConfirm()})}onClose(){this.contentEl.empty()}};var q=require("@codemirror/view"),Dr=require("@codemirror/state"),pe=require("@codemirror/language"),we=require("@codemirror/commands"),jt=require("@codemirror/autocomplete"),Ar=require("@codemirror/search"),Et=require("@codemirror/lint");var V=require("@codemirror/state"),Ct=require("@codemirror/view"),_=require("@codemirror/language"),br=require("@codemirror/autocomplete");var j=require("@lezer/common"),$=require("@lezer/highlight"),$t=class a{static create(e,t,s,i,r){let n=i+(i<<8)+e+(t<<4)|0;return new a(e,t,s,n,r,[],[])}constructor(e,t,s,i,r,n,o){this.type=e,this.value=t,this.from=s,this.hash=i,this.end=r,this.children=n,this.positions=o,this.hashProp=[[j.NodeProp.contextHash,i]]}addChild(e,t){e.prop(j.NodeProp.contextHash)!=this.hash&&(e=new j.Tree(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let s=this.children.length-1;return s>=0&&(t=Math.max(t,this.positions[s]+this.children[s].length+this.from)),new j.Tree(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(i,r,n)=>new j.Tree(j.NodeType.none,i,r,n,this.hashProp)})}},h;(function(a){a[a.Document=1]="Document",a[a.CodeBlock=2]="CodeBlock",a[a.FencedCode=3]="FencedCode",a[a.Blockquote=4]="Blockquote",a[a.HorizontalRule=5]="HorizontalRule",a[a.BulletList=6]="BulletList",a[a.OrderedList=7]="OrderedList",a[a.ListItem=8]="ListItem",a[a.ATXHeading1=9]="ATXHeading1",a[a.ATXHeading2=10]="ATXHeading2",a[a.ATXHeading3=11]="ATXHeading3",a[a.ATXHeading4=12]="ATXHeading4",a[a.ATXHeading5=13]="ATXHeading5",a[a.ATXHeading6=14]="ATXHeading6",a[a.SetextHeading1=15]="SetextHeading1",a[a.SetextHeading2=16]="SetextHeading2",a[a.HTMLBlock=17]="HTMLBlock",a[a.LinkReference=18]="LinkReference",a[a.Paragraph=19]="Paragraph",a[a.CommentBlock=20]="CommentBlock",a[a.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",a[a.Escape=22]="Escape",a[a.Entity=23]="Entity",a[a.HardBreak=24]="HardBreak",a[a.Emphasis=25]="Emphasis",a[a.StrongEmphasis=26]="StrongEmphasis",a[a.Link=27]="Link",a[a.Image=28]="Image",a[a.InlineCode=29]="InlineCode",a[a.HTMLTag=30]="HTMLTag",a[a.Comment=31]="Comment",a[a.ProcessingInstruction=32]="ProcessingInstruction",a[a.Autolink=33]="Autolink",a[a.HeaderMark=34]="HeaderMark",a[a.QuoteMark=35]="QuoteMark",a[a.ListMark=36]="ListMark",a[a.LinkMark=37]="LinkMark",a[a.EmphasisMark=38]="EmphasisMark",a[a.CodeMark=39]="CodeMark",a[a.CodeText=40]="CodeText",a[a.CodeInfo=41]="CodeInfo",a[a.LinkTitle=42]="LinkTitle",a[a.LinkLabel=43]="LinkLabel",a[a.URL=44]="URL"})(h||(h={}));var pa=class{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}},ua=class{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Ke(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,s=0){for(let i=t;i<e;i++)s+=this.text.charCodeAt(i)==9?4-s%4:1;return s}findColumn(e){let t=0;for(let s=0;t<this.text.length&&s<e;t++)s+=this.text.charCodeAt(t)==9?4-s%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}};function Ts(a,e,t){if(t.pos==t.text.length||a!=e.block&&t.indent>=e.stack[t.depth+1].value+t.baseIndent)return!0;if(t.indent>=t.baseIndent+4)return!1;let s=(a.type==h.OrderedList?ya:Pa)(t,e,!1);return s>0&&(a.type!=h.BulletList||ka(t,e,!1)<0)&&t.text.charCodeAt(t.pos+s-1)==a.value}var As={[h.Blockquote](a,e,t){return t.next!=62?!1:(t.markers.push(y(h.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1)),t.moveBase(t.pos+(ie(t.text.charCodeAt(t.pos+1))?2:1)),a.end=e.lineStart+t.text.length,!0)},[h.ListItem](a,e,t){return t.indent<t.baseIndent+a.value&&t.next>-1?!1:(t.moveBaseColumn(t.baseIndent+a.value),!0)},[h.OrderedList]:Ts,[h.BulletList]:Ts,[h.Document](){return!0}};function ie(a){return a==32||a==9||a==10||a==13}function Ke(a,e=0){for(;e<a.length&&ie(a.charCodeAt(e));)e++;return e}function Xs(a,e,t){for(;e>t&&ie(a.charCodeAt(e-1));)e--;return e}function Ms(a){if(a.next!=96&&a.next!=126)return-1;let e=a.pos+1;for(;e<a.text.length&&a.text.charCodeAt(e)==a.next;)e++;if(e<a.pos+3)return-1;if(a.next==96){for(let t=e;t<a.text.length;t++)if(a.text.charCodeAt(t)==96)return-1}return e}function Vs(a){return a.next!=62?-1:a.text.charCodeAt(a.pos+1)==32?2:1}function ka(a,e,t){if(a.next!=42&&a.next!=45&&a.next!=95)return-1;let s=1;for(let i=a.pos+1;i<a.text.length;i++){let r=a.text.charCodeAt(i);if(r==a.next)s++;else if(!ie(r))return-1}return t&&a.next==45&&Is(a)>-1&&a.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(Bs.SetextHeading)>-1||s<3?-1:1}function qs(a,e){for(let t=a.stack.length-1;t>=0;t--)if(a.stack[t].type==e)return!0;return!1}function Pa(a,e,t){return(a.next==45||a.next==43||a.next==42)&&(a.pos==a.text.length-1||ie(a.text.charCodeAt(a.pos+1)))&&(!t||qs(e,h.BulletList)||a.skipSpace(a.pos+2)<a.text.length)?1:-1}function ya(a,e,t){let s=a.pos,i=a.next;for(;i>=48&&i<=57;){s++;if(s==a.text.length)return-1;i=a.text.charCodeAt(s)}return s==a.pos||s>a.pos+9||i!=46&&i!=41||s<a.text.length-1&&!ie(a.text.charCodeAt(s+1))||t&&!qs(e,h.OrderedList)&&(a.skipSpace(s+1)==a.text.length||s>a.pos+1||a.next!=49)?-1:s+1-a.pos}function Ws(a){if(a.next!=35)return-1;let e=a.pos+1;for(;e<a.text.length&&a.text.charCodeAt(e)==35;)e++;if(e<a.text.length&&a.text.charCodeAt(e)!=32)return-1;let t=e-a.pos;return t>6?-1:t}function Is(a){if(a.next!=45&&a.next!=61||a.indent>=a.baseIndent+4)return-1;let e=a.pos+1;for(;e<a.text.length&&a.text.charCodeAt(e)==a.next;)e++;let t=e;for(;e<a.text.length&&ie(a.text.charCodeAt(e));)e++;return e==a.text.length?t:-1}var ha=/^[ \t]*$/,Gs=/-->/,Us=/\?>/,ma=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Gs],[/^\s*<\?/,Us],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,ha],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,ha]];function Ns(a,e,t){if(a.next!=60)return-1;let s=a.text.slice(a.pos);for(let i=0,r=ma.length-(t?1:0);i<r;i++)if(ma[i][0].test(s))return i;return-1}function _s(a,e){let t=a.countIndent(e,a.pos,a.indent),s=a.countIndent(a.skipSpace(e),e,t);return s>=t+5?t+1:s}function ye(a,e,t){let s=a.length-1;s>=0&&a[s].to==e&&a[s].type==h.CodeText?a[s].to=t:a.push(y(h.CodeText,e,t))}var St={LinkReference:void 0,IndentedCode(a,e){let t=e.baseIndent+4;if(e.indent<t)return!1;let s=e.findColumn(t),i=a.lineStart+s,r=a.lineStart+e.text.length,n=[],o=[];for(ye(n,i,r);a.nextLine()&&e.depth>=a.stack.length;)if(e.pos==e.text.length){ye(o,a.lineStart-1,a.lineStart);for(let l of e.markers)o.push(l)}else{if(e.indent<t)break;{if(o.length){for(let O of o)O.type==h.CodeText?ye(n,O.from,O.to):n.push(O);o=[]}ye(n,a.lineStart-1,a.lineStart);for(let O of e.markers)n.push(O);r=a.lineStart+e.text.length;let l=a.lineStart+e.findColumn(e.baseIndent+4);l<r&&ye(n,l,r)}}return o.length&&(o=o.filter(l=>l.type!=h.CodeText),o.length&&(e.markers=o.concat(e.markers))),a.addNode(a.buffer.writeElements(n,-i).finish(h.CodeBlock,r-i),i),!0},FencedCode(a,e){let t=Ms(e);if(t<0)return!1;let s=a.lineStart+e.pos,i=e.next,r=t-e.pos,n=e.skipSpace(t),o=Xs(e.text,e.text.length,n),l=[y(h.CodeMark,s,s+r)];n<o&&l.push(y(h.CodeInfo,a.lineStart+n,a.lineStart+o));for(let O=!0,c=!0,d=!1;a.nextLine()&&e.depth>=a.stack.length;O=!1){let p=e.pos;if(e.indent-e.baseIndent<4)for(;p<e.text.length&&e.text.charCodeAt(p)==i;)p++;if(p-e.pos>=r&&e.skipSpace(p)==e.text.length){for(let u of e.markers)l.push(u);c&&d&&ye(l,a.lineStart-1,a.lineStart),l.push(y(h.CodeMark,a.lineStart+e.pos,a.lineStart+p)),a.nextLine();break}else{d=!0,O||(ye(l,a.lineStart-1,a.lineStart),c=!1);for(let f of e.markers)l.push(f);let u=a.lineStart+e.basePos,g=a.lineStart+e.text.length;u<g&&(ye(l,u,g),c=!1)}}return a.addNode(a.buffer.writeElements(l,-s).finish(h.FencedCode,a.prevLineEnd()-s),s),!0},Blockquote(a,e){let t=Vs(e);return t<0?!1:(a.startContext(h.Blockquote,e.pos),a.addNode(h.QuoteMark,a.lineStart+e.pos,a.lineStart+e.pos+1),e.moveBase(e.pos+t),null)},HorizontalRule(a,e){if(ka(e,a,!1)<0)return!1;let t=a.lineStart+e.pos;return a.nextLine(),a.addNode(h.HorizontalRule,t),!0},BulletList(a,e){let t=Pa(e,a,!1);if(t<0)return!1;a.block.type!=h.BulletList&&a.startContext(h.BulletList,e.basePos,e.next);let s=_s(e,e.pos+1);return a.startContext(h.ListItem,e.basePos,s-e.baseIndent),a.addNode(h.ListMark,a.lineStart+e.pos,a.lineStart+e.pos+t),e.moveBaseColumn(s),null},OrderedList(a,e){let t=ya(e,a,!1);if(t<0)return!1;a.block.type!=h.OrderedList&&a.startContext(h.OrderedList,e.basePos,e.text.charCodeAt(e.pos+t-1));let s=_s(e,e.pos+t);return a.startContext(h.ListItem,e.basePos,s-e.baseIndent),a.addNode(h.ListMark,a.lineStart+e.pos,a.lineStart+e.pos+t),e.moveBaseColumn(s),null},ATXHeading(a,e){let t=Ws(e);if(t<0)return!1;let s=e.pos,i=a.lineStart+s,r=Xs(e.text,e.text.length,s),n=r;for(;n>s&&e.text.charCodeAt(n-1)==e.next;)n--;(n==r||n==s||!ie(e.text.charCodeAt(n-1)))&&(n=e.text.length);let o=a.buffer.write(h.HeaderMark,0,t).writeElements(a.parser.parseInline(e.text.slice(s+t+1,n),i+t+1),-i);n<e.text.length&&o.write(h.HeaderMark,n-s,r-s);let l=o.finish(h.ATXHeading1-1+t,e.text.length-s);return a.nextLine(),a.addNode(l,i),!0},HTMLBlock(a,e){let t=Ns(e,a,!1);if(t<0)return!1;let s=a.lineStart+e.pos,i=ma[t][1],r=[],n=i!=ha;for(;!i.test(e.text)&&a.nextLine();){if(e.depth<a.stack.length){n=!1;break}for(let O of e.markers)r.push(O)}n&&a.nextLine();let o=i==Gs?h.CommentBlock:i==Us?h.ProcessingInstructionBlock:h.HTMLBlock,l=a.prevLineEnd();return a.addNode(a.buffer.writeElements(r,-s).finish(o,l-s),s),!0},SetextHeading:void 0},fa=class{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,s){if(this.stage==-1)return!1;let i=s.content+`
`+t.scrub(),r=this.advance(i);return r>-1&&r<i.length?this.complete(e,s,r):!1}finish(e,t){return(this.stage==2||this.stage==3)&&Ke(t.content,this.pos)==t.content.length?this.complete(e,t,t.content.length):!1}complete(e,t,s){return e.addLeafElement(t,y(h.LinkReference,this.start,this.start+s,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(e===!1&&(this.stage=-1),!1)}advance(e){for(;;){if(this.stage==-1)return-1;if(this.stage==0){if(!this.nextStage(ai(e,this.pos,this.start,!0)))return-1;if(e.charCodeAt(this.pos)!=58)return this.stage=-1;this.elts.push(y(h.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else if(this.stage==1){if(!this.nextStage(ei(e,Ke(e,this.pos),this.start)))return-1}else if(this.stage==2){let t=Ke(e,this.pos),s=0;if(t>this.pos){let i=ti(e,t,this.start);if(i){let r=ca(e,i.to-this.start);r>0&&(this.nextStage(i),s=r)}}return s||(s=ca(e,this.pos)),s>0&&s<e.length?s:-1}else return ca(e,this.pos)}}};function ca(a,e){for(;e<a.length;e++){let t=a.charCodeAt(e);if(t==10)break;if(!ie(t))return-1}return e}var ga=class{nextLine(e,t,s){let i=t.depth<e.stack.length?-1:Is(t),r=t.next;if(i<0)return!1;let n=y(h.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(s,y(r==61?h.SetextHeading1:h.SetextHeading2,s.start,e.prevLineEnd(),[...e.parser.parseInline(s.content,s.start),n])),!0}finish(){return!1}},Bs={LinkReference(a,e){return e.content.charCodeAt(0)==91?new fa(e):null},SetextHeading(){return new ga}},qn=[(a,e)=>Ws(e)>=0,(a,e)=>Ms(e)>=0,(a,e)=>Vs(e)>=0,(a,e)=>Pa(e,a,!0)>=0,(a,e)=>ya(e,a,!0)>=0,(a,e)=>ka(e,a,!0)>=0,(a,e)=>Ns(e,a,!0)>=0],Wn={text:"",end:0},Qa=class{constructor(e,t,s,i){this.parser=e,this.input=t,this.ranges=i,this.line=new ua,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=$t.create(h.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=s.length?new $a(s,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(this.stoppedAt!=null&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(let s=0;;){let i=e.depth<this.stack.length?this.stack[this.stack.length-1]:null;for(;s<e.markers.length&&(!i||e.markers[s].from<i.end);){let r=e.markers[s++];this.addNode(r.type,r.from,r.to)}if(!i)break;this.finishContext()}if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let s of this.parser.blockParsers)if(s){let i=s(this,e);if(i!=!1){if(i==!0)return null;e.forward();continue e}}break}let t=new pa(this.lineStart+e.pos,e.text.slice(e.pos));for(let s of this.parser.leafBlockParsers)if(s){let i=s(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4){for(let s of this.parser.endLeafBlock)if(s(this,e,t))break e}for(let s of t.parsers)if(s.nextLine(this,e,t))return null;t.content+=`
`+e.scrub();for(let s of e.markers)t.marks.push(s)}return this.finishLeaf(t),null}stopAt(e){if(this.stoppedAt!=null&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);return t?(this.absoluteLineStart+=t,this.lineStart=si(this.absoluteLineStart,this.ranges),this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0):!1}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}peekLine(){return this.scanLine(this.absoluteLineEnd+1).text}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=Wn;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let s=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let r=this.ranges[i].from,n=this.lineChunkAt(r);t.end=r+n.length,t.text=t.text.slice(0,this.ranges[i-1].to-s)+n,s=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:s}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=s,e.reset(t);e.depth<this.stack.length;e.depth++){let i=this.stack[e.depth],r=this.parser.skipContextMarkup[i.type];if(!r)throw new Error("Unhandled block context "+h[i.type]);let n=this.line.markers.length;if(!r(i,this,e)){this.line.markers.length>n&&(i.end=this.line.markers[this.line.markers.length-1].to),e.forward();break}e.forward()}}lineChunkAt(e){let t=this.input.chunk(e),s;if(this.input.lineChunks)s=t==`
`?"":t;else{let i=t.indexOf(`
`);s=i<0?t:t.slice(0,i)}return e+s.length>this.to?s.slice(0,this.to-e):s}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,s=0){this.block=$t.create(e,s,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,s=0){this.startContext(this.parser.getNodeType(e),t,s)}addNode(e,t,s){typeof e=="number"&&(e=new j.Tree(this.parser.nodeSet.types[e],Ae,Ae,(s??this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(va(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Hs(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let s of e.parsers)if(s.finish(this,e))return;let t=va(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(h.Paragraph,e.content.length),e.start)}elt(e,t,s,i){return typeof e=="string"?y(this.parser.getNodeType(e),t,s,i):new kt(e,t)}get buffer(){return new bt(this.parser.nodeSet)}};function Hs(a,e,t,s,i){let r=a[e].to,n=[],o=[],l=t.from+s;function O(c,d){for(;d?c>=r:c>r;){let p=a[e+1].from-r;s+=p,c+=p,e++,r=a[e].to}}for(let c=t.firstChild;c;c=c.nextSibling){O(c.from+s,!0);let d=c.from+s,p,u=i.get(c.tree);u?p=u:c.to+s>r?(p=Hs(a,e,c,s,i),O(c.to+s,!1)):p=c.toTree(),n.push(p),o.push(d-l)}return O(t.to+s,!1),new j.Tree(t.type,n,o,t.to+s-l,t.tree?t.tree.propValues:void 0)}var tt=class a extends j.Parser{constructor(e,t,s,i,r,n,o,l,O){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=s,this.blockNames=i,this.endLeafBlock=r,this.skipContextMarkup=n,this.inlineParsers=o,this.inlineNames=l,this.wrappers=O,this.nodeTypes=Object.create(null);for(let c of e.types)this.nodeTypes[c.name]=c.id}createParse(e,t,s){let i=new Qa(this,e,t,s);for(let r of this.wrappers)i=r(i,e,t,s);return i}configure(e){let t=Sa(e);if(!t)return this;let{nodeSet:s,skipContextMarkup:i}=this,r=this.blockParsers.slice(),n=this.leafBlockParsers.slice(),o=this.blockNames.slice(),l=this.inlineParsers.slice(),O=this.inlineNames.slice(),c=this.endLeafBlock.slice(),d=this.wrappers;if(Je(t.defineNodes)){i=Object.assign({},i);let p=s.types.slice(),u;for(let g of t.defineNodes){let{name:f,block:w,composite:P,style:Z}=typeof g=="string"?{name:g}:g;if(p.some(Te=>Te.name==f))continue;P&&(i[p.length]=(Te,He,Cn)=>P(He,Cn,Te.value));let Y=p.length,ge=P?["Block","BlockContext"]:w?Y>=h.ATXHeading1&&Y<=h.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;p.push(j.NodeType.define({id:Y,name:f,props:ge&&[[j.NodeProp.group,ge]]})),Z&&(u||(u={}),Array.isArray(Z)||Z instanceof $.Tag?u[f]=Z:Object.assign(u,Z))}s=new j.NodeSet(p),u&&(s=s.extend((0,$.styleTags)(u)))}if(Je(t.props)&&(s=s.extend(...t.props)),Je(t.remove))for(let p of t.remove){let u=this.blockNames.indexOf(p),g=this.inlineNames.indexOf(p);u>-1&&(r[u]=n[u]=void 0),g>-1&&(l[g]=void 0)}if(Je(t.parseBlock))for(let p of t.parseBlock){let u=o.indexOf(p.name);if(u>-1)r[u]=p.parse,n[u]=p.leaf;else{let g=p.before?vt(o,p.before):p.after?vt(o,p.after)+1:o.length-1;r.splice(g,0,p.parse),n.splice(g,0,p.leaf),o.splice(g,0,p.name)}p.endLeaf&&c.push(p.endLeaf)}if(Je(t.parseInline))for(let p of t.parseInline){let u=O.indexOf(p.name);if(u>-1)l[u]=p.parse;else{let g=p.before?vt(O,p.before):p.after?vt(O,p.after)+1:O.length-1;l.splice(g,0,p.parse),O.splice(g,0,p.name)}}return t.wrap&&(d=d.concat(t.wrap)),new a(s,r,n,o,c,i,l,O,d)}getNodeType(e){let t=this.nodeTypes[e];if(t==null)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let s=new st(this,e,t);e:for(let i=t;i<s.end;){let r=s.char(i);for(let n of this.inlineParsers)if(n){let o=n(s,r,i);if(o>=0){i=o;continue e}}i++}return s.resolveMarkers(0)}};function Je(a){return a!=null&&a.length>0}function Sa(a){if(!Array.isArray(a))return a;if(a.length==0)return null;let e=Sa(a[0]);if(a.length==1)return e;let t=Sa(a.slice(1));if(!t||!e)return e||t;let s=(n,o)=>(n||Ae).concat(o||Ae),i=e.wrap,r=t.wrap;return{props:s(e.props,t.props),defineNodes:s(e.defineNodes,t.defineNodes),parseBlock:s(e.parseBlock,t.parseBlock),parseInline:s(e.parseInline,t.parseInline),remove:s(e.remove,t.remove),wrap:i?r?(n,o,l,O)=>i(r(n,o,l,O),o,l,O):i:r}}function vt(a,e){let t=a.indexOf(e);if(t<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return t}var Fs=[j.NodeType.none];for(let a=1,e;e=h[a];a++)Fs[a]=j.NodeType.define({id:a,name:e,props:a>=h.Escape?[]:[[j.NodeProp.group,a in As?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});var Ae=[],bt=class{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,s,i=0){return this.content.push(e,t,s,4+i*4),this}writeElements(e,t=0){for(let s of e)s.writeTo(this,t);return this}finish(e,t){return j.Tree.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}},je=class{constructor(e,t,s,i=Ae){this.type=e,this.from=t,this.to=s,this.children=i}writeTo(e,t){let s=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-s)}toTree(e){return new bt(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}},kt=class{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Ae}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}};function y(a,e,t,s){return new je(a,e,t,s)}var Js={resolve:"Emphasis",mark:"EmphasisMark"},Ks={resolve:"Emphasis",mark:"EmphasisMark"},Ce={},Pt={},G=class{constructor(e,t,s,i){this.type=e,this.from=t,this.to=s,this.side=i}},Cs="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~",at=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{at=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}var da={Escape(a,e,t){if(e!=92||t==a.end-1)return-1;let s=a.char(t+1);for(let i=0;i<Cs.length;i++)if(Cs.charCodeAt(i)==s)return a.append(y(h.Escape,t,t+2));return-1},Entity(a,e,t){if(e!=38)return-1;let s=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(a.slice(t+1,t+31));return s?a.append(y(h.Entity,t,t+1+s[0].length)):-1},InlineCode(a,e,t){if(e!=96||t&&a.char(t-1)==96)return-1;let s=t+1;for(;s<a.end&&a.char(s)==96;)s++;let i=s-t,r=0;for(;s<a.end;s++)if(a.char(s)==96){if(r++,r==i&&a.char(s+1)!=96)return a.append(y(h.InlineCode,t,s+1,[y(h.CodeMark,t,t+i),y(h.CodeMark,s+1-i,s+1)]))}else r=0;return-1},HTMLTag(a,e,t){if(e!=60||t==a.end-1)return-1;let s=a.slice(t+1,a.end),i=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(s);if(i)return a.append(y(h.Autolink,t,t+1+i[0].length,[y(h.LinkMark,t,t+1),y(h.URL,t+1,t+i[0].length),y(h.LinkMark,t+i[0].length,t+1+i[0].length)]));let r=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(s);if(r)return a.append(y(h.Comment,t,t+1+r[0].length));let n=/^\?[^]*?\?>/.exec(s);if(n)return a.append(y(h.ProcessingInstruction,t,t+1+n[0].length));let o=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(s);return o?a.append(y(h.HTMLTag,t,t+1+o[0].length)):-1},Emphasis(a,e,t){if(e!=95&&e!=42)return-1;let s=t+1;for(;a.char(s)==e;)s++;let i=a.slice(t-1,t),r=a.slice(s,s+1),n=at.test(i),o=at.test(r),l=/\s|^$/.test(i),O=/\s|^$/.test(r),c=!O&&(!o||l||n),d=!l&&(!n||O||o),p=c&&(e==42||!d||n),u=d&&(e==42||!c||o);return a.append(new G(e==95?Js:Ks,t,s,(p?1:0)|(u?2:0)))},HardBreak(a,e,t){if(e==92&&a.char(t+1)==10)return a.append(y(h.HardBreak,t,t+2));if(e==32){let s=t+1;for(;a.char(s)==32;)s++;if(a.char(s)==10&&s>=t+2)return a.append(y(h.HardBreak,t,s+1))}return-1},Link(a,e,t){return e==91?a.append(new G(Ce,t,t+1,1)):-1},Image(a,e,t){return e==33&&a.char(t+1)==91?a.append(new G(Pt,t,t+2,1)):-1},LinkEnd(a,e,t){if(e!=93)return-1;for(let s=a.parts.length-1;s>=0;s--){let i=a.parts[s];if(i instanceof G&&(i.type==Ce||i.type==Pt)){if(!i.side||a.skipSpace(i.to)==t&&!/[(\[]/.test(a.slice(t+1,t+2)))return a.parts[s]=null,-1;let r=a.takeContent(s),n=a.parts[s]=In(a,r,i.type==Ce?h.Link:h.Image,i.from,t+1);if(i.type==Ce)for(let o=0;o<s;o++){let l=a.parts[o];l instanceof G&&l.type==Ce&&(l.side=0)}return n.to}}return-1}};function In(a,e,t,s,i){let{text:r}=a,n=a.char(i),o=i;if(e.unshift(y(h.LinkMark,s,s+(t==h.Image?2:1))),e.push(y(h.LinkMark,i-1,i)),n==40){let l=a.skipSpace(i+1),O=ei(r,l-a.offset,a.offset),c;O&&(l=a.skipSpace(O.to),l!=O.to&&(c=ti(r,l-a.offset,a.offset),c&&(l=a.skipSpace(c.to)))),a.char(l)==41&&(e.push(y(h.LinkMark,i,i+1)),o=l+1,O&&e.push(O),c&&e.push(c),e.push(y(h.LinkMark,l,o)))}else if(n==91){let l=ai(r,i-a.offset,a.offset,!1);l&&(e.push(l),o=l.to)}return y(t,s,o,e)}function ei(a,e,t){if(a.charCodeAt(e)==60){for(let i=e+1;i<a.length;i++){let r=a.charCodeAt(i);if(r==62)return y(h.URL,e+t,i+1+t);if(r==60||r==10)return!1}return null}else{let i=0,r=e;for(let n=!1;r<a.length;r++){let o=a.charCodeAt(r);if(ie(o))break;if(n)n=!1;else if(o==40)i++;else if(o==41){if(!i)break;i--}else o==92&&(n=!0)}return r>e?y(h.URL,e+t,r+t):r==a.length?null:!1}}function ti(a,e,t){let s=a.charCodeAt(e);if(s!=39&&s!=34&&s!=40)return!1;let i=s==40?41:s;for(let r=e+1,n=!1;r<a.length;r++){let o=a.charCodeAt(r);if(n)n=!1;else{if(o==i)return y(h.LinkTitle,e+t,r+1+t);o==92&&(n=!0)}}return null}function ai(a,e,t,s){for(let i=!1,r=e+1,n=Math.min(a.length,r+999);r<n;r++){let o=a.charCodeAt(r);if(i)i=!1;else{if(o==93)return s?!1:y(h.LinkLabel,e+t,r+1+t);if(s&&!ie(o)&&(s=!1),o==91)return!1;o==92&&(i=!0)}}return null}var st=class{constructor(e,t,s){this.parser=e,this.text=t,this.offset=s,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,s,i,r){return this.append(new G(e,t,s,(i?1:0)|(r?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let t=this.parts[e];if(t instanceof G&&(t.type==Ce||t.type==Pt))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let s=e;s<this.parts.length;s++){let i=this.parts[s];if(!(i instanceof G&&i.type.resolve&&i.side&2))continue;let r=i.type==Js||i.type==Ks,n=i.to-i.from,o,l=s-1;for(;l>=e;l--){let f=this.parts[l];if(f instanceof G&&f.side&1&&f.type==i.type&&!(r&&(i.side&1||f.side&2)&&(f.to-f.from+n)%3==0&&((f.to-f.from)%3||n%3))){o=f;break}}if(!o)continue;let O=i.type.resolve,c=[],d=o.from,p=i.to;if(r){let f=Math.min(2,o.to-o.from,n);d=o.to-f,p=i.from+f,O=f==1?"Emphasis":"StrongEmphasis"}o.type.mark&&c.push(this.elt(o.type.mark,d,o.to));for(let f=l+1;f<s;f++)this.parts[f]instanceof je&&c.push(this.parts[f]),this.parts[f]=null;i.type.mark&&c.push(this.elt(i.type.mark,i.from,p));let u=this.elt(O,d,p,c);this.parts[l]=r&&o.from!=d?new G(o.type,o.from,d,o.side):null,(this.parts[s]=r&&i.to!=p?new G(i.type,p,i.to,i.side):null)?this.parts.splice(s,0,u):this.parts[s]=u}let t=[];for(let s=e;s<this.parts.length;s++){let i=this.parts[s];i instanceof je&&t.push(i)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let s=this.parts[t];if(s instanceof G&&s.type==e&&s.side&1)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}getDelimiterAt(e){let t=this.parts[e];return t instanceof G?t:null}skipSpace(e){return Ke(this.text,e-this.offset)+this.offset}elt(e,t,s,i){return typeof e=="string"?y(this.parser.getNodeType(e),t,s,i):new kt(e,t)}};st.linkStart=Ce;st.imageStart=Pt;function va(a,e){if(!e.length)return a;if(!a.length)return e;let t=a.slice(),s=0;for(let i of e){for(;s<t.length&&t[s].to<i.to;)s++;if(s<t.length&&t[s].from<i.from){let r=t[s];r instanceof je&&(t[s]=new je(r.type,r.from,r.to,va(r.children,[i])))}else t.splice(s++,0,i)}return t}var Gn=[h.CodeBlock,h.ListItem,h.OrderedList,h.BulletList],$a=class{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let r=this.fragment.to;for(;r>0&&this.input.read(r-1,r)!=`
`;)r--;this.fragmentEnd=r?r-1:0}let s=this.cursor;s||(s=this.cursor=this.fragment.tree.cursor(),s.firstChild());let i=e+this.fragment.offset;for(;s.to<=i;)if(!s.parent())return!1;for(;;){if(s.from>=i)return this.fragment.from<=t;if(!s.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(j.NodeProp.contextHash)==e}takeNodes(e){let t=this.cursor,s=this.fragment.offset,i=this.fragmentEnd-(this.fragment.openEnd?1:0),r=e.absoluteLineStart,n=r,o=e.block.children.length,l=n,O=o;for(;;){if(t.to-s>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let c=si(t.from-s,e.ranges);if(t.to-s<=e.ranges[e.rangeI].to)e.addNode(t.tree,c);else{let d=new j.Tree(e.parser.nodeSet.types[h.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(d,t.tree),e.addNode(d,c)}if(t.type.is("Block")&&(Gn.indexOf(t.type.id)<0?(n=t.to-s,o=e.block.children.length):(n=l,o=O),l=t.to-s,O=e.block.children.length),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return n-r}};function si(a,e){let t=a;for(let s=1;s<e.length;s++){let i=e[s-1].to,r=e[s].from;i<a&&(t-=r-i)}return t}var Un=(0,$.styleTags)({"Blockquote/...":$.tags.quote,HorizontalRule:$.tags.contentSeparator,"ATXHeading1/... SetextHeading1/...":$.tags.heading1,"ATXHeading2/... SetextHeading2/...":$.tags.heading2,"ATXHeading3/...":$.tags.heading3,"ATXHeading4/...":$.tags.heading4,"ATXHeading5/...":$.tags.heading5,"ATXHeading6/...":$.tags.heading6,"Comment CommentBlock":$.tags.comment,Escape:$.tags.escape,Entity:$.tags.character,"Emphasis/...":$.tags.emphasis,"StrongEmphasis/...":$.tags.strong,"Link/... Image/...":$.tags.link,"OrderedList/... BulletList/...":$.tags.list,"BlockQuote/...":$.tags.quote,"InlineCode CodeText":$.tags.monospace,"URL Autolink":$.tags.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":$.tags.processingInstruction,"CodeInfo LinkLabel":$.tags.labelName,LinkTitle:$.tags.string,Paragraph:$.tags.content}),ii=new tt(new j.NodeSet(Fs).extend(Un),Object.keys(St).map(a=>St[a]),Object.keys(St).map(a=>Bs[a]),Object.keys(St),qn,As,Object.keys(da).map(a=>da[a]),Object.keys(da),[]);function Nn(a,e,t){let s=[];for(let i=a.firstChild,r=e;;i=i.nextSibling){let n=i?i.from:t;if(n>r&&s.push({from:r,to:n}),!i)break;r=i.to}return s}function ri(a){let{codeParser:e,htmlParser:t}=a;return{wrap:(0,j.parseMixed)((i,r)=>{let n=i.type.id;if(e&&(n==h.CodeBlock||n==h.FencedCode)){let o="";if(n==h.FencedCode){let O=i.node.getChild(h.CodeInfo);O&&(o=r.read(O.from,O.to))}let l=e(o);if(l)return{parser:l,overlay:O=>O.type.id==h.CodeText,bracketed:n==h.FencedCode}}else if(t&&(n==h.HTMLBlock||n==h.HTMLTag||n==h.CommentBlock))return{parser:t,overlay:Nn(i.node,i.from,i.to)};return null})}}var Bn={resolve:"Strikethrough",mark:"StrikethroughMark"},Hn={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":$.tags.strikethrough}},{name:"StrikethroughMark",style:$.tags.processingInstruction}],parseInline:[{name:"Strikethrough",parse(a,e,t){if(e!=126||a.char(t+1)!=126||a.char(t+2)==126)return-1;let s=a.slice(t-1,t),i=a.slice(t+2,t+3),r=/\s|^$/.test(s),n=/\s|^$/.test(i),o=at.test(s),l=at.test(i);return a.addDelimiter(Bn,t,t+2,!n&&(!l||r||o),!r&&(!o||n||l))},after:"Emphasis"}]};function et(a,e,t=0,s,i=0){let r=0,n=!0,o=-1,l=-1,O=!1,c=()=>{s.push(a.elt("TableCell",i+o,i+l,a.parser.parseInline(e.slice(o,l),i+o)))};for(let d=t;d<e.length;d++){let p=e.charCodeAt(d);p==124&&!O?((!n||o>-1)&&r++,n=!1,s&&(o>-1&&c(),s.push(a.elt("TableDelimiter",d+i,d+i+1))),o=l=-1):(O||p!=32&&p!=9)&&(o<0&&(o=d),l=d+1),O=!O&&p==92}return o>-1&&(r++,s&&c()),r}function js(a,e){for(let t=e;t<a.length;t++){let s=a.charCodeAt(t);if(s==124)return!0;s==92&&t++}return!1}var ni=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/,yt=class{constructor(){this.rows=null}nextLine(e,t,s){if(this.rows==null){this.rows=!1;let i;if((t.next==45||t.next==58||t.next==124)&&ni.test(i=t.text.slice(t.pos))){let r=[];et(e,s.content,0,r,s.start)==et(e,i,t.pos)&&(this.rows=[e.elt("TableHeader",s.start,s.start+s.content.length,r),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];et(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return this.rows?(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0):!1}},Fn={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":$.tags.heading}},"TableRow",{name:"TableCell",style:$.tags.content},{name:"TableDelimiter",style:$.tags.processingInstruction}],parseBlock:[{name:"Table",leaf(a,e){return js(e.content,0)?new yt:null},endLeaf(a,e,t){if(t.parsers.some(i=>i instanceof yt)||!js(e.text,e.basePos))return!1;let s=a.peekLine();return ni.test(s)&&et(a,e.text,e.basePos)==et(a,s,e.basePos)},before:"SetextHeading"}]},ba=class{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}},Jn={defineNodes:[{name:"Task",block:!0,style:$.tags.list},{name:"TaskMarker",style:$.tags.atom}],parseBlock:[{name:"TaskList",leaf(a,e){return/^\[[ xX]\][ \t]/.test(e.content)&&a.parentType().name=="ListItem"?new ba:null},after:"SetextHeading"}]},Es=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,Rs=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,Kn=/[\w-]+\.[\w-]+($|\/)/,Ls=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,Ys=/\/[a-zA-Z\d@.]+/gy;function zs(a,e,t,s){let i=0;for(let r=e;r<t;r++)a[r]==s&&i++;return i}function eo(a,e){Rs.lastIndex=e;let t=Rs.exec(a);if(!t||Kn.exec(t[0])[0].indexOf("_")>-1)return-1;let s=e+t[0].length;for(;;){let i=a[s-1],r;if(/[?!.,:*_~]/.test(i)||i==")"&&zs(a,e,s,")")>zs(a,e,s,"("))s--;else if(i==";"&&(r=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(a.slice(e,s))))s=e+r.index;else break}return s}function Ds(a,e){Ls.lastIndex=e;let t=Ls.exec(a);if(!t)return-1;let s=t[0][t[0].length-1];return s=="_"||s=="-"?-1:e+t[0].length-(s=="."?1:0)}var to={parseInline:[{name:"Autolink",parse(a,e,t){let s=t-a.offset;if(s&&/\w/.test(a.text[s-1]))return-1;Es.lastIndex=s;let i=Es.exec(a.text),r=-1;if(!i)return-1;if(i[1]||i[2]){if(r=eo(a.text,s+i[0].length),r>-1&&a.hasOpenLink){let n=/([^\[\]]|\[[^\]]*\])*/.exec(a.text.slice(s,r));r=s+n[0].length}}else i[3]?r=Ds(a.text,s):(r=Ds(a.text,s+i[0].length),r>-1&&i[0]=="xmpp:"&&(Ys.lastIndex=r,i=Ys.exec(a.text),i&&(r=i.index+i[0].length)));return r<0?-1:(a.addElement(a.elt("URL",t,r+a.offset)),r+a.offset)}}]},oi=[Fn,Jn,Hn,to];function li(a,e,t){return(s,i,r)=>{if(i!=a||s.char(r+1)==a)return-1;let n=[s.elt(t,r,r+1)];for(let o=r+1;o<s.end;o++){let l=s.char(o);if(l==a)return s.addElement(s.elt(e,r,o+1,n.concat(s.elt(t,o,o+1))));if(l==92&&n.push(s.elt("Escape",o,o+++2)),ie(l))break}return-1}}var Oi={defineNodes:[{name:"Superscript",style:$.tags.special($.tags.content)},{name:"SuperscriptMark",style:$.tags.processingInstruction}],parseInline:[{name:"Superscript",parse:li(94,"Superscript","SuperscriptMark")}]},ci={defineNodes:[{name:"Subscript",style:$.tags.special($.tags.content)},{name:"SubscriptMark",style:$.tags.processingInstruction}],parseInline:[{name:"Subscript",parse:li(126,"Subscript","SubscriptMark")}]},di={defineNodes:[{name:"Emoji",style:$.tags.character}],parseInline:[{name:"Emoji",parse(a,e,t){let s;return e!=58||!(s=/^[a-zA-Z_0-9]+:/.exec(a.slice(t+1,a.end)))?-1:a.addElement(a.elt("Emoji",t,t+1+s[0].length))}}]};var Qe=require("@lezer/lr"),U=require("@lezer/highlight"),vi=require("@lezer/common"),ao=55,so=1,io=56,ro=2,no=57,oo=3,pi=4,lo=5,Xa=6,$i=7,bi=8,ki=9,Pi=10,Oo=11,co=12,po=13,wa=58,uo=14,ho=15,ui=59,yi=21,mo=23,wi=24,fo=25,Za=27,xi=28,go=29,Qo=32,So=35,vo=37,$o=38,bo=0,ko=1,Po={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},yo={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},hi={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function wo(a){return a==45||a==46||a==58||a>=65&&a<=90||a==95||a>=97&&a<=122||a>=161}var mi=null,fi=null,gi=0;function Ta(a,e){let t=a.pos+e;if(gi==t&&fi==a)return mi;let s=a.peek(e),i="";for(;wo(s);)i+=String.fromCharCode(s),s=a.peek(++e);return fi=a,gi=t,mi=i?i.toLowerCase():s==xo||s==Zo?void 0:null}var Zi=60,wt=62,_a=47,xo=63,Zo=33,To=45;function Qi(a,e){this.name=a,this.parent=e}var Xo=[Xa,Pi,$i,bi,ki],_o=new Qe.ContextTracker({start:null,shift(a,e,t,s){return Xo.indexOf(e)>-1?new Qi(Ta(s,1)||"",a):a},reduce(a,e){return e==yi&&a?a.parent:a},reuse(a,e,t,s){let i=e.type.id;return i==Xa||i==vo?new Qi(Ta(s,1)||"",a):a},strict:!1}),Co=new Qe.ExternalTokenizer((a,e)=>{if(a.next!=Zi){a.next<0&&e.context&&a.acceptToken(wa);return}a.advance();let t=a.next==_a;t&&a.advance();let s=Ta(a,0);if(s===void 0)return;if(!s)return a.acceptToken(t?ho:uo);let i=e.context?e.context.name:null;if(t){if(s==i)return a.acceptToken(Oo);if(i&&yo[i])return a.acceptToken(wa,-2);if(e.dialectEnabled(bo))return a.acceptToken(co);for(let r=e.context;r;r=r.parent)if(r.name==s)return;a.acceptToken(po)}else{if(s=="script")return a.acceptToken($i);if(s=="style")return a.acceptToken(bi);if(s=="textarea")return a.acceptToken(ki);if(Po.hasOwnProperty(s))return a.acceptToken(Pi);i&&hi[i]&&hi[i][s]?a.acceptToken(wa,-1):a.acceptToken(Xa)}},{contextual:!0}),jo=new Qe.ExternalTokenizer(a=>{for(let e=0,t=0;;t++){if(a.next<0){t&&a.acceptToken(ui);break}if(a.next==To)e++;else if(a.next==wt&&e>=2){t>=3&&a.acceptToken(ui,-2);break}else e=0;a.advance()}});function Eo(a){for(;a;a=a.parent)if(a.name=="svg"||a.name=="math")return!0;return!1}var Ro=new Qe.ExternalTokenizer((a,e)=>{if(a.next==_a&&a.peek(1)==wt){let t=e.dialectEnabled(ko)||Eo(e.context);a.acceptToken(t?lo:pi,2)}else a.next==wt&&a.acceptToken(pi,1)});function Ca(a,e,t){let s=2+a.length;return new Qe.ExternalTokenizer(i=>{for(let r=0,n=0,o=0;;o++){if(i.next<0){o&&i.acceptToken(e);break}if(r==0&&i.next==Zi||r==1&&i.next==_a||r>=2&&r<s&&i.next==a.charCodeAt(r-2))r++,n++;else if(r==s&&i.next==wt){o>n?i.acceptToken(e,-n):i.acceptToken(t,-(n-2));break}else if((i.next==10||i.next==13)&&o){i.acceptToken(e,1);break}else r=n=0;i.advance()}})}var Lo=Ca("script",ao,so),Yo=Ca("style",io,ro),zo=Ca("textarea",no,oo),Do=(0,U.styleTags)({"Text RawText IncompleteTag IncompleteCloseTag":U.tags.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":U.tags.angleBracket,TagName:U.tags.tagName,"MismatchedCloseTag/TagName":[U.tags.tagName,U.tags.invalid],AttributeName:U.tags.attributeName,"AttributeValue UnquotedAttributeValue":U.tags.attributeValue,Is:U.tags.definitionOperator,"EntityReference CharacterReference":U.tags.character,Comment:U.tags.blockComment,ProcessingInst:U.tags.processingInstruction,DoctypeDecl:U.tags.documentMeta}),Ti=Qe.LRParser.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"\u26A0 StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:_o,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[Do],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|caPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bXaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UVaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pTaPOv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!dpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({WaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!b`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!b`!dpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYlWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`aP!b`!dp!_^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebiSlWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXiSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vciSaP!b`!dpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!ahaP!dpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WiiSlWd!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QciSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXjSaP!b`!dpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Lo,Yo,zo,Ro,Co,jo,0,1,2,3,4,5],topRules:{Document:[0,16]},dialects:{noMatch:0,selfClosing:515},tokenPrec:517});function Xi(a,e){let t=Object.create(null);for(let s of a.getChildren(wi)){let i=s.getChild(fo),r=s.getChild(Za)||s.getChild(xi);i&&(t[e.read(i.from,i.to)]=r?r.type.id==Za?e.read(r.from+1,r.to-1):e.read(r.from,r.to):"")}return t}function Si(a,e){let t=a.getChild(mo);return t?e.read(t.from,t.to):" "}function xa(a,e,t){let s;for(let i of t)if(!i.attrs||i.attrs(s||(s=Xi(a.node.parent.firstChild,e))))return{parser:i.parser,bracketed:!0};return null}function ja(a=[],e=[]){let t=[],s=[],i=[],r=[];for(let o of a)(o.tag=="script"?t:o.tag=="style"?s:o.tag=="textarea"?i:r).push(o);let n=e.length?Object.create(null):null;for(let o of e)(n[o.name]||(n[o.name]=[])).push(o);return(0,vi.parseMixed)((o,l)=>{let O=o.type.id;if(O==go)return xa(o,l,t);if(O==Qo)return xa(o,l,s);if(O==So)return xa(o,l,i);if(O==yi&&r.length){let c=o.node,d=c.firstChild,p=d&&Si(d,l),u;if(p){for(let g of r)if(g.tag==p&&(!g.attrs||g.attrs(u||(u=Xi(d,l))))){let f=c.lastChild,w=f.type.id==$o?f.from:c.to;if(w>d.to)return{parser:g.parser,overlay:[{from:d.to,to:w}]}}}}if(n&&O==wi){let c=o.node,d;if(d=c.firstChild){let p=n[l.read(d.from,d.to)];if(p)for(let u of p){if(u.tagName&&u.tagName!=Si(c.parent,l))continue;let g=c.lastChild;if(g.type.id==Za){let f=g.from+1,w=g.lastChild,P=g.to-(w&&w.isError?0:1);if(P>f)return{parser:u.parser,overlay:[{from:f,to:P}],bracketed:!0}}else if(g.type.id==xi)return{parser:u.parser,overlay:[{from:g.from,to:g.to}]}}}}return null})}var Se=require("@lezer/lr"),b=require("@lezer/highlight"),Ao=135,_i=1,Mo=136,Vo=137,ji=2,qo=138,Wo=3,Io=4,Ei=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Go=58,Uo=40,Ri=95,No=91,xt=45,Bo=46,Ho=35,Fo=37,Jo=38,Ko=92,el=10,tl=42;function it(a){return a>=65&&a<=90||a>=97&&a<=122||a>=161}function Ea(a){return a>=48&&a<=57}function Ci(a){return Ea(a)||a>=97&&a<=102||a>=65&&a<=70}var Li=(a,e,t)=>(s,i)=>{for(let r=!1,n=0,o=0;;o++){let{next:l}=s;if(it(l)||l==xt||l==Ri||r&&Ea(l))!r&&(l!=xt||o>0)&&(r=!0),n===o&&l==xt&&n++,s.advance();else if(l==Ko&&s.peek(1)!=el){if(s.advance(),Ci(s.next)){do s.advance();while(Ci(s.next));s.next==32&&s.advance()}else s.next>-1&&s.advance();r=!0}else{r&&s.acceptToken(n==2&&i.canShift(ji)?e:l==Uo?t:a);break}}},al=new Se.ExternalTokenizer(Li(Mo,ji,Vo),{contextual:!0}),sl=new Se.ExternalTokenizer(Li(qo,Wo,Io),{contextual:!0}),il=new Se.ExternalTokenizer(a=>{if(Ei.includes(a.peek(-1))){let{next:e}=a;(it(e)||e==Ri||e==Ho||e==Bo||e==tl||e==No||e==Go&&it(a.peek(1))||e==xt||e==Jo)&&a.acceptToken(Ao)}}),rl=new Se.ExternalTokenizer(a=>{if(!Ei.includes(a.peek(-1))){let{next:e}=a;if(e==Fo&&(a.advance(),a.acceptToken(_i)),it(e)){do a.advance();while(it(a.next)||Ea(a.next));a.acceptToken(_i)}}}),nl=(0,b.styleTags)({"AtKeyword import charset namespace keyframes media supports font-feature-values":b.tags.definitionKeyword,"from to selector scope MatchFlag":b.tags.keyword,NamespaceName:b.tags.namespace,KeyframeName:b.tags.labelName,KeyframeRangeName:b.tags.operatorKeyword,TagName:b.tags.tagName,ClassName:b.tags.className,PseudoClassName:b.tags.constant(b.tags.className),IdName:b.tags.labelName,"FeatureName PropertyName":b.tags.propertyName,AttributeName:b.tags.attributeName,NumberLiteral:b.tags.number,KeywordQuery:b.tags.keyword,UnaryQueryOp:b.tags.operatorKeyword,"CallTag ValueName FontName":b.tags.atom,VariableName:b.tags.variableName,Callee:b.tags.operatorKeyword,Unit:b.tags.unit,"UniversalSelector NestingSelector":b.tags.definitionOperator,"MatchOp CompareOp":b.tags.compareOperator,"ChildOp SiblingOp, LogicOp":b.tags.logicOperator,BinOp:b.tags.arithmeticOperator,Important:b.tags.modifier,Comment:b.tags.blockComment,ColorLiteral:b.tags.color,"ParenthesizedContent StringLiteral":b.tags.string,":":b.tags.punctuation,"PseudoOp #":b.tags.derefOperator,"; , |":b.tags.separator,"( )":b.tags.paren,"[ ]":b.tags.squareBracket,"{ }":b.tags.brace}),ol={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},ll={__proto__:null,or:104,and:104,not:112,only:112,layer:186},Ol={__proto__:null,selector:118,layer:182},cl={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},dl={__proto__:null,to:223},Yi=Se.LRParser.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5<YO8xQ`O,5<YPOOO'#Eu'#EuP9TO&jO,58{POOO,58{,58{OOQP1G.m1G.mOOQP1G.q1G.qOOQP1G.t1G.tO,wQ`O1G.tO,|Q`O1G.tOOQP1G/z1G/zO9`QpO1G/|O9hQaO1G0TO:OQaO1G0VO:fQaO1G0WO:|QaO,5;iOOQO-E8{-E8{OOQS1G.i1G.iO;WQ`O,5:nO;]QdO'#DsO;dQdO'#CuOOQO'#Dz'#DzOOQO,5:d,5:dO-^QdO,5:dOOQP1G/|1G/|O)VQdO1G/|O;kQ!jO'#D^O;yQ!bO,59yO<RQhO,5:ROOQO'#Fk'#FkO;|Q!bO,59}O<ZQhO'#FVO)zQhO,59{O)zQhO'#FVO=OQhO1G0yOOQS1G0y1G0yO=YQhO,5:PO>QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<<ISOKjQdO'#E|OKtQ`O,5<XOOQP1G/y1G/yOOQS-E8u-E8uOK|QdO'#E{OLWQ`O,5<QOOQ]1G.{1G.{OOQP<<IS<<ISOL`Q`O<<ISOLeQdO7+%POOQO'#D`'#D`OLlQ!bO7+%TOLtQhO'#EzOMRQ`O,5<WO)VQdO,5<WOOQW1G/r1G/rOOQO'#E['#E[OMZQ`O1G0`OOQS<<Id<<IdO)VQdO,59wOMzQhO1G/bOOQ[1G/b1G/bONRQ`O1G/bOOQW-E8w-E8wOOQ[7+%a7+%aOOQO,5;T,5;TOBnQdO'#FTOI`Q`O,5;nOOQS,5;n,5;nOOQS-E9Q-E9QOOQS1G0n1G0nOOQS<<Iy<<IyONZQ!fO,5;jOOQS-E8|-E8|OOQO<<Ia<<IaOOQPAN>nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<<Hk<<HkOOQW<<Ho<<HoO! {QhO<<HoO!!^QhO,5;fO!!iQ`O,5;fOOQO-E8x-E8xO!!nQdO1G1rOGvQdO'#FQO!!xQ`O7+%zOOQW7+%z7+%zO!#QQ!bO1G/cOOQ[7+$|7+$|O!#]QhO7+$|P!#dQ`O'#EyOOQO,5;o,5;oOOQO-E9R-E9ROOQS1G1Y1G1YOOQPG24YG24YO!#iQ`OAN>ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<<If<<IfOOQ[<<Hh<<HhPOQW,5;e,5;eOOQWG23uG23uO!#vQdO7+&l",stateData:"!$Z~O$QOS$RQQ~OWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|RO$XTO~OQmOWVO^_O`WOcYOdYOl`OmZOp[O!r]O!u^O!{dO#ReO#TfO#VgO#YhO#`iO#bjO#ekO#|lO$XTO~O#z$bP~P!jO$RqO~O`YXcYXdYXmYXpYXsYX!aYX!rYX!uYX#{YX$X[X~OgYX~P$ZO#|sO~O$XuO~O$XuO`$WXc$WXd$WXm$WXp$WXs$WX!a$WX!r$WX!u$WX#{$WXg$WX~O#|vO~O`xOcyOdyOmzOp{O!r|O!u!OO#{}O~Os!RO!a!PO~P&^Of!XO#|!TO#}!UO~O#|!YO~OW!^O#|![O$X!]O~OWVO^_O`WOcYOdYOmZOp[O!r]O!u^O#|RO$XTO~OS!fOc!gOd!gOh!cOs!RO!Y!eO!]!jO$O!bO~On!iO~P(dOQ!tOh!mOp!nOs!oOu!wOw!wO}!uO!d!vO#|!lO#}!rO$]!pO~OS!fOc!gOd!gOh!cO!Y!eO!]!jO$O!bO~Os$eP~P)zOw!|O!d!vO#|!{O~Ow#OO#|#OO~Oh#ROs!RO#c#TO~O#|#VO~Oc!xX~P$ZOc#YO~On#ZO#z$bXr$bX~O#z$bXr$bX~P!jO$S#^O$T#^O$U#`O~Of#eO#|!TO#}!UO~Os!RO!a!PO~Or$bP~P!jOh#oO~Oh#pO~Oo!kX!o!kX$X!mX~O#|#qO~O$X#sO~Oo#tO!o#uO~O`xOcyOdyOmzOp{O~Os!qa!a!qa!r!qa!u!qa#{!qag!qa~P-pOs!ta!a!ta!r!ta!u!ta#{!tag!ta~P-pOS!fOc!gOd!gOh!cO!Y!eO!]!jO~OR#yOu#yOw#yO$O#vO$]!pO~P/POn$PO!U#|O!a#}O~P(dOh$RO~O$O$TO~Oh#RO~O`$WOc$WOg$ZOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo$]O~P)VO`$WOc$WOl$WOm$WOn$WOr$_O~P)VOP$`OSvXcvXdvXhvXnvXyvX!YvX!]vX!}vX#PvX$OvX!WvXQvX`vXgvXlvXmvXpvXsvXuvXwvX}vX!dvX#|vX#}vX$]vXovXrvX!avX#zvX$dvX!pvX~Oy$aO!}$bO#P$cOn$eP~P)zOh#pOS$ZXc$ZXd$ZXn$ZXy$ZX!Y$ZX!]$ZX!}$ZX#P$ZX$O$ZXQ$ZX`$ZXg$ZXl$ZXm$ZXp$ZXs$ZXu$ZXw$ZX}$ZX!d$ZX#|$ZX#}$ZX$]$ZXo$ZXr$ZX!a$ZX#z$ZX$d$ZX!p$ZX~Oh$gO~Oh$iO~O!U#|O!a$jOs$eXn$eX~Os!RO~On$mOy$aO~On$nO~Ow$oO!d!vO~Os$pO~Os!RO!U#|O~Os!RO#c$vO~O#|#VOs#fX~O$d$zOn!wa#z!war!wa~P)VOn#sX#z#sXr#sX~P!jOn#ZO#z$bar$ba~O$S#^O$T#^O$U%RO~Oo%TO!o%UO~Os!qi!a!qi!r!qi!u!qi#{!qig!qi~P-pOs!si!a!si!r!si!u!si#{!sig!si~P-pOs!ti!a!ti!r!ti!u!ti#{!tig!ti~P-pOs#qa!a#qa~P&^Or%VO~Og$aP~P'oOg$YP~P)VOc!SXg!QX!U!QX!W!SX~Oc%_O!W%`O~Og%aO!U#|O~O!U#|OS#yXc#yXd#yXh#yXn#yXs#yX!Y#yX!]#yX!a#yX$O#yX~On%eO!a#}O~P(dO!U#|OS!Xac!Xad!Xah!Xan!Xas!Xa!Y!Xa!]!Xa!a!Xa$O!Xag!Xa~O$O%fOg$`P~P/POy$aOQ$[X`$[Xc$[Xg$[Xh$[Xl$[Xm$[Xn$[Xp$[Xs$[Xu$[Xw$[X}$[X!d$[X#|$[X#}$[X$]$[Xo$[Xr$[X~O`$WOc$WOg%kOl$WOm$WOn$WO~P)VO`$WOc$WOl$WOm$WOn$WOo%lO~P)VO`$WOc$WOl$WOm$WOn$WOr%mO~P)VOh%oOS!|Xc!|Xd!|Xn!|X!Y!|X!]!|X$O!|X~On%pO~Og%uOw%vO!e%vO~Os#uX!a#uXn#uX~P)zO!a$jOs$ean$ea~On%yO~Or&QO#|%{O$]%zO~Og&RO~P&^Oy$aO!a&VO$d$zOn!wi#z!wir!wi~P)VO$c&YO~On#sa#z#sar#sa~P!jOn#ZO#z$bir$bi~O!a&]Og$aX~P&^Og&_O~Oy$aOQ#kXg#kXh#kXp#kXs#kXu#kXw#kX}#kX!a#kX!d#kX#|#kX#}#kX$]#kX~O!a&aOg$YX~P)VOg&cO~Oo&dOy$aO!p&eO~OR#yOu#yOw#yO$O&gO$]!pO~O!U#|OS#yac#yad#yah#yan#yas#ya!Y#ya!]#ya!a#ya$O#ya~Oc!SXg!QX!U!QX!a!QX~O!U#|O!a&iOg$`X~Oc&kO~Og&lO~O#|&mO~On&oO~Oc&pO!U#|O~Og&rOn&qO~Og&uO~O!U#|Os#ua!a#uan#ua~OP$`OsvX!avXgvX~O$]%zOs#]X!a#]X~Os!RO!a&wO~Or&{O#|%{O$]%zO~Oy$aOQ#rXh#rXn#rXp#rXs#rXu#rXw#rX}#rX!a#rX!d#rX#z#rX#|#rX#}#rX$]#rX$d#rXr#rX~O!a&VO$d$zOn!wq#z!wqr!wq~P)VOo'QOy$aO!p'RO~Og#pX!a#pX~P'oO!a&]Og$aa~Og#oX!a#oX~P)VO!a&aOg$Ya~Oo'QO~Og'WO~P)VOg'XO!W'YO~O$O%fOg#nX!a#nX~P/PO!a&iOg$`a~O`'_Og'aO~OS#mac#mad#mah#ma!Y#ma!]#ma$O#ma~Og'cO~PMcOg'cOn'dO~Oy$aOQ#rah#ran#rap#ras#rau#raw#ra}#ra!a#ra!d#ra#z#ra#|#ra#}#ra$]#ra$d#rar#ra~Oo'iO~Og#pa!a#pa~P&^Og#oa!a#oa~P)VOR#yOu#yOw#yO$O&gO$]%zO~O!U#|Og#na!a#na~Oc'kO~O!a&iOg$`i~P)VO`'_Og'oO~Oy$aOg!Pin!Pi~Og'pO~PMcOn'qO~Og'rO~O!a&iOg$`q~Og#nq!a#nq~P)VO$Q!e$R$]`$]y!u~",goto:"4h$fPPPPP$gP$jP$s%V$s%i%{P$sP&R$sPP&XPPP&_&i&iPPPPP&iPP&iP'VP&iP&i(Q&iP(n(q(w(w)Z(wP(wP(wP(w(wP)j(w)vP(w)yPP*m*s$s*y$s+P+P+V+ZPP$sP$s$sP+a,],j,q$jP,zP,}P$jP$jP$jP-T$jP-W-Z-^-e$jP$jPP$jP-j$jP-m-s.S.j.x/O/Y/`/f/l/r/|0S0Y0`0f0lPPPPPPPPPPP0r0{P1q1t2vP3O3x4R4U4XPP4_RrQ_aOPco!R#Z$}q_OP]^co|}!O!P!R#R#Z#o$}&]qSOP]^co|}!O!P!R#R#Z#o$}&]qUOP]^co|}!O!P!R#R#Z#o$}&]QtTR#auQwWR#bxQ!VYR#cyQ#c!XS$f!s!tR%S#e!V!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k's!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sU#y!c%`'YU%}$p&P&wR&v%|!V!sdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sR$h!uQ%s$gR&s%tq!h`ei!c!d!e!q#|#}$O$R$e$g$j%t&iQ#w!cQ%h$RQ&h%`Q'[&iR'j'YQ#UjQ$U!jQ$t#TR&T$vR$S!f!U!wdf!m!n!o#Y#p#u$Y$[$^$a$y%U%Z%_&V&W&a&f&k&p'U'^'k'sQ!|gR$o!}Q!WYR#dyQ#c!WR%S#dQ!ZZR#fzQ!_[R#g{T!^[{Q#r!]R%]#sQ!SXQ!i`Q#SjQ#m!QQ$P!dQ$l!yQ$r#QQ$u#UQ$x#XQ%e$OQ&S$tQ&y&OQ&|&TR'h&xSnP!RQ#]oQ$|#ZR&Z$}ZmPo!R#Z$}Q${#YQ&X$yR'P&WR$e!qQ&n%oR'm'_R!}gR#PhR$q#PS&O$p&PR'f&wV%|$p&P&wR#XkQ#_qR%Q#_QcOSoP!RU!kco$}R$}#ZQ%Z#pY&`%Z&f'U'^'sQ&f%_Q'U&aQ'^&kR's'kQ$Y!mQ$[!nQ$^!oV%j$Y$[$^Q%t$gR&t%tQ&j%gS']&j'lR'l'^Q&b%ZR'V&bQ&^%WR'T&^Q!QXR#l!QQ&W$yR'O&WQ#[nS%O#[%PR%P#]Q'`&nR'n'`Q$k!xR%x$kQ&P$pR&z&PQ&x&OR'g&xQ#WkR$w#WQ$O!dR%d$O_bOPco!R#Z$}^XOPco!R#Z$}Q!`]Q!a^Q#h|Q#i}Q#j!OQ#k!PQ$s#RQ%W#oR'S&]R%[#pQ!qdQ!zf[$V!m!n!o$Y$[$^Q$y#Yd%Y#p%Z%_&a&f&k'U'^'k'sQ%^#uQ%n$aS&U$y&WQ&[%UQ&}&VR'b&p]$X!m!n!o$Y$[$^Q!d`U!xe!q$eQ#QiQ#x!cS#{!d$OQ$Q!eQ%b#|Q%c#}Q%g$RS%r$g%tQ%w$jR'Z&iQ#z!cQ&h%`R'j'YR%i$RR%X#oQpPR#n!RQ!yeQ$d!qR%q$e",nodeNames:"\u26A0 Unit VariableName VariableName QueryCallee Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NamespacedTagSelector NamespaceName TagName NestingSelector ClassSelector . ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue AtKeyword # ; ] [ BracketedValue } { BracedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee IfExpression if ArgList IfBranch KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp ComparisonQuery CompareOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector ParenthesizedSelector CallQuery ArgList , PseudoQuery CallLiteral CallTag ParenthesizedContent PseudoClassName ArgList IdSelector IdName AttributeSelector AttributeName NamespacedAttribute NamespaceName AttributeName MatchOp MatchFlag ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp Block Declaration PropertyName Important ImportStatement import Layer layer LayerName layer MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList KeyframeSelector KeyframeRangeName SupportsStatement supports ScopeStatement scope to FontFeatureStatement font-feature-values FontName AtRule Styles",maxTerm:159,nodeProps:[["isolate",-2,5,39,""],["openedBy",23,"(",31,"[",34,"{"],["closedBy",24,")",32,"]",35,"}"]],propSources:[nl],skippedNodes:[0,5,117],repeatNodeCount:17,tokenData:"K`~R!bOX%ZX^&R^p%Zpq&Rqr)ers)vst+jtu2Xuv%Zvw3Rwx3dxy5Ryz5dz{5i{|6S|}:u}!O;W!O!P;u!P!Q<^!Q![=V![!]>Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~<cTyWOy%jz{<r{;'S%j;'S;=`%{<%lO%j~<yS!e`$R~Oy%jz;'S%j;'S;=`%{<%lO%jj=[[$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj>VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[il,rl,al,sl,1,2,3,4,new Se.LocalTokenGroup("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:a=>ol[a]||-1},{term:138,get:a=>ll[a]||-1},{term:4,get:a=>Ol[a]||-1},{term:28,get:a=>cl[a]||-1},{term:136,get:a=>dl[a]||-1}],tokenPrec:2256});var H=require("@codemirror/language"),Zt=require("@lezer/common"),Ra=null;function La(){if(!Ra&&typeof document=="object"&&document.body){let{style:a}=document.body,e=[],t=new Set;for(let s in a)s!="cssText"&&s!="cssFloat"&&typeof a[s]=="string"&&(/[A-Z]/.test(s)&&(s=s.replace(/[A-Z]/g,i=>"-"+i.toLowerCase())),t.has(s)||(e.push(s),t.add(s)));Ra=e.sort().map(s=>({type:"property",label:s,apply:s+": "}))}return Ra||[]}var zi=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(a=>({type:"class",label:a})),Di=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(a=>({type:"keyword",label:a})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(a=>({type:"constant",label:a}))),pl=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(a=>({type:"type",label:a})),ul=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(a=>({type:"keyword",label:a})),ve=/^(\w[\w-]*|-\w[\w-]*|)$/,hl=/^-(-[\w-]*)?$/;function ml(a,e){var t;if((a.name=="("||a.type.isError)&&(a=a.parent||a),a.name!="ArgList")return!1;let s=(t=a.parent)===null||t===void 0?void 0:t.firstChild;return s?.name!="Callee"?!1:e.sliceString(s.from,s.to)=="var"}var Ai=new Zt.NodeWeakMap,fl=["Declaration"];function gl(a){for(let e=a;;){if(e.type.isTop)return e;if(!(e=e.parent))return a}}function Mi(a,e,t){if(e.to-e.from>4096){let s=Ai.get(e);if(s)return s;let i=[],r=new Set,n=e.cursor(Zt.IterMode.IncludeAnonymous);if(n.firstChild())do for(let o of Mi(a,n.node,t))r.has(o.label)||(r.add(o.label),i.push(o));while(n.nextSibling());return Ai.set(e,i),i}else{let s=[],i=new Set;return e.cursor().iterate(r=>{var n;if(t(r)&&r.matchContext(fl)&&((n=r.node.nextSibling)===null||n===void 0?void 0:n.name)==":"){let o=a.sliceString(r.from,r.to);i.has(o)||(i.add(o),s.push({label:o,type:"variable"}))}}),s}}var Ql=a=>e=>{let{state:t,pos:s}=e,i=(0,H.syntaxTree)(t).resolveInner(s,-1),r=i.type.isError&&i.from==i.to-1&&t.doc.sliceString(i.from,i.to)=="-";if(i.name=="PropertyName"||(r||i.name=="TagName")&&/^(Block|Styles)$/.test(i.resolve(i.to).name))return{from:i.from,options:La(),validFor:ve};if(i.name=="ValueName")return{from:i.from,options:Di,validFor:ve};if(i.name=="PseudoClassName")return{from:i.from,options:zi,validFor:ve};if(a(i)||(e.explicit||r)&&ml(i,t.doc))return{from:a(i)||r?i.from:s,options:Mi(t.doc,gl(i),a),validFor:hl};if(i.name=="TagName"){for(let{parent:l}=i;l;l=l.parent)if(l.name=="Block")return{from:i.from,options:La(),validFor:ve};return{from:i.from,options:pl,validFor:ve}}if(i.name=="AtKeyword")return{from:i.from,options:ul,validFor:ve};if(!e.explicit)return null;let n=i.resolve(s),o=n.childBefore(s);return o&&o.name==":"&&n.name=="PseudoClassSelector"?{from:s,options:zi,validFor:ve}:o&&o.name==":"&&n.name=="Declaration"||n.name=="ArgList"?{from:s,options:Di,validFor:ve}:n.name=="Block"||n.name=="Styles"?{from:s,options:La(),validFor:ve}:null},Sl=Ql(a=>a.name=="VariableName"),rt=H.LRLanguage.define({name:"css",parser:Yi.configure({props:[H.indentNodeProp.add({Declaration:(0,H.continuedIndent)()}),H.foldNodeProp.add({"Block KeyframeList":H.foldInside})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Vi(){return new H.LanguageSupport(rt,rt.data.of({autocomplete:Sl}))}var ee=require("@lezer/lr"),m=require("@lezer/highlight"),vl=316,$l=317,qi=1,bl=2,kl=3,Pl=4,yl=318,wl=320,xl=321,Zl=5,Tl=6,Xl=0,za=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Wi=125,_l=59,Da=47,Cl=42,jl=43,El=45,Rl=60,Ll=44,Yl=63,zl=46,Dl=91,Al=new ee.ContextTracker({start:!1,shift(a,e){return e==Zl||e==Tl||e==wl?a:e==xl},strict:!1}),Ml=new ee.ExternalTokenizer((a,e)=>{let{next:t}=a;(t==Wi||t==-1||e.context)&&a.acceptToken(yl)},{contextual:!0,fallback:!0}),Vl=new ee.ExternalTokenizer((a,e)=>{let{next:t}=a,s;za.indexOf(t)>-1||t==Da&&((s=a.peek(1))==Da||s==Cl)||t!=Wi&&t!=_l&&t!=-1&&!e.context&&a.acceptToken(vl)},{contextual:!0}),ql=new ee.ExternalTokenizer((a,e)=>{a.next==Dl&&!e.context&&a.acceptToken($l)},{contextual:!0}),Wl=new ee.ExternalTokenizer((a,e)=>{let{next:t}=a;if(t==jl||t==El){if(a.advance(),t==a.next){a.advance();let s=!e.context&&e.canShift(qi);a.acceptToken(s?qi:bl)}}else t==Yl&&a.peek(1)==zl&&(a.advance(),a.advance(),(a.next<48||a.next>57)&&a.acceptToken(kl))},{contextual:!0});function Ya(a,e){return a>=65&&a<=90||a>=97&&a<=122||a==95||a>=192||!e&&a>=48&&a<=57}var Il=new ee.ExternalTokenizer((a,e)=>{if(a.next!=Rl||!e.dialectEnabled(Xl)||(a.advance(),a.next==Da))return;let t=0;for(;za.indexOf(a.next)>-1;)a.advance(),t++;if(Ya(a.next,!0)){for(a.advance(),t++;Ya(a.next,!1);)a.advance(),t++;for(;za.indexOf(a.next)>-1;)a.advance(),t++;if(a.next==Ll)return;for(let s=0;;s++){if(s==7){if(!Ya(a.next,!0))return;break}if(a.next!="extends".charCodeAt(s))break;a.advance(),t++}}a.acceptToken(Pl,-t)}),Gl=(0,m.styleTags)({"get set async static":m.tags.modifier,"for while do if else switch try catch finally return throw break continue default case defer":m.tags.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":m.tags.operatorKeyword,"let var const using function class extends":m.tags.definitionKeyword,"import export from":m.tags.moduleKeyword,"with debugger new":m.tags.keyword,TemplateString:m.tags.special(m.tags.string),super:m.tags.atom,BooleanLiteral:m.tags.bool,this:m.tags.self,null:m.tags.null,Star:m.tags.modifier,VariableName:m.tags.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":m.tags.function(m.tags.variableName),VariableDefinition:m.tags.definition(m.tags.variableName),Label:m.tags.labelName,PropertyName:m.tags.propertyName,PrivatePropertyName:m.tags.special(m.tags.propertyName),"CallExpression/MemberExpression/PropertyName":m.tags.function(m.tags.propertyName),"FunctionDeclaration/VariableDefinition":m.tags.function(m.tags.definition(m.tags.variableName)),"ClassDeclaration/VariableDefinition":m.tags.definition(m.tags.className),"NewExpression/VariableName":m.tags.className,PropertyDefinition:m.tags.definition(m.tags.propertyName),PrivatePropertyDefinition:m.tags.definition(m.tags.special(m.tags.propertyName)),UpdateOp:m.tags.updateOperator,"LineComment Hashbang":m.tags.lineComment,BlockComment:m.tags.blockComment,Number:m.tags.number,String:m.tags.string,Escape:m.tags.escape,ArithOp:m.tags.arithmeticOperator,LogicOp:m.tags.logicOperator,BitOp:m.tags.bitwiseOperator,CompareOp:m.tags.compareOperator,RegExp:m.tags.regexp,Equals:m.tags.definitionOperator,Arrow:m.tags.function(m.tags.punctuation),": Spread":m.tags.punctuation,"( )":m.tags.paren,"[ ]":m.tags.squareBracket,"{ }":m.tags.brace,"InterpolationStart InterpolationEnd":m.tags.special(m.tags.brace),".":m.tags.derefOperator,", ;":m.tags.separator,"@":m.tags.meta,TypeName:m.tags.typeName,TypeDefinition:m.tags.definition(m.tags.typeName),"type enum interface implements namespace module declare":m.tags.definitionKeyword,"abstract global Privacy readonly override":m.tags.modifier,"is keyof unique infer asserts":m.tags.operatorKeyword,JSXAttributeValue:m.tags.attributeValue,JSXText:m.tags.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":m.tags.angleBracket,"JSXIdentifier JSXNameSpacedName":m.tags.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":m.tags.attributeName,"JSXBuiltin/JSXIdentifier":m.tags.standard(m.tags.tagName)}),Ul={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Nl={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},Bl={__proto__:null,"<":193},Ii=ee.LRParser.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-E<j-E<jO9kQ`O,5=_O!$rQ`O,5=_O!$wQlO,5;ZO!&zQMhO'#EkO!(eQ`O,5;ZO!(jQlO'#DyO!(tQpO,5;dO!(|QpO,5;dO%[QlO,5;dOOQ['#FT'#FTOOQ['#FV'#FVO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eO%[QlO,5;eOOQ['#FZ'#FZO!)[QlO,5;tOOQ!0Lf,5;y,5;yOOQ!0Lf,5;z,5;zOOQ!0Lf,5;|,5;|O%[QlO'#IpO!+_Q!0LrO,5<iO%[QlO,5;eO!&zQMhO,5;eO!+|QMhO,5;eO!-nQMhO'#E^O%[QlO,5;wOOQ!0Lf,5;{,5;{O!-uQ,UO'#FjO!.rQ,UO'#KXO!.^Q,UO'#KXO!.yQ,UO'#KXOOQO'#KX'#KXO!/_Q,UO,5<SOOOW,5<`,5<`O!/pQlO'#FvOOOW'#Io'#IoO7VO7dO,5<QO!/wQ,UO'#FxOOQ!0Lf,5<Q,5<QO!0hQ$IUO'#CyOOQ!0Lh'#C}'#C}O!0{O#@ItO'#DRO!1iQMjO,5<eO!1pQ`O,5<hO!3YQ(CWO'#GXO!3jQ`O'#GYO!3oQ`O'#GYO!5_Q(CWO'#G^O!6dQpO'#GbOOQO'#Gn'#GnO!,TQMhO'#GmOOQO'#Gp'#GpO!,TQMhO'#GoO!7VQ$IUO'#JlOOQ!0Lh'#Jl'#JlO!7aQ`O'#JkO!7oQ`O'#JjO!7wQ`O'#CuOOQ!0Lh'#C{'#C{O!8YQ`O'#C}OOQ!0Lh'#DV'#DVOOQ!0Lh'#DX'#DXO!8_Q`O,5<eO1SQ`O'#DZO!,TQMhO'#GPO!,TQMhO'#GRO!8gQ`O'#GTO!8lQ`O'#GUO!3oQ`O'#G[O!,TQMhO'#GaO<]Q`O'#JkO!8qQ`O'#EqO!9`Q`O,5<gOOQ!0Lb'#Cr'#CrO!9hQ`O'#ErO!:bQpO'#EsOOQ!0Lb'#KR'#KRO!:iQ!0LrO'#KaO9uQ!0LrO,5=cO`QlO,5>tOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!<hQ!0MxO,5:bO!:]QpO,5:`O!?RQ!0MxO,5:jO%[QlO,5:jO!AiQ!0MxO,5:lOOQO,5@z,5@zO!BYQMhO,5=_O!BhQ!0LrO'#JiO9`Q`O'#JiO!ByQ!0LrO,59ZO!CUQpO,59ZO!C^QMhO,59ZO:dQMhO,59ZO!CiQ`O,5;ZO!CqQ`O'#HbO!DVQ`O'#KdO%[QlO,5;}O!:]QpO,5<PO!D_Q`O,5=zO!DdQ`O,5=zO!DiQ`O,5=zO!DwQ`O,5=zO9uQ!0LrO,5=zO<]Q`O,5=jOOQO'#Cy'#CyO!EOQpO,5=gO!EWQMhO,5=hO!EcQ`O,5=jO!EhQ!bO,5=mO!EpQ`O'#K`O?YQ`O'#HWO9kQ`O'#HYO!EuQ`O'#HYO:dQMhO'#H[O!EzQ`O'#H[OOQ[,5=p,5=pO!FPQ`O'#H]O!FbQ`O'#CoO!FgQ`O,59PO!FqQ`O,59PO!HvQlO,59POOQ[,59P,59PO!IWQ!0LrO,59PO%[QlO,59PO!KcQlO'#HeOOQ['#Hf'#HfOOQ['#Hg'#HgO`QlO,5=}O!KyQ`O,5=}O`QlO,5>TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-E<f-E<fO#)kQ!0MSO,5;RODWQpO,5:rO#)uQpO,5:rODWQpO,5;RO!ByQ!0LrO,5:rOOQ!0Lb'#Ej'#EjOOQO,5;R,5;RO%[QlO,5;RO#*SQ!0LrO,5;RO#*_Q!0LrO,5;RO!CUQpO,5:rOOQO,5;X,5;XO#*mQ!0LrO,5;RPOOO'#I^'#I^P#+RO&2DjO,58|POOO,58|,58|OOOO-E<^-E<^OOQ!0Lh1G.p1G.pOOOO-E<_-E<_OOOO,59},59}O#+^Q!bO,59}OOOO-E<a-E<aOOQ!0Lf1G/g1G/gO#+cQ!fO,5?OO+}QlO,5?OOOQO,5?U,5?UO#+mQlO'#IdOOQO-E<b-E<bO#+zQ`O,5@`O#,SQ!fO,5@`O#,ZQ`O,5@nOOQ!0Lf1G/m1G/mO%[QlO,5@oO#,cQ`O'#IjOOQO-E<h-E<hO#,ZQ`O,5@nOOQ!0Lb1G0x1G0xOOQ!0Ln1G/x1G/xOOQ!0Ln1G0Y1G0YO%[QlO,5@lO#,wQ!0LrO,5@lO#-YQ!0LrO,5@lO#-aQ`O,5@kO9eQ`O,5@kO#-iQ`O,5@kO#-wQ`O'#ImO#-aQ`O,5@kOOQ!0Lb1G0w1G0wO!(tQpO,5:uO!)PQpO,5:uOOQS,5:w,5:wO#.iQdO,5:wO#.qQMhO1G2yO9kQ`O1G2yOOQ!0Lf1G0u1G0uO#/PQ!0MxO1G0uO#0UQ!0MvO,5;VOOQ!0Lh'#GW'#GWO#0rQ!0MzO'#JlO!$wQlO1G0uO#2}Q!fO'#JwO%[QlO'#JwO#3XQ`O,5:eOOQ!0Lh'#D_'#D_OOQ!0Lf1G1O1G1OO%[QlO1G1OOOQ!0Lf1G1f1G1fO#3^Q`O1G1OO#5rQ!0MxO1G1PO#5yQ!0MxO1G1PO#8aQ!0MxO1G1PO#8hQ!0MxO1G1PO#;OQ!0MxO1G1PO#=fQ!0MxO1G1PO#=mQ!0MxO1G1PO#=tQ!0MxO1G1PO#@[Q!0MxO1G1PO#@cQ!0MxO1G1PO#BpQ?MtO'#CiO#DkQ?MtO1G1`O#DrQ?MtO'#JsO#EVQ!0MxO,5?[OOQ!0Lb-E<n-E<nO#GdQ!0MxO1G1PO#HaQ!0MzO1G1POOQ!0Lf1G1P1G1PO#IdQMjO'#J|O#InQ`O,5:xO#IsQ!0MxO1G1cO#JgQ,UO,5<WO#JoQ,UO,5<XO#JwQ,UO'#FoO#K`Q`O'#FnOOQO'#KY'#KYOOQO'#In'#InO#KeQ,UO1G1nOOQ!0Lf1G1n1G1nOOOW1G1y1G1yO#KvQ?MtO'#JrO#LQQ`O,5<bO!)[QlO,5<bOOOW-E<m-E<mOOQ!0Lf1G1l1G1lO#LVQpO'#KXOOQ!0Lf,5<d,5<dO#L_QpO,5<dO#LdQMhO'#DTOOOO'#Ib'#IbO#LkO#@ItO,59mOOQ!0Lh,59m,59mO%[QlO1G2PO!8lQ`O'#IrO#LvQ`O,5<zOOQ!0Lh,5<w,5<wO!,TQMhO'#IuO#MdQMjO,5=XO!,TQMhO'#IwO#NVQMjO,5=ZO!&zQMhO,5=]OOQO1G2S1G2SO#NaQ!dO'#CrO#NtQ(CWO'#ErO$ |QpO'#GbO$!dQ!dO,5<sO$!kQ`O'#K[O9eQ`O'#K[O$!yQ`O,5<uO$#aQ!dO'#C{O!,TQMhO,5<tO$#kQ`O'#GZO$$PQ`O,5<tO$$UQ!dO'#GWO$$cQ!dO'#K]O$$mQ`O'#K]O!&zQMhO'#K]O$$rQ`O,5<xO$$wQlO'#JvO$%RQpO'#GcO#$`QpO'#GcO$%dQ`O'#GgO!3oQ`O'#GkO$%iQ!0LrO'#ItO$%tQpO,5<|OOQ!0Lp,5<|,5<|O$%{QpO'#GcO$&YQpO'#GdO$&kQpO'#GdO$&pQMjO,5=XO$'QQMjO,5=ZOOQ!0Lh,5=^,5=^O!,TQMhO,5@VO!,TQMhO,5@VO$'bQ`O'#IyO$'vQ`O,5@UO$(OQ`O,59aOOQ!0Lh,59i,59iO$(TQ`O,5@VO$)TQ$IYO,59uOOQ!0Lh'#Jp'#JpO$)vQMjO,5<kO$*iQMjO,5<mO@zQ`O,5<oOOQ!0Lh,5<p,5<pO$*sQ`O,5<vO$*xQMjO,5<{O$+YQ`O'#KPO!$wQlO1G2RO$+_Q`O1G2RO9eQ`O'#KSO9eQ`O'#EtO%[QlO'#EtO9eQ`O'#I{O$+dQ!0LrO,5@{OOQ[1G2}1G2}OOQ[1G4`1G4`OOQ!0Lf1G/|1G/|OOQ!0Lf1G/z1G/zO$-fQ!0MxO1G0UOOQ[1G2y1G2yO!&zQMhO1G2yO%[QlO1G2yO#.tQ`O1G2yO$/jQMhO'#EkOOQ!0Lb,5@T,5@TO$/wQ!0LrO,5@TOOQ[1G.u1G.uO!ByQ!0LrO1G.uO!CUQpO1G.uO!C^QMhO1G.uO$0YQ`O1G0uO$0_Q`O'#CiO$0jQ`O'#KeO$0rQ`O,5=|O$0wQ`O'#KeO$0|Q`O'#KeO$1[Q`O'#JRO$1jQ`O,5AOO$1rQ!fO1G1iOOQ!0Lf1G1k1G1kO9kQ`O1G3fO@zQ`O1G3fO$1yQ`O1G3fO$2OQ`O1G3fO!DiQ`O1G3fO9uQ!0LrO1G3fOOQ[1G3f1G3fO!EcQ`O1G3UO!&zQMhO1G3RO$2TQ`O1G3ROOQ[1G3S1G3SO!&zQMhO1G3SO$2YQ`O1G3SO$2bQpO'#HQOOQ[1G3U1G3UO!6_QpO'#I}O!EhQ!bO1G3XOOQ[1G3X1G3XOOQ[,5=r,5=rO$2jQMhO,5=tO9kQ`O,5=tO$%dQ`O,5=vO9`Q`O,5=vO!CUQpO,5=vO!C^QMhO,5=vO:dQMhO,5=vO$2xQ`O'#KcO$3TQ`O,5=wOOQ[1G.k1G.kO$3YQ!0LrO1G.kO@zQ`O1G.kO$3eQ`O1G.kO9uQ!0LrO1G.kO$5mQ!fO,5AQO$5zQ`O,5AQO9eQ`O,5AQO$6VQlO,5>PO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5<iO$BOQ!fO1G4jOOQO1G4p1G4pO%[QlO,5?OO$BYQ`O1G5zO$BbQ`O1G6YO$BjQ!fO1G6ZO9eQ`O,5?UO$BtQ!0MxO1G6WO%[QlO1G6WO$CUQ!0LrO1G6WO$CgQ`O1G6VO$CgQ`O1G6VO9eQ`O1G6VO$CoQ`O,5?XO9eQ`O,5?XOOQO,5?X,5?XO$DTQ`O,5?XO$+YQ`O,5?XOOQO-E<k-E<kOOQS1G0a1G0aOOQS1G0c1G0cO#.lQ`O1G0cOOQ[7+(e7+(eO!&zQMhO7+(eO%[QlO7+(eO$DcQ`O7+(eO$DnQMhO7+(eO$D|Q!0MzO,5=XO$GXQ!0MzO,5=ZO$IdQ!0MzO,5=XO$KuQ!0MzO,5=ZO$NWQ!0MzO,59uO%!]Q!0MzO,5<kO%$hQ!0MzO,5<mO%&sQ!0MzO,5<{OOQ!0Lf7+&a7+&aO%)UQ!0MxO7+&aO%)xQlO'#IfO%*VQ`O,5@cO%*_Q!fO,5@cOOQ!0Lf1G0P1G0PO%*iQ`O7+&jOOQ!0Lf7+&j7+&jO%*nQ?MtO,5:fO%[QlO7+&zO%*xQ?MtO,5:bO%+VQ?MtO,5:jO%+aQ?MtO,5:lO%+kQMhO'#IiO%+uQ`O,5@hOOQ!0Lh1G0d1G0dOOQO1G1r1G1rOOQO1G1s1G1sO%+}Q!jO,5<ZO!)[QlO,5<YOOQO-E<l-E<lOOQ!0Lf7+'Y7+'YOOOW7+'e7+'eOOOW1G1|1G1|O%,YQ`O1G1|OOQ!0Lf1G2O1G2OOOOO,59o,59oO%,_Q!dO,59oOOOO-E<`-E<`OOQ!0Lh1G/X1G/XO%,fQ!0MxO7+'kOOQ!0Lh,5?^,5?^O%-YQMhO1G2fP%-aQ`O'#IrPOQ!0Lh-E<p-E<pO%-}QMjO,5?aOOQ!0Lh-E<s-E<sO%.pQMjO,5?cOOQ!0Lh-E<u-E<uO%.zQ!dO1G2wO%/RQ!dO'#CrO%/iQMhO'#KSO$$wQlO'#JvOOQ!0Lh1G2_1G2_O%/sQ`O'#IqO%0[Q`O,5@vO%0[Q`O,5@vO%0dQ`O,5@vO%0oQ`O,5@vOOQO1G2a1G2aO%0}QMjO1G2`O$+YQ`O'#K[O!,TQMhO1G2`O%1_Q(CWO'#IsO%1lQ`O,5@wO!&zQMhO,5@wO%1tQ!dO,5@wOOQ!0Lh1G2d1G2dO%4UQ!fO'#CiO%4`Q`O,5=POOQ!0Lb,5<},5<}O%4hQpO,5<}OOQ!0Lb,5=O,5=OOCwQ`O,5<}O%4sQpO,5<}OOQ!0Lb,5=R,5=RO$+YQ`O,5=VOOQO,5?`,5?`OOQO-E<r-E<rOOQ!0Lp1G2h1G2hO#$`QpO,5<}O$$wQlO,5=PO%5RQ`O,5=OO%5^QpO,5=OO!,TQMhO'#IuO%6WQMjO1G2sO!,TQMhO'#IwO%6yQMjO1G2uO%7TQMjO1G5qO%7_QMjO1G5qOOQO,5?e,5?eOOQO-E<w-E<wOOQO1G.{1G.{O!,TQMhO1G5qO!,TQMhO1G5qO!:]QpO,59wO%[QlO,59wOOQ!0Lh,5<j,5<jO%7lQ`O1G2ZO!,TQMhO1G2bO%7qQ!0MxO7+'mOOQ!0Lf7+'m7+'mO!$wQlO7+'mO%8eQ`O,5;`OOQ!0Lb,5?g,5?gOOQ!0Lb-E<y-E<yO%8jQ!dO'#K^O#(ZQ`O7+(eO4UQ!fO7+(eO$DfQ`O7+(eO%8tQ!0MvO'#CiO%9XQ!0MvO,5=SO%9lQ`O,5=SO%9tQ`O,5=SOOQ!0Lb1G5o1G5oOOQ[7+$a7+$aO!ByQ!0LrO7+$aO!CUQpO7+$aO!$wQlO7+&aO%9yQ`O'#JQO%:bQ`O,5APOOQO1G3h1G3hO9kQ`O,5APO%:bQ`O,5APO%:jQ`O,5APOOQO,5?m,5?mOOQO-E=P-E=POOQ!0Lf7+'T7+'TO%:oQ`O7+)QO9uQ!0LrO7+)QO9kQ`O7+)QO@zQ`O7+)QO%:tQ`O7+)QOOQ[7+)Q7+)QOOQ[7+(p7+(pO%:yQ!0MvO7+(mO!&zQMhO7+(mO!E^Q`O7+(nOOQ[7+(n7+(nO!&zQMhO7+(nO%;TQ`O'#KbO%;`Q`O,5=lOOQO,5?i,5?iOOQO-E<{-E<{OOQ[7+(s7+(sO%<rQpO'#HZOOQ[1G3`1G3`O!&zQMhO1G3`O%[QlO1G3`O%<yQ`O1G3`O%=UQMhO1G3`O9uQ!0LrO1G3bO$%dQ`O1G3bO9`Q`O1G3bO!CUQpO1G3bO!C^QMhO1G3bO%=dQ`O'#JPO%=xQ`O,5@}O%>QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-E<c-E<cOOQO,5?V,5?VOOQO-E<i-E<iO!CUQpO1G/sOOQO-E<e-E<eOOQ!0Ln1G0]1G0]OOQ!0Lf7+%u7+%uO#(ZQ`O7+%uOOQ!0Lf7+&`7+&`O?YQ`O7+&`O!CUQpO7+&`OOQO7+%x7+%xO$AlQ!0MxO7+&XOOQO7+&X7+&XO%[QlO7+&XO%@nQ!0LrO7+&XO!ByQ!0LrO7+%xO!CUQpO7+%xO%@yQ!0LrO7+&XO%AXQ!0MxO7++rO%[QlO7++rO%AiQ`O7++qO%AiQ`O7++qOOQO1G4s1G4sO9eQ`O1G4sO%AqQ`O1G4sOOQS7+%}7+%}O#(ZQ`O<<LPO4UQ!fO<<LPO%BPQ`O<<LPOOQ[<<LP<<LPO!&zQMhO<<LPO%[QlO<<LPO%BXQ`O<<LPO%BdQ!0MzO,5?aO%DoQ!0MzO,5?cO%FzQ!0MzO1G2`O%I]Q!0MzO1G2sO%KhQ!0MzO1G2uO%MsQ!fO,5?QO%[QlO,5?QOOQO-E<d-E<dO%M}Q`O1G5}OOQ!0Lf<<JU<<JUO%NVQ?MtO1G0uO&!^Q?MtO1G1PO&!eQ?MtO1G1PO&$fQ?MtO1G1PO&$mQ?MtO1G1PO&&nQ?MtO1G1PO&(oQ?MtO1G1PO&(vQ?MtO1G1PO&(}Q?MtO1G1PO&+OQ?MtO1G1PO&+VQ?MtO1G1PO&+^Q!0MxO<<JfO&-UQ?MtO1G1PO&.RQ?MvO1G1PO&/UQ?MvO'#JlO&1[Q?MtO1G1cO&1iQ?MtO1G0UO&1sQMjO,5?TOOQO-E<g-E<gO!)[QlO'#FqOOQO'#KZ'#KZOOQO1G1u1G1uO&1}Q`O1G1tO&2SQ?MtO,5?[OOOW7+'h7+'hOOOO1G/Z1G/ZO&2^Q!dO1G4xOOQ!0Lh7+(Q7+(QP!&zQMhO,5?^O!,TQMhO7+(cO&2eQ`O,5?]O9eQ`O,5?]O$+YQ`O,5?]OOQO-E<o-E<oO&2sQ`O1G6bO&2sQ`O1G6bO&2{Q`O1G6bO&3WQMjO7+'zO&3hQ!dO,5?_O&3rQ`O,5?_O!&zQMhO,5?_OOQO-E<q-E<qO&3wQ!dO1G6cO&4RQ`O1G6cO&4ZQ`O1G2kO!&zQMhO1G2kOOQ!0Lb1G2i1G2iOOQ!0Lb1G2j1G2jO%4hQpO1G2iO!CUQpO1G2iOCwQ`O1G2iOOQ!0Lb1G2q1G2qO&4`QpO1G2iO&4nQ`O1G2kO$+YQ`O1G2jOCwQ`O1G2jO$$wQlO1G2kO&4vQ`O1G2jO&5jQMjO,5?aOOQ!0Lh-E<t-E<tO&6]QMjO,5?cOOQ!0Lh-E<v-E<vO!,TQMhO7++]O&6gQMjO7++]O&6qQMjO7++]OOQ!0Lh1G/c1G/cO&7OQ`O1G/cOOQ!0Lh7+'u7+'uO&7TQMjO7+'|O&7eQ!0MxO<<KXOOQ!0Lf<<KX<<KXO&8XQ`O1G0zO!&zQMhO'#IzO&8^Q`O,5@xO&:`Q!fO<<LPO!&zQMhO1G2nO&:gQ!0LrO1G2nOOQ[<<G{<<G{O!ByQ!0LrO<<G{O&:xQ!0MxO<<I{OOQ!0Lf<<I{<<I{OOQO,5?l,5?lO&;lQ`O,5?lO&;qQ`O,5?lOOQO-E=O-E=OO&<PQ`O1G6kO&<PQ`O1G6kO9kQ`O1G6kO@zQ`O<<LlOOQ[<<Ll<<LlO&<XQ`O<<LlO9uQ!0LrO<<LlO9kQ`O<<LlOOQ[<<LX<<LXO%:yQ!0MvO<<LXOOQ[<<LY<<LYO!E^Q`O<<LYO&<^QpO'#I|O&<iQ`O,5@|O!)[QlO,5@|OOQ[1G3W1G3WOOQO'#JO'#JOO9uQ!0LrO'#JOO&<qQpO,5=uOOQ[,5=u,5=uO&<xQpO'#EgO&=PQpO'#GeO&=UQ`O7+(zO&=ZQ`O7+(zOOQ[7+(z7+(zO!&zQMhO7+(zO%[QlO7+(zO&=cQ`O7+(zOOQ[7+(|7+(|O9uQ!0LrO7+(|O$%dQ`O7+(|O9`Q`O7+(|O!CUQpO7+(|O&=nQ`O,5?kOOQO-E<}-E<}OOQO'#H^'#H^O&=yQ`O1G6iO9uQ!0LrO<<GqOOQ[<<Gq<<GqO@zQ`O<<GqO&>RQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<<Ly<<LyOOQ[<<L{<<L{OOQ[-E=Q-E=QOOQ[1G3z1G3zO&>nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<<Ia<<IaOOQ!0Lf<<Iz<<IzO?YQ`O<<IzOOQO<<Is<<IsO$AlQ!0MxO<<IsO%[QlO<<IsOOQO<<Id<<IdO!ByQ!0LrO<<IdO&?SQ!0LrO<<IsO&?_Q!0MxO<= ^O&?oQ`O<= ]OOQO7+*_7+*_O9eQ`O7+*_OOQ[ANAkANAkO&?wQ!fOANAkO!&zQMhOANAkO#(ZQ`OANAkO4UQ!fOANAkO&@OQ`OANAkO%[QlOANAkO&@WQ!0MzO7+'zO&BiQ!0MzO,5?aO&DtQ!0MzO,5?cO&GPQ!0MzO7+'|O&IbQ!fO1G4lO&IlQ?MtO7+&aO&KpQ?MvO,5=XO&MwQ?MvO,5=ZO&NXQ?MvO,5=XO&NiQ?MvO,5=ZO&NyQ?MvO,59uO'#PQ?MvO,5<kO'%SQ?MvO,5<mO''hQ?MvO,5<{O')^Q?MtO7+'kO')kQ?MtO7+'mO')xQ`O,5<]OOQO7+'`7+'`OOQ!0Lh7+*d7+*dO')}QMjO<<K}OOQO1G4w1G4wO'*UQ`O1G4wO'*aQ`O1G4wO'*oQ`O7++|O'*oQ`O7++|O!&zQMhO1G4yO'*wQ!dO1G4yO'+RQ`O7++}O'+ZQ`O7+(VO'+fQ!dO7+(VOOQ!0Lb7+(T7+(TOOQ!0Lb7+(U7+(UO!CUQpO7+(TOCwQ`O7+(TO'+pQ`O7+(VO!&zQMhO7+(VO$+YQ`O7+(UO'+uQ`O7+(VOCwQ`O7+(UO'+}QMjO<<NwO!,TQMhO<<NwOOQ!0Lh7+$}7+$}O',XQ!dO,5?fOOQO-E<x-E<xO',cQ!0MvO7+(YO!&zQMhO7+(YOOQ[AN=gAN=gO9kQ`O1G5WOOQO1G5W1G5WO',sQ`O1G5WO',xQ`O7+,VO',xQ`O7+,VO9uQ!0LrOANBWO@zQ`OANBWOOQ[ANBWANBWO'-QQ`OANBWOOQ[ANAsANAsOOQ[ANAtANAtO'-VQ`O,5?hOOQO-E<z-E<zO'-bQ?MtO1G6hOOQO,5?j,5?jOOQO-E<|-E<|OOQ[1G3a1G3aO'-lQ`O,5=POOQ[<<Lf<<LfO!&zQMhO<<LfO&=UQ`O<<LfO'-qQ`O<<LfO%[QlO<<LfOOQ[<<Lh<<LhO9uQ!0LrO<<LhO$%dQ`O<<LhO9`Q`O<<LhO'-yQpO1G5VO'.UQ`O7+,TOOQ[AN=]AN=]O9uQ!0LrOAN=]OOQ[<= r<= rOOQ[<= s<= sO'.^Q`O<= rO'.cQ`O<= sOOQ[<<Lq<<LqO'.hQ`O<<LqO'.mQlO<<LqOOQ[1G3{1G3{O?YQ`O7+)lO'.tQ`O<<JQO'/PQ?MtO<<JQOOQO<<Hy<<HyOOQ!0LfAN?fAN?fOOQOAN?_AN?_O$AlQ!0MxOAN?_OOQOAN?OAN?OO%[QlOAN?_OOQO<<My<<MyOOQ[G27VG27VO!&zQMhOG27VO#(ZQ`OG27VO'/ZQ!fOG27VO4UQ!fOG27VO'/bQ`OG27VO'/jQ?MtO<<JfO'/wQ?MvO1G2`O'1mQ?MvO,5?aO'3pQ?MvO,5?cO'5sQ?MvO1G2sO'7vQ?MvO1G2uO'9yQ?MtO<<KXO':WQ?MtO<<I{OOQO1G1w1G1wO!,TQMhOANAiOOQO7+*c7+*cO':eQ`O7+*cO':pQ`O<= hO':xQ!dO7+*eOOQ!0Lb<<Kq<<KqO$+YQ`O<<KqOCwQ`O<<KqO';SQ`O<<KqO!&zQMhO<<KqOOQ!0Lb<<Ko<<KoO!CUQpO<<KoO';_Q!dO<<KqOOQ!0Lb<<Kp<<KpO';iQ`O<<KqO!&zQMhO<<KqO$+YQ`O<<KpO';nQMjOANDcO';xQ!0MvO<<KtOOQO7+*r7+*rO9kQ`O7+*rO'<YQ`O<= qOOQ[G27rG27rO9uQ!0LrOG27rO@zQ`OG27rO!)[QlO1G5SO'<bQ`O7+,SO'<jQ`O1G2kO&=UQ`OANBQOOQ[ANBQANBQO!&zQMhOANBQO'<oQ`OANBQOOQ[ANBSANBSO9uQ!0LrOANBSO$%dQ`OANBSOOQO'#H_'#H_OOQO7+*q7+*qOOQ[G22wG22wOOQ[ANE^ANE^OOQ[ANE_ANE_OOQ[ANB]ANB]O'<wQ`OANB]OOQ[<<MW<<MWO!)[QlOAN?lOOQOG24yG24yO$AlQ!0MxOG24yO#(ZQ`OLD,qOOQ[LD,qLD,qO!&zQMhOLD,qO'<|Q!fOLD,qO'=TQ?MvO7+'zO'>yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<<M}<<M}OOQ!0LbANA]ANA]O$+YQ`OANA]OCwQ`OANA]O'EVQ!dOANA]OOQ!0LbANAZANAZO'E^Q`OANA]O!&zQMhOANA]O'EiQ!dOANA]OOQ!0LbANA[ANA[OOQO<<N^<<N^OOQ[LD-^LD-^O9uQ!0LrOLD-^O'EsQ?MtO7+*nOOQO'#Gf'#GfOOQ[G27lG27lO&=UQ`OG27lO!&zQMhOG27lOOQ[G27nG27nO9uQ!0LrOG27nOOQ[G27wG27wO'E}Q?MtOG25WOOQOLD*eLD*eOOQ[!$(!]!$(!]O#(ZQ`O!$(!]O!&zQMhO!$(!]O'FXQ!0MzOG27TOOQ!0LbG26wG26wO$+YQ`OG26wO'HjQ`OG26wOCwQ`OG26wO'HuQ!dOG26wO!&zQMhOG26wOOQ[!$(!x!$(!xOOQ[LD-WLD-WO&=UQ`OLD-WOOQ[LD-YLD-YOOQ[!)9Ew!)9EwO#(ZQ`O!)9EwOOQ!0LbLD,cLD,cO$+YQ`OLD,cOCwQ`OLD,cO'H|Q`OLD,cO'IXQ!dOLD,cOOQ[!$(!r!$(!rOOQ[!.K;c!.K;cO'I`Q?MvOG27TOOQ!0Lb!$( }!$( }O$+YQ`O!$( }OCwQ`O!$( }O'KUQ`O!$( }OOQ!0Lb!)9Ei!)9EiO$+YQ`O!)9EiOCwQ`O!)9EiOOQ!0Lb!.K;T!.K;TO$+YQ`O!.K;TOOQ!0Lb!4/0o!4/0oO!)[QlO'#DzO1PQ`O'#EXO'KaQ!fO'#JrO'KhQ!L^O'#DvO'KoQlO'#EOO'KvQ!fO'#CiO'N^Q!fO'#CiO!)[QlO'#EQO'NnQlO,5;ZO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO,5;eO!)[QlO'#IpO(!qQ`O,5<iO!)[QlO,5;eO(!yQMhO,5;eO($dQMhO,5;eO!)[QlO,5;wO!&zQMhO'#GmO(!yQMhO'#GmO!&zQMhO'#GoO(!yQMhO'#GoO1SQ`O'#DZO1SQ`O'#DZO!&zQMhO'#GPO(!yQMhO'#GPO!&zQMhO'#GRO(!yQMhO'#GRO!&zQMhO'#GaO(!yQMhO'#GaO!)[QlO,5:jO($kQpO'#D_O($uQpO'#JvO!)[QlO,5@oO'NnQlO1G0uO(%PQ?MtO'#CiO!)[QlO1G2PO!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO(%ZQ!dO'#CrO!&zQMhO,5<tO(!yQMhO,5<tO'NnQlO1G2RO!)[QlO7+&zO!&zQMhO1G2`O(!yQMhO1G2`O!&zQMhO'#IuO(!yQMhO'#IuO!&zQMhO'#IwO(!yQMhO'#IwO!&zQMhO1G2bO(!yQMhO1G2bO'NnQlO7+'mO'NnQlO7+&aO!&zQMhOANAiO(!yQMhOANAiO(%nQ`O'#EoO(%sQ`O'#EoO(%{Q`O'#F]O(&QQ`O'#EyO(&VQ`O'#KTO(&bQ`O'#KRO(&mQ`O,5;ZO(&rQMjO,5<eO(&yQ`O'#GYO('OQ`O'#GYO('TQ`O,5<eO(']Q`O,5<gO('eQ`O,5;ZO('mQ?MtO1G1`O('tQ`O,5<tO('yQ`O,5<tO((OQ`O,5<vO((TQ`O,5<vO((YQ`O1G2RO((_Q`O1G0uO((dQMjO<<K}O((kQMjO<<K}O((rQMhO'#F|O9`Q`O'#F{OAuQ`O'#EnO!)[QlO,5;tO!3oQ`O'#GYO!3oQ`O'#GYO!3oQ`O'#G[O!3oQ`O'#G[O!,TQMhO7+(cO!,TQMhO7+(cO%.zQ!dO1G2wO%.zQ!dO1G2wO!&zQMhO,5=]O!&zQMhO,5=]",stateData:"()x~O'|OS'}OSTOS(ORQ~OPYOQYOSfOY!VOaqOdzOeyOl!POpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!uwO!xxO!|]O$W|O$niO%h}O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO&W!WO&^!XO&`!YO&b!ZO&d![O&g!]O&m!^O&s!_O&u!`O&w!aO&y!bO&{!cO(TSO(VTO(YUO(aVO(o[O~OWtO~P`OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa!wOs!nO!S!oO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!xO#W!pO#X!pO#[!zO#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O(O!{O~OP]XR]X[]Xa]Xj]Xr]X!Q]X!S]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X'z]X(a]X(r]X(y]X(z]X~O!g%RX~P(qO_!}O(V#PO(W!}O(X#PO~O_#QO(X#PO(Y#PO(Z#QO~Ox#SO!U#TO(b#TO(c#VO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T<ZO(VTO(YUO(aVO(o[O~O![#ZO!]#WO!Y(hP!Y(vP~P+}O!^#cO~P`OPYOQYOSfOd!jOe!iOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(VTO(YUO(aVO(o[O~Op#mO![#iO!|]O#i#lO#j#iO(T<[O!k(sP~P.iO!l#oO(T#nO~O!x#sO!|]O%h#tO~O#k#uO~O!g#vO#k#uO~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!]$_O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa(fX'z(fX'w(fX!k(fX!Y(fX!_(fX%i(fX!g(fX~P1qO#S$dO#`$eO$Q$eOP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX!_(gX%i(gX~Oa(gX'z(gX'w(gX!Y(gX!k(gXv(gX!g(gX~P4UO#`$eO~O$]$hO$_$gO$f$mO~OSfO!_$nO$i$oO$k$qO~Oh%VOj%dOk%dOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T$sO(VTO(YUO(a$uO(y$}O(z%POg(^P~Ol%[O~P7eO!l%eO~O!S%hO!_%iO(T%gO~O!g%mO~Oa%nO'z%nO~O!Q%rO~P%[O(U!lO~P%[O%n%vO~P%[Oh%VO!l%eO(T%gO(U!lO~Oe%}O!l%eO(T%gO~Oj$RO~O!_&PO(T%gO(U!lO(VTO(YUO`)WP~O!Q&SO!l&RO%j&VO&T&WO~P;SO!x#sO~O%s&YO!S)SX!_)SX(T)SX~O(T&ZO~Ol!PO!u&`O%j!QO%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO~Od&eOe&dO!x&bO%h&cO%{&aO~P<bOd&hOeyOl!PO!_&gO!u&`O!xxO!|]O%h}O%l!OO%m!OO%n!OO%q!RO%s!SO%v!TO%w!TO%y!UO~Ob&kO#`&nO%j&iO(U!lO~P=gO!l&oO!u&sO~O!l#oO~O!_XO~Oa%nO'x&{O'z%nO~Oa%nO'x'OO'z%nO~Oa%nO'x'QO'z%nO~O'w]X!Y]Xv]X!k]X&[]X!_]X%i]X!g]X~P(qO!b'_O!c'WO!d'WO(U!lO(VTO(YUO~Os'UO!S'TO!['XO(e'SO!^(iP!^(xP~P@nOn'bO!_'`O(T%gO~Oe'gO!l%eO(T%gO~O!Q&SO!l&RO~Os!nO!S!oO!|<VO#T!pO#U!pO#W!pO#X!pO(U!lO(VTO(YUO(e!mO(o!sO~O!b'mO!c'lO!d'lO#V!pO#['nO#]'nO~PBYOa%nOh%VO!g#vO!l%eO'z%nO(r'pO~O!p'tO#`'rO~PChOs!nO!S!oO(VTO(YUO(e!mO(o!sO~O!_XOs(mX!S(mX!b(mX!c(mX!d(mX!|(mX#T(mX#U(mX#V(mX#W(mX#X(mX#[(mX#](mX(U(mX(V(mX(Y(mX(e(mX(o(mX~O!c'lO!d'lO(U!lO~PDWO(P'xO(Q'xO(R'zO~O_!}O(V'|O(W!}O(X'|O~O_#QO(X'|O(Y'|O(Z#QO~Ov(OO~P%[Ox#SO!U#TO(b#TO(c(RO~O![(TO!Y'WX!Y'^X!]'WX!]'^X~P+}O!](VO!Y(hX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!](VO!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~O!Y(hX~PHRO!Y([O~O!Y(uX!](uX!g(uX!k(uX(r(uX~O#`(uX#k#dX!^(uX~PJUO#`(]O!Y(wX!](wX~O!](^O!Y(vX~O!Y(aO~O#`$eO~PJUO!^(bO~P`OR#zO!Q#yO!S#{O!l#xO(aVOP!na[!naj!nar!na!]!na!p!na#R!na#n!na#o!na#p!na#q!na#r!na#s!na#t!na#u!na#v!na#x!na#z!na#{!na(r!na(y!na(z!na~Oa!na'z!na'w!na!Y!na!k!nav!na!_!na%i!na!g!na~PKlO!k(cO~O!g#vO#`(dO(r'pO!](tXa(tX'z(tX~O!k(tX~PNXO!S%hO!_%iO!|]O#i(iO#j(hO(T%gO~O!](jO!k(sX~O!k(lO~O!S%hO!_%iO#j(hO(T%gO~OP(gXR(gX[(gXj(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~O!g#vO!k(gX~P! uOR(nO!Q(mO!l#xO#S$dO!|!{a!S!{a~O!x!{a%h!{a!_!{a#i!{a#j!{a(T!{a~P!#vO!x(rO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_XO!iuO!lZO!oYO!pYO!qYO!svO!u!gO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~O#k(xO~O![(zO!k(kP~P%[O(e(|O(o[O~O!S)OO!l#xO(e(|O(o[O~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S*YO!_*ZO!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op*`O}O(T&ZO~O!l+SO~O(T(vO~Op+WO!S%hO![#iO!_%iO!|]O#i#lO#j#iO(T%gO!k(sP~O!g#vO#k+XO~O!S%hOTX'z)TX~OP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO#z$WO#{$XO(aVO(r$YO(y#|O(z#}O~Oa!ja!]!ja'z!ja'w!ja!Y!ja!k!jav!ja!_!ja%i!ja!g!ja~P!:tOR#zO!Q#yO!S#{O!l#xO(aVOP!ra[!raj!rar!ra!]!ra!p!ra#R!ra#n!ra#o!ra#p!ra#q!ra#r!ra#s!ra#t!ra#u!ra#v!ra#x!ra#z!ra#{!ra(r!ra(y!ra(z!ra~Oa!ra'z!ra'w!ra!Y!ra!k!rav!ra!_!ra%i!ra!g!ra~P!=[OR#zO!Q#yO!S#{O!l#xO(aVOP!ta[!taj!tar!ta!]!ta!p!ta#R!ta#n!ta#o!ta#p!ta#q!ta#r!ta#s!ta#t!ta#u!ta#v!ta#x!ta#z!ta#{!ta(r!ta(y!ta(z!ta~Oa!ta'z!ta'w!ta!Y!ta!k!tav!ta!_!ta%i!ta!g!ta~P!?rOh%VOn+gO!_'`O%i+fO~O!g+iOa(]X!_(]X'z(]X!](]X~Oa%nO!_XO'z%nO~Oh%VO!l%eO~Oh%VO!l%eO(T%gO~O!g#vO#k(xO~Ob+tO%j+uO(T+qO(VTO(YUO!^)XP~O!]+vO`)WX~O[+zO~O`+{O~O!_&PO(T%gO(U!lO`)WP~O%j,OO~P;SOh%VO#`,SO~Oh%VOn,VO!_$|O~O!_,XO~O!Q,ZO!_XO~O%n%vO~O!x,`O~Oe,eO~Ob,fO(T#nO(VTO(YUO!^)VP~Oe%}O~O%j!QO(T&ZO~P=gO[,kO`,jO~OPYOQYOSfOdzOeyOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!iuO!lZO!oYO!pYO!qYO!svO!xxO!|]O$niO%h}O(VTO(YUO(aVO(o[O~O!_!eO!u!gO$W!kO(T!dO~P!FyO`,jOa%nO'z%nO~OPYOQYOSfOd!jOe!iOpkOrYOskOtkOzkO|YO!OYO!SWO!WkO!XkO!_!eO!iuO!lZO!oYO!pYO!qYO!svO!x!hO$W!kO$niO(T!dO(VTO(YUO(aVO(o[O~Oa,pOl!OO!uwO%l!OO%m!OO%n!OO~P!IcO!l&oO~O&^,vO~O!_,xO~O&o,zO&q,{OP&laQ&laS&laY&laa&lad&lae&lal&lap&lar&las&lat&laz&la|&la!O&la!S&la!W&la!X&la!_&la!i&la!l&la!o&la!p&la!q&la!s&la!u&la!x&la!|&la$W&la$n&la%h&la%j&la%l&la%m&la%n&la%q&la%s&la%v&la%w&la%y&la&W&la&^&la&`&la&b&la&d&la&g&la&m&la&s&la&u&la&w&la&y&la&{&la'w&la(T&la(V&la(Y&la(a&la(o&la!^&la&e&lab&la&j&la~O(T-QO~Oh!eX!]!RX!^!RX!g!RX!g!eX!l!eX#`!RX~O!]!eX!^!eX~P#!iO!g-VO#`-UOh(jX!]#hX!^#hX!g(jX!l(jX~O!](jX!^(jX~P##[Oh%VO!g-XO!l%eO!]!aX!^!aX~Os!nO!S!oO(VTO(YUO(e!mO~OP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_!eO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO#z<gO#{<hO(aVO(r$YO(y#|O(z#}O~O$O.{O~P#BwO#S$dO#`<nO$Q<nO$O(gX!^(gX~P! uOa'da!]'da'z'da'w'da!k'da!Y'dav'da!_'da%i'da!g'da~P!:tO[#mia#mij#mir#mi!]#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO(y#mi(z#mi~P#EyOn>]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]<iO!^(fX~P#BwO!^/ZO~O!g)hO$f({X~O$f/]O~Ov/^O~P!&zOx)yO(b)zO(c/aO~O!S/dO~O(y$}On%aa!Q%aa'y%aa(z%aa!]%aa#`%aa~Og%aa$O%aa~P#L{O(z%POn%ca!Q%ca'y%ca(y%ca!]%ca#`%ca~Og%ca$O%ca~P#MnO!]fX!gfX!kfX!k$zX(rfX~P!0SOp%WOPP~P!1uOr*sO!b*qO!c*kO!d*kO!l*bO#[*rO%`*mO(U!lO(VTO(YUO~Os<}O!S/nO![+[O!^*pO(e<|O!^(xP~P$ [O!k/oO~P#/sO!]/pO!g#vO(r'pO!k)OX~O!k/uO~OnoX!QoX'yoX(yoX(zoX~O!g#vO!koX~P$#OOp/wO!S%hO![*^O!_%iO(T%gO!k)OP~O#k/xO~O!Y$zX!]$zX!g%RX~P!0SO!]/yO!Y)PX~P#/sO!g/{O~O!Y/}O~OpkO(T0OO~P.iOh%VOr0TO!g#vO!l%eO(r'pO~O!g+iO~Oa%nO!]0XO'z%nO~O!^0ZO~P!5iO!c0[O!d0[O(U!lO~P#$`Os!nO!S0]O(VTO(YUO(e!mO~O#[0_O~Og%aa!]%aa#`%aa$O%aa~P!1WOg%ca!]%ca#`%ca$O%ca~P!1WOj%dOk%dOl%dO(T&ZOg'mX!]'mX~O!]*yOg(^a~Og0hO~On0jO#`0iOg(_a!](_a~OR0kO!Q0kO!S0lO#S$dOn}a'y}a(y}a(z}a!]}a#`}a~Og}a$O}a~P$(cO!Q*OO'y*POn$sa(y$sa(z$sa!]$sa#`$sa~Og$sa$O$sa~P$)_O!Q*OO'y*POn$ua(y$ua(z$ua!]$ua#`$ua~Og$ua$O$ua~P$*QO#k0oO~Og%Ta!]%Ta#`%Ta$O%Ta~P!1WO!g#vO~O#k0rO~O!]+^Oa)Ta'z)Ta~OR#zO!Q#yO!S#{O!l#xO(aVOP!ri[!rij!rir!ri!]!ri!p!ri#R!ri#n!ri#o!ri#p!ri#q!ri#r!ri#s!ri#t!ri#u!ri#v!ri#x!ri#z!ri#{!ri(r!ri(y!ri(z!ri~Oa!ri'z!ri'w!ri!Y!ri!k!riv!ri!_!ri%i!ri!g!ri~P$+oOh%VOr%XOs$tOt$tOz%YO|%ZO!O<sO!S${O!_$|O!i>VO!l$xO#j<yO$W%`O$t<uO$v<wO$y%aO(VTO(YUO(a$uO(y$}O(z%PO~Op0{O%]0|O(T0zO~P$.VO!g+iOa(]a!_(]a'z(]a!](]a~O#k1SO~O[]X!]fX!^fX~O!]1TO!^)XX~O!^1VO~O[1WO~Ob1YO(T+qO(VTO(YUO~O!_&PO(T%gO`'uX!]'uX~O!]+vO`)Wa~O!k1]O~P!:tO[1`O~O`1aO~O#`1fO~On1iO!_$|O~O(e(|O!^)UP~Oh%VOn1rO!_1oO%i1qO~O[1|O!]1zO!^)VX~O!^1}O~O`2POa%nO'z%nO~O(T#nO(VTO(YUO~O#S$dO#`$eO$Q$eOP(gXR(gX[(gXr(gX!Q(gX!S(gX!](gX!l(gX!p(gX#R(gX#n(gX#o(gX#p(gX#q(gX#r(gX#s(gX#t(gX#u(gX#v(gX#x(gX#z(gX#{(gX(a(gX(r(gX(y(gX(z(gX~Oj2SO&[2TOa(gX~P$3pOj2SO#`$eO&[2TO~Oa2VO~P%[Oa2XO~O&e2[OP&ciQ&ciS&ciY&cia&cid&cie&cil&cip&cir&cis&cit&ciz&ci|&ci!O&ci!S&ci!W&ci!X&ci!_&ci!i&ci!l&ci!o&ci!p&ci!q&ci!s&ci!u&ci!x&ci!|&ci$W&ci$n&ci%h&ci%j&ci%l&ci%m&ci%n&ci%q&ci%s&ci%v&ci%w&ci%y&ci&W&ci&^&ci&`&ci&b&ci&d&ci&g&ci&m&ci&s&ci&u&ci&w&ci&y&ci&{&ci'w&ci(T&ci(V&ci(Y&ci(a&ci(o&ci!^&cib&ci&j&ci~Ob2bO!^2`O&j2aO~P`O!_XO!l2dO~O&q,{OP&liQ&liS&liY&lia&lid&lie&lil&lip&lir&lis&lit&liz&li|&li!O&li!S&li!W&li!X&li!_&li!i&li!l&li!o&li!p&li!q&li!s&li!u&li!x&li!|&li$W&li$n&li%h&li%j&li%l&li%m&li%n&li%q&li%s&li%v&li%w&li%y&li&W&li&^&li&`&li&b&li&d&li&g&li&m&li&s&li&u&li&w&li&y&li&{&li'w&li(T&li(V&li(Y&li(a&li(o&li!^&li&e&lib&li&j&li~O!Y2jO~O!]!aa!^!aa~P#BwOs!nO!S!oO![2pO(e!mO!]'XX!^'XX~P@nO!]-]O!^(ia~O!]'_X!^'_X~P!9|O!]-`O!^(xa~O!^2wO~P'_Oa%nO#`3QO'z%nO~Oa%nO!g#vO#`3QO'z%nO~Oa%nO!g#vO!p3UO#`3QO'z%nO(r'pO~Oa%nO'z%nO~P!:tO!]$_Ov$qa~O!Y'Wi!]'Wi~P!:tO!](VO!Y(hi~O!](^O!Y(vi~O!Y(wi!](wi~P!:tO!](ti!k(tia(ti'z(ti~P!:tO#`3WO!](ti!k(tia(ti'z(ti~O!](jO!k(si~O!S%hO!_%iO!|]O#i3]O#j3[O(T%gO~O!S%hO!_%iO#j3[O(T%gO~On3dO!_'`O%i3cO~Oh%VOn3dO!_'`O%i3cO~O#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aav%aa!_%aa%i%aa!g%aa~P#L{O#k%caP%caR%ca[%caa%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%cav%ca!_%ca%i%ca!g%ca~P#MnO#k%aaP%aaR%aa[%aaa%aaj%aar%aa!S%aa!]%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa'z%aa(a%aa(r%aa!k%aa!Y%aa'w%aa#`%aav%aa!_%aa%i%aa!g%aa~P#/sO#k%caP%caR%ca[%caa%caj%car%ca!S%ca!]%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca'z%ca(a%ca(r%ca!k%ca!Y%ca'w%ca#`%cav%ca!_%ca%i%ca!g%ca~P#/sO#k}aP}a[}aa}aj}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a'z}a(a}a(r}a!k}a!Y}a'w}av}a!_}a%i}a!g}a~P$(cO#k$saP$saR$sa[$saa$saj$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa'z$sa(a$sa(r$sa!k$sa!Y$sa'w$sav$sa!_$sa%i$sa!g$sa~P$)_O#k$uaP$uaR$ua[$uaa$uaj$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua'z$ua(a$ua(r$ua!k$ua!Y$ua'w$uav$ua!_$ua%i$ua!g$ua~P$*QO#k%TaP%TaR%Ta[%Taa%Taj%Tar%Ta!S%Ta!]%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta'z%Ta(a%Ta(r%Ta!k%Ta!Y%Ta'w%Ta#`%Tav%Ta!_%Ta%i%Ta!g%Ta~P#/sOa#cq!]#cq'z#cq'w#cq!Y#cq!k#cqv#cq!_#cq%i#cq!g#cq~P!:tO![3lO!]'YX!k'YX~P%[O!].tO!k(ka~O!].tO!k(ka~P!:tO!Y3oO~O$O!na!^!na~PKlO$O!ja!]!ja!^!ja~P#BwO$O!ra!^!ra~P!=[O$O!ta!^!ta~P!?rOg']X!]']X~P!,TO!]/POg(pa~OSfO!_4TO$d4UO~O!^4YO~Ov4ZO~P#/sOa$mq!]$mq'z$mq'w$mq!Y$mq!k$mqv$mq!_$mq%i$mq!g$mq~P!:tO!Y4]O~P!&zO!S4^O~O!Q*OO'y*PO(z%POn'ia(y'ia!]'ia#`'ia~Og'ia$O'ia~P%-fO!Q*OO'y*POn'ka(y'ka(z'ka!]'ka#`'ka~Og'ka$O'ka~P%.XO(r$YO~P#/sO!YfX!Y$zX!]fX!]$zX!g%RX#`fX~P!0SOp%WO(T=WO~P!1uOp4bO!S%hO![4aO!_%iO(T%gO!]'eX!k'eX~O!]/pO!k)Oa~O!]/pO!g#vO!k)Oa~O!]/pO!g#vO(r'pO!k)Oa~Og$|i!]$|i#`$|i$O$|i~P!1WO![4jO!Y'gX!]'gX~P!3tO!]/yO!Y)Pa~O!]/yO!Y)Pa~P#/sOP]XR]X[]Xj]Xr]X!Q]X!S]X!Y]X!]]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~Oj%YX!g%YX~P%2OOj4oO!g#vO~Oh%VO!g#vO!l%eO~Oh%VOr4tO!l%eO(r'pO~Or4yO!g#vO(r'pO~Os!nO!S4zO(VTO(YUO(e!mO~O(y$}On%ai!Q%ai'y%ai(z%ai!]%ai#`%ai~Og%ai$O%ai~P%5oO(z%POn%ci!Q%ci'y%ci(y%ci!]%ci#`%ci~Og%ci$O%ci~P%6bOg(_i!](_i~P!1WO#`5QOg(_i!](_i~P!1WO!k5VO~Oa$oq!]$oq'z$oq'w$oq!Y$oq!k$oqv$oq!_$oq%i$oq!g$oq~P!:tO!Y5ZO~O!]5[O!_)QX~P#/sOa$zX!_$zX%^]X'z$zX!]$zX~P!0SO%^5_OaoX!_oX'zoX!]oX~P$#OOp5`O(T#nO~O%^5_O~Ob5fO%j5gO(T+qO(VTO(YUO!]'tX!^'tX~O!]1TO!^)Xa~O[5kO~O`5lO~O[5pO~Oa%nO'z%nO~P#/sO!]5uO#`5wO!^)UX~O!^5xO~Or6OOs!nO!S*iO!b!yO!c!vO!d!vO!|<VO#T!pO#U!pO#V!pO#W!pO#X!pO#[5}O#]!zO(U!lO(VTO(YUO(e!mO(o!sO~O!^5|O~P%;eOn6TO!_1oO%i6SO~Oh%VOn6TO!_1oO%i6SO~Ob6[O(T#nO(VTO(YUO!]'sX!^'sX~O!]1zO!^)Va~O(VTO(YUO(e6^O~O`6bO~Oj6eO&[6fO~PNXO!k6gO~P%[Oa6iO~Oa6iO~P%[Ob2bO!^6nO&j2aO~P`O!g6pO~O!g6rOh(ji!](ji!^(ji!g(ji!l(jir(ji(r(ji~O!]#hi!^#hi~P#BwO#`6sO!]#hi!^#hi~O!]!ai!^!ai~P#BwOa%nO#`6|O'z%nO~Oa%nO!g#vO#`6|O'z%nO~O!](tq!k(tqa(tq'z(tq~P!:tO!](jO!k(sq~O!S%hO!_%iO#j7TO(T%gO~O!_'`O%i7WO~On7[O!_'`O%i7WO~O#k'iaP'iaR'ia['iaa'iaj'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia'z'ia(a'ia(r'ia!k'ia!Y'ia'w'iav'ia!_'ia%i'ia!g'ia~P%-fO#k'kaP'kaR'ka['kaa'kaj'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka'z'ka(a'ka(r'ka!k'ka!Y'ka'w'kav'ka!_'ka%i'ka!g'ka~P%.XO#k$|iP$|iR$|i[$|ia$|ij$|ir$|i!S$|i!]$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i'z$|i(a$|i(r$|i!k$|i!Y$|i'w$|i#`$|iv$|i!_$|i%i$|i!g$|i~P#/sO#k%aiP%aiR%ai[%aia%aij%air%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai'z%ai(a%ai(r%ai!k%ai!Y%ai'w%aiv%ai!_%ai%i%ai!g%ai~P%5oO#k%ciP%ciR%ci[%cia%cij%cir%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci'z%ci(a%ci(r%ci!k%ci!Y%ci'w%civ%ci!_%ci%i%ci!g%ci~P%6bO!]'Ya!k'Ya~P!:tO!].tO!k(ki~O$O#ci!]#ci!^#ci~P#BwOP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mij#mir#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#n#mi~P%NdO#n<_O~P%NdOP$[OR#zOr<kO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO[#mij#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#r#mi~P&!lO#r<aO~P&!lOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO(aVO#x#mi#z#mi#{#mi$O#mi(r#mi(y#mi(z#mi!]#mi!^#mi~O#v#mi~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO(aVO(z#}O#z#mi#{#mi$O#mi(r#mi(y#mi!]#mi!^#mi~O#x<eO~P&&uO#x#mi~P&&uO#v<cO~P&$tOP$[OR#zO[<mOj<bOr<kO!Q#yO!S#{O!l#xO!p$[O#R<bO#n<_O#o<`O#p<`O#q<`O#r<aO#s<bO#t<bO#u<lO#v<cO#x<eO(aVO(y#|O(z#}O#{#mi$O#mi(r#mi!]#mi!^#mi~O#z#mi~P&)UO#z<gO~P&)UOa#|y!]#|y'z#|y'w#|y!Y#|y!k#|yv#|y!_#|y%i#|y!g#|y~P!:tO[#mij#mir#mi#R#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi$O#mi(r#mi!]#mi!^#mi~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O#n<_O#o<`O#p<`O#q<`O(aVO(y#mi(z#mi~P&,QOn>^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOr<QO!g#vO(r'pO~Ov(fX~P1qO!Q%rO~P!)[O(U!lO~P!)[O!YfX!]fX#`fX~P%2OOP]XR]X[]Xj]Xr]X!Q]X!S]X!]]X!]fX!l]X!p]X#R]X#S]X#`]X#`fX#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X~O!gfX!k]X!kfX(rfX~P'LTOP<UOQ<UOSfOd>ROe!iOpkOr<UOskOtkOzkO|<UO!O<UO!SWO!WkO!XkO!_XO!i<XO!lZO!o<UO!p<UO!q<UO!s<YO!u<]O!x!hO$W!kO$n>PO(T)]O(VTO(YUO(aVO(o[O~O!]<iO!^$qa~Oh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O<tO!S${O!_$|O!i>WO!l$xO#j<zO$W%`O$t<vO$v<xO$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Ol)dO~P(!yOr!eX(r!eX~P#!iOr(jX(r(jX~P##[O!^]X!^fX~P'LTO!YfX!Y$zX!]fX!]$zX#`fX~P!0SO#k<^O~O!g#vO#k<^O~O#`<nO~Oj<bO~O#`=OO!](wX!^(wX~O#`<nO!](uX!^(uX~O#k=PO~Og=RO~P!1WO#k=XO~O#k=YO~Og=RO(T&ZO~O!g#vO#k=ZO~O!g#vO#k=PO~O$O=[O~P#BwO#k=]O~O#k=^O~O#k=cO~O#k=dO~O#k=eO~O#k=fO~O$O=gO~P!1WO$O=hO~P!1WOl=sO~P7eOk#S#T#U#W#X#[#i#j#u$n$t$v$y%]%^%h%i%j%q%s%v%w%y%{~(OT#o!X'|(U#ps#n#qr!Q'}$]'}(T$_(e~",goto:"$9Y)]PPPPPP)^PP)aP)rP+W/]PPPP6mPP7TPP=QPPP@tPA^PA^PPPA^PCfPA^PA^PA^PCjPCoPD^PIWPPPI[PPPPI[L_PPPLeMVPI[PI[PP! eI[PPPI[PI[P!#lI[P!'S!(X!(bP!)U!)Y!)U!,gPPPPPPP!-W!(XPP!-h!/YP!2iI[I[!2n!5z!:h!:h!>gPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#<e#<k#<n)aP#<q)aP#<z#<z#<zP)aP)aP)aP)aPP)aP#=Q#=TP#=T)aP#=XP#=[P)aP)aP)aP)aP)aP)a)aPP#=b#=h#=s#=y#>P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{<Y%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_S#q]<V!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU+P%]<s<tQ+t&PQ,f&gQ,m&oQ0x+gQ0}+iQ1Y+uQ2R,kQ3`.gQ5`0|Q5f1TQ6[1zQ7Y3dQ8`5gR9e7['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>R>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o>U<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hW%Ti%V*y>PS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^T)z$u){V+P%]<s<tW'[!e%i*Z-`S(}#y#zQ+c%rQ+y&SS.b(m(nQ1j,XQ5T0kR8i5u'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vT#TV#U'RkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`<W=vS(o#p'iQ)P#zS+b%q.|S.c(n(pR3^.d'QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS#q]<VQ&t!XQ&u!YQ&w![Q&x!]R2Z,vQ'a!hQ+e%wQ-h'cS.e(q+hQ2x-gW3b.h.i0w0yQ6w2yW7U3_3a3e5^U9a7V7X7ZU:q9c9d9fS;b:p:sQ;p;cR;x;qU!wQ'`-eT5y1o5{!Q_OXZ`st!V!Z#d#h%e%m&i&k&r&t&u&w(j,s,x.[2[2_]!pQ!r'`-e1o5{T#q]<V%^{OPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S(}#y#zS.b(m(n!s=l$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uS<P;|;}R<S<QQ#wbQ's!uS(e#g2US(g#m+WQ+Y%fQ+j%xQ+p&OU-r'k't'wQ.W(fU/r*]*`/wQ0S*jQ0V*lQ1O+kQ1u,aS3R-s-vQ3Z.`S4e/s/tQ4n0PS4q0R0^Q4u0WQ6W1vQ7P3US7q4`4bQ7u4fU7|4r4x4{Q8P4wQ8v6XS9q7r7sQ9u7yQ9}8RQ:O8SQ:c8wQ:y9rS:z9v9xQ;S:QQ;^:dS;f:{;PS;r;g;hS;z;s;uS<O;{;}Q<R<PQ<T<SQ=o=jQ={=tR=|=uV!wQ'`-e%^aOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_S#wz!j!r=i$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!P<d)^)q-Z.|2k2n3p3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!f$Vc#Y%q(S(Y(t(y)W)X)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<W!T<f)^)q-Z.|2k2n3p3v3w3y3z4P4X6u7b7k7l8k9X9g9m9n;W;`=v!^$Zc#Y%q(S(Y(t(y)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:o<WQ4_/kz>S)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>SS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>ST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:m<U<X<Y<]<^<_<`<a<b<c<d<e<f<g<h<i<k<n<{=O=P=R=Z=[=e=f>S#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^Q+T%aQ/c*Oo4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!U$yi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n=r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hQ=w>TQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^o4O<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=hnoOXst!Z#d%m&r&t&u&w,s,x2[2_S*f${*YQ-R'OQ-S'QR4i/y%[%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;k<l<m<o<p<q<r<u<v<w<x<y<z=S=T=U=V=X=Y=]=^=_=`=a=b=c=d=g=h>P>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f<o#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<p<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!d=S(u)c*[*e.j.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f<q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k<o<q<u<w<y=S=U=X=]=_=a=c=g>]>^n<r<l<m<p<r<v<x<z=T=V=Y=^=`=b=d=h!h=U(u)c*[*e.k.l.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|<jQ-|<WR<j)qQ/q*]W4c/q4d7t9sU4d/r/s/tS7t4e4fR9s7u$e*Q$v(u)c)e*[*e*t*u+Q+R+V.l.m.o.p.q/_/g/i/k/v/|0d0e0v1e3f3g3h3}4R4[4g4h4l4|5O5R5S5W5r7]7^7_7`7e7f7h7i7j7p7w7z8U8X8Z9h9i9j9t9|:R:S:t:u:v:w:x:};R;e;j;v;y=p=}>O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.l<oQ.m<qQ.o<uQ.p<wQ.q<yQ/_)yQ/g*RQ/i*TQ/k*VQ/v*aS/|*g/mQ0d*wQ0e*xl0v+f,V.f1i1q3c6S7W8q9b:`:r;[;dQ1e,SQ3f=SQ3g=UQ3h=XS3}<l<mQ4R/PS4[/d4^Q4g/xQ4h/yQ4l/{Q4|0`Q5O0bQ5R0iQ5S0jQ5W0oQ5r1fQ7]=]Q7^=_Q7_=aQ7`=cQ7e<pQ7f<rQ7h<vQ7i<xQ7j<zQ7p4_Q7w4jQ7z4oQ8U5QQ8X5[Q8Z5_Q9h=YQ9i=TQ9j=VQ9t7vQ9|8QQ:R8VQ:S8[Q:t=^Q:u=`Q:v=bQ:w=dQ:x9pQ:}9yQ;R:PQ;e=gQ;j;QQ;v;kQ;y=hQ=p>PQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.n<sR7g<tnpOXst!Z#d%m&r&t&u&w,s,x2[2_Q!fPS#fZ#oQ&|!`W'h!o*i0]4zQ(P#SQ)Q#{Q)r$nS,l&k&nQ,q&oQ-O&{S-T'T/nQ-g'bQ.x)OQ/[)sQ0s+]Q0y+gQ2W,pQ2y-iQ3a.gQ4W/VQ5U0lQ6Q1rQ6c2SQ6d2TQ6h2VQ6j2XQ6o2aQ7Z3dQ7m4TQ8s6TQ9P6eQ9Q6fQ9S6iQ9f7[Q:a8tR:k9T#[cOPXZst!Z!`!o#d#o#{%m&k&n&o&r&t&u&w&{'T'b)O*i+]+g,p,s,x-i.g/n0]0l1r2S2T2V2X2[2_2a3d4z6T6e6f6i7[8t9TQ#YWQ#eYQ%quQ%svS%uw!gS(S#W(VQ(Y#ZQ(t#uQ(y#xQ)R$OQ)S$PQ)T$QQ)U$RQ)V$SQ)W$TQ)X$UQ)Y$VQ)Z$WQ)[$XQ)^$ZQ)`$_Q)b$aQ)g$eW)q$n)s/V4TQ+d%tQ+x&RS-Z'X2pQ-x'rS-}(T.PQ.S(]Q.U(dQ.s(xQ.v(zQ.z<UQ.|<XQ.}<YQ/O<]Q/b)}Q0p+XQ2k-UQ2n-XQ3O-qQ3V.VQ3k.tQ3p<^Q3q<_Q3r<`Q3s<aQ3t<bQ3u<cQ3v<dQ3w<eQ3x<fQ3y<gQ3z<hQ3{.{Q3|<kQ4P<nQ4Q<{Q4X<iQ5X0rQ5c1SQ6u=OQ6{3QQ7Q3WQ7a3lQ7b=PQ7k=RQ7l=ZQ8k5wQ9X6sQ9]6|Q9g=[Q9m=eQ9n=fQ:o9_Q;W:ZQ;`:mQ<W#SR=v>SR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i<VR)f$dY!uQ'`-e1o5{Q'k!rS'u!v!yS'w!z5}S-t'l'mQ-v'nR3T-uT#kZ%eS#jZ%eS%km,oU(g#h#i#lS.Y(h(iQ.^(jQ0t+^Q3Y.ZU3Z.[.]._S7S3[3]R9`7Td#^W#W#Z%h(T(^*Y+Z.T/mr#gZm#h#i#l%e(h(i(j+^.Z.[.]._3[3]7TS*]$x*bQ/t*^Q2U,oQ2l-VQ4`/pQ6q2dQ7s4aQ9W6rT=m'X+[V#aW%h*YU#`W%h*YS(U#W(^U(Z#Z+Z/mS-['X+[T.O(T.TV'^!e%i*ZQ$lfR)x$qT)m$l)nR4V/UT*_$x*bT*h${*YQ0w+fQ1g,VQ3_.fQ5t1iQ6P1qQ7X3cQ8r6SQ9c7WQ:^8qQ:p9bQ;Z:`Q;c:rQ;n;[R;q;dnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&l!VR,h&itmOXst!U!V!Z#d%m&i&r&t&u&w,s,x2[2_R,o&oT%lm,oR1k,XR,g&gQ&U|S+}&V&WR1^,OR+s&PT&p!W&sT&q!W&sT2^,x2_",nodeNames:"\u26A0 ArithOp ArithOp ?. JSXStartTag LineComment BlockComment Script Hashbang ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:Al,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[Gl],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$<r#p#q$=h#q#r$>x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr<Srs&}st%ZtuCruw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr(r<__WS$i&j(Wp(Z!bOY<SYZ&cZr<Srs=^sw<Swx@nx!^<S!^!_Bm!_#O<S#O#P>`#P#o<S#o#pBm#p;'S<S;'S;=`Cl<%lO<S(Q=g]WS$i&j(Z!bOY=^YZ&cZw=^wx>`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l<S%9[C}i$i&j(o%1l(Wp(Z!bOY%ZYZ&cZr%Zrs&}st%ZtuCruw%Zwx(rx!Q%Z!Q![Cr![!^%Z!^!_*g!_!c%Z!c!}Cr!}#O%Z#O#P&c#P#R%Z#R#SCr#S#T%Z#T#oCr#o#p*g#p$g%Z$g;'SCr;'S;=`El<%lOCr%9[EoP;=`<%lCr07[FRk$i&j(Wp(Z!b$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr+dHRk$i&j(Wp(Z!b$]#tOY%ZYZ&cZr%Zrs&}st%ZtuGvuw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Gv![!^%Z!^!_*g!_!c%Z!c!}Gv!}#O%Z#O#P&c#P#R%Z#R#SGv#S#T%Z#T#oGv#o#p*g#p$g%Z$g;'SGv;'S;=`Iv<%lOGv+dIyP;=`<%lGv07[JPP;=`<%lEr(KWJ_`$i&j(Wp(Z!b#p(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWKl_$i&j$Q(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,#xLva(z+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sv%ZvwM{wx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KWNW`$i&j#z(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At! c_(Y';W$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b'l!!i_$i&j(WpOY!!bYZ!#hZr!!brs!#hsw!!bwx!$xx!^!!b!^!_!%z!_#O!!b#O#P!#h#P#o!!b#o#p!%z#p;'S!!b;'S;=`!'c<%lO!!b&z!#mX$i&jOw!#hwx6cx!^!#h!^!_!$Y!_#o!#h#o#p!$Y#p;'S!#h;'S;=`!$r<%lO!#h`!$]TOw!$Ywx7]x;'S!$Y;'S;=`!$l<%lO!$Y`!$oP;=`<%l!$Y&z!$uP;=`<%l!#h'l!%R]$d`$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r!Q!&PZ(WpOY!%zYZ!$YZr!%zrs!$Ysw!%zwx!&rx#O!%z#O#P!$Y#P;'S!%z;'S;=`!']<%lO!%z!Q!&yU$d`(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r!Q!'`P;=`<%l!%z'l!'fP;=`<%l!!b/5|!'t_!l/.^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&U!)O_!k!Lf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z-!n!*[b$i&j(Wp(Z!b(U%&f#q(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!+d{!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW!+o`$i&j(Wp(Z!b#n(ChOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;x!,|`$i&j(Wp(Z!br+4YOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z,$U!.Z_!]+Jf$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!/ec$i&j(Wp(Z!b!Q.2^OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!0p!P!Q%Z!Q![!3Y![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!0ya$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!2O!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#%|!2Z_![!L^$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!3eg$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!3Y![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S!3Y#S#X%Z#X#Y!4|#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!5Vg$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!6n|}%Z}!O!6n!O!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!6wc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad!8_c$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!8S![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!8S#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[!9uf$i&j(Wp(Z!b#o(ChOY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcxz!;Zz{#-}{!P!;Z!P!Q#/d!Q!^!;Z!^!_#(i!_!`#7S!`!a#8i!a!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z?O!;fb$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z>^!<w`$i&j(Z!b!X7`OY!<nYZ&cZw!<nwx!=yx!P!<n!P!Q!Eq!Q!^!<n!^!_!Gr!_!}!<n!}#O!KS#O#P!Dy#P#o!<n#o#p!Gr#p;'S!<n;'S;=`!L]<%lO!<n<z!>Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!?Td$i&j!X7`O!^&c!_#W&c#W#X!>|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c<z!C][$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#O!CW#O#P!DR#P#Q!=y#Q#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DWX$i&jOY!CWYZ&cZ!^!CW!^!_!Ar!_#o!CW#o#p!Ar#p;'S!CW;'S;=`!Ds<%lO!CW<z!DvP;=`<%l!CW<z!EOX$i&jOY!=yYZ&cZ!^!=y!^!_!@c!_#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y<z!EnP;=`<%l!=y>^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!<n#Q#o!KS#o#p!JU#p;'S!KS;'S;=`!LV<%lO!KS>^!LYP;=`<%l!KS>^!L`P;=`<%l!<n=l!Ll`$i&j(Wp!X7`OY!LcYZ&cZr!Lcrs!=ys!P!Lc!P!Q!Mn!Q!^!Lc!^!_# o!_!}!Lc!}#O#%P#O#P!Dy#P#o!Lc#o#p# o#p;'S!Lc;'S;=`#&Y<%lO!Lc=l!Mwl$i&j(Wp!X7`OY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#W(r#W#X!Mn#X#Z(r#Z#[!Mn#[#](r#]#^!Mn#^#a(r#a#b!Mn#b#g(r#g#h!Mn#h#i(r#i#j!Mn#j#k!Mn#k#m(r#m#n!Mn#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r8Q# vZ(Wp!X7`OY# oZr# ors!@cs!P# o!P!Q#!i!Q!}# o!}#O#$R#O#P!Bq#P;'S# o;'S;=`#$y<%lO# o8Q#!pe(Wp!X7`OY)rZr)rs#O)r#P#W)r#W#X#!i#X#Z)r#Z#[#!i#[#])r#]#^#!i#^#a)r#a#b#!i#b#g)r#g#h#!i#h#i)r#i#j#!i#j#k#!i#k#m)r#m#n#!i#n;'S)r;'S;=`*Z<%lO)r8Q#$WX(WpOY#$RZr#$Rrs!Ars#O#$R#O#P!B[#P#Q# o#Q;'S#$R;'S;=`#$s<%lO#$R8Q#$vP;=`<%l#$R8Q#$|P;=`<%l# o=l#%W^$i&j(WpOY#%PYZ&cZr#%Prs!CWs!^#%P!^!_#$R!_#O#%P#O#P!DR#P#Q!Lc#Q#o#%P#o#p#$R#p;'S#%P;'S;=`#&S<%lO#%P=l#&VP;=`<%l#%P=l#&]P;=`<%l!Lc?O#&kn$i&j(Wp(Z!b!X7`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#W%Z#W#X#&`#X#Z%Z#Z#[#&`#[#]%Z#]#^#&`#^#a%Z#a#b#&`#b#g%Z#g#h#&`#h#i%Z#i#j#&`#j#k#&`#k#m%Z#m#n#&`#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z9d#(r](Wp(Z!b!X7`OY#(iZr#(irs!Grsw#(iwx# ox!P#(i!P!Q#)k!Q!}#(i!}#O#+`#O#P!Bq#P;'S#(i;'S;=`#,`<%lO#(i9d#)th(Wp(Z!b!X7`OY*gZr*grs'}sw*gwx)rx#O*g#P#W*g#W#X#)k#X#Z*g#Z#[#)k#[#]*g#]#^#)k#^#a*g#a#b#)k#b#g*g#g#h#)k#h#i*g#i#j#)k#j#k#)k#k#m*g#m#n#)k#n;'S*g;'S;=`+Z<%lO*g9d#+gZ(Wp(Z!bOY#+`Zr#+`rs!JUsw#+`wx#$Rx#O#+`#O#P!B[#P#Q#(i#Q;'S#+`;'S;=`#,Y<%lO#+`9d#,]P;=`<%l#+`9d#,cP;=`<%l#(i?O#,o`$i&j(Wp(Z!bOY#,fYZ&cZr#,frs!KSsw#,fwx#%Px!^#,f!^!_#+`!_#O#,f#O#P!DR#P#Q!;Z#Q#o#,f#o#p#+`#p;'S#,f;'S;=`#-q<%lO#,f?O#-tP;=`<%l#,f?O#-zP;=`<%l!;Z07[#.[b$i&j(Wp(Z!b(O0/l!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z07[#/o_$i&j(Wp(Z!bT0/lOY#/dYZ&cZr#/drs#0nsw#/dwx#4Ox!^#/d!^!_#5}!_#O#/d#O#P#1p#P#o#/d#o#p#5}#p;'S#/d;'S;=`#6|<%lO#/d06j#0w]$i&j(Z!bT0/lOY#0nYZ&cZw#0nwx#1px!^#0n!^!_#3R!_#O#0n#O#P#1p#P#o#0n#o#p#3R#p;'S#0n;'S;=`#3x<%lO#0n05W#1wX$i&jT0/lOY#1pYZ&cZ!^#1p!^!_#2d!_#o#1p#o#p#2d#p;'S#1p;'S;=`#2{<%lO#1p0/l#2iST0/lOY#2dZ;'S#2d;'S;=`#2u<%lO#2d0/l#2xP;=`<%l#2d05W#3OP;=`<%l#1p01O#3YW(Z!bT0/lOY#3RZw#3Rwx#2dx#O#3R#O#P#2d#P;'S#3R;'S;=`#3r<%lO#3R01O#3uP;=`<%l#3R06j#3{P;=`<%l#0n05x#4X]$i&j(WpT0/lOY#4OYZ&cZr#4Ors#1ps!^#4O!^!_#5Q!_#O#4O#O#P#1p#P#o#4O#o#p#5Q#p;'S#4O;'S;=`#5w<%lO#4O00^#5XW(WpT0/lOY#5QZr#5Qrs#2ds#O#5Q#O#P#2d#P;'S#5Q;'S;=`#5q<%lO#5Q00^#5tP;=`<%l#5Q05x#5zP;=`<%l#4O01p#6WY(Wp(Z!bT0/lOY#5}Zr#5}rs#3Rsw#5}wx#5Qx#O#5}#O#P#2d#P;'S#5};'S;=`#6v<%lO#5}01p#6yP;=`<%l#5}07[#7PP;=`<%l#/d)3h#7ab$i&j$Q(Ch(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;ZAt#8vb$Z#t$i&j(Wp(Z!b!X7`OY!;ZYZ&cZr!;Zrs!<nsw!;Zwx!Lcx!P!;Z!P!Q#&`!Q!^!;Z!^!_#(i!_!}!;Z!}#O#,f#O#P!Dy#P#o!;Z#o#p#(i#p;'S!;Z;'S;=`#-w<%lO!;Z'Ad#:Zp$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#U%Z#U#V#?i#V#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#<jk$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!3Y!P!Q%Z!Q![#<_![!^%Z!^!_*g!_!g%Z!g!h!4|!h#O%Z#O#P&c#P#R%Z#R#S#<_#S#X%Z#X#Y!4|#Y#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-<U(Wp(Z!b$n7`OY*gZr*grs'}sw*gwx)rx!P*g!P!Q#MO!Q!^*g!^!_#Mt!_!`$ f!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#MXX$k&j(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El#M}Z#r(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Np!`#O*g#P;'S*g;'S;=`+Z<%lO*g(El#NyX$Q(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g(El$ oX#s(Ch(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g*)x$!ga#`*!Y$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a$#l!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(K[$#w_#k(Cl$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x$%Vag!*r#s(Ch$f#|$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`$&[!`!a$'f!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$&g_#s(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$'qa#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`!a$(v!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$)R`#r(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(Kd$*`a(r(Ct$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!a%Z!a!b$+e!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$+p`$i&j#{(Ch(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`$,}_!|$Ip$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f$.X_!S0,v$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$/]Z$i&jO!^$0O!^!_$0f!_#i$0O#i#j$0k#j#l$0O#l#m$2^#m#o$0O#o#p$0f#p;'S$0O;'S;=`$4i<%lO$0O(n$0VT_#S$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$0kO_#S(n$0p[$i&jO!Q&c!Q![$1f![!^&c!_!c&c!c!i$1f!i#T&c#T#Z$1f#Z#o&c#o#p$3|#p;'S&c;'S;=`&w<%lO&c(n$1kZ$i&jO!Q&c!Q![$2^![!^&c!_!c&c!c!i$2^!i#T&c#T#Z$2^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$2cZ$i&jO!Q&c!Q![$3U![!^&c!_!c&c!c!i$3U!i#T&c#T#Z$3U#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$3ZZ$i&jO!Q&c!Q![$0O![!^&c!_!c&c!c!i$0O!i#T&c#T#Z$0O#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$4PR!Q![$4Y!c!i$4Y#T#Z$4Y#S$4]S!Q![$4Y!c!i$4Y#T#Z$4Y#q#r$0f(n$4lP;=`<%l$0O#1[$4z_!Y#)l$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW$6U`#x(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z+;p$7c_$i&j(Wp(Z!b(a+4QOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$8qk$i&j(Wp(Z!b(T,2j$_#t(e$I[OY%ZYZ&cZr%Zrs&}st%Ztu$8buw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$8b![!^%Z!^!_*g!_!c%Z!c!}$8b!}#O%Z#O#P&c#P#R%Z#R#S$8b#S#T%Z#T#o$8b#o#p*g#p$g%Z$g;'S$8b;'S;=`$<l<%lO$8b+d$:qk$i&j(Wp(Z!b$_#tOY%ZYZ&cZr%Zrs&}st%Ztu$:fuw%Zwx(rx}%Z}!O$:f!O!Q%Z!Q![$:f![!^%Z!^!_*g!_!c%Z!c!}$:f!}#O%Z#O#P&c#P#R%Z#R#S$:f#S#T%Z#T#o$:f#o#p*g#p$g%Z$g;'S$:f;'S;=`$<f<%lO$:f+d$<iP;=`<%l$:f07[$<oP;=`<%l$8b#Jf$<{X!_#Hb(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g,#x$=sa(y+JY$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Ka!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$+e#q;'S%Z;'S;=`+a<%lO%Z)>v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[Vl,ql,Wl,Il,2,3,4,5,6,7,8,9,10,11,12,13,14,Ml,new ee.LocalTokenGroup("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new ee.LocalTokenGroup("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:a=>Ul[a]||-1},{term:343,get:a=>Nl[a]||-1},{term:95,get:a=>Bl[a]||-1}],tokenPrec:15201});var E=require("@codemirror/language"),Bi=require("@codemirror/state"),Hi=require("@codemirror/view"),A=require("@codemirror/autocomplete"),Tt=require("@lezer/common"),Fi=[(0,A.snippetCompletion)("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),(0,A.snippetCompletion)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),(0,A.snippetCompletion)("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),(0,A.snippetCompletion)("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),(0,A.snippetCompletion)("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),(0,A.snippetCompletion)(`try {
\${}
} catch (\${error}) {
\${}
}`,{label:"try",detail:"/ catch block",type:"keyword"}),(0,A.snippetCompletion)("if (${}) {\n ${}\n}",{label:"if",detail:"block",type:"keyword"}),(0,A.snippetCompletion)(`if (\${}) {
\${}
} else {
\${}
}`,{label:"if",detail:"/ else block",type:"keyword"}),(0,A.snippetCompletion)(`class \${name} {
constructor(\${params}) {
\${}
}
}`,{label:"class",detail:"definition",type:"keyword"}),(0,A.snippetCompletion)('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),(0,A.snippetCompletion)('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Hl=Fi.concat([(0,A.snippetCompletion)("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),(0,A.snippetCompletion)("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),(0,A.snippetCompletion)("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Gi=new Tt.NodeWeakMap,Ji=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function nt(a){return(e,t)=>{let s=e.node.getChild("VariableDefinition");return s&&t(s,a),!0}}var Fl=["FunctionDeclaration"],Jl={FunctionDeclaration:nt("function"),ClassDeclaration:nt("class"),ClassExpression:()=>!0,EnumDeclaration:nt("constant"),TypeAliasDeclaration:nt("type"),NamespaceDeclaration:nt("namespace"),VariableDefinition(a,e){a.matchContext(Fl)||e(a,"variable")},TypeDefinition(a,e){e(a,"type")},__proto__:null};function Ki(a,e){let t=Gi.get(e);if(t)return t;let s=[],i=!0;function r(n,o){let l=a.sliceString(n.from,n.to);s.push({label:l,type:o})}return e.cursor(Tt.IterMode.IncludeAnonymous).iterate(n=>{if(i)i=!1;else if(n.name){let o=Jl[n.name];if(o&&o(n,r)||Ji.has(n.name))return!1}else if(n.to-n.from>8192){for(let o of Ki(a,n.node))s.push(o);return!1}}),Gi.set(e,s),s}var Ui=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,er=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Kl(a){let e=(0,E.syntaxTree)(a.state).resolveInner(a.pos,-1);if(er.indexOf(e.name)>-1)return null;let t=e.name=="VariableName"||e.to-e.from<20&&Ui.test(a.state.sliceDoc(e.from,e.to));if(!t&&!a.explicit)return null;let s=[];for(let i=e;i;i=i.parent)Ji.has(i.name)&&(s=s.concat(Ki(a.state.doc,i)));return{options:s,from:t?e.from:a.pos,validFor:Ui}}var le=E.LRLanguage.define({name:"javascript",parser:Ii.configure({props:[E.indentNodeProp.add({IfStatement:(0,E.continuedIndent)({except:/^\s*({|else\b)/}),TryStatement:(0,E.continuedIndent)({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:E.flatIndent,SwitchBody:a=>{let e=a.textAfter,t=/^\s*\}/.test(e),s=/^\s*(case|default)\b/.test(e);return a.baseIndent+(t?0:s?1:2)*a.unit},Block:(0,E.delimitedIndent)({closing:"}"}),ArrowFunction:a=>a.baseIndent+a.unit,"TemplateString BlockComment":()=>null,"Statement Property":(0,E.continuedIndent)({except:/^\s*{/}),JSXElement(a){let e=/^\s*<\//.test(a.textAfter);return a.lineIndent(a.node.from)+(e?0:a.unit)},JSXEscape(a){let e=/\s*\}/.test(a.textAfter);return a.lineIndent(a.node.from)+(e?0:a.unit)},"JSXOpenTag JSXSelfClosingTag"(a){return a.column(a.node.from)+a.unit}}),E.foldNodeProp.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":E.foldInside,BlockComment(a){return{from:a.from+2,to:a.to-2}},JSXElement(a){let e=a.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let t=a.lastChild;return{from:e.to,to:t.type.isError?a.to:t.from}},"JSXSelfClosingTag JSXOpenTag"(a){var e;let t=(e=a.firstChild)===null||e===void 0?void 0:e.nextSibling,s=a.lastChild;return!t||t.type.isError?null:{from:t.to,to:s.type.isError?a.to:s.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),tr={test:a=>/^JSX/.test(a.name),facet:(0,E.defineLanguageFacet)({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Aa=le.configure({dialect:"ts"},"typescript"),Ma=le.configure({dialect:"jsx",props:[E.sublanguageProp.add(a=>a.isTop?[tr]:void 0)]}),Va=le.configure({dialect:"jsx ts",props:[E.sublanguageProp.add(a=>a.isTop?[tr]:void 0)]},"typescript"),ar=a=>({label:a,type:"keyword"}),sr="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(ar),eO=sr.concat(["declare","implements","private","protected","public"].map(ar));function ir(a={}){let e=a.jsx?a.typescript?Va:Ma:a.typescript?Aa:le,t=a.typescript?Hl.concat(eO):Fi.concat(sr);return new E.LanguageSupport(e,[le.data.of({autocomplete:(0,A.ifNotIn)(er,(0,A.completeFromList)(t))}),le.data.of({autocomplete:Kl}),a.jsx?sO:[]])}function tO(a){for(;;){if(a.name=="JSXOpenTag"||a.name=="JSXSelfClosingTag"||a.name=="JSXFragmentTag")return a;if(a.name=="JSXEscape"||!a.parent)return null;a=a.parent}}function Ni(a,e,t=a.length){for(let s=e?.firstChild;s;s=s.nextSibling)if(s.name=="JSXIdentifier"||s.name=="JSXBuiltin"||s.name=="JSXNamespacedName"||s.name=="JSXMemberExpression")return a.sliceString(s.from,Math.min(s.to,t));return""}var aO=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),sO=Hi.EditorView.inputHandler.of((a,e,t,s,i)=>{if((aO?a.composing:a.compositionStarted)||a.state.readOnly||e!=t||s!=">"&&s!="/"||!le.isActiveAt(a.state,e,-1))return!1;let r=i(),{state:n}=r,o=n.changeByRange(l=>{var O;let{head:c}=l,d=(0,E.syntaxTree)(n).resolveInner(c-1,-1),p;if(d.name=="JSXStartTag"&&(d=d.parent),!(n.doc.sliceString(c-1,c)!=s||d.name=="JSXAttributeValue"&&d.to>c)){if(s==">"&&d.name=="JSXFragmentTag")return{range:l,changes:{from:c,insert:"</>"}};if(s=="/"&&d.name=="JSXStartCloseTag"){let u=d.parent,g=u.parent;if(g&&u.from==c-2&&((p=Ni(n.doc,g.firstChild,c))||((O=g.firstChild)===null||O===void 0?void 0:O.name)=="JSXFragmentTag")){let f=`${p}>`;return{range:Bi.EditorSelection.cursor(c+f.length,-1),changes:{from:c,insert:f}}}}else if(s==">"){let u=tO(d);if(u&&u.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(n.doc.sliceString(c,c+2))&&(p=Ni(n.doc,u,c)))return{range:l,changes:{from:c,insert:`</${p}>`}}}}return{range:l}});return o.changes.empty?!1:(a.dispatch([r,n.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var lr=require("@codemirror/view"),Or=require("@codemirror/state"),ae=require("@codemirror/language"),ot=["_blank","_self","_top","_parent"],qa=["ascii","utf-8","utf-16","latin1","latin1"],Wa=["get","post","put","delete"],Ia=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],te=["true","false"],Q={},iO={a:{attrs:{href:null,ping:null,type:null,media:null,target:ot,hreflang:null}},abbr:Q,address:Q,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Q,aside:Q,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Q,base:{attrs:{href:null,target:ot}},bdi:Q,bdo:Q,blockquote:{attrs:{cite:null}},body:Q,br:Q,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ia,formmethod:Wa,formnovalidate:["novalidate"],formtarget:ot,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Q,center:Q,cite:Q,code:Q,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Q,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Q,div:Q,dl:Q,dt:Q,em:Q,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Q,figure:Q,footer:Q,form:{attrs:{action:null,name:null,"accept-charset":qa,autocomplete:["on","off"],enctype:Ia,method:Wa,novalidate:["novalidate"],target:ot}},h1:Q,h2:Q,h3:Q,h4:Q,h5:Q,h6:Q,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Q,hgroup:Q,hr:Q,html:{attrs:{manifest:null}},i:Q,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ia,formmethod:Wa,formnovalidate:["novalidate"],formtarget:ot,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Q,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Q,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Q,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:qa,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Q,noscript:Q,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Q,param:{attrs:{name:null,value:null}},pre:Q,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Q,rt:Q,ruby:Q,samp:Q,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:qa}},section:Q,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Q,source:{attrs:{src:null,type:null,media:null}},span:Q,strong:Q,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Q,summary:Q,sup:Q,table:Q,tbody:Q,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Q,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Q,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Q,time:{attrs:{datetime:null}},title:Q,tr:Q,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Q,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Q},cr={accesskey:null,class:null,contenteditable:te,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:te,autocorrect:te,autocapitalize:te,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":te,"aria-autocomplete":["inline","list","both","none"],"aria-busy":te,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":te,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":te,"aria-hidden":te,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":te,"aria-multiselectable":te,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":te,"aria-relevant":null,"aria-required":te,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},dr="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(a=>"on"+a);for(let a of dr)cr[a]=null;var Ee=class{constructor(e,t){this.tags={...iO,...e},this.globalAttrs={...cr,...t},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}};Ee.default=new Ee;function Me(a,e,t=a.length){if(!e)return"";let s=e.firstChild,i=s&&s.getChild("TagName");return i?a.sliceString(i.from,Math.min(i.to,t)):""}function Ve(a,e=!1){for(;a;a=a.parent)if(a.name=="Element")if(e)e=!1;else return a;return null}function pr(a,e,t){let s=t.tags[Me(a,Ve(e))];return s?.children||t.allTags}function Ga(a,e){let t=[];for(let s=Ve(e);s&&!s.type.isTop;s=Ve(s.parent)){let i=Me(a,s);if(i&&s.lastChild.name=="CloseTag")break;i&&t.indexOf(i)<0&&(e.name=="EndTag"||e.from>=s.firstChild.to)&&t.push(i)}return t}var ur=/^[:\-\.\w\u00b7-\uffff]*$/;function rr(a,e,t,s,i){let r=/\s*>/.test(a.sliceDoc(i,i+5))?"":">",n=Ve(t,t.name=="StartTag"||t.name=="TagName");return{from:s,to:i,options:pr(a.doc,n,e).map(o=>({label:o,type:"type"})).concat(Ga(a.doc,t).map((o,l)=>({label:"/"+o,apply:"/"+o+r,type:"type",boost:99-l}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function nr(a,e,t,s){let i=/\s*>/.test(a.sliceDoc(s,s+5))?"":">";return{from:t,to:s,options:Ga(a.doc,e).map((r,n)=>({label:r,apply:r+i,type:"type",boost:99-n})),validFor:ur}}function rO(a,e,t,s){let i=[],r=0;for(let n of pr(a.doc,t,e))i.push({label:"<"+n,type:"type"});for(let n of Ga(a.doc,t))i.push({label:"</"+n+">",type:"type",boost:99-r++});return{from:s,to:s,options:i,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function nO(a,e,t,s,i){let r=Ve(t),n=r?e.tags[Me(a.doc,r)]:null,o=n&&n.attrs?Object.keys(n.attrs):[],l=n&&n.globalAttrs===!1?o:o.length?o.concat(e.globalAttrNames):e.globalAttrNames;return{from:s,to:i,options:l.map(O=>({label:O,type:"property"})),validFor:ur}}function oO(a,e,t,s,i){var r;let n=(r=t.parent)===null||r===void 0?void 0:r.getChild("AttributeName"),o=[],l;if(n){let O=a.sliceDoc(n.from,n.to),c=e.globalAttrs[O];if(!c){let d=Ve(t),p=d?e.tags[Me(a.doc,d)]:null;c=p?.attrs&&p.attrs[O]}if(c){let d=a.sliceDoc(s,i).toLowerCase(),p='"',u='"';/^['"]/.test(d)?(l=d[0]=='"'?/^[^"]*$/:/^[^']*$/,p="",u=a.sliceDoc(i,i+1)==d[0]?"":d[0],d=d.slice(1),s++):l=/^[^\s<>='"]*$/;for(let g of c)o.push({label:g,apply:p+g+u,type:"constant"})}}return{from:s,to:i,options:o,validFor:l}}function hr(a,e){let{state:t,pos:s}=e,i=(0,ae.syntaxTree)(t).resolveInner(s,-1),r=i.resolve(s);for(let n=s,o;r==i&&(o=i.childBefore(n));){let l=o.lastChild;if(!l||!l.type.isError||l.from<l.to)break;r=i=o,n=l.from}return i.name=="TagName"?i.parent&&/CloseTag$/.test(i.parent.name)?nr(t,i,i.from,s):rr(t,a,i,i.from,s):i.name=="StartTag"||i.name=="IncompleteTag"?rr(t,a,i,s,s):i.name=="StartCloseTag"||i.name=="IncompleteCloseTag"?nr(t,i,s,s):i.name=="OpenTag"||i.name=="SelfClosingTag"||i.name=="AttributeName"?nO(t,a,i,i.name=="AttributeName"?i.from:s,s):i.name=="Is"||i.name=="AttributeValue"||i.name=="UnquotedAttributeValue"?oO(t,a,i,i.name=="Is"?s:i.from,s):e.explicit&&(r.name=="Element"||r.name=="Text"||r.name=="Document")?rO(t,a,i,s):null}function mr(a){return hr(Ee.default,a)}function lO(a){let{extraTags:e,extraGlobalAttributes:t}=a,s=t||e?new Ee(e,t):Ee.default;return i=>hr(s,i)}var OO=le.parser.configure({top:"SingleExpression"}),fr=[{tag:"script",attrs:a=>a.type=="text/typescript"||a.lang=="ts",parser:Aa.parser},{tag:"script",attrs:a=>a.type=="text/babel"||a.type=="text/jsx",parser:Ma.parser},{tag:"script",attrs:a=>a.type=="text/typescript-jsx",parser:Va.parser},{tag:"script",attrs(a){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(a.type)},parser:OO},{tag:"script",attrs(a){return!a.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(a.type)},parser:le.parser},{tag:"style",attrs(a){return(!a.lang||a.lang=="css")&&(!a.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(a.type))},parser:rt.parser}],gr=[{name:"style",parser:rt.parser.configure({top:"Styles"})}].concat(dr.map(a=>({name:a,parser:le.parser}))),Qr=ae.LRLanguage.define({name:"html",parser:Ti.configure({props:[ae.indentNodeProp.add({Element(a){let e=/^(\s*)(<\/)?/.exec(a.textAfter);return a.node.to<=a.pos+e[0].length?a.continue():a.lineIndent(a.node.from)+(e[2]?0:a.unit)},"OpenTag CloseTag SelfClosingTag"(a){return a.column(a.node.from)+a.unit},Document(a){if(a.pos+/\s*/.exec(a.textAfter)[0].length<a.node.to)return a.continue();let e=null,t;for(let s=a.node;;){let i=s.lastChild;if(!i||i.name!="Element"||i.to!=s.to)break;e=s=i}return e&&!((t=e.lastChild)&&(t.name=="CloseTag"||t.name=="SelfClosingTag"))?a.lineIndent(e.from)+a.unit:null}}),ae.foldNodeProp.add({Element(a){let e=a.firstChild,t=a.lastChild;return!e||e.name!="OpenTag"?null:{from:e.to,to:t.name=="CloseTag"?t.from:a.to}}}),ae.bracketMatchingHandle.add({"OpenTag CloseTag":a=>a.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),Xt=Qr.configure({wrap:ja(fr,gr)});function Sr(a={}){let e="",t;a.matchClosingTags===!1&&(e="noMatch"),a.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(a.nestedLanguages&&a.nestedLanguages.length||a.nestedAttributes&&a.nestedAttributes.length)&&(t=ja((a.nestedLanguages||[]).concat(fr),(a.nestedAttributes||[]).concat(gr)));let s=t?Qr.configure({wrap:t,dialect:e}):e?Xt.configure({dialect:e}):Xt;return new ae.LanguageSupport(s,[Xt.data.of({autocomplete:lO(a)}),a.autoCloseTags!==!1?cO:[],ir().support,Vi().support])}var or=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cO=lr.EditorView.inputHandler.of((a,e,t,s,i)=>{if(a.composing||a.state.readOnly||e!=t||s!=">"&&s!="/"||!Xt.isActiveAt(a.state,e,-1))return!1;let r=i(),{state:n}=r,o=n.changeByRange(l=>{var O,c,d;let p=n.doc.sliceString(l.from-1,l.to)==s,{head:u}=l,g=(0,ae.syntaxTree)(n).resolveInner(u,-1),f;if(p&&s==">"&&g.name=="EndTag"){let w=g.parent;if(((c=(O=w.parent)===null||O===void 0?void 0:O.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(f=Me(n.doc,w.parent,u))&&!or.has(f)){let P=u+(n.doc.sliceString(u,u+1)===">"?1:0),Z=`</${f}>`;return{range:l,changes:{from:u,to:P,insert:Z}}}}else if(p&&s=="/"&&g.name=="IncompleteCloseTag"){let w=g.parent;if(g.from==u-2&&((d=w.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(f=Me(n.doc,w,u))&&!or.has(f)){let P=u+(n.doc.sliceString(u,u+1)===">"?1:0),Z=`${f}>`;return{range:Or.EditorSelection.cursor(u+Z.length,-1),changes:{from:u,to:P,insert:Z}}}}return{range:l}});return o.changes.empty?!1:(a.dispatch([r,n.update(o,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});var kr=require("@lezer/common"),Pr=(0,_.defineLanguageFacet)({commentTokens:{block:{open:"<!--",close:"-->"}}}),yr=new kr.NodeProp,wr=ii.configure({props:[_.foldNodeProp.add(a=>!a.is("Block")||a.is("Document")||Ba(a)!=null||dO(a)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),yr.add(Ba),_.indentNodeProp.add({Document:()=>null}),_.languageDataProp.add({Document:Pr})]});function Ba(a){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(a.name);return e?+e[1]:void 0}function dO(a){return a.name=="OrderedList"||a.name=="BulletList"}function pO(a,e){let t=a;for(;;){let s=t.nextSibling,i;if(!s||(i=Ba(s.type))!=null&&i<=e)break;t=s}return t.to}var uO=_.foldService.of((a,e,t)=>{for(let s=(0,_.syntaxTree)(a).resolveInner(t,-1);s&&!(s.from<e);s=s.parent){let i=s.type.prop(yr);if(i==null)continue;let r=pO(s,i);if(r>t)return{from:t,to:r}}return null});function Ha(a){return new _.Language(Pr,a,[],"markdown")}var hO=Ha(wr),mO=wr.configure([oi,ci,Oi,di,{props:[_.foldNodeProp.add({Table:(a,e)=>({from:e.doc.lineAt(a.from).to,to:a.to})})]}]),_t=Ha(mO);function fO(a,e){return t=>{if(t&&a){let s=null;if(t=/\S*/.exec(t)[0],typeof a=="function"?s=a(t):s=_.LanguageDescription.matchLanguageName(a,t,!0),s instanceof _.LanguageDescription)return s.support?s.support.language.parser:_.ParseContext.getSkippingParser(s.load());if(s)return s.parser}return e?e.parser:null}}var lt=class{constructor(e,t,s,i,r,n,o){this.node=e,this.from=t,this.to=s,this.spaceBefore=i,this.spaceAfter=r,this.type=n,this.item=o}blank(e,t=!0){let s=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;s.length<e;)s+=" ";return s}else{for(let i=this.to-this.from-s.length-this.spaceAfter.length;i>0;i--)s+=" ";return s+(t?this.spaceAfter:"")}}marker(e,t){let s=this.node.name=="OrderedList"?String(+Zr(this.item,e)[2]+t):"";return this.spaceBefore+s+this.type+this.spaceAfter}};function xr(a,e){let t=[],s=[];for(let i=a;i;i=i.parent){if(i.name=="FencedCode")return s;(i.name=="ListItem"||i.name=="Blockquote")&&t.push(i)}for(let i=t.length-1;i>=0;i--){let r=t[i],n,o=e.lineAt(r.from),l=r.from-o.from;if(r.name=="Blockquote"&&(n=/^ *>( ?)/.exec(o.text.slice(l))))s.push(new lt(r,l,l+n[0].length,"",n[1],">",null));else if(r.name=="ListItem"&&r.parent.name=="OrderedList"&&(n=/^( *)\d+([.)])( *)/.exec(o.text.slice(l)))){let O=n[3],c=n[0].length;O.length>=4&&(O=O.slice(0,O.length-4),c-=4),s.push(new lt(r.parent,l,l+c,n[1],O,n[2],r))}else if(r.name=="ListItem"&&r.parent.name=="BulletList"&&(n=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(o.text.slice(l)))){let O=n[4],c=n[0].length;O.length>4&&(O=O.slice(0,O.length-4),c-=4);let d=n[2];n[3]&&(d+=n[3].replace(/[xX]/," ")),s.push(new lt(r.parent,l,l+c,n[1],O,d,r))}}return s}function Zr(a,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(a.from,a.from+10))}function Ua(a,e,t,s=0){for(let i=-1,r=a;;){if(r.name=="ListItem"){let o=Zr(r,e),l=+o[2];if(i>=0){if(l!=i+1)return;t.push({from:r.from+o[1].length,to:r.from+o[0].length,insert:String(i+2+s)})}i=l}let n=r.nextSibling;if(!n)break;r=n}}function Fa(a,e){let t=/^[ \t]*/.exec(a)[0].length;if(!t||e.facet(_.indentUnit)!=" ")return a;let s=(0,V.countColumn)(a,4,t),i="";for(let r=s;r>0;)r>=4?(i+=" ",r-=4):(i+=" ",r--);return i+a.slice(t)}var gO=(a={})=>({state:e,dispatch:t})=>{let s=(0,_.syntaxTree)(e),{doc:i}=e,r=null,n=e.changeByRange(o=>{if(!o.empty||!_t.isActiveAt(e,o.from,-1)&&!_t.isActiveAt(e,o.from,1))return r={range:o};let l=o.from,O=i.lineAt(l),c=xr(s.resolveInner(l,-1),i);for(;c.length&&c[c.length-1].from>l-O.from;)c.pop();if(!c.length)return r={range:o};let d=c[c.length-1];if(d.to-d.spaceAfter.length>l-O.from)return r={range:o};let p=l>=d.to-d.spaceAfter.length&&!/\S/.test(O.text.slice(d.to));if(d.item&&p){let P=d.node.firstChild,Z=d.node.getChild("ListItem","ListItem");if(P.to>=l||Z&&Z.to<l||O.from>0&&!/[^\s>]/.test(i.lineAt(O.from-1).text)||a.nonTightLists===!1){let Y=c.length>1?c[c.length-2]:null,ge,Te="";Y&&Y.item?(ge=O.from+Y.from,Te=Y.marker(i,1)):ge=O.from+(Y?Y.to:0);let He=[{from:ge,to:l,insert:Te}];return d.node.name=="OrderedList"&&Ua(d.item,i,He,-2),Y&&Y.node.name=="OrderedList"&&Ua(Y.item,i,He),{range:V.EditorSelection.cursor(ge+Te.length),changes:He}}else{let Y=$r(c,e,O);return{range:V.EditorSelection.cursor(l+Y.length+1),changes:{from:O.from,insert:Y+e.lineBreak}}}}if(d.node.name=="Blockquote"&&p&&O.from){let P=i.lineAt(O.from-1),Z=/>\s*$/.exec(P.text);if(Z&&Z.index==d.from){let Y=e.changes([{from:P.from+Z.index,to:P.to},{from:O.from+d.from,to:O.to}]);return{range:o.map(Y),changes:Y}}}let u=[];d.node.name=="OrderedList"&&Ua(d.item,i,u);let g=d.item&&d.item.from<O.from,f="";if(!g||/^[\s\d.)\-+*>]*/.exec(O.text)[0].length>=d.to)for(let P=0,Z=c.length-1;P<=Z;P++)f+=P==Z&&!g?c[P].marker(i,1):c[P].blank(P<Z?(0,V.countColumn)(O.text,4,c[P+1].from)-f.length:null);let w=l;for(;w>O.from&&/\s/.test(O.text.charAt(w-O.from-1));)w--;return f=Fa(f,e),SO(d.node,e.doc)&&(f=$r(c,e,O)+e.lineBreak+f),u.push({from:w,to:l,insert:e.lineBreak+f}),{range:V.EditorSelection.cursor(w+f.length+1),changes:u}});return r?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0)},QO=gO();function vr(a){return a.name=="QuoteMark"||a.name=="ListMark"}function SO(a,e){if(a.name!="OrderedList"&&a.name!="BulletList")return!1;let t=a.firstChild,s=a.getChild("ListItem","ListItem");if(!s)return!1;let i=e.lineAt(t.to),r=e.lineAt(s.from),n=/^[\s>]*$/.test(i.text);return i.number+(n?0:1)<r.number}function $r(a,e,t){let s="";for(let i=0,r=a.length-2;i<=r;i++)s+=a[i].blank(i<r?(0,V.countColumn)(t.text,4,a[i+1].from)-s.length:null,i<r);return Fa(s,e)}function vO(a,e){let t=a.resolveInner(e,-1),s=e;vr(t)&&(s=t.from,t=t.parent);for(let i;i=t.childBefore(s);)if(vr(i))s=i.from;else if(i.name=="OrderedList"||i.name=="BulletList")t=i.lastChild,s=t.to;else break;return t}var $O=({state:a,dispatch:e})=>{let t=(0,_.syntaxTree)(a),s=null,i=a.changeByRange(r=>{let n=r.from,{doc:o}=a;if(r.empty&&_t.isActiveAt(a,r.from)){let l=o.lineAt(n),O=xr(vO(t,n),o);if(O.length){let c=O[O.length-1],d=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(n-l.from>d&&!/\S/.test(l.text.slice(d,n-l.from)))return{range:V.EditorSelection.cursor(l.from+d),changes:{from:l.from+d,to:n}};if(n-l.from==d&&(!c.item||l.from<=c.item.from||!/\S/.test(l.text.slice(0,c.to)))){let p=l.from+c.from;if(c.item&&c.node.from<c.item.from&&/\S/.test(l.text.slice(c.from,c.to))){let u=c.blank((0,V.countColumn)(l.text,4,c.to)-(0,V.countColumn)(l.text,4,c.from));return p==l.from&&(u=Fa(u,a)),{range:V.EditorSelection.cursor(p+u.length),changes:{from:p,to:l.from+c.to,insert:u}}}if(p<n)return{range:V.EditorSelection.cursor(p),changes:{from:p,to:n}}}}}return s={range:r}});return s?!1:(e(a.update(i,{scrollIntoView:!0,userEvent:"delete"})),!0)},bO=[{key:"Enter",run:QO},{key:"Backspace",run:$O}],Tr=Sr({matchClosingTags:!1});function Xr(a={}){let{codeLanguages:e,defaultCodeLanguage:t,addKeymap:s=!0,base:{parser:i}=hO,completeHTMLTags:r=!0,pasteURLAsLink:n=!0,htmlTagLanguage:o=Tr}=a;if(!(i instanceof tt))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let l=a.extensions?[a.extensions]:[],O=[o.support,uO],c;n&&O.push(wO),t instanceof _.LanguageSupport?(O.push(t.support),c=t.language):t&&(c=t);let d=e||c?fO(e,c):void 0;l.push(ri({codeParser:d,htmlParser:o.language.parser})),s&&O.push(V.Prec.high(Ct.keymap.of(bO)));let p=Ha(i.configure(l));return r&&O.push(p.data.of({autocomplete:kO})),new _.LanguageSupport(p,O)}function kO(a){let{state:e,pos:t}=a,s=/<[:\-\.\w\u00b7-\uffff]*$/.exec(e.sliceDoc(t-25,t));if(!s)return null;let i=(0,_.syntaxTree)(e).resolveInner(t,-1);for(;i&&!i.type.isTop;){if(i.name=="CodeBlock"||i.name=="FencedCode"||i.name=="ProcessingInstructionBlock"||i.name=="CommentBlock"||i.name=="Link"||i.name=="Image")return null;i=i.parent}return{from:t-s[0].length,to:t,options:PO(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}var Na=null;function PO(){if(Na)return Na;let a=mr(new br.CompletionContext(V.EditorState.create({extensions:Tr}),0,!0));return Na=a?a.options:[]}var yO=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,wO=Ct.EditorView.domEventHandlers({paste:(a,e)=>{var t;let{main:s}=e.state.selection;if(s.empty)return!1;let i=(t=a.clipboardData)===null||t===void 0?void 0:t.getData("text/plain");if(!i||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(i)||(/^www\./.test(i)&&(i="https://"+i),!_t.isActiveAt(e.state,s.from,1)))return!1;let r=(0,_.syntaxTree)(e.state),n=!1;return r.iterate({from:s.from,to:s.to,enter:o=>{(o.from>s.from||yO.test(o.name))&&(n=!0)},leave:o=>{o.to<s.to&&(n=!0)}}),n?!1:(e.dispatch({changes:[{from:s.from,insert:"["},{from:s.to,insert:`](${i})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}});var _r=require("@codemirror/view"),Cr=require("@codemirror/language"),T=require("@lezer/highlight"),jr=Cr.HighlightStyle.define([{tag:T.tags.heading1,fontWeight:"700",fontSize:"1.4em"},{tag:T.tags.heading2,fontWeight:"700",fontSize:"1.2em"},{tag:T.tags.heading3,fontWeight:"700",fontSize:"1.1em"},{tag:[T.tags.heading4,T.tags.heading5,T.tags.heading6],fontWeight:"700"},{tag:T.tags.strong,fontWeight:"700"},{tag:T.tags.emphasis,fontStyle:"italic"},{tag:T.tags.strikethrough,textDecoration:"line-through"},{tag:T.tags.keyword,color:"var(--color-purple)"},{tag:[T.tags.atom,T.tags.bool],color:"var(--color-orange)"},{tag:T.tags.number,color:"var(--color-orange)"},{tag:T.tags.string,color:"var(--color-green)"},{tag:T.tags.variableName,color:"var(--text-normal)"},{tag:[T.tags.processingInstruction,T.tags.inserted],color:"var(--color-green)"},{tag:[T.tags.deleted],color:"var(--color-red)"},{tag:T.tags.comment,color:"var(--text-faint)",fontStyle:"italic"},{tag:T.tags.meta,color:"var(--text-faint)"},{tag:T.tags.link,color:"var(--text-accent)",textDecoration:"underline"},{tag:T.tags.url,color:"var(--text-accent)"},{tag:T.tags.monospace,fontFamily:"var(--font-monospace)"},{tag:[T.tags.contentSeparator],color:"var(--text-faint)"},{tag:[T.tags.definition(T.tags.variableName)],color:"var(--color-cyan)"},{tag:[T.tags.typeName],color:"var(--color-yellow)"},{tag:[T.tags.function(T.tags.variableName)],color:"var(--color-blue)"}]),Er=_r.EditorView.theme({"&":{backgroundColor:"var(--background-primary)",color:"var(--text-normal)",fontFamily:"var(--font-monospace)",fontSize:"var(--font-ui-small)",height:"100%"},".cm-scroller":{overflow:"auto",lineHeight:"1.6"},".cm-gutters":{backgroundColor:"var(--background-secondary)",color:"var(--text-faint)",border:"none",paddingLeft:"4px"},".cm-activeLineGutter":{backgroundColor:"var(--background-modifier-hover)",color:"var(--text-muted)"},".cm-activeLine":{backgroundColor:"var(--background-modifier-hover)"},"&.cm-focused .cm-cursor":{borderLeftColor:"var(--text-accent)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:"var(--text-selection)"},".cm-foldGutter .cm-gutterElement":{color:"var(--text-faint)",cursor:"pointer"},".cm-foldPlaceholder":{backgroundColor:"var(--background-modifier-hover)",color:"var(--text-muted)",border:"none",padding:"0 4px",borderRadius:"var(--radius-s)"},".cm-tooltip":{backgroundColor:"var(--background-secondary)",color:"var(--text-normal)",border:"1px solid var(--background-modifier-border)",borderRadius:"var(--radius-s)"},".cm-tooltip-lint":{backgroundColor:"var(--background-secondary)"},".cm-lintRange-warning":{backgroundImage:"none",textDecoration:"underline wavy var(--text-warning)",textUnderlineOffset:"3px"},".cm-lintRange-info":{backgroundImage:"none",textDecoration:"underline wavy var(--text-faint)",textUnderlineOffset:"3px"},".cm-lint-marker-warning::after":{content:'"\u26A0"'}});var Rr=require("@codemirror/lint"),xO=/^[a-z][a-z0-9]*(-[a-z0-9]+)*$/,Lr=(0,Rr.linter)(a=>{let e=[],t=a.state.doc.toString();if(!t.startsWith("---"))return e;let s=t.indexOf(`
---`,3);if(s===-1)return e.push({from:0,to:3,severity:"error",message:"Unclosed frontmatter block, missing closing ---"}),e;let r=t.slice(4,s).split(`
`),n=4,o=[];for(let l of r){let O=l.match(/^(\w[\w-]*)\s*:(.*)/);if(O){let c=O[1],d=O[2].trim();o.includes(c)&&e.push({from:n,to:n+c.length,severity:"warning",message:`Duplicate key: "${c}"`}),o.push(c),c==="name"&&(d?d.length>64?e.push({from:n,to:n+l.length,severity:"warning",message:`name exceeds 64 chars (${d.length})`}):xO.test(d)||e.push({from:n+c.length+2,to:n+l.length,severity:"warning",message:"name must be lowercase alphanumeric with single hyphens, no leading/trailing hyphens"}):e.push({from:n,to:n+l.length,severity:"error",message:"name is required"})),c==="description"&&(d?d.length>1024&&e.push({from:n,to:n+l.length,severity:"warning",message:`description exceeds 1024 chars (${d.length})`}):e.push({from:n,to:n+l.length,severity:"warning",message:"description is empty"})),c==="compatibility"&&d.length>500&&e.push({from:n,to:n+l.length,severity:"warning",message:`compatibility exceeds 500 chars (${d.length})`})}n+=l.length+1}return e});var Yr=require("@codemirror/language"),zr=Yr.foldService.of((a,e,t)=>{let s=a.doc.lineAt(e);if(s.number!==1||s.text.trim()!=="---")return null;for(let i=s.number+1;i<=a.doc.lines;i++){let r=a.doc.line(i);if(r.text.trim()==="---")return{from:s.to,to:r.to}}return null});function Mr(a){let{doc:e,parent:t,onSave:s}=a,i=[Er,(0,q.lineNumbers)(),(0,q.highlightActiveLineGutter)(),(0,q.highlightActiveLine)(),(0,q.highlightSpecialChars)(),(0,we.history)(),(0,pe.foldGutter)(),(0,q.drawSelection)(),(0,pe.indentOnInput)(),(0,pe.bracketMatching)(),(0,jt.closeBrackets)(),(0,pe.syntaxHighlighting)(jr),q.EditorView.darkTheme.of(document.body.classList.contains("theme-dark")),Lr,zr,(0,Et.lintGutter)(),q.EditorView.lineWrapping,q.keymap.of([{key:"Mod-s",run:r=>(s(r.state.doc.toString()),!0)},we.indentWithTab,...jt.closeBracketsKeymap,...we.defaultKeymap,...we.historyKeymap,...pe.foldKeymap,...Ar.searchKeymap,...Et.lintKeymap])];return i.push(Xr()),new q.EditorView({state:Dr.EditorState.create({doc:e,extensions:i}),parent:t})}function ZO(a){return Math.ceil(a.length/4)}function TO(a){return a<1024?`${a} B`:a<1024*1024?`${(a/1024).toFixed(1)} KB`:`${(a/(1024*1024)).toFixed(1)} MB`}function Vr(a){return a>=1e3?`${(a/1e3).toFixed(1)}k`:String(a)}function XO(a){return new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}var _O=new M.Component,Rt=class{containerEl;store;settings;saveSettings;currentItem=null;isEditing=!1;app;editorView=null;constructor(e,t,s,i,r){this.containerEl=e,this.store=t,this.settings=s,this.saveSettings=i,this.app=r.app}show(e){this.destroyEditor(),this.currentItem=e,this.isEditing=!1,this.render()}clear(){this.destroyEditor(),this.currentItem=null,this.containerEl.empty(),this.containerEl.addClass("as-detail");let e=this.containerEl.createDiv("as-detail-empty");(0,M.setIcon)(e.createDiv("as-detail-empty-icon"),"file-text"),e.createDiv({text:"Select a skill to view"})}render(){this.containerEl.empty(),this.containerEl.addClass("as-detail");let e=this.currentItem;if(!e)return this.clear();this.renderToolbar(e),this.isEditing?this.renderEditor(e):this.renderPreview(e)}renderToolbar(e){let t=this.containerEl.createDiv("as-detail-toolbar"),s=t.createDiv("as-toolbar-top"),i=s.createDiv("as-toolbar-left");i.createSpan({cls:"as-detail-title",text:e.name});for(let p of e.tools){let u=W.find(f=>f.id===p);if(!u)continue;let g=i.createSpan("as-tool-name-badge");g.setCssProps({"--tool-color":u.color}),I[p]&&ne(g,p,12),g.createSpan({text:u.name})}let r=s.createDiv("as-toolbar-right"),n=r.createEl("button",{cls:"as-toolbar-btn",attr:{"aria-label":"Toggle favorite"}});(0,M.setIcon)(n,e.isFavorite?"star":"star-off"),n.addEventListener("click",()=>{this.store.toggleFavorite(e.id,this.settings),this.saveSettings(),this.render()});let o=r.createEl("button",{cls:"as-toolbar-btn",attr:{"aria-label":this.isEditing?"Preview":"Edit"}});(0,M.setIcon)(o,this.isEditing?"eye":"pencil"),o.addEventListener("click",()=>{this.isEditing=!this.isEditing,this.render()});let l=r.createEl("button",{cls:"as-toolbar-btn",attr:{"aria-label":"Show in system explorer"}});if((0,M.setIcon)(l,"folder-open"),l.addEventListener("click",()=>{Wr.shell.showItemInFolder(e.filePath)}),K()){let p=r.createEl("button",{cls:"as-toolbar-btn as-toolbar-btn-danger",attr:{"aria-label":"Remove skill"}});(0,M.setIcon)(p,"trash-2"),p.addEventListener("click",()=>{_e(this.app,"Remove skill",`Remove "${e.name}"? This will delete the skill files.`,()=>{let u=De(`prune --skill ${e.name} --yes`);u.success?(new M.Notice(`Removed ${e.name}`,5e3),this.store.refresh(this.settings),this.clear()):new M.Notice(`Failed to remove: ${u.output}`,5e3)})})}let O=t.createDiv("as-detail-meta-bar"),c=ZO(e.content),d=e.content.length;if(O.createSpan({cls:"as-meta-item",text:TO(e.fileSize)}),O.createSpan({cls:"as-meta-item",text:`${Vr(d)} chars`}),O.createSpan({cls:"as-meta-item",text:`~${Vr(c)} tokens`}),O.createSpan({cls:"as-meta-item",text:XO(e.lastModified)}),O.createSpan({cls:"as-meta-item as-meta-type",text:e.type}),e.usage&&e.usage.uses>0){let p=t.createDiv("as-detail-usage-bar");p.createSpan({cls:"as-usage-stat",text:`${e.usage.uses} uses`}),p.createSpan({cls:"as-usage-stat",text:`last: ${la(e.usage.lastUsed)}`}),e.usage.isStale&&p.createSpan({cls:"as-badge-stale",text:"stale"}),e.usage.isHeavy&&p.createSpan({cls:"as-badge-heavy",text:"heavy"})}}renderFrontmatter(e,t){let s=Object.keys(t.frontmatter),i=e.createDiv("as-frontmatter");if(t.filePath){let r=i.createDiv("as-fm-prop");r.createSpan({cls:"as-fm-key",text:"path"}),r.createSpan({cls:"as-fm-value",text:t.filePath})}if(!(s.length===0&&!t.filePath))for(let r of s){let n=t.frontmatter[r];if(n==null)continue;let o=i.createDiv("as-fm-prop");o.createSpan({cls:"as-fm-key",text:r});let l=typeof n=="object"?JSON.stringify(n):typeof n=="string"?n:typeof n=="number"||typeof n=="boolean"?String(n):JSON.stringify(n);l.length>200?o.createDiv({cls:"as-fm-value-long",text:l}):o.createSpan({cls:"as-fm-value",text:l})}}renderPreview(e){let t=this.containerEl.createDiv("as-detail-body");this.renderFrontmatter(t,e),this.renderWarnings(t,e),this.renderUsageSection(t,e),this.renderConflicts(t,e),this.renderTraces(t,e);let s=t.createDiv("as-detail-preview markdown-rendered");M.MarkdownRenderer.render(this.app,e.content,s,e.filePath,_O)}renderWarnings(e,t){let s=[];if(t.warnings?.oversized&&s.push(`${t.warnings.lineCount} lines (recommended: <500)`),t.warnings?.longDesc&&s.push(`Description is ${t.warnings.descChars} chars (recommended: <1024)`),t.conflicts&&t.conflicts.length>0){let o=t.conflicts.map(l=>l.skillName).join(", ");s.push(`Conflicts with: ${o}`)}if(s.length===0)return;let i=e.createDiv("as-warnings"),r=i.createDiv("as-warnings-icon");(0,M.setIcon)(r,"alert-triangle");let n=i.createDiv("as-warnings-list");for(let o of s)n.createDiv({cls:"as-warnings-item",text:o})}renderUsageSection(e,t){if(!t.usage||t.usage.uses===0)return;let s=e.createDiv("as-usage-section"),i=s.createDiv("as-usage-left");if(i.createSpan({cls:"as-usage-count",text:String(t.usage.uses)}),i.createSpan({cls:"as-usage-label",text:"uses"}),i.createSpan({cls:"as-usage-last",text:la(t.usage.lastUsed)}),t.usage.daily&&t.usage.daily.length>1){let r=s.createDiv("as-usage-spark");xs(r,t.usage.daily.map(n=>n.count),80,20)}}renderConflicts(e,t){if(!t.conflicts||t.conflicts.length===0)return;let s=e.createDiv("as-conflicts-section");s.createDiv({cls:"as-section-title",text:`Conflicts (${t.conflicts.length})`});for(let i of t.conflicts){let r=s.createDiv("as-conflict-row");r.createSpan({cls:"as-conflict-name",text:i.skillName}),r.createDiv("as-conflict-bar-wrap").createDiv("as-conflict-bar").setCssProps({"--bar-w":`${(i.similarity*100).toFixed(0)}%`}),r.createSpan({cls:"as-conflict-score",text:`${(i.similarity*100).toFixed(0)}%`})}}renderTraces(e,t){if(!K())return;let s=ks(t.name);if(s.length===0)return;let i=e.createDiv("as-traces-section");i.createDiv({cls:"as-section-title",text:`Recent traces (${s.length})`});let r=i.createDiv("as-traces-table");for(let n of s){let o=r.createDiv("as-trace-row"),l=new Date(n.timestamp);o.createSpan({cls:"as-trace-date",text:l.toLocaleDateString(void 0,{month:"short",day:"numeric"})}),o.createSpan({cls:"as-trace-model",text:n.model.replace("claude-","").replace("-4-6","")}),o.createSpan({cls:"as-trace-tokens",text:`${(n.tokens/1e3).toFixed(1)}k`}),o.createSpan({cls:"as-trace-cost",text:n.cost>0?`$${n.cost.toFixed(2)}`:""}),o.createSpan({cls:"as-trace-duration",text:`${(n.duration/1e3).toFixed(1)}s`})}i.createDiv({cls:"as-traces-hint",text:"skillkit trace --list --skill "+t.name})}renderPruneAction(e,t){let s=e.createDiv("as-prune-section"),i=s.createEl("button",{cls:"as-prune-btn",text:"Remove this skill"});s.createSpan({cls:"as-prune-hint",text:"This skill hasn't been used in 30+ days"}),i.addEventListener("click",()=>{_e(this.app,"Remove skill",`Remove "${t.name}"? This will delete the skill files.`,()=>{let r=De(`prune --skill ${t.name} --yes`);r.success?(new M.Notice(`Removed ${t.name}`,5e3),this.store.refresh(this.settings)):new M.Notice(`Failed to remove: ${r.output}`,5e3)})})}renderEditor(e){this.destroyEditor();let t=this.containerEl.createDiv("as-detail-body as-detail-body-editor"),s=t.createDiv("as-editor-cm");this.editorView=Mr({doc:e.content,parent:s,onSave:n=>this.saveFile(e,n)});let i=t.createDiv("as-save-bar");i.createEl("button",{cls:"as-save-btn",text:"Save"}).addEventListener("click",()=>{this.editorView&&this.saveFile(e,this.editorView.state.doc.toString())}),i.createSpan({cls:"as-save-hint",text:"Cmd+S to save"})}destroyEditor(){this.editorView&&(this.editorView.destroy(),this.editorView=null)}saveFile(e,t){try{(0,qr.writeFileSync)(e.filePath,t,"utf-8"),e.content=t,new M.Notice(`Saved ${e.name}`,5e3)}catch(s){new M.Notice(`Failed to save: ${s instanceof Error?s.message:String(s)}`,5e3)}}};var ue=require("obsidian"),an=require("electron");var Ja=require("child_process"),F=require("fs"),X=require("path"),Lt=require("os"),Ot=require("obsidian"),z=(0,Lt.homedir)(),qe=(0,Lt.platform)()==="win32",Ir=(0,X.join)(z,".agents",".skill-lock.json"),CO="https://skills.sh/api";async function Ka(a){if(a.length<2)return[];try{let t=(await(0,Ot.requestUrl)({url:`${CO}/search?q=${encodeURIComponent(a)}&limit=30`})).json;if(!t.skills)return[];let s=Fr();return t.skills.map(i=>({...i,installed:s.has(i.name)}))}catch{return[]}}var Gr=new Map;async function jO(a){let e=Gr.get(a);if(e)return e;let s=(await(0,Ot.requestUrl)({url:`https://api.github.com/repos/${a}`})).json.default_branch||"main",r=(await(0,Ot.requestUrl)({url:`https://api.github.com/repos/${a}/git/trees/${s}?recursive=1`})).json.tree.filter(o=>o.path.endsWith("/SKILL.md")).map(o=>o.path),n={branch:s,files:r};return Gr.set(a,n),n}function EO(a,e,t){let s=e.split("/"),i=s[s.length-1]||a,r=new Set([i,a]);for(let n of t.split("/")){a.startsWith(n+"-")&&r.add(a.slice(n.length+1));for(let o of n.split("-"))a.startsWith(o+"-")&&r.add(a.slice(o.length+1))}return r}async function Nr(a,e,t){try{let{branch:s,files:i}=await jO(a),r=EO(e,t,a),n=i.find(O=>{let c=O.replace("/SKILL.md","").split("/").pop()||"";return r.has(c)});n||(n=i.find(O=>{let c=O.replace("/SKILL.md","").split("/").pop()||"";return e.includes(c)||c.includes(e)}));let o=n||`skills/${e}/SKILL.md`;return(await(0,Ot.requestUrl)({url:`https://raw.githubusercontent.com/${a}/${s}/${o}`})).text}catch{return null}}async function Br(){let a=["react","next","clerk","stripe","ai"],e=new Set,t=[];for(let s of a){let i=await Ka(s);for(let r of i)e.has(r.id)||(e.add(r.id),t.push(r))}return t.sort((s,i)=>i.installs-s.installs).slice(0,20)}function RO(){let a=[];if(qe){let t=process.env.APPDATA||(0,X.join)(z,"AppData","Roaming");a.push((0,X.join)(t,"npm"),(0,X.join)(z,".bun","bin"),(0,X.join)(z,"AppData","Local","npm"))}else a.push("/usr/local/bin","/opt/homebrew/bin",(0,X.join)(z,".local","bin"),(0,X.join)(z,".bun","bin"));let e=qe?(0,X.join)(z,"AppData","Roaming","nvm"):(0,X.join)(z,".nvm","versions","node");try{for(let t of(0,F.readdirSync)(e))a.push(qe?(0,X.join)(e,t):(0,X.join)(e,t,"bin"))}catch{}return[...a,process.env.PATH||""].join(X.delimiter)}function Ur(){let a=qe?["bunx.cmd","bunx.exe","bunx"]:["bunx"],e=[];if(qe){let t=process.env.APPDATA||(0,X.join)(z,"AppData","Roaming");e.push((0,X.join)(z,".bun","bin"),(0,X.join)(t,"npm"))}else e.push((0,X.join)(z,".bun","bin"),"/usr/local/bin","/opt/homebrew/bin");for(let t of e)for(let s of a)if((0,F.existsSync)((0,X.join)(t,s)))return(0,X.join)(t,s);return"npx"}function es(a="auto"){return a==="npx"?"npx":Ur()}var Hr=[{id:"claude-code",label:"Claude Code"},{id:"cursor",label:"Cursor"},{id:"codex",label:"Codex"},{id:"github-copilot",label:"GitHub Copilot"},{id:"windsurf",label:"Windsurf"},{id:"amp",label:"Amp"},{id:"opencode",label:"OpenCode"},{id:"cline",label:"Cline"},{id:"gemini-cli",label:"Gemini CLI"},{id:"goose",label:"Goose"},{id:"kiro-cli",label:"Kiro"},{id:"roo",label:"Roo Code"},{id:"continue",label:"Continue"},{id:"antigravity",label:"Antigravity"},{id:"warp",label:"Warp"},{id:"pi",label:"Pi"},{id:"replit",label:"Replit"}],Yt={"claude-code":"claude-code",cursor:"cursor",codex:"codex",copilot:"github-copilot",windsurf:"windsurf",amp:"amp",opencode:"opencode",antigravity:"antigravity","claude-desktop":"claude-code",pi:"pi","global-agents":"claude-code",aider:"claude-code"};function Fr(){let a=new Set;if(!(0,F.existsSync)(Ir))return a;try{let e=JSON.parse((0,F.readFileSync)(Ir,"utf-8"));if(e.skills)for(let t of Object.keys(e.skills))a.add(t)}catch{}return a}var LO=[(0,X.join)(z,".claude","skills"),(0,X.join)(z,".cursor","skills"),(0,X.join)(z,".codex","skills"),(0,X.join)(z,".codeium","windsurf","skills"),(0,X.join)(z,".config","amp","skills"),(0,X.join)(z,".config","opencode","skills"),(0,X.join)(z,".copilot","skills"),(0,X.join)(z,".agents","skills")];function YO(a){for(let e of LO){let t=(0,X.join)(e,a);if((0,F.existsSync)(t))try{(0,F.rmSync)(t,{recursive:!0,force:!0})}catch{}}zO(a)}function zO(a){let e=(0,X.join)(z,".agents",".skill-lock.json");if((0,F.existsSync)(e))try{let t=JSON.parse((0,F.readFileSync)(e,"utf-8"));t.skills&&t.skills[a]&&(delete t.skills[a],(0,F.writeFileSync)(e,JSON.stringify(t,null,2)+`
`,"utf-8"))}catch{}}function zt(a){let e=Fr();for(let t of a)t.installed=e.has(t.name);return a}function ts(a,e=12e4){return new Promise(t=>{(0,Ja.exec)(a,{encoding:"utf-8",timeout:e,env:{...process.env,PATH:RO(),NO_COLOR:"1"},shell:qe?"cmd.exe":void 0},(s,i)=>{let r=String(i??"");!s||r.includes("Done")||r.includes("Installed")||r.includes("Removed")||r.includes("Updated")?t({success:!0,output:r}):t({success:!1,output:s?.message??"Command failed"})})})}async function Jr(a,e,t={}){let s=e.length>0?`-a ${e.join(" ")}`:"-a '*'",i=t.global?"-g":"",r=t.skillName?`-s ${t.skillName}`:"",o=`${es(t.runner||"auto")} skills add ${a} ${s} ${i} ${r} -y`.replace(/\s+/g," ").trim();return ts(o)}async function Kr(a,e="auto"){let s=`${es(e)} skills remove ${a} -y`,i=await ts(s,3e4);return YO(a),{success:!0,output:i.output||`Cleaned ${a}`}}async function en(a="auto"){let t=`${es(a)} skills update`,s=await ts(t),i=s.output.match(/Updated (\d+) skill/);return{...s,count:i?parseInt(i[1]):0}}function as(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a)}var We=require("fs"),sn=require("path"),rn=require("os"),DO=new Set(["Read","Write","Edit","MultiEdit","Bash","Glob","Grep","WebSearch","WebFetch","TodoRead","TodoWrite","Task","Agent","Skill","LSP","NotebookEdit","AskFollowupQuestion","AttemptCompletion","SearchReplace","InsertCodeBlock","ReadImages","ExecuteCommand","ListFiles","SearchFiles","ReadFile","WriteFile","ReplaceInFile","ListCodeDefinitionNames","BrowserAction","UseMcp","shell","shell_command","update_plan","create_plan","read_file","write_file","execute_command","spawn_agent","write_stdin","multi_tool_use.parallel"]);function tn(a){return!(DO.has(a)||a.startsWith("mcp__")||a.startsWith("mcp_"))}function AO(a){let e=a.top_skills.filter(s=>tn(s.name)),t=a.top_skills.filter(s=>!tn(s.name)).reduce((s,i)=>s+i.total,0);return{...a,top_skills:e,total_invocations:Math.max(0,a.total_invocations-t),unique_skills:e.length}}function MO(){let a=ze("stats"),e=ze("health"),t=ze("burn"),s=ze("context");return{stats:a,health:e,burn:t&&t.length>0?t[0]:null,context:s}}var ss=(0,sn.join)((0,rn.homedir)(),".skillkit","dashboard-cache.json"),he=null,xe=null;function VO(){if(!he&&(0,We.existsSync)(ss))try{let a=JSON.parse((0,We.readFileSync)(ss,"utf-8"));he=a.data,xe=a.cachedAt}catch{}}function qO(){if(he)try{(0,We.writeFileSync)(ss,JSON.stringify({data:he,cachedAt:xe},null,2),"utf-8")}catch{}}VO();var Dt=class{containerEl;app;constructor(e,t){this.containerEl=e,this.app=t}render(){if(this.containerEl.empty(),this.containerEl.addClass("as-dashboard"),!K()){this.renderNoSkillkit();return}if(he)this.renderDashboard(he);else{let e=this.containerEl.createDiv("as-dash-loading");e.createDiv("as-dash-spinner"),e.createDiv({cls:"as-dash-loading-text",text:"Loading analytics..."}),setTimeout(()=>{let t=MO();he=t,xe=Date.now(),qO(),e.remove(),this.renderDashboard(t)},10)}}renderDashboard(e){this.renderActionBar(e);let t=e.stats?AO(e.stats):null;if(t&&this.renderOverview(t,e.health),t&&this.renderTopSkills(t),e.health||e.context){let s=this.containerEl.createDiv("as-dash-row");e.health&&this.renderHealth(e.health,s),e.context&&this.renderContext(e.context,s)}e.burn&&this.renderBurn(e.burn),e.health&&this.renderStale(e.health)}renderActionBar(e){let t=this.containerEl.createDiv("as-dash-action-bar");if(xe){let n=Math.round((Date.now()-xe)/1e3),o=n<5?"just now":n<60?`${n}s ago`:`${Math.round(n/60)}m ago`;t.createSpan({cls:"as-dash-updated",text:`Updated ${o}`})}let s=t.createDiv("as-dash-action-buttons"),i=s.createEl("button",{cls:"as-action-btn",text:"Update skills"});i.addEventListener("click",()=>{i.setText("Updating..."),i.disabled=!0,en().then(n=>{if(n.success){let o=n.count>0?`Updated ${n.count} skill(s)`:"All skills up to date";new ue.Notice(o,5e3),he=null,xe=null,this.render()}else new ue.Notice(`Update failed: ${n.output}`,5e3);i.setText("Update skills"),i.disabled=!1})});let r=s.createEl("button",{cls:"as-action-btn",text:"Scan sessions"});if(r.addEventListener("click",()=>{r.setText("Scanning..."),r.disabled=!0,setTimeout(()=>{let n=De("scan");n.success?(new ue.Notice("Scan complete",5e3),he=null,xe=null,this.render()):new ue.Notice(`Scan failed: ${n.output}`,5e3),r.setText("Scan sessions"),r.disabled=!1},10)}),e.health&&e.health.usage.unused_30d>0){let n=s.createEl("button",{cls:"as-action-btn as-action-btn-danger",text:`Prune ${e.health.usage.unused_30d} stale`});n.addEventListener("click",()=>{_e(this.app,"Prune stale skills",`Remove ${e.health.usage.unused_30d} unused skills? This cannot be undone.`,()=>{n.setText("Pruning..."),n.disabled=!0,setTimeout(()=>{let o=De("prune --yes");o.success?(new ue.Notice("Pruned stale skills",5e3),he=null,xe=null,this.render()):new ue.Notice(`Prune failed: ${o.output}`,5e3),n.setText(`Prune ${e.health.usage.unused_30d} stale`),n.disabled=!1},10)})})}}renderNoSkillkit(){let e=this.containerEl.createDiv("as-dash-empty"),t=e.createDiv("as-dash-empty-icon");(0,ue.setIcon)(t,"bar-chart-2"),e.createEl("h3",{text:"Dashboard requires skillkit"}),e.createEl("p",{text:"Install skillkit to unlock usage analytics, burn rate, context tax, and more."}),e.createDiv("as-dash-install-cmd").createEl("code",{text:"npm i -g @crafter/skillkit && skillkit scan"}),e.createEl("a",{cls:"as-skillkit-link",text:"Learn more",href:"https://www.npmjs.com/package/@crafter/skillkit"}).addEventListener("click",r=>{r.preventDefault(),an.shell.openExternal("https://www.npmjs.com/package/@crafter/skillkit")})}renderOverview(e,t){let s=this.containerEl.createDiv("as-dash-section");s.createDiv({cls:"as-dash-title",text:"Overview"});let i=s.createDiv("as-dash-stats");if(this.statCard(i,String(e.total_invocations),"invocations","activity"),this.statCard(i,String(e.unique_skills),"active skills","sparkles"),this.statCard(i,String(t?.installed??0),"installed","package"),this.statCard(i,String(t?.usage.unused_30d??0),"stale","alert-triangle"),e.streak&&e.streak.current>0){let r=s.createDiv("as-dash-streak-row");r.createSpan({cls:"as-streak-value",text:`${e.streak.current} day streak`}),e.streak.current>=7&&r.createSpan({cls:"as-streak-fire",text:"on fire"}),r.createSpan({cls:"as-streak-longest",text:`longest: ${e.streak.longest}d`})}if(e.velocity&&e.velocity.this_week>0){let r=s.createDiv("as-dash-velocity-row");r.createSpan({text:`This week: $${e.velocity.this_week.toFixed(0)}`}),r.createSpan({cls:"as-velocity-vs",text:`vs $${e.velocity.last_week.toFixed(0)} last week`});let n=e.velocity.change_pct,o=n>0?"as-velocity-up":n<0?"as-velocity-down":"",l=n>0?"+":"";r.createSpan({cls:`as-velocity-change ${o}`,text:`${l}${n.toFixed(0)}%`})}}statCard(e,t,s,i){let r=e.createDiv("as-stat-card"),n=r.createDiv("as-stat-icon");(0,ue.setIcon)(n,i),r.createDiv({cls:"as-stat-value",text:t}),r.createDiv({cls:"as-stat-label",text:s})}renderTopSkills(e){if(e.top_skills.length===0)return;let t=this.containerEl.createDiv("as-dash-section");t.createDiv({cls:"as-dash-title",text:`Top Skills (${e.period.days}d)`});let s=e.top_skills[0]?.total||1,i=t.createDiv("as-dash-bars");for(let r of e.top_skills.slice(0,10)){let n=i.createDiv("as-bar-row");n.createSpan({cls:"as-bar-name",text:r.name}),n.createDiv("as-bar-wrap").createDiv("as-bar-fill").setCssProps({"--bar-w":`${r.total/s*100}%`}),n.createSpan({cls:"as-bar-count",text:String(r.total)})}}renderHealth(e,t){let s=(t||this.containerEl).createDiv("as-dash-section");s.createDiv({cls:"as-dash-title",text:"Health"});let i=e.usage.used_30d+e.usage.unused_30d,r=i>0?Math.round(e.usage.used_30d/i*100):0,n=s.createDiv("as-dash-health-row"),o=n.createDiv("as-donut");o.setCssProps({"--pct":`${r}`}),o.createDiv({cls:"as-donut-label",text:`${r}%`}),o.createDiv({cls:"as-donut-sub",text:"active"});let l=n.createDiv("as-health-details");l.createDiv({cls:"as-health-line",text:`${e.usage.used_30d} used in 30d`}),l.createDiv({cls:"as-health-line as-health-warn",text:`${e.usage.unused_30d} never triggered`});let c=l.createDiv("as-budget-bar").createDiv("as-budget-fill");c.setCssProps({"--bar-w":`${e.metadata.pct}%`}),e.metadata.pct>80&&c.addClass("as-budget-over"),l.createDiv({cls:"as-health-line",text:`Metadata budget: ${e.metadata.pct}%`})}renderBurn(e){let t=this.containerEl.createDiv("as-dash-section");t.createDiv({cls:"as-dash-title",text:`Burn Rate \u2014 ${e.agent} (${e.period.days}d)`});let s=t.createDiv("as-dash-stats as-dash-stats-sm");if(this.statCard(s,`$${Math.round(e.cost.total).toLocaleString()}`,"total cost","flame"),this.statCard(s,`$${Math.round(e.cost.total/(e.period.days||1)).toLocaleString()}`,"daily avg","trending-up"),this.statCard(s,`${(e.period.sessions||0).toLocaleString()}`,"sessions","terminal"),this.statCard(s,`${((e.period.api_calls||0)/1e3).toFixed(0)}k`,"API calls","zap"),e.by_model&&e.by_model.length>0){let o=t.createDiv("as-model-breakdown");for(let l of e.by_model.slice(0,4)){let O=o.createDiv("as-model-row");O.createSpan({cls:"as-model-name",text:l.model}),O.createSpan({cls:"as-model-calls",text:`${l.apiCalls.toLocaleString()} calls`}),l.costUsd>0&&O.createSpan({cls:"as-model-cost",text:`$${Math.round(l.costUsd).toLocaleString()}`})}}let i=e.by_day.slice(-14);if(i.length===0)return;let r=Math.max(...i.map(o=>o.costUsd),1),n=t.createDiv("as-burn-chart");for(let o of i){let l=n.createDiv("as-burn-col"),O=l.createDiv("as-burn-bar"),c=Math.max(2,o.costUsd/r*100);O.setCssProps({"--bar-h":`${c}%`}),O.title=`${o.date}: $${o.costUsd.toFixed(0)}`,l.createDiv({cls:"as-burn-date",text:o.date.slice(8)})}}renderContext(e,t){let s=(t||this.containerEl).createDiv("as-dash-section");s.createDiv({cls:"as-dash-title",text:"Context Tax"});let i=e.always_loaded.total_tokens,r=[{label:"CLAUDE.md",tokens:e.always_loaded.claude_md_tokens,cls:"as-ctx-claude"},{label:"Skills metadata",tokens:e.always_loaded.skill_metadata_tokens,cls:"as-ctx-skills"},{label:"Memory",tokens:e.always_loaded.memory_tokens,cls:"as-ctx-memory"}],n=s.createDiv("as-ctx-bar");for(let O of r){let c=n.createDiv(`as-ctx-part ${O.cls}`);c.setCssProps({"--bar-w":`${O.tokens/i*100}%`}),c.title=`${O.label}: ${(O.tokens/1e3).toFixed(1)}k tokens`}let o=s.createDiv("as-ctx-legend");for(let O of r){let c=o.createDiv("as-ctx-legend-item");c.createSpan({cls:`as-ctx-dot ${O.cls}`}),c.createSpan({text:`${O.label}: ${(O.tokens/1e3).toFixed(1)}k`})}let l=s.createDiv("as-ctx-costs");l.createDiv({text:`Per session (cached): $${e.session_estimate.with_cache.toFixed(2)}`}),l.createDiv({text:`Without cache: $${e.session_estimate.without_cache.toFixed(2)}`}),l.createDiv({cls:"as-ctx-savings",text:`Cache saves ${e.session_estimate.savings_pct.toFixed(0)}%`})}renderStale(e){if(e.usage.never_used.length===0)return;let t=this.containerEl.createDiv("as-dash-section");t.createDiv({cls:"as-dash-title",text:`Stale skills (${e.usage.unused_30d})`});let s=t.createDiv("as-stale-list");for(let i of e.usage.never_used.slice(0,20))s.createDiv("as-stale-item").createSpan({text:i});e.usage.never_used.length>20&&s.createDiv({cls:"as-stale-more",text:`+${e.usage.never_used.length-20} more`})}};var de=require("obsidian"),Ge=require("fs"),mn=require("path"),fn=require("os");var Oe=require("obsidian"),Ie=require("fs"),un=require("path"),hn=require("os");var C=require("fs"),R=require("path"),At=require("os"),on=require("obsidian"),ln=require("crypto");var nn=new Set(["readme.md","license","license.md","changelog.md",".ds_store","thumbs.db"]);function WO(a){return(0,ln.createHash)("sha256").update(a).digest("hex").slice(0,12)}function IO(a){let e=a.match(/^---\r?\n([\s\S]*?)\r?\n---\r?\n?([\s\S]*)$/);if(!e)return{frontmatter:{},content:a};try{let t=(0,on.parseYaml)(e[1]);return{frontmatter:typeof t=="object"&&t?t:{},content:e[2]}}catch{return{frontmatter:{},content:a}}}function GO(a,e,t,s="auto",i="skill"){if(i==="command")return typeof a.name=="string"&&a.name?a.name:(0,R.basename)(t,(0,R.extname)(t));if(s==="auto"){if(typeof a.name=="string"&&a.name)return a.name;let n=e.match(/^#\s+(.+)$/m);if(n)return n[1].trim()}let r=(0,R.basename)(t,(0,R.extname)(t));return r==="SKILL"?(0,R.basename)((0,R.join)(t,"..")):r}function On(a,e,t,s="auto",i=0){if(!(0,C.existsSync)(a)||i>3)return[];let r=[];for(let n of(0,C.readdirSync)(a,{withFileTypes:!0})){let o=(0,R.join)(a,n.name);if(!(n.isDirectory()||n.isSymbolicLink()&&(0,C.statSync)(o,{throwIfNoEntry:!1})?.isDirectory()))continue;let O=(0,R.join)(o,"SKILL.md");if((0,C.existsSync)(O)){let c=ct(O,e,t,"directory-with-skillmd",s);c&&r.push(c)}else r.push(...On(o,e,t,s,i+1))}return r}function UO(a,e,t,s="auto"){if(!(0,C.existsSync)(a))return[];let i=[];for(let r of(0,C.readdirSync)(a,{withFileTypes:!0})){let n=(0,R.join)(a,r.name);if(r.isDirectory()||r.isSymbolicLink()&&(0,C.statSync)(n,{throwIfNoEntry:!1})?.isDirectory()){let c=(0,R.join)(n,"SKILL.md");if((0,C.existsSync)(c)){let u=ct(c,e,t,"flat-md",s);u&&i.push(u);continue}let d=(0,C.readdirSync)(n).filter(u=>u.endsWith(".md")&&!nn.has(u.toLowerCase())),p=d.find(u=>u.toLowerCase()===`${r.name.toLowerCase()}.md`)||d[0];if(p){let u=ct((0,R.join)(n,p),e,t,"flat-md",s);u&&i.push(u)}continue}let l=r.name.toLowerCase();if(!l.endsWith(".md")||nn.has(l))continue;let O=ct(n,e,t,"flat-md",s);O&&i.push(O)}return i}function NO(a,e,t,s="auto"){if(!(0,C.existsSync)(a))return[];let i=[];for(let r of(0,C.readdirSync)(a,{withFileTypes:!0})){if(!r.name.endsWith(".mdc")&&!r.name.endsWith(".md")||r.isDirectory())continue;let n=ct((0,R.join)(a,r.name),e,t,"mdc",s);n&&i.push(n)}return i}function ct(a,e,t,s="directory-with-skillmd",i="auto"){try{let r=(0,C.readFileSync)(a,"utf-8"),n=(0,C.statSync)(a),{frontmatter:o,content:l}=IO(r),O=GO(o,l,a,i,e),c=typeof o.description=="string"?o.description:"",d;try{d=(0,C.realpathSync)(a)}catch{d=a}return{id:WO(d),name:O,description:c,type:e,tools:[t],filePath:a,realPath:d,dirPath:(0,R.join)(a,".."),content:r,frontmatter:o,lastModified:n.mtimeMs,fileSize:n.size,isFavorite:!1,collections:[]}}catch{return null}}function is(a,e,t="auto"){switch(a.pattern){case"directory-with-skillmd":return On(a.baseDir,a.type,e,t);case"flat-md":return UO(a.baseDir,a.type,e,t);case"mdc":return NO(a.baseDir,a.type,e,t)}}function BO(a,e){let t=[],s=[{sub:".claude/skills",type:"skill",pattern:"directory-with-skillmd"},{sub:".claude/commands",type:"command",pattern:"flat-md"},{sub:".claude/agents",type:"agent",pattern:"flat-md"},{sub:".cursor/skills",type:"skill",pattern:"directory-with-skillmd"},{sub:".codex/skills",type:"skill",pattern:"directory-with-skillmd"}];for(let i of s){let r=(0,R.join)(a,i.sub);if(!(0,C.existsSync)(r))continue;let n={baseDir:r,type:i.type,pattern:i.pattern};t.push(...is(n,e))}return t}function cn(a){return a.projectsHomeDir||(0,At.homedir)()}function HO(a,e){let t=(0,At.homedir)(),s=[];for(let i of[...e.paths,...e.agentPaths]){let r=(0,R.relative)(t,i.baseDir);if(r.startsWith("..")||r.startsWith("/"))continue;let n=(0,R.join)(a,r);if((0,C.existsSync)(n))try{s.push(...is({...i,baseDir:n},e.id))}catch{}}return s}function FO(a){let e=cn(a);if(!(0,C.existsSync)(e))return[];let t=[];try{let s=new Set(["node_modules",".Trash","Library","Applications","Music","Movies","Pictures","Public"]);for(let i of(0,C.readdirSync)(e,{withFileTypes:!0})){if(!i.isDirectory()&&!i.isSymbolicLink()||s.has(i.name))continue;let r=(0,R.join)(e,i.name);for(let n of W){if(!n.isInstalled())continue;let o=a.tools[n.id];if(o&&!o.enabled)continue;let l=HO(r,n);l.length>0&&t.push({items:l,toolId:n.id})}}}catch{}return t}function rs(a,e){let t=e||(0,At.homedir)();if(!a.startsWith(t+R.sep))return"global";let i=a.slice(t.length+1).split(R.sep);return i.length>1&&!i[0].startsWith(".")?i[0]:"global"}function dn(a){Qs();let e=a.namingMode||"auto",t=new Map,s=new Map;function i(r,n){let o=t.get(r.id);if(o){o.tools.includes(n)||o.tools.push(n);return}let l=s.get(r.name);if(l){let O=t.get(l);O&&!O.tools.includes(n)&&O.tools.push(n);return}r.isFavorite=a.favorites.includes(r.id);for(let[O,c]of Object.entries(a.collections))c.includes(r.id)&&r.collections.push(O);t.set(r.id,r),s.set(r.name,r.id)}for(let r of W){if(!r.isInstalled())continue;let n=a.tools[r.id];if(n&&!n.enabled)continue;let o=[...r.paths,...r.agentPaths];for(let l of o)for(let O of is(l,r.id,e))i(O,r.id)}for(let r of a.customScanPaths)if((0,C.existsSync)(r))for(let n of BO(r,"claude-code"))i(n,"claude-code");if(a.projectScanEnabled)for(let{items:r,toolId:n}of FO(a))for(let o of r)i(o,n);return t}function ns(){return W.filter(a=>a.isInstalled()).map(a=>a.id)}function pn(a){let e=[];for(let t of W)if(t.isInstalled())for(let s of[...t.paths,...t.agentPaths])(0,C.existsSync)(s.baseDir)&&e.push(s.baseDir);if(a?.projectScanEnabled){let t=cn(a),s=new Set(["node_modules",".Trash","Library","Applications","Music","Movies","Pictures","Public"]);try{for(let i of(0,C.readdirSync)(t,{withFileTypes:!0})){if(!i.isDirectory()&&!i.isSymbolicLink()||s.has(i.name))continue;let r=(0,R.join)(t,i.name);for(let n of[".claude/skills",".claude/commands",".claude/agents",".cursor/skills",".codex/skills"]){let o=(0,R.join)(r,n);(0,C.existsSync)(o)&&e.push(o)}}}catch{}}return e}var os={};for(let[a,e]of Object.entries(Yt))os[e]||(os[e]=a);var ls=(0,un.join)((0,hn.homedir)(),".skillkit","install-prefs.json"),Re=null,Mt=!0;function JO(){if(!Re&&(0,Ie.existsSync)(ls))try{let a=JSON.parse((0,Ie.readFileSync)(ls,"utf-8"));Re=new Set(a.agents||[]),Mt=a.global??!0}catch{}}function KO(){try{(0,Ie.writeFileSync)(ls,JSON.stringify({agents:Re?[...Re]:[],global:Mt}),"utf-8")}catch{}}JO();var Vt=class extends Oe.Modal{skill;settings;onInstalled;selectedAgents;isGlobal;constructor(e,t,s,i){if(super(e),this.skill=t,this.settings=s,this.onInstalled=i,Re)this.selectedAgents=new Set(Re);else{this.selectedAgents=new Set;let r=ns();for(let n of r){let o=Yt[n];o&&this.selectedAgents.add(o)}}this.isGlobal=Mt}onOpen(){let{contentEl:e}=this;e.addClass("as-install-modal"),e.createEl("h3",{text:`Install ${this.skill.name}`}),e.createEl("p",{cls:"as-install-source",text:this.skill.source}),new Oe.Setting(e).setName("Install globally").setDesc("Shared across all projects (~/.agents/skills/)").addToggle(l=>l.setValue(this.isGlobal).onChange(O=>{this.isGlobal=O})),new Oe.Setting(e).setName("Agents").setHeading();let t=e.createDiv("as-install-scroll"),s=ns(),i=new Set(s.map(l=>Yt[l]).filter(Boolean));for(let l of Hr){let O=i.has(l.id),c=os[l.id],p=new Oe.Setting(t).addToggle(f=>f.setValue(this.selectedAgents.has(l.id)).onChange(w=>{w?this.selectedAgents.add(l.id):this.selectedAgents.delete(l.id)})).nameEl,u=c&&I[c]?c:I[l.id]?l.id:I[l.id+"-code"]?l.id+"-code":I[l.id+"-cli"]?l.id+"-cli":null,g=p.createSpan("as-install-agent-icon");u?ne(g,u,14):g.addClass("as-install-agent-placeholder"),p.createSpan({text:l.label}),O&&p.createSpan({cls:"as-install-detected",text:"detected"})}let r=e.createDiv("as-install-footer");r.createEl("button",{text:"Cancel"}).addEventListener("click",()=>this.close());let o=r.createEl("button",{cls:"mod-cta",text:"Install"});o.addEventListener("click",()=>this.doInstall(o))}doInstall(e){let t=[...this.selectedAgents];if(t.length===0){new Oe.Notice("Select at least one agent",5e3);return}Re=new Set(this.selectedAgents),Mt=this.isGlobal,KO(),this.close(),new Oe.Notice(`Installing ${this.skill.name}...`,3e3),Jr(this.skill.source,t,{runner:this.settings.packageRunner,global:this.isGlobal,skillName:this.skill.name}).then(s=>{s.success?(new Oe.Notice(`Installed ${this.skill.name}`,5e3),this.skill.installed=!0,this.onInstalled()):new Oe.Notice(`Failed to install ${this.skill.name}`,5e3)})}onClose(){this.contentEl.empty()}};var Os=(0,mn.join)((0,fn.homedir)(),".skillkit","marketplace-popular.json"),ce=null,qt="",Ze=null,ec=new de.Component;function tc(){if(!ce&&(0,Ge.existsSync)(Os))try{let a=JSON.parse((0,Ge.readFileSync)(Os,"utf-8"));ce=zt(a)}catch{}}function ac(){if(ce)try{(0,Ge.writeFileSync)(Os,JSON.stringify(ce),"utf-8")}catch{}}tc();var Wt=class{containerEl;inputEl=null;listEl=null;previewEl=null;searchTimer=null;selectedSkill=null;app;settings;onRefresh;constructor(e,t,s,i){this.containerEl=e,this.app=t.app,this.settings=s,this.onRefresh=i}render(){if(!this.inputEl){this.containerEl.empty(),this.containerEl.addClass("as-marketplace");let e=this.containerEl.createDiv("as-mp-search");this.inputEl=e.createEl("input",{type:"text",placeholder:"Search skills on skills.sh...",cls:"as-mp-search-input"}),this.inputEl.addEventListener("input",()=>{this.searchTimer&&clearTimeout(this.searchTimer),this.searchTimer=setTimeout(()=>{this.doSearch(this.inputEl.value)},300)});let t=this.containerEl.createDiv("as-mp-body");this.listEl=t.createDiv("as-mp-list"),this.previewEl=t.createDiv("as-mp-preview"),this.previewEl.createDiv({cls:"as-mp-hint",text:"Select a skill to preview."})}this.inputEl.value=qt,qt.length>=2&&Ze?this.showResults(Ze):ce?this.showPopular():this.loadPopular()}async loadPopular(){if(!this.listEl)return;this.listEl.empty(),this.listEl.createDiv({cls:"as-mp-loading",text:"Loading popular skills..."}),ce=await Br(),ac(),this.showPopular()}refreshList(){ce&&zt(ce),Ze&&zt(Ze),qt.length>=2&&Ze?this.showResults(Ze):this.showPopular()}showPopular(){if(this.listEl){if(this.listEl.empty(),!ce||ce.length===0){this.listEl.createDiv({cls:"as-mp-hint",text:"Search for skills to browse and install."});return}this.listEl.createDiv({cls:"as-mp-section-title",text:"Popular"});for(let e of ce)this.renderSkillCard(e)}}showResults(e){if(this.listEl){if(this.listEl.empty(),e.length===0){this.listEl.createDiv({cls:"as-mp-hint",text:"No skills found."});return}for(let t of e)this.renderSkillCard(t)}}async doSearch(e){if(!this.listEl)return;if(qt=e,e.length<2){Ze=null,this.showPopular();return}this.listEl.empty(),this.listEl.createDiv({cls:"as-mp-loading",text:"Searching..."});let t=await Ka(e);Ze=t,this.showResults(t)}renderSkillCard(e){if(!this.listEl)return;let t=this.listEl.createDiv("as-mp-card");this.selectedSkill?.id===e.id&&t.addClass("is-selected");let s=t.createDiv("as-mp-card-header");s.createSpan({cls:"as-mp-card-name",text:e.name}),e.installed&&s.createSpan({cls:"as-mp-installed-badge",text:"Installed"}),t.createDiv({cls:"as-mp-card-source",text:e.source});let i=t.createDiv("as-mp-card-meta"),r=i.createSpan("as-mp-dl-icon");(0,de.setIcon)(r,"download"),i.createSpan({cls:"as-mp-card-installs",text:as(e.installs)}),t.addEventListener("click",()=>{this.selectedSkill=e,this.listEl&&this.listEl.querySelectorAll(".as-mp-card").forEach(n=>n.removeClass("is-selected")),t.addClass("is-selected"),this.showPreview(e)})}async showPreview(e){if(!this.previewEl)return;this.previewEl.empty();let s=this.previewEl.createDiv("as-mp-preview-header").createDiv("as-mp-preview-top"),i=s.createDiv("as-mp-preview-left");i.createDiv({cls:"as-mp-preview-name",text:e.name});let r=i.createDiv("as-mp-preview-meta");r.createSpan({cls:"as-mp-preview-source",text:e.source});let n=r.createSpan("as-mp-dl-icon");(0,de.setIcon)(n,"download"),r.createSpan({cls:"as-mp-preview-installs",text:as(e.installs)});let o=s.createDiv("as-mp-preview-right");if(!e.installed)this.renderInstallButton(o,e);else{o.createSpan({cls:"as-mp-installed-label",text:"Installed"});let c=o.createEl("button",{cls:"as-mp-uninstall-btn",text:"Uninstall"});c.addEventListener("click",()=>{_e(this.app,"Uninstall skill",`Remove "${e.name}" from all agents?`,()=>{c.setText("Removing..."),c.disabled=!0,new de.Notice(`Removing ${e.name}...`,3e3),Kr(e.name,this.settings.packageRunner).then(d=>{d.success?(new de.Notice(`Removed ${e.name}`,5e3),e.installed=!1,this.refreshList(),this.showPreview(e)):(new de.Notice(`Failed to remove ${e.name}`,5e3),c.setText("Uninstall"),c.disabled=!1)})})})}let l=this.previewEl.createDiv("as-mp-preview-content");l.createDiv({cls:"as-mp-loading",text:"Loading skill content..."});let O=await Nr(e.source,e.name,e.id);if(l.empty(),O){e.content=O;let c=l.createDiv("as-mp-rendered markdown-rendered");de.MarkdownRenderer.render(this.app,O,c,"",ec)}else l.createDiv({cls:"as-mp-hint",text:"Could not load skill content."})}renderInstallButton(e,t){e.createEl("button",{cls:"as-mp-install-btn",text:"Install"}).addEventListener("click",()=>{new Vt(this.app,t,this.settings,()=>{this.refreshList(),this.showPreview(t)}).open()})}};var me=require("obsidian"),fe=require("fs"),It=require("path");function sc(){let a=[];for(let e of W){if(!e.isInstalled())continue;let t=[];for(let s of[...e.paths,...e.agentPaths])s.type==="rule"||s.type==="memory"||t.push({sp:s,label:s.type});t.length>0&&a.push({tool:e,paths:t})}return a}var ic={skill:"sparkles",command:"terminal",agent:"bot"},Gt=class extends me.Modal{onCreated;toolOptions;selectedTool=null;selectedPath=null;name="";step="tool";constructor(e,t){super(e),this.onCreated=t,this.toolOptions=sc()}onOpen(){this.modalEl.addClass("as-create-modal"),this.render()}render(){let{contentEl:e}=this;e.empty(),this.step==="tool"?this.renderToolStep(e):this.step==="type"?this.renderTypeStep(e):this.renderNameStep(e)}renderToolStep(e){this.renderHeader(e,"Choose tool",null);let t=e.createDiv("as-create-grid");for(let s of this.toolOptions){let i=t.createDiv("as-create-card");i.style.setProperty("--tool-color",s.tool.color);let r=i.createDiv("as-create-card-icon");I[s.tool.id]&&ne(r,s.tool.id,24),i.createDiv({cls:"as-create-card-name",text:s.tool.name}),i.addEventListener("click",()=>{this.selectedTool=s,s.paths.length===1?(this.selectedPath=s.paths[0],this.step="name"):this.step="type",this.render()})}}renderTypeStep(e){if(!this.selectedTool)return;this.renderHeader(e,`${this.selectedTool.tool.name}`,()=>{this.step="tool",this.render()}),e.createDiv("as-create-subtitle").setText("What do you want to create?");let s=e.createDiv("as-create-type-grid");for(let i of this.selectedTool.paths){let r=s.createDiv("as-create-type-card");r.style.setProperty("--tool-color",this.selectedTool.tool.color);let n=ic[i.label]||"file",o=r.createDiv("as-create-type-icon");(0,me.setIcon)(o,n),r.createDiv({cls:"as-create-type-label",text:i.label}),r.addEventListener("click",()=>{this.selectedPath=i,this.step="name",this.render()})}}renderNameStep(e){if(!this.selectedTool||!this.selectedPath)return;let t=this.selectedTool.paths.length>1?"type":"tool";this.renderHeader(e,`New ${this.selectedPath.label}`,()=>{this.step=t,this.render()});let s=e.createDiv("as-create-badge");s.style.setProperty("--tool-color",this.selectedTool.tool.color);let i=s.createSpan("as-create-badge-icon");I[this.selectedTool.tool.id]&&ne(i,this.selectedTool.tool.id,14),s.createSpan({text:this.selectedTool.tool.name});let n=e.createDiv("as-create-input-wrap").createEl("input",{type:"text",placeholder:`my-${this.selectedPath.label}-name`,cls:"as-create-input"});n.value=this.name,n.addEventListener("input",()=>{this.name=n.value.trim()}),n.addEventListener("keydown",O=>{O.key==="Enter"&&this.name&&this.create()}),setTimeout(()=>n.focus(),10);let l=e.createDiv("as-create-actions").createEl("button",{text:`Create ${this.selectedPath.label}`,cls:"as-create-submit"});l.style.setProperty("--tool-color",this.selectedTool.tool.color),l.addEventListener("click",()=>this.create())}renderHeader(e,t,s){let i=e.createDiv("as-create-header");if(s){let r=i.createDiv("as-create-back");(0,me.setIcon)(r,"chevron-left"),r.addEventListener("click",s)}i.createDiv({cls:"as-create-title",text:t})}create(){if(!this.name||!this.selectedPath)return;let e=this.name.toLowerCase().replace(/\s+/g,"-").replace(/[^a-z0-9-]/g,"");if(!e){new me.Notice("Invalid name");return}let t=this.selectedPath.sp,s;if(t.pattern==="directory-with-skillmd"){let i=(0,It.join)(t.baseDir,e);if((0,fe.existsSync)(i)){new me.Notice(`Already exists: ${e}`);return}(0,fe.mkdirSync)(i,{recursive:!0}),s=(0,It.join)(i,"SKILL.md"),(0,fe.writeFileSync)(s,["---",`name: ${this.name}`,'description: ""',"---","",`# ${this.name}`,"","## Instructions","",""].join(`
`),"utf-8")}else{if((0,fe.existsSync)(t.baseDir)||(0,fe.mkdirSync)(t.baseDir,{recursive:!0}),s=(0,It.join)(t.baseDir,`${e}.md`),(0,fe.existsSync)(s)){new me.Notice(`Already exists: ${e}.md`);return}(0,fe.writeFileSync)(s,["---",'description: ""',"---","",""].join(`
`),"utf-8")}new me.Notice(`Created ${this.name}`),this.close(),this.onCreated(s)}onClose(){this.contentEl.empty()}};var bn=require("obsidian"),Ue=require("fs"),kn=require("path"),Pn=require("os");var cs={customTags:{},favorites:[]},ds={tools:{},watchEnabled:!0,watchDebounceMs:500,deepSearchDefault:!1,deepSearchScope:"both",favorites:[],collections:{},customScanPaths:[],namingMode:"auto",projectScanEnabled:!0,projectsHomeDir:"",packageRunner:"auto"};var re=require("fs"),$e=require("path"),hs=require("os"),gn=require("readline"),rc=(0,$e.join)((0,hs.homedir)(),".claude"),ps=(0,$e.join)(rc,"projects"),nc=5*1024*1024,us=500;function oc(a){let e=(0,hs.homedir)().split($e.sep).filter(Boolean),t=e.join("-"),s=a;if(s.startsWith(t+"-"))s=s.slice(t.length+1);else if(s.startsWith("-")){s=s.slice(1);let r=e.join("-")+"-";s.startsWith(r)&&(s=s.slice(r.length))}let i=s.split("-").filter(Boolean);return i.length<=2?i.join("-")||"root":i.slice(-2).join("-")}function Ut(a){if(typeof a=="string")return a;if(Array.isArray(a)){let e=[];for(let t of a)if(typeof t=="object"&&t!==null){let s=t;s.type==="text"&&typeof s.text=="string"&&e.push(s.text)}return e.join(`
`)}return""}function Qn(a){if(!Array.isArray(a))return[];let e=[];for(let t of a)if(typeof t=="object"&&t!==null){let s=t;s.type==="tool_use"&&typeof s.name=="string"&&e.push(s.name)}return e}function lc(a){let e=[],t="",s="";for(let i of a)try{let r=JSON.parse(i),n=r.timestamp;if(n&&(t||(t=n),s=n),r.type==="user"){let o=r.message;if(!o)continue;let l=Ut(o.content);l&&e.push({role:"human",text:l,timestamp:n||""})}if(r.type==="assistant"){let o=r.message;if(!o)continue;let l=Ut(o.content),O=Qn(o.content);l&&e.push({role:"assistant",text:l,timestamp:n||"",toolCalls:O.length>0?O:void 0})}}catch{}return{messages:e,firstTimestamp:t,lastTimestamp:s}}function Oc(){let a=[];if(!(0,re.existsSync)(ps))return a;let e;try{e=(0,re.readdirSync)(ps)}catch{return a}for(let t of e){let s=(0,$e.join)(ps,t);try{if(!(0,re.statSync)(s).isDirectory())continue}catch{continue}let i=oc(t),r;try{r=(0,re.readdirSync)(s).filter(n=>n.endsWith(".jsonl"))}catch{continue}for(let n of r){let o=(0,$e.join)(s,n);try{let l=(0,re.statSync)(o);a.push({uuid:(0,$e.basename)(n,".jsonl"),project:i,projectPath:s,filePath:o,fileSize:l.size})}catch{continue}}}return a}function cc(a){try{let t=(0,re.readFileSync)(a.filePath,"utf-8").split(`
`).filter(O=>O.trim());if(t.length===0)return null;let s=t.length>us?t.slice(0,us):t,{messages:i,firstTimestamp:r,lastTimestamp:n}=lc(s);if(i.length===0)return null;let o=i.find(O=>O.role==="human"),l=o?o.text.slice(0,120).replace(/\n/g," "):"(empty conversation)";return{id:a.uuid,uuid:a.uuid,project:a.project,projectPath:a.projectPath,title:l,messages:i,messageCount:i.length,firstTimestamp:r,lastTimestamp:n,tags:[],customTags:[],isFavorite:!1,filePath:a.filePath}}catch{return null}}async function dc(a){return new Promise(e=>{let t=[],s="",i="",r=0,n=(0,gn.createInterface)({input:(0,re.createReadStream)(a.filePath,{encoding:"utf-8"}),crlfDelay:Number.POSITIVE_INFINITY});n.on("line",o=>{if(o.trim()){if(r++,r>us){n.close();return}try{let l=JSON.parse(o),O=l.timestamp;if(O&&(s||(s=O),i=O),l.type==="user"){let c=l.message;if(!c)return;let d=Ut(c.content);d&&t.push({role:"human",text:d,timestamp:O||""})}if(l.type==="assistant"){let c=l.message;if(!c)return;let d=Ut(c.content),p=Qn(c.content);d&&t.push({role:"assistant",text:d,timestamp:O||"",toolCalls:p.length>0?p:void 0})}}catch{}}}),n.on("close",()=>{if(t.length===0){e(null);return}let o=t.find(O=>O.role==="human"),l=o?o.text.slice(0,120).replace(/\n/g," "):"(empty conversation)";e({id:a.uuid,uuid:a.uuid,project:a.project,projectPath:a.projectPath,title:l,messages:t,messageCount:t.length,firstTimestamp:s,lastTimestamp:i,tags:[],customTags:[],isFavorite:!1,filePath:a.filePath})}),n.on("error",()=>e(null))})}async function Sn(){let a=Oc(),e=[],t=20;a.sort((s,i)=>i.fileSize-s.fileSize);for(let s=0;s<a.length;s+=t){let i=a.slice(s,s+t),r=await Promise.all(i.map(n=>n.fileSize>nc?dc(n):Promise.resolve(cc(n))));for(let n of r)n&&e.push(n)}return e.sort((s,i)=>(i.lastTimestamp||"").localeCompare(s.lastTimestamp||"")),e}var pc=[{tag:"react",patterns:[/\breact\b/i,/\.tsx\b/,/\.jsx\b/,/usestate|useeffect|useref/i]},{tag:"react-native",patterns:[/react.native/i,/\bexpo\b/i,/react-navigation/i]},{tag:"nextjs",patterns:[/next\.js/i,/\bnextjs\b/i,/next\.config/i]},{tag:"vue",patterns:[/\bvue\b/i,/\.vue\b/,/vuex|pinia/i]},{tag:"angular",patterns:[/\bangular\b/i,/\.component\.ts/i]},{tag:"svelte",patterns:[/\bsvelte\b/i,/\.svelte\b/]},{tag:"typescript",patterns:[/typescript/i,/tsconfig/i,/\.tsx\b/]},{tag:"javascript",patterns:[/javascript/i,/\.js\b/,/\.mjs\b/]},{tag:"python",patterns:[/\bpython\b/i,/\.py\b/,/\bpip\b/i,/django|flask|fastapi/i]},{tag:"rust",patterns:[/\brust\b/i,/\.rs\b/,/cargo\.toml/i]},{tag:"go",patterns:[/\bgolang\b/i,/\.go\b/,/go\.mod/i]},{tag:"java",patterns:[/\bjava\b/i,/\.java\b/,/gradle|maven/i]},{tag:"csharp",patterns:[/\bc#\b/i,/\.cs\b/,/unity|dotnet/i]},{tag:"swift",patterns:[/\bswift\b/i,/\.swift\b/,/swiftui/i]},{tag:"nestjs",patterns:[/nestjs/i,/\bnest\b/i,/@nestjs\//]},{tag:"tailwind",patterns:[/tailwind/i,/tailwindcss/i]},{tag:"css",patterns:[/\.css\b/,/\.scss\b/,/\.sass\b/,/styled-components/i]},{tag:"node",patterns:[/node\.js/i,/\bnodejs\b/i,/package\.json/i,/\bnpm\b/i]},{tag:"docker",patterns:[/\bdocker\b/i,/dockerfile/i,/docker-compose/i]},{tag:"sql",patterns:[/\bsql\b/i,/postgres|mysql|sqlite/i,/prisma|typeorm|sequelize/i]},{tag:"mongodb",patterns:[/\bmongo\b/i,/mongodb/i,/mongoose/i]},{tag:"graphql",patterns:[/graphql/i,/\.graphql\b/,/apollo/i]},{tag:"git",patterns:[/\bgit\s+(commit|push|pull|merge|rebase|checkout|branch)/i]},{tag:"unity",patterns:[/\bunity\b/i,/gameobject|monobehaviour/i,/\.unity\b/]},{tag:"blender",patterns:[/\bblender\b/i,/\.blend\b/,/bpy\./i]},{tag:"threejs",patterns:[/three\.js/i,/threejs/i,/\br3f\b/i,/react-three/i]},{tag:"aws",patterns:[/\baws\b/i,/lambda|s3|ec2|dynamodb/i]},{tag:"firebase",patterns:[/firebase/i,/firestore/i]},{tag:"testing",patterns:[/\bjest\b/i,/\bvitest\b/i,/\.test\.|\.spec\./i,/testing/i]}],uc=[{tag:"bug-fix",patterns:[/\bfix\b/i,/\bbug\b/i,/\berror\b/i,/broken/i,/not working/i,/no funciona/i,/arregl/i]},{tag:"feature",patterns:[/\badd\b/i,/\bcreate\b/i,/\bimplement\b/i,/\bnew\b/i,/agreg/i,/crea /i]},{tag:"refactor",patterns:[/refactor/i,/restructur/i,/reorganiz/i,/clean.?up/i]},{tag:"styling",patterns:[/\bcss\b/i,/\bstyle\b/i,/\bdesign\b/i,/layout/i,/responsive/i,/color/i,/estilo/i]},{tag:"config",patterns:[/config/i,/setup/i,/install/i,/\.env\b/i,/configur/i]},{tag:"api",patterns:[/\bapi\b/i,/endpoint/i,/fetch|axios/i,/request/i,/rest\b/i]},{tag:"auth",patterns:[/auth/i,/login/i,/password/i,/token/i,/session/i,/jwt/i]},{tag:"database",patterns:[/database/i,/migration/i,/schema/i,/seed/i,/query/i]},{tag:"deployment",patterns:[/deploy/i,/ci.?cd/i,/pipeline/i,/production/i,/vercel|netlify|heroku/i]},{tag:"documentation",patterns:[/\bdocs?\b/i,/readme/i,/documentation/i,/comment/i]},{tag:"performance",patterns:[/performance/i,/optimi[zs]/i,/slow/i,/fast/i,/cache/i,/lazy/i]},{tag:"ui-ux",patterns:[/\bui\b/i,/\bux\b/i,/component/i,/button|modal|dialog|form/i,/animation/i]}];function hc(a,e){let t=new RegExp(e.source,e.flags.includes("g")?e.flags:e.flags+"g"),s=a.match(t);return s?s.length:0}function vn(a,e,t=1){let s=[];for(let i of e){let r=0;for(let n of i.patterns)r+=hc(a,n);r>=t&&s.push(i.tag)}return s}function mc(a){let e=new Set;a.project&&a.project!=="root"&&e.add(a.project);let s=a.messages.filter(n=>n.role==="human").slice(0,5).map(n=>n.text.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g,"")).join(" "),r=a.messages.filter(n=>n.role==="assistant").flatMap(n=>n.toolCalls||[]);for(let n of vn(s,pc,3))e.add(n);for(let n of vn(s,uc,2))e.add(n);return r.some(n=>n.includes("mcp__blender"))&&e.add("blender"),r.some(n=>n.includes("mcp-unity")||n.includes("mcp__mcp-unity"))&&e.add("unity"),Array.from(e).sort()}function $n(a){for(let e of a)e.tags=mc(e)}var ms=(0,kn.join)((0,Pn.homedir)(),".claude","agentfiles-conversations.json"),Nt=class extends bn.Events{items=[];_filter={kind:"all-conversations"};_sort="date";_dateRange="today";_activeTags=[];_searchQuery="";_loading=!1;tagData={...cs};get filter(){return this._filter}get sort(){return this._sort}get dateRange(){return this._dateRange}get activeTags(){return this._activeTags}get searchQuery(){return this._searchQuery}get loading(){return this._loading}get allItems(){return this.items}get filteredItems(){let e=this.items;switch(this._filter.kind){case"conversation-project":e=e.filter(t=>t.project===this._filter.project);break;case"conversation-tag":e=e.filter(t=>t.tags.includes(this._filter.tag)||t.customTags.includes(this._filter.tag));break;case"conversation-favorites":e=e.filter(t=>t.isFavorite);break}if(this._dateRange!=="all"){let t=Date.now(),s={today:1,"7d":7,"30d":30,"90d":90,"180d":180}[this._dateRange],i=t-s*864e5;e=e.filter(r=>new Date(r.lastTimestamp).getTime()>=i)}if(this._activeTags.length>0&&(e=e.filter(t=>{let s=[...t.tags,...t.customTags];return this._activeTags.every(i=>s.includes(i))})),this._searchQuery){let t=this._searchQuery.toLowerCase();e=e.filter(s=>s.title.toLowerCase().includes(t)||s.project.toLowerCase().includes(t)||s.tags.some(i=>i.includes(t))||s.customTags.some(i=>i.includes(t))||s.messages.some(i=>i.text.toLowerCase().includes(t)))}return this._sort==="messages"&&(e=[...e].sort((t,s)=>s.messageCount-t.messageCount)),e}getProjectCounts(){let e=new Map;for(let t of this.items)e.set(t.project,(e.get(t.project)||0)+1);return e}getAllTags(){let e=new Map;for(let t of this.items)for(let s of[...t.tags,...t.customTags])e.set(s,(e.get(s)||0)+1);return e}refresh(){this._loading=!0,this.trigger("conversations-updated"),this.refreshAsync()}async refreshAsync(){this.loadTagData(),this.items=await Sn(),$n(this.items),this.applyTagData(),this._loading=!1,this.trigger("conversations-updated")}loadTagData(){try{(0,Ue.existsSync)(ms)&&(this.tagData=JSON.parse((0,Ue.readFileSync)(ms,"utf-8")))}catch{this.tagData={...cs}}}saveTagData(){try{(0,Ue.writeFileSync)(ms,JSON.stringify(this.tagData,null,2),"utf-8")}catch{}}applyTagData(){for(let e of this.items)e.customTags=this.tagData.customTags[e.uuid]||[],e.isFavorite=this.tagData.favorites.includes(e.uuid)}setFilter(e){this._filter=e,this.trigger("conversations-updated")}setSort(e){this._sort=e,this.trigger("conversations-updated")}setDateRange(e){this._dateRange=e,this.trigger("conversations-updated")}toggleTag(e){let t=this._activeTags.indexOf(e);t>=0?this._activeTags.splice(t,1):this._activeTags.push(e),this.trigger("conversations-updated")}clearTags(){this._activeTags=[],this.trigger("conversations-updated")}setSearch(e){this._searchQuery=e,this.trigger("conversations-updated")}toggleFavorite(e){let t=this.tagData.favorites.indexOf(e);t>=0?this.tagData.favorites.splice(t,1):this.tagData.favorites.push(e),this.saveTagData();let s=this.items.find(i=>i.uuid===e);s&&(s.isFavorite=!s.isFavorite),this.trigger("conversations-updated")}addCustomTag(e,t){this.tagData.customTags[e]||(this.tagData.customTags[e]=[]);let s=this.tagData.customTags[e];s.includes(t)||s.push(t),this.saveTagData();let i=this.items.find(r=>r.uuid===e);i&&!i.customTags.includes(t)&&i.customTags.push(t),this.trigger("conversations-updated")}removeCustomTag(e,t){this.tagData.customTags[e]&&(this.tagData.customTags[e]=this.tagData.customTags[e].filter(i=>i!==t)),this.saveTagData();let s=this.items.find(i=>i.uuid===e);s&&(s.customTags=s.customTags.filter(i=>i!==t)),this.trigger("conversations-updated")}getItem(e){return this.items.find(t=>t.uuid===e)}};var be=require("obsidian");function fc(a){return a.replace(/<[^>]+>/g,"").replace(/\[Image #?\d*\]/gi,"").replace(/\s+/g," ").trim()||"(untitled)"}function gc(a){if(!a)return"";let e=Date.now()-new Date(a).getTime(),t=Math.floor(e/6e4);if(t<60)return`${t}m ago`;let s=Math.floor(t/60);if(s<24)return`${s}h ago`;let i=Math.floor(s/24);return i<30?`${i}d ago`:`${Math.floor(i/30)}mo ago`}function Qc(a){return a?new Date(a).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"}):""}var Bt=class{containerEl;store;onSelect;selectedUuid=null;inputEl=null;toolbarEl=null;listEl=null;constructor(e,t,s){this.containerEl=e,this.store=t,this.onSelect=s}setSelected(e){this.selectedUuid=e}render(){this.inputEl||(this.containerEl.empty(),this.containerEl.addClass("as-list"),this.searchRowEl=this.containerEl.createDiv("as-search"),this.inputEl=this.searchRowEl.createEl("input",{type:"text",placeholder:"Search conversations...",cls:"as-search-input"}),this.inputEl.addEventListener("input",()=>{this.store.setSearch(this.inputEl.value)}),this.toolbarEl=this.containerEl.createDiv("as-conv-toolbar"),this.listEl=this.containerEl.createDiv("as-list-items as-conv-list")),this.inputEl.value=this.store.searchQuery,this.renderSearchActions(),this.renderTagStrip(),this.renderList()}searchRowEl=null;searchActionsEl=null;outsideClickCleanup=null;dateDropdownEl=null;tagDropdownEl=null;openDropdown=null;closeAllDropdowns(){this.openDropdown=null,this.dateDropdownEl?.removeClass("is-open"),this.tagDropdownEl?.removeClass("is-open"),this.outsideClickCleanup&&(this.outsideClickCleanup(),this.outsideClickCleanup=null)}toggleDropdown(e,t){if(this.openDropdown===e){this.closeAllDropdowns();return}this.closeAllDropdowns(),this.openDropdown=e,(e==="date"?this.dateDropdownEl:this.tagDropdownEl)?.addClass("is-open");let i=r=>{t.contains(r.target)||this.closeAllDropdowns()};setTimeout(()=>document.addEventListener("click",i),0),this.outsideClickCleanup=()=>document.removeEventListener("click",i)}renderSearchActions(){if(!this.searchRowEl)return;this.searchActionsEl&&this.searchActionsEl.remove(),this.searchActionsEl=this.searchRowEl.createDiv("as-conv-search-actions");let e=this.searchActionsEl.createDiv("as-conv-dropdown-wrap"),t=e.createEl("button",{cls:"as-conv-icon-btn"}),s=t.createSpan("as-conv-icon-btn-icon");(0,be.setIcon)(s,"calendar"),this.dateDropdownEl=e.createDiv("as-conv-dropdown"),this.openDropdown==="date"&&this.dateDropdownEl.addClass("is-open");let i=[{label:"Today",value:"today"},{label:"Last 7 days",value:"7d"},{label:"Last 30 days",value:"30d"},{label:"Last 90 days",value:"90d"},{label:"Last 6 months",value:"180d"},{label:"All time",value:"all"}];for(let g of i){let f=this.store.dateRange===g.value,w=this.dateDropdownEl.createDiv(`as-conv-dropdown-item ${f?"is-active":""}`),P=w.createSpan("as-conv-dropdown-check");f&&(0,be.setIcon)(P,"check"),w.createSpan({cls:"as-conv-dropdown-item-label",text:g.label}),w.addEventListener("click",Z=>{Z.stopPropagation(),this.store.setDateRange(g.value),this.closeAllDropdowns()})}t.addEventListener("click",g=>{g.stopPropagation(),this.toggleDropdown("date",e)});let r=this.store.getAllTags(),n=this.store.activeTags,o=r.size>0,l=this.searchActionsEl.createDiv("as-conv-dropdown-wrap"),O=l.createEl("button",{cls:"as-conv-icon-btn"});o||O.addClass("is-disabled"),n.length>0&&O.addClass("has-active");let c=O.createSpan("as-conv-icon-btn-icon");if((0,be.setIcon)(c,"tag"),this.tagDropdownEl=l.createDiv("as-conv-dropdown"),this.openDropdown==="tag"&&this.tagDropdownEl.addClass("is-open"),o){if(n.length>0){let f=this.tagDropdownEl.createDiv("as-conv-dropdown-item as-conv-dropdown-clear"),w=f.createSpan("as-conv-dropdown-item-icon");(0,be.setIcon)(w,"x"),f.createSpan({text:"Clear filters"}),f.addEventListener("click",P=>{P.stopPropagation(),this.store.clearTags()})}let g=Array.from(r.entries()).sort((f,w)=>w[1]-f[1]).slice(0,25);for(let[f,w]of g){let P=n.includes(f),Z=this.tagDropdownEl.createDiv(`as-conv-dropdown-item ${P?"is-active":""}`),Y=Z.createSpan("as-conv-dropdown-check");P&&(0,be.setIcon)(Y,"check"),Z.createSpan({cls:"as-conv-dropdown-item-label",text:f}),Z.createSpan({cls:"as-conv-dropdown-item-count",text:String(w)}),Z.addEventListener("click",ge=>{ge.stopPropagation(),this.store.toggleTag(f)})}}O.addEventListener("click",g=>{g.stopPropagation(),o&&this.toggleDropdown("tag",l)});let d=this.store.sort==="date"?"messages":"date",p=this.searchActionsEl.createEl("button",{cls:"as-conv-icon-btn"}),u=p.createSpan("as-conv-icon-btn-icon");(0,be.setIcon)(u,this.store.sort==="date"?"clock":"hash"),p.setAttribute("aria-label",`Sort by ${d}`),p.addEventListener("click",()=>this.store.setSort(d))}renderTagStrip(){if(!this.toolbarEl)return;this.toolbarEl.empty();let e=this.store.activeTags,t=this.store.filteredItems.length;if(e.length===0&&t===this.store.allItems.length)return;let s=this.toolbarEl.createDiv("as-conv-tag-strip");s.createSpan({cls:"as-conv-result-count",text:`${t} results`});for(let i of e){let r=s.createEl("button",{cls:"as-conv-tag-pill is-active"});r.createSpan({text:i});let n=r.createSpan("as-conv-tag-pill-x");(0,be.setIcon)(n,"x"),r.addEventListener("click",()=>this.store.toggleTag(i))}if(e.length>0){let i=s.createEl("button",{cls:"as-conv-tag-pill as-conv-tag-clear"});i.createSpan({text:"Clear all"}),i.addEventListener("click",()=>this.store.clearTags())}}renderList(){if(!this.listEl)return;if(this.listEl.empty(),this.store.loading){this.listEl.createDiv({cls:"as-list-empty",text:"Loading conversations..."});return}let e=this.store.filteredItems;if(e.length===0){this.listEl.createDiv({cls:"as-list-empty",text:"No conversations found"});return}let t="";for(let s of e){let i=Qc(s.lastTimestamp);i!==t&&(t=i,this.listEl.createDiv({cls:"as-conv-date-header",text:i})),this.renderCard(this.listEl,s)}}renderCard(e,t){let s=e.createDiv("as-skill-card");t.uuid===this.selectedUuid&&s.addClass("is-selected");let i=s.createDiv("as-skill-header"),r=fc(t.title),n=r.length>60?r.slice(0,60)+"...":r;if(i.createSpan({cls:"as-skill-name",text:n}),t.isFavorite){let O=i.createSpan("as-skill-star");(0,be.setIcon)(O,"star")}let o=[t.project,gc(t.lastTimestamp),`${t.messageCount} msgs`].filter(Boolean).join(" \xB7 ");s.createDiv({cls:"as-skill-desc",text:o});let l=[...t.tags,...t.customTags].filter(O=>O!==t.project);if(l.length>0){let O=s.createDiv("as-skill-meta"),c=3;for(let d of l.slice(0,c)){let p=t.customTags.includes(d);O.createSpan({cls:`as-conv-tag ${p?"as-conv-tag-custom":""}`,text:d})}l.length>c&&O.createSpan({cls:"as-conv-tag as-conv-tag-more",text:`+${l.length-c}`})}s.addEventListener("click",()=>{this.selectedUuid=t.uuid,this.onSelect(t)})}};var D=require("obsidian"),Ne=require("fs"),dt=require("path");function fs(a){return a?new Date(a).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}function Sc(a){return a.replace(/[<>:"/\\|?*]/g,"").replace(/\.{2,}/g,"").replace(/\s+/g,"-").slice(0,80)}function yn(a,e){let t=a.firstTimestamp?new Date(a.firstTimestamp).toISOString().slice(0,10):"unknown-date",s=Sc(a.title.slice(0,60));return`${e}/Claude Sessions/${t}-${s}.md`}function wn(a){let{selectedMessages:e,conversation:t}=a,s=[...t.tags,...t.customTags],i=s.map(n=>`"${n}"`).join(", "),r=[];if(r.push("---"),r.push(`tags: [claude-session, ${i}]`),r.push(`session: ${t.uuid}`),r.push(`project: ${t.project}`),r.push(`date: ${t.firstTimestamp?new Date(t.firstTimestamp).toISOString().slice(0,10):"unknown"}`),r.push(`messages: ${t.messageCount}`),r.push("---"),r.push(""),r.push(`# ${t.title.slice(0,100)}`),r.push(""),r.push("## Context"),r.push(`- **Project:** ${t.project}`),r.push(`- **Started:** ${fs(t.firstTimestamp)}`),r.push(`- **Last activity:** ${fs(t.lastTimestamp)}`),r.push(`- **Messages:** ${t.messageCount}`),s.length>0&&r.push(`- **Tags:** ${s.map(n=>`\`${n}\``).join(" ")}`),r.push(""),e.length>0){r.push("## Key Snippets"),r.push("");for(let n of e){let o=n.role==="human"?"You":"Claude",l=fs(n.timestamp);r.push(`### ${o} ${l?`(${l})`:""}`),r.push(""),n.role==="human"?r.push(`> ${n.text.replace(/\n/g,`
> `)}`):r.push(n.text),r.push("")}}return r.push("## Resume"),r.push(""),r.push("```bash"),r.push(`claude --resume ${t.uuid}`),r.push("```"),r.join(`
`)}function vc(a){return a?new Date(a).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):""}var Ht=class{containerEl;store;app;vaultPath;currentItem=null;selectedMessages=new Set;visibleCount=20;renderComponent=new D.Component;constructor(e,t,s,i){this.containerEl=e,this.store=t,this.app=s,this.vaultPath=i}show(e){this.currentItem=e,this.selectedMessages.clear(),this.visibleCount=20,this.render()}clear(){this.currentItem=null,this.containerEl.empty(),this.containerEl.addClass("as-detail");let e=this.containerEl.createDiv("as-detail-empty");(0,D.setIcon)(e.createDiv("as-detail-empty-icon"),"message-circle"),e.createDiv({text:"Select a conversation to view"})}render(){this.containerEl.empty(),this.containerEl.addClass("as-detail");let e=this.currentItem;if(!e)return this.clear();this.renderToolbar(e),this.renderBody(e)}renderToolbar(e){let t=this.containerEl.createDiv("as-detail-toolbar"),s=t.createDiv("as-toolbar-top"),i=s.createDiv("as-toolbar-left"),r=e.title.length>100?e.title.slice(0,100)+"...":e.title;i.createSpan({cls:"as-detail-title",text:r});let n=s.createDiv("as-toolbar-right"),o=n.createEl("button",{cls:"as-toolbar-btn",attr:{"aria-label":"Toggle favorite"}});(0,D.setIcon)(o,e.isFavorite?"star":"star-off"),o.addEventListener("click",()=>{this.store.toggleFavorite(e.uuid),this.render()});let l=n.createEl("button",{cls:"as-toolbar-btn",attr:{"aria-label":"Copy resume command"}});(0,D.setIcon)(l,"terminal"),l.addEventListener("click",()=>{navigator.clipboard.writeText(`claude --resume ${e.uuid}`),new D.Notice("Resume command copied!",3e3)});let O=n.createEl("button",{cls:"as-toolbar-btn as-toolbar-btn-primary",attr:{"aria-label":"Save to vault"}});(0,D.setIcon)(O,"download"),O.addEventListener("click",()=>this.saveToVault(e));let c=t.createDiv("as-detail-meta-bar");c.createSpan({cls:"as-meta-item",text:e.project}),c.createSpan({cls:"as-meta-item",text:`${e.messageCount} messages`}),e.firstTimestamp&&c.createSpan({cls:"as-meta-item",text:new Date(e.firstTimestamp).toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})});let d=[...e.tags,...e.customTags];if(d.length>0){let p=t.createDiv("as-conv-detail-tags");for(let g of d){let f=e.customTags.includes(g),w=p.createSpan({cls:`as-conv-tag ${f?"as-conv-tag-custom":""}`,text:g});if(f){let P=w.createSpan("as-conv-tag-remove");(0,D.setIcon)(P,"x"),P.addEventListener("click",Z=>{Z.stopPropagation(),this.store.removeCustomTag(e.uuid,g),this.render()})}}let u=p.createSpan("as-conv-tag as-conv-tag-add");(0,D.setIcon)(u,"plus"),u.addEventListener("click",()=>this.promptAddTag(e))}}renderBody(e){let t=this.containerEl.createDiv("as-detail-body");if(this.selectedMessages.size>0){let l=t.createDiv("as-conv-selection-bar");l.createSpan({text:`${this.selectedMessages.size} message${this.selectedMessages.size>1?"s":""} selected`}),l.createEl("button",{cls:"as-conv-save-selected-btn",text:"Save selected to vault"}).addEventListener("click",()=>this.saveToVault(e))}let s=20,i=e.messages.length,r=e.messages.slice(0,this.visibleCount);for(let l=0;l<r.length;l++)this.renderMessage(t,r[l],l);if(this.visibleCount<i){let l=i-this.visibleCount,O=Math.min(s,l),c=t.createDiv("as-conv-show-more");c.createEl("button",{text:`Show next ${O} messages`,cls:"as-conv-show-more-btn"}).addEventListener("click",()=>{this.visibleCount+=s,this.render()}),c.createEl("button",{text:`Show all ${i} messages`,cls:"as-conv-show-all-btn"}).addEventListener("click",()=>{this.visibleCount=i,this.render()})}let n=t.createDiv("as-conv-resume-section");n.createDiv({cls:"as-section-title",text:"Resume this conversation"}),n.createEl("code",{cls:"as-conv-resume-cmd",text:`claude --resume ${e.uuid}`}).addEventListener("click",()=>{navigator.clipboard.writeText(`claude --resume ${e.uuid}`),new D.Notice("Copied!",2e3)})}renderMessage(e,t,s){let i=t.role==="human",r=e.createDiv(`as-conv-msg ${i?"as-conv-msg-human":"as-conv-msg-assistant"}`);this.selectedMessages.has(s)&&r.addClass("as-conv-msg-selected");let n=r.createDiv("as-conv-msg-header"),o=n.createSpan("as-conv-msg-role-icon");(0,D.setIcon)(o,i?"user":"bot"),n.createSpan({cls:"as-conv-msg-role",text:i?"You":"Claude"}),t.timestamp&&n.createSpan({cls:"as-conv-msg-time",text:vc(t.timestamp)});let l=n.createSpan("as-conv-msg-select");(0,D.setIcon)(l,this.selectedMessages.has(s)?"check-square":"square"),l.setAttribute("aria-label","Select message for export"),l.addEventListener("click",d=>{d.stopPropagation(),this.selectedMessages.has(s)?this.selectedMessages.delete(s):this.selectedMessages.add(s),this.render()});let O=r.createDiv("as-conv-msg-content"),c=t.text.length>2e3&&!i?t.text.slice(0,2e3)+`
*... (truncated)*`:t.text;if(D.MarkdownRenderer.render(this.app,c,O,"",this.renderComponent),t.toolCalls&&t.toolCalls.length>0){let d=r.createDiv("as-conv-msg-tools"),p=[...new Set(t.toolCalls)];for(let u of p.slice(0,5))d.createSpan({cls:"as-conv-tool-badge",text:u});p.length>5&&d.createSpan({cls:"as-conv-tool-badge",text:`+${p.length-5}`})}}promptAddTag(e){let t=this.containerEl.querySelector(".as-conv-detail-tags");if(!t)return;let s=t.querySelector(".as-conv-tag-add");if(!s)return;let i=createEl("input",{type:"text",placeholder:"Enter tag...",cls:"as-conv-tag-input"});s.replaceWith(i),i.focus();let r=!1,n=()=>{if(r)return;r=!0;let o=i.value.trim().toLowerCase().replace(/\s+/g,"-");o&&this.store.addCustomTag(e.uuid,o),this.render()};i.addEventListener("keydown",o=>{o.key==="Enter"&&n(),o.key==="Escape"&&this.render()}),i.addEventListener("blur",n)}saveToVault(e){if(this.selectedMessages.size===0){new D.Notice("Select messages to export first",3e3);return}let t=Array.from(this.selectedMessages).sort((n,o)=>n-o).map(n=>e.messages[n]).filter(Boolean),s=wn({selectedMessages:t,conversation:e,vaultPath:this.vaultPath}),i=(0,dt.resolve)(yn(e,this.vaultPath));if(!i.startsWith((0,dt.resolve)(this.vaultPath))){new D.Notice("Invalid path \u2014 cannot save outside vault",5e3);return}let r=(0,dt.dirname)(i);try{(0,Ne.existsSync)(r)||(0,Ne.mkdirSync)(r,{recursive:!0}),(0,Ne.writeFileSync)(i,s,"utf-8"),new D.Notice(`Saved to ${i.split("/").slice(-2).join("/")}`,5e3)}catch(n){new D.Notice(`Failed to save: ${n instanceof Error?n.message:String(n)}`,5e3)}}};var pt="agentfiles-view",Ft=class extends xn.ItemView{store;settings;saveSettings;sidebarPanel;listPanel;detailPanel;dashboardPanel;marketplacePanel;conversationStore=new Nt;convListPanel;convDetailPanel;sidebarEl;listEl;detailEl;dashboardEl;marketplaceEl;convListWrapperEl;convDetailWrapperEl;skillListWrapperEl;skillDetailWrapperEl;resizeHandle1;resizeHandle2;isDashboard=!1;isMarketplace=!1;isConversations=!1;updateRef=null;convUpdateRef=null;dragCleanup=null;constructor(e,t,s,i){super(e),this.store=t,this.settings=s,this.saveSettings=i}getViewType(){return pt}getDisplayText(){return"Agentfiles"}getIcon(){return"cpu"}onOpen(){let e=this.contentEl;e.empty(),e.addClass("as-container"),this.sidebarEl=e.createDiv("as-panel as-panel-sidebar"),this.resizeHandle1=this.createResizeHandle(e,this.sidebarEl,"--as-sidebar-width",120,400),this.listEl=e.createDiv("as-panel as-panel-list"),this.resizeHandle2=this.createResizeHandle(e,this.listEl,"--as-list-width",180,600),this.detailEl=e.createDiv("as-panel as-panel-detail"),this.dashboardEl=e.createDiv("as-panel as-panel-dashboard as-hidden"),this.marketplaceEl=e.createDiv("as-panel as-panel-marketplace as-hidden"),this.skillListWrapperEl=this.listEl.createDiv("as-wrapper"),this.convListWrapperEl=this.listEl.createDiv("as-wrapper as-hidden"),this.skillDetailWrapperEl=this.detailEl.createDiv("as-wrapper"),this.convDetailWrapperEl=this.detailEl.createDiv("as-wrapper as-hidden");let t=this.app.vault.adapter.getBasePath?.()||"";this.sidebarPanel=new ht(this.sidebarEl,this.store,()=>this.toggleDashboard(),()=>this.toggleMarketplace(),()=>this.openCreateModal(),()=>this.toggleConversations(),this.conversationStore),this.listPanel=new mt(this.skillListWrapperEl,this.store,s=>this.onSelectItem(s)),this.detailPanel=new Rt(this.skillDetailWrapperEl,this.store,this.settings,this.saveSettings,this),this.dashboardPanel=new Dt(this.dashboardEl,this.app),this.marketplacePanel=new Wt(this.marketplaceEl,this,this.settings,()=>{this.store.refresh(this.settings)}),this.convListPanel=new Bt(this.convListWrapperEl,this.conversationStore,s=>this.onSelectConversation(s)),this.convDetailPanel=new Ht(this.convDetailWrapperEl,this.conversationStore,this.app,t),this.updateRef=this.store.on("updated",()=>this.renderAll()),this.convUpdateRef=this.conversationStore.on("conversations-updated",()=>{this.isConversations&&(this.convListPanel.render(),this.sidebarPanel.render())}),this.renderAll(),this.store.revalidate()}hideAllSpecialPanels(){this.listEl.addClass("as-hidden"),this.detailEl.addClass("as-hidden"),this.resizeHandle1.addClass("as-hidden"),this.resizeHandle2.addClass("as-hidden"),this.dashboardEl.addClass("as-hidden"),this.marketplaceEl.addClass("as-hidden")}showDefaultPanels(){this.listEl.removeClass("as-hidden"),this.detailEl.removeClass("as-hidden"),this.resizeHandle1.removeClass("as-hidden"),this.resizeHandle2.removeClass("as-hidden")}showSkillPanels(){this.skillListWrapperEl.removeClass("as-hidden"),this.skillDetailWrapperEl.removeClass("as-hidden"),this.convListWrapperEl.addClass("as-hidden"),this.convDetailWrapperEl.addClass("as-hidden")}showConversationPanels(){this.skillListWrapperEl.addClass("as-hidden"),this.skillDetailWrapperEl.addClass("as-hidden"),this.convListWrapperEl.removeClass("as-hidden"),this.convDetailWrapperEl.removeClass("as-hidden")}toggleDashboard(){this.dragCleanup?.(),this.dragCleanup=null,this.isDashboard=!this.isDashboard,this.isMarketplace=!1,this.isConversations=!1,this.hideAllSpecialPanels(),this.isDashboard?(this.dashboardEl.removeClass("as-hidden"),this.dashboardPanel.render()):(this.showDefaultPanels(),this.showSkillPanels()),this.sidebarPanel.setDashboardActive(this.isDashboard),this.sidebarPanel.setMarketplaceActive(!1),this.sidebarPanel.setConversationsActive(!1),this.sidebarPanel.render()}toggleMarketplace(){this.dragCleanup?.(),this.dragCleanup=null,this.isMarketplace=!this.isMarketplace,this.isDashboard=!1,this.isConversations=!1,this.hideAllSpecialPanels(),this.isMarketplace?(this.marketplaceEl.removeClass("as-hidden"),this.marketplacePanel.render()):(this.showDefaultPanels(),this.showSkillPanels()),this.sidebarPanel.setMarketplaceActive(this.isMarketplace),this.sidebarPanel.setDashboardActive(!1),this.sidebarPanel.setConversationsActive(!1),this.sidebarPanel.render()}toggleConversations(){this.dragCleanup?.(),this.dragCleanup=null,this.isConversations=!this.isConversations,this.isDashboard=!1,this.isMarketplace=!1,this.hideAllSpecialPanels(),this.isConversations?(this.showDefaultPanels(),this.showConversationPanels(),this.conversationStore.refresh(),this.convListPanel.render(),this.convDetailPanel.clear()):(this.showDefaultPanels(),this.showSkillPanels()),this.sidebarPanel.setConversationsActive(this.isConversations),this.sidebarPanel.setDashboardActive(!1),this.sidebarPanel.setMarketplaceActive(!1),this.sidebarPanel.render()}renderAll(){this.sidebarPanel.render(),!this.isDashboard&&!this.isMarketplace&&!this.isConversations&&(this.listPanel.render(),this.store.filteredItems.length||this.detailPanel.clear())}openCreateModal(){new Gt(this.app,e=>{this.store.refresh(this.settings),setTimeout(()=>{let t=this.store.allItems.find(s=>s.filePath===e||s.realPath===e);t&&this.onSelectItem(t)},100)}).open()}onSelectItem(e){this.isDashboard&&this.toggleDashboard(),this.isMarketplace&&this.toggleMarketplace(),this.isConversations&&this.toggleConversations(),this.listPanel.setSelected(e.id),this.listPanel.render(),this.detailPanel.show(e)}onSelectConversation(e){this.convListPanel.setSelected(e.uuid),this.convListPanel.render(),this.convDetailPanel.show(e)}createResizeHandle(e,t,s,i,r){let n=e.createDiv("as-resize-handle"),o=0,l=0,O=d=>{let p=Math.min(r,Math.max(i,l+(d.clientX-o)));e.style.setProperty(s,`${p}px`)},c=()=>{n.removeClass("is-dragging"),document.removeEventListener("mousemove",O),document.removeEventListener("mouseup",c),this.dragCleanup=null};return n.addEventListener("mousedown",d=>{d.preventDefault(),o=d.clientX,l=parseInt(e.style.getPropertyValue(s))||t.offsetWidth,n.addClass("is-dragging"),document.addEventListener("mousemove",O),document.addEventListener("mouseup",c),this.dragCleanup=c}),n}onClose(){this.dragCleanup?.(),this.updateRef&&this.store.offref(this.updateRef),this.convUpdateRef&&this.conversationStore.offref(this.convUpdateRef)}};var Zn=require("obsidian"),Kt=require("path"),Be=require("fs"),Tn=require("os");var gs=(0,Kt.join)((0,Tn.homedir)(),".skillkit","enrichment-cache.json");function $c(){if(!(0,Be.existsSync)(gs))return null;try{return JSON.parse((0,Be.readFileSync)(gs,"utf-8"))}catch{return null}}function bc(a){try{(0,Be.writeFileSync)(gs,JSON.stringify(a),"utf-8")}catch{}}var Jt=class extends Zn.Events{items=new Map;_filter={kind:"all"};_searchQuery="";_deepSearch=!1;_deepSearchScope="both";_projectsHomeDir="";get filter(){return this._filter}get searchQuery(){return this._searchQuery}get deepSearch(){return this._deepSearch}get allItems(){return Array.from(this.items.values())}get filteredItems(){let e=this.allItems;switch(this._filter.kind){case"favorites":e=e.filter(t=>t.isFavorite);break;case"tool":e=e.filter(t=>t.tools.includes(this._filter.toolId));break;case"type":e=e.filter(t=>t.type===this._filter.type);break;case"collection":e=e.filter(t=>t.collections.includes(this._filter.name));break;case"project":e=e.filter(t=>rs(t.filePath,this._projectsHomeDir)===this._filter.project);break}if(this._searchQuery){let t=this._searchQuery.toLowerCase(),s=this._deepSearch&&(this._deepSearchScope==="description"||this._deepSearchScope==="both"),i=this._deepSearch&&(this._deepSearchScope==="content"||this._deepSearchScope==="both");e=e.filter(r=>r.name.toLowerCase().includes(t)||s&&r.description.toLowerCase().includes(t)||i&&r.content.toLowerCase().includes(t))}return e.sort((t,s)=>t.name.localeCompare(s.name))}getItem(e){return this.items.get(e)}get hasSkillkit(){return K()}_enrichGeneration=0;refresh(e){this._projectsHomeDir=e.projectsHomeDir,this.items=dn(e),K()&&this.applyEnrichmentFromCache(),this.trigger("updated")}revalidate(){K()&&this.revalidateAsync()}applyEnrichmentFromCache(){let e=$c();if(!e)return;let t=new Map(Object.entries(e.stats)),s=new Map(Object.entries(e.conflicts));this.applyEnrichment(t,s,e.warnings)}async revalidateAsync(){let e=++this._enrichGeneration,[t,s,i]=await Promise.all([Ps(),ys(),ws()]);e===this._enrichGeneration&&(this.applyEnrichment(t,s,i),this.trigger("updated"),bc({stats:Object.fromEntries(t),conflicts:Object.fromEntries(s),warnings:i}))}applyEnrichment(e,t,s){let i=new Set(s.oversized.map(l=>l.name)),r=new Set(s.longDesc.map(l=>l.name)),n=new Map(s.oversized.map(l=>[l.name,l.lines])),o=new Map(s.longDesc.map(l=>[l.name,l.chars]));for(let l of this.items.values()){let O=l.filePath.split(Kt.sep).slice(-2,-1)[0],c=l.name.toLowerCase().replace(/\s+/g,"-"),d=e.get(l.name)||e.get(O)||e.get(c);d?(d.isHeavy=l.content.length>5e3,l.usage=d):l.usage={uses:0,lastUsed:null,daysSinceUsed:null,isStale:!0,isHeavy:l.content.length>5e3};let p=l.content.split(`
`).length,u=l.description.length;l.warnings={oversized:i.has(l.name)||p>500,longDesc:r.has(l.name)||u>1024,lineCount:n.get(l.name)??p,descChars:o.get(l.name)??u},l.conflicts=t.get(l.name)||t.get(O)||[]}}setFilter(e){this._filter=e,this.trigger("updated")}setSearch(e){this._searchQuery=e,this.trigger("updated")}setDeepSearch(e){this._deepSearch!==e&&(this._deepSearch=e,this.trigger("updated"))}setDeepSearchScope(e){this._deepSearchScope!==e&&(this._deepSearchScope=e,this.trigger("updated"))}toggleFavorite(e,t){let s=this.items.get(e);s&&(s.isFavorite=!s.isFavorite,s.isFavorite?t.favorites.includes(e)||t.favorites.push(e):t.favorites=t.favorites.filter(i=>i!==e),this.trigger("updated"))}getToolCounts(){let e=new Map;for(let t of this.items.values())for(let s of t.tools)e.set(s,(e.get(s)||0)+1);return e}getTypeCounts(){let e=new Map;for(let t of this.items.values())e.set(t.type,(e.get(t.type)||0)+1);return e}getProjectCounts(){let e=new Map;for(let t of this.items.values()){let s=rs(t.filePath,this._projectsHomeDir);e.set(s,(e.get(s)||0)+1)}return e}};var Xn=require("fs"),ea=class{watchers=[];debounceTimer=null;debounceMs;onChange;constructor(e,t){this.debounceMs=e,this.onChange=t}watchPaths(e){this.close();for(let t of e)try{let s=(0,Xn.watch)(t,{recursive:!0},()=>this.scheduleUpdate());this.watchers.push(s)}catch{}}scheduleUpdate(){this.debounceTimer&&clearTimeout(this.debounceTimer),this.debounceTimer=setTimeout(()=>{this.debounceTimer=null,this.onChange()},this.debounceMs)}close(){this.debounceTimer&&(clearTimeout(this.debounceTimer),this.debounceTimer=null);for(let e of this.watchers)try{e.close()}catch{}this.watchers=[]}};var N=require("obsidian");var ta=class extends N.PluginSettingTab{plugin;constructor(e,t){super(e,t),this.plugin=t}display(){let{containerEl:e}=this;e.empty(),new N.Setting(e).setName("File watching").setDesc("Automatically detect changes to skill files").addToggle(t=>t.setValue(this.plugin.settings.watchEnabled).onChange(async s=>{this.plugin.settings.watchEnabled=s,await this.plugin.saveSettings(),this.plugin.restartWatcher()})),new N.Setting(e).setName("Watch debounce (ms)").setDesc("Delay before re-scanning after file changes").addText(t=>t.setValue(String(this.plugin.settings.watchDebounceMs)).onChange(async s=>{let i=parseInt(s);!isNaN(i)&&i>=100&&(this.plugin.settings.watchDebounceMs=i,await this.plugin.saveSettings())})),new N.Setting(e).setName("Display names").setDesc("How skill and command names are displayed in the list").addDropdown(t=>t.addOptions({auto:"Auto (frontmatter / heading / filename)",filename:"Filename only"}).setValue(this.plugin.settings.namingMode||"auto").onChange(async s=>{this.plugin.settings.namingMode=s,await this.plugin.saveSettings(),this.plugin.refreshStore()})),new N.Setting(e).setName("Deep search by default").setDesc("Enable deep search when the view opens (can always be toggled in the search bar)").addToggle(t=>t.setValue(this.plugin.settings.deepSearchDefault??!1).onChange(async s=>{this.plugin.settings.deepSearchDefault=s,await this.plugin.saveSettings()})),new N.Setting(e).setName("Deep search scope").setDesc("What to include when deep search is enabled").addDropdown(t=>t.addOptions({both:"Description and file content",description:"Description only",content:"File content only"}).setValue(this.plugin.settings.deepSearchScope??"both").onChange(async s=>{this.plugin.settings.deepSearchScope=s,await this.plugin.saveSettings()})),new N.Setting(e).setName("Marketplace").setHeading(),new N.Setting(e).setName("Package runner").setDesc("Command used to install skills from the marketplace").addDropdown(t=>t.addOptions({auto:"Auto-detect",npx:"npx",bunx:"bunx"}).setValue(this.plugin.settings.packageRunner).onChange(async s=>{this.plugin.settings.packageRunner=s,await this.plugin.saveSettings()})),new N.Setting(e).setName("Project scanning").setHeading(),new N.Setting(e).setName("Scan projects").setDesc("Scan all directories under the projects home folder for project-level skills").addToggle(t=>t.setValue(this.plugin.settings.projectScanEnabled).onChange(async s=>{this.plugin.settings.projectScanEnabled=s,await this.plugin.saveSettings(),this.plugin.refreshStore(),this.plugin.restartWatcher()})),new N.Setting(e).setName("Projects home directory").setDesc("Root directory to scan for project-level skills. Leave empty for home directory (~).").addText(t=>t.setPlaceholder("~").setValue(this.plugin.settings.projectsHomeDir).onChange(async s=>{this.plugin.settings.projectsHomeDir=s,await this.plugin.saveSettings(),this.plugin.refreshStore(),this.plugin.restartWatcher()})),new N.Setting(e).setName("Tools").setHeading();for(let t of W){let s=t.isInstalled(),i=this.plugin.settings.tools[t.id]||{enabled:!0,customPaths:[]};new N.Setting(e).setName(t.name).setDesc(s?"Installed":"Not detected").addToggle(r=>r.setValue(s&&i.enabled).setDisabled(!s).onChange(async n=>{this.plugin.settings.tools[t.id]={...i,enabled:n},await this.plugin.saveSettings(),this.plugin.refreshStore()}))}}};var aa=class extends _n.Plugin{settings=ds;store=new Jt;watcher=null;async onload(){await this.loadSettings(),this.addVaultPath(),this.registerView(pt,e=>new Ft(e,this.store,this.settings,()=>this.saveSettings())),this.addRibbonIcon("cpu","Agentfiles",()=>this.activateView()),this.addCommand({id:"open",name:"Open",callback:()=>this.activateView()}),this.addSettingTab(new ta(this.app,this)),this.store.setDeepSearch(this.settings.deepSearchDefault??!1),this.store.setDeepSearchScope(this.settings.deepSearchScope??"both"),setTimeout(()=>{this.refreshStore(),this.startWatcher()},0)}addVaultPath(){let e=this.app.vault.adapter;if(!e.getBasePath)return;let t=e.getBasePath();this.settings.customScanPaths.includes(t)||this.settings.customScanPaths.push(t)}onunload(){this.stopWatcher()}refreshStore(){this.store.refresh(this.settings)}startWatcher(){this.settings.watchEnabled&&(this.watcher=new ea(this.settings.watchDebounceMs,()=>this.refreshStore()),this.watcher.watchPaths(pn(this.settings)))}stopWatcher(){this.watcher&&(this.watcher.close(),this.watcher=null)}restartWatcher(){this.stopWatcher(),this.startWatcher()}async activateView(){let e=this.app.workspace.getLeavesOfType(pt);if(e.length>0){await this.app.workspace.revealLeaf(e[0]);return}let t=this.app.workspace.getLeaf("tab");await t.setViewState({type:pt,active:!0}),await this.app.workspace.revealLeaf(t)}async loadSettings(){this.settings=Object.assign({},ds,await this.loadData())}async saveSettings(){await this.saveData(this.settings)}};