@tokmizer/plugin 0.9.72 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/command-templates/tkr-compression.md +1 -0
  4. package/command-templates/tkr-gain.md +1 -0
  5. package/command-templates/tkr-link.md +2 -1
  6. package/command-templates/tkr-status.md +1 -0
  7. package/command-templates/tkr-telemetry.md +1 -0
  8. package/command-templates/tkr-unlink.md +1 -0
  9. package/command-templates/tkr-update.md +1 -0
  10. package/command-templates/tkr-yolo.md +1 -0
  11. package/command-templates/tkr.md +1 -0
  12. package/dist/bin/tkr-agent-hook.js +13 -13
  13. package/dist/bin/tkr-codex-hook.js +75 -75
  14. package/dist/bin/tkr-context-hook.js +2 -2
  15. package/dist/bin/tkr-copilot-hook.js +12 -12
  16. package/dist/bin/tkr-crush-hook.js +12 -12
  17. package/dist/bin/tkr-cursor-hook.js +12 -12
  18. package/dist/bin/tkr-daemon.js +148 -142
  19. package/dist/bin/tkr-droid-hook.js +12 -12
  20. package/dist/bin/tkr-exec +0 -0
  21. package/dist/bin/tkr-exec.js +86 -83
  22. package/dist/bin/tkr-gemini-hook.js +12 -12
  23. package/dist/bin/tkr-grok-hook.js +12 -12
  24. package/dist/bin/tkr-junie-hook.js +12 -12
  25. package/dist/bin/tkr-processor.js +102 -99
  26. package/dist/bin/tkr-qwen-hook.js +12 -12
  27. package/dist/bin/tkr-shim.js +90 -86
  28. package/dist/bin/tkr-trae-hook.js +12 -12
  29. package/dist/bin/tkr-zcode-hook.js +12 -12
  30. package/dist/bin/tkr.js +283 -289
  31. package/dist/hooks-host/command-expansion.js +1 -1
  32. package/dist/hooks-host/post-tool-use.js +101 -98
  33. package/dist/hooks-host/pre-tool-use.js +13 -13
  34. package/dist/hooks-host/reducer-prompt-submit.js +2 -2
  35. package/dist/hooks-host/reducer-session-start.js +2 -2
  36. package/dist/hooks-host/reducer-stop.js +24 -24
  37. package/dist/hooks-host/session-recap.js +5 -5
  38. package/dist/index.js +105 -102
  39. package/dist/native/manifest.json +12 -12
  40. package/dist/native/single.json +12 -12
  41. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  42. package/dist/native/tkr-exec-darwin-x64 +0 -0
  43. package/dist/native/tkr-exec-linux-arm64 +0 -0
  44. package/dist/native/tkr-exec-linux-x64 +0 -0
  45. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  46. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  47. package/hooks/hooks.json +2 -7
  48. package/hooks/on-session-start.mjs +6 -3
  49. package/package.json +7 -7
  50. package/scripts/README-INSTALL.md +8 -0
  51. package/scripts/install-mac-linux.sh +3 -3
  52. package/scripts/install-windows.ps1 +0 -7
@@ -1,145 +1,148 @@
1
1
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
2
- var nd=Object.create;var Br=Object.defineProperty;var rd=Object.getOwnPropertyDescriptor;var sd=Object.getOwnPropertyNames;var od=Object.getPrototypeOf,id=Object.prototype.hasOwnProperty;var Oe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var g=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},zt=(e,t)=>{for(var n in t)Br(e,n,{get:t[n],enumerable:!0})},ad=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of sd(t))!id.call(e,s)&&s!==n&&Br(e,s,{get:()=>t[s],enumerable:!(r=rd(t,s))||r.enumerable});return e};var ld=(e,t,n)=>(n=e!=null?nd(od(e)):{},ad(t||!e||!e.__esModule?Br(n,"default",{value:e,enumerable:!0}):n,e));import fd from"node:os";import{join as Ut}from"node:path";function v(){return process.env.TOKMIZER_HOME||Ut(fd.homedir(),".tokmizer")}function Zt(){return Ut(v(),"install-id")}function zr(){return Ut(v(),"content-cache")}function ei(){return Ut(v(),"restore.json")}function Ur(e){return Ut(zr(),e)}var H=g(()=>{"use strict"});import{join as dd}from"node:path";import{mkdir as jx,readFile as pd,writeFile as Hx,unlink as Bx,rename as zx}from"node:fs/promises";function hd(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function gd(e){return e?.dir??v()}async function Ue(e){let t=gd(e);try{let n=await pd(dd(t,md),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=hd()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var md,Gt=g(()=>{"use strict";H();md="state.json"});function yd(e){return e.charCodeAt(0)===65279?e.slice(1):e}function fe(e){return JSON.parse(yd(e))}var Ze=g(()=>{"use strict"});import{basename as bd}from"node:path";function mt(e){let t=bd(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(kd))if(r===t)return[n];for(let[n,r]of Object.entries(_d))if(r===t)return["hook",n];return null}var kd,_d,Wt=g(()=>{"use strict";kd={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},_d={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function xe(){return!1}function Jt(e,t=process.execPath){let n=xe()?mt(e):null;return n?[process.execPath,...n]:[t,e]}var Ie=g(()=>{"use strict";Wt()});var Zr=g(()=>{"use strict"});import{rmSync as wd,statSync as xd}from"node:fs";import{join as ti}from"node:path";function vn(){return ti(v(),"shims")}function Gr(){return ti(v(),"fail-open")}function ni(e=Date.now()){try{if(e-xd(Gr()).mtimeMs<Sd)return!0;wd(Gr(),{force:!0})}catch{}return!1}function Tn(e){return`'${e.replace(/'/g,"'\\''")}'`}var Sd,ht=g(()=>{"use strict";H();Sd=24*36e5});var $n=g(()=>{"use strict";Zr();H();Ie();Wt();ht()});import{chmod as Rd,lstat as si,mkdir as Ad,readFile as Jr,rename as Cd,rm as cS,unlink as oi,writeFile as Od}from"node:fs/promises";import{createHash as ii}from"node:crypto";import{basename as Id,join as ai}from"node:path";function li(){return ai(v(),"backup","config")}function Wr(e){let t=Vr(e),n=ii("sha256").update(t).digest("hex").slice(0,16),r=Id(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return ai(li(),`${n}-${r}`)}function ui(e){return`${Wr(e)}.written`}function ci(e){return ii("sha256").update(e).digest("hex")}async function Nd(e){try{return await si(e),!0}catch{return!1}}async function Kr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Ad(li(),{recursive:!0,mode:448}),await Od(n,t,{mode:384}),await Rd(n,384),await Cd(n,e),!0}catch{return await oi(n).catch(()=>{}),!1}}async function Dd(e,t){let n=`${e}${Pd}`;try{if(!(await si(n)).isFile())return!1}catch{return!1}let r=!await Nd(t);if(r&&!await Kr(t,await Jr(n,"utf8")))throw new Error("backup");return await oi(n).catch(()=>{}),r}async function Md(e,t){try{return(await Jr(ui(e),"utf8")).trim()===ci(t)}catch{return!1}}async function fi(e,t){let n=t;try{n===void 0&&(n=await Jr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Dd(e,Wr(e)))return!0}catch{return!1}return await Md(e,n)?!0:Kr(Wr(e),n)}async function Rn(e,t,n){return!await fi(e,n)||!await Cn(e,t)?!1:(await Kr(ui(e),`${ci(t)}
3
- `),!0)}var Pd,An=g(()=>{"use strict";H();Se();Pd=".tkr-bak"});import{readFile as Ld,writeFile as Fd,rename as jd,mkdir as hi,chmod as Hd,stat as Bd,unlink as zd}from"node:fs/promises";import{existsSync as Ud,lstatSync as Zd,readlinkSync as Gd,realpathSync as di}from"node:fs";import{basename as Wd,dirname as On,join as Jd,resolve as pi}from"node:path";function z(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Pe(e){if(!Ud(e))return{};try{let t=fe(await Ld(e,"utf8"));return z(t)?t:null}catch{return null}}function Vr(e){let t=pi(e);for(let n=0;n<32;n++){try{return di(t)}catch{}try{if(!Zd(t).isSymbolicLink())break;t=pi(On(t),Gd(t))}catch{break}}try{return Jd(di(On(t)),Wd(t))}catch{return t}}async function Cn(e,t){let n=Vr(e),r=`${n}.tmp-${process.pid}`;try{await hi(On(n),{recursive:!0});let s=384;try{s=(await Bd(n)).mode&511}catch{}return await Fd(r,t,{mode:s}),await Hd(r,s),await jd(r,n),!0}catch{try{await zd(r)}catch{}return!1}}async function Ne(e,t){try{await hi(On(e),{recursive:!0})}catch{return!1}return Rn(e,`${JSON.stringify(t,null,2)}
4
- `)}function Kd(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
5
- `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function qr(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function qd(e){if(typeof e!="string")return null;let t=e.replace(Vd,""),n=Kd(t);if(!n)return null;let r=0;for(;r<n.length&&mi.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||mi.test(n[r]))return null;let s=qr(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?qr(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?qr(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function gt(e,t){let n=qd(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=mt(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function In(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!z(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(u=>!s(u));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var Vd,mi,Se=g(()=>{"use strict";Wt();Ie();$n();An();Ze();Vd=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,mi=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as RS,readFileSync as Yd}from"node:fs";import{join as Xd}from"node:path";import Qd from"node:os";function tp(){return Xd(Qd.homedir(),".cursor","hooks.json")}function np(e){return z(e)&&gt(e.command,ep)}function rp(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[gi])?t[gi]:[];return{hooks:t,entries:n}}function yi(){try{let e=fe(Yd(tp(),"utf8"));return rp(e).entries.some(np)}catch{return!1}}var ep,gi,bi=g(()=>{"use strict";Ze();Se();ep="tkr-cursor-hook",gi="preToolUse"});import{existsSync as DS,readFileSync as sp}from"node:fs";import{join as op}from"node:path";import ip from"node:os";function lp(){return op(process.env.GEMINI_CLI_HOME||ip.homedir(),".gemini","settings.json")}function up(e){return z(e)&&gt(e.command,ap)}function cp(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(up)}function fp(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[ki])?t[ki]:[];return{hooks:t,groups:n}}function _i(){try{let e=fe(sp(lp(),"utf8"));return fp(e).groups.some(t=>cp(t)!=null)}catch{return!1}}var ap,ki,wi=g(()=>{"use strict";Ze();Se();ap="tkr-gemini-hook",ki="BeforeTool"});import{existsSync as US,accessSync as ZS,constants as GS,readFileSync as dp}from"node:fs";function mp(e){return e.includes(pp)}function xi(e){try{return mp(dp(e,"utf8"))}catch{return!1}}var pp,Si=g(()=>{"use strict";Se();Ie();An();H();pp='"rewrite", "--host"'});import{readFile as vi,mkdir as hp}from"node:fs/promises";import{existsSync as Qr,readFileSync as Ti}from"node:fs";import{dirname as gp,join as Xr}from"node:path";import $i from"node:os";function qt(){return Xr(process.env.VIBE_HOME||Xr($i.homedir(),".vibe"),"hooks.toml")}function Ei(e){return JSON.stringify(e)}function yp(e){return["[[hooks]]",`name = ${Ei(Ri)}`,'type = "pre_tool"','match = "bash"',`command = ${Ei(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
6
- `)}function es(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function Vt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${Ri}"\\s*$`,"m").test(e)}async function Ai(e,t){try{await hp(gp(e),{recursive:!0})}catch{return!1}return Rn(e,t)}function Ci(){try{return es(Ti(qt(),"utf8")).some(Vt)}catch{return!1}}async function Oi(e){let t=qt(),n="";try{Qr(t)&&(n=await vi(t,"utf8"))}catch{return"error"}let r=yp(e),s=es(n),o=s.filter(Vt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Vt(l)).join("").trimEnd(),a=i?`${i}
2
+ var ud=Object.create;var Hr=Object.defineProperty;var fd=Object.getOwnPropertyDescriptor;var dd=Object.getOwnPropertyNames;var pd=Object.getPrototypeOf,md=Object.prototype.hasOwnProperty;var Oe=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var h=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var te=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},zt=(e,t)=>{for(var n in t)Hr(e,n,{get:t[n],enumerable:!0})},hd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of dd(t))!md.call(e,s)&&s!==n&&Hr(e,s,{get:()=>t[s],enumerable:!(r=fd(t,s))||r.enumerable});return e};var gd=(e,t,n)=>(n=e!=null?ud(pd(e)):{},hd(t||!e||!e.__esModule?Hr(n,"default",{value:e,enumerable:!0}):n,e));import kd from"node:os";import{join as Bt}from"node:path";function v(){return process.env.TOKMIZER_HOME||Bt(kd.homedir(),".tokmizer")}function Ut(){return Bt(v(),"install-id")}function zr(){return Bt(v(),"content-cache")}function ti(){return Bt(v(),"restore.json")}function Br(e){return Bt(zr(),e)}var j=h(()=>{"use strict"});import{join as _d}from"node:path";import{mkdir as Yx,readFile as wd,writeFile as Xx,unlink as Qx,rename as eS}from"node:fs/promises";function Sd(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Ed(e){return e?.dir??v()}async function Be(e){let t=Ed(e);try{let n=await wd(_d(t,xd),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Sd()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var xd,Zt=h(()=>{"use strict";j();xd="state.json"});function vd(e){return e.charCodeAt(0)===65279?e.slice(1):e}function ue(e){return JSON.parse(vd(e))}var Ue=h(()=>{"use strict"});import{basename as Td}from"node:path";function pt(e){let t=Td(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries($d))if(r===t)return[n];for(let[n,r]of Object.entries(Rd))if(r===t)return["hook",n];return null}var $d,Rd,Gt=h(()=>{"use strict";$d={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Rd={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function Se(){return!1}function Wt(e,t=process.execPath){let n=Se()?pt(e):null;return n?[process.execPath,...n]:[t,e]}var Ie=h(()=>{"use strict";Gt()});var Ur=h(()=>{"use strict"});import{rmSync as Ad,statSync as Cd}from"node:fs";import{join as ni}from"node:path";function Sn(){return ni(v(),"shims")}function Zr(){return ni(v(),"fail-open")}function ri(e=Date.now()){try{if(e-Cd(Zr()).mtimeMs<Od)return!0;Ad(Zr(),{force:!0})}catch{}return!1}function En(e){return`'${e.replace(/'/g,"'\\''")}'`}var Od,mt=h(()=>{"use strict";j();Od=24*36e5});var vn=h(()=>{"use strict";Ur();j();Ie();Gt();mt()});import{chmod as Md,lstat as oi,mkdir as Ld,readFile as Wr,rename as Fd,rm as xS,unlink as ii,writeFile as jd}from"node:fs/promises";import{createHash as ai}from"node:crypto";import{basename as Hd,join as li}from"node:path";function ci(){return li(v(),"backup","config")}function Gr(e){let t=Kr(e),n=ai("sha256").update(t).digest("hex").slice(0,16),r=Hd(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return li(ci(),`${n}-${r}`)}function ui(e){return`${Gr(e)}.written`}function fi(e){return ai("sha256").update(e).digest("hex")}async function Bd(e){try{return await oi(e),!0}catch{return!1}}async function Jr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Ld(ci(),{recursive:!0,mode:448}),await jd(n,t,{mode:384}),await Md(n,384),await Fd(n,e),!0}catch{return await ii(n).catch(()=>{}),!1}}async function Ud(e,t){let n=`${e}${zd}`;try{if(!(await oi(n)).isFile())return!1}catch{return!1}let r=!await Bd(t);if(r&&!await Jr(t,await Wr(n,"utf8")))throw new Error("backup");return await ii(n).catch(()=>{}),r}async function Zd(e,t){try{return(await Wr(ui(e),"utf8")).trim()===fi(t)}catch{return!1}}async function di(e,t){let n=t;try{n===void 0&&(n=await Wr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Ud(e,Gr(e)))return!0}catch{return!1}return await Zd(e,n)?!0:Jr(Gr(e),n)}async function Tn(e,t,n){return!await di(e,n)||!await Rn(e,t)?!1:(await Jr(ui(e),`${fi(t)}
3
+ `),!0)}var zd,$n=h(()=>{"use strict";j();Ee();zd=".tkr-bak"});import{readFile as Gd,writeFile as Wd,rename as Jd,mkdir as gi,chmod as Kd,stat as Vd,unlink as qd}from"node:fs/promises";import{existsSync as yi,lstatSync as Yd,readlinkSync as Xd,realpathSync as pi}from"node:fs";import{basename as Qd,dirname as An,join as ep,resolve as mi}from"node:path";function z(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Pe(e){if(!yi(e))return{};try{let t=ue(await Gd(e,"utf8"));return z(t)?t:null}catch{return null}}function Kr(e){let t=mi(e);for(let n=0;n<32;n++){try{return pi(t)}catch{}try{if(!Yd(t).isSymbolicLink())break;t=mi(An(t),Xd(t))}catch{break}}try{return ep(pi(An(t)),Qd(t))}catch{return t}}async function Rn(e,t){let n=Kr(e),r=`${n}.tmp-${process.pid}`;try{await gi(An(n),{recursive:!0});let s=384;try{s=(await Vd(n)).mode&511}catch{}return process.platform!=="win32"&&yi(n)&&(s&128)===0?!1:(await Wd(r,t,{mode:s}),await Kd(r,s),await Jd(r,n),!0)}catch{try{await qd(r)}catch{}return!1}}async function Ne(e,t){try{await gi(An(e),{recursive:!0})}catch{return!1}return Tn(e,`${JSON.stringify(t,null,2)}
4
+ `)}function tp(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
5
+ `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}function Vr(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function rp(e){if(typeof e!="string")return null;let t=e.replace(np,""),n=tp(t);if(!n)return null;let r=0;for(;r<n.length&&hi.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||hi.test(n[r]))return null;let s=Vr(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?Vr(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?Vr(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function ht(e,t){let n=rp(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=pt(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function Cn(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!z(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var np,hi,Ee=h(()=>{"use strict";Gt();Ie();vn();$n();Ue();np=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,hi=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as HS,readFileSync as sp}from"node:fs";import{join as op}from"node:path";import ip from"node:os";function lp(){return op(ip.homedir(),".cursor","hooks.json")}function cp(e){return z(e)&&ht(e.command,ap)}function up(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[bi])?t[bi]:[];return{hooks:t,entries:n}}function ki(){try{let e=ue(sp(lp(),"utf8"));return up(e).entries.some(cp)}catch{return!1}}var ap,bi,_i=h(()=>{"use strict";Ue();Ee();ap="tkr-cursor-hook",bi="preToolUse"});import{existsSync as JS,readFileSync as fp}from"node:fs";import{join as dp}from"node:path";import pp from"node:os";function hp(){return dp(process.env.GEMINI_CLI_HOME||pp.homedir(),".gemini","settings.json")}function gp(e){return z(e)&&ht(e.command,mp)}function yp(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(gp)}function bp(e){let t=z(e.hooks)?e.hooks:{},n=Array.isArray(t[wi])?t[wi]:[];return{hooks:t,groups:n}}function xi(){try{let e=ue(fp(hp(),"utf8"));return bp(e).groups.some(t=>yp(t)!=null)}catch{return!1}}var mp,wi,Si=h(()=>{"use strict";Ue();Ee();mp="tkr-gemini-hook",wi="BeforeTool"});import{existsSync as tE,accessSync as nE,constants as rE,readFileSync as kp}from"node:fs";function wp(e){return e.includes(_p)}function Ei(e){try{return wp(kp(e,"utf8"))}catch{return!1}}var _p,vi=h(()=>{"use strict";Ee();Ie();$n();j();_p='"rewrite", "--host"'});import{readFile as $i,mkdir as xp}from"node:fs/promises";import{existsSync as Xr,readFileSync as Ri}from"node:fs";import{dirname as Sp,join as Yr}from"node:path";import Ai from"node:os";function Kt(){return Yr(process.env.VIBE_HOME||Yr(Ai.homedir(),".vibe"),"hooks.toml")}function Ti(e){return JSON.stringify(e)}function Ep(e){return["[[hooks]]",`name = ${Ti(Ci)}`,'type = "pre_tool"','match = "bash"',`command = ${Ti(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
6
+ `)}function Qr(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_"'-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function On(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${Ci}"\\s*$`,"m").test(e)}function Oi(e){if(!On(e))return e;let t=e.split(/(?<=\n)/),n=1;for(;n<t.length&&!/^\s*(?:#.*)?\r?\n?$/.test(t[n]);)n++;for(;n<t.length&&/^\s*\r?\n?$/.test(t[n]);)n++;return t.slice(n).join("")}async function Ii(e,t){try{await xp(Sp(e),{recursive:!0})}catch{return!1}return Tn(e,t)}function Pi(){try{return Qr(Ri(Kt(),"utf8")).some(On)}catch{return!1}}async function Ni(e){let t=Kt(),n="";try{Xr(t)&&(n=await $i(t,"utf8"))}catch{return"error"}let r=Ep(e),s=Qr(n),o=s.filter(On);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.map(Oi).join("").trimEnd(),a=i?`${i}
7
7
 
8
- ${r}`:r;return await Ai(t,a)?o.length?"updated":"added":"error"}async function Ii(){let e=qt();if(!Qr(e))return"absent";let t;try{t=await vi(e,"utf8")}catch{return"error"}let n=es(t);if(!n.some(Vt))return"absent";let r=n.filter(o=>!Vt(o)).join("").trimEnd(),s=r?`${r}
9
- `:"";return await Ai(e,s)?"removed":"error"}function Yt(){return Xr($i.homedir(),".gemini","config","hooks.json")}function bp(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Pi(){try{let e=fe(Ti(Yt(),"utf8"));return z(e)&&z(e[Kt])}catch{return!1}}async function Ni(e){let t=Yt(),n=await Pe(t);if(!n)return"error";let r=bp(e),s=n[Kt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Kt]=r,await Ne(t,n)?s===void 0?"added":"updated":"error")}async function Di(){let e=Yt();if(!Qr(e))return"absent";let t=await Pe(e);return t?Kt in t?(delete t[Kt],await Ne(e,t)?"removed":"error"):"absent":"error"}var Ri,Kt,Mi=g(()=>{"use strict";Ze();Se();An();Ri="tokmizer-rewrite",Kt="tokmizer-rewrite"});import{dirname as cE,join as se}from"node:path";import kp from"node:os";function Fi(e){return e.kind==="hook"?e.installed():xi(e.files()[0].target)}var Xt,ts,Li,ji=g(()=>{"use strict";Se();Si();Mi();Xt=()=>kp.homedir(),ts=()=>process.env.XDG_CONFIG_HOME||se(Xt(),".config"),Li=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:se(ts(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:se(ts(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:se(ts(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:qt,installed:Ci,ensure:Oi,remove:Ii,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Yt,installed:Pi,ensure:Ni,remove:Di,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=se(Xt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:se(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:se(process.env.PI_CODING_AGENT_DIR||se(Xt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:se(Xt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=se(process.env.HERMES_HOME||se(Xt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:se(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as _p,readFileSync as wp}from"node:fs";function Pn(e,t){return z(e)&&gt(e.command,t)}function Hi(e){return e.path??(e.nested?["hooks"]:[])}function Bi(e,t){let n=e;for(let r of Hi(t))z(n[r])||(n[r]={}),n=n[r];return n}function zi(e,t){let n=e;for(let s of Hi(t))n=z(n)?n[s]:void 0;if(!z(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function xp(e){return z(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Ui(e,t){return(t.matcher===void 0?e:e.flatMap(xp)).filter(r=>Pn(r,t.mark))}function Zi(e,t){return Ui(zi(e,t),t).length>0}function ns(e,t){try{let n=fe(wp(e,"utf8"));return z(n)&&Zi(n,t)}catch{return!1}}function Sp(e,t,n){let r=Bi(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Ui(s,t)[0],i=t.entry(n);if(o){let a=In(s,u=>Pn(u,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([u,c])=>JSON.stringify(o[u])!==JSON.stringify(c));if(!l.length&&!a)return"present";for(let[u,c]of l)o[u]=c;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function Ep(e,t){if(!Zi(e,t))return!1;let n=Bi(e,t),r=zi(e,t),s=t.matcher===void 0?r.filter(o=>!Pn(o,t.mark)):r.map(o=>z(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Pn(i,t.mark))}:o).filter(o=>!z(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function rs(e,t,n){let r=await Pe(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Sp(r,t,n);return s==="present"||await Ne(e,r)?s:"error"}async function Nn(e,t){if(!_p(e))return"absent";let n=await Pe(e);return n?Ep(n,t)?await Ne(e,n)?"removed":"error":"absent":"error"}var Gi=g(()=>{"use strict";Ze();Se()});import{existsSync as os,readFileSync as vp}from"node:fs";import{join as W}from"node:path";import Tp from"node:os";function he(){return Tp.homedir()}function Vi(e){return e.version===void 0&&(e.version=1),e.version===1}function $p(e,t,n){return Promise.all(e.map(r=>rs(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Rp(e,t){return Promise.all(e.map(n=>Nn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ge(e,t){return{...e,installed:()=>e.files().some(n=>ns(n,t)),ensure:n=>$p(e.files(),t,n),remove:()=>Rp(e.files(),t)}}function Cp(){return W(process.env.COPILOT_HOME||W(he(),".copilot"),"hooks","tokmizer.json")}function Ip(){let e=[W(he(),".trae","hooks.json")];return os(W(he(),".trae-cn"))&&e.push(W(he(),".trae-cn","hooks.json")),e}function Np(){return W(process.env.QWEN_HOME||W(he(),".qwen"),"settings.json")}function Mp(){return W(process.env.XDG_CONFIG_HOME||W(he(),".config"),"crush","crush.json")}function Fp(){return W(he(),".junie","config.json")}function jp(e){return e.hooks===void 0&&(e.hooks={}),z(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||z(e.hooks.events)):!1}function Bp(){return W(he(),".zcode","cli","config.json")}function Up(){return W(he(),".grok","hooks","tokmizer.json")}function ss(){return W(he(),".factory")}function Dn(){return[{file:W(ss(),"hooks.json"),spec:is},{file:W(ss(),"hooks","hooks.json"),spec:is},{file:W(ss(),"settings.json"),spec:Gp}]}function Wi(e){try{let t=JSON.parse(vp(e,"utf8"));return z(t)?t:null}catch{return null}}function Ji(e,t){let n=t?e?.hooks:e;return z(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Ki(){let[e,t,n]=Dn(),r=os(e.file)?e:os(t.file)?t:null;return r&&Ji(Wi(r.file),!1)?r:Ji(Wi(n.file),!0)?n:r??e}var Ap,Op,Pp,Dp,Lp,Hp,zp,Zp,is,Gp,Wp,qi,Yi=g(()=>{"use strict";Se();Gi();Ap={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Vi};Op={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Vi};Pp={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Dp={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Lp={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Hp={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:jp};zp={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Zp="tkr-droid-hook",is={mark:Zp,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Gp={...is,nested:!0};Wp={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Ki().file],installed:()=>Dn().some(e=>ns(e.file,e.spec)),ensure:async e=>{let t=Ki(),n=await rs(t.file,t.spec,e);return n==="error"||await Promise.all(Dn().filter(r=>r.file!==t.file).map(r=>Nn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Dn().map(t=>Nn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},qi=[Ge({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[Cp()]},Ap),Wp,Ge({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Ip},Op),Ge({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Np()]},Pp),Ge({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Mp()]},Dp),Ge({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Fp()]},Lp),Ge({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Bp()]},Hp),Ge({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[Up()]},zp)]});function Xi(e){return Kp.has(e)||(Vp[e]?.installed()??!1)}function Mn(e){return null}function Ln(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&Jp.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Xi(o)}}for(let o of Qi)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Xi(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Qi,Jp,Kp,Vp,Fn=g(()=>{"use strict";bi();wi();ji();Yi();Qi=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],Jp=[...Qi.map(e=>e.host),"shell"],Kp=new Set(["claude-code","codex"]),Vp={cursor:{installed:yi,setup:"tkr setup-cursor"},"gemini-cli":{installed:_i,setup:"tkr setup-gemini"},...Object.fromEntries(Li.map(e=>[e.host,{installed:()=>Fi(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(qi.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});function We(e){let t=e;for(let[n,r]of qp)t=t.replace(n,r);return t}function em(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
10
- `),n=[];for(let r of t){if(Xp.test(r)){let s=n.length;for(;s>0&&Qp.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${ge}${r}`);continue}}n.push(r)}return n.join(`
11
- `)}function jn(e){let t=e;for(let[n,r]of Yp)t=t.replace(n,r);return em(t)}var qp,ge,Yp,Xp,Qp,Qt=g(()=>{"use strict";qp=[[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];ge="[tkr: secret masked]",Yp=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${ge}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${ge}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${ge}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${ge}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${ge}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${ge}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${ge}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${ge}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${ge}$2`]],Xp=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,Qp=/^[A-Za-z0-9+/=]{16,}\r?$/});import{appendFileSync as tm,mkdirSync as nm,readFileSync as rm,writeFileSync as sm,renameSync as om,statSync as im,readdirSync as PE,rmSync as NE,chmodSync as am}from"node:fs";import{join as ea}from"node:path";function ta(){return ea(v(),"sessions")}function fm(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return ea(ta(),`${t}.jsonl`)}function dm(e){let t=We(e).replace(/(^|\s)(-p)(?=\S)\S+/g,"$1$2[REDACTED]");return jn(t).slice(0,cm)}function Hn(e,t){try{let n=fm(e);nm(ta(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:dm(t.target),...t.fail?{fail:1}:{}});if(tm(n,`${r}
12
- `,{mode:384}),am(n,384),im(n).size>lm){let s=rm(n,"utf8").split(`
13
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-um),i=`${n}.tmp-${process.pid}`;sm(i,`${o.join(`
8
+ ${r}`:r;return await Ii(t,a)?o.length?"updated":"added":"error"}async function Di(){let e=Kt();if(!Xr(e))return"absent";let t;try{t=await $i(e,"utf8")}catch{return"error"}let n=Qr(t);if(!n.some(On))return"absent";let r=n.map(Oi).join("").trimEnd(),s=r?`${r}
9
+ `:"";return await Ii(e,s)?"removed":"error"}function Vt(){return Yr(Ai.homedir(),".gemini","config","hooks.json")}function vp(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function Mi(){try{let e=ue(Ri(Vt(),"utf8"));return z(e)&&z(e[Jt])}catch{return!1}}async function Li(e){let t=Vt(),n=await Pe(t);if(!n)return"error";let r=vp(e),s=n[Jt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Jt]=r,await Ne(t,n)?s===void 0?"added":"updated":"error")}async function Fi(){let e=Vt();if(!Xr(e))return"absent";let t=await Pe(e);return t?Jt in t?(delete t[Jt],await Ne(e,t)?"removed":"error"):"absent":"error"}var Ci,Jt,ji=h(()=>{"use strict";Ue();Ee();$n();Ci="tokmizer-rewrite",Jt="tokmizer-rewrite"});import{dirname as xE,join as se}from"node:path";import Tp from"node:os";function zi(e){return e.kind==="hook"?e.installed():Ei(e.files()[0].target)}var qt,es,Hi,Bi=h(()=>{"use strict";Ee();vi();ji();qt=()=>Tp.homedir(),es=()=>process.env.XDG_CONFIG_HOME||se(qt(),".config"),Hi=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:se(es(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:se(es(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:se(es(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:Kt,installed:Pi,ensure:Ni,remove:Di,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Vt,installed:Mi,ensure:Li,remove:Fi,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=se(qt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:se(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:se(process.env.PI_CODING_AGENT_DIR||se(qt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:se(qt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=se(process.env.HERMES_HOME||se(qt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:se(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as $p,readFileSync as Rp}from"node:fs";function In(e,t){return z(e)&&ht(e.command,t)}function Ui(e){return e.path??(e.nested?["hooks"]:[])}function Zi(e,t){let n=e;for(let r of Ui(t))z(n[r])||(n[r]={}),n=n[r];return n}function Gi(e,t){let n=e;for(let s of Ui(t))n=z(n)?n[s]:void 0;if(!z(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Ap(e){return z(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Wi(e,t){return(t.matcher===void 0?e:e.flatMap(Ap)).filter(r=>In(r,t.mark))}function Ji(e,t){return Wi(Gi(e,t),t).length>0}function ts(e,t){try{let n=ue(Rp(e,"utf8"));return z(n)&&Ji(n,t)}catch{return!1}}function Cp(e,t,n){let r=Zi(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Wi(s,t)[0],i=t.entry(n);if(o){let a=Cn(s,c=>In(c,t.mark),o,t.matcher!==void 0),l=Object.entries(i).filter(([c,u])=>JSON.stringify(o[c])!==JSON.stringify(u));if(!l.length&&!a)return"present";for(let[c,u]of l)o[c]=u;return"updated"}return s.push(t.matcher===void 0?i:{matcher:t.matcher,hooks:[i]}),"added"}function Op(e,t){if(!Ji(e,t))return!1;let n=Zi(e,t),r=Gi(e,t),s=t.matcher===void 0?r.filter(o=>!In(o,t.mark)):r.map(o=>z(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!In(i,t.mark))}:o).filter(o=>!z(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function ns(e,t,n){let r=await Pe(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Cp(r,t,n);return s==="present"||await Ne(e,r)?s:"error"}async function Pn(e,t){if(!$p(e))return"absent";let n=await Pe(e);return n?Op(n,t)?await Ne(e,n)?"removed":"error":"absent":"error"}var Ki=h(()=>{"use strict";Ue();Ee()});import{existsSync as ss,readFileSync as Ip}from"node:fs";import{join as K}from"node:path";import Pp from"node:os";function ye(){return Pp.homedir()}function Xi(e){return e.version===void 0&&(e.version=1),e.version===1}function Np(e,t,n){return Promise.all(e.map(r=>ns(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Dp(e,t){return Promise.all(e.map(n=>Pn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ze(e,t){return{...e,installed:()=>e.files().some(n=>ts(n,t)),ensure:n=>Np(e.files(),t,n),remove:()=>Dp(e.files(),t)}}function Lp(){return K(process.env.COPILOT_HOME||K(ye(),".copilot"),"hooks","tokmizer.json")}function jp(){let e=[K(ye(),".trae","hooks.json")];return ss(K(ye(),".trae-cn"))&&e.push(K(ye(),".trae-cn","hooks.json")),e}function zp(){return K(process.env.QWEN_HOME||K(ye(),".qwen"),"settings.json")}function Up(){return K(process.env.XDG_CONFIG_HOME||K(ye(),".config"),"crush","crush.json")}function Gp(){return K(ye(),".junie","config.json")}function Wp(e){return e.hooks===void 0&&(e.hooks={}),z(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||z(e.hooks.events)):!1}function Kp(){return K(ye(),".zcode","cli","config.json")}function qp(){return K(ye(),".grok","hooks","tokmizer.json")}function rs(){return K(ye(),".factory")}function Nn(){return[{file:K(rs(),"hooks.json"),spec:os},{file:K(rs(),"hooks","hooks.json"),spec:os},{file:K(rs(),"settings.json"),spec:Xp}]}function Vi(e){try{let t=JSON.parse(Ip(e,"utf8"));return z(t)?t:null}catch{return null}}function qi(e,t){let n=t?e?.hooks:e;return z(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Yi(){let[e,t,n]=Nn(),r=ss(e.file)?e:ss(t.file)?t:null;return r&&qi(Vi(r.file),!1)?r:qi(Vi(n.file),!0)?n:r??e}var Mp,Fp,Hp,Bp,Zp,Jp,Vp,Yp,os,Xp,Qp,Qi,ea=h(()=>{"use strict";Ee();Ki();Mp={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Xi};Fp={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Xi};Hp={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Bp={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Zp={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Jp={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Wp};Vp={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};Yp="tkr-droid-hook",os={mark:Yp,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Xp={...os,nested:!0};Qp={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Yi().file],installed:()=>Nn().some(e=>ts(e.file,e.spec)),ensure:async e=>{let t=Yi(),n=await ns(t.file,t.spec,e);return n==="error"||await Promise.all(Nn().filter(r=>r.file!==t.file).map(r=>Pn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Nn().map(t=>Pn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Qi=[Ze({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[Lp()]},Mp),Qp,Ze({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:jp},Fp),Ze({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[zp()]},Hp),Ze({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Up()]},Bp),Ze({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Gp()]},Zp),Ze({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Kp()]},Jp),Ze({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[qp()]},Vp)]});function ta(e){return tm.has(e)||(nm[e]?.installed()??!1)}function Dn(e){return null}function Mn(e=process.env){let t=process.platform,n=t==="darwin"||t==="linux"||t==="win32"?t:"other",r=process.arch,s=e.TOKMIZER_HOST;if(s&&em.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!ta(o)}}for(let o of na)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!ta(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var na,em,tm,nm,Ln=h(()=>{"use strict";_i();Si();Bi();ea();na=[{host:"claude-code",vars:["CLAUDECODE","CLAUDE_CODE_ENTRYPOINT","CLAUDE_CODE","CLAUDE_CODE_VERSION","ANTHROPIC_CLAUDE_CODE"]},{host:"codex",vars:["CODEX_VERSION","CODEX_CLI","OPENAI_CODEX","CODEX_THREAD_ID","CODEX_SESSION_ID"]},{host:"cursor",vars:["CURSOR_AGENT","CURSOR_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"qwen-code",vars:["QWEN_CODE"]},{host:"gemini-cli",vars:["GEMINI_CLI","GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]},{host:"opencode",vars:[]},{host:"amp",vars:[]},{host:"vibe",vars:[]},{host:"antigravity",vars:[]},{host:"openclaw",vars:[]},{host:"pi",vars:[]},{host:"omp",vars:[]},{host:"hermes",vars:[]},{host:"crush",vars:["CRUSH"]},{host:"droid",vars:[]},{host:"trae",vars:[]},{host:"junie",vars:[]},{host:"zcode",vars:[]},{host:"grok",vars:[]},{host:"kilo",vars:[]}],em=[...na.map(e=>e.host),"shell"],tm=new Set(["claude-code","codex"]),nm={cursor:{installed:ki,setup:"tkr setup-cursor"},"gemini-cli":{installed:xi,setup:"tkr setup-gemini"},...Object.fromEntries(Hi.map(e=>[e.host,{installed:()=>zi(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Qi.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});function Ge(e){let t=e;for(let[n,r]of rm)t=t.replace(n,r);return t}function am(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
10
+ `),n=[];for(let r of t){if(om.test(r)){let s=n.length;for(;s>0&&im.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${fe}${r}`);continue}}n.push(r)}return n.join(`
11
+ `)}function Fn(e){let t=e;for(let[n,r]of sm)t=t.replace(n,r);return am(t)}var rm,fe,sm,om,im,Yt=h(()=>{"use strict";rm=[[/(\baws_(?:secret_access_key|session_token|access_key_id)\s+)\S+/gi,"$1[REDACTED]"],[/(\bsshpass\b[^;&|\n]{0,200}?\s-p\s*)\S+/g,"$1[REDACTED]"],[/(\bredis-cli\b[^;&|\n]{0,200}?\s(?:-a|--pass)\s+)\S+/g,"$1[REDACTED]"],[/(\bopenssl\b[^;&|\n]{0,200}?\s-k\s+)\S+/g,"$1[REDACTED]"],[/(\s-pass(?:in|out)?\s+(?:pass|env|file):)\S+/g,"$1[REDACTED]"],[/(https?:\/\/hooks\.slack\.com\/(?:services|workflows|triggers)\/)\S+/gi,"$1[REDACTED]"],[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];fe="[tkr: secret masked]",sm=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${fe}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${fe}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${fe}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${fe}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${fe}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${fe}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${fe}`],[/(?<![A-Za-z0-9_-])(sk-(?:ant-|proj-))[A-Za-z0-9_-]{20,}/g,`$1${fe}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${fe}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${fe}$2`]],om=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,im=/^[A-Za-z0-9+/=]{16,}\r?$/});import{appendFileSync as lm,mkdirSync as cm,readFileSync as um,writeFileSync as fm,renameSync as dm,statSync as pm,readdirSync as GE,rmSync as WE,chmodSync as mm}from"node:fs";import{join as sa}from"node:path";function oa(){return sa(v(),"sessions")}function ym(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return sa(oa(),`${t}.jsonl`)}function is(e){let t=Ge(e.slice(0,ra*32)).replace(/(^|\s)(-p)(?:'[^']*'|"[^"]*"|(?=\S)\S+)/g,"$1$2[REDACTED]");return Fn(t).slice(0,ra)}function jn(e,t){try{let n=ym(e);cm(oa(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:is(t.target),...t.fail?{fail:1}:{}});if(lm(n,`${r}
12
+ `,{mode:384}),mm(n,384),pm(n).size>hm){let s=um(n,"utf8").split(`
13
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-gm),i=`${n}.tmp-${process.pid}`;fm(i,`${o.join(`
14
14
  `)}
15
- `,{mode:384}),om(i,n)}}catch{}}var lm,um,FE,cm,as=g(()=>{"use strict";H();Qt();lm=96*1024,um=500,FE=168*3600*1e3,cm=120});import{readFileSync as vm}from"node:fs";import{join as Tm}from"node:path";function de(){try{return vm(Tm(v(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Bn=g(()=>{"use strict";H()});var yt,zn=g(()=>{"use strict";yt="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});function Fm(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function jm(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
15
+ `,{mode:384}),dm(i,n)}}catch{}}var hm,gm,qE,ra,Hn=h(()=>{"use strict";j();Yt();hm=96*1024,gm=500,qE=168*3600*1e3,ra=120});import{readFileSync as Cm}from"node:fs";import{join as Om}from"node:path";function de(){try{return Cm(Om(v(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var zn=h(()=>{"use strict";j()});var gt,Bn=h(()=>{"use strict";gt="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]"});function Um(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Zm(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
16
16
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
17
- `))}return s}var $,Je=g(()=>{$=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Fm(n.toml,n.ptr),o=jm(n.toml,r,s);super(`Invalid TOML document: ${t}
17
+ `))}return s}var R,We=h(()=>{R=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=Um(n.toml,n.ptr),o=Zm(n.toml,r,s);super(`Invalid TOML document: ${t}
18
18
 
19
- ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function Un(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)$.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let u=e.s.slice(a,e.p);i=i?i+u:u}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let u=e.p++-1,c=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let p=e.s.charCodeAt(e.p),b=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;b<0&&$.x("invalid non-hex character in unicode escape",e),c=c<<4|b}(c<0||c>1114111||c>=55296&&c<=57343)&&$.x("invalid unicode escape",e,u),i+=String.fromCodePoint(c),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
20
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":$.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&$.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);$.x("unfinished string",e,t)}var fs=g(()=>{Je();});var Hm,Ke,ds=g(()=>{Hm=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Ke=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(Hm);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function ee(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ms(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function nn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||$.x("document contains excessively nested structures. aborting.",e);let s=r===91?aa(e):ia(e);return e.d++,s}return r===34||r===39?Un(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&$.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&$.x("invalid value",e,n),e.p++,!1):r===43||r===45?Zn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?Bm(e,r,t):e.s.charCodeAt(e.p+2)===58?zm(e,r,t):Zn(e,e.p,r,0,t)}function Zn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&$.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&$.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ms(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ps(e,t,16,s);if(o===98)return ps(e,t,2,s);if(o===111)return ps(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:$.x("illegal leading zero",e,t)}else ee(o)||$.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ms(o,s));)i||(i=1),o===95?(i&1||$.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(ee(o)?i>9?i-=11:i&1||i++:$.x("illegal character in numeric literal",e));if(!i){let u=(n-48)*(r||1);return e.bi===!0?BigInt(u):u}i&1||$.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):oa(e,l,10,t)}function ps(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ms(s,r));)s===95?(o&1&&$.x("illegal underscore",e),o=3):ee(s,n)?o&1&&o--:$.x("illegal character in numeric literal",e);o&1&&$.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),oa(e,i,n,t)}function oa(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;$.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function Bm(e,t,n){let r=e.p++,s;if(!ee(t)||!ee(e.s.charCodeAt(e.p++))||!ee(e.s.charCodeAt(e.p++))||!ee(e.s.charCodeAt(e.p++)))return Zn(e,e.p=r,t,0,n);if(e.p+=5,ee(e.s.charCodeAt(e.p++))||$.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ee(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return tn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&$.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ee(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return tn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return tn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return tn(e,o,2,s,r)}function zm(e,t,n){let r=e.p;if(!ee(t)||!ee(e.s.charCodeAt(++e.p)))return Zn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ee(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return tn(e,s,4,!1,r)}function tn(e,t,n,r,s,o){if(e.ld){let i=new Ke(t,n,r);return i.isValid()||$.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){$.x(i instanceof Error?i.message:""+i,e,s)}}var hs=g(()=>{fs();gs();Je();ds();});function Um(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&$.x("control characters are not allowed in comments",e)}}function pe(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;Um(e)}}var ys=g(()=>{Je();});function Gn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||$.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||$.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&$.x("illegal quoted key: multiline strings are not allowed",e),s.push(Un(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?$.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));$.x("incomplete key-value: cannot find end of key",e,n)}function ia(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(pe(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,u=Gn(e);for(let f=0;f<u.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=u[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&$.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&$.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&$.x("trying to redefine an already defined value",e,l),pe(e,!0,!0);let c=nn(e,125);if(i&&typeof(i[o]=c)=="object"&&r.add(c),pe(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished table",e,t)}function aa(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(pe(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(nn(e,93)),pe(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished array",e,t)}var gs=g(()=>{fs();hs();ys();Je();});function la(e,t,n,r,s){let o=n,i=r,a,l=!1,u;for(let c=0;c<t.length;c++){if(c){if(o=l?o[a]:o[a]=Object.create(null),i=(u=i[a]).c,s===0&&(u.t===1||u.t===2))return null;if(u.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[c],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:c<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(u=i[a],u.t!==s&&!(s===1&&u.t===3)||(s===2&&(u.d||(u.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),u.c[u.i++]=u={t:1,d:!1,i:0,c:Object.create(null)}),u.d))return null;if(u.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,u.c]}function ua(e,t,n){(t===null||e.uk===2)&&$.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Wn(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,pe(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let u=e.charCodeAt(++n.p)===91;o=n.p+=+u,i=!1;let c=Gn(n,93);u&&(e.charCodeAt(n.p)!==93&&$.x("expected end of table array declaration",n),n.p++);let f=la(n,c,r,s,u?2:1);f?(l=f[2],a=f[1]):(ua(n,f,o),i=!0)}else{o=n.p;let u=Gn(n),c=la(n,u,a,l,0);!c&&!i&&ua(n,c,o),pe(n,!0,!0);let f=nn(n,void 0);c&&!i&&(c[1][c[0]]=f)}pe(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&$.x("each key-value declaration must be followed by an end-of-line",n),pe(n)}return r}var ca=g(()=>{gs();hs();ys();Je();});function rn(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function Gm(e){for(let t=0;t<e.length;t++)if(rn(e[t])!=="object")return!1;return e.length!=0}function da(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Wm(e){return da(fa?e.toWellFormed():e)}function pa(e){if(Zm.test(e))return e;if(fa&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return da(e)}function bs(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Wm(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Jm(e,n,r,s);case"array":return Km(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function Jm(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=pa(a)+" = "+bs(e[a],rn(e[a]),t-1,n,r)}return o+" }"}function Km(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=bs(e[o],rn(e[o]),t-1,n,r)}return s+" ]"}function Vm(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
19
+ ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function Un(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)R.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let c=e.s.slice(a,e.p);i=i?i+c:c}return e.p+=o?3:1,i}else if(!l)!s&&n===92&&(i+=e.s.slice(a,a=e.p),l=1);else if(l===1)if(n===120||n===117||n===85){let c=e.p++-1,u=0,f=n===120?2:n===117?4:8;for(let d=0;d<f;d++,e.p++){let p=e.s.charCodeAt(e.p),b=p>=48&&p<=57?p-48:p>=65&&p<=70?p-65+10:p>=97&&p<=102?p-97+10:-1;b<0&&R.x("invalid non-hex character in unicode escape",e),u=u<<4|b}(u<0||u>1114111||u>=55296&&u<=57343)&&R.x("invalid unicode escape",e,c),i+=String.fromCodePoint(u),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
20
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":R.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&R.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);R.x("unfinished string",e,t)}var us=h(()=>{We();});var Gm,Je,fs=h(()=>{Gm=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Je=class e extends Date{#t=!1;#n=!1;#e=null;constructor(t,n,r){let s=!0,o=!0,i="Z",a;if(typeof t=="string")if(n)e:{if(n<3){if(+t.slice(11,13)>23){t="";break e}n===2?(i=null,t+="Z"):(a=t.charCodeAt(t.length-1))!==90&&a!==122&&(i=t.slice(t.length-6)),r&&(t=t.slice(0,10)+"T"+t.slice(11))}else n===4&&(t=+t.slice(0,2)>23?"":`0000-01-01T${t}Z`);s=n!==4,o=n!==3}else{let l=t.match(Gm);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function ne(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ps(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function en(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||R.x("document contains excessively nested structures. aborting.",e);let s=r===91?fa(e):ua(e);return e.d++,s}return r===34||r===39?Un(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&R.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&R.x("invalid value",e,n),e.p++,!1):r===43||r===45?Zn(e,e.p,e.s.charCodeAt(++e.p),44-r,t):e.s.charCodeAt(e.p+4)===45&&e.s.charCodeAt(e.p+7)===45?Wm(e,r,t):e.s.charCodeAt(e.p+2)===58?Jm(e,r,t):Zn(e,e.p,r,0,t)}function Zn(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&R.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&R.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ps(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ds(e,t,16,s);if(o===98)return ds(e,t,2,s);if(o===111)return ds(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:R.x("illegal leading zero",e,t)}else ne(o)||R.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ps(o,s));)i||(i=1),o===95?(i&1||R.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(ne(o)?i>9?i-=11:i&1||i++:R.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||R.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ca(e,l,10,t)}function ds(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ps(s,r));)s===95?(o&1&&R.x("illegal underscore",e),o=3):ne(s,n)?o&1&&o--:R.x("illegal character in numeric literal",e);o&1&&R.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ca(e,i,n,t)}function ca(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;R.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function Wm(e,t,n){let r=e.p++,s;if(!ne(t)||!ne(e.s.charCodeAt(e.p++))||!ne(e.s.charCodeAt(e.p++))||!ne(e.s.charCodeAt(e.p++)))return Zn(e,e.p=r,t,0,n);if(e.p+=5,ne(e.s.charCodeAt(e.p++))||R.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ne(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Qt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&R.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ne(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return Qt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Qt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Qt(e,o,2,s,r)}function Jm(e,t,n){let r=e.p;if(!ne(t)||!ne(e.s.charCodeAt(++e.p)))return Zn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ne(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Qt(e,s,4,!1,r)}function Qt(e,t,n,r,s,o){if(e.ld){let i=new Je(t,n,r);return i.isValid()||R.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){R.x(i instanceof Error?i.message:""+i,e,s)}}var ms=h(()=>{us();hs();We();fs();});function Km(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&R.x("control characters are not allowed in comments",e)}}function pe(e,t,n){let r;for(;e.p<e.s.length;){for(;e.p<e.s.length&&((r=e.s.charCodeAt(e.p))===32||r===9||!t&&(r===10||r===13&&e.s.charCodeAt(e.p+1)===10));)e.p++;if(n||r!==35)break;Km(e)}}var gs=h(()=>{We();});function Gn(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||R.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||R.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&R.x("illegal quoted key: multiline strings are not allowed",e),s.push(Un(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?R.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));R.x("incomplete key-value: cannot find end of key",e,n)}function ua(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(pe(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Gn(e);for(let f=0;f<c.length;f++){f&&(i=a?i[o]:i[o]=Object.create(null)),o=c[f],(a=Object.hasOwn(i,o))&&(typeof i[o]!="object"||r.has(i[o]))&&R.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&R.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&R.x("trying to redefine an already defined value",e,l),pe(e,!0,!0);let u=en(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),pe(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&R.x("expected comma or end of structure",e,e.p-1)}R.x("unfinished table",e,t)}function fa(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(pe(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(en(e,93)),pe(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&R.x("expected comma or end of structure",e,e.p-1)}R.x("unfinished array",e,t)}var hs=h(()=>{us();ms();gs();We();});function da(e,t,n,r,s){let o=n,i=r,a,l=!1,c;for(let u=0;u<t.length;u++){if(u){if(o=l?o[a]:o[a]=Object.create(null),i=(c=i[a]).c,s===0&&(c.t===1||c.t===2))return null;if(c.t===2){let f=o.length-1;o=o[f],i=i[f].c}}if(a=t[u],(l=Object.hasOwn(o,a))&&i[a]?.t===0&&i[a]?.d)return null;if(!l){let f=a==="__proto__";if(e.uk&&(f||a==="constructor"))return!1;f&&(Object.defineProperty(o,a,{enumerable:!0,configurable:!0,writable:!0}),Object.defineProperty(i,a,{enumerable:!0,configurable:!0,writable:!0})),i[a]={t:u<t.length-1&&s===2?3:s,d:!1,i:0,c:Object.create(null)}}}if(c=i[a],c.t!==s&&!(s===1&&c.t===3)||(s===2&&(c.d||(c.d=!0,o[a]=[]),o[a].push(o=Object.create(null)),c.c[c.i++]=c={t:1,d:!1,i:0,c:Object.create(null)}),c.d))return null;if(c.d=!0,s===1)o=l?o[a]:o[a]=Object.create(null);else if(s===0&&l)return null;return[a,o,c.c]}function pa(e,t,n){(t===null||e.uk===2)&&R.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Wn(e,t={}){let n={s:e,p:0,d:t.maxDepth??1e3,bi:t.integersAsBigInt??!1,ld:t.useLegacyDate??!0,uk:t.unsafeKeyBehaviour==="throw"?2:t.unsafeKeyBehaviour==="drop"?1:0},r=Object.create(null),s=Object.create(null),o,i=!1,a=r,l=s;for(e.charCodeAt(0)===65279&&n.p++,pe(n);n.p<e.length;){if(e.charCodeAt(n.p)===91){let c=e.charCodeAt(++n.p)===91;o=n.p+=+c,i=!1;let u=Gn(n,93);c&&(e.charCodeAt(n.p)!==93&&R.x("expected end of table array declaration",n),n.p++);let f=da(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(pa(n,f,o),i=!0)}else{o=n.p;let c=Gn(n),u=da(n,c,a,l,0);!u&&!i&&pa(n,u,o),pe(n,!0,!0);let f=en(n,void 0);u&&!i&&(u[1][u[0]]=f)}pe(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&R.x("each key-value declaration must be followed by an end-of-line",n),pe(n)}return r}var ma=h(()=>{hs();ms();gs();We();});function tn(e){let t=typeof e;if(t==="object"){if(Array.isArray(e))return"array";if(typeof e.getUTCDate=="function"&&e instanceof Date)return"date";if(globalThis.Temporal){if(e.until){if(e instanceof Temporal.ZonedDateTime)return"temporal/tz+uc";if(e instanceof Temporal.PlainDateTime||e instanceof Temporal.PlainDate)return"temporal/uc";if(e instanceof Temporal.PlainTime||e instanceof Temporal.Instant)return"temporal";if(e instanceof Temporal.PlainYearMonth)return"temporal/x"}else if(e.toPlainDate&&e instanceof Temporal.PlainMonthDay||e.negated&&e instanceof Temporal.Duration)return"temporal/x"}}return t}function qm(e){for(let t=0;t<e.length;t++)if(tn(e[t])!=="object")return!1;return e.length!=0}function ga(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function Ym(e){return ga(ha?e.toWellFormed():e)}function ya(e){if(Vm.test(e))return e;if(ha&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return ga(e)}function ys(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");switch(t){case"number":if(isNaN(e))return"nan";if(e===1/0)return"inf";if(e===-1/0)return"-inf";if(Number.isInteger(e)&&(r||!Number.isSafeInteger(e)))return e.toFixed(1);case"bigint":case"boolean":case"temporal":return e.toString();case"string":return Ym(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return Xm(e,n,r,s);case"array":return Qm(e,n,r,s);case"temporal/tz+uc":if(s){let o=e.timeZoneId,i=o.charCodeAt(0);if(i!==43&&i!==45&&(i!==85&&i!==71&&i!==90&&i!==69||o!=="UTC"&&o!=="UCT"&&o!=="Universal"&&o!=="Zulu"&&!o.startsWith("GMT")&&o!=="Greenwich"&&!o.startsWith("Etc/")))throw new TypeError("Temporal objects with an IANA timezone are not allowed in Temporal strict mode")}case"temporal/uc":if(s&&e.calendarId!=="iso8601")throw new TypeError("Temporal objects with a non-default calendar are not allowed in Temporal strict mode");return e.toString({calendarName:"never",timeZoneName:"never"});case"temporal/x":throw new TypeError("Unsupported "+e[Symbol.toStringTag])}}function Xm(e,t,n,r){let s=Object.keys(e);if(s.length===0)return"{}";let o="{ ";for(let i=0;i<s.length;i++){let a=s[i];i&&(o+=", "),o+=ya(a)+" = "+ys(e[a],tn(e[a]),t-1,n,r)}return o+" }"}function Qm(e,t,n,r){if(e.length===0)return"[]";let s="[ ";for(let o=0;o<e.length;o++){if(o&&(s+=", "),e[o]===null||e[o]===void 0)throw new TypeError("arrays cannot contain null or undefined values");s+=ys(e[o],tn(e[o]),t-1,n,r)}return s+" ]"}function eh(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
21
21
  `}[[${t}]]
22
- `,o+=ks(0,e[i],t,n,r,s);return o}function ks(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let u=0;u<l.length;u++){let c=l[u];if(t[c]!==null&&t[c]!==void 0){let f=rn(t[c]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=pa(c);if(f==="array"&&Gm(t[c]))a+=(a&&`
23
- `)+Vm(t[c],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
24
- `)+ks(p,t[c],p,r-1,s,o)}else i+=d,i+=" = ",i+=bs(t[c],f,r,s,o),i+=`
22
+ `,o+=bs(0,e[i],t,n,r,s);return o}function bs(e,t,n,r,s,o){if(r===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let i="",a="",l=Object.keys(t);for(let c=0;c<l.length;c++){let u=l[c];if(t[u]!==null&&t[u]!==void 0){let f=tn(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=ya(u);if(f==="array"&&qm(t[u]))a+=(a&&`
23
+ `)+eh(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let p=n?`${n}.${d}`:d;a+=(a&&`
24
+ `)+bs(p,t[u],p,r-1,s,o)}else i+=d,i+=" = ",i+=ys(t[u],f,r,s,o),i+=`
25
25
  `}}return e&&(i||!a)&&(i=i?`[${e}]
26
26
  ${i}`:`[${e}]`),i&&a?`${i}
27
- ${a}`:i||a}function _s(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(rn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=ks(0,e,"",t,n,r);return s[s.length-1]!==`
27
+ ${a}`:i||a}function ks(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(tn(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=bs(0,e,"",t,n,r);return s[s.length-1]!==`
28
28
  `?s+`
29
- `:s}var Zm,fa,ma=g(()=>{Zm=/^[a-z0-9-_]+$/i,fa=!!"".isWellFormed});var ws={};zt(ws,{TomlDate:()=>Ke,TomlError:()=>$,default:()=>qm,parse:()=>Wn,stringify:()=>_s});var qm,Jn=g(()=>{ca();ma();ds();Je();qm={parse:Wn,stringify:_s,TomlDate:Ke,TomlError:$}});var Oa=Q((nT,Ca)=>{Ca.exports=Aa;Aa.sync=Th;var $a=Oe("fs");function vh(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Ra(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:vh(t,n)}function Aa(e,t,n){$a.stat(e,function(r,s){n(r,r?!1:Ra(s,e,t))})}function Th(e,t){return Ra($a.statSync(e),e,t)}});var Ma=Q((rT,Da)=>{Da.exports=Pa;Pa.sync=$h;var Ia=Oe("fs");function Pa(e,t,n){Ia.stat(e,function(r,s){n(r,r?!1:Na(s,t))})}function $h(e,t){return Na(Ia.statSync(e),t)}function Na(e,t){return e.isFile()&&Rh(e,t)}function Rh(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),u=parseInt("001",8),c=a|l,f=n&u||n&l&&s===i||n&a&&r===o||n&c&&o===0;return f}});var Fa=Q((oT,La)=>{var sT=Oe("fs"),qn;process.platform==="win32"||global.TESTING_WINDOWS?qn=Oa():qn=Ma();La.exports=Ss;Ss.sync=Ah;function Ss(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){Ss(e,t||{},function(o,i){o?s(o):r(i)})})}qn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Ah(e,t){try{return qn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Ga=Q((iT,Za)=>{var bt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ja=Oe("path"),Ch=bt?";":":",Ha=Fa(),Ba=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),za=(e,t)=>{let n=t.colon||Ch,r=e.match(/\//)||bt&&e.match(/\\/)?[""]:[...bt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=bt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=bt?s.split(n):[""];return bt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Ua=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=za(e,t),i=[],a=u=>new Promise((c,f)=>{if(u===r.length)return t.all&&i.length?c(i):f(Ba(e));let d=r[u],p=/^".*"$/.test(d)?d.slice(1,-1):d,b=ja.join(p,e),h=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+b:b;c(l(h,u,0))}),l=(u,c,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(c+1));let b=s[f];Ha(u+b,{pathExt:o},(h,m)=>{if(!h&&m)if(t.all)i.push(u+b);else return d(u+b);return d(l(u,c,f+1))})});return n?a(0).then(u=>n(null,u),n):a(0)},Oh=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=za(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,u=ja.join(l,e),c=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+u:u;for(let f=0;f<r.length;f++){let d=c+r[f];try{if(Ha.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Ba(e)};Za.exports=Ua;Ua.sync=Oh});var Ja=Q((aT,Es)=>{"use strict";var Wa=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Es.exports=Wa;Es.exports.default=Wa});var Ya=Q((lT,qa)=>{"use strict";var Ka=Oe("path"),Ih=Ga(),Ph=Ja();function Va(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Ih.sync(e.command,{path:n[Ph({env:n})],pathExt:t?Ka.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Ka.resolve(s?e.options.cwd:"",i)),i}function Nh(e){return Va(e)||Va(e,!0)}qa.exports=Nh});var Xa=Q((uT,Ts)=>{"use strict";var vs=/([()\][%!^"`<>&|;, *?])/g;function Dh(e){return e=e.replace(vs,"^$1"),e}function Mh(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(vs,"^$1"),t&&(e=e.replace(vs,"^$1")),e}Ts.exports.command=Dh;Ts.exports.argument=Mh});var el=Q((cT,Qa)=>{"use strict";Qa.exports=/^#!(.*)/});var nl=Q((fT,tl)=>{"use strict";var Lh=el();tl.exports=(e="")=>{let t=e.match(Lh);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var sl=Q((dT,rl)=>{"use strict";var $s=Oe("fs"),Fh=nl();function jh(e){let n=Buffer.alloc(150),r;try{r=$s.openSync(e,"r"),$s.readSync(r,n,0,150,0),$s.closeSync(r)}catch{}return Fh(n.toString())}rl.exports=jh});var ll=Q((pT,al)=>{"use strict";var Hh=Oe("path"),ol=Ya(),il=Xa(),Bh=sl(),zh=process.platform==="win32",Uh=/\.(?:com|exe)$/i,Zh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Gh(e){e.file=ol(e);let t=e.file&&Bh(e.file);return t?(e.args.unshift(e.file),e.command=t,ol(e)):e.file}function Wh(e){if(!zh)return e;let t=Gh(e),n=!Uh.test(t);if(e.options.forceShell||n){let r=Zh.test(t);e.command=Hh.normalize(e.command),e.command=il.command(e.command),e.args=e.args.map(o=>il.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Jh(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Wh(r)}al.exports=Jh});var fl=Q((mT,cl)=>{"use strict";var Rs=process.platform==="win32";function As(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Kh(e,t){if(!Rs)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=ul(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function ul(e,t){return Rs&&e===1&&!t.file?As(t.original,"spawn"):null}function Vh(e,t){return Rs&&e===1&&!t.file?As(t.original,"spawnSync"):null}cl.exports={hookChildProcess:Kh,verifyENOENT:ul,verifyENOENTSync:Vh,notFoundError:As}});var ml=Q((hT,kt)=>{"use strict";var dl=Oe("child_process"),Cs=ll(),Os=fl();function pl(e,t,n){let r=Cs(e,t,n),s=dl.spawn(r.command,r.args,r.options);return Os.hookChildProcess(s,r),s}function qh(e,t,n){let r=Cs(e,t,n),s=dl.spawnSync(r.command,r.args,r.options);return s.error=s.error||Os.verifyENOENTSync(s.status,r),s}kt.exports=pl;kt.exports.spawn=pl;kt.exports.sync=qh;kt.exports._parse=Cs;kt.exports._enoent=Os});var L,Is,x,ye,on=g(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(L||(L={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Is||(Is={}));x=L.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ye=e=>{switch(typeof e){case"undefined":return x.undefined;case"string":return x.string;case"number":return Number.isNaN(e)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(e)?x.array:e===null?x.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?x.promise:typeof Map<"u"&&e instanceof Map?x.map:typeof Set<"u"&&e instanceof Set?x.set:typeof Date<"u"&&e instanceof Date?x.date:x.object;default:return x.unknown}}});var y,Yh,q,Yn=g(()=>{on();y=L.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Yh=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),q=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let u=i.path[l];l===i.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(n(i))):a[u]=a[u]||{_errors:[]},a=a[u],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,L.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};q.create=e=>new q(e)});var Xh,Ee,Ps=g(()=>{Yn();on();Xh=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===x.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,L.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${L.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${L.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${L.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:L.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,L.assertNever(e)}return{message:n}},Ee=Xh});function Qh(e){hl=e}function _t(){return hl}var hl,Xn=g(()=>{Ps();hl=Ee});function w(e,t){let n=_t(),r=an({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Ee?void 0:Ee].filter(s=>!!s)});e.common.issues.push(r)}var an,eg,Z,T,Ve,J,Qn,er,De,wt,Ns=g(()=>{Xn();Ps();an=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(u=>!!u).slice().reverse();for(let u of l)a=u(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},eg=[];Z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return T;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return T;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},T=Object.freeze({status:"aborted"}),Ve=e=>({status:"dirty",value:e}),J=e=>({status:"valid",value:e}),Qn=e=>e.status==="aborted",er=e=>e.status==="dirty",De=e=>e.status==="valid",wt=e=>typeof Promise<"u"&&e instanceof Promise});var gl=g(()=>{});var E,yl=g(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(E||(E={}))});function I(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function wl(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function yg(e){return new RegExp(`^${wl(e)}$`)}function xl(e){let t=`${_l}T${wl(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function bg(e,t){return!!((t==="v4"||!t)&&cg.test(e)||(t==="v6"||!t)&&dg.test(e))}function kg(e,t){if(!ig.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function _g(e,t){return!!((t==="v4"||!t)&&fg.test(e)||(t==="v6"||!t)&&pg.test(e))}function wg(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function xt(e){if(e instanceof Y){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=oe.create(xt(r))}return new Y({...e._def,shape:()=>t})}else return e instanceof $e?new $e({...e._def,type:xt(e.element)}):e instanceof oe?oe.create(xt(e.unwrap())):e instanceof ke?ke.create(xt(e.unwrap())):e instanceof be?be.create(e.items.map(t=>xt(t))):e}function Ms(e,t){let n=ye(e),r=ye(t);if(e===t)return{valid:!0,data:e};if(n===x.object&&r===x.object){let s=L.objectKeys(t),o=L.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Ms(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===x.array&&r===x.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=Ms(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===x.date&&r===x.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Sl(e,t){return new it({values:e,typeName:R.ZodEnum,...I(t)})}function kl(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function El(e,t={},n){return e?Le.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=kl(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=kl(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Le.create()}var ie,bl,M,tg,ng,rg,sg,og,ig,ag,lg,ug,Ds,cg,fg,dg,pg,mg,hg,_l,gg,Me,qe,Ye,Xe,Qe,St,et,tt,Le,Te,me,Et,$e,Y,nt,ve,tr,rt,be,nr,vt,Tt,rr,st,ot,it,at,Fe,ae,oe,ke,lt,ut,$t,xg,ln,un,ct,Sg,R,Eg,vl,Tl,vg,Tg,$l,$g,Rg,Ag,Cg,Og,Ig,Pg,Ng,Dg,Mg,Lg,Fg,jg,Hg,Bg,zg,Ug,Zg,Gg,Wg,Jg,Kg,Vg,qg,Yg,Xg,Qg,ey,ty,ny,ry,sy,oy,iy,Rl=g(()=>{Yn();Xn();yl();Ns();on();ie=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},bl=(e,t)=>{if(De(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new q(e.common.issues);return this._error=n,this._error}}};M=class{get description(){return this._def.description}_getType(t){return ye(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ye(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Z,ctx:{common:t.parent.common,data:t.data,parsedType:ye(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(wt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ye(t)},s=this._parseSync({data:t,path:r.path,parent:r});return bl(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ye(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return De(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>De(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ye(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(wt(s)?s:Promise.resolve(s));return bl(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new ae({schema:this,typeName:R.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return oe.create(this,this._def)}nullable(){return ke.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return $e.create(this)}promise(){return Fe.create(this,this._def)}or(t){return nt.create([this,t],this._def)}and(t){return rt.create(this,t,this._def)}transform(t){return new ae({...I(this._def),schema:this,typeName:R.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new lt({...I(this._def),innerType:this,defaultValue:n,typeName:R.ZodDefault})}brand(){return new ln({typeName:R.ZodBranded,type:this,...I(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new ut({...I(this._def),innerType:this,catchValue:n,typeName:R.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return un.create(this,t)}readonly(){return ct.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},tg=/^c[^\s-]{8,}$/i,ng=/^[0-9a-z]+$/,rg=/^[0-9A-HJKMNP-TV-Z]{26}$/i,sg=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,og=/^[a-z0-9_-]{21}$/i,ig=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ag=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,lg=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ug="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",cg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,fg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,dg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,pg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,mg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,hg=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,_l="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",gg=new RegExp(`^${_l}$`);Me=class e extends M{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==x.string){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:x.string,received:o.parsedType}),T}let r=new Z,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?w(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&w(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")lg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Ds||(Ds=new RegExp(ug,"u")),Ds.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")sg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")og.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")tg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")ng.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")rg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),w(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?xl(o).test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?gg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?yg(o).test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?ag.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?bg(t.data,o.version)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?kg(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?_g(t.data,o.version)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?mg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?hg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):L.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...E.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...E.errToObj(t)})}url(t){return this._addCheck({kind:"url",...E.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...E.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...E.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...E.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...E.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...E.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...E.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...E.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...E.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...E.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...E.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...E.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...E.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...E.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...E.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...E.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...E.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...E.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...E.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...E.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...E.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...E.errToObj(n)})}nonempty(t){return this.min(1,E.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Me.create=e=>new Me({checks:[],typeName:R.ZodString,coerce:e?.coerce??!1,...I(e)});qe=class e extends M{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==x.number){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:x.number,received:o.parsedType}),T}let r,s=new Z;for(let o of this._def.checks)o.kind==="int"?L.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),w(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?wg(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_finite,message:o.message}),s.dirty()):L.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:E.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:E.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&L.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};qe.create=e=>new qe({checks:[],typeName:R.ZodNumber,coerce:e?.coerce||!1,...I(e)});Ye=class e extends M{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==x.bigint)return this._getInvalidInput(t);let r,s=new Z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):L.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return w(n,{code:y.invalid_type,expected:x.bigint,received:n.parsedType}),T}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ye.create=e=>new Ye({checks:[],typeName:R.ZodBigInt,coerce:e?.coerce??!1,...I(e)});Xe=class extends M{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==x.boolean){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.boolean,received:r.parsedType}),T}return J(t.data)}};Xe.create=e=>new Xe({typeName:R.ZodBoolean,coerce:e?.coerce||!1,...I(e)});Qe=class e extends M{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==x.date){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:x.date,received:o.parsedType}),T}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_date}),T}let r=new Z,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):L.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:E.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:E.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Qe.create=e=>new Qe({checks:[],coerce:e?.coerce||!1,typeName:R.ZodDate,...I(e)});St=class extends M{_parse(t){if(this._getType(t)!==x.symbol){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.symbol,received:r.parsedType}),T}return J(t.data)}};St.create=e=>new St({typeName:R.ZodSymbol,...I(e)});et=class extends M{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.undefined,received:r.parsedType}),T}return J(t.data)}};et.create=e=>new et({typeName:R.ZodUndefined,...I(e)});tt=class extends M{_parse(t){if(this._getType(t)!==x.null){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.null,received:r.parsedType}),T}return J(t.data)}};tt.create=e=>new tt({typeName:R.ZodNull,...I(e)});Le=class extends M{constructor(){super(...arguments),this._any=!0}_parse(t){return J(t.data)}};Le.create=e=>new Le({typeName:R.ZodAny,...I(e)});Te=class extends M{constructor(){super(...arguments),this._unknown=!0}_parse(t){return J(t.data)}};Te.create=e=>new Te({typeName:R.ZodUnknown,...I(e)});me=class extends M{_parse(t){let n=this._getOrReturnCtx(t);return w(n,{code:y.invalid_type,expected:x.never,received:n.parsedType}),T}};me.create=e=>new me({typeName:R.ZodNever,...I(e)});Et=class extends M{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.void,received:r.parsedType}),T}return J(t.data)}};Et.create=e=>new Et({typeName:R.ZodVoid,...I(e)});$e=class e extends M{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==x.array)return w(n,{code:y.invalid_type,expected:x.array,received:n.parsedType}),T;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(w(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(w(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(w(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new ie(n,i,n.path,a)))).then(i=>Z.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new ie(n,i,n.path,a)));return Z.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:E.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:E.toString(n)}})}nonempty(t){return this.min(1,t)}};$e.create=(e,t)=>new $e({type:e,minLength:null,maxLength:null,exactLength:null,typeName:R.ZodArray,...I(t)});Y=class e extends M{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=L.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==x.object){let u=this._getOrReturnCtx(t);return w(u,{code:y.invalid_type,expected:x.object,received:u.parsedType}),T}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof me&&this._def.unknownKeys==="strip"))for(let u in s.data)i.includes(u)||a.push(u);let l=[];for(let u of i){let c=o[u],f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new ie(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof me){let u=this._def.unknownKeys;if(u==="passthrough")for(let c of a)l.push({key:{status:"valid",value:c},value:{status:"valid",value:s.data[c]}});else if(u==="strict")a.length>0&&(w(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let c of a){let f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new ie(s,f,s.path,c)),alwaysSet:c in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let c of l){let f=await c.key,d=await c.value;u.push({key:f,value:d,alwaysSet:c.alwaysSet})}return u}).then(u=>Z.mergeObjectSync(r,u)):Z.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:E.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:R.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of L.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of L.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return xt(this)}partial(t){let n={};for(let r of L.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of L.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof oe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Sl(L.objectKeys(this.shape))}};Y.create=(e,t)=>new Y({shape:()=>e,unknownKeys:"strip",catchall:me.create(),typeName:R.ZodObject,...I(t)});Y.strictCreate=(e,t)=>new Y({shape:()=>e,unknownKeys:"strict",catchall:me.create(),typeName:R.ZodObject,...I(t)});Y.lazycreate=(e,t)=>new Y({shape:e,unknownKeys:"strip",catchall:me.create(),typeName:R.ZodObject,...I(t)});nt=class extends M{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new q(a.ctx.common.issues));return w(n,{code:y.invalid_union,unionErrors:i}),T}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let u={...n,common:{...n.common,issues:[]},parent:null},c=l._parseSync({data:n.data,path:n.path,parent:u});if(c.status==="valid")return c;c.status==="dirty"&&!o&&(o={result:c,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new q(l));return w(n,{code:y.invalid_union,unionErrors:a}),T}}get options(){return this._def.options}};nt.create=(e,t)=>new nt({options:e,typeName:R.ZodUnion,...I(t)});ve=e=>e instanceof st?ve(e.schema):e instanceof ae?ve(e.innerType()):e instanceof ot?[e.value]:e instanceof it?e.options:e instanceof at?L.objectValues(e.enum):e instanceof lt?ve(e._def.innerType):e instanceof et?[void 0]:e instanceof tt?[null]:e instanceof oe?[void 0,...ve(e.unwrap())]:e instanceof ke?[null,...ve(e.unwrap())]:e instanceof ln||e instanceof ct?ve(e.unwrap()):e instanceof ut?ve(e._def.innerType):[],tr=class e extends M{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.object)return w(n,{code:y.invalid_type,expected:x.object,received:n.parsedType}),T;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(w(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),T)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=ve(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:R.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...I(r)})}};rt=class extends M{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Qn(o)||Qn(i))return T;let a=Ms(o.value,i.value);return a.valid?((er(o)||er(i))&&n.dirty(),{status:n.value,value:a.data}):(w(r,{code:y.invalid_intersection_types}),T)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};rt.create=(e,t,n)=>new rt({left:e,right:t,typeName:R.ZodIntersection,...I(n)});be=class e extends M{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.array)return w(r,{code:y.invalid_type,expected:x.array,received:r.parsedType}),T;if(r.data.length<this._def.items.length)return w(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;!this._def.rest&&r.data.length>this._def.items.length&&(w(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new ie(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Z.mergeArray(n,i)):Z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};be.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new be({items:e,typeName:R.ZodTuple,rest:null,...I(t)})};nr=class e extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.object)return w(r,{code:y.invalid_type,expected:x.object,received:r.parsedType}),T;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new ie(r,a,r.path,a)),value:i._parse(new ie(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Z.mergeObjectAsync(n,s):Z.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof M?new e({keyType:t,valueType:n,typeName:R.ZodRecord,...I(r)}):new e({keyType:Me.create(),valueType:t,typeName:R.ZodRecord,...I(n)})}},vt=class extends M{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.map)return w(r,{code:y.invalid_type,expected:x.map,received:r.parsedType}),T;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],u)=>({key:s._parse(new ie(r,a,r.path,[u,"key"])),value:o._parse(new ie(r,l,r.path,[u,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let u=await l.key,c=await l.value;if(u.status==="aborted"||c.status==="aborted")return T;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let u=l.key,c=l.value;if(u.status==="aborted"||c.status==="aborted")return T;(u.status==="dirty"||c.status==="dirty")&&n.dirty(),a.set(u.value,c.value)}return{status:n.value,value:a}}}};vt.create=(e,t,n)=>new vt({valueType:t,keyType:e,typeName:R.ZodMap,...I(n)});Tt=class e extends M{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.set)return w(r,{code:y.invalid_type,expected:x.set,received:r.parsedType}),T;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(w(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(w(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let u=new Set;for(let c of l){if(c.status==="aborted")return T;c.status==="dirty"&&n.dirty(),u.add(c.value)}return{status:n.value,value:u}}let a=[...r.data.values()].map((l,u)=>o._parse(new ie(r,l,r.path,u)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:E.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};Tt.create=(e,t)=>new Tt({valueType:e,minSize:null,maxSize:null,typeName:R.ZodSet,...I(t)});rr=class e extends M{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.function)return w(n,{code:y.invalid_type,expected:x.function,received:n.parsedType}),T;function r(a,l){return an({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,_t(),Ee].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return an({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,_t(),Ee].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Fe){let a=this;return J(async function(...l){let u=new q([]),c=await a._def.args.parseAsync(l,o).catch(p=>{throw u.addIssue(r(l,p)),u}),f=await Reflect.apply(i,this,c);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw u.addIssue(s(f,p)),u})})}else{let a=this;return J(function(...l){let u=a._def.args.safeParse(l,o);if(!u.success)throw new q([r(l,u.error)]);let c=Reflect.apply(i,this,u.data),f=a._def.returns.safeParse(c,o);if(!f.success)throw new q([s(c,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:be.create(t).rest(Te.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||be.create([]).rest(Te.create()),returns:n||Te.create(),typeName:R.ZodFunction,...I(r)})}},st=class extends M{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};st.create=(e,t)=>new st({getter:e,typeName:R.ZodLazy,...I(t)});ot=class extends M{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return w(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:t.data}}get value(){return this._def.value}};ot.create=(e,t)=>new ot({value:e,typeName:R.ZodLiteral,...I(t)});it=class e extends M{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return w(n,{expected:L.joinValues(r),received:n.parsedType,code:y.invalid_type}),T}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return w(n,{received:n.data,code:y.invalid_enum_value,options:r}),T}return J(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};it.create=Sl;at=class extends M{_parse(t){let n=L.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==x.string&&r.parsedType!==x.number){let s=L.objectValues(n);return w(r,{expected:L.joinValues(s),received:r.parsedType,code:y.invalid_type}),T}if(this._cache||(this._cache=new Set(L.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=L.objectValues(n);return w(r,{received:r.data,code:y.invalid_enum_value,options:s}),T}return J(t.data)}get enum(){return this._def.values}};at.create=(e,t)=>new at({values:e,typeName:R.ZodNativeEnum,...I(t)});Fe=class extends M{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.promise&&n.common.async===!1)return w(n,{code:y.invalid_type,expected:x.promise,received:n.parsedType}),T;let r=n.parsedType===x.promise?n.data:Promise.resolve(n.data);return J(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Fe.create=(e,t)=>new Fe({type:e,typeName:R.ZodPromise,...I(t)});ae=class extends M{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===R.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{w(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return T;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?T:l.status==="dirty"?Ve(l.value):n.value==="dirty"?Ve(l.value):l});{if(n.value==="aborted")return T;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?T:a.status==="dirty"?Ve(a.value):n.value==="dirty"?Ve(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?T:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?T:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!De(i))return T;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>De(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):T);L.assertNever(s)}};ae.create=(e,t,n)=>new ae({schema:e,typeName:R.ZodEffects,effect:t,...I(n)});ae.createWithPreprocess=(e,t,n)=>new ae({schema:t,effect:{type:"preprocess",transform:e},typeName:R.ZodEffects,...I(n)});oe=class extends M{_parse(t){return this._getType(t)===x.undefined?J(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};oe.create=(e,t)=>new oe({innerType:e,typeName:R.ZodOptional,...I(t)});ke=class extends M{_parse(t){return this._getType(t)===x.null?J(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ke.create=(e,t)=>new ke({innerType:e,typeName:R.ZodNullable,...I(t)});lt=class extends M{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===x.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};lt.create=(e,t)=>new lt({innerType:e,typeName:R.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...I(t)});ut=class extends M{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return wt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new q(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new q(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};ut.create=(e,t)=>new ut({innerType:e,typeName:R.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...I(t)});$t=class extends M{_parse(t){if(this._getType(t)!==x.nan){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:x.nan,received:r.parsedType}),T}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:R.ZodNaN,...I(e)});xg=Symbol("zod_brand"),ln=class extends M{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},un=class e extends M{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?T:o.status==="dirty"?(n.dirty(),Ve(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?T:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:R.ZodPipeline})}},ct=class extends M{_parse(t){let n=this._def.innerType._parse(t),r=s=>(De(s)&&(s.value=Object.freeze(s.value)),s);return wt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};ct.create=(e,t)=>new ct({innerType:e,typeName:R.ZodReadonly,...I(t)});Sg={object:Y.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(R||(R={}));Eg=(e,t={message:`Input not instance of ${e.name}`})=>El(n=>n instanceof e,t),vl=Me.create,Tl=qe.create,vg=$t.create,Tg=Ye.create,$l=Xe.create,$g=Qe.create,Rg=St.create,Ag=et.create,Cg=tt.create,Og=Le.create,Ig=Te.create,Pg=me.create,Ng=Et.create,Dg=$e.create,Mg=Y.create,Lg=Y.strictCreate,Fg=nt.create,jg=tr.create,Hg=rt.create,Bg=be.create,zg=nr.create,Ug=vt.create,Zg=Tt.create,Gg=rr.create,Wg=st.create,Jg=ot.create,Kg=it.create,Vg=at.create,qg=Fe.create,Yg=ae.create,Xg=oe.create,Qg=ke.create,ey=ae.createWithPreprocess,ty=un.create,ny=()=>vl().optional(),ry=()=>Tl().optional(),sy=()=>$l().optional(),oy={string:(e=>Me.create({...e,coerce:!0})),number:(e=>qe.create({...e,coerce:!0})),boolean:(e=>Xe.create({...e,coerce:!0})),bigint:(e=>Ye.create({...e,coerce:!0})),date:(e=>Qe.create({...e,coerce:!0}))},iy=T});var k={};zt(k,{BRAND:()=>xg,DIRTY:()=>Ve,EMPTY_PATH:()=>eg,INVALID:()=>T,NEVER:()=>iy,OK:()=>J,ParseStatus:()=>Z,Schema:()=>M,ZodAny:()=>Le,ZodArray:()=>$e,ZodBigInt:()=>Ye,ZodBoolean:()=>Xe,ZodBranded:()=>ln,ZodCatch:()=>ut,ZodDate:()=>Qe,ZodDefault:()=>lt,ZodDiscriminatedUnion:()=>tr,ZodEffects:()=>ae,ZodEnum:()=>it,ZodError:()=>q,ZodFirstPartyTypeKind:()=>R,ZodFunction:()=>rr,ZodIntersection:()=>rt,ZodIssueCode:()=>y,ZodLazy:()=>st,ZodLiteral:()=>ot,ZodMap:()=>vt,ZodNaN:()=>$t,ZodNativeEnum:()=>at,ZodNever:()=>me,ZodNull:()=>tt,ZodNullable:()=>ke,ZodNumber:()=>qe,ZodObject:()=>Y,ZodOptional:()=>oe,ZodParsedType:()=>x,ZodPipeline:()=>un,ZodPromise:()=>Fe,ZodReadonly:()=>ct,ZodRecord:()=>nr,ZodSchema:()=>M,ZodSet:()=>Tt,ZodString:()=>Me,ZodSymbol:()=>St,ZodTransformer:()=>ae,ZodTuple:()=>be,ZodType:()=>M,ZodUndefined:()=>et,ZodUnion:()=>nt,ZodUnknown:()=>Te,ZodVoid:()=>Et,addIssueToContext:()=>w,any:()=>Og,array:()=>Dg,bigint:()=>Tg,boolean:()=>$l,coerce:()=>oy,custom:()=>El,date:()=>$g,datetimeRegex:()=>xl,defaultErrorMap:()=>Ee,discriminatedUnion:()=>jg,effect:()=>Yg,enum:()=>Kg,function:()=>Gg,getErrorMap:()=>_t,getParsedType:()=>ye,instanceof:()=>Eg,intersection:()=>Hg,isAborted:()=>Qn,isAsync:()=>wt,isDirty:()=>er,isValid:()=>De,late:()=>Sg,lazy:()=>Wg,literal:()=>Jg,makeIssue:()=>an,map:()=>Ug,nan:()=>vg,nativeEnum:()=>Vg,never:()=>Pg,null:()=>Cg,nullable:()=>Qg,number:()=>Tl,object:()=>Mg,objectUtil:()=>Is,oboolean:()=>sy,onumber:()=>ry,optional:()=>Xg,ostring:()=>ny,pipeline:()=>ty,preprocess:()=>ey,promise:()=>qg,quotelessJson:()=>Yh,record:()=>zg,set:()=>Zg,setErrorMap:()=>Qh,strictObject:()=>Lg,string:()=>vl,symbol:()=>Rg,transformer:()=>Yg,tuple:()=>Bg,undefined:()=>Ag,union:()=>Fg,unknown:()=>Ig,util:()=>L,void:()=>Ng});var Ls=g(()=>{Xn();Ns();gl();on();Rl();Yn()});var Rt=g(()=>{Ls();Ls()});var je,cn=g(()=>{"use strict";Rt();je=k.object({slug:k.string().min(1).max(64),description:k.string().max(255).optional(),match_command:k.string().min(1),priority:k.number().int().default(50),strip_ansi:k.boolean().default(!1),strip_lines_matching:k.array(k.string()).default([]),drop_lines_matching:k.array(k.string()).default([]),keep_failures:k.boolean().default(!1),strip_on_failure:k.boolean().default(!1),fold_passing:k.boolean().default(!1),fold_passing_threshold:k.number().int().positive().max(1e3).optional(),mask_abs_paths:k.boolean().default(!1),preserve_exact:k.boolean().default(!1),truncate_lines_at:k.number().int().positive().max(1e4).optional(),max_lines:k.number().int().positive().max(1e5).optional(),scale_with_level:k.boolean().default(!0),transform:k.string().max(64).optional(),transform_on_failure:k.boolean().default(!1),on_empty:k.string().max(255).optional()})});import{readdir as ay,readFile as ly}from"node:fs/promises";import{join as Cl,dirname as uy}from"node:path";import{fileURLToPath as cy}from"node:url";function py(){return!1}async function Ol(){return At||(py()?(At=await my(dy),At):(!Al&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
30
- `),Al=!0),At=new Map,At))}async function my(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Jn(),ws))).parse,r=(await ay(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await ly(Cl(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,u]of Object.entries(a)){let c=je.parse({slug:l,...u});t.set(l,{...c,matchRegex:new RegExp(c.match_command)})}}return t}var fy,dy,At,Al,Il=g(()=>{"use strict";cn();fy=uy(cy(import.meta.url)),dy=process.env.TOKMIZER_FILTERS_DIR||Cl(fy,"..","..","filters"),At=null,Al=!1});var Ml={};zt(Ml,{OutputVerbosity:()=>Nl,ReducerLevel:()=>Dl,Settings:()=>Ct,slugKey:()=>te});import{createHash as hy}from"node:crypto";function te(e){let t=Pl.get(e);return t||(t=hy("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Pl.set(e,t)),t}var Nl,Dl,Ct,Pl,He=g(()=>{"use strict";Rt();Nl=k.enum(["normal","compact","minimal"]),Dl=k.enum(["off","light","balanced","max"]),Ct=k.object({enabled:k.boolean().default(!0),telemetryOptIn:k.boolean().default(!0),outputVerbosity:Nl.default("compact"),reducer:Dl.default("off"),filters:k.object({enableAll:k.boolean().default(!0),disabled:k.array(k.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Pl=new Map});function Ot(e,t,n,r=t){let s=Ll.get(r);s||(s=new Map,Ll.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(te(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=gy){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Ll,gy,sr=g(()=>{"use strict";He();Ll=new WeakMap,gy=256});function _e(e){return e.replace(yy,"").replace(by,"")}var yy,by,fn=g(()=>{"use strict";yy=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,by=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function Fs(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var Fl=g(()=>{"use strict"});function jl(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function Hl(e,t){return e.some(n=>n.length>t)&&jl(e.join(`
31
- `))?e:e.map(n=>{if(n.length<=t||jl(n))return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}var Bl=g(()=>{"use strict"});function It(e){return`\u2026 (${e} more lines omitted)`}function zl(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r);return{kept:[...e.slice(0,n),It(s.length),...e.slice(e.length-r)],dropped:s}}var js=g(()=>{"use strict"});function Ul(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)ky.test(a)&&!le.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var ky,le,dn=g(()=>{"use strict";ky=/^\s*(?:[✓✔√]|ok )/,le=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Zl(e){return e.map(t=>t.replace(_y,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var _y,Gl=g(()=>{"use strict";_y=/(?:\/[\w.@+-]+){3,}/g});function vy(e){let t=Sy.exec(e);return!t||Ey.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function $y(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function Ry(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&$y(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Cy(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function Hs(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Ay.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function pn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(wy.test(o)&&xy.test(o)||vy(o)||Ty.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,u=!1;for(;l<e.length&&l-s<200;)if(a+=Ry(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){u=!0;break}let c=l-s;if(u&&c<t){r.push(...e.slice(s,l)),s=l;continue}if(u&&c>=3){let f=c-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(Cy(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function ir(e){let t=e.slice(0,4096);return!(!Oy.test(t)||t.split(`
32
- `).length<6)}var wy,xy,Sy,Ey,Ty,or,Ay,Oy,Pt=g(()=>{"use strict";wy=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,xy=/\{\s*$/,Sy=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Ey=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Ty=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;or=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Ay=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Oy=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function Ql(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(ql.test(s.replace(Vl,""))&&!Yl.test(s)&&!Xl.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function Kl(e){if(e.trim()===""||/^\s/.test(e)||Yl.test(e)||Xl.test(e)||Py.test(e))return null;let t=e.replace(Vl,"");return ql.test(t)||Iy.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function eu(e){let t=[],n=0;for(;n<e.length;){let r=Kl(e[n]),s=n+1;if(r!==null)for(;s<e.length&&Kl(e[s])===r;)s+=1;let o=s-n;r===null||o<Ny?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Wl)),t.push(`\u2026 ${o-Wl-Jl} similar log lines dropped \u2026`),t.push(...e.slice(s-Jl,s))),n=s}return t}function tu(e){return e.some(t=>Dy.test(t))}function ar(e){if(e.length===0||tu(e))return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function nu(e){if(tu(e))return e;let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var Vl,ql,Yl,Xl,Iy,Py,Ny,Wl,Jl,Dy,lr=g(()=>{"use strict";dn();Vl=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,ql=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Yl=new RegExp(le.source,"i"),Xl=/\bWARN(?:ING)?\b/i;Iy=/^(?:DEBUG|INFO):[\w.-]+:/,Py=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Ny=8,Wl=1,Jl=2;Dy=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/});function U(e,t){ru.set(e,t)}function su(e){return ru.get(e)}var ru,X=g(()=>{"use strict";ru=new Map});function jy(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function Hy(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Fy[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function By(e){let t=Ly.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?jy(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Hy(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function zy(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function ou(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>Gy&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function Wy(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function Jy(e){let t=e.filter(l=>l.trim()!=="");if(t.length<Uy)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||lu.test(l.trim())||au.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let u=Wy(l),c=o.get(u)??[];c.push(l),o.set(u,c)}let i=[`${t.length} entries:`],a=[];for(let[l,u]of[...o.entries()].sort((c,f)=>f[1].length-c[1].length||c[0].localeCompare(f[0])))l&&u.length>=Zy&&u.every(c=>!/\s|"/.test(c))?i.push(...ou(`*${l} (${u.length}):`,u.map(c=>c.slice(0,-l.length)))):a.push(...u);return a.length&&i.push(...ou(`other (${a.length}):`,a.map(s))),i.join(`
29
+ `:s}var Vm,ha,ba=h(()=>{Vm=/^[a-z0-9-_]+$/i,ha=!!"".isWellFormed});var _s={};zt(_s,{TomlDate:()=>Je,TomlError:()=>R,default:()=>th,parse:()=>Wn,stringify:()=>ks});var th,Jn=h(()=>{ma();ba();fs();We();th={parse:Wn,stringify:ks,TomlDate:Je,TomlError:R}});var Da=te((gT,Na)=>{Na.exports=Pa;Pa.sync=Oh;var Oa=Oe("fs");function Ch(e,t){var n=t.pathExt!==void 0?t.pathExt:process.env.PATHEXT;if(!n||(n=n.split(";"),n.indexOf("")!==-1))return!0;for(var r=0;r<n.length;r++){var s=n[r].toLowerCase();if(s&&e.substr(-s.length).toLowerCase()===s)return!0}return!1}function Ia(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Ch(t,n)}function Pa(e,t,n){Oa.stat(e,function(r,s){n(r,r?!1:Ia(s,e,t))})}function Oh(e,t){return Ia(Oa.statSync(e),e,t)}});var Ha=te((yT,ja)=>{ja.exports=La;La.sync=Ih;var Ma=Oe("fs");function La(e,t,n){Ma.stat(e,function(r,s){n(r,r?!1:Fa(s,t))})}function Ih(e,t){return Fa(Ma.statSync(e),t)}function Fa(e,t){return e.isFile()&&Ph(e,t)}function Ph(e,t){var n=e.mode,r=e.uid,s=e.gid,o=t.uid!==void 0?t.uid:process.getuid&&process.getuid(),i=t.gid!==void 0?t.gid:process.getgid&&process.getgid(),a=parseInt("100",8),l=parseInt("010",8),c=parseInt("001",8),u=a|l,f=n&c||n&l&&s===i||n&a&&r===o||n&u&&o===0;return f}});var Ba=te((kT,za)=>{var bT=Oe("fs"),qn;process.platform==="win32"||global.TESTING_WINDOWS?qn=Da():qn=Ha();za.exports=xs;xs.sync=Nh;function xs(e,t,n){if(typeof t=="function"&&(n=t,t={}),!n){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(r,s){xs(e,t||{},function(o,i){o?s(o):r(i)})})}qn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Nh(e,t){try{return qn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Va=te((_T,Ka)=>{var yt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Ua=Oe("path"),Dh=yt?";":":",Za=Ba(),Ga=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Wa=(e,t)=>{let n=t.colon||Dh,r=e.match(/\//)||yt&&e.match(/\\/)?[""]:[...yt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=yt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=yt?s.split(n):[""];return yt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Ja=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Wa(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Ga(e));let d=r[c],p=/^".*"$/.test(d)?d.slice(1,-1):d,b=Ua.join(p,e),g=!p&&/^\.[\\\/]/.test(e)?e.slice(0,2)+b:b;u(l(g,c,0))}),l=(c,u,f)=>new Promise((d,p)=>{if(f===s.length)return d(a(u+1));let b=s[f];Za(c+b,{pathExt:o},(g,m)=>{if(!g&&m)if(t.all)i.push(c+b);else return d(c+b);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Mh=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Wa(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Ua.join(l,e),u=!l&&/^\.[\\\/]/.test(e)?e.slice(0,2)+c:c;for(let f=0;f<r.length;f++){let d=u+r[f];try{if(Za.sync(d,{pathExt:s}))if(t.all)o.push(d);else return d}catch{}}}if(t.all&&o.length)return o;if(t.nothrow)return null;throw Ga(e)};Ka.exports=Ja;Ja.sync=Mh});var Ya=te((wT,Ss)=>{"use strict";var qa=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Ss.exports=qa;Ss.exports.default=qa});var tl=te((xT,el)=>{"use strict";var Xa=Oe("path"),Lh=Va(),Fh=Ya();function Qa(e,t){let n=e.options.env||process.env,r=process.cwd(),s=e.options.cwd!=null,o=s&&process.chdir!==void 0&&!process.chdir.disabled;if(o)try{process.chdir(e.options.cwd)}catch{}let i;try{i=Lh.sync(e.command,{path:n[Fh({env:n})],pathExt:t?Xa.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Xa.resolve(s?e.options.cwd:"",i)),i}function jh(e){return Qa(e)||Qa(e,!0)}el.exports=jh});var nl=te((ST,vs)=>{"use strict";var Es=/([()\][%!^"`<>&|;, *?])/g;function Hh(e){return e=e.replace(Es,"^$1"),e}function zh(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Es,"^$1"),t&&(e=e.replace(Es,"^$1")),e}vs.exports.command=Hh;vs.exports.argument=zh});var sl=te((ET,rl)=>{"use strict";rl.exports=/^#!(.*)/});var il=te((vT,ol)=>{"use strict";var Bh=sl();ol.exports=(e="")=>{let t=e.match(Bh);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var ll=te((TT,al)=>{"use strict";var Ts=Oe("fs"),Uh=il();function Zh(e){let n=Buffer.alloc(150),r;try{r=Ts.openSync(e,"r"),Ts.readSync(r,n,0,150,0),Ts.closeSync(r)}catch{}return Uh(n.toString())}al.exports=Zh});var dl=te(($T,fl)=>{"use strict";var Gh=Oe("path"),cl=tl(),ul=nl(),Wh=ll(),Jh=process.platform==="win32",Kh=/\.(?:com|exe)$/i,Vh=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function qh(e){e.file=cl(e);let t=e.file&&Wh(e.file);return t?(e.args.unshift(e.file),e.command=t,cl(e)):e.file}function Yh(e){if(!Jh)return e;let t=qh(e),n=!Kh.test(t);if(e.options.forceShell||n){let r=Vh.test(t);e.command=Gh.normalize(e.command),e.command=ul.command(e.command),e.args=e.args.map(o=>ul.argument(o,r));let s=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${s}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}function Xh(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null),t=t?t.slice(0):[],n=Object.assign({},n);let r={command:e,args:t,options:n,file:void 0,original:{command:e,args:t}};return n.shell?r:Yh(r)}fl.exports=Xh});var hl=te((RT,ml)=>{"use strict";var $s=process.platform==="win32";function Rs(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function Qh(e,t){if(!$s)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=pl(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function pl(e,t){return $s&&e===1&&!t.file?Rs(t.original,"spawn"):null}function eg(e,t){return $s&&e===1&&!t.file?Rs(t.original,"spawnSync"):null}ml.exports={hookChildProcess:Qh,verifyENOENT:pl,verifyENOENTSync:eg,notFoundError:Rs}});var bl=te((AT,bt)=>{"use strict";var gl=Oe("child_process"),As=dl(),Cs=hl();function yl(e,t,n){let r=As(e,t,n),s=gl.spawn(r.command,r.args,r.options);return Cs.hookChildProcess(s,r),s}function tg(e,t,n){let r=As(e,t,n),s=gl.spawnSync(r.command,r.args,r.options);return s.error=s.error||Cs.verifyENOENTSync(s.status,r),s}bt.exports=yl;bt.exports.spawn=yl;bt.exports.sync=tg;bt.exports._parse=As;bt.exports._enoent=Cs});import{statSync as ng}from"node:fs";import{extname as rg,join as sg,resolve as kl,win32 as _l}from"node:path";function og(e){try{return ng(e).isFile()}catch{return!1}}function wl(e,t,n=process.cwd(),r=process.platform){if(r!=="win32"||/[\\/:]/.test(e))return e;let s=kl(n).toLowerCase(),o=(t.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),i=rg(e)?["",...o]:o;for(let a of(t.Path??t.PATH??"").split(";")){let l=a.trim().replace(/^"(.*)"$/,"$1");if(!(!l||!_l.isAbsolute(l)||kl(l).toLowerCase()===s))for(let c of i){let u=sg(l,`${e}${c.toLowerCase()}`);if(og(u))return u}}return _l.join(t.SystemRoot||"C:\\Windows","tkr-not-on-path",e)}var xl=h(()=>{"use strict"});var M,Os,S,be,rn=h(()=>{(function(e){e.assertEqual=s=>{};function t(s){}e.assertIs=t;function n(s){throw new Error}e.assertNever=n,e.arrayToEnum=s=>{let o={};for(let i of s)o[i]=i;return o},e.getValidEnumValues=s=>{let o=e.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),i={};for(let a of o)i[a]=s[a];return e.objectValues(i)},e.objectValues=s=>e.objectKeys(s).map(function(o){return s[o]}),e.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let o=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&o.push(i);return o},e.find=(s,o)=>{for(let i of s)if(o(i))return i},e.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,o=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(o)}e.joinValues=r,e.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(M||(M={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Os||(Os={}));S=M.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),be=e=>{switch(typeof e){case"undefined":return S.undefined;case"string":return S.string;case"number":return Number.isNaN(e)?S.nan:S.number;case"boolean":return S.boolean;case"function":return S.function;case"bigint":return S.bigint;case"symbol":return S.symbol;case"object":return Array.isArray(e)?S.array:e===null?S.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?S.promise:typeof Map<"u"&&e instanceof Map?S.map:typeof Set<"u"&&e instanceof Set?S.set:typeof Date<"u"&&e instanceof Date?S.date:S.object;default:return S.unknown}}});var y,ig,X,Yn=h(()=>{rn();y=M.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),ig=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),X=class e extends Error{get errors(){return this.issues}constructor(t){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=t}format(t){let n=t||function(o){return o.message},r={_errors:[]},s=o=>{for(let i of o.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(n(i));else{let a=r,l=0;for(;l<i.path.length;){let c=i.path[l];l===i.path.length-1?(a[c]=a[c]||{_errors:[]},a[c]._errors.push(n(i))):a[c]=a[c]||{_errors:[]},a=a[c],l++}}};return s(this),r}static assert(t){if(!(t instanceof e))throw new Error(`Not a ZodError: ${t}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,M.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(t=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let o=s.path[0];n[o]=n[o]||[],n[o].push(t(s))}else r.push(t(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};X.create=e=>new X(e)});var ag,ve,Is=h(()=>{Yn();rn();ag=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===S.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,M.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${M.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${M.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${M.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:M.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,M.assertNever(e)}return{message:n}},ve=ag});function lg(e){Sl=e}function kt(){return Sl}var Sl,Xn=h(()=>{Is();Sl=ve});function w(e,t){let n=kt(),r=sn({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===ve?void 0:ve].filter(s=>!!s)});e.common.issues.push(r)}var sn,cg,W,T,Ke,V,Qn,er,De,_t,Ps=h(()=>{Xn();Is();sn=e=>{let{data:t,path:n,errorMaps:r,issueData:s}=e,o=[...n,...s.path||[]],i={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let a="",l=r.filter(c=>!!c).slice().reverse();for(let c of l)a=c(i,{data:t,defaultError:a}).message;return{...s,path:o,message:a}},cg=[];W=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return T;s.status==="dirty"&&t.dirty(),r.push(s.value)}return{status:t.value,value:r}}static async mergeObjectAsync(t,n){let r=[];for(let s of n){let o=await s.key,i=await s.value;r.push({key:o,value:i})}return e.mergeObjectSync(t,r)}static mergeObjectSync(t,n){let r={};for(let s of n){let{key:o,value:i}=s;if(o.status==="aborted"||i.status==="aborted")return T;o.status==="dirty"&&t.dirty(),i.status==="dirty"&&t.dirty(),o.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[o.value]=i.value)}return{status:t.value,value:r}}},T=Object.freeze({status:"aborted"}),Ke=e=>({status:"dirty",value:e}),V=e=>({status:"valid",value:e}),Qn=e=>e.status==="aborted",er=e=>e.status==="dirty",De=e=>e.status==="valid",_t=e=>typeof Promise<"u"&&e instanceof Promise});var El=h(()=>{});var E,vl=h(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(E||(E={}))});function P(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Al(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:e.precision==null&&(t=`${t}(\\.\\d+)?`);let n=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${n}`}function Tg(e){return new RegExp(`^${Al(e)}$`)}function Cl(e){let t=`${Rl}T${Al(e)}`,n=[];return n.push(e.local?"Z?":"Z"),e.offset&&n.push("([+-]\\d{2}:?\\d{2})"),t=`${t}(${n.join("|")})`,new RegExp(`^${t}$`)}function $g(e,t){return!!((t==="v4"||!t)&&kg.test(e)||(t==="v6"||!t)&&wg.test(e))}function Rg(e,t){if(!hg.test(e))return!1;try{let[n]=e.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||t&&s.alg!==t)}catch{return!1}}function Ag(e,t){return!!((t==="v4"||!t)&&_g.test(e)||(t==="v6"||!t)&&xg.test(e))}function Cg(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function wt(e){if(e instanceof Q){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=oe.create(wt(r))}return new Q({...e._def,shape:()=>t})}else return e instanceof Re?new Re({...e._def,type:wt(e.element)}):e instanceof oe?oe.create(wt(e.unwrap())):e instanceof _e?_e.create(wt(e.unwrap())):e instanceof ke?ke.create(e.items.map(t=>wt(t))):e}function Ds(e,t){let n=be(e),r=be(t);if(e===t)return{valid:!0,data:e};if(n===S.object&&r===S.object){let s=M.objectKeys(t),o=M.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Ds(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===S.array&&r===S.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=Ds(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===S.date&&r===S.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Ol(e,t){return new ot({values:e,typeName:A.ZodEnum,...P(t)})}function $l(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Il(e,t={},n){return e?Le.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=$l(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=$l(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Le.create()}var ie,Tl,N,ug,fg,dg,pg,mg,hg,gg,yg,bg,Ns,kg,_g,wg,xg,Sg,Eg,Rl,vg,Me,Ve,qe,Ye,Xe,xt,Qe,et,Le,$e,me,St,Re,Q,tt,Te,tr,nt,ke,nr,Et,vt,rr,rt,st,ot,it,Fe,ae,oe,_e,at,lt,Tt,Og,on,an,ct,Ig,A,Pg,Pl,Nl,Ng,Dg,Dl,Mg,Lg,Fg,jg,Hg,zg,Bg,Ug,Zg,Gg,Wg,Jg,Kg,Vg,qg,Yg,Xg,Qg,ey,ty,ny,ry,sy,oy,iy,ay,ly,cy,uy,fy,dy,py,my,hy,Ml=h(()=>{Yn();Xn();vl();Ps();rn();ie=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Tl=(e,t)=>{if(De(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new X(e.common.issues);return this._error=n,this._error}}};N=class{get description(){return this._def.description}_getType(t){return be(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:be(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new W,ctx:{common:t.parent.common,data:t.data,parsedType:be(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(_t(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:be(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Tl(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:be(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return De(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:t,path:[],parent:n}).then(r=>De(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:be(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(_t(s)?s:Promise.resolve(s));return Tl(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new ae({schema:this,typeName:A.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return oe.create(this,this._def)}nullable(){return _e.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Re.create(this)}promise(){return Fe.create(this,this._def)}or(t){return tt.create([this,t],this._def)}and(t){return nt.create(this,t,this._def)}transform(t){return new ae({...P(this._def),schema:this,typeName:A.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new at({...P(this._def),innerType:this,defaultValue:n,typeName:A.ZodDefault})}brand(){return new on({typeName:A.ZodBranded,type:this,...P(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new lt({...P(this._def),innerType:this,catchValue:n,typeName:A.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return an.create(this,t)}readonly(){return ct.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},ug=/^c[^\s-]{8,}$/i,fg=/^[0-9a-z]+$/,dg=/^[0-9A-HJKMNP-TV-Z]{26}$/i,pg=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,mg=/^[a-z0-9_-]{21}$/i,hg=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,gg=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,yg=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,bg="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",kg=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,_g=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,wg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,xg=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Sg=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Eg=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Rl="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",vg=new RegExp(`^${Rl}$`);Me=class e extends N{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==S.string){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:S.string,received:o.parsedType}),T}let r=new W,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?w(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&w(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")yg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Ns||(Ns=new RegExp(bg,"u")),Ns.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")pg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")mg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")ug.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")fg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")dg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),w(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Cl(o).test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?vg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Tg(o).test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?gg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?$g(t.data,o.version)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Rg(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Ag(t.data,o.version)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Sg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Eg.test(t.data)||(s=this._getOrReturnCtx(t,s),w(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):M.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...E.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...E.errToObj(t)})}url(t){return this._addCheck({kind:"url",...E.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...E.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...E.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...E.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...E.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...E.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...E.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...E.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...E.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...E.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...E.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...E.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...E.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...E.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...E.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...E.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...E.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...E.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...E.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...E.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...E.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...E.errToObj(n)})}nonempty(t){return this.min(1,E.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Me.create=e=>new Me({checks:[],typeName:A.ZodString,coerce:e?.coerce??!1,...P(e)});Ve=class e extends N{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==S.number){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:S.number,received:o.parsedType}),T}let r,s=new W;for(let o of this._def.checks)o.kind==="int"?M.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),w(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Cg(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_finite,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:E.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:E.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&M.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Ve.create=e=>new Ve({checks:[],typeName:A.ZodNumber,coerce:e?.coerce||!1,...P(e)});qe=class e extends N{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==S.bigint)return this._getInvalidInput(t);let r,s=new W;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),w(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):M.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return w(n,{code:y.invalid_type,expected:S.bigint,received:n.parsedType}),T}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};qe.create=e=>new qe({checks:[],typeName:A.ZodBigInt,coerce:e?.coerce??!1,...P(e)});Ye=class extends N{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==S.boolean){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.boolean,received:r.parsedType}),T}return V(t.data)}};Ye.create=e=>new Ye({typeName:A.ZodBoolean,coerce:e?.coerce||!1,...P(e)});Xe=class e extends N{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==S.date){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_type,expected:S.date,received:o.parsedType}),T}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return w(o,{code:y.invalid_date}),T}let r=new W,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),w(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):M.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:E.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:E.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Xe.create=e=>new Xe({checks:[],coerce:e?.coerce||!1,typeName:A.ZodDate,...P(e)});xt=class extends N{_parse(t){if(this._getType(t)!==S.symbol){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.symbol,received:r.parsedType}),T}return V(t.data)}};xt.create=e=>new xt({typeName:A.ZodSymbol,...P(e)});Qe=class extends N{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.undefined,received:r.parsedType}),T}return V(t.data)}};Qe.create=e=>new Qe({typeName:A.ZodUndefined,...P(e)});et=class extends N{_parse(t){if(this._getType(t)!==S.null){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.null,received:r.parsedType}),T}return V(t.data)}};et.create=e=>new et({typeName:A.ZodNull,...P(e)});Le=class extends N{constructor(){super(...arguments),this._any=!0}_parse(t){return V(t.data)}};Le.create=e=>new Le({typeName:A.ZodAny,...P(e)});$e=class extends N{constructor(){super(...arguments),this._unknown=!0}_parse(t){return V(t.data)}};$e.create=e=>new $e({typeName:A.ZodUnknown,...P(e)});me=class extends N{_parse(t){let n=this._getOrReturnCtx(t);return w(n,{code:y.invalid_type,expected:S.never,received:n.parsedType}),T}};me.create=e=>new me({typeName:A.ZodNever,...P(e)});St=class extends N{_parse(t){if(this._getType(t)!==S.undefined){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.void,received:r.parsedType}),T}return V(t.data)}};St.create=e=>new St({typeName:A.ZodVoid,...P(e)});Re=class e extends N{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==S.array)return w(n,{code:y.invalid_type,expected:S.array,received:n.parsedType}),T;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(w(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(w(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(w(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new ie(n,i,n.path,a)))).then(i=>W.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new ie(n,i,n.path,a)));return W.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:E.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:E.toString(n)}})}nonempty(t){return this.min(1,t)}};Re.create=(e,t)=>new Re({type:e,minLength:null,maxLength:null,exactLength:null,typeName:A.ZodArray,...P(t)});Q=class e extends N{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let t=this._def.shape(),n=M.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==S.object){let c=this._getOrReturnCtx(t);return w(c,{code:y.invalid_type,expected:S.object,received:c.parsedType}),T}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof me&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new ie(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof me){let c=this._def.unknownKeys;if(c==="passthrough")for(let u of a)l.push({key:{status:"valid",value:u},value:{status:"valid",value:s.data[u]}});else if(c==="strict")a.length>0&&(w(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new ie(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>W.mergeObjectSync(r,c)):W.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:E.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:A.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of M.objectKeys(t))t[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}omit(t){let n={};for(let r of M.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return wt(this)}partial(t){let n={};for(let r of M.objectKeys(this.shape)){let s=this.shape[r];t&&!t[r]?n[r]=s:n[r]=s.optional()}return new e({...this._def,shape:()=>n})}required(t){let n={};for(let r of M.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof oe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Ol(M.objectKeys(this.shape))}};Q.create=(e,t)=>new Q({shape:()=>e,unknownKeys:"strip",catchall:me.create(),typeName:A.ZodObject,...P(t)});Q.strictCreate=(e,t)=>new Q({shape:()=>e,unknownKeys:"strict",catchall:me.create(),typeName:A.ZodObject,...P(t)});Q.lazycreate=(e,t)=>new Q({shape:e,unknownKeys:"strip",catchall:me.create(),typeName:A.ZodObject,...P(t)});tt=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=this._def.options;function s(o){for(let a of o)if(a.result.status==="valid")return a.result;for(let a of o)if(a.result.status==="dirty")return n.common.issues.push(...a.ctx.common.issues),a.result;let i=o.map(a=>new X(a.ctx.common.issues));return w(n,{code:y.invalid_union,unionErrors:i}),T}if(n.common.async)return Promise.all(r.map(async o=>{let i={...n,common:{...n.common,issues:[]},parent:null};return{result:await o._parseAsync({data:n.data,path:n.path,parent:i}),ctx:i}})).then(s);{let o,i=[];for(let l of r){let c={...n,common:{...n.common,issues:[]},parent:null},u=l._parseSync({data:n.data,path:n.path,parent:c});if(u.status==="valid")return u;u.status==="dirty"&&!o&&(o={result:u,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(o)return n.common.issues.push(...o.ctx.common.issues),o.result;let a=i.map(l=>new X(l));return w(n,{code:y.invalid_union,unionErrors:a}),T}}get options(){return this._def.options}};tt.create=(e,t)=>new tt({options:e,typeName:A.ZodUnion,...P(t)});Te=e=>e instanceof rt?Te(e.schema):e instanceof ae?Te(e.innerType()):e instanceof st?[e.value]:e instanceof ot?e.options:e instanceof it?M.objectValues(e.enum):e instanceof at?Te(e._def.innerType):e instanceof Qe?[void 0]:e instanceof et?[null]:e instanceof oe?[void 0,...Te(e.unwrap())]:e instanceof _e?[null,...Te(e.unwrap())]:e instanceof on||e instanceof ct?Te(e.unwrap()):e instanceof lt?Te(e._def.innerType):[],tr=class e extends N{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.object)return w(n,{code:y.invalid_type,expected:S.object,received:n.parsedType}),T;let r=this.discriminator,s=n.data[r],o=this.optionsMap.get(s);return o?n.common.async?o._parseAsync({data:n.data,path:n.path,parent:n}):o._parseSync({data:n.data,path:n.path,parent:n}):(w(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),T)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(t,n,r){let s=new Map;for(let o of n){let i=Te(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:A.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...P(r)})}};nt=class extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Qn(o)||Qn(i))return T;let a=Ds(o.value,i.value);return a.valid?((er(o)||er(i))&&n.dirty(),{status:n.value,value:a.data}):(w(r,{code:y.invalid_intersection_types}),T)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};nt.create=(e,t,n)=>new nt({left:e,right:t,typeName:A.ZodIntersection,...P(n)});ke=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.array)return w(r,{code:y.invalid_type,expected:S.array,received:r.parsedType}),T;if(r.data.length<this._def.items.length)return w(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),T;!this._def.rest&&r.data.length>this._def.items.length&&(w(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new ie(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>W.mergeArray(n,i)):W.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};ke.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ke({items:e,typeName:A.ZodTuple,rest:null,...P(t)})};nr=class e extends N{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.object)return w(r,{code:y.invalid_type,expected:S.object,received:r.parsedType}),T;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new ie(r,a,r.path,a)),value:i._parse(new ie(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?W.mergeObjectAsync(n,s):W.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof N?new e({keyType:t,valueType:n,typeName:A.ZodRecord,...P(r)}):new e({keyType:Me.create(),valueType:t,typeName:A.ZodRecord,...P(n)})}},Et=class extends N{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.map)return w(r,{code:y.invalid_type,expected:S.map,received:r.parsedType}),T;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new ie(r,a,r.path,[c,"key"])),value:o._parse(new ie(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return T;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}})}else{let a=new Map;for(let l of i){let c=l.key,u=l.value;if(c.status==="aborted"||u.status==="aborted")return T;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Et.create=(e,t,n)=>new Et({valueType:t,keyType:e,typeName:A.ZodMap,...P(n)});vt=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==S.set)return w(r,{code:y.invalid_type,expected:S.set,received:r.parsedType}),T;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(w(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(w(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return T;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new ie(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:E.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};vt.create=(e,t)=>new vt({valueType:e,minSize:null,maxSize:null,typeName:A.ZodSet,...P(t)});rr=class e extends N{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.function)return w(n,{code:y.invalid_type,expected:S.function,received:n.parsedType}),T;function r(a,l){return sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,kt(),ve].filter(c=>!!c),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return sn({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,kt(),ve].filter(c=>!!c),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Fe){let a=this;return V(async function(...l){let c=new X([]),u=await a._def.args.parseAsync(l,o).catch(p=>{throw c.addIssue(r(l,p)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(p=>{throw c.addIssue(s(f,p)),c})})}else{let a=this;return V(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new X([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new X([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:ke.create(t).rest($e.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||ke.create([]).rest($e.create()),returns:n||$e.create(),typeName:A.ZodFunction,...P(r)})}},rt=class extends N{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};rt.create=(e,t)=>new rt({getter:e,typeName:A.ZodLazy,...P(t)});st=class extends N{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return w(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),T}return{status:"valid",value:t.data}}get value(){return this._def.value}};st.create=(e,t)=>new st({value:e,typeName:A.ZodLiteral,...P(t)});ot=class e extends N{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return w(n,{expected:M.joinValues(r),received:n.parsedType,code:y.invalid_type}),T}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(t.data)){let n=this._getOrReturnCtx(t),r=this._def.values;return w(n,{received:n.data,code:y.invalid_enum_value,options:r}),T}return V(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};ot.create=Ol;it=class extends N{_parse(t){let n=M.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==S.string&&r.parsedType!==S.number){let s=M.objectValues(n);return w(r,{expected:M.joinValues(s),received:r.parsedType,code:y.invalid_type}),T}if(this._cache||(this._cache=new Set(M.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=M.objectValues(n);return w(r,{received:r.data,code:y.invalid_enum_value,options:s}),T}return V(t.data)}get enum(){return this._def.values}};it.create=(e,t)=>new it({values:e,typeName:A.ZodNativeEnum,...P(t)});Fe=class extends N{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==S.promise&&n.common.async===!1)return w(n,{code:y.invalid_type,expected:S.promise,received:n.parsedType}),T;let r=n.parsedType===S.promise?n.data:Promise.resolve(n.data);return V(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Fe.create=(e,t)=>new Fe({type:e,typeName:A.ZodPromise,...P(t)});ae=class extends N{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===A.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{w(r,i),i.fatal?n.abort():n.dirty()},get path(){return r.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){let i=s.transform(r.data,o);if(r.common.async)return Promise.resolve(i).then(async a=>{if(n.value==="aborted")return T;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?T:l.status==="dirty"?Ke(l.value):n.value==="dirty"?Ke(l.value):l});{if(n.value==="aborted")return T;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?T:a.status==="dirty"?Ke(a.value):n.value==="dirty"?Ke(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?T:(a.status==="dirty"&&n.dirty(),i(a.value),{status:n.value,value:a.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>a.status==="aborted"?T:(a.status==="dirty"&&n.dirty(),i(a.value).then(()=>({status:n.value,value:a.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!De(i))return T;let a=s.transform(i.value,o);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:a}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>De(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):T);M.assertNever(s)}};ae.create=(e,t,n)=>new ae({schema:e,typeName:A.ZodEffects,effect:t,...P(n)});ae.createWithPreprocess=(e,t,n)=>new ae({schema:t,effect:{type:"preprocess",transform:e},typeName:A.ZodEffects,...P(n)});oe=class extends N{_parse(t){return this._getType(t)===S.undefined?V(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};oe.create=(e,t)=>new oe({innerType:e,typeName:A.ZodOptional,...P(t)});_e=class extends N{_parse(t){return this._getType(t)===S.null?V(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};_e.create=(e,t)=>new _e({innerType:e,typeName:A.ZodNullable,...P(t)});at=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===S.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};at.create=(e,t)=>new at({innerType:e,typeName:A.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...P(t)});lt=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return _t(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new X(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new X(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};lt.create=(e,t)=>new lt({innerType:e,typeName:A.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...P(t)});Tt=class extends N{_parse(t){if(this._getType(t)!==S.nan){let r=this._getOrReturnCtx(t);return w(r,{code:y.invalid_type,expected:S.nan,received:r.parsedType}),T}return{status:"valid",value:t.data}}};Tt.create=e=>new Tt({typeName:A.ZodNaN,...P(e)});Og=Symbol("zod_brand"),on=class extends N{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},an=class e extends N{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.common.async)return(async()=>{let o=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?T:o.status==="dirty"?(n.dirty(),Ke(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?T:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:A.ZodPipeline})}},ct=class extends N{_parse(t){let n=this._def.innerType._parse(t),r=s=>(De(s)&&(s.value=Object.freeze(s.value)),s);return _t(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};ct.create=(e,t)=>new ct({innerType:e,typeName:A.ZodReadonly,...P(t)});Ig={object:Q.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(A||(A={}));Pg=(e,t={message:`Input not instance of ${e.name}`})=>Il(n=>n instanceof e,t),Pl=Me.create,Nl=Ve.create,Ng=Tt.create,Dg=qe.create,Dl=Ye.create,Mg=Xe.create,Lg=xt.create,Fg=Qe.create,jg=et.create,Hg=Le.create,zg=$e.create,Bg=me.create,Ug=St.create,Zg=Re.create,Gg=Q.create,Wg=Q.strictCreate,Jg=tt.create,Kg=tr.create,Vg=nt.create,qg=ke.create,Yg=nr.create,Xg=Et.create,Qg=vt.create,ey=rr.create,ty=rt.create,ny=st.create,ry=ot.create,sy=it.create,oy=Fe.create,iy=ae.create,ay=oe.create,ly=_e.create,cy=ae.createWithPreprocess,uy=an.create,fy=()=>Pl().optional(),dy=()=>Nl().optional(),py=()=>Dl().optional(),my={string:(e=>Me.create({...e,coerce:!0})),number:(e=>Ve.create({...e,coerce:!0})),boolean:(e=>Ye.create({...e,coerce:!0})),bigint:(e=>qe.create({...e,coerce:!0})),date:(e=>Xe.create({...e,coerce:!0}))},hy=T});var k={};zt(k,{BRAND:()=>Og,DIRTY:()=>Ke,EMPTY_PATH:()=>cg,INVALID:()=>T,NEVER:()=>hy,OK:()=>V,ParseStatus:()=>W,Schema:()=>N,ZodAny:()=>Le,ZodArray:()=>Re,ZodBigInt:()=>qe,ZodBoolean:()=>Ye,ZodBranded:()=>on,ZodCatch:()=>lt,ZodDate:()=>Xe,ZodDefault:()=>at,ZodDiscriminatedUnion:()=>tr,ZodEffects:()=>ae,ZodEnum:()=>ot,ZodError:()=>X,ZodFirstPartyTypeKind:()=>A,ZodFunction:()=>rr,ZodIntersection:()=>nt,ZodIssueCode:()=>y,ZodLazy:()=>rt,ZodLiteral:()=>st,ZodMap:()=>Et,ZodNaN:()=>Tt,ZodNativeEnum:()=>it,ZodNever:()=>me,ZodNull:()=>et,ZodNullable:()=>_e,ZodNumber:()=>Ve,ZodObject:()=>Q,ZodOptional:()=>oe,ZodParsedType:()=>S,ZodPipeline:()=>an,ZodPromise:()=>Fe,ZodReadonly:()=>ct,ZodRecord:()=>nr,ZodSchema:()=>N,ZodSet:()=>vt,ZodString:()=>Me,ZodSymbol:()=>xt,ZodTransformer:()=>ae,ZodTuple:()=>ke,ZodType:()=>N,ZodUndefined:()=>Qe,ZodUnion:()=>tt,ZodUnknown:()=>$e,ZodVoid:()=>St,addIssueToContext:()=>w,any:()=>Hg,array:()=>Zg,bigint:()=>Dg,boolean:()=>Dl,coerce:()=>my,custom:()=>Il,date:()=>Mg,datetimeRegex:()=>Cl,defaultErrorMap:()=>ve,discriminatedUnion:()=>Kg,effect:()=>iy,enum:()=>ry,function:()=>ey,getErrorMap:()=>kt,getParsedType:()=>be,instanceof:()=>Pg,intersection:()=>Vg,isAborted:()=>Qn,isAsync:()=>_t,isDirty:()=>er,isValid:()=>De,late:()=>Ig,lazy:()=>ty,literal:()=>ny,makeIssue:()=>sn,map:()=>Xg,nan:()=>Ng,nativeEnum:()=>sy,never:()=>Bg,null:()=>jg,nullable:()=>ly,number:()=>Nl,object:()=>Gg,objectUtil:()=>Os,oboolean:()=>py,onumber:()=>dy,optional:()=>ay,ostring:()=>fy,pipeline:()=>uy,preprocess:()=>cy,promise:()=>oy,quotelessJson:()=>ig,record:()=>Yg,set:()=>Qg,setErrorMap:()=>lg,strictObject:()=>Wg,string:()=>Pl,symbol:()=>Lg,transformer:()=>iy,tuple:()=>qg,undefined:()=>Fg,union:()=>Jg,unknown:()=>zg,util:()=>M,void:()=>Ug});var Ms=h(()=>{Xn();Ps();El();rn();Ml();Yn()});var $t=h(()=>{Ms();Ms()});var je,ln=h(()=>{"use strict";$t();je=k.object({slug:k.string().min(1).max(64),description:k.string().max(255).optional(),match_command:k.string().min(1),priority:k.number().int().default(50),strip_ansi:k.boolean().default(!1),strip_lines_matching:k.array(k.string()).default([]),drop_lines_matching:k.array(k.string()).default([]),keep_failures:k.boolean().default(!1),strip_on_failure:k.boolean().default(!1),fold_passing:k.boolean().default(!1),fold_passing_threshold:k.number().int().positive().max(1e3).optional(),mask_abs_paths:k.boolean().default(!1),preserve_exact:k.boolean().default(!1),truncate_lines_at:k.number().int().positive().max(1e4).optional(),max_lines:k.number().int().positive().max(1e5).optional(),scale_with_level:k.boolean().default(!0),transform:k.string().max(64).optional(),transform_on_failure:k.boolean().default(!1),on_empty:k.string().max(255).optional()})});import{readdir as gy,readFile as yy}from"node:fs/promises";import{join as Fl,dirname as by}from"node:path";import{fileURLToPath as ky}from"node:url";function xy(){return!1}async function jl(){return Rt||(xy()?(Rt=await Sy(wy),Rt):(!Ll&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
30
+ `),Ll=!0),Rt=new Map,Rt))}async function Sy(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Jn(),_s))).parse,r=(await gy(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await yy(Fl(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=je.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var _y,wy,Rt,Ll,Hl=h(()=>{"use strict";ln();_y=by(ky(import.meta.url)),wy=process.env.TOKMIZER_FILTERS_DIR||Fl(_y,"..","..","filters"),Rt=null,Ll=!1});var Zl={};zt(Zl,{OutputVerbosity:()=>Bl,ReducerLevel:()=>Ul,Settings:()=>At,slugKey:()=>re});import{createHash as Ey}from"node:crypto";function re(e){let t=zl.get(e);return t||(t=Ey("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),zl.set(e,t)),t}var Bl,Ul,At,zl,He=h(()=>{"use strict";$t();Bl=k.enum(["normal","compact","minimal"]),Ul=k.enum(["off","light","balanced","max"]),At=k.object({enabled:k.boolean().default(!0),telemetryOptIn:k.boolean().default(!0),outputVerbosity:Bl.default("compact"),reducer:Ul.default("off"),filters:k.object({enableAll:k.boolean().default(!0),disabled:k.array(k.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),zl=new Map});function Ct(e,t,n,r=t){let s=Gl.get(r);s||(s=new Map,Gl.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(re(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=vy){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Gl,vy,sr=h(()=>{"use strict";He();Gl=new WeakMap,vy=256});function we(e){return e.replace(Ty,"").replace($y,"")}var Ty,$y,cn=h(()=>{"use strict";Ty=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,$y=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function Ls(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var Wl=h(()=>{"use strict"});function Jl(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function Kl(e,t){return e.some(n=>n.length>t)&&Jl(e.join(`
31
+ `))?e:e.map(n=>{if(n.length<=t||Jl(n))return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}var Vl=h(()=>{"use strict"});function Ot(e){return`\u2026 (${e} more lines omitted)`}function ql(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r),o=s.filter(a=>a.length<=Cy&&Ry.test(a)).slice(0,Ay),i=s.length-o.length;return{kept:[...e.slice(0,n),...i>0?[Ot(i)]:[],...o,...e.slice(e.length-r)],dropped:s}}var Ry,Ay,Cy,Fs=h(()=>{"use strict";Ry=/\b(?:ERROR|FATAL|CRITICAL|PANIC)\b|\bpanic:|\bTraceback \(most recent|\b[A-Z][A-Za-z0-9]*(?:Error|Exception)\b|\berror(?:\[[A-Za-z0-9]+\])?:/,Ay=20,Cy=4096});function Yl(e,t){let n=t>0?t:5,r=[],s=0,o=a=>{s>=n?r.push(`\u2026 ${s} passing checks folded \u2026`):r.push(...a)},i=[];for(let a of e)Oy.test(a)&&!le.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Oy,le,un=h(()=>{"use strict";Oy=/^\s*(?:[✓✔√]|ok )/,le=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function Xl(e){return e.map(t=>t.replace(Iy,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Iy,Ql=h(()=>{"use strict";Iy=/(?:\/[\w.@+-]+){3,}/g});function Ly(e){let t=Dy.exec(e);return!t||My.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function jy(e,t,n){let r=t;for(;r<e.length;){if(e[r]==="\\"){r+=2;continue}if(e[r]===n)return!0;r+=1}return!1}function Hy(e,t){let n=0,r=null,s=0;for(;s<e.length;){let o=e[s];if(t.inBlockComment){if(o==="*"&&e[s+1]==="/"){t.inBlockComment=!1,s+=2;continue}s+=1;continue}if(t.inTemplate){if(o==="\\"){s+=2;continue}o==="`"&&(t.inTemplate=!1),s+=1;continue}if(r){if(o==="\\"){s+=2;continue}o===r&&(r=null),s+=1;continue}if(o==="/"&&e[s+1]==="/")break;if(o==="/"&&e[s+1]==="*"){t.inBlockComment=!0,s+=2;continue}if(o==="`"){t.inTemplate=!0,s+=1;continue}if(o==="'"||o==='"'){let i=s>0?e[s-1]:"";!(o==="'"&&(i==="<"||i==="&"))&&jy(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function By(e,t,n){let r=n==null?"":` (${n}-${n+t-1}): Read offset=${n} limit=${t} before editing`;return`${e}\u2026 ${t} ${t===1?"line":"lines"} folded${r} \u2026`}function js(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=zy.exec(e[n]);if(!r)continue;let s=Number(r[1])-1,o=n+1;for(;s>0&&o<e.length&&e[o]==="";)t[o]=!0,s-=1,o+=1;n=o-1}return t}function fn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Py.test(o)&&Ny.test(o)||Ly(o)||Fy.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Hy(e[l],i),l+=1,a<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=l-s;if(c&&u<t){r.push(...e.slice(s,l)),s=l;continue}if(c&&u>=3){let f=u-2,d=/^\s*/.exec(e[s+1]??"")?.[0]??" ";r.push(o),r.push(By(d,f,n?s+2:null));for(let p=0;p<f-1;p++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}function ir(e){let t=e.slice(0,4096);return!(!Uy.test(t)||t.split(`
32
+ `).length<6)}var Py,Ny,Dy,My,Fy,or,zy,Uy,It=h(()=>{"use strict";Py=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Ny=/\{\s*$/,Dy=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,My=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Fy=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;or=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,zy=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Uy=/\b(?:function|class|interface|import\s+|export\s+|def\s+|fn\s+|impl\s+|package\s+|namespace\s+|using\s+|#include|=>\s*\{|=\s*function)/});function ac(e){let t=[],n=0,r=()=>{n>0&&t.push(`\u2026 ${n} verbose log line${n===1?"":"s"} dropped \u2026`),n=0};for(let s of e){if(sc.test(s.replace(rc,""))&&!oc.test(s)&&!ic.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function nc(e){if(e.trim()===""||/^\s/.test(e)||oc.test(e)||ic.test(e)||Gy.test(e))return null;let t=e.replace(rc,"");return sc.test(t)||Zy.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function lc(e){let t=[],n=0;for(;n<e.length;){let r=nc(e[n]),s=n+1;if(r!==null)for(;s<e.length&&nc(e[s])===r;)s+=1;let o=s-n;r===null||o<Wy?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+ec)),t.push(`\u2026 ${o-ec-tc} similar log lines dropped \u2026`),t.push(...e.slice(s-tc,s))),n=s}return t}function cc(e){return e.some(t=>Jy.test(t))}function ar(e){if(e.length===0||cc(e))return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function uc(e){if(cc(e))return e;let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var rc,sc,oc,ic,Zy,Gy,Wy,ec,tc,Jy,lr=h(()=>{"use strict";un();rc=/^\s*(?:\d{4}-\d{2}-\d{2}[T\s]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?|\d{2}:\d{2}:\d{2}(?:\.\d+)?)\s*/,sc=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,oc=new RegExp(le.source,"i"),ic=/\bWARN(?:ING)?\b/i;Zy=/^(?:DEBUG|INFO):[\w.-]+:/,Gy=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Wy=8,ec=1,tc=2;Jy=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/});function B(e,t){fc.set(e,t)}function dc(e){return fc.get(e)}var fc,ee=h(()=>{"use strict";fc=new Map});function Yy(e){if(e<1024)return String(e);let t=["K","M","G","T"],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r+=1;return`${n.toFixed(1)}${t[r]}`}function Xy(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?qy[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Qy(e){let t=Vy.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?Yy(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Xy(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function eb(e){if(e.length<3)return null;let t=new Map;for(let s of e){let o=s.name.lastIndexOf(".");if(o<=0)continue;let i=s.name.slice(o);t.set(i,(t.get(i)??0)+1)}let n=null,r=0;for(let[s,o]of t)o>r&&(r=o,n=s);return n&&r>=Math.ceil(e.length/2)?`${r} ${n}`:null}function pc(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>rb&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function sb(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function ob(e){let t=e.filter(l=>l.trim()!=="");if(t.length<tb)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||gc.test(l.trim())||hc.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let c=sb(l),u=o.get(c)??[];u.push(l),o.set(c,u)}let i=[`${t.length} entries:`],a=[];for(let[l,c]of[...o.entries()].sort((u,f)=>f[1].length-u[1].length||u[0].localeCompare(f[0])))l&&c.length>=nb&&c.every(u=>!/\s|"/.test(u))?i.push(...pc(`*${l} (${c.length}):`,c.map(u=>u.slice(0,-l.length)))):a.push(...c);return a.length&&i.push(...pc(`other (${a.length}):`,a.map(s))),i.join(`
33
33
  `).length<t.join(`
34
- `).length?i:null}function Ky(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function iu(e){let t=new Map;for(let s of e)t.set(s.mode,(t.get(s.mode)??0)+1);let n=null,r=0;for(let[s,o]of t)o>r&&([n,r]=[s,o]);return r>=2?n:null}function zs(e,t){if(Ky(t))return e;let n=Jy(e);if(n)return n;let r=[],s=[],o=!1;for(let m of e){if(m.trim()===""||/^total\s+\d+/.test(m))continue;if(lu.test(m.trim())||!au.test(m))return e;let _=By(m);if(!_){if(/\s\.\.?$/.test(m))continue;return e}o=!0,(_.isDir?r:s).push(_)}if(!o)return e;let i=(m,_)=>m.name.localeCompare(_.name);r.sort(i),s.sort((m,_)=>_.sizeKey-m.sizeKey||i(m,_));let a=[...r,...s],l=a.every(m=>m.owner===a[0].owner)?a[0].owner:null,u=iu(r),c=iu(s),f=[];for(let m of a){let _=m.isDir?u:c,A=`${m.mode===_?"":`${m.mode} `}${l===null?`${m.owner} `:""}${m.isDir?`${m.name}/`:m.name}`;f.push(m.isDir?A:`${A} ${m.size}`)}if(f.length>Bs){let m=f.length-Bs;f=[...f.slice(0,Bs),`\u2026 ${m} more lines omitted`]}let d=s.length===1?"file":"files",p=r.length===1?"dir":"dirs",b=zy(s),h=`${s.length} ${d}, ${r.length} ${p}`+(b?` (${b})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`)+(u||c?`, mode ${[u&&`dirs ${u}`,c&&`files ${c}`].filter(Boolean).join(", ")} unless shown`:"");return f.push(h),f}var au,lu,My,Ly,Fy,Bs,Uy,Zy,Gy,uu=g(()=>{"use strict";X();au=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,lu=/^[./~][^\s]*:$/,My=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,Ly=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${My})\s+(.+)$`),Fy={k:1,m:2,g:3,t:4,p:5},Bs=1e3;Uy=12,Zy=3,Gy=180;U("smart-ls",zs)});var cu=g(()=>{"use strict";Pt();X();U("smart-read",e=>pn(e))});function Vy(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function qy(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function Yy(e){let t=e.filter(u=>u.trim()!=="");if(t.length===0||t.filter(u=>!/\s/.test(u.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let u of t){let c=u.trim();if(c.startsWith("find:")){s.push(c);continue}let f=c.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),p=d>0?f.slice(0,d):d===0?"/":"",b=d>=0?f.slice(d+1):f;if(!b)continue;let h=r.get(p)??[];h.push(/\s/.test(b)?`"${b}"`:b),r.set(p,h),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(u=>u!=="")&&!i.includes("/")?Vy(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let u of i){let c=u==="/"?"/":a?u.slice(a.length).replace(/^\//,""):u,f=r.get(u),d=qy(f),p=d?f.map(b=>b.slice(0,-d.length)):f;l.push(`${c==="/"?"/":c?`${c}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>fu){let u=Math.max(0,fu-s.length),c=l.length-u;return[...l.slice(0,u),`\u2026 ${c} more lines omitted`,...s]}return[...l,...s]}var fu,du=g(()=>{"use strict";X();fu=1e3;U("smart-find",Yy)});function Qy(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=Xy.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}var Xy,pu=g(()=>{"use strict";X();Xy=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;U("smart-wc",Qy)});function nb(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function rb(e){if(e.length<=Us+Zs+1)return e;let t=e.slice(Us,-Zs),n=t.filter(s=>tb.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,Us),...n,`\u2026 ${r} more lines omitted`,...e.slice(-Zs)]}function sb(e){if(!e.some(s=>mu.test(s)))return e;let t=[],n=[],r=()=>{t.push(...rb(nb(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(eb.test(o))return r(),t.push(...e.slice(s)),t;if(mu.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}var mu,eb,tb,Us,Zs,hu=g(()=>{"use strict";X();dn();mu=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,eb=/^\d+% tests passed, \d+ tests? failed out of \d+$/,tb=new RegExp(`${le.source}|\\*\\*\\*|Exception|FAIL|ERROR`),Us=3,Zs=8;U("smart-ctest",sb)});function ob(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function ib(e){let t=e.join(`
35
- `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=ob(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let u of l){let c=typeof u.line=="number"?`:${u.line}`:":?",f=typeof u.tip=="string"&&u.tip?` \u2014 ${u.tip}`:"";i.push(` ${c} ${String(u.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}var gu=g(()=>{"use strict";X();U("smart-phpstan",ib)});function ub(e){if(!e.some(n=>Gs.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];Gs.test(r)||ab.test(r)&&!Gs.test(e[n+1]??"")&&!lb.test(r)||t.push(r)}return t}var ab,Gs,lb,yu=g(()=>{"use strict";X();dn();ab=/^\d+ \| /,Gs=/^\s+\^\s*$/,lb=new RegExp(`${le.source}|\\*\\*\\*|Exception|FAIL|ERROR`);U("bun-frames",ub)});function hb(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>db.test(n))}function gb(e){let t=e.some(r=>pb.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(cb.test(s)){let o=r+1;for(fb.test(e[o]??"")&&(o+=1);hb(e[o]??"");)o+=1;r=o-1;continue}t&&mb.test(s)||n.push(s)}return n}var cb,fb,db,pb,mb,bu=g(()=>{"use strict";X();cb=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,fb=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,db=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,pb=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,mb=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;U("curl-progress",gb)});function wu(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>ku?`${n.slice(0,ku)}\u2026`:n}function kb(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=bb&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function _b(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function vu(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function wb(e,t,n){return/^\d+$/.test(e)?!1:vu(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function xb(e){let t=0,n=0;for(let r of e){let s=(xu.exec(r)??Su.exec(r)??Eu.exec(r))?.[1];s&&(n+=1,vu(s)&&(t+=1))}return t>=2&&t*2>n}function Tu(e,t={}){let n=e.filter(m=>m.trim()!=="");if(n.length===0)return e;let r=xb(n),s=new Map,o=new Map,i=null,a=0,l=0,u=null;for(let m of n){if(m==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let _=xu.exec(m),S=Su.exec(m);if(_&&S)return e;let A=_||S?null:Eu.exec(m),P=(_??S??A)?.[1];if(!P||!wb(P,!!_,r))return e;let F=_?{line:_[2],content:_[3],context:!1}:S?{line:S[2],content:S[3],context:!0}:{line:"",content:A[2],context:!1},N=s.get(P)??[];N.push(F),s.set(P,N);let D=F.line?Number(F.line):NaN,j=t.astGrep&&P===i&&u!==null&&D===u+1;(t.astGrep?!j:!F.context)&&(a+=1,o.set(P,(o.get(P)??0)+1)),u=t.astGrep&&Number.isFinite(D)?D:null,l+=1,i=P}if(s.size===l)return e;let c=[...s.keys()].sort((m,_)=>{let S=_u.test(m)?1:0,A=_u.test(_)?1:0;return S-A||(m<_?-1:m>_?1:0)}),f=c.length>1?_b(c):"",d=m=>f?m.slice(f.length+1):m,p=[];for(let m of c){p.push(`${d(m)} (${o.get(m)??0}):`);for(let _ of s.get(m))"separator"in _?p.push(" --"):_.line?p.push(` ${_.line}${_.context?"-":":"} ${wu(_.content,t.astGrep)}`):p.push(` ${wu(_.content,t.astGrep)}`)}let b=c.length>1&&p.length>yb?kb(c.map(m=>`${d(m)} (${o.get(m)??0})`)):[],h=[`${a}m ${c.length}f${f?` in ${f}/`:""}:`,...b,"",...p];if(h.length>Ws){let m=h.length-Ws;return[...h.slice(0,Ws),`\u2026 ${m} more lines omitted`]}return h}var Ws,ku,yb,bb,xu,Su,Eu,_u,$u=g(()=>{"use strict";X();bu();Ws=1e3,ku=200,yb=60,bb=190,xu=/^([^\s:]+):(\d+):(.*)$/,Su=/^([^:]+?)-(\d+)-(.*)$/,Eu=/^([^\s:]+):(.*)$/,_u=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;U("smart-grep",Tu);U("smart-grep-ast",e=>Tu(e,{astGrep:!0}))});function Pb(e){let t=[];for(let l=0;l<e.length;l+=1){let u=Au.exec(e[l]);if(!u)continue;let c=l+1,f=null;e[c]?.startsWith("Merge: ")&&(f=e[c].slice(7),c+=1);let d=Rb.exec(e[c]??""),p=Ab.exec(e[c+1]??"");if(!d||!p)return null;let b=Cb.indexOf(p[1])+1;if(b===0)return null;t.push({at:l,hash:u[1].slice(0,Ob),refs:u[2]??"",merge:f,author:d[1],date:`${p[4]}-${String(b).padStart(2,"0")}-${p[2].padStart(2,"0")} ${p[3]}`,zone:p[5],end:c+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=Ib&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,u)=>`[${u+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let u=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${u}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function Nb(e){if(!e.some(r=>Ru.test(r)))return e;let t=e.some(r=>Au.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=Db(e,t?$b:Tb);return Pb(n)??n}function Db(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,u=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let c of e){let f=c.slice(0,o),d=Sb.test(f),p=d?c.slice(o):c,b=Eb.test(p),h=a&&b?null:Ru.exec(c);if(h){u(),r=0,o=h[1]?.length??0,a=!0,l=!1,n.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(p)&&(l=!0),b&&!l&&!(o>0&&p.trim().length===0)){if(vb.test(p)){n.push(c);continue}r+=1,r<=t?n.push(c):(s+=1,i=d?f:"");continue}u(),n.push(c)}return u(),n}var Ru,Sb,Eb,vb,Tb,$b,Au,Rb,Ab,Cb,Ob,Ib,Cu=g(()=>{"use strict";X();Ru=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Sb=/^[|\\/* ._-]*$/,Eb=/^ {4}/,vb=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,Tb=2,$b=1,Au=/^commit ([0-9a-f]{40})(\s.*)?$/,Rb=/^Author:\s+(.+)$/,Ab=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,Cb=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ob=12,Ib=5;U("smart-log",Nb)});var Mb,Lb,Fb,Ou=g(()=>{"use strict";X();Mb=/^[\s=]+$/,Lb=/^\s*=+\s+(.*?)\s+=+\s*$/,Fb=512;U("strip-banners",e=>{let t=[];for(let n of e){if(Mb.test(n))continue;let r=n.length<=Fb?Lb.exec(n):null;t.push(r?r[1]:n)}return t})});function jb(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var Iu=g(()=>{"use strict";X();U("squeeze-output",jb)});function Hb(e){return e==="compact"?.6:e==="minimal"?.3:1}function zb(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function Ub(e){let t=Pu.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return Pu.set(e,s),s}function Js(e){return!!e&&Zb.test(e)}function Ks(e,t,n){if(e==="smart-ls")return zs(t,n);let r=su(e);return r?r(t):t}function ur(e,t,n={}){return Vs(e,t,n).text}function Vs(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_lines_matching??[]).length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=Ub(t),o=!t.preserve_exact&&e.includes(`\r
34
+ `).length?i:null}function ib(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function mc(e){let t=new Map;for(let s of e)t.set(s.mode,(t.get(s.mode)??0)+1);let n=null,r=0;for(let[s,o]of t)o>r&&([n,r]=[s,o]);return r>=2?n:null}function zs(e,t){if(ib(t))return e;let n=ob(e);if(n)return n;let r=[],s=[],o=!1;for(let m of e){if(m.trim()===""||/^total\s+\d+/.test(m))continue;if(gc.test(m.trim())||!hc.test(m))return e;let _=Qy(m);if(!_){if(/\s\.\.?$/.test(m))continue;return e}o=!0,(_.isDir?r:s).push(_)}if(!o)return e;let i=(m,_)=>m.name.localeCompare(_.name);r.sort(i),s.sort((m,_)=>_.sizeKey-m.sizeKey||i(m,_));let a=[...r,...s],l=a.every(m=>m.owner===a[0].owner)?a[0].owner:null,c=mc(r),u=mc(s),f=[];for(let m of a){let _=m.isDir?c:u,$=`${m.mode===_?"":`${m.mode} `}${l===null?`${m.owner} `:""}${m.isDir?`${m.name}/`:m.name}`;f.push(m.isDir?$:`${$} ${m.size}`)}if(f.length>Hs){let m=f.length-Hs;f=[...f.slice(0,Hs),`\u2026 ${m} more lines omitted`]}let d=s.length===1?"file":"files",p=r.length===1?"dir":"dirs",b=eb(s),g=`${s.length} ${d}, ${r.length} ${p}`+(b?` (${b})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`)+(c||u?`, mode ${[c&&`dirs ${c}`,u&&`files ${u}`].filter(Boolean).join(", ")} unless shown`:"");return f.push(g),f}var hc,gc,Ky,Vy,qy,Hs,tb,nb,rb,yc=h(()=>{"use strict";ee();hc=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,gc=/^[./~][^\s]*:$/,Ky=String.raw`(?:[^\s\d]{3,}\s+\d{1,2}|\d{1,2}\s+[^\s\d]{3,})\s+(?:\d{1,2}:\d{2}|\d{4})|\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}(?::\d{2}(?:\.\d+)?)?(?:\s+[+-]\d{4})?`,Vy=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Ky})\s+(.+)$`),qy={k:1,m:2,g:3,t:4,p:5},Hs=1e3;tb=12,nb=3,rb=180;B("smart-ls",zs)});var bc=h(()=>{"use strict";It();ee();B("smart-read",e=>fn(e))});function ab(e){let t=e[0].split("/");for(let n of e.slice(1)){let r=n.split("/"),s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)break}return t.join("/")}function lb(e){if(e.length<2||e.some(s=>s.startsWith('"')))return"";let t=e[0];for(let s of e.slice(1)){let o=0;for(;o<t.length&&o<s.length&&t[t.length-1-o]===s[s.length-1-o];)o+=1;if(t=t.slice(t.length-o),!t)return""}let n=t.indexOf("."),r=n<0?"":t.slice(n);return r.length>=3&&e.every(s=>s.length>r.length)?r:""}function cb(e){let t=e.filter(c=>c.trim()!=="");if(t.length===0||t.filter(c=>!/\s/.test(c.trim())).length<t.length*.6)return e;let r=new Map,s=[],o=0;for(let c of t){let u=c.trim();if(u.startsWith("find:")){s.push(u);continue}let f=u.replace(/^\.\//,"").replace(/\/+$/,""),d=f.lastIndexOf("/"),p=d>0?f.slice(0,d):d===0?"/":"",b=d>=0?f.slice(d+1):f;if(!b)continue;let g=r.get(p)??[];g.push(/\s/.test(b)?`"${b}"`:b),r.set(p,g),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")&&!i.includes("/")?ab(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=c==="/"?"/":a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=lb(f),p=d?f.map(b=>b.slice(0,-d.length)):f;l.push(`${u==="/"?"/":u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${p.join(" ")}`)}if(l.length+s.length>kc){let c=Math.max(0,kc-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var kc,_c=h(()=>{"use strict";ee();kc=1e3;B("smart-find",cb)});function fb(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=ub.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}var ub,wc=h(()=>{"use strict";ee();ub=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;B("smart-wc",fb)});function mb(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function hb(e){if(e.length<=Bs+Us+1)return e;let t=e.slice(Bs,-Us),n=t.filter(s=>pb.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,Bs),...n,`\u2026 ${r} more lines omitted`,...e.slice(-Us)]}function gb(e){if(!e.some(s=>xc.test(s)))return e;let t=[],n=[],r=()=>{t.push(...hb(mb(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(db.test(o))return r(),t.push(...e.slice(s)),t;if(xc.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}var xc,db,pb,Bs,Us,Sc=h(()=>{"use strict";ee();un();xc=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,db=/^\d+% tests passed, \d+ tests? failed out of \d+$/,pb=new RegExp(`${le.source}|\\*\\*\\*|Exception|FAIL|ERROR`),Bs=3,Us=8;B("smart-ctest",gb)});function yb(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function bb(e){let t=e.join(`
35
+ `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=yb(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let c of l){let u=typeof c.line=="number"?`:${c.line}`:":?",f=typeof c.tip=="string"&&c.tip?` \u2014 ${c.tip}`:"";i.push(` ${u} ${String(c.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}var Ec=h(()=>{"use strict";ee();B("smart-phpstan",bb)});function wb(e){if(!e.some(n=>Zs.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];Zs.test(r)||kb.test(r)&&!Zs.test(e[n+1]??"")&&!_b.test(r)||t.push(r)}return t}var kb,Zs,_b,vc=h(()=>{"use strict";ee();un();kb=/^\d+ \| /,Zs=/^\s+\^\s*$/,_b=new RegExp(`${le.source}|\\*\\*\\*|Exception|FAIL|ERROR`);B("bun-frames",wb)});function $b(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>Eb.test(n))}function Rb(e){let t=e.some(r=>vb.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(xb.test(s)){let o=r+1;for(Sb.test(e[o]??"")&&(o+=1);$b(e[o]??"");)o+=1;r=o-1;continue}t&&Tb.test(s)||n.push(s)}return n}var xb,Sb,Eb,vb,Tb,Tc=h(()=>{"use strict";ee();xb=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,Sb=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,Eb=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,vb=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,Tb=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;B("curl-progress",Rb)});function Ac(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>$c?`${n.slice(0,$c)}\u2026`:n}function Ob(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Cb&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Ib(e){let t=null;for(let n of e){let r=n.split("/").slice(0,-1);if(t===null){t=r;continue}let s=0;for(;s<t.length&&s<r.length&&t[s]===r[s];)s+=1;if(t=t.slice(0,s),t.length===0)return""}return t?t.join("/"):""}function Pc(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function Pb(e,t,n){return/^\d+$/.test(e)?!1:Pc(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function Nb(e){let t=0,n=0;for(let r of e){let s=(Cc.exec(r)??Oc.exec(r)??Ic.exec(r))?.[1];s&&(n+=1,Pc(s)&&(t+=1))}return t>=2&&t*2>n}function Nc(e,t={}){let n=e.filter(m=>m.trim()!=="");if(n.length===0)return e;let r=Nb(n),s=new Map,o=new Map,i=null,a=0,l=0,c=null;for(let m of n){if(m==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let _=Cc.exec(m),x=Oc.exec(m);if(_&&x)return e;let $=_||x?null:Ic.exec(m),I=(_??x??$)?.[1];if(!I||!Pb(I,!!_,r))return e;let D=_?{line:_[2],content:_[3],context:!1}:x?{line:x[2],content:x[3],context:!0}:{line:"",content:$[2],context:!1},L=s.get(I)??[];L.push(D),s.set(I,L);let F=D.line?Number(D.line):NaN,U=t.astGrep&&I===i&&c!==null&&F===c+1;(t.astGrep?!U:!D.context)&&(a+=1,o.set(I,(o.get(I)??0)+1)),c=t.astGrep&&Number.isFinite(F)?F:null,l+=1,i=I}if(s.size===l)return e;let u=[...s.keys()].sort((m,_)=>{let x=Rc.test(m)?1:0,$=Rc.test(_)?1:0;return x-$||(m<_?-1:m>_?1:0)}),f=u.length>1?Ib(u):"",d=m=>f?m.slice(f.length+1):m,p=[];for(let m of u){p.push(`${d(m)} (${o.get(m)??0}):`);for(let _ of s.get(m))"separator"in _?p.push(" --"):_.line?p.push(` ${_.line}${_.context?"-":":"} ${Ac(_.content,t.astGrep)}`):p.push(` ${Ac(_.content,t.astGrep)}`)}let b=u.length>1&&p.length>Ab?Ob(u.map(m=>`${d(m)} (${o.get(m)??0})`)):[],g=[`${a}m ${u.length}f${f?` in ${f}/`:""}:`,...b,"",...p];if(g.length>Gs){let m=g.length-Gs;return[...g.slice(0,Gs),`\u2026 ${m} more lines omitted`]}return g}var Gs,$c,Ab,Cb,Cc,Oc,Ic,Rc,Dc=h(()=>{"use strict";ee();Tc();Gs=1e3,$c=200,Ab=60,Cb=190,Cc=/^([^\s:]+):(\d+):(.*)$/,Oc=/^([^:]+?)-(\d+)-(.*)$/,Ic=/^([^\s:]+):(.*)$/,Rc=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;B("smart-grep",Nc);B("smart-grep-ast",e=>Nc(e,{astGrep:!0}))});function Gb(e){let t=[];for(let l=0;l<e.length;l+=1){let c=Lc.exec(e[l]);if(!c)continue;let u=l+1,f=null;e[u]?.startsWith("Merge: ")&&(f=e[u].slice(7),u+=1);let d=Hb.exec(e[u]??""),p=zb.exec(e[u+1]??"");if(!d||!p)return null;let b=Bb.indexOf(p[1])+1;if(b===0)return null;t.push({at:l,hash:c[1].slice(0,Ub),refs:c[2]??"",merge:f,author:d[1],date:`${p[4]}-${String(b).padStart(2,"0")}-${p[2].padStart(2,"0")} ${p[3]}`,zone:p[5],end:u+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=Zb&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,c)=>`[${c+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let c=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${c}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function Wb(e){if(!e.some(r=>Mc.test(r)))return e;let t=e.some(r=>Lc.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=Jb(e,t?jb:Fb);return Gb(n)??n}function Jb(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,c=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let u of e){let f=u.slice(0,o),d=Db.test(f),p=d?u.slice(o):u,b=Mb.test(p),g=a&&b?null:Mc.exec(u);if(g){c(),r=0,o=g[1]?.length??0,a=!0,l=!1,n.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(p)&&(l=!0),b&&!l&&!(o>0&&p.trim().length===0)){if(Lb.test(p)){n.push(u);continue}r+=1,r<=t?n.push(u):(s+=1,i=d?f:"");continue}c(),n.push(u)}return c(),n}var Mc,Db,Mb,Lb,Fb,jb,Lc,Hb,zb,Bb,Ub,Zb,Fc=h(()=>{"use strict";ee();Mc=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Db=/^[|\\/* ._-]*$/,Mb=/^ {4}/,Lb=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,Fb=2,jb=1,Lc=/^commit ([0-9a-f]{40})(\s.*)?$/,Hb=/^Author:\s+(.+)$/,zb=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,Bb=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Ub=12,Zb=5;B("smart-log",Wb)});var Kb,Vb,qb,jc=h(()=>{"use strict";ee();Kb=/^[\s=]+$/,Vb=/^\s*=+\s+(.*?)\s+=+\s*$/,qb=512;B("strip-banners",e=>{let t=[];for(let n of e){if(Kb.test(n))continue;let r=n.length<=qb?Vb.exec(n):null;t.push(r?r[1]:n)}return t})});function Yb(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].trimEnd();if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].trimEnd()===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var Hc=h(()=>{"use strict";ee();B("squeeze-output",Yb)});function Xb(e){return e==="compact"?.6:e==="minimal"?.3:1}function e0(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function t0(e){let t=zc.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return zc.set(e,s),s}function Ws(e){return!!e&&n0.test(e)}function Js(e,t,n){if(e==="smart-ls")return zs(t,n);let r=dc(e);return r?r(t):t}function cr(e,t,n={}){return Ks(e,t,n).text}function Ks(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_lines_matching??[]).length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=t0(t),o=!t.preserve_exact&&e.includes(`\r
36
36
  `)?e.replace(/\r\n/g,`
37
- `):e;t.strip_ansi&&(o=_e(o));let i=o.endsWith(`
37
+ `):e;t.strip_ansi&&(o=we(o));let i=o.endsWith(`
38
38
  `),a=(i?o.slice(0,-1):o).split(`
39
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>le.test(d)||!s.stripRegexes.some(p=>p.test(d))):Fs(a,s.stripRegexes)),s.dropRegexes.length&&(a=Fs(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=ar(a),a=nu(a)),r==="minimal"&&!t.preserve_exact&&(a=Ql(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=zb(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&ir(o))&&(a=pn(a,l)),t.transform&&(t.transform==="smart-read"?a=pn(a,l,t.slug==="read-tool"):a=Ks(t.transform,a,n.cmd));let u=t.slug==="read-tool";if(!u){let d=Hs(a);d.some(Boolean)&&(a=a.filter((p,b)=>!d[b]))}t.mask_abs_paths&&(a=Zl(a)),t.fold_passing&&(a=Ul(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Hl(a,t.truncate_lines_at));let c=null;if(t.max_lines){let d=t.scale_with_level?Hb(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Bb,Math.round(t.max_lines*d))),b=u?Hs(a):null,h=b?b.filter(m=>!m).length:a.length;if(h>p){let m=p;if(b){let S=0;for(m=0;m<a.length&&S<p;)b[m]||(S+=1),m+=1}let _=h-p;if(t.keep_failures){let S=a.slice(m),A=S.filter(F=>!le.test(F)),P=S.reduce((F,N,D)=>F+(!le.test(N)&&!b?.[m+D]?1:0),0);c=A.length>0?A.join(`
40
- `):null,a=[...a.slice(0,m),...P>0?[It(P)]:[],...S.filter(F=>le.test(F))]}else if(u)c=a.slice(m).join(`
41
- `),a=[...a.slice(0,m),It(_)];else{let{kept:S,dropped:A}=zl(a,p);c=A.length>0?A.join(`
42
- `):null,a=S}}}let f=a.join(`
39
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>le.test(d)||!s.stripRegexes.some(p=>p.test(d))):Ls(a,s.stripRegexes)),s.dropRegexes.length&&(a=Ls(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=ar(a),a=uc(a)),r==="minimal"&&!t.preserve_exact&&(a=ac(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=e0(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&ir(o))&&(a=fn(a,l)),t.transform&&(t.transform==="smart-read"?a=fn(a,l,t.slug==="read-tool"):a=Js(t.transform,a,n.cmd));let c=t.slug==="read-tool";if(!c){let d=js(a);d.some(Boolean)&&(a=a.filter((p,b)=>!d[b]))}t.mask_abs_paths&&(a=Xl(a)),t.fold_passing&&(a=Yl(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Kl(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Xb(n.verbosity):1,p=Math.min(t.max_lines,Math.max(Qb,Math.round(t.max_lines*d))),b=c?js(a):null,g=b?b.filter(m=>!m).length:a.length;if(g>p){let m=p;if(b){let x=0;for(m=0;m<a.length&&x<p;)b[m]||(x+=1),m+=1}let _=g-p;if(t.keep_failures){let x=a.slice(m),$=x.filter(D=>!le.test(D)),I=x.reduce((D,L,F)=>D+(!le.test(L)&&!b?.[m+F]?1:0),0);u=$.length>0?$.join(`
40
+ `):null,a=[...a.slice(0,m),...I>0?[Ot(I)]:[],...x.filter(D=>le.test(D))]}else if(c)u=a.slice(m).join(`
41
+ `),a=[...a.slice(0,m),Ot(_)];else{let{kept:x,dropped:$}=ql(a,p);u=$.length>0?$.join(`
42
+ `):null,a=x}}}let f=a.join(`
43
43
  `);return i&&f.length>0&&(f+=`
44
- `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&Gb.has(t.slug))&&!Js(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:c}}var Bb,Pu,Zb,Gb,qs=g(()=>{"use strict";fn();Fl();Bl();js();dn();Gl();Pt();lr();X();uu();cu();du();pu();hu();gu();yu();$u();Cu();Ou();Iu();Bb=20;Pu=new WeakMap;Zb=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),Gb=new Set(["grep","ast-grep"])});import{readdir as Wb,readFile as Lu,writeFile as rR,mkdir as sR,rename as oR}from"node:fs/promises";import{readdirSync as Jb,statSync as Nu}from"node:fs";import{createHash as Kb}from"node:crypto";import{basename as uR,join as pr}from"node:path";function dr(){return pr(v(),"filters")}function ju(){return pr(v(),"filters-trust.json")}function Hu(e){return typeof e=="string"&&e.startsWith(Fu)}function qb(e){return Kb("sha256").update(e).digest("hex")}async function Yb(){try{let e=JSON.parse(await Lu(ju(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function Xb(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function Qb(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Xb(e,r);if("message"in o)return o;let i=je.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(u=>`${u.path.join(".")||"rule"}: ${u.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${Fu}${i.data.slug}`,matchRegex:a},tests:o.tests}}function ek(e){return e===void 0||e===cr?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${cr}. Update tkr, or write the file for version ${cr}`:`schema_version must be the number ${cr}`}async function tk(e){try{return(await Wb(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function nk(e={}){let t=e.requireTrust!==!1,n=dr(),r=new Map,s=new Map,o=[],i=await tk(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Yb():null;for(let l of i){let u;try{u=await Lu(pr(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==qb(u)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let c=await rk(u,l);for(let[f,d]of c.filters)r.set(f,d);for(let[f,d]of c.tests)s.set(f,d);o.push(...c.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function rk(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Jn(),ws)),i;try{i=o(e)}catch(u){return s.push({file:t,message:`not valid TOML (${String(u.message).split(`
45
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=ek(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[u,c]of Object.entries(l)){let f=Qb(u,c);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function sk(){let e=[];for(let t of[ju(),dr()])try{let n=Nu(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Jb(dr()).filter(n=>n.endsWith(".toml")).sort()){let n=Nu(pr(dr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function ok(){let e=Date.now();if(!fr||e-Mu>=Vb){Mu=e;let t=sk();(!fr||t!==Du)&&(Du=t,fr=nk())}return fr}async function ik(e){let{filters:t}=await ok();return t.size===0?null:Ot(e,t.values(),null,t)}function Bu(e){return async(t,n)=>await ik(t)??e(t,n)}var Fu,cr,fr,Du,Mu,Vb,Ys=g(()=>{"use strict";cn();sr();qs();H();Fu="user/",cr=1,fr=null,Du="",Mu=0,Vb=1e3});function zu(e){if(!e)return!1;for(let t of _e(e).split(`
46
- `))if(!/^\s*[✓✔√]\s/.test(t)&&ak.some(n=>n.test(t)))return!0;return!1}var ak,Uu=g(()=>{"use strict";fn();ak=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/]});function dk(e){let t=0;for(;t<e.length;){let n=e[t];if(ck.has(n))t+=2;else if(fk.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function Re(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let l=n[r];if(uk.test(l)){r++;continue}if(lk.has(l)){for(r++,l==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(l==="stdbuf"||l==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.slice(Math.max(s.lastIndexOf("/"),s.lastIndexOf("\\"))+1)||s;o=o.replace(/\.(?:exe|cmd|bat|ps1)$/i,"")||o;let i=n.slice(r+1);o.toLowerCase()==="py"&&(o="python",i.length&&/^-\d(?:\.\d+)?(?:-\d+)?$/.test(i[0])&&(i=i.slice(1)));let a=o==="git"?dk(i):i;return a.length?`${o} ${a.join(" ")}`:o}function Zu(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function mk(e){let t=Zu(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function mn(e){let t=Zu(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Re(n).split(/\s+/)[0]??"";if(!pk.has(r))return null}return mk(t[t.length-1])}function Gu(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Qs(e){let t=hk.exec(e);return t?Re(e.slice(t[0].length)):null}function Wu(e){let t=Xs.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=mn(n),s=r?Re(r):null,i=[s?Qs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var lk,uk,Xs,ck,fk,pk,hk,eo=g(()=>{"use strict";lk=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),uk=/^[A-Za-z_][A-Za-z0-9_]*=/,Xs=/^([a-z]+)-tool(?::\s|$)/,ck=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),fk=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);pk=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);hk=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/});function to(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(Ju,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+Ju+t.subarray(s).toString("utf8")}var Ju,Ku=g(()=>{"use strict";Ju=`
44
+ `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&r0.has(t.slug))&&!Ws(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:u}}var Qb,zc,n0,r0,Vs=h(()=>{"use strict";cn();Wl();Vl();Fs();un();Ql();It();lr();ee();yc();bc();_c();wc();Sc();Ec();vc();Dc();Fc();jc();Hc();Qb=20;zc=new WeakMap;n0=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),r0=new Set(["grep","ast-grep"])});import{readdir as s0,readFile as Gc,writeFile as _R,mkdir as wR,rename as xR}from"node:fs/promises";import{readdirSync as o0,statSync as Bc}from"node:fs";import{createHash as i0}from"node:crypto";import{basename as TR,join as pr}from"node:path";function dr(){return pr(v(),"filters")}function Jc(){return pr(v(),"filters-trust.json")}function Kc(e){return typeof e=="string"&&e.startsWith(Wc)}function l0(e){return i0("sha256").update(e).digest("hex")}async function c0(){try{let e=JSON.parse(await Gc(Jc(),"utf8")),t={};if(e.files&&typeof e.files=="object")for(let[n,r]of Object.entries(e.files))typeof r=="string"&&/^[0-9a-f]{64}$/.test(r)&&(t[n]=r);return{v:1,files:t}}catch{return{v:1,files:{}}}}function u0(e,t){if(t===void 0)return{tests:[]};let n={message:`${e}: tests: each [[filters.${e}.tests]] needs input and expected strings`};if(!Array.isArray(t))return n;let r=[];for(let s of t){if(typeof s!="object"||s===null)return n;let{input:o,expected:i,name:a}=s;if(typeof o!="string"||typeof i!="string")return n;r.push({...typeof a=="string"&&a?{name:a}:{},input:o,expected:i})}return{tests:r}}function f0(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=u0(e,r);if("message"in o)return o;let i=je.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(c=>`${c.path.join(".")||"rule"}: ${c.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${Wc}${i.data.slug}`,matchRegex:a},tests:o.tests}}function d0(e){return e===void 0||e===ur?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${ur}. Update tkr, or write the file for version ${ur}`:`schema_version must be the number ${ur}`}async function p0(e){try{return(await s0(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function m0(e={}){let t=e.requireTrust!==!1,n=dr(),r=new Map,s=new Map,o=[],i=await p0(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await c0():null;for(let l of i){let c;try{c=await Gc(pr(n,l),"utf8")}catch{o.push({file:l,message:"could not be read"});continue}if(a){let f=a.files[l];if(!f){o.push({file:l,message:`not trusted yet. Review it, then run: tkr filters trust ${l}`});continue}if(f!==l0(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await h0(c,l);for(let[f,d]of u.filters)r.set(f,d);for(let[f,d]of u.tests)s.set(f,d);o.push(...u.issues)}return{dir:n,filters:r,tests:s,issues:o}}async function h0(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Jn(),_s)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
45
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=d0(i.schema_version);if(a)return s.push({file:t,message:a}),{filters:n,tests:r,issues:s};let l=i.filters;if(typeof l!="object"||l===null||Array.isArray(l))return s.push({file:t,message:"no [filters.<name>] table found"}),{filters:n,tests:r,issues:s};for(let[c,u]of Object.entries(l)){let f=f0(c,u);if("message"in f){s.push({file:t,message:f.message});continue}n.set(f.filter.slug,f.filter),f.tests.length>0&&r.set(f.filter.slug,{file:t,tests:f.tests})}return{filters:n,tests:r,issues:s}}function g0(){let e=[];for(let t of[Jc(),dr()])try{let n=Bc(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of o0(dr()).filter(n=>n.endsWith(".toml")).sort()){let n=Bc(pr(dr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function y0(){let e=Date.now();if(!fr||e-Zc>=a0){Zc=e;let t=g0();(!fr||t!==Uc)&&(Uc=t,fr=m0())}return fr}async function b0(e){let{filters:t}=await y0();return t.size===0?null:Ct(e,t.values(),null,t)}function Vc(e){return async(t,n)=>await b0(t)??e(t,n)}var Wc,ur,fr,Uc,Zc,a0,qs=h(()=>{"use strict";ln();sr();Vs();j();Wc="user/",ur=1,fr=null,Uc="",Zc=0,a0=1e3});function qc(e){if(!e)return!1;for(let t of we(e).split(`
46
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&k0.some(n=>n.test(t)))return!0;return!1}var k0,Yc=h(()=>{"use strict";cn();k0=[/\bERROR\b/,/\bFAIL\b/,/\bFAILED\b/,/\bFATAL\b/,/^Traceback /m,/^Error: /m,/^\s+at .*\(.*:\d+:\d+\)/m,/panic:/,/SyntaxError:/,/TypeError:/,/ReferenceError:/,/AssertionError:/,/^\s*(?:error|fatal):/i,/thread '.*' panicked/,/\b[1-9]\d* (?:failed|errors?)\b/]});function E0(e){let t=0;for(;t<e.length;){let n=e[t];if(x0.has(n))t+=2;else if(S0.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function Ae(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let l=n[r];if(w0.test(l)){r++;continue}if(_0.has(l)){for(r++,l==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(l==="stdbuf"||l==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.slice(Math.max(s.lastIndexOf("/"),s.lastIndexOf("\\"))+1)||s;o=o.replace(/\.(?:exe|cmd|bat|ps1)$/i,"")||o;let i=n.slice(r+1);o.toLowerCase()==="py"&&(o="python",i.length&&/^-\d(?:\.\d+)?(?:-\d+)?$/.test(i[0])&&(i=i.slice(1)));let a=o==="git"?E0(i):i;return a.length?`${o} ${a.join(" ")}`:o}function Xc(e,t){let n=!1,r=!1,s=0,o=[];for(let i=0;i<e.length;i++){let a=e[i];if(a==="\\"&&!n){i++;continue}a==="'"&&!r?n=!n:a==='"'&&!n?r=!r:!n&&!r&&(a===";"?(o.push(e.slice(s,i)),s=i+1):a==="|"&&e[i+1]==="|"?(o.push(e.slice(s,i)),i++,s=i+1):a==="|"?t||(o.push(e.slice(s,i)),s=i+1):a==="&"&&e[i+1]==="&"&&(o.push(e.slice(s,i)),i++,s=i+1))}return o.push(e.slice(s)),o}function T0(e){let t=Xc(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function dn(e){let t=Xc(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=Ae(n).split(/\s+/)[0]??"";if(!v0.has(r))return null}return T0(t[t.length-1])}function Qc(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Xs(e){let t=$0.exec(e);return t?Ae(e.slice(t[0].length)):null}function eu(e){let t=Ys.exec(e),n=e;if(t){if(t[1]!=="bash")return[e];let a=e.indexOf(": ");if(a<0)return[e];n=e.slice(a+2)}let r=dn(n),s=r?Ae(r):null,i=[s?Xs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var _0,w0,Ys,x0,S0,v0,$0,Qs=h(()=>{"use strict";_0=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),w0=/^[A-Za-z_][A-Za-z0-9_]*=/,Ys=/^([a-z]+)-tool(?::\s|$)/,x0=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),S0=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);v0=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);$0=/^(?:npx|bunx|uvx|pnpm\s+(?:exec|dlx)|yarn\s+(?:exec|dlx)|(?:uv|poetry|pipenv|hatch|pdm|rye)\s+run|bundle\s+exec|python[0-9.]*\s+-m)\s+(?=[^\s-])/});function eo(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(tu,"utf8"),r=Math.floor(n/2);for(;(t[r]&192)===128;)r-=1;let s=t.length-(n-r);for(;(t[s]&192)===128;)s+=1;return t.subarray(0,r).toString("utf8")+tu+t.subarray(s).toString("utf8")}var tu,nu=h(()=>{"use strict";tu=`
47
47
  [YOLO: omitted]
48
- `});function bk(e,t){if(!t)return e.split(`
48
+ `});function C0(e,t){if(!t)return e.split(`
49
49
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
50
50
  `);let n="",r=!1,s=!1;for(let o of e)r?(n+=o,s?s=!1:o==="\\"?s=!0:o==='"'&&(r=!1)):o==='"'?(r=!0,n+=o):o!==" "&&o!==" "&&o!=="\r"&&o!==`
51
51
  `&&(n+=o);return n+(e.endsWith(`
52
52
  `)?`
53
- `:"")}function kk(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
53
+ `:"")}function O0(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
54
54
  `)?`
55
55
  `:"",r=(n?e.slice(0,-1):e).split(`
56
- `),s=r.findIndex(m=>gk.test(m));if(s>=0&&r.slice(0,s).some(m=>m!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(m)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(m=>m.index):[],i=[];for(let m=s+1;m<r.length;m+=1){let _=r[m];if(yk.test(_))continue;if(/…|\.\.\./.test(_))return e;let S;if(s>=0){if(/[^\x20-\x7e]/.test(_))return e;let A=o.map((P,F)=>_.slice(P,o[F+1]));if(A.slice(0,-1).some(P=>P[0]===" "||!P.endsWith(" "))||(S=A.map(P=>P.replace(/ +$/,"")),!/^#\d+$/.test(S[0])||!/^\S+$/.test(S[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(S[4])))return e}else if(S=_.split(" "),S.length!==5||!/^\d+$/.test(S[0])||!S[1]||!S[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(S[3])||!no.test(S[4])||!Number.isFinite(Date.parse(S[4])))return e;if(S.some(A=>/[\u0000-\u001f\u007f]/.test(A)))return e;i.push({index:m,cells:S})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let m of i)r[m.index]=m.cells.join(" ");let a=r.join(`
57
- `)+n;if(!t)return a;let l=new Map;for(let{cells:m}of i)l.set(m[1],(l.get(m[1])??0)+1);let u=new Map,c=[];for(let[m,_]of l){if(m.length<40||_<3||m.trim().split(/\s+/).length<8)continue;let S=`@${u.size+1}`,A=JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),P=`TITLE ${S} = ${A}`;_*(Buffer.byteLength(m)-Buffer.byteLength(S))<=Buffer.byteLength(P)+1||(u.set(m,S),c.push(P))}let f=new Map;for(let{cells:m}of i){if(u.has(m[1]))continue;let _=/^((?:\S+\s+){4})\S/.exec(m[1])?.[1];_&&_.length>=24&&f.set(_,(f.get(_)??0)+1)}let d=new Map;for(let[m,_]of f){if(_<3)continue;let S=`@p${d.size+1}`,A=`TITLE prefix ${S} = ${JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;_*(Buffer.byteLength(m)-Buffer.byteLength(S)-1)<=Buffer.byteLength(A)+1||(d.set(m,S),c.push(A))}let p=i[0].cells[4].slice(10),b=i.length>=3&&no.test(i[0].cells[4])&&i.every(({cells:m})=>no.test(m[4])&&m[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(b&&c.push(`CREATED suffix = ${JSON.stringify(p)}`),c.length===0)return a;for(let{index:m,cells:_}of i){let S=u.get(_[1]),A=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1],P=A?d.get(A):void 0;r[m]=_.map((F,N)=>N===1?S??(P?`${P}:${F.slice(A.length)}`:F):N===4&&b?F.slice(0,10):F).join(" ")}let h=[...r,"",...c].join(`
58
- `)+n;return Buffer.byteLength(h)<Buffer.byteLength(a)?h:a}function Ek(e){let t=xk.exec(e[0]??"");if(!t)return e;let n=Sk.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function qu(e){let t=e.endsWith(`
56
+ `),s=r.findIndex(m=>R0.test(m));if(s>=0&&r.slice(0,s).some(m=>m!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(m)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(m=>m.index):[],i=[];for(let m=s+1;m<r.length;m+=1){let _=r[m];if(A0.test(_))continue;if(/…|\.\.\./.test(_))return e;let x;if(s>=0){if(/[^\x20-\x7e]/.test(_))return e;let $=o.map((I,D)=>_.slice(I,o[D+1]));if($.slice(0,-1).some(I=>I[0]===" "||!I.endsWith(" "))||(x=$.map(I=>I.replace(/ +$/,"")),!/^#\d+$/.test(x[0])||!/^\S+$/.test(x[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(x[4])))return e}else if(x=_.split(" "),x.length!==5||!/^\d+$/.test(x[0])||!x[1]||!x[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!to.test(x[4])||!Number.isFinite(Date.parse(x[4])))return e;if(x.some($=>/[\u0000-\u001f\u007f]/.test($)))return e;i.push({index:m,cells:x})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let m of i)r[m.index]=m.cells.join(" ");let a=r.join(`
57
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:m}of i)l.set(m[1],(l.get(m[1])??0)+1);let c=new Map,u=[];for(let[m,_]of l){if(m.length<40||_<3||m.trim().split(/\s+/).length<8)continue;let x=`@${c.size+1}`,$=JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),I=`TITLE ${x} = ${$}`;_*(Buffer.byteLength(m)-Buffer.byteLength(x))<=Buffer.byteLength(I)+1||(c.set(m,x),u.push(I))}let f=new Map;for(let{cells:m}of i){if(c.has(m[1]))continue;let _=/^((?:\S+\s+){4})\S/.exec(m[1])?.[1];_&&_.length>=24&&f.set(_,(f.get(_)??0)+1)}let d=new Map;for(let[m,_]of f){if(_<3)continue;let x=`@p${d.size+1}`,$=`TITLE prefix ${x} = ${JSON.stringify(m).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;_*(Buffer.byteLength(m)-Buffer.byteLength(x)-1)<=Buffer.byteLength($)+1||(d.set(m,x),u.push($))}let p=i[0].cells[4].slice(10),b=i.length>=3&&to.test(i[0].cells[4])&&i.every(({cells:m})=>to.test(m[4])&&m[4].slice(10)===p)&&i.length*p.length>`CREATED suffix = ${JSON.stringify(p)}`.length+1;if(b&&u.push(`CREATED suffix = ${JSON.stringify(p)}`),u.length===0)return a;for(let{index:m,cells:_}of i){let x=c.get(_[1]),$=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1],I=$?d.get($):void 0;r[m]=_.map((D,L)=>L===1?x??(I?`${I}:${D.slice($.length)}`:D):L===4&&b?D.slice(0,10):D).join(" ")}let g=[...r,"",...u].join(`
58
+ `)+n;return Buffer.byteLength(g)<Buffer.byteLength(a)?g:a}function M0(e){let t=N0.exec(e[0]??"");if(!t)return e;let n=D0.exec(e[1]??"");if(!n)return[`* ${t[1]}`,...e.slice(1)];let r=n[1]??n[3],s=n[2]?` [${n[2]} ${n[4]}]`:"";return[`* ${t[1]}...${r}${s}`,...e.slice(2)]}function su(e){let t=e.endsWith(`
59
59
  `)?`
60
- `:"",n=Ek((t?e.slice(0,-1):e).split(`
61
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(Vu,o)){r=Vu[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?wk.exec(o):null;if(!i)return e;let a=_k[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
62
- `)+t}function Tk(e){let t=e.split(`
63
- `);for(let n=0;n<t.length;n+=1){if(!vk.test(t[n]))continue;let r=n;for(;r>0&&Yu.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Yu," $1 | $2")}return t.join(`
64
- `)}function Rk(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function Ak(e){let t=e.endsWith(`
60
+ `:"",n=M0((t?e.slice(0,-1):e).split(`
61
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(ru,o)){r=ru[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?P0.exec(o):null;if(!i)return e;let a=I0[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
62
+ `)+t}function F0(e){let t=e.split(`
63
+ `);for(let n=0;n<t.length;n+=1){if(!L0.test(t[n]))continue;let r=n;for(;r>0&&ou.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ou," $1 | $2")}return t.join(`
64
+ `)}function H0(e,t){let n=[];for(let r=0;r<t.length;r+=1){let s=t[r];if(s>0&&e.length>s&&e[s-1]!==" ")return null;let o=e.slice(s,t[r+1]??e.length).trim();if(o.includes(" "))return null;n.push(o)}return n}function z0(e){let t=e.endsWith(`
65
65
  `)?`
66
66
  `:"",n=(t?e.slice(0,-1):e).split(`
67
- `),r=[],s=[];for(let u of n)u.startsWith("WARNING:")?r.includes(u)||r.push(u):s.push(u);let o=s.findIndex(u=>Xu.test(u));if(o<0)return[...r,...s].join(`
68
- `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(u=>u.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let u of s.slice(o+1)){if(Qu.test(u)){l.push(u);continue}let c=u.startsWith(" ")||/[^\x20-\x7e]/.test(u)?null:Rk(u,a);if(!c)return[...r,...s].join(`
69
- `)+t;l.push(c.join(" "))}return l.join(`
70
- `)+t}function Ck(e){let t=e.endsWith(`
67
+ `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>iu.test(c));if(o<0)return[...r,...s].join(`
68
+ `)+t;let i=s[o],a=[...i.matchAll(/\S+/g)].map(c=>c.index),l=[...r,...s.slice(0,o),i.split(/ +/).join(" ")];for(let c of s.slice(o+1)){if(au.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:H0(c,a);if(!u)return[...r,...s].join(`
69
+ `)+t;l.push(u.join(" "))}return l.join(`
70
+ `)+t}function B0(e){let t=e.endsWith(`
71
71
  `)?`
72
72
  `:"",n=(t?e.slice(0,-1):e).split(`
73
- `),r=n.findIndex(i=>Xu.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(Qu.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
74
- `)+t}function ro(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=qu(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=bk(e,t==="minimal")}else n==="gh"?r=kk(e,t==="minimal"):n==="git-status"?r=qu(e):n==="gcloud"?r=Ak(e):n==="oc"?r=Ck(e):n==="git-diff"?r=Tk(e):n==="tofu-plan"&&(r=e.replace($k,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var gk,yk,no,Vu,_k,wk,xk,Sk,Yu,vk,$k,Xu,Qu,ec=g(()=>{"use strict";gk=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,yk=/^… \([1-9]\d* more lines omitted\)$/,no=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;Vu={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},_k={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},wk=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,xk=/^On branch (\S+)$/,Sk=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;Yu=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,vk=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;$k=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,Xu=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Qu=/^… \(\d+ more lines omitted\)$/});function tc(e){if(Buffer.byteLength(e)<2048||ir(e)||Ik.test(e))return e;let t=e.split(`
75
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Ok.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
76
- `)}var Ok,Ik,nc=g(()=>{"use strict";Pt();Ok=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,Ik=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function rc(e){return Nk.test(e)}function sc(e){let t=e.endsWith(`
73
+ `),r=n.findIndex(i=>iu.test(i.trimEnd()));if(r<0)return e;let s=n[r].trim().split(/ {2,}/).length;if(s<2)return e;let o=[...n.slice(0,r),n[r].trim().split(/ {2,}/).join(" ")];for(let i of n.slice(r+1)){if(au.test(i)){o.push(i);continue}if(i.startsWith(" ")||i.includes(" ")||/[^\x20-\x7e]/.test(i))return e;let a=i.trimEnd().split(/ {2,}/);if(a.length===s-1){let l=a[0].indexOf(" ");if(l<0||a[0].indexOf(" ",l+1)>=0)return e;a=[a[0].slice(0,l),a[0].slice(l+1),...a.slice(1)]}if(a.length!==s)return e;o.push(a.join(" "))}return o.join(`
74
+ `)+t}function no(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=su(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=C0(e,t==="minimal")}else n==="gh"?r=O0(e,t==="minimal"):n==="git-status"?r=su(e):n==="gcloud"?r=z0(e):n==="oc"?r=B0(e):n==="git-diff"?r=F0(e):n==="tofu-plan"&&(r=e.replace(j0,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var R0,A0,to,ru,I0,P0,N0,D0,ou,L0,j0,iu,au,lu=h(()=>{"use strict";R0=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,A0=/^… \([1-9]\d* more lines omitted\)$/,to=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;ru={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},I0={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},P0=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,N0=/^On branch (\S+)$/,D0=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ou=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,L0=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;j0=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,iu=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,au=/^… \(\d+ more lines omitted\)$/});function cu(e){if(Buffer.byteLength(e)<2048||ir(e)||Z0.test(e))return e;let t=e.split(`
75
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(U0.test(s))for(;o<t.length&&t[o]===s;)o+=1;let i=o-r,a=`[tkr: previous log line repeated ${i-1} additional times]`;if(i>=3&&Buffer.byteLength(a)+1<(i-1)*(Buffer.byteLength(s)+1))n.push(s,a);else for(let l=r;l<o;l+=1)n.push(s);r=o}return n.join(`
76
+ `)}var U0,Z0,uu=h(()=>{"use strict";It();U0=/^(?:\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}(?:\.\d+)?Z?\s+)?(?:\[(?:DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)\]|DEBUG|TRACE|INFO|WARN|WARNING|ERROR|FATAL)(?::|\s|$)/,Z0=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function fu(e){return W0.test(e)}function du(e){let t=e.endsWith(`
77
77
  `),n=(t?e.slice(0,-1):e).split(`
78
- `),r=0;for(let s of n)if(s.trim()!==""){if(!Pk.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
79
- `:""}`}var Pk,Nk,oc=g(()=>{"use strict";Pk=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Nk=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Nt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function mr(e){return Dk.test(e)}function Bk(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function hr(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function so(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||jk.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let b=Mk.exec(d)??Lk.exec(d);if(b){s=-1;let m=Bk(b[1]);mr(m)||(r=hr(n,`${m}:${b[2]}${b[3]?`:${b[3]}`:""}`,r));continue}let h=Fk.exec(d);if(h){s=-1,n.push({kind:"code",text:p,num:Number(h[2]),pointed:h[1]===">"});continue}if(Hk.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,u=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),c=new Map;for(let f of u){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;c.set(f.segment,Math.min(c.get(f.segment)??d,d))}for(let f of u)f.kind==="diff"&&(f.text=f.text.slice(c.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:u,loc:r}}function V(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function zk(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=Nt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(V(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(V(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:u}=so(i);for(let c of o)c.body=l,c.loc=u}o=[],i=[]};for(let l of e){let u=l.trim(),c=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(c){i.some(m=>m.trim())&&a();let d=c[1],p=/^(\S+) \[ \S+ \]$/.exec(d),b=d.split(" > "),h=p?{file:p[1],name:"(suite)",loc:null,body:[]}:b.length>1?{file:b[0],name:b.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(h),o.push(h);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(u);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(u)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(u)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let u of e){let c=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(u);if(c){l=c[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(u);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function Uk(e){if(!e.some(c=>/^\s{2}● (?!Console$)/.test(c))||!e.some(c=>/^Tests:\s/.test(c)||/^(?:FAIL|PASS)\s+\S/.test(c)))return null;let t=Nt(e,/^Tests:\s+(\d+) failed/),n=[];for(let c of e)/^Test Suites:\s/.test(c)?n.push(V(c,!0)):(/^Tests:\s/.test(c)||/^Snapshots:\s/.test(c)&&/failed|obsolete/.test(c))&&n.push(V(c));let r=[],s=new Set,o=0,i=null,a=null,l=[],u=()=>{if(a){let c=`${a.file}\0${a.name}`;if(!s.has(c)){s.add(c);let{body:f,loc:d}=so(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let c of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(c);if(f){u(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(c)){u();continue}let d=/^\s{2}● (.+)$/.exec(c);if(d){u(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(c)}return u(),{failures:r,summary:n,reported:t,counted:o}}function fc(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let u=e[l],c=/^\s{2}\d+\) (.+)$/.exec(u);if(c){let{name:f,used:d}=r(c[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(u)||a&&a.push(u)}for(let l of o){let{body:u,loc:c}=so(i.get(l.name),s);l.body=u,l.loc=c}return o}function Zk(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>V(o.replace(/ \(\S+\)\s*$/,""))),s=fc(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function Gk(e){let t=e.findIndex(a=>/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=Nt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>V(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=fc(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function Wk(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Nt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(V(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(V(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(V(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,u=!1;for(let c of a){let f=c.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){u=!0;continue}if(u){let b=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);b&&!mr(b[1])&&(i.loc=hr(i.body,`${b[1]}:${b[2]}:${b[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function Jk(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let u=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(u){i={file:null,name:u[1],loc:null,body:[]},r.set(i,[...t.get(u[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let c=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(c&&/\t|\s{2,}|\[/.test(a)){s.push(V(a.replace(/\s+[\d.]+m?s\s*$/,""),c[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(V(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(V(a))}}for(let a of n){for(let l of r.get(a)){let u=l.trim();if(!u||/^goroutine \d+ \[/.test(u))continue;let c=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(u);if(c){mr(c[1])||(a.loc=hr(a.body,`${c[1]}:${c[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(u)||/^created by /.test(u)||a.body.push({kind:"msg",text:u})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function ac(e,t){let n=[],r=null,s=!1,o=-1;for(let l of e){let u=l.trimEnd(),c=u.trim();if(/^-{3,} Captured .+ -{3,}$/.test(c)){s=!0;continue}if(s){c&&n.push({kind:"out",text:u});continue}if(/^E(?:\s|$)/.test(u)){u.slice(1).trim()&&n.push({kind:"msg",text:u});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(u);if(f){if(mr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=hr(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(u)&&(o=n.length,n.push({kind:"source",text:c.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function lc(e,t){return t.push(V(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Nt([e],/(\d+) failed/)??0)+(Nt([e],/(\d+) errors?\b/)??0)}function Kk(e){if(!e.some(h=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(h)||ic.test(h)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,u=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,c=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let h=e.length-1;h>=0&&f<0;h--){let m=/^={3,} (.+?) ={3,}$/.exec(e[h]);m&&!c.test(m[1])&&u.test(m[1])&&(f=h)}if(f<0){for(let h=e.length-1;h>=0;h--)if(e[h].trim()){l.test(e[h].trim())&&(f=h);break}}for(let[h,m]of e.entries()){let _=/^={3,} (.+?) ={3,}$/.exec(m);if(_){s=_[1],o=null,i=null,h===f&&(a=lc(s,r));continue}if(h===f&&l.test(m.trim())){a=lc(m.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(m)){r.push(V(m.replace(/^!+ | !+$/g,"")));continue}let S=/^_{3,} (.+?) _{3,}$/.exec(m);if(S&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(S[1],o);continue}let A=ic.exec(m);if(A&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let P={kind:A[1],id:A[2],msg:A[3]??null,inline:[]};n.push(P),i=P;continue}if(o){o.push(m);continue}i&&/^E(?:\s|$)/.test(m)?i.inline.push(m):i&&m.trim()&&(i=null)}let d=new Set,p=[],b=new Set;for(let h of n){if(b.has(h.id))continue;b.add(h.id);let[m,..._]=h.id.split("::"),S=_.join("."),A=[S,`ERROR collecting ${h.id}`,`ERROR at setup of ${S}`,`ERROR at teardown of ${S}`].find(D=>D&&t.has(D)&&!d.has(D));A&&d.add(A);let{body:P,loc:F}=ac(A?t.get(A):h.inline,h.msg),N=_.length?_.join("::"):"(collection)";p.push({file:m,name:h.kind==="ERROR"?`${N} [error]`:N,loc:F,body:P,exact:!0})}for(let[h,m]of t){if(d.has(h))continue;let{body:_,loc:S}=ac(m,null);p.push({file:S?S.replace(/:\d+$/,""):null,name:h,loc:S,body:_,exact:!0})}if(p.length===0)for(let h of e){let m=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(h);m&&p.push({file:m[1],name:m[3]==="ERROR"?`${m[2]} [error]`:m[2],loc:null,body:[]})}return{failures:p,summary:r,reported:a,counted:p.length}}function Yk(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function Xk(e,t,n){let r=cc[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&Yk(o,s.map(p=>p.text).join(`
80
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},u={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},c=r.changedOnly&&o.length>Vk,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&c&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let b=p.kind==="legend"?"diff":p.kind;if(a[b]>=u[b]&&p.kind!=="legend"){l[b]+=1;continue}p.kind!=="legend"&&(a[b]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${It(d)}`),f}function Qk(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function e0(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function t0(e,t){let n=cc[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(u=>{let c=u.body.find(p=>p.kind==="msg")?.text??"",f=(r.get(c)??0)+1;r.set(c,f);let d=c===""||!s||f<=n.repeats;return{f:u,full:d,body:Xk(u,d,t).join(`
81
- `)}}),i=[],a,l=null;for(let u=0;u<o.length;u++){let c=o[u];c.f.file!==a&&(a=c.f.file,a&&i.push(a));let f=u;if(!c.full&&c.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==c.f.file||p.body!==c.body)break;f+=1}i.push(f>u?`\xD7 ${Qk(o.slice(u,f+1).map(p=>p.f.name))}`:e0(c.f)),u=f;let d=o[u+1];d&&d.f.file===c.f.file&&d.body===c.body||c.body&&(c.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(c.body),l=c.body))}for(let u of e.summary)(!u.minor||t==="normal")&&i.push(u.text);return`${i.join(`
78
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!G0.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
79
+ `:""}`}var G0,W0,pu=h(()=>{"use strict";G0=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,W0=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Pt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function mr(e){return J0.test(e)}function Q0(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function hr(e,t,n){return n===null?t:(t!==n&&!e.some(r=>r.kind==="frame"&&r.text===t)&&e.push({kind:"frame",text:t}),n)}function ro(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),p=d.trim();if(!p||Y0.test(d)||/^─+$/.test(p))continue;if(t(p)){o=!0,n.push({kind:"out",text:p.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:p});continue}let b=K0.exec(d)??V0.exec(d);if(b){s=-1;let m=Q0(b[1]);mr(m)||(r=hr(n,`${m}:${b[2]}${b[3]?`:${b[3]}`:""}`,r));continue}let g=q0.exec(d);if(g){s=-1,n.push({kind:"code",text:p,num:Number(g[2]),pointed:g[1]===">"});continue}if(X0.test(p)){s=n.length,n.push({kind:"legend",text:p});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:p})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??d,d))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function Y(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function ek(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=Pt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(Y(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(Y(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=ro(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(m=>m.trim())&&a();let d=u[1],p=/^(\S+) \[ \S+ \]$/.exec(d),b=d.split(" > "),g=p?{file:p[1],name:"(suite)",loc:null,body:[]}:b.length>1?{file:b[0],name:b.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};p||(s+=1),r.push(g),o.push(g);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function tk(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=Pt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(Y(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(Y(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=ro(l);a.body=f,a.loc=d,r.push(a),a.name!=="Test suite failed to run"&&(o+=1)}}a=null,l=[]};for(let u of e){let f=/^(?:FAIL|PASS)\s+(\S+)/.exec(u);if(f){c(),i=f[1];continue}if(/^(?:Summary of all failing tests|Test Suites:|Tests:|Snapshots:|Time:|Ran all test suites)/.test(u)){c();continue}let d=/^\s{2}● (.+)$/.exec(u);if(d){c(),d[1].trim()!=="Console"&&(a={file:i,name:d[1].trim(),loc:null,body:[]});continue}a&&l.push(u)}return c(),{failures:r,summary:n,reported:t,counted:o}}function ku(e,t,n,r,s){let o=[],i=new Map,a=null;for(let l=t;l<n;l++){let c=e[l],u=/^\s{2}\d+\) (.+)$/.exec(c);if(u){let{name:f,used:d}=r(u[1],e.slice(l+1,Math.min(n,l+8)));l+=d,a=i.get(f)??null,a||(a=[],i.set(f,a),o.push({file:null,name:f,loc:null,body:[]}));continue}/^\s+Retry #\d+ ─*/.test(c)||a&&a.push(c)}for(let l of o){let{body:c,loc:u}=ro(i.get(l.name),s);l.body=c,l.loc=u}return o}function nk(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>Y(o.replace(/ \(\S+\)\s*$/,""))),s=ku(e,t+1,e.length,(o,i)=>{let a=[o.trim()],l=0;for(;!a[a.length-1].endsWith(":")&&l<i.length&&i[l].trim();)a.push(i[l].trim()),l+=1;return a[a.length-1].endsWith(":")?{name:a.join(" \u203A ").replace(/:$/,""),used:l}:{name:o.trim(),used:0}});return{failures:s,summary:r,reported:n,counted:s.length}}function rk(e){let t=e.findIndex(a=>a.length<=2e3&&/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=Pt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>Y(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=ku(e,t,r,a=>({name:a.replace(/\s*─+\s*$/,"").trim(),used:0}),a=>/^attachment #\d+:/.test(a));return{failures:i,summary:o,reported:s,counted:i.length}}function sk(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Pt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(Y(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(Y(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(Y(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let p=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(p){l=!0,i.loc??=`${p[2]}:${p[3]}:${p[4]}`,p[1]&&i.body.push({kind:"msg",text:p[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let b=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);b&&!mr(b[1])&&(i.loc=hr(i.body,`${b[1]}:${b[2]}:${b[3]}`,i.loc));continue}i.body.push(l?{kind:"msg",text:f}:{kind:"out",text:f})}}}return{failures:r,summary:n,reported:t,counted:r.length}}function ok(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(Y(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(Y(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(Y(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){mr(u[1])||(a.loc=hr(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function hu(e,t){let n=[],r=null,s=!1,o=-1;for(let l of e){let c=l.trimEnd(),u=c.trim();if(/^-{3,} Captured .+ -{3,}$/.test(u)){s=!0;continue}if(s){u&&n.push({kind:"out",text:c});continue}if(/^E(?:\s|$)/.test(c)){c.slice(1).trim()&&n.push({kind:"msg",text:c});continue}let f=/^(\S+?\.py):(\d+):(?: (.*))?$/.exec(c);if(f){if(mr(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=hr(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function gu(e,t){return t.push(Y(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Pt([e],/(\d+) failed/)??0)+(Pt([e],/(\d+) errors?\b/)??0)}function ik(e){if(!e.some(g=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(g)||mu.test(g)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,c=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,u=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let g=e.length-1;g>=0&&f<0;g--){let m=/^={3,} (.+?) ={3,}$/.exec(e[g]);m&&!u.test(m[1])&&c.test(m[1])&&(f=g)}if(f<0){for(let g=e.length-1;g>=0;g--)if(e[g].trim()){l.test(e[g].trim())&&(f=g);break}}for(let[g,m]of e.entries()){let _=/^={3,} (.+?) ={3,}$/.exec(m);if(_){s=_[1],o=null,i=null,g===f&&(a=gu(s,r));continue}if(g===f&&l.test(m.trim())){a=gu(m.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(m)){r.push(Y(m.replace(/^!+ | !+$/g,"")));continue}let x=/^_{3,} (.+?) _{3,}$/.exec(m);if(x&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(x[1],o);continue}let $=mu.exec(m);if($&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let I={kind:$[1],id:$[2],msg:$[3]??null,inline:[]};n.push(I),i=I;continue}if(o){o.push(m);continue}i&&/^E(?:\s|$)/.test(m)?i.inline.push(m):i&&m.trim()&&(i=null)}let d=new Set,p=[],b=new Set;for(let g of n){if(b.has(g.id))continue;b.add(g.id);let[m,..._]=g.id.split("::"),x=_.join("."),$=[x,`ERROR collecting ${g.id}`,`ERROR at setup of ${x}`,`ERROR at teardown of ${x}`].find(F=>F&&t.has(F)&&!d.has(F));$&&d.add($);let{body:I,loc:D}=hu($?t.get($):g.inline,g.msg),L=_.length?_.join("::"):"(collection)";p.push({file:m,name:g.kind==="ERROR"?`${L} [error]`:L,loc:D,body:I,exact:!0})}for(let[g,m]of t){if(d.has(g))continue;let{body:_,loc:x}=hu(m,null);p.push({file:x?x.replace(/:\d+$/,""):null,name:g,loc:x,body:_,exact:!0})}if(p.length===0)for(let g of e){let m=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(g);m&&p.push({file:m[1],name:m[3]==="ERROR"?`${m[2]} [error]`:m[2],loc:null,body:[]})}return{failures:p,summary:r,reported:a,counted:p.length}}function ck(e,t){return e.length===0?!1:e.every(n=>{let r=n.text.trim();if(!/^[-+]/.test(r))return!1;let s=r.slice(1).trim().replace(/,$/,"");return s.length>0&&t.includes(s)})}function uk(e,t,n){let r=bu[n],s=e.body.filter(p=>p.kind==="msg");if(!t)return[...e.body.filter(p=>p.kind==="source"),...s.slice(0,1)].map(p=>` ${p.text}`);let o=e.body.filter(p=>p.kind==="diff"),i=r.trimDiff&&ck(o,s.map(p=>p.text).join(`
80
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>ak,f=[];for(let p of e.body){if((p.kind==="diff"||p.kind==="legend")&&i)continue;if(p.kind==="diff"&&u&&!/^[-+]/.test(p.text.trim())){l.diff+=1;continue}let b=p.kind==="legend"?"diff":p.kind;if(a[b]>=c[b]&&p.kind!=="legend"){l[b]+=1;continue}p.kind!=="legend"&&(a[b]+=1),f.push(p.kind==="frame"?` at ${p.text}`:` ${p.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${Ot(d)}`),f}function fk(e){let t=e[0];for(let r of e)for(;!r.startsWith(t);)t=t.slice(0,-1);t=t.slice(0,Math.max(...["_",":",".","/"," ","\u203A","-","[","("].map(r=>t.lastIndexOf(r)))+1);let n=e.map(r=>r.slice(t.length));return t.length>=3&&n.every(r=>r.length>0&&!/[{},\s]/.test(r))?`${t}{${n.join(",")}}`:e.join(", ")}function dk(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function pk(e,t){let n=bu[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(p=>p.kind==="msg")?.text??"",f=(r.get(u)??0)+1;r.set(u,f);let d=u===""||!s||f<=n.repeats;return{f:c,full:d,body:uk(c,d,t).join(`
81
+ `)}}),i=[],a,l=null;for(let c=0;c<o.length;c++){let u=o[c];u.f.file!==a&&(a=u.f.file,a&&i.push(a));let f=c;if(!u.full&&u.f.loc===null)for(;f+1<o.length;){let p=o[f+1];if(p.full||p.f.loc!==null||p.f.file!==u.f.file||p.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${fk(o.slice(c,f+1).map(p=>p.f.name))}`:dk(u.f)),c=f;let d=o[c+1];d&&d.f.file===u.f.file&&d.body===u.body||u.body&&(u.body===l&&t!=="normal"?i.push(" \u2191 same error"):(i.push(u.body),l=u.body))}for(let c of e.summary)(!c.minor||t==="normal")&&i.push(c.text);return`${i.join(`
82
82
  `)}
83
- `}function dc(e,t="normal"){let n=_e(e).split(`
84
- `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of qk){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:t0(s,t)}return null}var uc,cc,Dk,Mk,Lk,Fk,jk,Hk,ic,Vk,qk,pc=g(()=>{"use strict";fn();js();uc=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,cc={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Dk=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Mk=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Lk=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,Fk=/^\s*(>)?\s*(\d+)\s*\|/,jk=/^\s*\|\s*[\^~]+\s*$/,Hk=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;ic=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Vk=12,qk=[Wk,Jk,Kk,Uk,zk,Zk,Gk]});import{createCipheriv as $R,createDecipheriv as n0,hkdfSync as r0,randomBytes as RR}from"node:crypto";function i0(e){return Buffer.from(r0("sha256",Buffer.from(e,"utf8"),s0,o0,32))}function gr(e,t){let n=i0(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=n0("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var s0,o0,oo=g(()=>{"use strict";s0=Buffer.from("tokmizer-bundle-enc-v1"),o0=Buffer.from("rules-bundle")});import{createRequire as a0}from"node:module";function u0(){let e="0.9.72";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=l0(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function mc(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var l0,hn,yr=g(()=>{"use strict";l0=a0(import.meta.url);hn=u0()});var hc,gc=g(()=>{"use strict";hc=`-----BEGIN PUBLIC KEY-----
83
+ `}function _u(e,t="normal"){let n=we(e).split(`
84
+ `).map(r=>{let s=r.endsWith("\r")?r.slice(0,-1):r;return s.includes("\r")?s.slice(s.lastIndexOf("\r")+1):s});for(let r of lk){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:pk(s,t)}return null}var yu,bu,J0,K0,V0,q0,Y0,X0,mu,ak,lk,wu=h(()=>{"use strict";cn();Fs();yu=/^(?:(?:npx|bunx|pnpm(?:\s+(?:exec|dlx))?|yarn(?:\s+exec)?|uv\s+run|poetry\s+run|pipenv\s+run|hatch\s+run|python3?\s+-m)\s+)?(?:\S*\/)?(?:vitest|jest|mocha|pytest|py\.test|playwright\s+test)(?:\s|$)|^(?:npm|pnpm|yarn|bun)\s+(?:run\s+)?(?:test|t)(?:[:-]\S+)?(?:\s|$)|^cargo\s+test(?:\s|$)|^go\s+test(?:\s|$)/,bu={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},J0=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,K0=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,V0=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,q0=/^\s*(>)?\s*(\d+)\s*\|/,Y0=/^\s*\|\s*[\^~]+\s*$/,X0=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;mu=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;ak=12,lk=[sk,ok,ik,tk,ek,nk,rk]});import{createCipheriv as ZR,createDecipheriv as mk,hkdfSync as hk,randomBytes as GR}from"node:crypto";function bk(e){return Buffer.from(hk("sha256",Buffer.from(e,"utf8"),gk,yk,32))}function gr(e,t){let n=bk(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=mk("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var gk,yk,so=h(()=>{"use strict";gk=Buffer.from("tokmizer-bundle-enc-v1"),yk=Buffer.from("rules-bundle")});import{createRequire as kk}from"node:module";function wk(){let e="1.0.1";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=_k(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function xu(e,t){if(!e||!t)return!1;let n=e.split(".").map(s=>parseInt(s,10)),r=t.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let o=n[s]??0,i=r[s]??0;if(Number.isNaN(o)||Number.isNaN(i))return!1;if(o<i)return!0;if(o>i)return!1}return!1}var _k,pn,yr=h(()=>{"use strict";_k=kk(import.meta.url);pn=wk()});var Su,Eu=h(()=>{"use strict";Su=`-----BEGIN PUBLIC KEY-----
85
85
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
86
86
  -----END PUBLIC KEY-----
87
- `});import{existsSync as c0,mkdirSync as NR,rmSync as DR,writeFileSync as MR}from"node:fs";import{join as yc}from"node:path";function p0(){return yc(v(),"network-off")}function m0(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&f0.has(e.trim().toLowerCase())}function gn(){return m0()?!1:!c0(p0())}function bc(){return yc(v(),d0)}var f0,d0,jR,yn=g(()=>{"use strict";H();f0=new Set(["0","off","false","no"]),d0="network-notice-shown",jR=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
88
- `)});function kc(){return hc.replace(/\\n/g,`
89
- `)}var GR,WR,io=g(()=>{"use strict";yr();gc();yn();GR=300*1e3,WR=120*1e3});import{chmodSync as VR,readFileSync as h0,writeFileSync as qR,mkdirSync as YR,renameSync as XR}from"node:fs";import{join as g0}from"node:path";function b0(){return g0(v(),"bundle-cache.json")}function _c(){try{let e=h0(b0(),"utf8"),t=y0.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var y0,wc=g(()=>{"use strict";Rt();H();y0=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1"),fetchedAt:k.number().int().nonnegative()})});import{createPublicKey as _0,verify as w0}from"node:crypto";function S0(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:x0}function E0(e,t){let n=kc();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=_0({key:n,format:"pem"});if(!w0(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(gr(e.payload,t))}function v0(e,t){let n=E0(e,t),r=ao.parse(n);if(Date.now()-r.signedAt>S0())throw new Error("tkr-daemon: rules bundle is stale");return lo(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function lo(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Ot(r,n.values(),o?new Set(o):null,n)}}async function xc(){try{let e=_c();if(!e)return null;let t=await Ue();return t?.signingSecret?v0(e,t.signingSecret):null}catch{return null}}var ao,dA,x0,uo=g(()=>{"use strict";Rt();cn();sr();Gt();io();oo();wc();ao=k.object({bundleVersion:k.number().int().nonnegative(),signedAt:k.number().int(),filters:k.array(je)}),dA=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1")}),x0=10080*60*1e3});function Sc(){let e="NnjAHOHBxO45LQIsqHfPl32IfeDXJmRuw2c0j2w_MXMlsCrOj5JYnj_TnWFFxU2Shde2DxYlxAtqYK7bNOy8ASRKeAHiJlTzArBO2Y1vtDWESltvkYB5TGd0pDftHpDyXUSsWHpu9pEoqrGmV7uJFrT2B8L0ajWe_poJE5xEKg6N5qaLnwpaCVyo72IIEGnPPiDIYEXrHXK4WOAWxQ-CzV3dM6Z28FrjKMVEjdspEs7hw01WRfA-4WTkH_-YD5IDXQ2Yj9ifuvCcEXdbirK9eIIsUHf-_mxz9Wz0WpHQl1xI8HunGWEgk4J51BNp5UwLNcJwtp4_G8lMmoRc6cb44Xshkrw9UfWM1owhEhcZ8sKNaHaMURv2mVGzOJ5KDZVwWmtMacvmmdRAh8t--_TJaGbokzH6FhQIOIP-LgOqPIG1YrDCt6ahQA8_Eu_3BVJiJKlU3q-dUmuECw6w9rd3Y_F4ZAdZJOjiXZR57PlFxQ9QiinklmqldlDcvXHP_jVjGtX7c-eez3jEquOT605XS7YcL0DPCMTLemsQ3ZnQXoSlKYsrSXE1mIrern6sIdVIuEwLyfSGEbz6vxEAc4ASzXaLAYOMy3t1Ojp4bSn73bEiOPTPugOdAhpusn-HhN9EiWx9A1jJckZeiRi6EkY1CzANHh8Zr3afTSYEV8rfuro3gCLgrHpEsUl5mB8g62E0WgRm0pIlygTwAnpdSrdhe41Yjrdl5TyUTJ-PGE-cHsQ8xb2Lcghua1akNfWO-WQBlMPDvEqagSxFgX5ixCf75AkkVw7T2E8H_QsTo0KdXw0LZK0OldrquzUJI5QMvlw34D_HTsKeI_Va-w1qKbvEnKLU2pvwfKY3EnvJvv2xNCn0nCz4QAAJ6GsFV1zckoiqJDf9p5tL4F7yPK-5e8TTQ3dIqWE_2tmXDrt9xV7nXElHZ5EVg2vagNpevX8uZ_yXXb8YkfGRmVKyhwyJsX-r2tuwgO2d8R5wMdMnZDCV80drk-r41fUehqwhnU1kRMdifegD1VnvrlsUIeyCfPBB7HYKKyFY3_eqoANPWBEHmx4j1hor_CNV4v5-hFM8NHnyfEBtPeoXp3RxBMnyvgmz0nzbSZlcTf1IJ6qA_uqX8TxxYKzC1Mh7jsF8uTsQf_OEUW-iULXjgm8gNqIPrqR2EsoZ8LpFP-I7XjmA2D9CUjTdZRNwd5nNxUSHkvHwGS9-OE-8z7LmHAsXzk504KBKJb1vQ2ywEbCCTOui3aHaR2BDWnfhj9-EMrvsluDOYRm1PvhNF8NMUjsR5PWwKKYEsHQiYV1doTb1jpe2VutPYHmW_OYXXrkWElsHdwUJbnUrbjt9xhfKVwSZhEn0nRI6oHAEg_mVAdrE_kwy7ESdQdrkwDr4Nqz36hZZl3VXSLtCnC-GPSbhsOHl9Bl-69tby8w4GiCdyACLoFKr210P43Dmg1oHIR0uYZhenpMYKM7CMBssM3Wnudnk1QyoTSGgUA-cfLAhHFL_rJGdr7MJf60lyfuc92fuP3A1V7DPm7GiRkskPdouiTfUT-T04T0zeL-yLb5oxiFozjWKm3LwuSJ4TxhVycNY09DgB5-gpfRHnIA4250Q-zmjl3EBQDwDTFYcmnW3jrffN4ZKPwQdW8Ey7LTRP9ZRk4GD0kHb_TcQ5GcLg3jUcFzWowCy-HPifxXIADSRdhoAVvvUXSHfH8QmAu7kRI4E3Kkn2EaejO6L5purwcfeLzxy5jTTh3oVHwl5B8iS-bwj6p2dSiYH0_gEUp5Lbo-XAIVQqRQmNHyi0PdGfWGtaqVL8N9jzA8yJ3GFzyVnvT9ctOwUnLAAzxgEwkIY-qctCQuw_W-VcWjCV-64vEU0kN3VGH_P4-pU9b-hsWaKGnBdZGd-wA4-yXt6Gz7qNofyaKJY0zvaVl0IYFTp8UmyD8KEVuffFYLcucIWx7HTJmAEK7NA0AMi87YSNaS3CU0lC4YAksRrjCf9kQJ5A3PoOcu8_MlPZqivbtZxqkgqrOV0R81d9y-g1yPErKO5JmUyu7xjEK6PmO20WNluwt7MN3NHvVxxNRH-blVwulv_LZt1SPTI5TNfW2q8OUCtl8tCmhFW-qMfMgciZV3wNG0Tvq1FL7gyqSE-hZk2tWlozxFWSUDPeVS8UhZAdSI5WDB_klPyH0W8_VRVe6OkHbiMqOeoqvRltgNkAA3jxVF6NzFKzD7h7FOb2y0w9HHHg_jvDzatYgkivgtNlZuIPKtLmuQJt-_YTqSVE1T4FrsnXG4knmyzvHCrK4Yl0aZCciyU-3EJz2kyaG2RitJ61eTK2wUcwiK1o7zDV6jlnG4-a4MOT__eOPdyBQSjqXgaDX9yq2IbvPOZ_PdJq2OLu9HUTEIRnEj-t4pcdxmRvgZOdYDm5XYeT5GfZKqI9UjDgKzyi6P0STuVj2JJNWOhDv19WiDOBBe2nnbcdlkj9h7XHcD2szWybYl8DoQN5U93sf43crD3tACVXR-Kz4xBHPjZL1hb00DoP7BVnyEJALcZ0Nce17ZZAwegiC1WTp_VPcaDag9gZZhVCf2QxGy1mrogb3DLulo7o2QehdnZ74rwaTzNdrcIOySw4xp2MiRNWX9qnZQNeFxGr-2pCJq0cCk0it7NBcwAyHhJJ7Pb7umA4dRBvHhusOA84g3fuWHnq8aSjk5NcaiYoNoPebUkDYCNuC6obh0wcZJPb6YE6B0MMjxejQVgaeARXFik6WtnJ0pFuhj-wJEifb-43txymj8UAH76Intp3NjWby9w8pmf_H3zyhXLEHbf0EtHdUpv4hm94dyK9eDJz73TadYeQ-wPbzJsvPH6bSkSrA7r_iAnehp5eUQDIJR4F7HNM0Yj8Otcq6BOrB-Miv_8axImzFUOy0mdkTJsdJhx332W2aggVsBvgupmUSP0gcZKB6DERiUqze0FbTyoX_IQckoS-L8zpHelUbnXj_D37QlvfvQA3QKn8wPCn7i0I9OQbA_uRbMPIRjFwKSxNPA1yqGo4TCHduxqgKuCGeP8SFlVBzvMPC55_QCnGh5P31Su4O4xOxjjZEarqlBB5SJJ8tozfUyE-vBF0Z9Uz9NjNZPQ9efqLIDADRRxjYVh1Yg8fr_SK9S4qfD2BMYwsVjjZQUSiNficF5D4yXGVoFvNytuqEzceqmfkRuGjr4xsyIuKZcqj78kdmVV1hfhYxyB64z_QY7euyKVssippn8is1wNEuXiOTXuD_b_sZfwF5aF1UiAkITa0dTUXTSQ0cOqjj59axgyv9_6kYDMS2SX2De-PljC7CGV0BIbt6sYMVNlDoN4Y7kLNL9NMXIEK0kEXmpM6BEicdd_3-KbD1GnkYpPt0y8gRrBggOhWNbEZ62qCXIoG8nEYrlacI-G-CThURHxbV3Yez2M2QS1pxbPiaPo_2GCbEhq_gGaCsI_Mx9eNZuXPpqJ4EoFBWrf1V1ftuBGguKbRL3k3K4_eCxsUS4pr-Gq6r3uvR6yi8xBSprtHESBl9TNzrssTht2jikQ3LUx0iscC3Su6IObxAewkPQI8c6KvuuH-NmSckrOq6ihdpA2XLyiX_305OAGyPL3_p_i2emKOBMvTs1WFXc6I9jOsU6Vcw3Ne5-ojhxDpio64XDmjQM4X2PyHieLzBBUMGJbGJAet_7Ye-ApoPaaOoBw-xR9tyV1HJlkWi2985SA2YkWnhiCLq58gnlPRkWe0PuT9GDJZbFuU7ObprrjCQvJF3wY9T6f2nvoc4namip1MDOzA3N8Uh_vx7rOIl3Oi27FyKix0Gy02PzlaWVszIA1-OiZXKwQQSwrqREvR5nbXCF_qdSJGDotr4CP_CFKiEJ8-NYTUpCy5KYbOsWmeopjGssLNdzNrv2wqnyP3ObJb0WXQcb6YYYYeJSw9DDZ1nD0cGILLLXBIm53gNQdRjBBCJyDNYR-e_fSn1mhWndeKuprpdjnx3QRHqwDStu_njFEwUfDJ82W2p7r8rjv9hqnJMeaoNZ4Ex1DYwBcQxcTZL8XxkpNcSXSw0GYG_Z6bmxc2pDGRvQwvNTbacb9bKq7tlrGAYMk78NIRQr6hRfl0BNcIYqej4TOpFOfpVnqQgxrW8FiqZ3ahYKIYcV8Ff8vvNimlP-DI_LU4n0M2BoJTvewg6-27f9TbDZhbxv5Aaq0gDhUStUKanuoAOxyw4IQ6xAuIZ6cFTQkjrrHQpi9dO0BrXlBJbBvOe_vNs8Ek7NnJH2F_O2xRBZXYOC9_F5MeLdpG386A-LXbf4gYG5F-ltZkR10MxPzhKeAi93FOEAeC3P4LpbcCvRZbgZymiE2SE2V05RnP1lwB8PaQDKWd_huWmuoG1Y2J_GuX-OQkBP8eQpNix5dxnrk4NthxggkvT79HOt2G5MEp_h8XvB5djOSjjYsB2-V4crbroedlf_cS2uQwawPiJ4ISLjaCxWOkOsT583c874NUKjUOyQPG588gM86xnRLCtxianl8NWukvw_TsOSZ5VANKQSlfW_uHP5yeHdfQEirMgqybJ29Xg7jl4D2HWP0SyxTuwIUPoVths5Xd5Sg937Mo_XnDh4-at2M8eWIcCSclbjdEiSHCcvVsYqYboNdHKZQY5mGWo7iLd5CCPqB4XAR0pPZ1ndgA0EtqRgvBSUWLOGBd_8o5FvArQk1qQnymk6NJfqvN1A6r5jsp8uEJEJ3VQ9uvJpIWPXVqyPhrJjk5Lh6P7Ac0gde2vaIu1K3JMRAXckUhAIJtW9K7JK3CsM2JMUgOWSpiXDwY2iHxaDWEOOt9I9A83Gqv2-dhQLFA3HlSym4jEtSki-a0yBmpj06HD3SYcLtwpvTif4EFSAFfvjvI_QLH3KdjeXP71s0ZU9ZAKJRAwSK-k6dkmV0UEbobWGzk3xuVyiOaTFwezAfiPA7B6o5ekSMjaGFgkkExd5L_RGBtVstaIxKRA_JNhrIXeg7rvbxbUkKGWDu9LSRQe6omfECxIJ3Xo2ATvs8OA2X4S9AzsI0OJqLPAwpDhFOTneWVIBtoktSHe9vhbRWzlj79ZZLVn9l2j9Pp6oOW-WN_vzTDu7klajR1FG_jAcre5bQNqimg48_WBAaox1cAOvqMwysdDTxT9qh27kJXADBXBcWvCw6qX75YhM9tAeIN54s0TudfxM6Q2BlcQq5K-Y1IYz2M3QUvLeRrze71AOV4TtVAgKqfbGC0JPWa0ypFsH_M4rdvYlQlHPgTVuVqvb34WHGFV5weop4mmMozwgA0qFuBoTOgGpPiCXhhpbt0s-iH0eKIqw-LoL_U8W7qFimEXZBR6Ny_xEbCKxhRZiCZ8oM_GUzFIpekbxk9jDzgps0V754b6zAjBqmu0teM-HlcMBGGNTYHouPMiwerJhvuIEozfl_qoS0fELCAReHF6EwH62jIm-LSee5uacGXHE3GbWVxW24ehD5ATABAMgqd1V-zAahPl8jjLRJ7h1SB4JmNlQhknbNvgJcUMDJ3mCmK-NiEQn6veDeCGCkspcJdnj6Va6p9vngZ5VOdW9dG-TaAm7RNkP5prM7OwGdQoop4sT6ntXMEhipsBiFqNTnZ1IbPQfYFKdaj9k2TPWGxgmlSNpmmoPo_qY8XW9xI1gZss_W62tNRRt5FNI_XbdNII9ZkEct0h35NFO6qv_-Oel7QmxqxBnqm26xUOZExmVrRwpkKQwGOjvEMQK5-LrakdTIzAqBMMWMcXo_uDvmnD6AFRK6YZsY5826_LEsN39_CfoyWEkYGAo3WQxWB_fkZoqGwDBlzn-wlex9U0YAdWRNVKKJr-ikt_CIRI2-1oRH3t0skWptHCsZkuZtkzCmW9EWnKiGNiYGCqg1KH3qIV8VYDZf65yhrpEWKFTtnKyYcOXE-KxYqumgt_50RBTEa50o_2MyE4VP2OVUNXkf4kyMn0UYoy_22IF7RHTs7p_DPCRGFkRKcNjHr9YZ_AVgCD9MgjkOYyTTcfPOMS4iPhMuwK4sIKJsCMrE8ePHumAaRf-u1cG9HepqZ22kZJqwPwZp1NCT--yTQLXLFqmqPFT64f8dsh2pphB-6amE-7MmkQzHre4pE1TT2rbpt0wOu9HESXghKdwcNZgW179AXm_tCgcJv_1eABvUU1x78TuATdvhWO90DAZJaafhxTzDBU1mmXScprGYgmDteG1Dl0ZVus0qqHF_Yw_bWlp7vmlTQhgdHt6b0LVqmY7N_ZZ6CefaePXWv7LoNyL0QjMhHTU0MqD6fVXoQ64iHl7Oiob_3T0bhTAefoaBYYUCfHFRIH_iAPqFSFpAHQfBgz8a18aJ9hzAJPBE_X-_8tnuncy2-0ZbYTTvCm6cwT1L1TSPo3EE9oP2na0ydW9GCUREQB7tBnghEXZGVRomGqHbWbhB52RkIIfcnLy_k2-qgdsWnjnfBSwiSNcgeW9MYvz7pdPxy9UrXgoH5cQ34ID4k58nz9SsIskD0FbgeM__F2ZQyaSzEflaqcxmH5sANyYM1rzbpmhhBsmG5kK8-BNHTlFV_9oWbUCPFN7_VLXHThBep9iE0dDDGOOUGGS4kgNvxeXA1MkI9c9LA_biSfP0yUZZByq45QfrlMBbFfDrDkLHAXIBkXMaCFiVZ0-5C1QhDiDSPAYKdDI40d5o7wFdDUzX79nFgxA0i306UUrWIBePXFrD0XTlwQrG0JTXqksuWOhN_vaMVq0rJv2CFD-j17syWnVftxNjyAVdOCicd_5ribqenvPZsq_6e5DSDj5g7CHmeXF2PlzuZjNrIX5CiEViuQhKpCwGcbs_PBwnS0rx8F9E02pOzGpWXQPxAWwp_C5ap57V7xeCigRyoQyeM_JQaZaZZw9O6BGIDFrgczETFs0xoKYoi5-uGqOuVvlFtn-PpkV9tkobACEIO43pXHVXeFlI8FhnAe-W7zr2Ly_mj8gbyNzS422pdFhBV5KRV--ZNjOipcCeOYTXHY_Ry52h9nhkQHNebfRmCCk4oGw36VvPB0lrO6q2SrV0P7te_Z9KEG3DlkJF_fNXGYubzQiLsVazRFW2ELWxi_0pGMoBZ9BT8_4HenFeJrWwqYrw4kC5ab-jyxYvdTUUBSFQWIdW2GQuKFCJ3PRuJURV25yDQXlIKpp4nRhr8g5feJESo71HiSMimigX7P2nzUl0tcTwLTLuxiXt0QRKeId67BvKcbFFwVZgvN7K4-th5LGvAtC_hxfn35rD6WA3TNMHCVg8wipPzcX0y_wPa1gBaZXWaNHOygRBDFTk9Rx-J16Tu3TV7NtETg0SOmwWaI2gBW30wmWof3O6F6sFAgfRLcZyFYAOrME47o202T-GsYGZMUD10ck7HD3flRVvaxW9l3F3CxZzpWTznqCzX11gMaXk_6rcIhptTcAMSTN8dg5FPV-ULuPONtqKCYWu8U3ClUulJv2xIvfRWIbJYEgQxxcYUQY4FhZQ2lqzCan3Ts5A-e6hLUi8UGEwTg3St1Vih2BTouyo5tC7rduazmfDXyN9VG83ltOgQAS1iMKVKb_RE1p-AaBWqaNrMbuXdWqJ1Fyl4rzyfLBzpXyBjLMB1UZV4rAlYw0wVrX7QC0-bSCnYTQ8Ls3ddXQefPRRNthqMsJZVtZL22fVAo4aHW7j9OjFlLxz_DZd1cgU2W3duNvCOdbHKeEZZG73KsJ-ekHyczAceZg8sXEqerPAPK8tnzylrEFRcgNmO3G3M7Zd-nYPDUr_9iwF0PpCb3KyYGX9RPxPJjGc3lT5Z8iVmrqxaUYEzs8eG3GAdb87Nu5ChqUeW9CRWg-d1LNbggGPILljAbVlmvgu4jECWJ3bmVOVfKFfvQTadL20WYPvVyRcqmxlQamVb43HHPGidRPwxtZ6nY3BG-0hol-E6_xU-HU_u7lBm8CNhUK_WIYYZvrZv7tlUQZYqWVfMJXUdBKoOagLxZyfm50oV5jJlj7xz7hPx25Zvi8iFnj6K3FIaweI96S7-iL6N_Fmyh5C4S282nNB_6pMlgEe2tlGEH9i1InTljDOd2GmgsyocuWlkLJAB6jJq0KNWUzg5zLVPkuBLZf8piV24KAW-8t0epygWDCJFOJkajHrWxH01IEDij3auo_xqx6AMNadYSBHzPD5MYCO28WFTS0lvdM639s6CceOXv9ZFrZiJvGp2H9Ep3aIxYOVjP_VwXJLymChCVbhh7xNb6-cxOGlk3DU9R1seakYvDzNF7S6R-ilmkXQPKCB_0XtPXoXYNQd15nVab-3hdUBCaNrAv1KXo62BLUsyX-uwG2axnMJDMi8TygwuX05ldZ0Blol61hDQL8nnBTYbMPRBWU9lQWmtdx7Hzq7GK_V5Ay05GGz5ikwPJLfYxOT788DtZTyI2aLZ-r56JjI1sNl_Zu-ExS0hkA5CSiENrbdIjxY2Ea3jk4-yW0xTsAcNpmAdwzDHqmYu56lrmjMHh974j33s9VC2zTn8WryNdHdw5AwwRc1Cqdy_HjnnQomy1U1m4arqt0e120PbI-kvNpZyuMDmzD6Ann40Um7Xf3Ol8zlC0GB-8in7wTHR54RCKvqxVD7gtGm8JKB2IeiIixjn1eF-80X3qg4ivqFQJp1DhDS4U24c_t0oEoyklQ6SqG1ja8VjWIDiz-QdM7gmugSVauAtn449K5ucWufuoybpWCPGk3TDlW8ojVm4KrRlMRaJMSM9GiAsLl4Oc18NEHnRF-nwewLdyLMhvAuaSmwO9ZEWhq6b-oTziowtSA0Xs0mfcXPKVr9-VS-5wfwnipCEfhjqN9EMYbpQuWykB5FT67CvqfeLodJlPLeGEYlzSmW9caWjiWzk2MSNlzFsIRiSgs7aiuDH6pfXx-l8Meg98ByofOT6DpQ5gxx6DlLhPLvtfdDPMvF1v27wl_nBF0Pyx2AkZkazLzHU8Vh1NpMP6XaF_fnRTvQ0p2hyBU3bXFRb3iKE07RPVeP0ItPRI-Ws7xYoLCHYl_cXiFkOrnVa2JyEjA3etJIJd5Bg7Tl5ehxFDNJcOYPBTTKvYViPltOkjn9RYdSOd1SlYHhgZKBkEBluEE7Tns5iKmDHcNFQD3jJzfctif9dKg1ZcWKnuggO4ptIDWJ-FIARJzD4qVao2xF1RmxwTjyzO3gJAYxs8lA3dgUbAaCDmD2kixSfoe6QjCu59EneJhTv9R5Imsb_6ghZzZnaeqaTSY1ur3rzRmqf9uLwNvEK0DUQEEeKWX-eve6zdKWH7i-A6NQImusKzIBZwawWRzaV1s7tMFen0sOAK4nMcJdF_fSvBZv8cftmHRZL5zEjV9eE1XnJlBeT6ZFYJMaFybmA93TkkB9BxhGyKsiDZkCyJNMAfjTIozuzq0bvSvEr7n-bAfUbIGzed6qbfMedf7D-CiKYZliRyfI-nciMTQsRRi-BnLRxEinE_iqOjG1NyQMZW4ZodSr8-vQc6kHBBrZBCSXaaS-f_ZLCIjj2zDb69DYwCSjjzNLrL4yVrUHnV5-90maHb-wyBA4lg1MI3AGIt0dTvnL1uReiFY-YhfOzM-8hEcVmepZBhuVNjVwu6qjiwSI8WZlKymovaaPS-n6Nsv2WTedFm_ZL1AeQaTtwwrvKTrgTB8LOpdIa1dc_V0LKA4iWLvGFBG5AYhdHN_UIt28ZPtWanjgHBytx0wbr1NTbYOhyimFkgk2wIwxGJo2LN4ntdx35DXKDhEM9Cs0ToAiOsT0W7AVsxvc1XC7sPZwIEO_-ko-KKjTA4Ax_qYKsdNk4YRjUMEIqnOeWjIdh6TI1viyqB_N4drY2ayaUyRQnzBbswOlsI8Qrx5eV_eJPiuGXriOITIVubldLwqh9GnUqJWBmhuspgng0WHDGo9VcLIf93FWIbvEHPcsMaT8h6B95NF4lx8UCRYU3ZdGWrlHPxFZvrGukcsPCDaZotf-CkOID5a0_YRaZwLBe8nLxg99RrcrHtuZHV6IrBqe5rCdiLcxOI1RnlpzNm4mq7erb_UqRiPyrceswxSlTAKZ1sHrmAsQfVIcPoLQG5X_yERvHyjmvqRtoIVU7jM_fqKw1E7G9hs5Z39HTzkcXKxciOSUvGWipmNsja-6BlopUxmtd5vtBxKts5oYwc9yFMiq9ryAOCq2BXjOvbQaqXvza2Yevmaa3XvccYJKYt2qZpfCVsqNx_gOGt-cqtNspAQGO-XhqtnhdQO0QniICE_4K0LPjF2-L3BwalPqm2ZISYT4usbt0-u7w9-GwvoW8an4WZEjd0nNKglwCGMT-wNY5oxAwM9UO2XknSgE9KQi9wyIh_IMyuzoVE6ebWLBEEnvp18KoWnpqI-G9qfw-oH6HktQvvdn5TQwAkXyzkjLBUcoc4Zz9xS_Ge-f9xuryzlVcAqbk0veif4ZV5me5V3380UmQY1vF02ylT0YhM5POIfiXNsTl-VH5UFX8_6cfo7HnDXA43tQ_ArbwGS1gXtM_pgtxIjGjs6HyqcMWSYz2g8XGxY4f_iBN4X36p61y0MeBFK7v2bAXuk2vsHSgnAnhYYOgzFvQwXB4Zgr-G4F_sye8S8kjutwmL2sttD2KxWVxQKBvGi_Lcb-ikGgwDIA70jNmV2YAHSKsYuThY50ouEadQyvWwTplF6njaYM5accJXcHIclBRc6VY1vhwgk5954APN-sl8nq__P8G00Q1EPLmZ4vet8VAUi4xwua_Ue4gm00kN---_YsNYz1kpR77ym8Fn5GzEP_Em2luODZyyElqafuQJ2F6Dc2dUDwEoyEIiLGUGcHq1xRmfnzjD_4IdeHlULQHdNJmdXPDagug4Pg8EINb5lsC3ZS0jva766u7dsiQOwZD08JYS7krm6SXUAn7PvSg6d5mua1Y0ZASSmU9SuMAmqjU7ShLI3-uNJaEt3IVM8l0_pnQAwCh24X95lqQHRUSk65FdOaR95enwPrA60DXzWeQi5HoC63eVOC6iJaD3hzO4tUyrH-5ROUYXFxdP1eF46FwvQ7ESNH_CUfWG1-FI6vVxk4T5OJ4-oZgBDbM0UK2JNz-wd4XuVham0s28hbXv7gVH6Xf6K5_YTrZGAbJLyWOFydUsRDktzyEvDTX_1-1u84VpPrxOmSY-FcVKT7EEMOF-5XbVBfpuIEabxXRMS0p_Ejru_PM_XnFg-nw6W3th6RHkw2jdPhVJ98gCXqB7ssL9yzEnC7_xJmoMuGZ8Sr-agBe6g2u8eRTN3sRewO23Ckt_hra_Rd3XZgGIDRFs7VBDmBbFlHCPSH1Ngl_oJSyWelFhWiTgaUzilvNh0wK_MV4iTBIDAyRLsfF4ovX1IrR1157wAZFjw2nBWRTgwecVn1Qz-fQyRq1RjQCQi0beQFEkGiu8HyqHAEuzRsXDF5HXibdnD1EaGgpS0Uv6jxaaEPo7x_ZWcGUjgCtxNxOI-LWxxWkXdOWLTVvIXkxsNlXyaUF39L1ZYR4cc253zBm7CSHcYlYXwyMzwlELgo3SrCsUJsi1PiOvQyslc7L46xHUlS3nGvbKpwaVim7294QJdJcZD9O7sZo8qjC6UrpSP4SAvkbsSv5aYI5CWhwtBkUi1hVXwBjgC-xCoTCsz2b5HF3A_bStyQdjVe0XcHwctivIEHjyolMUSkUPcDFc80cmLSg7snKSo5r_FwWuhfRNoyKOcrmVm30SS9bt1S_PAPPi_HEEALntlgawiGMzRXAiRGibSQFDKJsnsI6T52zrQOue28GzXkucLekBPXYddJpon3tlQX1J2sIgONl72uxLcBOFeSKtUJnMASNdYjvSToPq_UOtcwkabuaQ19wXr4HX-uL8KdnsEZjZ4ot76FNkL9XzBf6t3oyMMxX3GreYbbyT2TH_q7Zq-gdaeMWhHFHz6kNoCnob9Day4tN3orRsgx4RXGT0eqD7GVeUmJhF5VCzFvs_IQjpk5wM0w0AA9DBEVI4QUZ_QiQ4Z517ghFobY0a2TWZ2wgccKXMfS0CQdq4yo1ghUVwdz1xxxIkYwEFblqCxjxvD3EEgB2hEOqsYWLVGJpPVrIXE2KBOK03IbzRA16xftPAHnQTcMA47BtFVO2HZgyZbeHwFRD-ccCkxxOO_tNU16qQMUlhMQPUsq44dO15YOOo2PozBNxQY_J5iRHoYtvQHTxgyrBhdwZzWYfKEx1oOfgMlFipVEVMfRZomaKzxVxE-3bibWjttcCgNRNr7fq0z87axxKq5CzmSeJk2gU8I6mf9HhZZ6s4Naq3RWFMBwKu_PjN_ZUGWkL2QRJO_J0437ZeSSrNEHdcrgygIBKV8N1oC33Ic0CKjKIvEFGavooJKr3Ff7p28OhFbp5p0GbntTSr4G_O8pooE7MfFhRbrpepMvEo_uUFIuH6E5Uz95DkHHXiVd-iK4ms7oIJ_Uqid3b8Po18UZG3qepu9mdgbm1Pi2pSu1IJhLPS6qo1Kg0hZIPZtKCJrmG4v8RN_0gwGn_kNEcGS3-p_OjGL9_EpMrMmrmzn451A0-GMld-Q9CDXDFdz4exg0gbDo3gVGePasD5snHd9U-4yvjd6p82ND9avBTPEQQUffFBgP5wzTZICS2Wwki3c4oEkp-8E414aDocpksdd_AbkY89Z1p1Qg-DpcvYcPTksBfOi9PkECzxzgTIxbQ7f5PCJLSPgtWODjOtD1Aokilnrnf81AH512WtJU9UVKWhj23hI4Il7eDtAgDE8GnAGeDnQ3uw5bhyF2ahz2aqArc_2-dx7Nuut252H-GSOrwH5t6Q09o0Yy-gge95ZBNmaugwAQdTJG6Dynl3gyMTg-ZPXpYHY9fDqZOe1G5TE-qjM6gSmfCVhrsrhmB5VJlAm8HXl-s7QONWxvGwGKpzWYszg-NKWo9-Oe4JXbP6S8eGo2D3_NBgORNQt1tlXt3IQp7jfgbSiVbRYmIxbMCrQwdLJ8UCO6JpwOqt06VoW8iF2Caa9pbjiePeKFOIDZA9Q-Q6wDI_oZirXB1n_eIQ9vvL4oStOBbRbTjJdOZIMc2bslxTaII_clkhiMxYBX8CCx2Gi_c88oogRnyyTBpSz1iL42UiTzwAMxFg1MLXJuu2GKIaayGfGA1bRJL07r7D-SgJjdpMeJ-mT7y1WGcIZtWTgyJBPKMET7K8OpOfBmisM6gRVbFEdDb4EP0yyUhTTxcXigKyD6tinxl8sUyjku14o1VdwfR4Zn8NTeaEN7oAllhYhNjZPfqBk4mHs66mDoBwIYqVt5NFg65geSX2Fs6FotYzyWqgcJeQY2lljW0XhPMfpiybP6xdcmDMCLR527hnnXF78Oc3J4qzI1VlS0BtSq8NQeOdNrLG6x8m06A_OUZxBzpr4yERXtLHA3hV6ot6DgwJ4QSQEa9fleCWkVCkqzE4-HNf20VyUYYUee2i_ggTCYm0BA16eWazaXsprMHtsiDWd_PoqYlroaTIQe4I31XsQu1FGSthPCgJiJjyhBmFD0O8MRC09fzA4XBGitH686GaD3aRZ-AK-Cu8yXY2pkClsudRdiKt5mv8FTenKylRl211ToGBo4O4lDKXIWN7ReSk0HmsWKVNZyPWn-zwy8rJjmnODXLKTBsLvk0nJYnQZIUkz-M1z0TvvGZpYdfbhL5phJ8DVTf-cm-1AQlxeQrFkIo0xYxBv2i_aqyFc6ippkdQ7cCQIiF6iaD1wg0MDGBkPtRPdvHufFyWj0S91ArbuAmeo9d3Vjo434kzJgr_stV_c1BuujbFxOVBL1kvvvZ7hSOtuhT_fwxtSmFWCWSFmHjO-YjHQnUjpnxQ5bwsPwr9_LN3JreM3UvrluUgYPpdXAdZ4fgpI0AmUlZc0W31LOr3QiI_Ry_mf2xuHXxxAiPSw6FJN6InC9nICixRvnfkqMSL0QAlXiBBhSkvOGQR60gf44qrlwhpA9O-jZyR61pLBh1nZiJ59GyOk5_IOpDciM8bRKJsaKFD9ewsBZA-WTI_yFsFf1go6EPYBerapJ3xS5T5YOsmrieMyqq6puIfA1M-2sVArzIX5-HRrXkFmmOeOY_cp85g4Ry43CpBnqgPjNsC8iwRlSep-6O0y4YQAIw-d13SxRcbtAS3_AhDF7LrDF4tj0EzWTZxC2u6SrAjMOY-BDQgEjmgRa5R1dhuFxy3tlYUQSjruuuNGjN8QvF_510zuCGqljc0TP6u6VNbW7szrSPNAP3qjRdtwgB14G-5dwZxEnkempOJrIrsa5SR8CdP89811eWMfkb8FMRT98W8BdXeM7eQ4pWAIqtdhD1NThuFriWvpyHuPi-rrfTr90Ve0Tp2Gi7dSOrejhYi8v_O9xL16iCUq_CugoQ1WaqI5yB7ILheLnE_NcvU9HkeUOtqKwjIarRmTHKuSBoMTNT7GnyRK-SH5p-G3OWdCnT0Kx8XeNp2FYubUjsPtaB8Hu1HZEJdCG-2Hg2_c2LkAxR0CyAgnZXrPPIfs3Hw5GVURjiDZOOPKeEx2cdMHWNrzIOZmClSPaALGfzZIgCsVFlbeSSFaZBAMjefudUzGb8x97TfWjXc9b9_5E-CYxkQ5HlFSGoo8or4NLOqP_1ESZ8iJegw69SiVD6mvwV-zHbqRYCtSLcJGcUf1KpQhrwUVU9G2LQpk67wPE1bHTJCetzVxayFgbanrTw5k_IDDJbI5R4N1krzzuCLc_SHBLf-5--mU8uQFOrU1MpJuw0XAdVV9qE4gBBfwaHI9F9fditkTrGQ8V0h9qfk9XDODB5Ka9pgkzsXlfHZvpbzsRRZc6DJnpDnv36saQOnpEz1dnBH17Gx0lKqvxnIrgxOsPcBC0QOjaTwr7JL4zSlXQElRmiDAWrkCwc3g0zca0YRIqllgD3K9N-7c5Se7loXKhR9MadrlfhxXndgYZp4RW5FL1fqYCqyqZypqA_JgYaIG0MinD2xfwTzFy_Xj28HU-D57aMYQ8UD28X0DkZ071wmSDLFMZN4ihHpqvhLd5Mky2xjMAuQSlvIYcd5sQKpdsgZfYSCfg6T_7t1B8vvbQQMP5XMff5f54JaIfwqcVy8RGLhUa3neTQLfYV7521wbpaPwYo9df2MQ0EY8zktrfjFyLXHJJ5OSc7C4QX8XC9Hbip7HqfJOl2noaPq6aljav97t_aStv9GqorWsfm8wohCGfBJyzBd8kBlqhn4dWVbTAqrSXQeHZV502EGAYBgSzbX-NxNDlaB2VCLYwzhuxe2m2QBZ3yGpWzpmWOIDnLfEhLeiiMz8M5RcW4r1NAVxOTC8ZtHY8Zj9wNkWIbAUpUGq42zBmK_-8_w0BhrG0q85inbw3_foKk7PKG77FH01TI5Yncn7TMLgWWQ0Qn3uIHo9XBGdY8LQr020n0_NJe8Ucm281VRBZRypKv6N5PScKv2iv13LoKnVPC6TWboUm1WcWp8vbws_rA7AG5FfYas9TGVFjpWUbln3uPQOvr2SidoAzZ-chPTJQag72lml-acSRYBsqJTguIlLEcqQ42DUEOX1m4mQ3zjxEqefhQJjp87BrBFx8qmW0VZVp69Jy-QdsWsNvoVMqJpY3mg-aG4aFG_X4D3afM_7pBE54CV5x5OSxTTnfipnr6jU6fznvddFIHTU6cXSp58aYAoJbPAOmLwX-RXZTnEhV1CpmzaV0ahU4f2NdQbAjKw9ZlQ_Zygm0ntbmO0R76m1cHVq9P_tqT0wrxicHWE6tvvV3RSuoyNzDLI2djAjRZs4OwoCwx0W2r8KfrJxsoPLM4_sfm_UBuDkzL2SoeNkxVj_NETmpZeaF8mtzwB5NYsFh2Nil2XMFv94VQJxcec4UAYFRSPg8msAXETGKqa9sDSBlnlxAA2dTHqKguXOsqU-119jcfXqwdRRacVBIACr0wnoqcPTlS8xF8egwi7POLg8BLzy8jNb07g0jvg6DMW0HOcbY-tARNqgWKHybTe1fUcMILFJL1Huomd1xH95CVgZP38Vfio5Yb06Iq1wTU4UUyu5heBjnv9KT_L9Hs3N9yiRhUUiTOgakAexLW6av9-ZlGsOZwYsQ8h5NmvbYy7_XiNvkA_WEVuWw1byXVcM5Gv8He-Yt9Yg6yX8Kl1ic5xnpsF76LkNx1EHi9Ezzn8St476fCTPEPt0Duf9GbcQduuyK17ob_7V1EHSSZpgrQa7IUhArMehcaY1ORl0RBBmv67BpAJ7OX83VMZ9T2I3sUISCN7UHK8bfYUEcxkglpGsi8DZ4GeRUY1lrZqwHow-8eK1mRDjOuplgubXi_Ir_d8GnMoPmwIK-wIh_5HeJhlyHRsuIKnxtrrPfR9xYiCBPZLL-HrBp3ugPMCP9Iyd9YE-G3P7JCBbF1Mq2_G-l3aYNMV2EQfSmzNMjSI6gIfaI_4WLe8mH-5d5TiMYx36jWNXwzRkkbkAd5HHk1Y2UGtHA3uwYGjN6aLT4xOGXNR9TSajECvfZiFUq8K6P4JTQ5fzEqUtKTCcCqbv3B498Yj-4OLYaovcxbr34uv8xfOuJDNV9e_8UXznwq3dn93R_NFCEEk4I4trG3JClSVXhhSwg-PdKdbSOo9PExImmoXty9kwUzvA8XRkgQFy0ELEFoFkzcQTiAWrVQLjGcS2mPU1ey0GUhDrG3xg20GT0uZq-XEi2HHQfmhzTMhJzEYEjEnIrixKV3C1el71Flvqo1sHNxW4Farh1KfKku0KcSru_1V-3HRKLkaRtwI4vTWYrZF5gGVom0-OsvlpldjJBjtgKZfYZSgTrOalDsU8lO2nMdFRvANtR6GYfKSWibCf1Ka_qPIJX2-5liagHFncq8-MZD_kOHn70zx1eH6SoJClH0TYTcYwLxHjBefNTpPxbboo94lpfe59KTivWLnF1dlDvAim-DgpwfCR63F8Y_d-_Vc48vuGRspYQKT8KjF7zKxKsPMmnwf7F_OVm3dUVRakF6wSyJ7TH4-qGZV6ik1OQkV_3Pg6Pl4qm8U8wvEHwtj7cEKXATmtoE8SyqESEkH-fdz0bjDmkEnU3hIKpsHLi-YU7bUuJAq8eri7CMwQYajyJrsTSLcaCETRGNUA0ZjtUIN4ny0Ka8gyPTROAhfUmDIXBbs8hcdlmVwOVXqSD5ahgRdlpCcM8mgmRcaP7DdKZ31oOWcjl_AeEvC-x7zCuU-rX7QWfB30AXRaCNFGpVK4rGOa7mYzpJ_701tiZgKW0hVnPqb88H-pK10gjHKGHCi_AKu86hbYbhoTU1z0uwd7M0iNtzk6GQr7tVCZNAhg9-xtH2f7RtFyrBF6m-p1bZoF0cEe3PgBpOYVrup7fUlwIpK-ta2ay-WSPwiYmcbw9OiwSeyMDWzmQjal4OenmJikgTHNhf67uWD3w4VmL0r6EC8gXfMDXQSsGaPOPnFbwZVsP2Nnz74N-BUkRd2c_imG0-0Ny4Cz5xmZSk_W4QKW-u7KfSkCqwzIZvJ9Y6_Zd76vnAIUrMePedDGILU_7a5myjqFziB1wT3H1gQWy9s5GCMYPrEhr_wa35CHknQY9F1AuKsfTRJZZ3Y3-Ys-8hfRFPvSYZmPkISlEdQbH25UIoJld4QfLWoOJJtyH-jze_oqP6ZhmnMVDm7X6ujXMS-2RJT0fPR4-OKRHkaxh7WTNYM6DIg0IyDwc-WkcGOPOJp-gCDaBjeBeMBC-dXXb6eUXzAcdGFGnNan1Fo3CnSbDO3IjylNzEaLG5MMiekAXFWVpQZOmVpgvPIASjIAhgnuhUBa5p6mGercDoQwrMxSynixMypE1iJVRBc1mv_0TMugBg5X7BKHf6Pk6KfctutZvXZIEv3E-66nUhjwj7W1Kp47qtWW0zZJqpGdgokrs0YCTmRzYd7J34XKLf294aU8-24Fi-C35S51ogY4i7z4mPRc69z9kWwRQ3r8WYaojEtyURgA7EtAkPxQO0W8EGsAOecKqep7FwFubzjabiGJmuCzIItfEfe9T_OBfw2riQd5njV8311TgFYE_RILmzH8lSuaMMz2U13Q2MFaSYV4XTwp8PnbcVWsQd7wm10qxX5njQLrpYX29V-6uJ6Zl-ee632xzsZ5ukFtt99Sv80rupaePOcy4AXUUTaNfAhiRb3a8kN6RKIVUPhVZlrA8InwkGi9Wl7HMnVQp0VQySnexNUGEOkX_hzsCj6eiX0BrBgi1fCq1ibKa2iP-TQOQLuoblg32L85eA3vgYeMfnC5dMhSq-oWjf7aSGcj3gxzRHfU_qabKZGf4IfOx4tHMz2Rf7t6VXlatPtbysIbPXSdPBgnVs3A7hDw162l-tdaWMR8ZTQaV--4Q0wt4iMMco-xR8JGZG9oTQy6oBl4ac6XZ9ZkHL5eLfwuWlTnVhhy2CMnHoGWw59MIxWJ1Lj0Sdms74jZT51sZduUBDAcDPALsTSKq_hjffE9lbrnlcSCPrXbNvHqTaer2eK29zW4PKjRotaxAak1TqJm1p_kzUdEMaefaGN8s6sarHiXyNRqh9p9Chop9cvhGthcuxiB5ZY6HhSjuNVmXFSHVRpy23KtP6CDz7mCVuZR1vKWt0vspKe0U41dy0M211jkJxizsTti1c2rFD-iH69J_xhdecDKWV923JZtiakr1JpOSl9EpWTVjEyKHpAPKyu_pA3cEd3kztzB0PDkWf4S2nzaYtE11N9c_yo8UQJg2RoqF04QiR2RBPVeNlAvN3uNzAFj1T2F4waPS44iyLBq8vbvwCcyxeg6SrLQFc-Un69Mzd8aiM9TIL6mhEP04uFCFHjGJ4zdjJi98Y8iiCzdZ3zcUX37l4yrwER37LlO6xwpSiGd2tPrzM88-4RdEz3EpGwUD8XPOAgBSCRA3a6rRxISDJghVNsJTjbf4rO9LvEj9zn1_z9wFyJhmuAQV8iMePhZwsj9Q4ONwBnTxt8FpQR6lllgEafCx6WF6QcobUdR3co6DnRS67YVPuRSg3sI9Axvp0iOQ1LN51SwsC9kkPKfQvr5bvEEcUGGgre0_DO4XtbIbJWEcB8BnEIsDDSG8YfvvgC1h6ve57zAr1JOFTx3Kuw0iP_rW4LGhftZX8b97slz8qlJMdwO1PnY5avrFihv8bZPsji28OLra5fFr6aqUoKgYV-aeR1k96OFZ32FkLZAKgdp6kwrrRJ6HkA_eHpC632IgSMg_rmVF4GmEJb5wm2nonEqCdzgY9Ww6cCcKPJ_D6RHVlJhe3QfggVOAUGJtVvHs9Ezi2K_p_gmnzu6rdoznUmRqBiGWqYP3tDBxRj0RUe5azEYUQm3LPR8sYapRpTT-WHbuctKwWCSN4indIWk0yXm09H9cMcbeMP-mDGOaVvnKc9DVTYMVQ1Zqr3n8M8lpvfzB7xcNQ6gh_0K-OrMQKkRRyOXb-L8RYNCFGCSmzSU75mwHm0aDaG6WPAzJ80YXJUc1M2yLyAWKlkLxWH1SXBYh7H4XapWHLAwg4Dk7WUYe2MEEYdYPMVIHyP_v6M5D_6mpGoqP9O-j4goGswkMB1A6kT5C0pJICpFhvpeTy7TsjCh6Ir6AQTJ4h2dC7XnNiexydoJjoIzs6bj7NGppGQTgMz1YQU7keOh2L2NPTb9v9HGLUU6NROApX1HC7e-lz6Yz7W6-lu4ndGyAX7kFpwzbsSGMP65XOFecx6O_I3n9wZMigXrj-odzPzZPNAWu6jTJOx535COYr7rBpothQy1FnB-lB6aeBr71XQsjELLuNMJBsNu5mxnZeDyOSqIJFVLGmET8Jb7Q65dmM5OYik_ebOa0_QfkUBfERbRa3UYrXKhbaR2ErW6B_o9_Lr8GIHaL4u-zk5bzsgiU9AbtxgjSOmDfzEIMOGmBl0dQJcojcJQbSSytAim2TA11852-5YO16VqxeChsumkg8XgxHenYcvP4PS2HYIUhf2-h3LX5fWo9EHPkD_ZxVCr7KYHkUN7HOjijvwdRl0u5o38LCFBctdJbenGDza2X0vzP3wAmt47H-x81-axWo6Ios5D7pP9ZF4_YMcvaqJy4zUL4EAxk3Eu0Exxwt4ntSszTBKPxgCjSP9Jm_kkuZt8rAGDRx8P-DGs26rACjOiQFHvgxTrFqCHh7mWUMBbhoN-e0UeoUjq0ExIRVcqF7wehNw-A4JZ941JdxT7BjHTUcmDw4CuLcFdG84rmCET5efvTi4Ip_zDRImKsWWsrHCT8gv3Kf5HvZH-_LuyMA-mHmqE7-KlZTm1fHyogcKsOsk_xeH7NK-mCQyT8WnS-Di1hs44hr0_hVSJxMDUfrUHQNtrblvOmeytIhxQ3dViWxgvA7eArfsu_DeUQYWG4-FKG6nwhAvXDGk4CdpvcHOLR-BA2bZPKWcDq0vxRvtAA7bMYVnxK6908RKyb3QTKkKT4drbQW3hrG6SL5qr0gJOteWf0LCZ926221_pVSlayhhENT-D9x8BRUjkqItp79rydZfnUwl62Hz29YSIcS2ce7GIbJu1ue0U4bIDi1dE4wGnU4qzsuFaAD68EQdB5rMT-SzSL0lHkR0vdqIT6oCy9mJpSD8yz0r3Dv6D42k8BR5At6SbweBXAbuzfjoykFVrazXsH9dRTpyF78HOZuctt8Fl5N2PaDVexVke3O7ls6NBa9tmiZjU2IyX2YhCZqgsfUfwPHQdyirTaxDIiiQT4Eg-0eXpv3QTuAP9HrF-y69S5dZZeIH33VhlhPrRmKwx3TgfiAbGa-qttrkKX_LUfouU7Qgfl0sDrZzzMfQkLC52_6YHRLHu62kqxW10iU2xCdUZC0eHqkmiivXrZKwnBax0wAtAxx0L9ai58ZZYuMDwDdjaB5t8S0mQe4sByCJGOW2j8TWWDICZawQl5gO9qqjH8t0vNxKO3TwUU1Sl9j3O-gOa3IJXJUufuPq5JdmCYOAi1dB5DtdqmRysr3JTAhlLX1WbGlwvwr183sMH2A2e1rasWwXEsVu7yFJiq4px5Q15hXbScB5oX206z-084rmmvY4rp25SwzA2ijbgNq8vmiO9WZhcOoNBsQZJ8ZojMq9o2XskjqIFooDU-GhrSN09TpTzm3G3YTRF8DyJH65IJ9tOtQSebRG1ta6TXLOvXmuTADaZzgzdUxcE-6RqP5AD9qKD_Wg9RcE6tklXEqKGzUMRCOcm2nfO0tS4NxqsEwV53Gfv1yUGmi1dOqqMpLd2gxZ22FF9NEqnSH0IvhkgV_2CMMKmqRv5N9CEnCveCcL_Rd5a7AdMXSje3duG4laRqzfjwN-orMMNpuP3KCaT2Ij9Hltq_XqAbB8FLNuPA0E4iRUVpi73CMaxkvQcnbjkf1uTXdEoVPhcTEKlblDCCLad6HeW4wf0w3s8-9AkexNceSjvlp1RWObA7E-5ooc7NX8yf8XdCBRxVz5JIZIZQtmzRuPVGwMFFAFzF8d5slxeI9vd8DeIN1PvtEmvsmTUIGoxCNbOfTniDEboEeOCgyx7JgVQeMzvsiKgV0LzzMLIcK9mQtQW01HmK7Lz0BVHWVMML9M7lFzxOJGBDyW2tvUex4ErIuhQmUhHWecpCa6sXTFIBhC1eWU6rDuEUyHTi1eO9fGG56g-w-mopuztO52sMfFNjMPgbSSmaYy1r2GHEx8t6yJ48-EYQBJaWgQxgqdAVhXo6da7GVnaN1Knf_voFhTR__TUpqvHiqMeKs0NRIMNT5c_g4GDAdCWJUZwui0efrsu5vsf5QYBkJVXI62RoEoKRUjXYTk_e6xqrxI-_Fx1u7Tn-jVPY7z99lL2gAPdBBJrsQoJUXmAtXMkVrdm5o-up0Re63QmYMjTUDM4ZNJFJSa0J3kJ-HXlcYDeNWTfxgopW4GGR-XZHu5oLdNb-18Em43Cmoql0qFkJxTAkUK4prgpc5NoUzpJ1_f35RL72zo9FZX-7mt0m1U9n1Xll8_KbzkqHi2aOzw6FtQwnF9JYvTaXjTcP1zuTfJhfY5-Hiqx-8sZJ9vK2mgHCInT7is2JEmJ7YsyjUn05HP8oS8rreB8sAvEHsVMjPaHIOusz-KC0jhmAcXC-OgDgFydBatEWRMYFYwUqV3gbg5ygQE9RPUSAj5bxsFD_Ei5CeDvENSVNpJ-ZLsyUW6YxAnObcildTZtjtK5UOTCYw0uZbDcp8LoC7LRPkmFkDo7J5cu1iVMaaP0GPGrVAUjDJUcf76uufnyH_RGarr6wX6ht29_rY3OtNh3jadsLcrY5SqOZOqbzHRj8Zqdh8s6JfWRMWoxNSDmKP0sgXs4ESRN2l218woeM7VnEI1NekuMUI2xau5aVoroRWoTBOZXJGb0sBu50CAlVn0keBMEXg5OynT5IaFfIlPQGPPhlmvT4sCBbO_ch4dek18hcVgcx9_xT94MvNWsffLcuqhn7XDBfmu3N61Qh3vWzuOBTq_Wz9jhNGZNshmwM5dAAXrlcDov_YDqut3IpTBwMjxQBjDMcm_YJ7cak92EIRLVjnyQv1_V-BFI9ii9mAPQWv21H4XlPjEfj1d97x1T94cLSN5dGkTcoOSwaBcs50Aa2iRUdzxmXcU4HEir6-sLb_0P5B1eLrDTDonHfyOP23rFhRHLMObwMQDR9mCQUIntr6_5V95x7g6VpSSbTUIzX0CKgDIJowDhcIPBrtGx35X9hVsiDUO70jbVG6B7FF3sskXjfUz8NjX58z_5qmIjrqnW8Ijaq65ojjM293Mqf_bYFfdmljU9ufb3ej5f7skbZYsKK8_SFKlJ5wpm9pJQSSUnswDDcJbMDIrGOCJBvEiAATkvAKvuf30WM5Qjpa_9UUDj0FYa6j-Wnc0KaKfRspcQUB_M1FnFQ0kMkLEQl8UCu4HX1LebFF30fAN9OyayDD7JsUARwDinU2uhAYzbSTLwRkIDVUqP3EY9Jff9I3R0vXWtgTvbaYbaqOcXM5t8FD3JY4Z-Wd2DCQrpP9fGabl5njX1xcVQOZ6sD0j-XU1m3KdKjx6dcBFbY_1Z1Ll8rJJV9ROJ8k-R3nK1bCOhtSdFeHBBz6gvJ8RF3cXkMbr_AFw7VwVehmXz_eH-OOktct3q9pwx1ISzkzZqdNUZf6MDR_GhpF9IIHtDvnZ4lKc6Uov56xxk-XFdn45EyLRXyT1Ssx6LrCqamo_zvGp36rdVL43ZrzussjkuuPryNGWQamU61nmUvjD5EUG7-jUdIJIRMKJ3DtoZTCghOqmboNaaEI4-1RyFNuEh1xh_PD-YAz3gyQAFIIq19iAD4Ntw_Qbp3jHc8DphSk7YM9loqKuv5nAUpGJ2bV5JDZIT33I2HdyGMUBVS7OhKi4pMSnQF5sAre55oFK9RhIaN448lygFUjptj-4ld2d4SGGgVom6byVRyVIZ4Kyi0Of7RU2dRThDUtwKO_aNu8_IBf_p8WFn9TlgzS_5wQnoAHXuimBmWiT6SM8CXj0UlDFxFy4r_NEq4vK8_N9o0E-d1hNDu14OREupIylzxIpoDFmVSyxCINaMfykiD9rIMhqF8fv7ha4NzOP0Yz-pidunRKXkXuySrETkLE7KXdIYT3ohHBB3HdaFztbBmO3vN17E47H4UB2WkfA5Tx8sf_tShoB7lFfrtpTDzl_2rlAOvRuxnzMsxAA8ta5TVvXzI5dS_lxqoxqP_IhxTHZg1TiSRHlMwJDdz9CaKgK_t-8WhhSEjJrsC7i4snE4Y7_R3XwVd-CGt5VErUmVL2h832o9UjxR5R_g4MpciFDKJdgDDyqBhIMTc-BnXP08hygYwxyu4h8VNYhVKJoEcwxaDhoX57zXQ9SSZoSRYIn9eccCtygVyjNlwDMXV4_UxcI_eQUF64UE-qeerjiQkqP5Wy3yqMNcXk3IO16qQQb_xi-6imRn5MkTn2OIZ0DdSFwfQNbETwMQyKzN4ECgF7jmDp92GZ2gcrrk-cufPzwqfAgcKLPbNGsKiyhVAKyObohmHyEh2WvWfmW1RONL-6aJbsGKiF26SYVl1BqH6mYfm-szyDluwIsOIdA3BtIR7R-cEA38RZ68lmEkM3SPlXf7x2eiAieJCo3ijJgPMPm5LZvgL6FRpAoRox7qP5DT-4ezD60yNsPIw87wjMAGJotCwUDSJ4Oa02B4wpsDg6UADeGtpLJuusm1RitGPV7jYeAKRAHQzGz_bKuPQ7IpOFt27F47CqEC7XfLWdUo86_N3LzDpAuOv-mxVv1vaVgpgTKNLnOe9oXh501LW15V39hlxuUny2Hv0AKUrVXuOG3xg64eDpyZij2J-0is6oVt61oVBYbF-8lul3yTK9nHawXunSdOFAbsbQN7FXqyscWbk6rFvBXBEHv94TokmaWYVVWfEoZqtaQ-EVvj5gsg9p-3QB4kgLxdMJpvovvSVmRHOLUzR-p5Emb0l3fBTVmTMlFEOWh2ODwOeZDcx23E2QzW43rSRnFzKMC65vQALe5k_xMV9c7hra227TaESxpCL4Fxp9t3Nq1Qm8Tb7lz4s3TxOobJ9kyWaGdvFm0sBigx3RhoLYDORi55oPfops3qb91UZ3o0ghtgavaPQo9MU-Iy3LVrlEcZkH76Kip_86ZF4XfiPJY03cYO9-zh8ajneUv7RDfia91XnZMJzRaJjpLgj8yU2m8vLcr7XONj_6I5qcTwFTMNzV_Bga17582338vCAPACo5Pv6Dcl-msxXTwGoGuL5UNpVGkx_Z8tx2rfd8IXXmWb1_O9bl5CvIMbTUNICPOWYPqyRzChtgdOlG0LHnGyXoBuW4wlRNltVLhGGdlspc25WFDmy8XssAMyq0lP-0D1HETuPr05kbR4GNrw--UTRaPeum3RFjW7HUcUixGp9kM0XzdFWiQvEx7dlykzoZPWudmZJQXdovFtT8Dfy32l4yei2qtkLEWL8E6OPC-kr0_5EMxwx4kSlW2ONwifZyQEQ0C7jQ2-cXr1Uk9jdFpnM9ef-uzT16NK5Xuim7j-CNiPJuL_N4UHTkpY77eJQDp-HE8VD6oWTUyTQnJcegvgV_L31QPCf2S8qQw9-4nGCo7wo6x-UNkp1Se0lG08MNVhTmLZI5_KdnZlL_PsLevdvZbjgcZ_YkvSo-JAPOnmIzyhdWWMXPKXpLAZ4biJaCG9j2XeDwE1Ne6HfrUDHmzSLFZXnVCBi9E-Ki3xicem4rqpXx8zx6uNqBwjJqOdCl3QR3P2nLQeno2R-tfs0ve_SiC6qZnbqdvoYRLyVolZODOiEzGPlcmIM-_7zIVAzTGE7N1T_CAt52AzVV63pqzPQscZY9suP0F9g0m0kD50rlfOwk-jX4hC3rg_qVxgc1rg8UgtF49IQU2_jgpIfFEEcJdSQozQkBKaZ7eX3fDKOcHzX_cc-Z2eiBARZ3qnlQMZWboOpHTNrZC4D10TLNH-bnBS1xwqgO9wgrJ7OPs4Ye7GVsJyOl3OA6_LuxzE5dL9gjz98Is4pcJ1_lUbcHFygacKNh8nX0Lk7Dz9KnX5L7tyMCUEbcwfpGjEckXWxNnb695LNErE6D9gHIPOm5WVWgDdRDqpdNbX-NPZRF2JTWZibI_4hRV0UtVpKXWM3wjszz_xwBYawWpgaqQU7qcH9_sUjHPtCw4b5dy0B_DVj8PuRcZ60HBfX9lGt6nb73wI5C-zWIIbR79Rv9hixal0MxEEqge7rEJp_Rrj6esqTfd86AIV_jUTF6-vgMz8DuDkUqAx8JXsQ9caadhDS9LTc-e7qVDuTkcTRCkgry1CUZ3ZP8uDLrxJmFnYWVb4cVT7QLDUosGAwp9SFC0ZIcJjwJfMRx20rsN2VJ0BCJkK0bPoq08QLoOq5Mvn62ShmxI8nHGR5THEltFGA2uW3RITu99dAcBnTV8zl6H1IADkvA8MOZIrXG19hyblfMVrDyKYYstwkraLddSDjq90P9TuhtHkkY1v8ZbBGK-6ta08SNifCJNIP0EX6kpRBLNFwIkCe2RtIqC6SPE8lvwlbJXCYLZ8liJ_T-KbR8BDRkFJuh0K1vOq4HcxvEYopkmT4IjkCgrpJERr_WGSsMLyfdt43aB42g6YbXtXot0TYu4QNhQqcMTniaxKx583Sgij-VCRktjyB6oH-_Tkky3DGUFHuc-1FdoCaIem2wVKd7HtFqWeyzeZu-R-4zqxCWiIB4oZaPh5nNDcs-VCXMSd0CzDzoZp3U_sf0GiHVqf7u0q-ykb6CwSROccYvASLEU_olF4DJMCDHqqs-xOuHbu9OnZHNIoRsJv7JOgiprWq74AF15TbGOfFBUgZ5893Wwmzd-ZL62sZ8cbFQ3KUKv37uTCzOyuFJ26oO-xZcWjHZWHFmBIfPfyB8h04mufUlYQK1dJ4hgGajedoTveysE219mjH15IZUo0H1bVSUZOxwxlHKjXrZ5aRlYqp3z2t4wMeJbefNtJSGgFDWeVuXg8gxSB1u4pu2MXnanO6nb3scMlbUuut1vIls9wQMYBGoW51EYB8K_H3Kr82Z0S-hI54Xw9l_ajSjT5r3WTNxbVbdA18gwXk7lKeItn1oT2XKK4YNC3sCRzg89i_f8r1G-pk9Rui_bBMj6dX49WHiILCPPTEdvEwsjUekJDW-keXp1pcdMAjYWqm0JoI_7DvYxFNlH99A2Q07-xxNpmrGUYDNMC9tGesdWVNSEsNCs6VkUjXIaeDjiy3OI2S86ltuUv3LMWAu1FJ5WN90PCwzV8voDmRgZCegAEd1k_WYxDP-fUuZlcIIHz764FBu_mHEz-RwoGiKjmObwpaFnR42hIJnT_EXprigE_ljRGscg0nFfYA2m9U2SLXSQEr5S6cpYSyanaLI6FHyPhu2Y6TtjnsDau_9rNgNlgcvuxz4oDkN4YR2d5f0ImdGWFF5TJEuHUfXNB0dZXCw70moTn5TYjBtl9davb60C5KfeNkgKHuTZq38uJSROv3by7BaRe9dcJ-DpyLkUNGXF4UAca_0rLxepOZKs3DCh8xNAn8h377plfLWh8sO8DE7t7ZKemHRZ_Mk1LdDpF0rW0dCO2qW-728jXs63YezVEFLh_M846kqzXEPADmpPNfjNFUARZnXRLdt5-yS-o2uoGPlNYr7mXd0AV1meNcxmr8xPsesxjqefzZHSmTwP1ClHBhjLRTG5YZn_eBsTeU3d9MQ3NEayxONKf1r7zDRn3jIqXZKPw0hO53G1ANXMG8GV6nRkang7ZcfIMhH8ZXO41py6wzVsD1n2Bd1wyx_WNKUOiFQRtW4akgz5b24Ma4dlwz5IG-kRQNN9EdmETxbXGuoLAkE4vmQGUxWk5oL0lN4EIJcLHZqzUZ-_29a0otvjCntMe3sXn32a-TqJB-HiSE9NI1PF5162aJSMYLUFM80gRjhBRXbbkqAh-JtI9ak5FMiv8UGA3YYahrKY0-l9miBT1cuDNoVCMWysavT-nCU4OFovXnDA8MPwrWyShVEf1wJasw0w3Fza6MGWTiwYSjBakOtJO31KO10lAnqXGJwHsri_1oE7RJjdj9W3SfHJJlz_kOQtPP7c2KjW9v7w94DxaN-EXlMhTURWsgUAsks5mKb11WP11j4GumRGHsimBiLGNvIII3W1RzS0HtjQ_CJ3HspHo2fEYyubk9IV-4wDoTQZ2Rzo9xc3liz48I43ZE387RXROX7tdc1-0foK3njObCEuIGFBgzBSeolKVIGmc-UoD4wlqm-dRcaDMXKr4qFcv088x1d-CtZVBPnrXW5Ixf1uTck9GziE4daqPB6iWmZSxzqqQXBiyATjfdK6VwFjBuHHLd709iABbl34Us6mydY6IPMLZXkr6uH36F3WOo4MpEL4U0JmCW7oXYfkLm6CHBhkeavDxmhycY_GYbYdt928XoVsUCMlAIjdIOk4sX8rlzSA4qFTO1MpKKns8622XPXJVOTDCHVa2PwFMdnaXIg4vdzEQrCPZF7putxNbo75I3K9oCOSGIxErQnf0yltpMJj9mikZ3Y6IsVjorTUMYb59sPbaYjghFEaXB9H_AxgGB2wBQ5ZtrCWsiYVluuytDBZivpSqVp87h9kQa-BDkepta5QOx93SvcfZikKEI27IbVQlAd8n1sGTdUQBVvgeCpdYyjiwrn7zKiQ9HLufOjqEJuTbGS610JZCtBL7U6nSzSh77kxlMnm6JZLom0UxXd1KQuOvczSMtf_tPq6sjfuAAqWRhbfVwYpawYKZhRxp2PQbNTo7nZRBE152WqPVaAN2VGR_oHZiJt2HmCa9v3b-qOgQl5a3UCDy_oGMgStE1w3nhabWDgBEoXSb5XxeToJRVyBUxwiwfuukMqXM_QH2hXOKdveZ9FY-fKRK1pvGpNKY8QRdK6UuKymZB8o6eAfSgE63hmXlXAjidBC-gIFx8fp4eHXYpWPLPZ5fQPgYWXAu7GltEAo1njCimWejWBOMidvPw06jG4yVYEDSGpzDmEtNC_6YqAAkiDVvXjtruVY-iFi9u1DfIP-XYmhSy4IKZwUIagwhLMoJi6s4-v_Qjt8xTrL0cFVG8fG1wDSPsHChdEueKN2LuTL0yFlmeJ5xKRQorwsPwmXbM8g7dvu17RWtslZ0acjW5o3P9e1ISsd_75TZG-XZCAZCYFVxdoLsGaMxG8p59HjfaAuxfcnoGRhTeVBW344GTbSTlULL-3f2gbMSgsZ5JS6BMGLZVQ_gUk-FwVuFlG-BwG8YcVrqCbDwI3HfqvugNSqPANzFBMuG_MUnaxuWHb0kqKR0k7vp1T9Hckpl0smZgHV-GNepv653OfRe4wNacaOSu88bLaUQXrhHOxxML8ZzHQVWxPiy9dHRGevCfK5gkN4XdFi1IVJ2fuPi0-G2sLn9COYNn2Bsiih4K4j-jSb8HofVIQP8dw-YBpq5VZOqVWFanUfZBW5FerRDAN_Nc2uKiwA097wH3nP-kNe78dEU4e9GE2y3nKLm2Yr7ZGOWIzFINXDNwke6mIpj3XnLU2nC1MGAgLAMNwCQN6Odh79Hluk0FH-eBJl6a6Eow_gevxbyXy8V0UxxBBkzpoB3tQ1e6Sm3UKzcb5GI9j373pdOV996bO0RfP88jf72bJbIaFfIrsEUxT4HRg8hmO2bBCVRDMtx0gwenvBkw8HXa63Qihmpz8PkaQOzN5evwmho3c2BZAxJfwn9VLtDdGgYZtGb5K6MkbeYoY033yepYUzBzNeQ6XlGG9lPOpKK9a8eTYmDu_fChTBaoSz7ZR6tb8uT5ZbQEjETOBxaiWkE9CpogZvxabYsWNsHQkIMYiNsaBGAFSiASIwEAFlyzPmcWKP5fzyuEdEqV6cEn5MhBWPhbF-SjSpiXU4m-5slzlHICuia2ZxauSq5ifLunl2DLuNSULKkYUKCA4zyvL0PdnCMyDpDfgszqjA8HC4yU94l8e16CEPgNQY_KBR8HSwUBeVNSM-M9hWkOP8YZxKkJ0jF9eFV-JMETD-fif09NwfMqkvUOnEfWkf89h3Xs_CulUck7XhQYo_RcmNv2Buq6Xz3S7wMVQTceeUhbAkwSQfO8-RB4WKlCvp32g4WemXbJoVRqqunbglCEbpeQlcTHzuRd8w2zyMWcUn3YzzfK3fQJx8SKavIV5u81Q7T23fadQeI3QX7ePRmEn6sRpXjWna0HFqX6S9r8eADuvIPHNsCMQzHCrupCHFoEtiDF8Vo5UZn_sUVuU3iHE_lxYj2M909rvccuW3L4WvhIF1RX8Fi1Lq7PibGzs6cE51ipypjoUw22qeRsFCPV0Nrhzxp3aBdnCR4_ndi1D3maUkklUCD2Es7LXjl986w0d4_kNcvnDaSqKtH7nl3FeS2zEOP1PUwyecx0Q79KI582UM3UiRPn9fRWqtNK8Pi4_DFp_mbUZRgKpE_txUAZKzUCt148MpvJGyuRH3p3vfFtGHh5UWLVPm20m--h_ucNhpj6Rtik-pUbdIMJFeDn85_JGjmQXYwTJHtEz-63G01Hww4QTDSDuymyXxLkAytujgStG7msqRYPeQ5g614OYSf6OSxgQthzIcegrcTsAxYN0hLlVajL4eovCj_kqjU1qIu6nG6oXgewfReJlM7OjgN1Pp_OzXuZpi7GP3zl-QKcTOlILN2Pmh4mObGZOru5GT1kK6JB6TK8s97rUPfo6BlVt3ZkgY-FB07WhMrVVawCodSmF1M0eDKTVfGCYCyshUhP2gF1jWkACkWk-_QokmlMqxSC3RD4k9PVJA8K7oe53cbAOVmCzgkGqedFLgHh57oMaqarFY771jS2yzqSraNCo9uZNshIWI31f0jViVbXcS2QGWMmhSpp7pT91VbDNXfSl2vj1QXj0E1YnmxJ_m_V5kAVYR3enmfAeghR9fCeOPW6SlDrDiW_grv-R0nXUcM_TQEUQ7T-OQju8g_o9dwxEkMKXxVBNzVEU8MZVi7B3n6a9Su19Er873gNrQdl0DefG8vWlvg1_PULhpKbAkHSLvPYkWJfirYu5xyLlMXpuoYLM5UdNLtzOYbpMBFV3G_M3Yr9vXu1FhZF7y7Xx_OZOll5YiGBbIxCSV_cwhvv6Z7GOOl6HBNa8ChpHWq-BTDqrJOP-ab5bJFfOi6Gpw0Ad-fEHN6EtIO4LzoGimLPCVuk2PMWxRWFOno0SmI3emn3vGAz3vvtpRMXB8WW8WIEA2z1KBxkxAmXLObS7NXMfLJiMqUeMn9gPaj5JwoiuqJEYxKPeBWMTE7eVXAgxtTG73QJ9t5Qe1oy2c6dfXsF0IEu-L3hdgoqnMkIxRf8B_U4UfkCzsDQwcvoFXWJDe8NeVnp84V9kMTlLOntJUYXFooGcXZrXRun-fR9fqPYeMBYJire61DOgDKTCKtwogiZhy5MyK0Lirm2btGCyrX6Sne0Gk3TBkl45y7K-GglTplR5jA_NzVy-3pBolb6lWDnYhXBAH8r-exeiu2-abDSUfmMzegJ4CxiAyZu5J98peK8UuT0YR7GhZhckWhK3zt3K1Cfc4hw2lcWr5rqPnd7NrlRqgzNfNpAiV0cfG1zahww9MMSqNrvG76EbyoMsKpWSfJKG_jIftujNY3PwpBNX27aPr_EMQ1meNXCeAQ3ExAw3OqwA0PrKFCMb8DwfyVL-zUxgkzJ4w2hkCP10jRHThV_P_bdAv9jBdhzqdoeCQvjwzABfk1PLiPJlgcKzHzzdbx2fhruPyDqpfCHdjLNzoKLV2dH5o3IwHHwQyrIdRiNuJsUaf-5jUgv88ayFICsClLsoW_Z0I37JVSVvxKaBrPPNr06Tdk1VR53GjHgJDLqRKCujbQjLnDyxa_9GQUhKhbWlXnoqx_mOtAihX390CDZno5czpu7UmfabajYA2eu2BwJXSzyL38C2HaANAAqVmZhOtQY3vldYWTSt14yhvzMqiMwjnUB-QpamiKULMZtKxA7W7sB8yeBctFijOT7e-eQaKWiEk0s0DoBnYoxreedw0RxVdXtXT02HL_lA30oVN9ff8w6QZx4mikyDsDymp494L_pXj41akmvapIMmWZvy7U00Xp0DNzOlB6KFZqpmime3EUIlhEwcyUsGssFfWXL2rrF9RnUVJ_jI6h2e9EH-HHMZB662S_ZsWklamrrDaIRDL7mSbjGXs_-pDi1ygCJ681RgX4qllY4rjUVCttaMsBYxVpOkeYfJAMnRsQSoOnWte4Jss0RHXcqdpMSDjpqeAAhJG32b_9uNRNPs4autmtUehalirG14nQQN2nRFgfEI5J6s0bjYZbyH8JmDydSokKBZOTzBgNDN7snK5H2CdkVdTIRodVF9eNedE2IkKs7-ZPJAlGRbusRoJGR6y_2HnsFHJxpiSqPYZi5qYmnNd_tWsxEIMEuCPN0WVRAjm0kIleRJvT7HghK5MdXWyvfvglWiEz8tfpkHF_EkWLZBwkVUjFJ5N26PVwLl-JqbuYhubKBWKlwV5-GUcN-7uIIh_jkH5JrjGaR96nFAfsMNYtVfUK3a2-5-rGg5MlfjW8CHbmt8TZWcChcE01wssKPASAHNw1SZ6zGA1Kc2k_Zo1syHWeP70Su0I14ai19B-Dw1Rm2eqPg5mtD8gOP2JPM3QGYBkYIICGc0hVIKrWg0LgUdZ2SODlCUtwhNPC_ROZiDGyo6SyTgBtRuFomCrG2owJNkkiqUJe-SmMtecaAx0ZnEISfFrGv0t9dm7w5TfP3H2XK9lbwKJa0CCURIq2RTrTB3xmbpxrIsl8MvDiq2rRmpwC6XkWi6pY3dd8uH45I6vQ2wxpVjbv5jeUvhMD73MUqqL0Isk0YXP8AVOEtX3udrq_qRBm4cDIwcXqDVWm_EpH5_O77uCo5V8tcSgPAtJX_PMn7tk4rt8vCghzNMbRCaLIjmiPf2EafHFtZsSJk2oOGOTzHZcEgf3-UtGn2_zwl8HGGQ8mbN1QtJpOZdtcMqjD0DfOna26IjC65ZhIvoPDe7latrNj6Ijxg5KugJT5ziHNB4jQkuoWFX5QLpTbNiHAC-56BDVBrdmFwlYtKBY24xlnLQ7rzef7SwqTs13Lx8eT6GihtVMOyOAVK3RnqeSuwi9kgbZnKB4TvBbB_fGCGpyzKHyDvjRipPu549sEnNHFRpULJRi2JkcPYYsTO0V14jzheo3papuUid8igOqyojyrdA-NoXod139zfKOR2wC2s8LIinLjKYGKAEeoJtSmxz-Gm_ZcvmdAJ-2mfwF7qn_5kUfP3rLmAfTWOczN64goiZgrcnh34vbxfZDWdsUt7QNaCkgQwDadTavjym8wlaepaTcVAkvYM44HLSz2H1yAzF_z7hrDjhrapP4qkpwdX9p0wkTG2QrosZmRN342EIYzQtVnY-t97cHUL_U03XpwJhzV6s7KRJK7gJCXqCX1KKXUZr2-YvwtIhBTxwmRmiUadw9Hhfpvaq3h1LbHjSBs5oEHn_HOW-D3lmHo0A347dVSD1MiW86mWA0XXbi6uzDXa13LNDTp4m82wK6zkCL8a45a5pXX4oO6OYAYw9FBuLHvPO8vpdGaziGAii95Buqimh8958ChtSnhpmFa2hTBfoW_9ZFvSz4oLFc0ceSgGyt2hfRbK2B8jKEz0AFs0ztlfy2J_ufip1DHLB_5x4G4UlQr59EJYm6G4N8C-E1abiy5u-N_vr5S69odpSkhwc_z-fPuLZ6YgZQ3wO-fmjC-d9aOnEy_3i4hbMXvKhfSp00G1of1_S8gPbjcpFsYoC4xjAUfGanITCS9NxQButg6heqOzjU38Pt9ckfb655jfA53YmN1uZFj481irYqEUmg1QMsEZFe7_UhlIZMm3rbdp03z8U6pGAYEHL3amF7Skg_tA6ZWR423IQGM1oe3Ea01HtN7UgPAJLj5jvJsnOdes8Ka4vKQbQ6-ETGRgIXOoYd2YkDYsclyVJ-NtDUJC5xfE9uuqjIH6WiUcfl4406fMG5p79MMEaXGJcZfIpeTTZGYSFlk67RKoBoqLqK0eBnR06WNSI8q-qDPCzEUsr-TO0bKh9Q3qyBRPhjmcIPKTOUDvFP0FY5cmvog6nv8H9RcAjU-kwvtsdtyFD-o2NavvE3LT0_-tAyrEvQSGjKwJnLefn-7BDq85HQtmPhhz0Xs9FlvF3p9QW-HTNUQ3L0Ul6kqx38CjBmOdJZD0u0uzZWexvmmFe4WDO8QAWWfAodpWqr7vz1Qw6yE5zqfp97TKQFTh47juApphksOGCgJoztum85TsK0vQiTIFfOLHZJOwF9Z2Laj6THCTgyuYVfi1Tuqm_6_sJtZEycdHq6ETSiwN3kk_sv1eAEq_A0BOqMVexmc8g08NLUGB9xSTdHdOKxJ1Wa_tJoJXppV-iBvnErt5NEfmnp9VErRZfpDK_LX-KxPpu5l663s0Gt6xtcd_Pwff2pzAc5lLpWwOTW8Pbixf1HJ50PproIL6VQSOG0m3qnVAImLKKAGNAj6cV9BjHCFF-9mKozGD3-Y_kf_X777EeS3L24L9hfpnFk2JyxwubXH4gBcAFDFFrU0hXxehzB9Lo5ddi1kXztG4_T-IEz7sJJhSivjMouZGFMZMlZK0CQhyd1d7T9LwAwa0mpNzKtVzHsdbc2NReAqeGIh8w-fwxuWTxjXTBxXeQvCbh8ytpms4_nREuAFHcfD3jf40GDrTaP62LAkYwIpNxKLbEw7qo_Squo7i9vY4EPEQ9WS9YE_pXh9WkCqfx4xVQO66Qrn7oIofoQDzbvbKsHiOgzO51RsQASnIEbtT24xGfmt8Hfv_jN0IqEpj3-h9NMuUz-PPIIQexqMChKDHz14c-KT2KlufGaX_25l3fSz03KkIgPOVry6R4DbkwIprVMdlC7k92i-vRMqs2OmfgvUvY6bscNaUayF9p2PdLCfvzkYr_9V4Y3-9onqQ9vKGWrb4wdjQFJE_POcPH1EAw1qEpk2bi1aaMYotx13Jf9GCwXlrRG8N-QyPfSj0YIwKu_i0lZcuX8KxVEWFY1Ekv0oITIAUCiPo1mQqGhZsqZSO72vN3A2vqVaOYvrow7sURunCpcC2-N_rIKl4qKssNNf1bWEo16S74ZadfRyF9x1PxvToMu_Zw3LorhooBbhj7hwwmJ5IBr4AIqQ1JjS62HQJNvNQsFQ6KkzKq0EcRkavPNfH-CmkcpVeosnRy8FgysxEW4X5qEueRMxJ2eA4ZUauS9Sc3B6eURJ6DwdgqY5BQrjtpAmll5bsmik7UbBNOk8hFL7JSqmxzc00NTiqF5axRdqAwnwwj98vXYp24fME_bGZ6KaI4yyFgD9YkWs9-5SBaDptL0t7tJkUQUE3ruOFZzCHXM_Oewiqyde98vkxDnL_rdn5SOUrorfVtdkCKQMvMQzp9oZrgvfZefpKmhsZTJ1kXAjdhJNuNybhmIP7sYHXDGFYv4oPZzUycji-KKX1QAyMIXHpcIau0bLkeRuUVdL0TP8thWEqGgaJiAIPTHSqhsZm90gOyflO4nQXn9GVa8b_oiYiv6IoT6W-rOacrhV0OStDDVZ0AE68Kyvl_Z8J4BJd0IQjVoJshq8-UuIpeoMoeKzqGknMAo_IBg1Vk3FDevrgsDnAtPqZnkT_rw7FcQj2D2yIXkZC41qOfN-nNBRdn05KkLggNg7LKcBmDVo1foXVmjHBW3evA-L-UtzjcmBacx-wfLs75P7JM4Uj6UKAl5QywdY4ZdNPVnjW7qcbMxW3aNSe_AftfNi3a64zuPCgdsQVQwYu3gq21EeO24x05Ez-zrHKxhKrC8mj6Psq4McUjk2t9asG09p1WgOLQq9nxTWYxVQ2KlrI-qTsRHYBltAk8p1jTiCLQyaDDFh_zE-lzhU4VNpEnwAJqAtS0ePl0o6ojI68COqG8CYq6d5FdNqtmVpHF64JMfvctYqsbXKbuQajz_ITdbIY3Skza_skszwPJJjdJ0hTm7NfZHjjE6_f-5p96T6zp_Z1AzJsXhfbqW04-AlyUgN8IOnHAj5uwrxWcATEzpJU5UrLldpZuZF8NCwnmd1W9k4VyuQDNMS9WTKi4UHU-JW_NSKtR1dVuX1ivwf9WG0mnTSmliaCucleWzkJc4exKgZmxhsp-456wQtF1YdWwoF_GWK27XseaWerOfVSi9txW5O3s8CjJhghf31QLSdtsZDHX_gp05KuEetjX20Lw6I0hx32v9DkVWRKAnI28QoocwQe4i6PKbkcYXIo10XAFH8_vhK8eXxoFM8FP0NR4lFeQqts3LF9MfN3SrZSjCQNPT5qIx1ooKYZNL-iEXL3nD9qCAgMXNOiJBNJ2HDBFPjzdpvO8679ypuzQ_9xbtRf_blCE4H5rdI8beE3wsrhv5vD2vjj00bpzpidNuJQchMTp7lj3b5JAnGSXQrcEhIfgc90S0XziHsNpvbm3NFw5sujE0hn2pVmy7Ybu7viTjvxanyR_JfQUoHVv9E6FrQ59SLIrAXzrfK1L9rg93ZZYLoQ0q-p_KdYoqbw7tD5xqWbYTOElATpAGuN8UGlsDXncwJQoqdMjOdFkLetQ8ZZrgiUO_tZ6j_wuhDMD9Zg2Htv5a3jvnKcVix3gHZHrwwA8taab80JVSIrrXM6-NffVcHe5R04gVtx5oYm5iAJIecqt67nqso_E-Vd7fHb2VnrncGtExUFYI01IQW3dAS4CXlV5jTwEPo6f1qzIlHMgQ7F6nCoWT5bgSNYS54-jowXzYzVC5UtUMcGowEr0Qbrs2Sij09AjVg7cq2XvWRo7DxaptLBipsdQjErsvOf6NvUmHUKuY14nkv8hyKRQOWTyNg7ALkj6ywSa6jH5YbdK_Q6hlrErv71ZCQZUkqzUle9rz75E119TlSVBFPPihR1AjhFj2GUqnov2weuISSh2dBYczByYBes3iZGgkox86ybe1HIZeoH2YTaaCqMVSFv4wddx-yX-FCaZX_g1D7ATddZ7M10FSLsEXSjDik8b8rm7o66D7ssszyoQsnScAhnUsczvn4v4ic2IzDCT-VTHLlFafMFZUr7MHF6LiVOr5_O9q2vzWittfdfVA6qfsznIXtJU7MBTXzEGh4KpHcaaBQAL3zLg4W4nThd_3ND_u_gnog2gSKZ085LN7QiMZ29BO231jmYG3ozYVAnuJTidPHPuGPO3Pcxh2l8skx4R_zUB16jwv9_P5GWviAruTolsSRjT-dLoy4YqcHXVIYgDE_hhiof4wnRoiRjfwzhAHv_AWhk7MCg_lLYIcmqUlPq5Aa7DL-jrZLSE3ABtfiJd1CosG7H6_WJQY-6OetKGOeccSkH3rYEjqIzFqowA2JmyR98vcmc6vK9kcRt_zaMvxNTxDdW53346QXbiL8OSY79KZ8tZOvzdV22Y_nUPQpJFFwHSyxsQPtu7_oms5DcPDEPSIvB_dINDW3am6ZR55WaJPPBUmV6e9zgr0ZHiKedO7IC80EX_GhNd1sEwiZZmoRkM3-FT3s77jLNnnat0QVr2AbYmunVSniyH80hDd-2rRxCe3KQzckJqq82sYx5d4DXvfHCUihKOxdaH1j1dAcno-HgcDO7_Wo6hDiuuCKSahjUyPVr9ndHpF-H4C8Hzq0Y-mWCKNqc5SQ39ajZVcOGeNwPqpRNryc34aYDNhw6iJV0oDnbfCyxeM8goV4pYzbweshJ2IFENojCOkq-CNIsy1TFDKBBVPoA1NBNx1aCKTFl-tS8aliIyhwNGjEHoZvgcsTzUasLRo6adPOnbb2Zv8Oxc0H4pUvaWmvPGNy0A96wbs2RiDbzRq7_Lr2adAZvfLS7yrkbZPQtikBrCqhDz_aJHWdT9Mk7KUUNfTvQbD-qPNDQxexqfKCqcczkj8y7yzMQjAq7zA0dozoc5sLb9GkmiZdMO4hCQfNSKaxRMfG73BHOMLxyLDcmoN2xgeQceVAaRcL9oSGLbgIlTR8V-50yQPOuGx3S9Ja3tgIvivCtUi4zHYKczv6aLKnxg-OsQlDYgUojS7GQuiJOx_6kM_nntCJuLQH8rYWQt2pyaFMEuLUrX6w2zHn4-RNGM5LDjRcgHGkVm3szSnK2QD6ZDEzHIV2syI--fkMeiqf9cDO_SZApIsTNG0cXXUWQoChpKR6CtnYppqirfI8tPaQl8ErqJdBbb5tpzqpv4dWOWR3uL8t52izlB1hS51yBlBzqdjF3Nn2lMF1lBkV2t5VwSDbGNswiu35e85vYF2z2Hovphuayj6fFkYetyMTLVCuuVCIefazOZzEbdoQtM-6NkMYp8lYUxQsWDjHCMG2YCmVAaMSCXE5VJ1cxbrHQpW7c_TGbLt1NOBXbd3ucktMC6gA9bAPoHkr-oSoMBgP3o12rMsYm5vIfrf3HeI_MeeXFsR1yj-I8KKKeuTJ1KEqWgMogbmfxFhlU98LDCSyPLslmNR-6ePIwkWd3vU7bMtZG-f31Ig1OAA2HXfzPlBhgBb37oWDl842PIm5KlcQsN2mWJHSKE_p6URMPMN6SbomvDSrXA0vJH-p5tKgZzqce495WrNJLk0HdczeJvZwt-nFEwuxrCPqICoqjYEpeHXOs6TT-bnltzcNlQ6RvwlErZEdwGT2G-EMR89ApDj0bJAJKw3pxY3i3nvJSdIHWXE9x2BX6pNUvFrIZS6EgOQP3N6TfjqfbAefys01qBKF8OzZ2dbwoCFqi4WYlqDez0h6lDcrPaymipzeLl3UYF-LMwx-Z5Yz9ueRnDBUTZnd1h1XU3BoHAVDby-UU7X9gQeYnuwhPk5tEAPlM3osYKsyf8CDRuEyvOxaTLsDHep9ZCqQ8cmyW57etQZpXRRKzuWU79KfxzEOW9EzT7lTPEbUBY9yIoAjbE9yi7LfGd6e5UrzcMGrd3L8RqPCk-xRbKREQgmureJ9CvCff3pTaRRWjYgMjena8Wl7cm2T1AAZ3NkXbBjirNS0glAy_WOWURa9k5WySRg0qfI2P2YOF98lwFL7ydkhQ6IRUxh1sTX9yRdtW4MgRU4WGbzd6h0XhDBPU50amNQg11uMnwD1LbzgEMSFZsOCI7BHTScZNxSl1numLesWfHraFs5qyZiygekWMUkLSRbQwOKqLIohINVFjhz1LbEmKBy2V2WQOdREZbiItRiYvyX8ELoqPCA0y0BDOnO1fYSo7OTsqnyyPAahXxmnXu-O7eCF_2yuzaGqxAlVWZkVNTxDix5wWJ5pgZp7zRC2467TJIRiQbLXSbAVETBjkV4Y4i6q1teIjnJtYcz9RdwokQCgOFZ7lIG9r1WI2l1g8zLhgUjVGb0_eGKQRSULub_1OldzT5v5TixW4w-yzw5EeOWhJpcZ8oYxpFc47JX0Rh7Zgh1Ei6McOxv9QIswIWFLL6Kp9HpKsnwjsdN8Vl5RMJfoflkcZl_sMnQ1QaO7q7Mmqzi-NIzUhgWlYEysQa11TOUaL-Jebvu2MSuZ6sGoHdyLfGauZlkEpwIC76mGZ6URkOSu9P4TdE-8QNarWvZn8-E-D5kovAgpO02MBuI0O-PQSK6ApASsnoyRv3mOYISE1Qz0c9hcEZqE1Y5PCY4h3a4hgQ07Scsq-BxBe7EERM20p3wvJlhhSvgLiSWGOjleVmwAlX0xsPdMpD3yNwJcuSKzbkCwj56W8AiPbKrwH55Tn_LES8eZtaHf7jgiRq5yHXsGn6d7BQr2O9fvmLtjnZpP23eKdE1_8I03c8HFWzBxL3n5geEDqsmlT-7yMXktg-BQnCdVk-PEq5xGd8MZMZ7_580BPVDXNR_IpzquJRoc4j4-eKIRPVfJQ90HyQb7bFybGSYI2zWiQjFmrgWGyMh-4qgKBf65qpFhHHwicyOdXNwSl9hT6BkbjqWFm460KlaW8KNs9S0UjfbYCn9js_2L6mNEantb4IsmjpITmrxM-ROp7mFcm4SM30fhOqF5Qq6YxCdAkodEz_ghSxPqm5KPcprHuE4kAcTveYYs7v6urdP07NjDiAXuwmwgN6Ui08XIoG5XLd61sYD0ODcbma6qMIHig6IZj-AI0y_rgu_J54ojbd70Kiv5MRSV3hw4csNWJkeYbgnuk_myMAGj29Hx4NI9GY8vGOf4yDw-XP5eHI4Ce_gMhICr_E9qSWF2yP1Nmh9LUF4iLb6btWP45aujMEYlFg0ZCo0GPhEbgNZ5AIjjlj5yPm8u-BnyxIFTMOWP6LnHI73yH39mN_5Y74qidTZcQDWlgHJFrkCUlXivn8Ru7Psofcxs0Cxyz4Z7MmeW3zs53GuyLymddyW8tVA0jJF4o7Bdpqq3U-VvAoyMAsGnsy7Q4LiR2O5gC_iPRFqTXcmEv6tBI7hhjJC3ZT-DpsJ_HM6621e3_yXmecobX4-m8591BBcL0Q8fnVOWQ4hznFnrqmkMSrB6iJobqJ6Aq47acsEtoVo-zzUm5rV6MJ7aYH13JesR-fAZZYCKM_pZwLv6WCJiLFO8eue94RaxpxKFdiM8dJrv_MJggnXQZ0CtPQZHCM5KAfNMe7d3SNQH1Wi1iswUSL6Mi2F2QP86HMFuXEz0Eu1uQ42C77p_CXCeV3upPtnvIJUbG7zmmeYelOXulTvVFCSSnRXxLmAMF_g6P9mIhZO27_e3x5UfvGF0BlrEWRT-Z0Lc2s1lZ7wb-a_MIhd4aQpaA0gJo66KvMx90-edhJ0eWvYUcmdsxTo7n-hqa2xAE1eC_lB0kqkD2L22ai4CuEF6J2a3wj6mJ750uqnIstCxyWkZh9E4U6xqAUfjeKt78eX1zsbaYo1ud7jawqW-OZtw5NTCnJOFccFr6UWLO1TG23MZ7zSbx2SiARGEkd7u13-w3Q82EsG1HQk9MXANfXYNYCx-EnARexZfQZTXrBsUPvFIdwNBVLzmtY3mrRLQ5PbMzQCo5rKkZORzxL4FEcr3lhcZPi7jzKbRxZbnBa6NJhNbNsb0QcoHofY2cZ7U58g6Mlba7lrUmJaMr0-lH_-h1YnyNkYAMkn5MNbDiFfyATf69epMuumjZtuAoXI7Jg3WycgyyX8YGWSVpDQ7NWxn010_RGpSd6TAa6buZoVIZY-bXHbn1bZr3RXmVahvd6IwWiYCApntmrQi7CO79JQ1XR2qXrpnqXR2TRMiCvN_hutHbg4680is70TKi58ah2m7izI-yelEJVPuYV2rA7H-37a5D0QtYCDDBw_Ykxwae1jPeTVai9CeG9j_DruFVNlMYh8AH-hu_OiqiuO8a0t87VLAWlP06Xa4GDdfgXTXKDIoM_HHU21xZ5h85lDqLyS8AflfnRA6aOI9beYMbAOB_uPwI5MofpMGQ7UoyUgEOkInEz3JXvzo9pfDyMR84GmsmDyOpRoM_F1eK-WpiOxSrnMmr8NWH6wx0x9ulb8IcNQS8zQHMLLZC9M1RvtYoClWr0rDXCjZttfXMq3FX85vEFsY6gAfH7dr5ZdpO12MRADT7nkmQJhEZ0sMNYF5BDQoaAuYkMbxfrlmIB3lL5M2kADwskWJU2eIY8wkBC5OEAN2uKB1qJwpdIfGUDeQ3oA_nItbw4pVhL98Osya569fJSjfzm0bsDU2EVCAi7SHKrXw_-2sgavn4FKZ2I6Ua2D5Z_7wFqVRPIQ1oheUtFbAEucsd8TkkyP0EECs-aB61M1RxAKIbL6FQ_KUIzhIgOHfmDPO0euqJ4Hmi_xdjzDQIcQv8SiRyNN4FW4aHDVnjFYKOSKmWa7WQQy3ZGgEy5-X-DL94j9u2_AWYx9eYyqFexkqom9XGXF0vj3givuv6dIHvLtV8zaM-l4WcbURZf83f5o3sBpKtvfLJclK9y3hY708lgSuR8tXsiTvkwNP3dOaFmqiEHHbQ8tx-1iGB9Hotxh8Sv9culq30AU3Nrd1-ckLArAtUZ3e92X9YbMPDFgiMHArssP7KorZHPtMs2tcqzQvvS3DCQ6D-fEpVv_0b9MmvlgCejMacpFdbxjc4SOh2Jdkz625Yb7VNv_FziHZRRgEOlBJwALlFxprHjV91SwJ06eNId7W66C3IvzfsusX9ytXNktNzTfU_tOqku1LEzhPeOqHffSy_H29RSSQyzy8com_ow_GSxabXHuBMl5B6Q3ufDIyYQek7o1WPQ91gPuiWQN6IzlUw5w3pcfvtVD7Dxn8hWyVbQBDWAumSBSU0v2qSGo6udzkRtKN1GT6B-lo3DytyOGOGBYuUVDs6ZayoKqU_WiFZB45lW6jKC3ODcsghJnLyjRyXrRaOoBDOjEFMSInEgRcr0IgEpD6qTcAkdCPVD9umDlqUgFLg8qjI0laMxWMlTjP8HnAcRjNdT_V5ODgyY5I6siPfi-AsLnCzf7knNMoyMnjSM-jLfcnBe562l_z-BGCwSLHt-1UgsVcIfL7LwSUoZf-Q3iYTQHrnHe6y22kAGiBeXshs89omxQ2W7NutZQM38PVD3WZsBT_FdkjMIZQHDFBTu-hM9w7QhuTrhiOoSbwMenfwgJbKaD8b5F34n4FZ6J61DoRtRvu8TlfVvfXq3o0HvqSM_8X41RGAhi-sfazIb4bnfiBgS5lwfUnhJOEWEd8GtTOxtOfzNdf9N7xfZ04hBRGcF--PQ8hbXmEy6z-EwDiB9nSjLDtfnuXo8gbX8b40SCQFW-l0AKVSqGK4Pw4n9kZaByOWfLz8_M4VysTEqnsOgffo0PMeE8ehSXoUXYqqzEMnWeV4dvVf7Pj6z8SlthkDz_TLdcOAZg1ZzojntJn8etS6neTMw3e6zsTEWT_k6ic1mqx8v5aEMz_u95EsDQv9Mt-ZlMrqf-z0Ge2MaSh-m7pLMHEGLepLpWn2aKRxLkt5XA0LG-R9CBB639M5VsB3AGcU6D9Co_4XTmfAldffKdzgS9uZkn_gDy4egcGTTgfmanxexzIswqsPtnepYIsNQ03BdpJWqRKNZNXcVQ3ltTYIZhCMMPxpdqN94a4JFMPdwE-MMuX-RX2OQVHMes82iMnpro7ZGZfHx1bFhMMJA5uxwZQy7d0reAopKT04YdIhIM0d2nvfXN0zYe_5cLNAcvtfjEZTo3G_sO7PiQ8rYpbIIJl5cN4OkguHmH-RzyGSSU0XzD9SiXUkncQrOJCXQILlXPTTcrg3d6zqfdxPdVcuXH8UUTl6aTJt12KsbBSlhbhq1jv1ciLhUGdsC3yWg-mxoUyNB75MTb1RLc9EjAweUebA6XdE1VCgWMqG5KKnm6bXOVSmDVGSrubbaUvyYQKb5CiQHr_3eDvOFUN7-Wg5emzxGBQRcoqngU5k7EOuCAndWOh4EHy90yGnqNJk7WPMSDTKkPr8yUmaLHt9OsJ_KQkMbhUhZ49Mat6f7OY1_ACJmvJVyx__oFz3aJseCipIc1yFck3ywh_18d8yXtkSjTkEg0PzgJPnZhg1tfuAEjV3gLuIRYQgAKX3CZNFykblEuEb8pM7uNN5OxRBx7j9-xR8CCqrlU1lFg6iTAOUwbXX-onwqjKHOCENaiEPGOQ1aeLcDVkch04kS73Tv8w80Vpl39dGQmyvUoUDbzbXsn50aBPdX5yb7jfSBre5jfeYV0F1s9QpajDhVx5JSJ_HYCwmmqEG_u7hd8UWIyj82-pQ3Fg1DppW249hcQLw_XU1_Mv4MH8-CGLGO3OhkM0SorRRjolZ-cT5qje35N4Wl30WQWwoRRDIByzHmHobjCWcVwAgedUxqeCkykfBiGW6gNfPlL8cvyqXz6rsz9s4Ju13GrGhm-ITq0eu7Tj_y9RTmnBgTMH4xf9HSPQSJhEuq-n0VHqxpe3eL8OYuOv7ecTg98dzQ1RYVwWTU4OShoIWuDM1cdhQ5NSeUW4NrZOYHAw-1cOYTCk_2j9_Pdvc-0mzEZ82vRCwsxNALUTKaxcF58aEcwhUBHbKKNK5T40PNIzwEQHz5N3fivVv2QnSTne4ysDAQ5xv4ZDZcgWEHPHlHElUrprW5BDfY2WuPUtAFHlvxZhwf9YO6torGLN6aRxna6UHlevFNeX4Y69DtxJ94PqQmz-aXIsncJ4LGKe98v4S7JgWgscConFUo6J0PTCCvX4p6tbABAkVfMrF1tgNJowclbD_0FFqMYVjljGY3kWL1NEGVbeUjQ7YaVB6R4Oz7kk2iGwJqHw_bCD3HjUz6QV7EUXn51ZT_jL51wRKViIycLX0xb6WcAQFdLejOkCZPKnLqfVrLImyz8sAmbkKqOTk_LVFYdnhM8fsYC9hYgahfQzWUw-WpeGh9O_RE0hT998PLKw4gzO6PiinnE2D5oanJIYFCsyxHEi5aWcPx73v9YrAQPEb3oXt861eUW98tesLAci2N08xvpZAhb01xApCNFJxXT-zzAF3qhMIf3uFet2vh1qL0n6Rp4HTOYRYmsTcA_QaZPbUgIN3UigwUsJfGCbJpzQiCxIAjg51Vk-4x9lDrLJaoCs7bXSNqAqZ9rThIDVS7lw9z7Ft1i-WvikB4VbTbgUm_IET_t-7AZGom1TODsLc4ylKrK0_0951WhT1lkV7VP34LZuNkIfucI3xptKHJlQga2vQj54hk0q7uyDJUhxN4ptiYXPatylgfGF4oKvGPzf5-wczINjxatwdRyFnm-pzE-UKJ7279dEqzO3zJpR1zEsWNMKOkapIEGz8tGbbMBFaX2JSiGFonV6XY3qHM0WEUwL8qo33U9XJJF546SoeFnG3_3tsuAteZ1g6cchVsAsWlsSBQS8KlqTTwAdzBXA3NimFUpbn9LlNGAblyyjMHXSMc4y5uHwfmLxVqtJT5mDi-KHsDKlILf_77chW_jm4bAxU-AuBJTrACBpv_KRUw5jmw19VfliSCxVGaVVBcJAnkvhQ5Fj7XzHVLk04skJlwvvKNBCDG5Nyl3xTzb-ZmeWvFzOYU6a1fdEld7TgsHvlGTccEaj8xclpnr7LH1g-Tz2OOovuNb70cKTrv1y8KNjU-rhkhsJT_O6qt9R4ZiFmpSCV-8dTdzjrasAAJusKwZuOWoXSo4kTCFmSGwU9JWuyGwNCyyusM0VXypSqrJfVTiWnI0_6O6UdQ2XDN2hhnmOQbKX7IbdxSnFnPx1d0jbpoKCOhH6r-X0tGa6BlzIKy63pVHpoxCoF2cHMnSo-DKZLCyUp-xpAdTStVMjO6h3TZEIlt-JjDPPZq8yvzAf95zV8xOImcBSXhHWc_BiH9ar9lO9eqwP106r5sm4AwptR0tLfJuczwfXHyKGImwxainVLI4ZzLvfAldIzcmaGQUqMnAkfCPCFq87ykLfKVnUBgLgJAHRpWgqPoIdu5siKMeZvkPqldfVK3NBWfUyYGJf1XRp-zbCad03VEjGvkpQJREerWQJ39dPGFvCLid9h10h59IXq7eiVc1OXg4Mm0Pjs1xXCrrrwgj9XFvHe9iri1c131xH5GWnhOnHmNxpo5vj60-8bT5vMu5tR1AdZatyCB7_jFpM-23aLgjVXS4fLk6XvxixIIr3EcrV_rUXbzBRZq64RQMQtyMsTV6YvE9gx09gTZPP_lniGQCn0u4eg-W1Da5GpHHaqDZYiiV25gipyFgE7IFkZRUBTV5DtCiV-3FJfL7YJefZy8WqPm9hRlig45ih3NzTEgJlVDYqvRPteLa5A-AdsO_Ps7rLUYnYU_WDyOSxZUaT8n1bFychNRfzQFwmwJ40oP9zuFVYkwcMZ7SDDsuE-JnPVkUEdyvUoJxzEyw35FGYe9qXTbS5i1w8ijzV8RpQoIeeWKPvR4V6XpOEW0tP9EkNOsUgTfuUY62ADP4bN-3wQMH0Vh_JCgJ_tDpuGvdTRCUsE260sORdXzcII5vSlBUB-yQUjAYznK3eVdrdiYH7PG8p49ubbB8NvB9avtD11d2dybROQ5ziyApiGhUGaxAl0mXpqNR3wZNCexmtGfEoVu24L5q6E4Ql4nsyKggjRFubiyy47aLpcEKJ-x-h9BC6qViQXtVB_R8aTlCiq5u8vPVZNibRqVS9sfY4ZMmMW50H5sdmXfbVe323-7ML1aNde7-WpUVMVPXG4TfGS5EXq6hnTbHQlGPgHmDgIkmrZ1Ok5Q3w8JfMX50WqbsAe8Q030ZZ6BaNdzZ90ZRukx0li7oFjEKNnB9-NiapWoH6Ts4fzdnqXbu8alrreC9F32Jg-4LPwbkBQM_j7794wcAn1AwOnqmMu52XqiWvW3Puprv65kgSrTKGqI_-jXOpkMC316y4ctH4Zn5FsGwP18gK3sPdxP4QePOS32_ImvscCo6iuiN2MNWytylNG00QOPI9D8lyfppgTg6E_ALoIgtIqSszHy5u-kWXFiBWMG-wPIuAhUz-ZKVxdjc-wTp03rMCtovnxHhwjZJ5MkezySNvH7NG5ROR72vLhEaDBYqWML0FsNRk0e7B04iI4SYHOt1FS4_XYWsmA2pNTEbD0oRluszHe-IssZrFpQvi7pRnVPtN4WLKl7yuF4hp-xuwdVpdS6K-M7-UtaqU54eaL1NIM14UmTQShqpjZNmDktXBy5GZ7YwfwCysRziFHFS3qrVTBLaLcZtflIRUUQnY2HClxQYq9-pH2LILuoH9koTf4GHBs0zIwRz1SJAniylHSW07XlCSPzkd4o5J-0khDJzoTRB6aHagwEh2LpRTSUyrGHaGpHtmnPU46BFM2ib-zGErqOticnNE1gmmulqupqUxC4O3s6QohtiXK2DqdhoJPM42mve38S9ST88b-S2wtmFTyFe2wefdnCkaYv8IE4d4RPIeqgtR-K3bmDK4A491nGvLRawxF0pBFm-iaxzL12npKBOKoFRx_e1Q1kWm5dchNdVuIbBwVPypeBb6pTd3CaXKcHy6Wuyj9hds2hCBpKMLm6SOu4izYMKPBonUqhb8zn32DaWTdqYoRWs85qZpZqeCMal4XLH5TywYms5UY8oaG85CzfsOuKu48OuqAnVKQLA2z8c14J4F23mgvrLAuUYM_RFCpRXItcAZwwL8bmzrny9VIqG9WAQ5euEU0cpRp1az4_sBD3EgQtRX9gPB2JO4FFPa-AHmMVJsXw49QIUqVyI_AIUa2uO3hUF05FpNbj62gvKz9VpMGb6xoxOH_uR8B9v1r74ZoxBi2naTdsQbytOoL3pHRcmIYsILIt53gEgQbGVfjgJpSJnfAAuyS8qGyOPS-61M6M_3clmAWIhbz3yg4FiKEAzTpbUyx6DaRGF1Y5iCjlLbWzWu0bXBzTvvaiQ1UK5JH4RB8PTERJvEQdJCXDb3CHCcokyuZj1cae3LV-QDIeR97NRon0uL7hJOnaBR7qUT7-V8Vs__I7ILhXNki8lQo7wKs9o9LhVLxsjTu4-epHf_fDnHfZN8xcjrm5XuBYmzxZbaPRj2d5k9Lze9KqkZQcey8RDsCgaAqm3Y4lGHQj9QfC4EhlJYWCBLvaDE2O9hcIAazVcTVPFoFS3KeaH9DMTB2m4VsRTa-mj8888dSTf8YIRccBs464B1JSAS_jH3_rcC85mVCb1TVG0PHdqxsFz18qOUIQpXH86iItn1tIDa9ecaP6sliSIV601iw80m0tDcb-_TA-T4VrYZmIpx3bMinVefEQY1kQ4ZJoHOrdUy4mTmYf3MYcNY6VzMO9xyDDICeWioGi6kWLuIaPoN44BGXheEERP1an--CW269PVGLBSKHo8c7n0P9jxNRpQuL3SXo3gRN7T9LZQpnStmGzdjSJORH331nhxrUPIVbWoG3rMA_ltcVAke1TEYIvv3o1s02F-pG4i5hqe8djmF2G4sRTSD63MAGQbrmvwr1IvLh3kiN0bfeNcSf6T8MQtBeRtVOZL_x_WLF91fKi9WHMUucypKzPKb7-YCp4ZHQ80CB2cjCoxsC3Pzb4hJFrTbN2oUuUnNaEx1ykdoqZA2t1nVLsNAPkuuUDHb_OJY6ZuW-MnwvqgfsgCJdrCWMu27YSI2C616OQvxkqZInAPys_hniOl5MLqS6pyWwuE2hYcUcE0tE-rKKcV0PVLPvMJ4VHN9tXzrSGNlJpmVd7Z9WRHkIa_qkaWS79BJEa4HgrlqYDDJ8uKz6aq_H_m0ObT06ASlJOrnhd6l5WZTqYbDrdIG69oVff6fv48-_utcSN9C2uZz7PV0rPWrDZtdbLx1h6HAF1jHrzbn9JMiE4fjEjP8VCpdxkIu__eQ5R4TqQizrMM_67TzCmGPqsYgPB8CwJIoZ_reoLvYuGNwPHizbB2EfwL8qq8a3iLT6JCFVbK-3EIXNMPdZHNvFeEEd39Z0uepo5DfPav3CGSmJiAKmdIz3gkaQRpndbbs8CD3j6h6edIsSdXfgEet7hmQO7UmtVd2C_kvIG8FOiNV2hwceQRTvaXVzlGqawk90kGXyerixriZK881xTDp0oxxKY9KBHEJMqN3UebdZu7fX1Yv_S8YempOqfOeSjgYww7-u0mZHdDwijw2GCh033e7NDH-lvAxAoSDbVN0lHHLFRfyjNZXRhQn5AyeYGLhsk_MTd8AWGM7lJMCHG7fmSAM6Xxcnrn5Nc0egfu-vz-xwli3MNLfiEppkKwm3UnEiRr-auxmTQeONVNvx6G6s4eBioB2WPAJLWZFaVqap8ji3f7O21htzSBjlU9op2dzhUB82-Vp-HS4Sa2-Sl5HKGDecZU_-AXHY6zsX-y9-TNfyzuonXcNYf-XG5x0TG_H6VQHQioKoRTfcU3fMqw_jBI5Oe7rk9Ecq0-YuJOSbQonHJCCr-1MYkdZ297CpyHiJ4KHCMe097Uu1Sjg5qtP-MnDIsCCC-RrJ6RzOEIRd2H9KFPPVu8IhUHMvM99o-Iz-8p1gtmk6N6EsO2fVDtluiUzSDzOU5_ld2cLXv39wsKEn4VocE9ABJfHSCZiMiRuyPMv3aZUrZ2TWVJpMnn43M-knLAuiBd6vs-BMmmG1XHKZysPH1UGarOZcKzKk8KUa6_KhlhWC1KSUm18ZFQEHHcN5BgRnBpvu5kaBK5vdfRtvwrfrqST5oXXlug8iyQ2a8FjNPRc7OuQdH4cdRUcNn7oxqRwi7FdAJCP68STkdlQPxXb9la-g5ODjhmeVYYDwK9uaCtjANVK2v2qvYKj1hzQ_8SVhYcqNDB0nAYALIp9L0lCWnLeqLxsYDadyurbndN5lktmiG8yzUoFUlWIKknbsu49I76hnsO6sN8EoxhFrps7hAnzzAJyoziyYupvhcs0LQ-BgEii1WUQbFqEEQSF2lKflXnFdQconFR6TlTXUWhtYnt7weYJdSwjtsjGq4NCcj9tKwi48Ncl8qmza6bEdzBq6W_q5TbdYmB6I6D3gQejXYeIw86olJN2UHxJAUhsfmOMkhGjrtCNau5i8u6Wr58Dj8hcXEjRe7XQbO5IxoQ5XwcWKZPQfROrzn58aAq9fOKkgShxDhtoxXqCSVLSSedd0gfj0Zy8U_a-torWB2f4abWJZoBaBss_eMACowUUzL0PEt-taFeKcHTO7IMnwvrK-4mW2l1g-WzdYylMGxPLbVbiyhXYiQ5SuTeIaI2shpI0Cxi_CtIrGuHpG-xFYCNMixMsZ75UZC1UhCwLkwuBcbWyMM_p-r8QnlVDh0qrRXhX8bEP5KJQzoTgJl6NffMWreLOVIPQHMhX1d0kxnyw85SHIo0h7v9YZ6SRRGFnx8enPSJr37-2sS99ljerP9OHmrHz6Ww81vAc1iE82HKzRN6mH6hB_Y-LuCq6CQy4JieDUG9i-qzlbN8hUBrfGUCd36frTcMdM1q0uP2S_jY-hVKenqMExvjDpI-iCi1GTpDg1XbVbtfflAvC3WTIKCCPw8xQ0EiOQrnAeun6_sNqMnZ9fdzg4BqVmo3YgwUUQtCkOBciU1Xo2twsOen03TasqSLK1fytNIE_C-7ptgDU2oRkO7YiPn-H2wocoCclNJGsCBKU4vSwQQGTzi69kLGnI3kXXBwiXqh0OPA4MCSpAOnrMtrJNQYovCHk6DtIBveQsRhDj0uIe5YeY6ME2JRQQJ-N4rrIBebtotAg2XSgEJhIbERVlLMwU8MT98CCVrPksGxJZfJMdAQ7Cm9Y-ZeuCjpXGWJVLmM1ZvGItC38gbLCnYzGGfRSNowIo6wMi00tfEIKEN_nUU3BJZYE4Npiiwagbrz3CuyBSRhtb_Qivm_wKjQGY6imZcv65RjCX7QrZqfRibhA3-cbchgoMrUmNqlf2SsmySGF7ZaLFPKTcgqO_C1rk8X2a8yO2fe6CvNTNKk5IYIdAQvm8LDxRGmExia1bowI9iQAW-6ExCfGSm1aySFkTt8WBrqwUuZRZxbgADisVzX_CUb_5rNqYeWcyge-FC8u6I2X0s9_dwEorDe7cnwWdzCaqPgyejKl7v4r7-WbsjGcUXB7uZ7VQb99W_9qBZSUo5v_FEI9rgj8dtm3tKNgmdA9_pHecwft-PWEhOJiKcJvbZZ3Hxx1pE489Ng3wepfKovLf_oI-h5N2N-igqy9lGzXvkut_aGSG907-KmYoiODorHOHHx7JyFlh5lBzEP8K5HwUJvXDONyTQDKCS4O4O62_8DdcMETpICIZmGFYk5l8xiPRO8lAfN1lfa8xXjj2Ug_JQtFYQCH6ycxwOAtpTA-paOgfvAuMn7X1e6ZYYa5yOx3JcjBB_IngOFZdLePzrvQwt5znZndWUaBNDYRQKZ2gAbFZW21aAcCmX5xWzhA5g16S_8g2SYRhMKbdayTe6Rtaq4ffoLw45S2mNThmQZ7PEyxFgeAoEktt9WSCwWmqFqaK4yaCt0ulMRRAVeW-1M_YB2TeyXVm_K-I2UYVHm9U3f2ZfOYTwVhtO3IoF5mUwJk9nQe4WRqkZEOUhJsfY1Yt54ZDc5YWi1uLaaPr_ZUOqgi3BjPi5Ggg7deZbrb06S9J07Gz9nFw5cQ9UjuGgnz823WqdaBM-kN3w8rYb6uvQEoyaolm2DP99cypveEqfo3DUKNcXRHebm2ygimA5AgLXMblf76IA39Pn73yyP703bWKa25iOX5tWRv5U-fj2aLowN7hcxIl2k9Hv6uLo6C2ElCOjrKv7EVxmYI0uvaMLB2obZZihtNeD5hCOw2cy_QwtPDISGDBWDkHVD4incK1KG7i4fsAWQczMPZnIUjI11apInnypY8QLx8po7OWaDfu43FmhWWuFkV8hIy9X0oHKUXrClSwsUpU_zOaZcYQLcIpSGCwsdG4ig29P0NYekjX6MxNOCS7OrFzvMZNoC1eORWNXapW06ZLfdPFUMx1AsYDKYtXLKGhPvBq-uR6bDK_kjW1EzrK0v3rCoxYQji416yRd44YnXZQt8gkjJyak2l8qbyCPlgPy33XrR2Dyy44EbGGexqXYK9A55r4vEDarIINJiXGMlu9yXZTToE0DHfTDodiqwWer_nkkq3Kd1vrxCTM935aD0rXigxIg3yEw-3K1HWqTH5QHxzWR7EknIpA56FtdmOJRPbyqjhYVPTLZMJYty5umxsLy1xKQFWGs8yrdpas8IMMIoMi1elYbTdwWYJKhDw2xEOjQWpVzU0IxH01ghnAD262ecDF1NdcQArtjOJ3LB-p0CE1nyvXLVWgon2utwrVdg829_Hcj8ql0Z8obVTrmADT239Jihr1AdQ7sHBna3vXM_9RqdiO8T5azewlEZ57vDq5N96F4OYdJmUIKbMm58IqT45hEsQLx3FMhleigi7Ewqv0qFy02w6TDqcQkISz1hjf0N73ugYyyKeL0vBDklQQc8FaVZ1WnS1BRC3Z1ahQGbTbtYtZZzGtttF7HV9dw-Vcb_xyZRAV8Fu5DaSFt9EiiQzOTzLuPhrjL3-57giwmPl8RfLwkJtK1qdDqLdOIRpBql3vtPfI0PaAjmD7PQI4BvaLEbyHFkgAH2NPHsUnJYGANZvCtKz6-JZcFG3ykxPKFXmmNkWN2-hE4YXhtrR9TR8ZuZN44h5xdLhCmFxLc93eJDNAujU7IB3MZoqwE-00M3JQgKDuebqaJcUOJK-hY6hpYOlnJDPb7jQxDqFKuYTtOmTaCQ1PT8jvyyaMwef8jIcZnZWJ_Nat5EiCf9Jwt2e8-G1uQv27MSiE_qZl-8Fy_ghC-N9U1V1Z0UrmlkYwkf2Hf7WzqDev4Mb9TwCTpsiyFspcuR10nbbjpS_LfiPZC6QG6_mapmBnFO6fN5rgLYRw7J1YPXIrRoeLgOmoBnM2w6sahmLpdAUwkbb1xw-zddKBqiFY018qAAWRrXIc4D1KGMti1VpbkOYznKhfa-vc-5iPZkSr0POSf2XoMzV2j24WV-CRnBZ7N217dGr-rz0UWNGgqdmHkkbQTt_ptERjscfue2rXh3UZTnfK7jIRw5F5h-9KbjM_MoF5v_5V4tlLN8BkmuQ9p0uxLUsn1SO46dJC2qUaPLD2oofhHxbHO3fL7mR2HgeWZFXRpC9DeH5cKm5A90nWvUXBxoQ9PObCRMMvNxcLesZuQzXmDBXeljI4dv9kAkSKCwkOMvlatkJu5YRbEaSWpaUKiWFsfFzY6123Q8qsOExzwgqVjA1hdAWFVwQo7u_uGAtxszsfv0tiZA1MP13FngzOAtRfHwoLOC1GSvLbfPHVvY_nGPaeiXMRh0IdYX_J0Wiaf39xoj7sX08JbNI0ceOhpqbXU7FiB3nrUu0tINSPKK0DnpEEfnsRIy01p5oHAVgHITdcEpTOKxkSzuuRAaF4-XlMOI7iB4JRxWXC4_dGvgiwg4PzelalEEes1RwjLICoMcfQhitshxptBupFJSZLwQxF7LANYGPcKZfKLgkvwegPQ1HRV6idJPRVk9HoYnlLrr05smfWThjvatAYwFWXLE3zISwiqeQ9xEGRcMEpc47QPy6_Cikbz6bUAdLqoAYvZq57F0zWB2t_XJ_XVxOoyo9IuW9Ucxcs9HhMfmVyeuVL2yhTW8e8bDGX1jq0Y4NYMSUAhrai5ppPVLCaKvOMK1fiJ0eVLZDcHF-LFnOnBELKQ_yCcazvysR3YlrEztyiCppPZn61d0pe4OvJ57MeDkFMA635QS47T1EwwN4verlxx6-irpXe1nGsoqiuX9cv0cttvCdj9Xl3lWSQDMOIqtQeu2n8et2KhShV5JyqskQ4R1nPbAP4pNQ0ycFkHk0LK39QOOIwEYHHbXNu0OT2ao0QcQEHrmy7Ofzva7kbAh24dUVq88mB9WFiDmRqxFE_3-Eg-RgLrnwi2lM-EEsVSCUs4vWPInvdg0gD5pnlYnk038ArhExwYmowbShPRb0MZwiE4i7VpWuOX4phaW3WjFVxyauXv38iSXT3npEYDzukMasXaPzOm24Mr1EcefPmvFmycNw5BzNXC9R96pCSCKyGng_H5Q-TJP6_ZrtWrAnDNnDqZkiUzztRSJ5AIcV8ENcrDhgm58EDsQFVD8jpK6WnEBxSwbZxly26jRV_FpaBEtywSGqSInjdYPOLuMONfpISvfaE1LbBdYoVdOjT3V53BMjoi5v8Ddw7c8Niq4VtoAYSaNGVpDlPNXBBD8LbcKuYdDIEeqXGnFCy6ixY1vAVVFhq8LQPQ-2TX5TxpztlmIFjlRWQ0mGlyHNafJV_pzcJkkpXqKFT8fq9UWnwcz_5EGO3OM__COgQSM6c1XH7C9eI-tcIf1scwjEA8UJAup4oMB4mJANKsrmc6ilft7yH8obKCJl_9g13SWSj45s5ua2izh41Oa9rEOP2aoyZvbLqM7RaVx5X6bzm_00kJ5On6jVVbhJ5Le_CGMg_U8s_eVNnzNwvIYkvlRdbdGTE_Y5sxYOluiQKXKQvJkkGqFz8Hwx0gzqRtHYsNCM64WGLqcv04Abn-WYXdQd74KE6bxlvwOBCGeG3abhTG3Mae2LtFolxylE43j5OkFaSSgq06skryAY10TJPvZaH4cZQenj97lsqg9AaVsAXukHomMwlo-qeifx9b0oPgZDTdTnNWcXS8JM2_BWG_OiBP4onuR7pIVC_gfNoDJOZFPW026mNtmLCgPZypNVOxprYCa_WfRhy2m5G92wZsgXxohG_mfQQZZR_QaYYBgFTuBqRtgxWp3mB8RIM5-M3A0FvQ49d4LRP4n3EMrrZAbWEZUtLEbFWdCXTWzoh6sNfGroAziCPZJkLyhbzL33Z_l30LI8d_90Hf2xYhSYATVdwda9Kzzh8Ld_5gR3sIYbkPQ2qkqbOSDzp3FF1dzFZnO0IUKwyMlYR2dhej9EvpNv-T8gFNJ1ZN1LRwVV2nKVdS8v_JuU9_oDzXC3Eb3uZzfxJSgGZ78NVFnsod0HjcgcDEgwKS9_T711nypib4UU11nFcZdA2PlRk1eDGC1603TJLe2xxR06AV3B9RA8lLdE3iSFBNTwlQEmUbQcEQ8lz7SDiuOrbYv5DxFp38mmeYxNGC_OXsYJFOGcmfbau1kEpqAxApac_0nzcYgg2UmzpI9DnUolb4jRstbXHjoEfv_WrhcA8RVsf1oeuOkFdrvV_b-m9rimeYkO5nplTijDufaTGrQFIH1p0CfPwCqNLjAR2OLpZSGXVnOUPhSaHmJcVmhOCB1yQ2t1fWECn2E0C7qfxTES2kA7d2B9aLcqUzjwHRjNi-P4H63J-kVOqRIAR4_e2HCcNUMLW50y3wuTrWmhywJIzo7ybrRqvlWIFGFGVOTnN-TjHRhcTlvmgBVSIkIl6Q-1voKUfEpvfKtEY4agncmYxDjUuEAwHknEm4hawJWEmrhphlhJuJNaN3HfFpaZodKKkFpLKA0RN94lcPbDRZJaN5cNI_J567SG-pmQbh5MdDD6oxLdKjfoO5DI77cH0KXZqIo8eMwxo5uCS8fvLwKb0xznsoYhFll9WQjoRQF_iJrb1T6tb3nT5UCpamOzeLrpPJgEKUJSJJSHKp0qcrZ6o-ig4lT4nj7h8BlEVpKMBccnefdKgPbuNX0gyGSwA7eQhgkOrDT-FhuLGNpxqWuCuNnRa4St8XfnhVtynXUaZFsZbSoMCRD13p5X4tyV-86qPzIasQzO_Y3vcR3eGzisCckJaHu9lB226Na4y5jAHvfXSTuKi-CN5_cyc22GVjtB53B-BMKZKf4B0LbM8bPqet8z2crF3vsGwCDONI3nVE0-MKQ02viqLW8nh6R3cm4557h1NzAR_blxlzuDEMoLEldbtFfqjOERC3YD012ltXMRaTLNNWj5gU8Krphdg-EMa4CHi5PLGZc8KT1sOKIrbOp_o-LvPzQUflR14t9WKpI9XsWAZNFsz2CmWWCs7p13C9ry_OlsBikXFHPs4Om7c1ZnQB505dU-5e0_etgTISbtuj9AGOOC68o8Ug4t1gyKxh7vv9SjC4MkmztOZq-ODkq4b4cPgLm7Wp0wcaUfJxlmf1f9hm8JQfZ2c55YdVlIwMFZ4u4A3RdGTCB12rBfuBj3IAq9NV6s_g4ig0VZeaAJs92AAOfyocnDmebpsb3J_Co1NwQ4mmCPCSNxENMs7rduEhSpANxk0bKGaR8CqbG_prjcTuERn2Pv3wANjd4NWkkUrOewaBoViE6a6cxiyc-bj25pRcAqxMYK4NxMJFXl4ymuQPU9tW0c7eLgY3cpvgzyA8Ce72AOi1tv2omNQ_NschdC_KFRbvBHcPP0aZE7x0tIW5Tqu54RL3S-3LWvp0-Lspq6yZc2M2S7HKQD7zjNKR4JMav-KLaWpJbwbumqtHti6uIZmuuWK3I6t8QSqW37XEd3LGRHaL9VpYkhhrp--L_xWG4tGqXILBPpr7ValZo07xVsNIM9ZKFkGrLrZSSUaTyWT80xlHxkrJwJOg16fw1ZWECSXLXTlOimRW1M98uHEq-cWnHoEjiI1Me2uJllBooaTYPcusMl3H-8EDKy6hZ5b1ZYObGBe6sV0icNml9v49upeTeZQ0VaEa4pM2ydj6Vjw8GePepNfa8Zy5IBIwdiH2HDitm_tDYMYHuaFlA1RkqwMqADVg81LFKzyAsmWkwAJ5CztzcyKrWVfQlD2lylujVLKv9TlgUb-w8bsw23IjkQUia2rbBr33OH33qebplAlfASSs4fABQy29ZKJXnq5rX7YLGXcOyMmkzQdpTwbYXVVruQmAyNUQ1TV_M5aueE4TosMZV6nd54RkCV1bySF0yyd5QFby-ixWZHClkE66LnZR2ms80-liCeBbtUOMZk2mR1Cx_4s4pll5EGPUcVbYcQ9JfmuCB9zu28fPcjJ6FB3eFKWUXxjRpqi2HLJwg49d2HYj7GzSXVUi6UGqFBcJU0qM6UKLh7SyzTy7Q9FqtmPLznEoi97VZE6bYl_Dmf_3tmfIqcEv_p7LYKYPTgeKHVzQtkceiN0nPqfvnml2KOf0EbB_LWeZWA_88jbFMHIKbq27_7tzv9fgnTXi0lwNu2gSYvGJlZCUdLwVuYHOdXyOe5ZkqVM4wJ4T61Eu4QEAU2F_5I0jcnDvD7AKcLyIdGRbCY0dZHVbzvVZN5ntL5Zq5LkrtGTzd_Jirs_LgXvDMzowKwmLH3I85YCTxjWbCkKB7XQ4xxt4tBGh0VbhVBgtJMKMm4wT0gfYbp1F56b9LvGpMhaBkUrAHTkta2QATTAdMchYgCqR_rv-Xu2chTF930ZZoRYkKg_HHS4njXX04G1zu8DrF3KzauBWfI48fe1pnTFSseC9VyPFXQvlroJz_gSj-j8p4aDivjQ3FsSjRAB3nSx1EaUXIDIOQ7V5ynaqOKF1GMS8k6Z-bUwy1iA7lyhqS8-kEvVbkAW3L9W3GgFDPzNM4eBYJcZ-NBRXrRRVc69kd5fhHtTt0F314fS3sFShYRzbdsU9C4dO8cSj-y0CNQ3F4wfXydHKBdr4MtIXcisBT-O9ILU7H9eETp_GKPSURv6vrIr1mopjWRIQuBOwqKiKhbwMVS4sFYzc-s1zCyvU_PYCVjhrewvbab4Jhu46CBcdGXUWeH8uVhmXnfdljjYlw7kw1iLp5OCIKRXux0lKGLNixCF-d0DHwMbGlOQ77sRekuzE23zI5aDOHgAhkGiOLOuhTiEZOG6hXJ_CU3dKmRfzSUnP_0r_0-c9obK_rxdins1pxh8iUSnaErEEJJmEotnMC3GxX-Ud-nOHpT15o2q5Iem5eHlMbTFnhmY1CfxLx8i1xcca6Xe_l1OHTyX318d4crrMAh6UgvpX5Jx6EZETOt7-3NdzgDoH-2CPouYuFQd17OaSaK_cJFTlio17x-kJEPl6y_ROi9bIMBNrz65Q7QajyuyhoVYzt7Jry0MBvjgRSO__3PTHl-sdvaEUZD2UnkR1jrrLvAbc7A0murH9hw_PQT9GRO04R0RvLMtuc33gpOSHnurirRC-6Doi205lg-gN69zxIDGVsOnhTSYHzDGBGt_nYcocJEAhqNjmKIxE32DAoXtfBTYiXN-Gfb_zeNE7n4yPwZ3GIgRA7EwRc3W0rPvoTDeGnNNcmnVZHK76mE8_oWm6qNW3Im9LXYYi6EJqdjMuL7Gq22YN1Be7EVKkz2GI1CFH4G5JCwr1WqdkvgMQp8arSJG0M-ECYfdsob6DcRNfGqEGMhJnnphZ1IcN2TSXwlEfISt4enlahYoT0roBtGhHFkApuC4SkWiL6cjUkuxV1WPcn5YruSsatCzr5TaasXjprxiiQ6mwzT-JIDeIWRD5lw-MBJPm02KQKKmeM2ZEfPpiHajJTr9nIevMIXXe9LPCJ8HqDu3Bqqcnp60OBxlVNri_L1IIQk-SzyPSxUOdZ2m2czfNBPenTkc2D2sc0zM6--hGpJXyFB0OYyU133xMY0gpPEWw23xNivqMoCvev_VeUqRckvDFCM-kI9HSAG_RUaj9fWUQZtrRaD3SWW_LoUW0hmZrV1ZmbpIfxLehMgb_whzYvBKuy_GRgWzAFE4ZLyUNHFDt8lZfk-ckS590_01DgXur_QDR6SEdkamdLQcDzoJxVvz7bkdHKtajbcr_gwHuzU2H03nPxmZPyzFXRwtLLQ8nX2HPPrfDMkUFtbU2M8bVpZ-8JrHqeFxWkA7MAT-MUw9fhWiQICO5Bx01ytvlc-sKCX7IoTyFkBB1jFA5SPDgrEdXe8l_RFE1BT9qCxQ5pYwE1U8il4Ev8K3ImfimhMMV9fff5mAMKFAc6daWV_ysez1AfF8mPXSNjcghAdk5B2TZ1QurRTRnC_1gvvr6YXg7EdoVa0EvpjZ9GSVe7X-G_zh2bRm_Vj7MlIuj31SKQfKtM41Gdybg9WF70YuQOzWK8y65mKNsDwpeUjM8h2ggibRdxq4qPtDV37Zd006O8smWKKqPVp_A7L7-viAPxvd3bfVV5E1MPwLN6CQf6Lixd5-M8xJk5JavFCxJl1No_1szoz5CNEV-_HpSg-ifZwAD1J_e7_XtIIsTrlaQVAyt-_3rwbZAY18papiA2TO8CMkwFEX6q9w1BTB8oNwlO16U7hDWSBl3zZnzbWuSdOFUuJayyPyPuerWFFPD_tvrPM8vDiBdJOBHtMAHgwZewe8yoDJvpiZkRSSUNfWWiPKUWKetTvSNIu0XorJMmNknICnaW-KZmyN4eJKPTLH45dT2x7HVNCj53WPVmrlo7lxqcvDoHG4OtR_KOO6JXiXbrVB6sCqQnoTlXgVKIN4sKWSRSt4HCvU3HwvTo6wHbNceZyYuKwIsPgScSYLdqDpLyhl8epPKP_qROwLaFzc6ljUPxrv-NNTPE-BkgY79L6neqBzLtpgOML1OG4DDNQAZ5bg8H9pqJkJy7IEMury38tp1Nn4gBDQSrAURIZTTYHjwrPRRrIL00jqjSLNev-cHMgu0_czHewxGy2vmu0pxH4RDhBgK5lLAy6qnvVxNuEGZ2G8tz199fSbSDE9tkCZqHgT55MdkJu7Ov-o9aJJoyTwm3JZR4xvHPc_fKAW-BJlsGNLMXG-GBWcuUua1oqFimXPfgiMF-1rO6y02Xs-wvmhAwiqa6UGKZLFtgpoZxAgpsUEWy103P2oUrOtYbpsmVDabDPWQeYmiCqLIiWsQO7FBR8UuuSHWQCBuUssPuOie7FvBU1gO4utj96zRWiuarOfDk41SqvOkS__bIXo0EU2PaOXtSzhorj7xeNib-1PDerdpfcDgWTUI5YSA3eR5seXlcZjdxNRg-7V3Fus64J1FswTMqLL_AmoYLBzpyfKSKT84P6VoXx8HY_TfbMtAWKYKwXX_AHFX9JcY1yJOg88e0-xPqVKj-OCxZ1Pw8j0dXtBbX970z_c0BNYOFv_KUh6tQ4-8lZl8wN5JoXPTzQRpMxRzot3GO-MvBq65Di32OmkHEDBtjRygUBYWxamg0-MdnRMn9zjPhuAMs9ENJ2jmU3pW74mNEPN58HPoJXpu1PfJb8AtBcDjFMl36qm9RR6jImlUCmQC0rI63y__yGNim53aTsocw8gztqlyAUngL24eSZ3V8WRGydputvO39oH1VxmQHBLfhUAG3V5gspk8taXQqBVkTz8zuBK4Ov4um5bnIAdjTRipKdp3WEUqAEoVn8lzLBpzrVzkVB9io40MJJ02qBETqOOeMueKn5qhiRy13TmTq_0gG9Rrr_HbZi8WdIM-pQXwBMydbcma10IJk6gKeH6c3Nve53YajOB1dHOPAlOC8FN7BkByC7yn0EO7A2mRh-ykJ3LQsbqh6kxOzEd7cCVul1wpDnLHCwYuRvMiR28Jgnx2fkL5eZcpn_QxvqtQR-PH_KAcyQ7gq4Sz8BKbz4O7RSKIOiPbu7tmVAndMlieCTkIIoqEBy2HQawuV82NXqrkpe-Xq3MUc8CHJdXfkQdK4M00roiixNo6qpK8gAyim4hdXvckjqs3Qj-VjejsEkqi5WUN_t1iEJdt1Lyt5IvSpiH4xH4aNPSmjuYVPnWhGlwkwn3hz4k-Y792BNFZuboWrwv3ArBCvx1ouEIJeK5S28c-hwuVJGpLpM5H1BR_lKoJVpmzrLUHdC9FLyQbM_z4QR5DB7BunEaH7IfruK_HjVy6N6EqFvoRQq9iVCVgJORYCgU40Ze3XEpGmbiHnnGIMnT18CMef97Fm8wpqVyIhcjR8iM1bOFY1LVRGW-PfyvxlXfu621HtKbkMVwSFL_rUlOXZ7DSZ4cOqbnOrSd1di0d6Vr3BkatjUJ1kJD5KlE45fpfZQMi8rZ5DD7LOZfliiv7MXr8em_4VwQk3s5mzM3Zkv8eNOgKaIo2jLJAb1F2oPvSPV6QGJMCzosanIUeLas4MyFnyCDiC_zCXhurZdeYL7kvYctp2_Y1l9BagmUVTNFUPoJtlzfBOGNgxyf5Lf0PfH-QOZHlypBzJGEDRHt7FtvbGpzKvW5X6vsBkJOdKszosf3Y_eVOdT3MVWnx7ZiSwQqd45p9FSub3MJ1ijrQv7AgezvBfNEoV7aD2pMCKmG9Fv3gJyaUiROXuTb7gB8NxWfK3mrWoZBNFBGJglPwwuzdm1YfsYll25pPF3Yb1VxCjR5Vcv-F_Cx4T4x74PewK0vWPnk-F-nmhByv895r5riV5uCyL8lf81G25hSyFLRmtQTWc4cKiIKhzacn4CUbwQVnoZVZcly1536U9WRkBNWvVSuNw0r9Mg1SWRJhQ9BDkqMiZ-tOHS-bhezfbcc1dr39pGMgi4izjSfE9ro74_GODj5PW7DeQyPc6S_NSwdb-FVultVmYtxrMRGjJQcGC_JJzW4ed5Q9V70tnYnlfQ2reF5DhAud6UlL6R47qd1JDL7S-T-GrDLFNaKGGw1OqN8x32MOr07Nm14Zz_mfvBT5v5rcXONRYKod_7K3aVUcRWnM0fnLGc4vcdZ2WsWtTJUfBwWSopb5yLx_Hy6HcGGI1YOq31GJms7ZAO42-yPRC6INd0M08gMMDxdAeNtlZCUdmHCaATpiBLMZ597v7n8IX0oCZwUfdNpXxax2OjrSHn21GWunZntC0f9LuTt2RPq8sxfbUafNOzoWhN_aNW_M54lLPZxbtLktSgzbgSBEBM6C4GOKzPkaHGBNcNWoKl-H3ONtKqggfV6wmWSUV0Emea9l0Wi6IpePd_o_pE3BbJeNqZ877wJ-ryW25ysFkfFaMvU8H5gccLgrLPuv6OIgThclCt2H7uY3smbrdlvOHvVjmwnbNxzLp0Fy3f8A2znUndB5lBuFGEMoboPc_3ih1DPGi1Fh6YmunqPWCszLHfeOzLjClPEdw5YB7rTdfG55jMQANPcZv-nq4FnJ-rfPF9pj2ecQVZOoD2YgBLf7I-GnU_-21K8D7ZUnMX9lY1uDGHzpKO4gPo6Tg8IRj_uFOx91VRFgocCo_yWBwoiZpa6Q0N1uhILbk5MvNvK3R0MedwQqWl0q89i4eQz8fm0-AMlprW5CM_zclvRLXc7lnsqsImgOWP6i9VB1ey9QLnursQEYIkC551NkXbinB8P1lm6mY4b5GWjbWeYcqAoS65U2yJssmzo-tovMlsZQEZsIcYj8EIm23e3K4nvwi_SU42JHo0AqRgRe2Hlwn9Ok7TKf6kAg4Q-9bNlL9KOAsfe3Y3tQCy04oGsLrcJGQygsaKPDG7O4R_OYS6Ol4qiERHJUAVjnhaCFftP-COhwRRR15LXRrRGmA1C8t7wFqS38xPXx4c_1B7-mc9uha914v3VOQ31iTHbA1jOLsxhZu7sKBroWs5WxHsAA5hauG8u02D-HYDw2WvIXrGS7qCQomg7v3lcAJabp3GJ41sEbtysyxuwvrKUvnm0Z2OmI-1WR6j5sW7KEJ2v6DcekiQdN0TmP4NBe2dV2Kz_2A5se6L8kobV4N7ADm2tBwGQKBCvcOw-SHV3MbXo9PZWdr1KXHbaPu1ezYCmh-NNptNsxezaIB9PmiLHMmPavsDksTGPZl1MVol7JDSVltLvVXRNgEFNCxAlODmLOn-jEEO5fACWpmu4RJVbHzdap_s1zttkE86kif-76uyojBYW8alItJJb55G3e5MZEvgZAE2_-nTkRbLG3BMtN_-lYWXm9YDR38R-lCZzUyDgscTFC4-sVZzkkBWvjdCQO-8nno8TSr7fBGfzEYevSgGL7Pvn_j9DuOIGFySTp-La4iG51qBMzoXDJ1343YOwYN07YWxL5P4mYiEttaMIzUQnHWcDMWvAGEBfUkojooHhABTK65D28uc2aVU6fi2v6ZVG7fBM9FrfLxIwutYUsR-ZbuVE4MBy6NzK90WoQc1C95krOKOflgvEvRI5YZFw4wMnsXNpFoK7LtNl77bCUKb4gQ2FPfFMhKE31gi5GrB_Txqa2BPXeiNuE_o1FwuVFgdm6gHguK4_lUUyCdA_Z0fgdlqQa5oK8NYgpqQcpbsjnWT30dSWBAPk2A3Fom7T_ZxxMFAhJUZ7Dx1XMqTvS1Phb_gs4QIVOD1hvjaYbBj4GQgd1y0_wNskgaX_p9KRtfGJui0ohoqhJ4jUAYyVS8ExlAnO6hyE3VwBAMcys9LQSQ0kXqffGy_vWRggUHAPhCXcYwSqRfrW63Tr3YO40dwWdu5DD2_hgH-5kkB3h49TZHYtDyL_GHPLCUtym4_s-HfVf2iZ3h46hBpbNaBs-oqA9J6H53ea_wncFLMThKtX5r32myQLCUsRl4B8SIk6SP1FnD1HPaB1kJ-ZoVcYQXA-RVynWxDvCpW2H71l8YybEUVJZwr9xXvK8HMDMULhNnoMHyAt8ajQYaDY1KXZhpwkXzvHveCcpMjGLoli94nniv8DuEJCrNujvfxWz2ucwXAzlqDY8Jn6fEY-hV94lprEG_YsteCWciJzsOI_rC9EEBLer3kFPac8xKApiCXoQlwqAzMh6pccegSI6X13yMQADBPvav5ymSzTSuXHqnnjGIqW9-VENUMuBRHDPWVWNEXC52sOrt-WrEXMOrJLonZJL4lXV8AyOwgD38zACR518rM-2V1Ahn6OcfRE4elTxXrYsf7FIxxocVMhLZomjQfYlToadJauXZi72DNJn_ezuygGnPYmJaPqP8os4dFNaWCm4cy_DpOpOUbXF1oP_IxLx4ScD4pGl_aMH1bk9QTXPr2d-0MPpNJ4J00ZsRBLAp9jmFkW8nQ2oCueZSUe9t25RsPmLsr9GzDepSoHP421Zcmir7BTH2tJTrYxDNwEWwLbiqS-6V32XNQkynOdUlExmj6cTzjnYVrrtYhx0K-sptjq6a82BEHbRQvlkUGnbhM_4racPMwA3Tx7hUSbM8vxQg1zG-kFRoKtylqxGoPEKwMYLnk3GbFJEKME1nT3ysSQU81dDQ54I5wIh8GxB3tT4UbP7YLuVfzKL1cGRHnNFHbceElwEuDva4CZqngB26GBIrxhdRuW6E7AVcjiXGPCh1pvSItPStGrlPoPBE8SELDpjyMZcxBs_CP1KUocsyBIg-7PwSueXedMz9LeqP8NKoBtQE7HmMT4e7RUwt3z9Xt-vqg8S22eyLuatEty_dW5NajfAXMylD-CcOtvwdSboYqbc5vP6rVdRvZ1yLRPMF9Pcwm_pddFMr8X1SWQvy1awrCJUtrodPd1OvPet7JsLqh0cHch59fskjmcdwC26AQBvXy7WeG16uMCFeNEJxxOkpARdrJZ_S3dQWrV3YPncrtO3PFgDq8NT5890Hv93bT84viTQCSHoLkm1uFv-U8NUgySAB2pXWngEhZOnlH1mMIzmSSpPqBg-SVCdBtuHDivPaaXgqckenxnFuBnFe3csynjFrczvMbMR9ALl6gAMyRTwQM9AFdhP54Zde8vLw5FZSTERnOIwJjBFOrKz_lWszrqXfHw06Kikz5OocjVGrjSjQ8YkFGoZ7S7BP7hHmiXG2RuPZ33nnwngvR3-UUz4x8-f2BNLTOrlwqGplFJGv1gonH4IPuyCIlK-X5K3a8KbS-DBBo-2IrFUP4_9a7AtruQSiC5fwRlbZzUvy2icQBshhKcaIUPwEAhF8zes8UUXZZ0f2SA5Ijhf1-ppY-6GUK6ngNH6Td3Kf-AapqFJEhTisck8_hvLnhMi22Md-ouN8ngJwpVRIfYqnr_kA_5BAH79sJufVoiiERqiTRDq6ah3kD2ckBjyO34Y3WheMlw0hlwSnVkrC_SSkqcrDQtKqwYttfusfmgyNBNL_8EAy1tN6OnV_2xJCUxYoFU_RN71RjGl8g_4kIHaZsdD6ZrIqd8u60NjrkPc92rNd_kRK2otkkj2Ixk2pEQyTbwtPNW5ttJtedHLqQYE36pmNxjV6qCSiQJMfEZNngj6U-u9jTB0awVPnBsrAIOhv-I-ot102yyaxrdAs_ec4EcRs3_8XCucVhYbHx-mHO4d5T6DTGZu_gzPjyRat0LQYOItqiUBaHIpwBmPPrUYoWcU1mCXsawjVroz5JIvljYtuzdTv6id2vajwvNuH7O_yx1wcFGJuIszdnQDnEqUgQyVL_LKygEsON9dAy0HMptdONwlN-dANs6e-KSaGYzulISjZlzEIt8HGLOdyvmElIoXKuAcjD6d8yToTNiqVT5kKrgQau23TfH5pLRG-oj1ZgkzuJ1lwSltnGa9L4Z80SxO8jEvmLU4ogxDDmbTAcTntS6HDPozPV89FTi2Z4s_am9e64dktXD8IqPThNCT25stjbd1EdUW_jwlG_VHcoFP7uou5FxT7TEZrMdH6Yrz-Dh9mAQY_8KDjlDVDt8ttPP-XWDb8KS8NvvkCDvnW1UAYyj2OMiOlo0gSLlR0vAD1wT7xr2aLj807HdiUmTXl1uUledPhxY8JrAWslXs74Zoirr2xO3At4EXawbFyxn_n0z5VdtxrlSch3kj5PFe6Vq2YKGRYGCMWnyGc0VLAHJTAmMNZIVCCKO_Dc8_jAuwKSAFuxzbF73B5v3PVu3roQ6ldzdGUlMrVFVvx0nvkIZAg_67o78kVF9pOWsBNmrDyJtHTkrmNuiWyurIMFhPd-ISfBdku2P5lo-rmg_-2VW6XsjSFgbjcj_8CbFKMODh7VltJHLe77O5d3k5Rg8AZDPjBV2uQ9UOFUhvNXbcCtQLuhrMmgWC_rwHCnC2l7m-jrqAlfSA5dFBNwgNYzpGqc6Ypj53Hvt9mkZmYElPVadXGplG7dmjP6DKqKzE33PSJ8qGQZZgGlTFIYI7qJEOyWsvVZjLSuSvHGmHZ14nWu2wippun42Fbzvv3GwtlzGHo_EU1vZckL8QHCYPYkYZD3BB4-1-zRMkefEHWKcgvn-taSrAeXaPzf5gpfaeG4jHdb5OW2ZO2UtaT29e2KpsgM8tFH9zSmg5Jo2UPkmp555kjQsFLqKAnAgMrYxKR1MOCQyhr0QDPmqPrwTLwEyq1wikeJ1T6s8sh8W0DAXlye_8Os9S2IND-nn2ihoZ4-4I-S5wm6FUpq_oVDI43YLqHRxYUq0yNGEoo59hXsGAPsYuYeDx5PF357v7ajCen_qv43IyqVDB2pknVtP43AJM189WteOarAiupr4PSnXqdSG0g6RGY-Qr9z40qI4D8tmffldQx9pIIdqR2bgHQIEf_cqHnRYMALaj8Uexhjo00_g2bhbH6d4OtYqRNZvkgYyE1UCjoCUa4tUsQLp3GT5PDGfRgBNxOXCLABlLZCkrw3FqhA37TgD1Ol_-_Fx-C4weEUC1qv0SqRFLk4XhZkXAFztNKeCl7U9sefBrDGGMXVo3MoIkeiKgEH4zQzLC-wChEwwwMX8xe-ulXcMpnxMJwBLZCxjV2yTGAInYFg04jFdTev_ucatvH3jlGK1OvzatRD1c1yWU-A9QoUHq25uzcNmy6QAvV6LzWgKgllQgnRDhfkDaBVPB9lOfRFtX-jepi14WY0dIsArhbse2wH5PoVIEHV7acYuiS5cGkAw2aaML2zXlrr_DCmaO_OrBrzek5-NhNtN1vtsr2fR73EMQyBhIXBppMTpB_4WpwpMLMFlSVSVgaLz9FmxqftQGb12l9S8pz2PSAEIEQQ0P8Ssc0pej2kEFPJGyl9fPqPWQko0HnN5Ng4elIfNtWsvHrvw65fp8mYOVLCDiKZjFv6bglb56iJl3gmEGn7szqyuoQdshHsBbTXvV5dPJpFeym0mjULOt7d_xom7T2g20qQzDySWBhVqgagIyi_nBb4mXRzk31puEZk9psF7ZKuI12svmFbZDjGsSG7fLda4vP4If6yhQ_-3AUxewjmLzjvn4gsZeWUw4LaMDnb62ahT46gjb1ynHzgTDcWEtVOSAVjGgdiYE4pRASjEwB1cn9-azc1y1u1BjbIrjVlflxLUzxAykFdVvczc2_qUEXnF7LVwOWTsHOa-cxkuwKds0jorbwdN1fraSiTTCyJCv4owyMhAfHkfk-CUx_oeJVqSI9oMTjaDsCeQnigul3JUN_ntuacAWLy0xM1a1tQ_u6lP9KxwWpiHpxp0-xDq7zIgmclksJsqq2erEjmLBdsHC-k582RGKMBz6bW6yeziW5nC23nK8ENeIV1sjgpKn440sa8XvN0Z-joSSJQf7NA_-H37dgUr80H8FbClqQOacbMRwKrZ_pbcfTyPHGCXyIJhN5zgJSLBTtt5ENyRar--yNp1Me5pL9T2yDffI3O852yjGk34okzIjkZw_uoFeNqR-cTkmeDy0ONjgyGtqCgrTM-q_SAuOa4Z3HnqiEL2MdwbKw2KuNo0ZC7Ud35-BID3DEyNtCtm1sA2odXvbG9BdZYxOpL6Mp4oECHEmOtuK8TYE_U66NaRNRKclH8g6S-VuoqE58EE_AYHYYYReh2K8rC3JcMBbaLi1iVu9DNYhz551Gg6vswI8WODkt0VspTp_CRIXrpOGGYho6_-0nlG3O8GULe7JYsnPP9aplmjn3lpA2fDc_1ysEyeKsuXerXHEdypvAgwGtBW2FKHslXANv7BIPlaM5UvOP6YtUttn5Su5bMHcN1b7mETqn3GNnYJc8wan9U5OUIGrEmWKE4GnVv_Fnzy8Gb3Fd0s6bS6pN6GzLU4bMb0-pkyZcCBZ4Mwvq4nDHw7yR1guyPfQYvo6T1XBjRFfPv6kuIyLypUlqoZkxpR3ZyVdy-M2FSxDBHohXfUehoOpFqIZgUQqEafUs9UNGV9BJ5p1i1hiaoBGMBxlNkX9E-r97NS7Fro4Tp580PWu5aKMCv3BUIwiC3Q38wHlzNJJwdviWdfJ6HybdH5Ud2T3AtvuInWuFZNvhF0CyoE1bSn9skO4TjRWitvs1cjHpe6zjdB1FQnRnQIyuTheuEa5tqU99pH_LxJJaLXW7O0ytMDZ9x9uuqXBLK4kPDDE3lOofeOeYjp4yCSNk9VI2amJnQpEDmDO3pjhNM-ZhsZ5B6fnl25SmVZ-fCa0eO4LBYG_GXH5Hvldc56d_BH5jW5hAPab2X10YqQ9Met1cN5Hg06J4NEm8A27XeEpWeVJVDIuTWJkOnn2fktonyiiQ0QOzMP747tGr_CAYy20gdNj2LtCD7aVuy3SbDJ7yLdsOQCrXdfZuI8_VLv1Sq7-mLD17OztHVht4_-kGsR3yfm_ed_Qk6e1RD9gD_yspvn-uoS-QlM8Y4t6SH1MvyFBFD378Um_gLpu4W8hp92FtWF0jktkr37sDmk_cW8WtdvFepdk3zqenu3oe0yVglA5bmGvuHYPh-r-37n4Yhm7krAbUrb4pEAVdsYFEVG4C_9rj5BVZKyxv-zFgDyoVkTgTT8vHGV_BzIlQg1pBNz65Dva8eRwd2SaxMBBn4_4SpALVBug418AU7PsCSatu5qnKISlowkkShr-5WqzByF_E6FF7h76lcF4_kUBcj9xeBLWOLbZJmdymML5iK00Z-zzpvqEEZ47WiKhxIxf6wq6Cj7lOkfN6077I9Sky2FE1DE1lwJUvP3sVZrV0pWLSvHUuDvL6cHkW7DvttEfs2s_8wWuCO7tKbSN47Cb-URLN2ZYu9oXEQZ9BDL8b84HzpG2W5wziO_sy4hnE_56ILu7Nyi4JQXUwpFTatpGIvBLC9AlzpB3v7TY9BHKFdUNVyqQCU1OkV5bJ5bPHEdP_x5FB8WhWMSxHA3mKjDfu_fIxL6S15f4AsnAboc0pD0HsRmGLGRGWEw2QVBTTrbwbny3fe6uphm1dCdaE0PWzQyoM9HPnyOG1FoBB3F5ORheW5c8JlSqqrvOSf5m93_QypPpxv8Z9qv1bbE4DAIo4RVpAdNBYk96RVw23F-wfY3_VNs-rLuAAOQEov24srk9NInb8qjdjDXTyrSbHOblXSFg-MRnzleGUYJ8SoegqQZhEqywYHofNMDv0H8hCACJKNdy4Yo_HpxEZQeQOb5iAUTFyGflUKx_LMOlpDjq5ZsmOe2orMfOlc1wYUSCZeLDskveyxBj7GqjX-s9T-jwbZ3SwExeAHH4WKD3P7W9LC3YgetjFBauY-7D91ilY9JqRpKt2vm1mgAIY-Ol7mLRvpbdQXy-W-ude5JyoPcKdOiHGBDkiJR9c04BKB_KSkT186aXKrq-4M2MHIE25NmxIiMI3hYn9j_mgS5DYwJXb398x3oz9XYB_29RYJxzmqbGPFtllc3cmM8tELqV2sxrP92gMFojH8lLI6W11hbUHH1FZksTOAd6Wy1kkM-GDBsIjIYjHQEFuvxGf7N8DfVW5d2ZdWuaxgMbkW4r7Wny9EhSpFoc_iUcohvY66_8y_LgMLJtqP28fJljfu5rkkvDryIlLTZL5200WcP9YSeBtBUS1OoOUYYuyAKejxrWSASylsp_L-7eQegvK0yxYV3OvmCGm2lJA-wbFtuMZ2mlxqGiJzFIETZdRZLfFz8iq4MoSwsL7_rkjgt1LkOxKY7bm7DtbRXEW9DHGVyBqFSu0Pop8WbSZgCXdBN5saS9_nRq5PJwEHEPYIA5OJyf4Y9vj3ahnJx7BTw46gaa9fB0WqlpUwhxuyJO7KjWo2upkzkfcBeUwLjBYyD3I4nAFfY8MK1_k8jZst2AM1ccLFcHpzxfb-3f5YfWLp2t4AeTG2_NdAIXoZhcGVBNI3VkyCU8Rhck9bnplivinmHg8mHz_sd6291sNBNKeX9_zgvRkNHMu4KsQOALmY4RLVVx-aJPV-Qqfn2gWM60KmZTAreOqZ61kcyX6DAbOfpbIX4PKgsjl2_hIqaB6YBpTZcG_AqE5j_5Y6S-CH1peYFnpohI1WikpS12bsrm2GC-vKYYpJeM116Gxe618wP-7gYNrTDbjAQrtyitRyScpmD0OGTloIeVXyfkv1kIUlXRrTgMEi_0LBV_fSoK6OpwKwC_80qZGT2k0ttiEBUo7uSZslRbVX35kCjPjuGmVAiZSoDk8lKBRgaHD9m4Q63Hp6eQHKRwvKKe-bgjkViIRCglGSWAuyV0ICZFtH0cteDKOgR11Tn_aTb2bZSoW6macOciIkQNkiG3rkqiwcHNEfZIk60Kc42jXWMCtQHetIbHC9Skq7FtJ7NgvVjggHdtIsZKH5frb33f-hty0cWO0p9HZ7myZm1wIlibg64-Mvshq6XmUGBsKlt_JnFsz6f2nYWZUS48OhP-sxDCns3Nb_SwKUKQMEW-STJ3Po7J40hQw1c8rfKXsgpFwhCCk7PtxJXypjjYNK0yLHsXMKp1AjUDkrzufQdqXVQOhggcTwG9aXYDZSdQvU4N7GKpXzXFXfWgO4cyWUVcoDJvSOY1MDejETKNxKHoEZQ3u2FXVdSpPqpU-vB-Kinlp4smq2NhUnQ_3Kzq4wtwn9otWqYtTGcDUe5O0JJki-gi_1gX35JUj8CWHpl2uVs96-gT4008hBWfkqjLAn2RIDvJVi8DRcsXRl6v42tSacy_b_4CyOV2FDFunJj227Eduys1K5Xt7gi3-Ks1rbfmqM0rL2YdPZbX0i2oOSRPFPo31zHMMB12INfAOY85I-6l0Jdt_zIOdpUCH2dMdllQib7XrQuZbWDuTPFj0BOvQ84ORF3GCnHc6N9TL3h_EiGlyGDOQuhY6PG0dgR6RYtQ8mn2qY6_Y8rRSq0GHoA_hOnRig3MpJHr97VDVMik_4kmNh0GkJ6SeuZpoX2FtqMVf1YeECKJ9u__Y3cFZTFI4pwrcXBdBQIjK6nyzfYkgFi4gErubSGPjKeL3DxIvDRn8Cezeq0x0Kc4IuqkFma53-CyjD--7czTeNdkJ1cE9IFUtA_KL4f45PvdOZ82ZC8iHFw47m2U_-QdemYtmBZR0NK0sjIXVZauHSyVYLAKOQ_k2bzo337Pc3-uimC_-Dkcd0XHji1s13tAw4lvIMWd4XYYJ9S52385d677KANTiGi4eCY4lvrOiw6PDjYZ4GR9lY6YAna4iQP7GFQKPonQ9dl1zbDjS4AhNqeXJbpZwcbkN7Er1pSnTTVi7yDwLluTNxnXdjrtXkaQf8tsgJmEEPyv7hK_jUMsK-fmDa6nP5F1DaMLeuwuGKk8bfW7edpsMg30yFqYGu0IMnXptIG0F72C8yIaAcDdoDy3jdF9vcnQNxDPtwtC1kz40nuShaKwfVBl1nNkV_9OSRMMHiSdk1IoRBAqg2KZ3h4w4xUotKyb8xy3jV4Denxi4aGC0f_TXYCzQbPolveDCLfNmzVDz3S2kMKEeQj_kuyOzgQOrWP5cQDa5O2EhBTbr3ch_tzBQoV4IJeLoW0nnjXyxUuTqtnyloygUla2F65mwFvYbq9QrpqSI52-Wvp7vZUk8FYbpmfWZGUCo93MtarsL2A50fJqGvw2F67I_4ddHeljS4g1A3NLO3dJv6qbcGaMJa2JkT-kTOG-2xd_GT3XtXIGOfoxndUXE4Szm1HedJT5TCCPSc1nh-EMk3yh9FBK-_7zJNFXp8UpUNEQoB99mDK88rxrS_8al90n-eF6r9cSmzPpYhDrkFFUGJUwkURUEr0JQ0YkX0fa5yOBwRexDK4zJMs-EwAgARoZnDv36n69CRlYEyyGZc8Iu3a_lhCvz0bZZwTYw_Cyt4qIUMnd63o75y3OFCwbt_zjWYbEtbGD5cLECblxaEZND3fIW8ZYMblx-1KfebUJz6WkQisctx6rMDU93o9FZWHG19koO8ogeCwqdm1YiyUZOYBmMlyOklHWVyMfCB3aFjHiVmquH1rjMnAW4rlW_oN_Eobz6v-LqO6I-EK3P_9GJbRtsNM1GB6jCppjh4s0sKGbd3tLGzqk3J5gM-5Ip2NqPjOukigMcyGpbCB9vWJJLT8RjxYMB-Me6q67nLElKeLceSbx4wre6l_3_SaAt_moR7-TyN5scNiAXV5_8MEz2H8kwwyvkMEKWqNt3GJMUbEJWr5xJOYgcKABxdBBaynJ8PuE9Y8W_EaZt77cnfD0TrAZxnzLKY386Hsi98y6VyGCQ0uVJO8tOlxp3kJQaMREOKyI3ZRfV4xBIKXmwyLo-xACDUf1RsGc2ChlObpOhqaH-Xigtcip4H4wLZdglhVwRn2AxheYnZkVbDaATM98x78YFKM8WmdIbwRI6kO-nN5voJAhROo4s8CBB8knacnW5fpVIDcfYdST1lMviZbACYBeiQMdutRrf0rCeNsV9l6mb04RC46-8IKShYmzsv_Dfn22Y4fTKLQshF63jXz4KdhSuL1I5Nrh1B9fe1imsIFkzJGVSqV3iCtksreMOZdT2runmu75BPAfNhOEVDD1Ojsr0Cakl10m_Rt5btiEDEKAnpuLYGSfNFnGrPe8mUkhlfQpqvkSKWvhFiyLPuDmj0Ltd_3jKmWUTnnsV-frzf49E3plceO0DBn_hzDQRQLVTjMQZg5FY11y0HEiGYpFKFhGyg2UOwVq3uwl8HuUKZBLVIpFlwW5YGmn1nNV03mdLlJWkTSYRABTPp186q--V1a6aV9mb_9qq8JtBEU77fa1hYViWTzYhGrbXi2R5oFGVDnR7aYUnaebTrvNte75YQ5Y_Uu9psiw4-tmzaQa9qu1FJeJtEyzTFla7n4ovWBu6SqA2L363cVMk7FZXD-2be1ouKuEQRHXSF7-bGRUxqtBhECgnVDkuJ_XuiMQ8-CzG8qOPlBJ23jH1duQCfEDtpA9GFaNHJYi6z2X9YgsC5-y3BoMco75R6xigD_d9VBdP6-UwZQwVwqPWoAmwGWbuw43ejRgToya6e6t8RAomp8Ak2yZh3Kt-pyBRichFd6F35VKFPPtLdpA1zaO2cXKS7K0DDJWo51P6Sr26KqDYDFTn_PCBQ44V7noi8ecIlbpqxDMea9qsoWbuvluCbvarnZpguz8pX4gN9WVyQ-gK9Oqk5J5jnYY8kw0XkER-KeNCya_7x9kzJSSyPOaSCSvUtrcC6Kv46q563gSXMICgjMXaDT6H2z9dWjKVT4vw1G1uo3BCuprK6JrHaKyNszYIean7e134IJ43t4ijTgrgOAxETfPuXjVbEugx7mJGbi-lcWuO6p3x8h289ufgofNU-xowY75uOMbKllMVUJhThgfjTKdOHFm-UCNdZkXDha0aOWOMAM5JlKmSmnIsMNuJIkU1SXoiSu_TAoXE4gOZe-vO_7LzSibtVFSe2Z1-uKVT88uLip-V4N_hxCt6ycMC1yPcTaUeQkgRTABF68FJG9Wbuwn4hVe2S0QJlNVVbjY2IVXdcWCmlUDA-orCi9w9G7hLbW51C5h_LegryXVm2nECTgvgylVJ0XI2R5s_e8l136ZVAJYQslHwlEBEwdEMMDLBmIBvWpPj0py97s108iH-3hGH0jJfnvyPmLIiRsIpJoln6AJ6FSwV8GpufBztI_BdBlHWwnQUBPQnlo6w5PSVk6_k3p7QbTFtqQ4O3dCANik49QZdmmAJlqwoO3d70iKBIODDs5BTs0JcLVIlLtZuFIJvwMTIkSxJDoFjIVPNBcjNr6oyZD_7GxpukMf40VhWGgygFDoKFnNrMxWzAkf4FKcPe1ACna3dPgjd1yYJPldUgHAk9Z5Fel2_i70SCo6qJzx0NCHFKPL_iZzdycRlxVvQH-DqFBW5qs2hMKRew0tS75WpMQDvdghrX8592ROuaM3_HO8Pvvw730mScVQVuUCBMOwP5zD1_whOjnMToL-eG0hZP3280tvYssGCAAhevh3uVCiokj5i073tVa0CtMSiMECluWWV2hTptI1N_kKBpE-cijA6oLwO56OuRQhZLL2KVi1RDNlq5Bk1NI2rgKfQCzF0ieQg-0n07bzwa7KELAQJnDQAmuq2WCSbeWYR3wVfSXedTOXrxvREFAHbSszfIxQ_4p-eHVWTAK9cv1rQYPWsw-234AmWtx4m-RpfT7lLcX4xHxlTKmm6VPDWhDmbx6L1LU4m3vpJxF9ppHUdKeW-80wo_61HBruuYC_JkjmDDwlsS2AHzlABWhdFFmRoxmeY-5HjXpxjrEL_EHadz5eEfu1SoH84TpisxXVRRWYaxKGCu6ab0fTiM6ltLn3EYlzkyMISgFHbgygYPgjcy4iZ9HsV44l5ofZ2fs_JquT-skQOwBEGE7Zvww_e_TSxp1XnC1YlnPwkz2lekPT9uwbck9k0_EEc0EHOLABeUm5MYwfivnIEe_ZIM4T-QnLyUerGkq6-8YjU-I-tJ8oCZLsn2HWtkOifRfWKgVLMdpNOXagX2g9LXs23wJCWkgJqHGmYIV7SIhU_WJSOy0voa5m7_3ljyfpS5bV7EmHuTTjgFBEgiTLW-ar1u4qpjH2mrZE15tyFck3clbwe-0YvuJAGpsbiobnx0djgGaFTjj50S3Fh_NmrtNoS0Wo02fsE45y4C2U9D8o4yMlBlyl6a-9l9xcBsZIyJ4Fc4NoAX3bXWYmayZV4EJcTlhTNubCYhXa1iOtj5uNGE4rFgEHvcxAm9q7PGunfYNX_ayacjJ4f8Pga6D_-Uh3AovYAwdPLox0BBrtKSKklccr6a1PPYSl9r3y4beeZ9pFl4BiNW7ntBFXr68iTZdxq-BgsGHvq3I-XTBZg1Z1dvV2bg7HBIxqtTAnSx0vjKHr8zbwT8mSe4_QspvrNBdvIIQvZAEq0wRD7v5BoHPnVbYX6blcJVO3nWpJjuoR3Pmwa90LV_-uIkvgXyqb-4u4Thi-d5VcwalXUmmGwUYEh9xUG9yZLDXE6qqMgC-Batr1EVVQ3e-05P4qYMdHeDYEfenBU5YdgC5-EWEg5aD4n9qumEnJ0OCvo6XNx2VAV8LKs8oLU81cKoqoMymXMo4poJpy8SEF0fopLRlOnrJ7B5fB4MGo-5gxpJnq2gPhn_9XBbFbM0OnvAbdCoz8X0_09gG95HVxsqvYoEeSV7egDlpwmhGuUVUYHgsFaLblC3l8m076i5-GXImjCpjDACUqrEj6_V2apzzi68ZYjitTu7vrw2x9CBXEAOviE-EJts4RK9WEL6Wx785L7wZFU-FVzMszWKgCkpCjtQiYA5ToquB8_VlIEX6SHlAMp2vziaSUyPdJ_VW4a0INYRiMKSdsZmhdATlnEhQ0J85QYE5EwsZ3S4fLfNPKqszCMkTL8QH6hjm5yapv5-BKrFKRpTzEmjSpbYOg8HYOpLnDrfMLBzQtRNrOpT92R9XkM99GPf2vc2NLcal1NokVxG9gDN6yPcBnxPrizLtKsKSWbwVpXjrr9WZGWBkHjeHxnUKyjd5RW5fXVwzXdou9VW5pTUTIw2g6fWnUqEq1nI-noNPLAPhnq2nIEJvN8cqZ_QRreMdQ1gtiCExSVunPJckG_W3w79oedvvByL1wFvzUdpU-cHzATFQHk56Yexmew404AC36PGhEg7KDnsNImVTBy483TpAuIbIt5k1Ze163GwWF6Jmy55_NL41kv_6saOtAS2CzhWIItRtbX1mHNHak_EBRj9j02ReZn-gyqjdWNuiclNmq-kBIlqamyfHEf0u2CsJSKlMViWhytxiwwgjNIAjkAEXvaB5ANtTvGOdNaA1o3m4tMWyleY4O5VODXzh4hcXAriqfiFVt4yWD423LAXwPhWd2nL1uleLll5CgyxFXDtTNKXBVG5Rk18Ybq81-ParwbtJC8hyndYMvh-UywOksE_05OQMHq765iD28NrvtxZcYIBdNLvYRkrNtec63P1uguI2RIV0mDKNxrQf4UnpbhmCYO7a8MZyokn8E7mfKWeVLubLtmufnD-1rTvJbkBKAT6XNZJxRu2JdD2yetuD1A2oeGZskzLJ1QISVGOYLVgONRe1VyESIccbaHq1Up3lDymxyZ7dKvT4f8CcTw2O9III0aeQ2Q7qDX_By31E_NtgkuzgPIW2Tfvv5kHRG07_75KGM9Q8T331D8d8t8ySt9cA1f1KXzbW7Q-thuVZG4pler7nSZ2UR1RVoTZEVaRyT0j4YRdRsscEFJLhngHGjlNQqhxUKMtuK318MPoMvgXsnj-Kjlet_ZXnne5hHKtwO6-8G09Q4X6gseoXl-uBExm-bv_XP9fhZvRaoebWjo_HQ5LNOPmmh4_EPWRyisXN7OZlKxAswabHNjb26pPXL4F1I7E7693RQP7xHMrzSaNU1iYYXyQJuadxPswixPmxEboxWXfQcYdd8Adj9rDuecwpnM4PqLmZldoV0JJxiEijjHISiYAb2VdI9EIsJJCiiGqyxpBzdprnOCqZzJTBtrA2d7s8yw49RldU4gDAwvVaFqpifRFa1qEsjsAmxpsB8INfmKX8rLpr8nVowg6Rr4CsmrwzLgt1dJKdxSKpatHEKsv3Ho5-Wu13fRCDnlDhY_QdAHg58zglh21VQIf9dcq_XuaaZoLGF84rYpEaXZpfI-296cj6BdC79SClEI_1xPQIkkmR8xChDFetiOl3r67v2e5WGDJJwlPPU78WlASwGuyCbPjlK6nCt-jHdRPfEZrj4_YeMaJTplSyuuJbhpR5FeMvROl_b7Q7NX6FLSbZHS7LTA1aItUX2Tj9k2JzptmmKKt1evNd8OxrbK9gCyINhMEBD_tpgrl0kGnPIsSLLMEWn1-084HS-naVhcVwWkUzBOJg_PahEMj06awHXBBhlzkIOTLMmlra-GorfTdBGe96ny7snBv5UQz1BS2M30AMoioQQvp4GCPvbJAXSqZG5WNXGcKGwND_0h_BE4kDmaF-gu5G349X5_Lch3EO_eqa47vipavZ3eTbXVPV3XoXN4vMlwjIQ3KWpoQugHXsXzVIQvS2RHT10taEfuvekG1Ua649p7xKF0bkWbe0PCXPUfVgAdWR9nbfqzw2JuxwaABR67rjrINCU0AtkV6ButPIASfk5HHrFnhohEh_pQehHN8xuZtGHoaT8F-wBKCUDQzNm4ke0Wtjh3IyjkfHWoVupaaYZ_n5RzTLDE3ubC1wxeM8U1eZwK6vya9F3DBye2EVTFDkE5VXmmSup1Fn0wVDy4irZVqDMcnywAzhYUX2uhYNqBKSus6m-qZmi2_4WAKCIixOobAv7DQoezVZ0wIsCOeDbAihgU0FgSxBah3-UBy9915CcZlVuvhbCe3MzLDvi-Yu0ENccPBKeJQPNnap0VOBvBmjICZ_yZTY3GBWhF4ehUWFaE-cYfKY-AoDRypgS-MRLxaKCOvdHhxJ5FJ0DDP6gL7tP5U3v1gkiRlP10V2Y17GyfYK-C3_fUtrtqHNNnHzby4jzKs3YoO64CS7gPP0gEcvXRf1sE90Iu-M1U4J78hqTIC8EBZkiucpGsvC1i9xQVZUZB1YyXV49JQG4vyqKoiAA2m0o3Zf2iTQQsl1ePpJhhhXiZYZryDTY6DsNZbEhPsF8nsgKNgfkppmLEV-1wcJsZhOgHxjzTzD8uu-sDqi1prULsAySoU5Ba1dHlKOOu8yo_zab_m55o_d7H_OFIFWoe3Bg-ZK6Ohjbi8apw8BZTljBBUK7CJteE9lBX4KGON-FlcBw_aDFP--L21uXrvrJiktPKEwj-Z7qLqiuuPxj2gD2EeYoEy4uNWI10V01Ns2Jgj7I1LABBkw3w2Jrc47WWqWG_8fnDNmR7-u2JaNpL03hFdfva9YKML8Tb9v-d7lKGuVkyS6cHWGisnHqOyaBTFbyzMj4MviCtXqAAcY5LqC_M9dKdX_aW0pCjWVovOS3rjnY7PlEtHf5lzEFLTI2_sOZcVEaFFk8-CPNAx2yFZSVPUCcR5o1FzOlDdWeEpZIq3_OxiI14H0nI3-FhwZhuF4Ao9XX8K-fQOzT7KBPYc1w86IP1leOR2XNEa01bS_f7Zn1vuMPe6ZeIzqzmws_SYai5Jgs1XX5yZJywj-Vvd4KE-5UrJKy3VdxPRBAjpu2PjnDAwrwuaGfxJfKmuXVZefMQjNmwDaI-xscfCViMcRSa9Bd-65HKMZQiXdwIrZKqj8SZcVtoHCQcWQqUuDpdD55deXYxGkFVUG06XuYd-vTGxo0iy4scmOQLY_soDbnua_LdboQeA2ixTLPINoPcrqHkcCu8V6CRk989lOLvvvrxCol9HqO2wEEB4HuknX-w5y588UXOgjwjJqIlQx-cMoBc4HCpe8Q8KlLA5JMTZaAcW4eLBJdVIjgjQ82wuy7CEqj0qzUAsH79oyHou8beS79yHvrO_eRfJAYUqrxfns5ZW7bHviXtc2nPGdy-3PSsoEKIK9yxk7EmlhDsquthlnYXH2U9BAu0UhwO-NvGjEKt1Zzn-isCz37BpP6EuFsEzKd8UANCtsWm3hO8F4pWsSmuB7vzMY2AaqkEwRzea1LHpkOC2AjFKkiWWUERX66Q6WtWBAQxmdH46nvl5NLrLGU0DBK9n4JOtzmz3VJH6uenOodbgU3OiYgvP-NCbOZsD1clLUeVuKdIWPjZNIqwv5onDZIUk0oc0QQ4pH11BkkEGamZMsIniQMwbW633_EsPYUVtYleYyoOJRHdYpnJABq2g2YzG-X0ydlYI3R_vpBWlzA1HIDNYl7sc2S5WyB56laSQMOLJL511jtfRa-Wj0wTRHmbb9V6vvqQ5C5cy58gbQSz8YXkIH-7QTgSy2PwYCqqnlgMS2wIQGMGrKJH6Ipi_7VYSayy-bKXryEyPXRKOOoa1s6xbLnXZfuztFqI1_neblW8aczwBY5BPXoSpF87kXOckgGV04Teu2XgFd1bAnTLLWTWV0sno_9W5amM56mBbQ1WNlh4FYsYs-5hanqdVPlgW2LvayTzUHLbV0U-B94Wr-qwY9g71GDBypQTvkRw7nqbu2eiKJh0h0jhQ6sq1RwYU2btvE1PiVMJ6mzp78ODEbfa0ond14ZBUIi2ukmc034wU6VrzPVTy4B-4evGfwzx0RuEsL6EW5JVrn0qCgOR5V6OuC2JvW1X9KmNub4VkAx2U5un5SXk8itsdQzJsvm0MAg5fa4ZxeKQgxYKqBgeum5hEYggyxh7GO-SpJNgVLilUxYRtAMP6Glv0qoMFIXjJZuXNOkaeFGoPxCt7x_lweb3w34W-564H3a8HgshtRbnkzSDdoKl1CtPpcamNPUkKwJTlN2N4ueE4qC8rJJW30WM-6QhBwqg6slSZypwFaxUcCbD4aarM_HXj33HMVkh4A30Yk9S-jbR-GutqVbitKIBlX08ZKsn56JlWapoWefC0HqnbmknWc4kmAaLoU4TfljH9GiarOHGC-4KD3tWAY8q6O0xOl65IX35nmFPsclfAmjySsbQ7hGKRCbqUXmUkWJzeuAmiiaUunUycxyCX_Ko-OX0Mvk3dOLM-gb_jzrC1fX4r8OKnZZ4HgVcCFfagF-aJ7_9C3h6fxGejoFqtxAUuna3TA8FofErk68dEf92jgFhRp-hC-F_H7BAl5m8nSPJCX24W5dFCdeuJd80ZjOn8KQdBFIOcbLqO5eJYJax0fU_LMpJknZUiACj4hl4ODPRFd6Aal9DqrNI0ONLgtUAsp2QIC7lgLR0uYMZ5FwotsloXo6ImjUDLaz5QvZmKlIr7l6KY-JxseIMuyuL-0XL7Xrb9agcXOb9QpUSUJyHUKWUyaE9oFLMF0Of3KKfkYuTEYCWzwqVe3XcWSyexW7rAS66KsSVnNHxod3fTRAzGPN3L5p22_ri4h9Q1yFv6AH68sozukqHp895_IjKg6uK_J9nAaASlf9eTFE9Z_7jAmpq7M8mOMr1hbMVF7nOfJpviDqR39vjzJDo8iggZPYoLZXGIlHNkOPrVSGIcS37P8NPkaGbxJox2ymxowGL3XVlQQCrW2D-T7dsbti44kQfvEe6Lhwj4-O9cV1lK91Hko70HVCMVkZzo9Eh1Eot1VM7ihuOfCyq0YYPv3C2wx9FPe0BNzPsFkLaMjs1laqBA4_OInevqP6LgkaWuUwVSMb0_IB7HVJ9RCfTKFq4BJekBvBUauiqBNEKkGpKj5lRFdbipArbkA8uqCLVc2qSJIeXsK64QeWUSHp44RU5A-82PKPcpdKT2XO8enzeZunGXY0qDvPtTpsTTJC5J4EoJYiPBX4V7eu2YzYh9vll2M899onoHuRK3_zkugdlJTDdGnFWg-APCsrtrGRCoLbiF0DLpe9YlbmAmk0XP-82NT3mhE9J_yXSLS_Qt8kMj9aGAKnpYoIOdNWMzDZufg9pnBNNfAjdsnORV0Z9xhC7__VQxmwr_PZSKp6HEVVjMY0tR2jZJBu_iE6AUVJoAaaUCOqLRs5LOplk_BwIUtUchPx-ZzimfdyEHzUYNI-Hbu8pSWPK1DTWm8cT80XWG4MQepmje9CTUrw8EL5KaPxQqzVGRRs-kKCQ7W2ar1rSknM5pzsMNLfDxPsXgIRRWwzYjUfigxKZTUSMuM7fkbhwPBs_TyEA44LAfv3XHUYEvWoTIJL1ls-4aa3pTINS9TKkSXoejt1sXcWH7AifQkNRLLW1eQ9P8ROUMrzguYqBvGFt0VyDj8s19Do0NyMrEzulZ4UH6a2u1QBv6LE_B7DidWbMZYittygaCYsUcXcvoftRxiKCXIwSjxDKtmOJtEv24okwMqXy31HvZjCeZnbG_mAuHsUnmMGUgmVYz3IBcoL8L2oEM3kR0GHfip6IdvIBsnHhv8uZem5pf6FGruhOKO58yKxkIgz_qPGEWKg6vsdZelNwJ0tRrz1HIKM8ZKGQy2WiFnN0eJ0SaRQfuty9wblF7mk0lIsFDFjqLVQy7Tike84rIWT5kI0Xm9b_GB6m5Ewc1UugLQKyUYaH-W2SVarBrjx8dD2PJtjmLxK1RI56pUfrIlLiSfs8W9qP2-e3OtC7qNNfHj4YAPGq8j9T8bO-YGIvopzFUZw3eoyFzTssWsxWOYpyCWTVvDAkqoxVJv6MJfHqnfIuyMGCnVEDYk5Xt7WDrkek5Sk8nHwLUcYiIKIzjTIYLm_DnY-l_EglAzrCOOahvZzUTz5u1ga-iKi3hJfVaNOXGYUrm-EhhRoCy0u_Zm_WfW9xGYRi5RxWpr7X9BcFDyT3QspO07KpPtgnuDA61PAv_gBjAlULMtXQIdYKCVR5TnK1q2OiNbp-unLB5RZ-rZipBbeNkEDJhuVspKXNkZ3H3zGH3apzBjlF6qzSdWdeWmAQZuJ7JnO_NT3ajxy1V1Cd-KX6UhllzyRTlgUoquU61vYrAIdia8wowSeZyfhC4mOPBNMCSfgZLCESRQLc8HGQb_v-cf16EbvDvQH7ir3TfV8i4iJIuBryCcfvoQC7f2BpocXzcndaUjqioaisXNmyn1YyzGIiBFQf23NnYG4s2qsvZgf7aHKRoOG8H04VE40m-HTC7YM9xpc_MFHWqbloYxoIcUH3HdKn-tFdhkdsduEXdGzGg4i2qs0g8RLe5nBG4gphK6JpIJXqSPJAk6C9LlQw_J0eMpNdev7N8wzyHfQIvZ9At0jpPm8uRmoInoc1RPY04NRGa0Xd1NIDYGHvsVHbCbQoISutBu254SEpuXzW9VY6qfnRUk97enryEPo6TUrEoSh_XUnKRBp8j8rEjl9Mc_-GXoS-WtwU2x8e2gMqi9eZREY_8vNk02TDG0aQj9_T1oejjSg_PsCiU8QSFiAySTZaZJDekgKDAquCc2TZy38HJ5mm7L-l1SUgYdVr8i9xHAr2xd6896HkzkPQQqQ1LWGq2_-ZhA7r2Fz7uBsCnyByguSBQVnK_7Wc3t7old3v7q7u8QmDcJXw3JmMNARqGvr1o8gB24rCQGWqZCAy4VKIczTowvgy1MY64GeZxY449S6SU9YyAyBSsNz5OmX7pCrubQfhVRxyJZl1OWX49OI8bJ6cOlKR5oL1OGRZHAEENFbfe7qI0v6F2LTMZmpgkb205p2mCkqcIjhZ9M6tDUYbVQy7AWCIbz_PXKT6ZYJmkRhG3ZAJq2rE5vNaRJhpFirRAjpE5gNglBcJ6jp08WdzkOwVbopAarp3NM-0hG0IOB6Uyf6eFebFqmnJa0kJYyjK7GklRSAs7bksO09RP79MsE6Bk8NNn29DYs35S1tbijchNtPiKPX5-iVWx5ybHjEQtSQ5NMXWQuJBjUqNVh48Yvs6EmNB0BUNWq7Wx8eyX0pG6BHO5fS2kUxEs-n6KKCNwgcYg1v7629UDWXdsAo3cOaqVz0_Wmbhbnr1bqKfnI1uUzfCeMwEzNyRCjcuSndDJi7BjjwkrIpr7wUhc4Eof5znyFBHxYNrvV0SdUltRgb0zD4uTsoOr1n9rgF_W97fXK_ATqK-IUzMA0a1WqbZQ3KI3S9qR16aU4Tzu4FUbfTyinZenqlJgbIITou-J5fYGQbwyiKvxM-Nm3x9AW58vLTw4oKb71LaHLr0goaZ1zv5niV0t64hcq6soyW1rduqXge44C-wOlQiIDtNTF62X9JAAdwR2Y0SvaOyuKeU6MQuCjqcfBEJ9kgDb_a79BR0PocyxzRb7H1BSwcyqVBKAYGnYTpDl400cAUEfoqfglRybwFaMKbMFSekfqVLBcAcMYLi5_QK_cL5NajuwAS1ZozNpJuiacrA1mCpL4jQe7UEZM8bhZdrwEIq7VM-rCNO7X-ACh9q7cD_Yhzej49KF8uJqUtnNNBjCRxBsGHaiGSEv79zFOMkwrXchbN9S0mYUzlLH_9gr9k7Yy9ajiDaU2wi80JhTOr8A33CGJR09yoK0Au_J8-wtcXgIhlxOdvbYGDERF09UkgfYf5jkL5gTKlaOBdUccIU9DsQAj_apprwZqZYrsJSSdrVbF5tAEJ-wGwwlMxwn6GinIZq_iA99yrasS8BdZsVXAIIKrermCfnx97X6OFjkBR81HZCJD3etTGHW_tT1KwUenS1pcz0IJN_sue9VQMDEBo1YPZ8obLqvdzpZGZDsYSRWIshndkT0snj9ltXy5ARvkaCHcZyI234TsyiHK2nOFIwSfuWGBU_R1OWye2HHGYq1CTbhfEpO5pr08ckO3qR32e8ww7DuEdYqM_iZqYqX6FPAQ3gbSZzIjKWCCOZaLJ_W_A8qqXcpcFqdQu2eSV1veWGfa4_xkrtJeysH2hN3jCN7CRO9QvfpoZ6-xAErPEVzctxrdVl8NcGxFlPDbPv6LahJlU404Zvrq1fpzyFy2pp5qHZmkrDarH6vQ5zg2__7gPwnd7LXvNDpjU3RHbsJGMAXBV_AiWdFLF88psbaVMCzLap6XdTu6UC5bXdsQm8gb2EiDSDtvxGiAG78vtiSnhuFMt54QMYvVp3peTI7Xm03Hp-wzFEG5aJVt7rJwTGbEhoCe0Rq2tl7MRXapalN3HCjVnYlP4a0ZbGW-rBPpgHepuxutA6nIjlwaC4YyoEPuyxabS-Gps0l_7bh_Qi3c7yDhqfeRtq977u7Viz8Z7oPp106trwzfVK_iqt8jS0p5jU8rEcG1uaj5x5iQP_67zEdFfK38_EiFbBOH1sOPkSYtUGvNtRrAKb1tnFutPrUuKZeW0JKjF7KATzfp6q2cUTP94vvt5H6Cq0p7h0w8t8qn-P2LUzsuvo8FNxsrd0H8YGh2DTEvAawo8Bpvxf-aKkGIQY8SMUdh46Ml75iozqIreQ9q5k3aUJSswfPAi_N0AoxqIhLBMt69TWbOSEyQsRmgHH6qBXJhD4PS52XycXvhA-6jRV52FmAVoKCvWiLvSuvmxVkix3po4xeWGdDkqDFuP5AOu6_5mPbQE3Bl9A5iQF-kJrg8lXaOH3g6CJ9DUVoqgkqHIz4eMN1wdmWCla5Dwn4n8f-dmxOE_DZmTdLcUQLQFsO9crtFwBVd5j2z7XLu_tzd3P9SncgRKZOwt2MSvQi6mCd7ctRjEkyoct5AMapdcyAqjxb3nFghenYx-FzOipF9_p_iwrMDdPu71xhyj_xZSxXcQIzceP5_MCNFLvySWgQ87UTgca75-r58XvMi0gvzd9gD58qMeGM4-wCskSj80HiWvtvHdCETY1fZ2ZQ_ZqlSuJNoxX6OI_kwDUSLDPmRW3Lqk0aFPnWxPborViUhT_rniu5xd9KmsslCJe9qgtHqACK1Mh-6JzTjDnG669FEQVlzBW_DTgyZEY-dsDInXLcpefHWWag72sFNRhvx7CsmRwLVkg3ei1uo5_2iKKtIZsPi4tOhCKoN3JDPWVJkIehW94TTpgqCYCnzFnbB4kn4DFI5cNnY4mhVU8mbI7A4U-a8uK8KPyOfgChvgBjVlTXnAQ8_SBhOqIU0qGjhYsh2wn07iL8tyiyOTvlYp3JqSROM5JDt2ViQGb67DdJ9MKSamnHLqJ73uWog3igJFTCXa90XdQqVZVZ9OjsgvpJqh_rsrc5YC4GO23Uze5gaEzvHF_0wM0z4IVFYMFqWYAgc-p57WRDJTOCR9NKYZ_EvNm_-wdlEfUeLA1UG9P6qJRG6wk-jAaL5WMnQ3Wc0boDxEs8u-KxNibEynIJZyvNH_3lwGrzYUBsUcY0TPVw3SuccjF0C-gkMiUPWH4kfQEkH-rcYbjDFQ4SOEwtlRLtyWINEisqu_P1ysw3zBgcov3qnFkue9azP7W1cADqyvMgvqYVqFN0TmfFeFGfSaDFY2ZsA2HCzBwStkc9SqlZ8bo9EPVztJJs87jRKkaReOk-YHFuMCIQa2Dbc_ppzsFNTnWRXs6mJZ88hUwo1KXwi_tCrSlCleDbr9NA5JkuaO-agEm_QXx53NczUPD8_kiq17CXYwlGeUL6G3TmQAEfK6wDd_bNuDnCgBOUWRiQu8bnQtJITWofJ30A_qO7uBV2Ra55i2PYjuK34bDXIC6d1wRm_oaKzuQK1IjCHDWSP6-HiOXDUXYs8UZ1sShfrUQZpDdfAcJZjSuTbnYmccQHs3ZKouhseVQ_N60Gwo1mlEQCtGt_HGPwvbrvka1b6gYECxelfPeUtCTPXEDL757Tj06hx2RddGZNBI7svH_MUsfMsDHGXKfNXOWgleFFTwX8MSuvgjJWwOyXtfhDeh90btU6g9mwxJXRZk58X1Hg3JZ1NlKJ44x9hhw3qQAm-v96QU8VxNa6rfpaudL_rLUForZeBsBt0jkykZa56OEP1qjOMttAYeLRxSlk7GWEXZeJdnmjBa-lOAbFvpclgMODAmQ7lr4fPqDrGru3QJQaxpyc9fWVxa3ICHG2L76TB_ofQG8KrUh8dFcQRUxYvIw8P5ASXdd1ikarKNfKjkxzfsBO59GG5jWM-iZgiha-ZIpGMduj-vekhMgFf-OASCk0_ECxBy5OdaiA4sP0QoO21rWEZcLy_1EWGdiyXDMXlAbDtPc8xJ6FXynJe0RrXWEZJRmYeK9emv5QFBfB_LeoopRdJZ2o7AUZlM3sjh8LWxR5Imy_mAAbyodnvP8VdYLAcJ_feTCSRp2ObKeMaibC06tCi3q9t4ka-W9EutOdPpGQyKE_yHyk7W_jnVsbYg9ml5ntkexALyms8t8IayIArnQ4mRB-_f6_9Kj1NtWKbWk1upjCgXaOA24KvUio2rW9UNYkcUO_hCYmsV8S0kCgpXHX-36hXkn55AKX89xcjAyo4AyYg77m4maxYevqcFpxVXS00LjrDCsCV2e-OkhB_qwKvceqmpaWB7mQy6q9HzN46fSLCpxcBdZvBGL2SAQdamlxbL_zkdqRnqD9rfTmLTzlrMrJd8jmF0icZuRWWQrvJFhO5ar-2xs6-csy4WGyvMFSLS7fiJQ3Cc1J-zHXgvy_GBJx51FYz45SaJNnMqvuJg4_MFxRH-CgYHEycMJQd8mIFuCpUjUm75wVzhZpdS8jx0I74Z6kFxW7hv9ZTkjmyc6sWAhPC4MMU5rxMX6nE2H4ploeEyDASnTgqTtby_hQJiF1uwMXhHQ2ah9rtZNs7WGMXy34GXZKWgcTl3QyYrLcgqG-MsC9fHm2Ww4X79myYJC-xR3wiF15e6b7xvkC6PQs_tE1Z9U94Hsv86AhwCdW6ik18MtYLEkVh6rYHyKa-MV-UOX839lh1vKRTYOw2S-CyXEIGNI1VZaRsUPL57ucSY2JsFrnc-9X_6QkWbG1pyhPY5XFIIsTvFysiu-kPrBx4K1uxsaPqxL_jBC_TLRT1XDndl9HcVMnpraFa23lYIXJF3MMM8tieXbwCK0yPOG9QztCiHXR4qUHfJCsUNNT660FQ48IfdxW-6qrB7jqxtjBePVW6q8qmysfIotLhc2hJ4CdaXDgVRhCM3geQhLJOtgENMN7r8o2BaoqeNg5LeBZTryk68AXRW3pdpeUOBMWwfMJV3WthoCrNJTrDGosiSOxydtw_J5c3SwjguBOyAsQi6msnU_lLX1dfUGJ7-7VaJ-LPQDuSEuxIx6FWpehESz1VpTnPxTY0bw6lkMMvkQfwYuQPGCaFU5dkni3FcIH59-4xtndjIjE89qw5BS4_zf52GNE2Zu6mFKALumCYHSp3QOp3vQsSKCDQxmoqkAVHVtHX_LFogz3nSO3xkOj20qHGSuKcGCap0tno_RB8d1tUHKGEBaAACZTN9BhgrjLlS7Fvnv5XzB_v12_L7y6edPRmk8NzJbaqEdl8cSEo32Wxh0G3vZtm9-WlLG62rXZui-rkY-5305v5locpvhrgLN_yIGQ6JjK-8d9cjDx1YSfHyb-jIpiQPa4rxvtx0-WwaHJqNsnbtO7uvyWJJY7moFy-cZCtkVhFEIEvEQxrQAA7QRNTcTgsj26i770ZwwNGhdGz5ZHw-4L-h8XgRJorvgGDtzaem-3LsBDXdeitslFso9qKSijz4SoVK85Of5tp8ECrA99S18Pq2d8XCHwehY2VIXXJNdTLtamqIaNnO7v47gzVQrdGGwHmaMP1zTA12uOJPySyQbr3JHF24xyO2ccZgSdC-EBXwuwrAj6k96JJIGdkJHNMidFb5NwveqbXIm5cRDsNj_qKM78akZejI7jzNYzqeAQDalZeJ3haf-qCBX8x9iFMlVGmC-F_10vSkYCu9umWci95n5OMW_MQL3N8E-xYceayWYloesoNCnX-G_wfSZALt1XZFdpceYyrcVWyPmIux567_3ltFjQTh0kvR6pAAoVkBl-X0vqnDn-TLQgUTk74G_CjnslrIQTlcCppXvpYJf6Biuce62lTnL2jnVEgMXpKp9o3xeijx5YzcXMznGMFR_RLA3GzYAK5A3R7M1vI4ZudaTluNubzXmjzztRS65NpRYkay3pFApEo0ZZ9mg-gZLnX4gT3638fush7aSyHuEKGvQWKydU4ml9iWHCrGZn3-6Xrkj_sjVrC2p8dLYC2mnrI44hHKxrAAAl2v4CfunMP0ZVZd-86NJHv3nqfVi9akJmqIGS13QuAxzPhCzfnlZRui14z91WSbqRuLQodAFBK-bRnsPSN2rJugBqapR8xQS40n4oT37YBqwNAQxe4_dOplP57UX2GDq5E7PPmLAYUPa5FngDls6nscvPFg7OiuoMTS5Iyh0upNkSsWEG_XL0aDLLYBV8TKr0JpFfHJhVRo0kwJu-nhmYUE-hUJKrippX-Swn2ORBQplzm0SNhL1DQBSvPAY7p2QJO7UuksGd_q9H4KoOhVZXWRUw40YiR-oQmQVyXRl138krc24WLUAYG1ak4dbdpYHlpW6CVzHKZh74R1OYLTB2a56vUL5_YmqWWZHEZJpGyTQhk1fRgWo3eKOcExEuTU8DDKrG2yyHVfMuKrt7AVAxKmeXH-Pwns8-7fnHOQmJke-ifEmftUQcPYXXTgdmTAkADjUrDSopDrMNNy8xhRaCTPc8SnVoaSvGU7p-L-8dAH019C_rE-y94bLaxzacPi7K_KpOUg_ZBlqrEGb9sAoefq6euXBStZEG_Ak-MyajAGRzI73Mhk9-lkpgXhZHA3jdrGt79cZpAuCMDNWI54W_Cd0Dh3Tr4qjvr-6nUAuZx9UsKQE_Hx9ewLCZ3j3KI0bqj1Zqr0XkP-SwoWoaVLoma3Kor_Ugf2n9oTdpGO1BWv7Lk7IhFX9xJ3u7LTWX6SVgllmEx6H16_2nJQcjPZMmWsY6ArVO9XpUSH8DZFKIZhQdCnmw0oUKD4VyqITzDkklwq0paKlX7qlJOyZi--rpypXmVKHCDKXe_-WnagXdf_gNA7myVB53n-3C7UgPux88bMDK-7gsCCCbwh2SAYeBGcmUGX1WfLFxUiG8NkZohZrzbRlPe6Arjx4Tke7AjQVcHRXM81jOajkvgM9DQKT6Yoh6MfbB3G2xMOLiayRgJnAwQWDRZBeCW-N5nsdmkprBSUzmS6HNu36as5gznJ3ZB9p1o4o7iwLUC6nJtaS7yGSUXUYjff4QZKeHiw7yELvWaDnvGJmjxbVej5Mqh3e6540qIheIz4rAP_tw22OsvBHS456vqNuULHgVRK68VZyOiKzwHq7UWtCYfdDCfqBqdo0XzoGJGR13GSpBZYWdG1YNQlcZk63zvERAfaqfTVVKbu0PlQ0b1Wfz6LcMfLLhkMKkF11BUXgiLlRPf7BK9HyWziB7DDZM0-mvJIResplWvC-NQbgRcQbAwy0qehPttorCvbKXnMQI2Z2I_JoVae3JofdusqRPucILsvP60zR5ie-CA1v7QbkWtaYwzgzk1tq5g8w1o3iIE47q_WzJfoKxP1FRStKHNnOPlacDjMX3kjwN6XeDr0qFe1eUeN-sIVsEuuelqdxIL-4urrr2-D4OKsxrPgADdNhFedExNNtrpVhdDHwgzJbU09sKcq-dG68bPCctv1jvJeRtd-t5t12ty9RjtY0l7kMFMkp7YKmLHyrYNk5th5H09zJlHZOrNTqprjhzzkGOhXbuak2F1Im_hZaGj-z4iaXg-_sZk4kJSclymJce4u4H1h2t0k0I6Cktc_-FH--mH5ttLSCACOtNSrRml_KYF2PVi9RhV4JNLfKYHQtevFouKlkJDtFU1EEPonYqGGvcvBcEt-fv156pSNXGDme4ad9W2Me_jDe3zBoNJFgMTKbFLi68Vt7g_c3IgA4-1x4COsO4DAZAJ1mpQFTnDnBm9yFUEOUbNyrfHMN0FgXizGfdzQrz_y6H-QIkDSohR9uQLjtmNx4xSOf3AePRBJlsJ0m2BwYKNXZcScgyp3B6e3krRE1t9lO9XNjjgBvGcprQV8iloKWY3w9huh33M1RnUQ6SFgNRZPT3_oZZZTfj84W2ibrTSEKkmpHK7olQGiSYWj0yfWgY6ZdOG2Gi2zT76V_P2jI_uZt4eEpfPBocG3M51O53lRnBTOyB2QvfPn-DY_O8p2jaH_vrOskA4V7dr8E18EEJxuDKIrv_LdAcZO1VEto0-5We5WXbNVIaIwz_dFkB4HzbYVbIxj3SUC_ZxisAwKKDF7Uj0600dizgG9XUyANNQj2HmBaM3Xky5EYciEEz-IGHQ1Y6C0AxCBj36Mcay9ZxCoyRdlHJmM76ymhYkLu6h0mtJVTddsPRB8g-b1fAEqF5VSI_nFNF3mokEBB_8Zw8f-kzy5IvM2DlU7naan2QkWhILnfVy7pN3iLNJnhX96j5u9RXCCsDurQjXlMDmcuQqPwCeS98HwJ-ev6uS6OEYZ0iKfeeCwzCU5xAZuYk6q4zr3WSuby3Ecgufrzw20vSshongMoE8POpTFj5kHhHig_wcUc-n3-_lJabcox-WdbK0n7b2_PJUTzcPRRQ1bml3JiZbcTTT_Q1igGWo8s4Sofe59ehXCKwHzWO0c3O10zyn2QW4klXksYd47_1s6zBacNyRoEfuK0A5-cIu1ccpqaGTOxw1-A-zKcmyYGpNzWl90mwPJBWeORGoiNJxza-Y6oMNMZvBnGXu2N12rS1MixqDh94SE1Dka2szCKxrJ3wZH4NXF1948A2caEcp3Fx9UPZ8bEOgO2717r5CeuI_9tjewv5b0g0_uMuwiZ1f_W1j-OjVzmOfZhGgeLArp68ALs9DTM2aW7TqIPbL5BHs-dcf6ZvTTN1jPiZSR5r9xINEIg72jh7V2cJITLC5_DjHO0Eiu6t5APt8UiLp96rVjod679bipxv6Pm5blTu727YDReQX_liR9uOhvKdCqhvexjP72rkaWz7fwXR_oTgKIlJmyvMHvQihA3e42bgDA2cBT_XACBJOAU6ER7pF9cPXDURCrsrHdkTenq5E2aaDnj0ZYYdwx9jGRKC9zYhb3XXtqSQQx6eCkiARREZSciza-jC6VJv-GQmXTWEFVckTQgPNNSiiafh1QsRy7czsJSIbCeXskTOvOXwsPjnJ28i5a-nfqO7dpR7LRKW4xp-GvNrDepXnJezujW1bWXgD7KZ1aKQaFmglVYqjULMWHZmHMArJIIQTnmhwzLYgQpr3iY2KeNnqf4ZGtLRWpPduxW6gzas2AlTK2ZPV1AcvuSfyXS4b6GEy-v1xbISsByq74oVBsqeYywqanA1F5nsDptnUyCtke_reIzihzrekz4EDDM167Gu9bwdI371aj-hWSzpbH7YYyMgAUmoixkXtI9OTeQAU8TRzq43jn17otA88eUY_OEzuoJ4LKlBfT5MSxOfvs_jrrEbUftXs9f5Kvdi_szBc-D0xZO4MbZNI954jG0tpmZYTmv2iXIICSSB_q8WYtGxgbDAZ-XIP3-EXk_ByeqFMtXCzhTDbaJe2Nxpq5KZb_guVMjNlAB0fuECSSlJg_fjIbboBaqbcp_N1TtH91pEIEFloVcwinWbnMJwG-QiW07n6mWb2IraM8iG4cSBxmc0KoM0lKmE9JXoJp8X3SjCs_BcakI46vqk7pX8GFBHzf2OC8BLUyYcGhb5L5dqLtNenAVZM1qhNZlZ2mnNXnB1PmgIL4UyN9PeH2_dxn1VK6l9gEig8T0mjSdINBjHxsa9vhaVxnluXEDD02Bc13cUH7RduoiYx91QAWrvO7rW4litwWcjd6x8pWAA5xlLNUDDGSnyff-kKgyDvEok3z8Y13UhgIXQJS6pa9K3bKocSv5y_QkkvKXfj8tGstkglxtKUZfR7g9JOw3ClpYzCDqWOQLsGwx-E7e6z9kAGZM0p7d1bCnZKXVpvE0qtxI-EWleqEvgkTJR0nVReDQSChoJ5MmdLVE7U0UEns6pTd9hGJh6_KnSR1M58BTA3APN2tCCwGTmdviNQjHmRFjoVDYhxilgWNnnN1-0sp21pEiJgxiVvtQ73l3SUPRrD_HDOvyPd2aDAolxYaE8HpaVr4nS8N5SrcicaCs8XQs_dAHBZmTXNTFFTCrV4tKX4tRL1M9AI4qifcvJQoQZgjp7EqZS4TXHH7oZA53UeECUsIUoNa5pHAqK611GI-C08147Eqw7KAagcajc2PcZl5wQ0HdAinRPt6rp0uQRcQam5o4f3rwnWueRAn3QRV_OLiG7UpsTV9FHJUV-1NkJ0Mjfos8dcCLNHDZd10FTP_wsXTrEbx2KfUcywjJFaJIR3OuaRV6aUSVeO6osToW80XtHsK0txYPLW-NX6VdGrc4FQLBbSN5dDtO4SNZnQ6j2vX5tEMUTG95hzBs9j0Ca6d-c5wod9iLzEV6dY9iVwus_e26akByFyjg5h2gQD6yL78pcDhlCHEQqtqjOGntpOJqSsVDjuOlCWFIuBJl0f4FpE2gts7XfDE87nqh1YfYVgDEtGoysXOWuCdtVLfvcO8go6Chl3FZ2PN-NI6reofpBj0w7qjwmcBrUOmH5FIpig8jCdqbnR-4a43o9ERKf-WqYb0dPgCdPeZRtQOb6-cdEU9Y89y3nJLp06XwWhUMG9m2-0gNgMOh4GKmIE-9r62dVYzKyUKQkvaJOg_FOoKg8RzmHULnWGvZA6TATqL3Y5zkQNDGwVu2hJdYYOjiRqNDtjZEhThtbbfjl3jH4DpqtY02ZWa_Mr9GXXBwN-9zpQCSnh5XfHCGldFEMA-jfoYspNHBYhCGmqwM2cKl_2UYXkY7g2ijlHl7kOOwXmWNqeO0zIrbngNv4tlnX7yzq7yY8AItfoaSQYZiP5Qc-1vqC0pK5IsLEvdxVwr8xNID41GCxAgsN4h8QF8p0TOOQ5mYvUlZKXJj6rVUw7Hql8eWN5bdmEP98QZLGJ71IBbBmz81eOG7GJbFFCLA7QpV7b-ooTxJYDW1SzaW4SISSgEkkeqwyZu1bxYO30_s6yFw6JhmJdv2FLAyLngBkoS_0W2zs5YKWihkI0YHjRLVEWCPgvMWuf6XuR8SF6ag3B5-ovRjpXiAWaeeclSqX04m_kVhxRbysR052K-LI3lBYUb6cmfvi9148SbHvifPhWiGPDqOx_XVcPfcugIruUjtySiG3WH6dVUKdqw2lRx3n8yrLxMOw80pQ5wqenS2VIuODGOh5Vn4yQi0PpPENfhvUTh5MUrRXrozfBYGP-tkqwlSoEd2iyHTFUsP2LY9awTOLGW-jNQN47YPJbtJbiwxeZ02-7cdB050TSOhSeYXEca4RFGir_XGXFM57Ao_ZUHG8o0YG3j8F3AOS2B7kkTE0wrurowemAuClIYXELyFx72Dy6TE6koOGIU0cUzx1067Vp13opk_ve1mp1VJEFv3njk_114aOsguf_p4jC1RrMIEUe-OAHcvT-lX3iJ4uLDMJmGKQjsUgKtOjsd75IxlU6W7FHYUdALrnhTaxVm3ZNL4-FK6ZeL2T4dJukQFUMCo8RIkyX7qXR8t8LSi6irVASCMM8suqZtKXpszcR3ARu_7Z0LJgglmCbG3HkwjD0Vil-EMJEgxGFbYV2b0zqku_eNRe4sx6MiKJ49P2K0yg6TusdVQ-mcw041nGCAK2wBXggX6fMtxcVNDgMcfVCDJMPRYAYPs7jHEnFQ83cw18bX1Ivx8pgZfxL2J3zVcadAqMpLdqE7kPzG2V5OhnQZFE7gKjm3zwbQtWlo9v3q0toD7aK9SGcNf6peacTzdX2ySKFAXv12uLy4AgUCxvhmeMjeVoABmB-frgfazULtneFRMlBYS-vMP1RvD_Bac91d8XNy7858LvZGTzc4LgJk-YhIEZWP6TC9NZh23kSW0B7__Wq6wnPTkFGE1pmtCH8x0_saYZMO2f1Yt85z9uXoHe0TWlXS2DOSDtOQsSUelVJGHwY_CmYDNMSV-hW2BDDY1De00HhSU6PSifv-xqV0HUkdMq__0QQsJoIrMnfQ5yIlSmPNzIZ3_z31YDRvDVF6GngftJMhSpbei38CqHMjoypkYkTVW4axesGQgiZ3I3jie_50AYCr2eSF6RGHoxbnoZoUa3WSD0IRVUh6lqfTkG5U5WutUzjF3wYm4Fei2DODwzu0F5-Tb7lqTKrZDPeF76u6Dl2zsoP9OFGlOkYNTSIghP2pvGNwc_z2KnpErgi4MhEesvKHOwrApFySuDVRjbyOUQ2kRqQJW7JGsYFxe3S5PEIqO_2jKZNUZL4Z2aIZVl8BHNSPmLmSGm7C4m652XUhj8RDx5JZusfqms7S848GcAeIBjrcW6KraCI2eKAPo8ARHpDxPxEQdNmEaMm172Cs0sw8Uj1eDH54gVpr8KhFAU7JLNnQgJ-uGKVm6NvOl4qvu15VAXqbDHtHK1kwZRWdGqQuvaSi7V6Pd4tOcKCvg9q0F0K6gbwMJbSl56PZOjsZPG-aUt5-zmObJ5I0OIecqfXeqIwPZtjsgYxEagcubydzdXuAqdUogKo_JabiUR5HxPqbjTPxHofYbuTRVZsmuuwdOKAZZdtL9o6Mch0-vTFhwydELoJ0lcbVkKlE9h-65yp98VgYY8AX1VmJtO62zgnsmOzJXpJ-axOMPX2BIj7fveRsLBwY5mtSlxi8jE1GGs82Bj4cpJ_7eJX9oKcaO2MzsvhsIIeYw-8NPRb7Ip2TgmpvO6jpDMExHOLelroIo9rfCj_HsucZ2Oqol6x0bvmSGZAp5a87iF1Ts1925NRDMJ5cVacXJO-lGpdPTtqaxavW8qzHgvZDXkpi2mvuNH4rsVN_X3-nUmacU3hCIn04NwE29EQONi1QlG1Wcq_KFLHMxy1dO-CCY8tTAoYAABZdLX8Db6251iVAgocVd2NIrwSdkINA8tfODVL4WcsNW265Frc60RA5zNmx97T3ZBw42OkeuhlvJ_7bUZ3fX0BERYtFTFIYYuEGmP9TJefbENnL88filREI19IORnAiumkGV144CASn0prv0FArADcL923haUyLNPCIZcDoldIwh-j-3o6NfLuSkmJlkuPUbQAQrpePvLVQ2B-MvVcgvM82VMpgH4nKmE6yBMcoGJ_kyXTUQvxdfMGr6ANUJDNcQLa83Fss6ILffR5Llt0L_1drfwdZbQishjiSQZCd-P5uq4DRjrWr-uDWzNOltD6gAkXgKv3SDdKrMtUdHV_5-unTqYo9mGboYiMBjIxhPjcaEdhIBHXArl3B_ztq503dWLEhrnoDg7Jyzri2D4CD90IJvESTcB-UJPGcuSNAfzIMF7S3nF9bsC_lthoKUlAdfza83g_EW4oam0Ao7YYXXl8LTWsJXUVpUqAR9VkRvk4u504MKrsAtZ0j-NPdPb0BYUeBeirhXOr0dy3X_Q_a3t1nouAiOJzYlqArI-PTWev6sIHDPKS_LVpQcyxQ6zb_vRXFjAA7fntr2rgScEpeRYTTU6B0_HSDwu3YWuQVL7iMynLxuRWV0dKIk2k-18Z22jFC3sQi7o_ocLUCdYqxCRaR1MmMbZ9CPWD1cjWu6kUk0rJxJGy7uTFSVLsEPJxCPMjg866eh89PeZ6ykISyCX_WgVeXhHqzPakXNBs-0bJBAIRlNltanWpvjiYS82H1M5Si61EKp0UA9MUVkS3oiUWvpkLXyrdnoeBg7qV3QAqfMKZVPkTfw9XVmqMRs7VcKRXoMha99d1ON0bHVEbC-7zE7ZvYuVPdP6NhXkfE8y8MAanW29h7kgqgzmIRpYHA_cLKQC4YkTVUT4QvLA8rvjafWED73TP_NFT4ZdPl7viFhxHr_6HGWr2FsgW795RX7nRRCRiUF8DB904njKfm2_ps761IDSTCVboBs7HhXJOg8P9WKPrzA1Biz1gyM8wgckoHVp0QxN7kWE5zGtVrOqXmtkTQGqqzR6Q9VkB83bb9FDMVLLMDwPrbmPfFYbh5bSt8goa93rR94T0_hr5UDRtFFahYYR8gwobHzlaMBLOc_dZIV_3QoHW4tovO0WTHN-LiECzoQgaYF8RefGsQ6U4VpcFr-qn4HfWrcOXevODPEmiNWEfe50ZeiEmABClupl5_9k6SlCbfbTej7TpJFHqfDdr8zZ8Iro0MXvqt3VQTrw8I6R9HMMhqOhBqPw_Pr_kbC9tN-l-DOnMiSM4StWo1cQ7Lnkv85TUcEhbZEn2yMvdKOp-OietGm-fHyEZb3dIaj5aQTjSFdF2mXJUWx8O1k5r1NwXPyReD6SxrZMcdJ2tg0ILICDJYBshbnhd8PFgy5Xm8jz1elqTBon1spbyViiiJCA6UU5vnsSVsRa8xdg8g2Q4apUay8juhLE95NNuEvMDxjrPl6Ef50lU6dMEyfHLTjSzAI1XMUtweD5sGoVlr3-ivOgBbjR-HM85rUmecWD4XKFa2kY86uxoEH9neOvohnrglVzKpbeiC_yZ5sv0BXylNzOGnMwClcJWjl7u37blaYCv_rB6ZvWY7y9WAB9-mnBr8Qlw9b7OWHZUzSAtbJ79mgUx0KXBrNQvKUF9F3ZFpZSqLx1g8VjeYMNUFnC7nbx5rgpQpzkXljXf2odujP44WsI6BSG7tQvyfLPYwl9RWGQIUWkTBIfVIQ4P-4_bcaqsDOXeZdangA7Q3al4lMR4oQoxxXhDxeOygJIvLataB6I-4CESGLr_uAK6khwaCBc8Nu2w9K2ug7S-hruy5v97LrF_a-4u4Z8--_mHrTgY3wBsLCvvNRaml64AA515JhXTm1v_55qvfyaqcLIZ_L6blUV2eQPjAYVgngJms2IOhqkboSOCtN6i0Bzv4gm8No8MSvWE8QIE8vBRsnP_6PiUJu_R9QD9MH_disXKDa7OEnSFLzFCslJtNAydt-nyeF4wL7srrl2h3GgKhL6pAfGOuqW3qSAyqh3ycd1Qs64E3FP6oAcWrMrnJbeNpBLpn_-MxWExIzocqtILVFlmwhDrBSUrbhfPH3GG_qRt_V99-waafLAIkYbXmrrT8eRugHu9cEr88Ou8q5Zjoz1nkKbXJXIf-Yhc4x3whBm9kX13nf1WrYJap6366PwrPWizPcyf6YKBSpZAk22SPq4ZI-epCc_hqcA1IwShW57fEEwGulmCHHDwakpK2tnrSor5Djdk3E2uEA4YdOSVXMFZDWlzlXQkHxqxuU3GBknk8WXu4l0l1hT45NjPrBIsh_8duXf0FkFUn3ps6MJhQzdLvaNWLt2fl5n6hNvwuDUiO8Q0nHgmW6EXJbLMpRZl3ucZ_xxxY8w7NdZKaT-xo2a5CTKKYfz_6Opm_wb819FL6ztHGz1fGD4Z0dBebPbzTnuOuCqyLrdzKRg32aATuMWiNud7Mwxf_uRXrePqGzKZ5pg982oaafyI2Y1AVLKtxRJXqtBQ4c9lBocM_NcYlxPBVXksoZG-sAcu02bHvyCSPK6Ghqz8r2Y77qhY1-iAlUK8d3NtEZ6QF4A2SrjJBcNsKan2kVJDz8gFPfhJ_lPbb8tp9wLREe3NvrKjL9msSxXRCeFSNANwmi6ooXAbuD3jZGEkVkmiC6Uem0WhNSImrcNIqndh3jTRPfOQ4POGb0u72GjqqcLTovgvqzYIQNQlAiH4cAR-eUTe2j6QYzR4S2dVOuEepe3jXwpmUZNAK3nQJGY7Q4f4Bbz0HA0ZxTkCtqMdrv27qhgyN0cVfjfJyHDSzka6ZhHvLV_ahaOJEhT0Ocadq56BjaH-65eLfNE8IzLuW5avp53_bqpW9WMPHOeF88PBJAR8gz20XYDo_OJyHMHTRV74e7kmCmaCgxbL4HB3ajvUVez5ZKCFZGSAaOg10m9tnxe6osB7ysdycyRYQMR-Wofv3GSXbsZkMKyzDszdMc30jQ3h3kw9g49c3YIiZkSRBSX2ZDhu_kGHn3Lrzhhq18DV6Dn5DAFuq1DeCJOaVUzXoglsrQ5VEtmXtwa47NrQxXhJU4JoLqzB63SfWsMbUr2a7ylo7LAiU7S9AuFTIQJOSg7K3rhiGCHlbPPtEMNdDcFrCz1OVLg1h8uCkIB2oVY8EeFQqqEW4SLEKfs3_DcntCS6unTUj3inF8bwEaFx4E5BHqF-eL_nOlxyQrVOdjnYp5-dlS-Pd4wX_XIX6xOOYCEvKgY8C5uwjF3tPj3ZBTvkdDLcT07aK1mweZgD94Tm4VOf1maNgswIeOKdhnOowuDiJSd_Zvb1OjJfBuQ7N1h6MEaHHO1fKzArLFwS9imOaGl4YqqdrclMzfdt9AYNhpQR2EY-H0kunnqpbZrlReKp0MGY6TTlNjPANIyn41F5qnHMrfav6DmNo3VZLgfbov-0fw3rzmfm4fn0hPVxnHP_yFEHhXkxCYauDa5X-CBbmM2Xry9wjCLxXg8vN3ZlydrNghk3V1H-PzLkIS8Cy8d5ScY3_rzCkdCFPGo2H9dnytO-f0jPW-qHuYJVXSNlPxN5aKlYuA8PSA_qGuPPQr9IWxttQb85RYKolonLvuTL3rmzlrQAJGbzaCBlyvW4EORzC1AUnP6DdybnJpUuzyZH6qaROmo84-X5RjyLszrTGuRXwq_FU_305XRXWH8rxnRebhV-VfDhOOgT5yOyR_z-uGtY_6f7nYPcuGn2CkStx-AvRGRdTaH7LHNhAAosIUCrUE1ctuLo6p5Pk5ZJcZKm55r9HP0AnK99eMenLsT1-4wKYIVSRKB6ODCH7qncKmUcprIlI4nWqtd6c3TOvjYvhUjfQmDNYwxpoIhcvq2DC9cZhdyVZIrnswff6_-AYfnfu5fOZNteE6QQQEL3bCCEgZnqrp0qhCoVe2g182azem08U1-I_UUsVB10Ff4mmPilsla5oZ_fgo4nPo3dSr7jTUInp6ELTh0DAJXaV86F6sFLPpU-piOV_GwbBpA3v0aYNo48pustZ2z1snE7etwQYI5wO2J4cglQzRLFBz3Efl8KfpNXMWxhDQWOsE9OJKWGXVGOEBTvIgvCoLwverWvoKk6PZO-HQnGwkUKaBGDUPsJpwMk_Qal5fLsyT5YUHLv7Kw6mN4nX-0ddjpt1SvN8Xvx-h0Id9EbdIpTqUwS-2tssVGqfIaMTyS_Vlw3NITbM40jCcD9E0P6JZ3Yt_wz-DI26D8Tt7_FvhX3LAKGOoUL1D0W3fQ2XQdScva7T0ai5lBLIOb2QYwG7hGAf2Nu3VXb-bZkHb4-Ni73k7weM_ByImXB1hkXy7Tj1J_WXbmnWPZzHbhZiWwsfETh4K6hHllHsJ4BuOSv-QI77MYXA8PuFadXXn7UjSjN-Kjvohblybmpuu6n80Bmw9_VgepsFp_K1BvnVayFKqVjXDDEE1vYljjXOkD596dIY7cEF5zk_lhegHUa-vw2gMt40o_Wjl7VtMsMSYqo7wiVpu8ok3gZYqdbK1FAj1ie2pB-KV6-8IyOYXeak4FNNBX-9c1o1EII59mRjpNUrz6RYBiNYuTi30OJE211556l2fGgsjJwNgTjgZ6oTrMVF1Nbk00KlJ_vi42zZVxvfpuP8b8HGkXuK4mmdl9i_j884BpWac6S3F4OeIOjp7uFQ18cCsn0aX6YQTem18l83ADpevNbHHV03583prEPVsMIzCTg08bwwAXO_BMcawcEIa9Im0GMJK3qrA";if(!e)return null;if(bn&&bn.sealed===e)return bn;let t=null;try{t=ao.parse(JSON.parse(gr(e,T0)))}catch{t=null}return bn={sealed:e,bundle:t},bn}function br(){let e=Sc();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=lo(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function R0(){let e=Sc();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>te(t.slug))),e.keys):null}function Dt(e,t=!1){if(t||!e||e.length===0){let n=R0();return n?new Set(n):null}return new Set(e.map(n=>$0.test(n)?n:te(n)))}var T0,$0,bn,kn=g(()=>{"use strict";oo();He();uo();T0="tokmizer-default-rules-v1",$0=/^[0-9a-f]{16}$/,bn=null});function co(e){Ec=e}async function A0(e,t){let n=await Ol();if(n.size>0)return Ot(e,n.values(),t,n);let r=br();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function N0(e,t,n){let r=ur(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return _e(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
87
+ `});import{existsSync as xk,mkdirSync as YR,rmSync as XR,writeFileSync as QR}from"node:fs";import{join as vu}from"node:path";function vk(){return vu(v(),"network-off")}function Tk(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Sk.has(e.trim().toLowerCase())}function mn(){return Tk()?!1:!xk(vk())}function Tu(){return vu(v(),Ek)}var Sk,Ek,nA,hn=h(()=>{"use strict";j();Sk=new Set(["0","off","false","no"]),Ek="network-notice-shown",nA=["Tokmizer contacts tokmizer.com to keep its rules up to date and to improve the product. No account or email is needed.","It sends a random install ID, your computer name, OS and CPU model, a hash of your network card address and of your user name, and the plugin version. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
88
+ `)});function $u(){return Su.replace(/\\n/g,`
89
+ `)}var lA,cA,oo=h(()=>{"use strict";yr();Eu();hn();lA=300*1e3,cA=120*1e3});import{chmodSync as dA,readFileSync as $k,writeFileSync as pA,mkdirSync as mA,renameSync as hA}from"node:fs";import{join as Rk}from"node:path";function Ck(){return Rk(v(),"bundle-cache.json")}function Ru(){try{let e=$k(Ck(),"utf8"),t=Ak.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Ak,Au=h(()=>{"use strict";$t();j();Ak=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1"),fetchedAt:k.number().int().nonnegative()})});import{createPublicKey as Ik,verify as Pk}from"node:crypto";function Dk(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Nk}function Mk(e,t){let n=$u();if(!n||!n.includes("BEGIN PUBLIC KEY"))throw new Error("tkr-daemon: no valid signing public key configured (set TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM at build time).");let r=Ik({key:n,format:"pem"});if(!Pk(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(gr(e.payload,t))}function Lk(e,t){let n=Mk(e,t),r=io.parse(n);if(Date.now()-r.signedAt>Dk())throw new Error("tkr-daemon: rules bundle is stale");return ao(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function ao(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Ct(r,n.values(),o?new Set(o):null,n)}}async function Cu(){try{let e=Ru();if(!e)return null;let t=await Be();return t?.signingSecret?Lk(e,t.signingSecret):null}catch{return null}}var io,AA,Nk,lo=h(()=>{"use strict";$t();ln();sr();Zt();oo();so();Au();io=k.object({bundleVersion:k.number().int().nonnegative(),signedAt:k.number().int(),filters:k.array(je)}),AA=k.object({payload:k.string().min(1),signature:k.string().min(1),enc:k.literal("v1")}),Nk=10080*60*1e3});function Ou(){let e="VG82e-h8220rzi9CnxZ5MQ12Ub9_fXligiM7QkgopZNiBT3w2Sct_f3k-JhV8N7ngiJ6jp0i_a3VtASYHyXdpGP2_0Ml3vYAJrMPgMqE2f9xAaDcFWIR0WIADw6VSpPyQ_9MMKtAzrMBjOg2l0ylQdQ3yQkB171S6ro2ihkin3Lmy4TuA9kMDRoPo5anUjK8yZ5EJrNrY3qZ2BeejtoThFk4wcy8J1dfI9WG4sIjPkx7FZt_35Uzq9uWF38xLLk-2tnX38svokU67TmVIBhVnnvJ2AOyZIiCu9oHnKq1XKAWW8PTOwtmw8QBHhlgZKW_CsootZWyHbrj5NCBlGTk-zXMI1mD8-yhIfYB0GJGJUyUL5N5dU2eyDSZ86GItVpEyTTLtGYcfhvmpD4sYgoASLLSjBbTAFfalHNbCoIYA74DdTsfVGV22KKBAS8rF3bp3w88tPMQ22jOK325GPIF7YyZoXD1RcrbJcJKehkXKqQFIg71EwIuDe-zeBbrbrRq8wEguBTkMAaHsSKegTZBaSs8PEugiJHeq8iFaWDMvbD-UiMLyI3b3tb8CS-zhSu9sdzRVq5o4qGLsJ60M9plTQLIFuT-0PQz90REBrqAzgiE2RB3XU1mkVaVVFvn3gjaaubLvSOUPaImac5sBrvzps8_ZB1BPy-4DHFtNu0y-n_axCXj-uWseYHwan0UEdITlOPrHPu5ypOIaAT4tZNxYAiKjuA25M6oGd5IdsWvZlT3mKSbJskzMUM9GjRLb9-auPaEHCw7md30fVOFo0HljkVgTjNU9MfYd-haLe7RABRMYz63XLe6vtrXXAnC5Ui4KmqQz55Nxl2Yq1I0R9scoRtFWpzKlmZB4vkuoZoBxMgpcoc-m55ZpAPIv6SKkGzw8itMOzit92HNmJjHD-iK3B4WTFt9L-J7jKARgoEt_Nl8P7MLoW99A3IEoPKfsetWs_hDGqa6bLkPh7mE3v8tA82KR1Gig1tQXq6fHZFMkc29UQVHlJ8icWlNrkjIaWcMOOp7LqzofuVmmypcu8LEZO7Z40qRU1j1L9xT2YCz2wnemtr9N4gd3AQ5sGTRU3mJhTFkVMPJfaFD58GExgCYxAGgJ84ZUCPePt6nE867RNmthP7RT8hT99XdPgDD1lkq1bAsUwPDCkb15HZP2_8-84YbfZIk8tD49lX7QvkBae8GuiF8g_yNktnvNlR2plZR4C_ZgFHup1SAP2W9-Wq0EvPkdGETtC2Yj4Cyx5gFtWgEEPEfFCKVJovuYDObJoH0x0ReRRCKTVG8pri8RHnziifLf-RuiDIHozEMFLtOf5Hye433r8AjjVlTGn4iJR45NYUL0IfNe0rZkqIl2K7rUDvVWo970vORRRqd-sxvVSYJ7MLBAEkNdTAo7sXMcHLG2XOG4LkZGbpq3HspEgG_c0Df-PEndEVG_uheMGJ-jvfirGR5d3a-SBUM1D9FjbGrY4beoWTzS2o7TQo_QGd9xSefsjDHx20SAXxOq8nvBRXmUOiGiZSCET2bmVkXimEuLNwC5ddYGpbQOenxUIClfMQSyO-EzPhVtSjtxP9oTfYmbDCOMzFLf4zmPVB9N3L-K02mIzfv2tzSDxYURzAW2DajftsTsYek8iCJiFGriS53BXMi6ROjhzBeq2bu1foF2J1rCtC7yuo5kHTouXMjFiK8pjmwbCAttl50ODtVAvgVIBo2ZBSkfAWgpudRwXjf4y63TURQV8mBzY_maQvZd44TKsLS6w8Ida1O_wk1anv3eN_mmWUjZsCFE1UDRALB4GNqjqMEG10zrVTNLPUmDHgfR5kSXXo4ySJAKQjmSOWQx7040A08TvC85YsbVXYlQcGrlPMgRWAfl2g0j24GW8qGQOdLK-kukK7GKlneQJhKbnfQhDi_CCgSTM-d3qZoE-tcg6SFKhmHvt0hxYxwT5y4mgPPEQafB2gK53KpPfnPn9Oqeff4tENOo4s_mYr3DKLKV6cEJAg9SYhDT6e6ph4SKuODrE4Svz77CRLcEDG7nrKhvcheC4iuDZCOwfFzL2F859FovVSTI9oHRb-3WfBRV2eE2trr9zKh1_XewI6mLVgRokWVzMNrFL0g1eWkrOiecL6nqmWvFrebu97sW5LQVcDbzrMM6Pqz3971bpGQWj-5FQIwDqwen4aiCNNjmGGgkF3xtcPzcPp34XXdS-6FGJiatBEDt7mxswkVUZNbDK55IzrQ7eSKpuuFrnDnp749AwbnbH6ayCxO-d5MKbzs84zd8cBMi6T7q5seHf6oQIyet965nJiw9JQ0B-5enF1Rein9wEmy16a5O2oNl4MpmBRBRoRUKFqI6hntg0-tHrEVJoc8b_owa1im4rT0bxYSS-TENA-G0r8ekUUe33yk_at5PpS-LmqzXqQto4J9LA-reV_wUIDBbkM5PijdPkVY9zW0qmnMCPBZwsPoTKhfZ_gPkuQnhpOoswUj_fcdT5GKAPYuZ8hO9Fv8wUK3IfHwFpMxm92As7UauvkgEZJkdkzG4SvlzaqGwGc47Ljrn-a6aDXDZqjHnKKNQAXkD5yBOY0LWyz3PyejZqouxcYi-eiHCe35SpmDskngPCtCJoajfC8uXy9l-PVwdrb28GfFxlwCeJSBiI5fDbeUFVPooLcPoSfHpcHe8EsYW4Jca0LocLOiz-TjRN16YPZwlrD86gqLWayoHk9UpmLYDBbgybecO5_lFbwuYOGicZkO5tepJY261n3mApbP7oa_3Yxh-lugz9TYsJB_kUDgvLzXNnXFD9wNFO13keOd7HYbGiEex2YuY-VKJK_hiXff0BaNCJU3p0insGJVOMF0qMtOjHxQmbNfg7DMT4wk_LCepLJSdNHPPyEjZpQMkgqBKEYot8Nlaax5sWcRpkYO2rs04fb8GR-ZCUrL0lJcaSDXNIVFkEbmNJWym_nrLg2xTY5Hr1O-F5j6iUli4PKreDU2CxR_S9UM_eZzUwoseVFrfz3cjQZO4W66-Dh70qQ1Yl1GQ0zpvpfpupu0yVpjGJqFwKjvlHZ8mfpcwM7UoRtsexVNmrn1HAH4vejDlG31I8V_Su5TtqCsEGhjs4bnxENgq7MFDYgMBc5r6M2cIxtPFAyN-8YTzDL8rqsmtblZWe_96G-byGAomkELBPKfcoOjE7Dag_DCYS_FeklScFosfjTrmiq0okUfzzB5w_HTHT6-e-Ke7ar82w498H8B9hrnbN8M_oqilOgDg3Td64nGBrEVMq70o74V8aRyIugRxy54t-Sb7rlWbTpYAuN7QRm5_I9ryPpE2VTq6y3sZ-SzlkExXWQZl0i3gJtnWAN58PwX9ldwt6Kmjk66Ev9s45H6lY-Qh5CId4lAf-f1gLspzr7t_iS8pr_bO2MIhYJQnz9ZWSE-isoIFqeuJM3TFsVEicR6aiZA3sL-isPddxoQAw5gdU4M2nqUyetsqXMyQRAii8I-hi5QDenRosk-gsazx59KTz2mS-pHM0B--wOmSPEzJbrcn1mWigikuyBlWDY45qQ6AFUOvdCIL3sWRYfhBSS5OxVH4rgB8qGatFSr4k022rGdRFH6CKjQbBi4gJ31jlHZKrUIV0Yw_RvGe58MMo22zREO4I9aY4eUvaLj5KpWTX9CzuLMwU5PUWo7D2c1mVfohTpwf-1xdRdLz0MjH0qbNjI5UDmb1tphXDaKMkTnwnZUSIp6BSymF8bW_rOJ4R16_yTmjAk5ZLHnnwQOaSFdrGFZ0qvxLOpnn3XGKojZmEvW_k53WNmaozWXj44h52NuYXQ-Pu1QASlx7jGa5_rJOKvnlkPHUKJCy-ub2PokJLoAAe6FIhfrqlfrl834WlzywB8lYQxyAa9UYVOsMleqqEG3-5kYuegYEnttcLJ0nMWhbc4lpk5kpjFCtanZ4ITy6sC5CbZcdaBjQXxMcG7eGzXn0TCD_i3IDg-wheyzpdF3YvXjA3ExHo_P2ZDIPo9f6HKJQcn3l-TraTKTMmlAtDza_brerH7J_40Xh284Cdkefm44YihJhsqVVxvdLTdByrGPqWDW5CAR8yFOp2Av6j4SQEQvFTople3OZB_hkq9jh4onTSsvaVIcPXhtsAHluVU-5DErHCOWY-xYchO3x1-cxKrzEi_V2bwan2cEtdIH2kB-X3T5QWQPsgvAi0R-tmjCVMfETLB5OgmslFiLzxWACOgnKgP9iuvkj-cJzdyB9Y6Db7vH_PmfbWODafGkHJhOMs4XKWI1n7ElHhnu4vxV94GSi5NqvT5Tc850WINi1YCw3z-kGvL-LZuU8ACngFeuXKn_xRqNp2XVVush9nye2zw4PlC4m0mAStbMW-Z6Cu42VW1tZDsCSQAwN_U5y4pf78YyYFv815FecrcgJk5gPInTw71Fvqye-ZmaM_omWUxhE916InxV-SrLPixjhrRNqV3gKlfRbhMuuktmLdmQ2o6KfY1678NcN0kpd0j_DQpHNou2WhIyUKrLqK1-ueSet4sfzUv3lWfFM0MiU6iAKwClurpbXk6HJL47OPKV1jM3pXQHpVX43Z2VrjQRUorapVYHySXdLcNajpnCHpz56E_DHdQisLzA1Ek3_lDc7w4OcQhVS9_3hphVYYIlM-cNeQdPj3vHbQdj-QUxKitjQuy4tPODyTZfj1wf_2uEczwjKmdfxRo41p4xcsnEa-gnkMntzXFxpK9DbRI8UR6EgUIPskYXOY6ev8ZsEMj4P-2_iSWD38v2856ueSGfmGWVjx_hK-O0t_3-kU5fsgAlPRIDaOAQqYsjqk8WI9SePanplFBLWcMnR0qrkPqJ6hi0lekEyJ43ffpHVsgf5a2Si7WHGxKe-2r6qUngNuCG4sHI_s1m4iTFecKZ0Vn0VThMv1p5jshGF1835Yj5iuPU3GPR7dLbad-vhX-G1GSM8nTBlt_Pq-VNG7UChXEuBYtNTdf05r3dZQWXCF85JTFfSBYXSoO0WMaqltm21vuDZM4hCJmA-Q0Hu2__I4emaLAzTaPC5i1LAKuZSEEQUv7JuWwYE5Vb-_hYZvWhusP3NtPFbH6ssjHAwGWw63mFdTLs5ieiyd3njnAxvzrG_CG7Y1o9cTJSf0Kj5fRTQjMIJUaaJilySzLjdk_BnxAuNV1d8afklk1kghJk7aueiPFyyNrhaOR2oiAHKObyNs0zRhPPTe-0lSz96FEUd_8rxQ-nTnNENTcEqV4yFFCANYMXgbZOL01K7Dm2o2WgoC2X0aMGp-iJ8Lq-mSWvpYW0jkTQHlVZ-u-uSb5LjTdu-dEF0ZJkZAlVuTpt8EeYwPNrhNWv_tQjjKh5p4BKW3KfsES8I0_lwSS1J-1dl7A0jg0Z84JBpJYLc5nebqAvnhrbRgQvc94euCW2avk2rE32orb0zCOdWhWMLbtBWiYzGMhsAXWZe40fngY0uko40rywim_drxtRorw_dPSVuNOWIG66dEMn47Brs3NIatt6qA9V-Lv_-s30sUvKYqL5JztJdtC-uTZq0781wFbSw7umys5KsEA9ZQ3VRPiNy8COnkTWz65oQIiK9_P_S3vTdWMh6JL_p6mv3uqQBi7vEdOa607p5d7BBq5mRwI-eyoa9244zgP3o6Rp4o3GEnOdWsM_DlnKt5a92krPG6xFoYyrt7HyKoMA8lHmbTCHdSnBbcwk1U77yl3MkpMkpitKvBwyFrxDbCkrUoKKUgu6Bhc43lJZXaz02Pco3jBNPX5NQa42wNTWp0-yPNA1K_D6WoV7GL4jTADPuvQuIQ_bI7cK0jue63NPBbU_KIZ3BpVzsa2MLL-q8REDYXb4xEQhgpmYfbn6IEAyVbdPNVNSbWk77BjXqBqUU3P0yBtueFN32aWyuVmoiqgBBP5AZIcezLTm0AvoZE0Tgq3QZPr6_B4RvbO-Inwn_LcInUOaYxS_184WKwP1_PH912tEu9qm2kVAit6GD9Li1hv1dkvY0gBaJcXNtUSaTfeCmWKLSXjyebZfNjkTswWQfh3t6cyhn5NeZWN5OTE9X_tPXyIe_KV2fAYP_yBiAw91q1mm24wviG_1KQ5A5C5Q_Hex9qAymXqYojl2V9ZF4vjnilRUVpJ-QtI423B8aGtVnHiKY4nDSYg4DF6t6f9cWqANzjSzSqLJ2nF-jclTa3xotVmEsK-XA6Dw6muxCrPzwUeMWo1dBkyaND6pQcaMKY5mvMmCpcUpYHFIM63sjdON2WMYS5b-WDGLMoVnRkd-WYpzixzK91_OgCo_-yzP8bu5iSGLVZ4XJ8CdMB3qtygDyLdlkYva9ixuUu67ygnAoctK4DJrutsPHQeZ9mR7ZywOpIcoYwx1t19AL0OhyLpfCnWpVPQpmW-E2b8GzG2PA49pV3EWpAzew0tN8kK2Uh4AokviDyjxzkc5NnKF7qooqfDRpReVriBEp2lZIrl6BFA45U-oFRxEEXFOaSsRFoP3q7WJt6o0iuy_qO1NW6oUxahgBCUwWt5RhlKeXtP-PI_9gyQedL9igykuZaxxiUz2JJYkKTXSIuwTU8iyQUHtox6yFFJBCQP-56rmurPGV1Wx4D4RKLveb8z8gLDlbJJ7rXEN36uIkz7g1zQF9p939X6k4UfprYAxc5SML5Je9iHSA3RcPpdPYCM3nXKoVORzdQs8gOO93IBz1uYkXtOrLrkzQ3gN7Yy-CKp_a28yfPC7HgyBLOIU9Eb9uxnTEsMBjNZgXrxdENQP9NthZxOaGv9aaZvQq6e9E4xxJpLN9VyJXheiywHq9LYOlq6ikbbX6aS_g4XwlcSZEeeDiUWqTZZreiN9_MsqNLQsr9NwEpS23Yydko75DvI9-Kv7ML93CSS-lV4W-PvLuqMFee8Qy6QY4EmD62nXsJIWjN7_hQzWcjmaL-IzoLeh8zsfNM4rBesWq-qmH3lW8_kvzJyG3finKb3_OwjbfK8PfzJ4RbH_Jv65tQbHxR7ngQN6ZN1UAp7TOQ79COGMYCTmharNfjA4H4OrqjAjJtofZlLNfsW5efg6-ZeC6XN7WX73BIAoEyV5MfSvMjdCkSlZ6hLKSWeeTOlrR8A8slgOhijXFXfjJq19uOWUKvwNk5vWEaE1kxY5cUirnZLhTD0EPzxKN2LJsf_ao1SZJhk6zcOGBL8LEVvPMTyfQUxtkeTOvLQOAyPBGUgN6e1VN-3TrrcoOicOvMF7aX8gF9abTgKKTYRTL0lnSgdwK7zqKk6ieNIG98HWHSbQGb-wUnCOBut6fN2l8qdrBKJCpj2zmDILh6CFod_RRWQLg8jOrCjFkxNx1WaDYe9VCJ9g5YLRhjhw4p7T6_eNYEIczzzPYrWPORbWeFtvsTaOtCEPY9WC0HeOfl9NhO_jMzqcOFwANMvfFX8atHD1RmrhOBTvjoVi8qQndy6ImjGIIm30yx8F_qwK3VyxtXYZpHxMw7mtyq9okjdHeZptsVQK1OOju4v2aA1r8mXUXRW0be9PIB3UQ-dK98Eh_y532zAdXAp2BrErykVBTNpoW8mB0Kkn2PuDOw7OffkwAa2uYShqdYXdTCgOG6l7ol1HPKwkZL2m7mYYsh2Em6lGn4KFohMBIBef-PF-wryGn27f8SypAY6UUD64n-JaKYSZSuc3iD1gBczkohMXuu00sUl-TpygtRtXw4RMeg1C6hOYYWRlJ4SpdEcLaNHeE6ugCdVb0evvrTI3rOcW6ieAYixACiPcZUR6BCiP9XAd7J4H2m7NSS5MObkH7wF2lwfW1Vg6b4GFil6XZJ-UkHk20LfPg6Pl-eRFqN8O_98tBPMCa1zCtRwz705NQG5tmbmqN1MfEs97dVAF5O_b_fIL2XzWu3CphM0RystG1r3MNOYP_65K51qIRXiDhW-sJ-vb8IowbBCS1TeqfIBzB_YImE1N6_Q5V6godMfP9w_BaKlUuNgCGOjPyzS0AwG7QOsNkJ-Iq1eu8-vOCcVIcZC4uUuPAUeJ78LCLguQjUzk083fp7U7iQlfLOWPscxbXWLwu0QEWah9SIPJv8G_FWk7GdQMrtB47lThjQVLFLLhfiMd64Nsi6mrdmODc4Pm4xIuZWPq5Caa2RnoJVlL54bKFpI8LzD2H7U2QbudqWyoscJNQfOrhzGjuapjFjWO0wcY0CPF0UQI_0cAKP9KXViCLPgBr3u8ma2klATjsw2tE76_wsz-I2DFGhjLEEldzUIIs1GbNEl-BnSFC55-fp04z27SoldgIGkXeLPayS94TCMMd28O_SH5VFbpukrOERxZWLrMGpq7R3bYg8ofy_vXunNP2ttQIGlymS-9SGrgP8bomv18ksslFkYLsZEELOVC8lD0W-oxt6Ffi7cx8Xy7u6c9JuIF1cwVJDaWrVV6FodtN8qyfff29bckJcuROraxy1H8oXLx-z2j_yVgmiRHk0n1l41zHH3au5BTWHzZl45wOTGq-bvtS_cnf6faYIjbYPLf7SVH-9gNzylFwaRtMwRd0GvC6PefQR9TCVVFO4S2YBOin6BeyHLyqZQ52P1agH4tPkFqs1kQfR2tIB-GKkjyZ7y35cZuuwEa66BHbi3S1VL9oXyfGDyn8_ujlJOQ_FfBXnrkqTfzVGCh9nDX2gVct0aVlzCXkOg5dQTKSK1mH1hf4_OWLXFN0IY5e8KNRXuqWhDhh69XMx6gSEuckDI_SjRlp_t3MXaUWm6wKPcaKpTPKex_RO-ObqRQMFcsTj5o0IMasvOKL-_HG1jdVT3DUJHfhq1WSD8mKXEEGJwd7eYQzaLVe4mWxB3TlMPknnAnVGXT09qiA6svgExi344IejTVgeKywMwkb0lSsyAq3sFhHcUSRyOM-jd4eLI8tmvN43dmXCcT-jVHPDMtpWPGE_H7h9hnQQtFVakt_0WpW7eg1B3QutB5bmYs15NY0XjpalyyYyaa18cWw4ZpbIvPrAC0wJnkRHSESiGodDgF9baihbjgM15FrvywC2HEJDrKP17N_c15aFWt7eQcJtIaE6fz0VLz4spKHEzByOgApibQaP9pHPpAuR9lyKReAfRQjdnCZYliFC951RfWalg12YfbNcT3-2ILGlSLWe0mvP0zy3UCQ4fWdVKEpS0RiVibAsd7MHPEIrPdF8fl5pj0WKgkXQpdU80E3U4Apapq22h2N_qvJbIPPQCi1NzWHJVlTXCY4AkUBoBTlHG_kcoVRgoC7gJ_0qAh_yrOfEKBRcXjGaL9l84GZV2qwGdbeoYE46msA2S7LJvypzTBpfA6imqmWHLcgPgAl6ak0yD_-hD6EKSnAbztCo8zJLl5Byal_Cbs755NGRDPlOmOxJLQdfGkInv-ft8kaXaALEzhYuJNHF-yvoBeXVSBLXHq-lLRzEXmWZzvoaIfkncFE8oSde0ripYYv1JDLFABqUicmxT35c778jlI8Q5jx_s7doLdAae6SaWJIVeTDI1wWph17mILMY-KKXWFazcUL_qo-xfHbZixjp7ILTJfBBblHjZnc79zxCdeF1T999y8wYhY7nAKSjf-8KApOTLy4VUUOzNkZ-MuEAIfJIaq_pTFN28nLqeFA8nAdkuX7NfKDspkT76JZNfApcjJlfHj6CNNfgHwS8LAjArJneX2EYEWwYOfWWQ03atfWA92LlvW2nOdAPWNm4IkNWTg11T2g2Ie_K-lq9PqovyUuwsRBIolKHMdCEmfW2ESntR6vjl1rEJtiXornlTROGXDryYzYxUn6jtc99iTS8iG33eckYSNq2AT-xHBLSUWIXOh58Yd95upoLjf7IwttYA9FUfhzTuuRi3b9I-D4C5kLou7wsfGoBygU-ubROgFjykRyo_Z52B5w45UeI0y-0LrUEpYMQCD6D8wwaSw_yV1Q88TDJxtPI8gBgZ1yFRBANgdLBISekXY1cWfHXC5lRYenpnodrs3z-SFIPQXJoFv9aMXfwDU1fhVo3s2RX1yAeelx0m8T4ELjBrKUZr8Hbl-LQQ77Tw5oyUVCZQhFfbR8IecWCxMhep2NcHlIJxS4F5dii271XtwCpCF8ESQAnv2OU9kefD34RXHsyJGckS_O7fF_nnGlgrJ154ay5gWMHDuTwy2um9O_CgbFBLt2RjisAcdVbyZggcI7Wudin1tnQXD41pICoylUagZfKk8dmOfPfs0Dl4j-PA96ud0LsOs_dg4ZEbA7OIMQelQeuwQ4fm3li0EFR3rUD8IS8m5fGTqODhXY9kxqEM1hRJnFNqYohJrIIQa-8ivI9QGCd_ky86WU9nvTK3iG9EA1hWEn1VrtEQ4YuYAQlhDUkUYU3-8fhe-6r-F5F9zOQQf86-yynZLuPJYKHKZmixeEHAjo06UL7s1Mo3g7I_9mw1la1uA_-5KAKkdM1Rc4nILdXs2M_tsem-xMwK7A19ZsnAA7VTkFQGTpnXBtmRtdpNcOLHSTs_0OlC_96XhE8GLC9Qk5T8NBbbhDYKZ5hZxtBCW47ko10XzuN0uXN5-ppndsJfHiotJoU8ZLQhWy4iUOr5FatR69vN02O383lXR5o5W1BS-7xakKpyKfcnxRQxLUbBD7XPpOmkEOOblvUsSMnMg5mJe5ggWt6OBL12wZnb0am1-_XXDfRKeYBO2Fe3UJkFMLacVza3YSUSlt50oQ77UOEBBiDiXFQ87m1761-J982j8a2E8mhml8bMFTerpYEwF7hR1Xggw-uFi1e0J4ljPUP-6edN_SVpXtw1EX0WiWzrw92ahix4sY4TcVRF3JQ5DaKCT1-5SEeRlWGvwp14I264WzOnoAsjT__PBPH-_EHPIjeZlUp4O0EyyfjSiE5YqyhBvhgtgvypaxZGFtttV-V9wf40S-1Va81lXx3SkYgWCDlrgg8C9Nah3to-hDWCmD1xm56q83-C8A1GamiVSbMCLU3w-nn5Vpr-w5WUsDbyoEqat0ieOgnsX0l0M5mQvhlQ28iLVHB32QsVcSqKqG6TJw3L2sDkK1mh2GnQHhGOtkIRDvYt0N0EQ0Xe3SWYXpQEYY4Z2NzJ2ghxO6aS42B-u9Egw3oOrqi642AUs1LbaCm3Lr-Z_5IW2TvQvHBQJld4cHDtx28h0AWjrHmKm_c5s3T98BC9ycmRVpoh367FvFvjGfje1xGWjRAxVRO19LHuRcUOTXn8Vw9AsnXyw6vr9dS0t_haHdfryToOrMRfs-tMe1PXI636bb4SsT0hauo05R78qTVYEEPD3vNg-JByFuxRIruvqtP7LPCq8NZl1UjlcjfZbJhdZjdxFg77TH9y8goDgUquP5Bwo3VsBK75NV35ImAU2G9wbJjzsfJjnrIBRCkeb6CpJRWCiZy24nsx4Jv-XZ2XX9Z8CD-jAjsAh2L4gw7fbCGFyb80JMErKkDWHP7UmOGAo1t_ifcgrv18hQfgwwyNG9SOjgSmWZazPFGXn6O2_vOTifNxOSErOOEyck9wEhFOWMKWToKqaWoxw3DoN34SReg20YUZW1cxIeDZI2EB4PU_mvqHU4mbqXoVJZEg0KJl8l6iyK7srd2GCyXUHmgU03O3YVxFjSvgJfDVyViyZTNlYoGHY8WqOjxVjzAGcIMUP18VcE4urKPXWpQj9h1Ksh-SPyPsjkqUfWxalJ0pRVy4VaK_rqTnzEpX0Ndtd_XKL86zz07BVgnGHWF9mjhJeyIcYQKwqBO3zHYKm3VrzJ_k-vd-iKwJH69poUsK1Ad0tENszAb6yTbYmKZKz0KLwPwkz1LRgs-4-oIaUvuE7yxXqkvkjKv2uXhultg6b3ymBPxyefcj09smS5wm8CS4PY8gC424fjwOUwUBcDtvR6Lg_Z1BQCT6hxpS1twxx8WSqYtxcRR5DweXFBPXqqTF-Nq_CET8BpShB90-bzkxilrpPMj2Sp9odP51Gq6s-4fXiqUOmu9jp7R4NP49vmI-uxWN6M4OJtZLaq9wkO8upN-0736oChSc9WF2BjLsfuQEVpxAC2qf4UxwDf6yynxjXbNz6ozfJJQklSSK7jkUhQKBiuiTmRv3rW6HLb_kkrCFX3Yt_MoTxUj9vtg1OjYzo0OSw8w5gC08AmpFhZNf-mUlaNbIvZo0RNZEUd6GxsHJ908JEntBPfMwznKeuMlptJIohzYEWpsMoMEm5WU1UTWDvxNUPB-Ijuv_4B4kPHN4zL3x4nuz1YHZLbqZeYm14pk9tKU-yxsOzVpGOaVaAcRsE5qAhMVTAgCXmD3S0Fpb1D-i_FBDKPV6BOxAflppgYJAh6HFeA6MMxZ8zqIxsPT4W2ZE0armiqTHGeCcQTEo3l_cEH5hCJnjrOsH7ybVUgzBAd36V-tkYK7Dfq_u9EnLg2Lha1h5COaNKnCp4W2b02tnxHElBI25qvFgnEWhdkNU59JTYzJcVWKFG0Za5VC64MiMo22qefgGRjxjDHsJTrTRUB9qPDnse6kiZKX-iERZiT5L03DTvQRTzqyzbL6IEu-iAb2fi2bWFb-nVorwIBEM8XI76MOldGDdMpLShe_djp7DNwJ8Ml9Hl3qKAu-MXdv4jXvW7vG76KNekbWP3Sz6U8yfYXz8fyw3zfSjXXfn-Ihltx29oCIEod87ZALI-56FWD-3G6h9dxzSTSb4994LWfwGFMMAMCxKqentkJo8og6LM3htu2Ij9hgF09IPGRk9_FDPsFpmbk0XPRWVoRXDvAtZz9moj9WxnxuAhQMyBPmxkBxHpwBtNRUSMGYaNPel0w0NCt2KDhuH6swX66Nd5d74R3H9IzRr1n74hMkokIbcHqprJu9IAiugilOKcXc3i8uzkpqoS-YQv-68uRghdu2v7f69Yy5hFpU1v9zsbJRMxH1QRj-R_4Dvr5J3EKUSve6e0AQElJbF85en_WQtsXIXdYckq8-NZ7JVec94AUDU6Yz365Obm4woRhtvCwjojgE5AtRolEr3Lhws7Si9s5gZkePsZOIhfdY1gCoRQvIwniTNtFQaGbcDPtVny7obLGF9ywEjBVdiCFEJc24I9zmMvBsCQ5PZAD-RtNgr9RapbmlsBASHE-6vIxehRvh617eXByq1Qnolj707SQnNAzB-q7KCeAzRAYFJp516UlJlYHjcr8Y8vyGajiUQit6xXgHQrVkW_CJFLOf3pZn47G694oPFo4gm6L8C0g1axXi8Db1JSSAnUp5o161bfWM09WlD9b-j4IqKmxTcw7dWm8jyRlyp6FbLbWX3Mum0_uNm0yXWUQXf5dntLQiETbxzTxq7srCrRSED5uSkdcSMhd7uNv4AS8RvAgd-f5Dj1MiS5CdpSnQp5hLEeeMWgI61Fe4oEUpbxat1cGkZDQLFWD9uSiaGEZF_WmsTG1bkrwKf_FBL8b6_bbsQkLs5Ok7Jf-h0Jv6Mt6wjC_m6FiiWWUPBgKEC0ZfpsGVTUv9E91JBFE23Uv1_YTIMFtjAiiiL0n-XDCj6w5wsgGLTtcqq8ekY6buaxfPCEzJm615AHvkgLDuvnr_qUwcGjl2NmK2h8JOznVj5N-XTMcZl1DQWWFY362YY3v-I9mdG1Pb9LxQWQznv5-xwagGfbicc7rs_E8DzQ9n6v267yTF4ifbj8cHxrRulvt6r59i8pBkuq3_PZR5OPWlrCpgT5nQjPZtzKkcFPm8zCGfA3IWG5nmlU2yiJIGEk1zJhEFPYr2gX10uY0jMmX7gtgK4QN4RMGGOcG5pZVkjNGwCvjb8tTn7xBdfg5iPETM-Q8MaNLr66IYbs22Wb3RR3Cl-KaTfKqAWJoh8ke7anfTQ7jeLnHfAJ54hbdEXer8ZkZHy4XVe_xUEs2HmPYYldVPlvg2J5NRTmRzAmztWdsoshn_1qwPzkIQVN8Qt_zfsG8AAQHDArajQkd1Z43tdCyzpHA9QxyBbIB0LT4qw9hGJVD-EipplyTLYezEvKIu02kIwCs1RZSn2BnwQWSt9ajkGfEOLuEwWlsbr1AXardMC2mpWt6eLFUwexA3r1DS_rTf23qfcBPYoUTT0l5dFQ4-m2inlDTMSwzsJLVfxpRuqR0oUPynhv1z8dX54nQT4i0SgkDckBcTLBeu1Ncfphjiiqp4MA1PBMR79rjEi_PoTuqDQFE99rMjZkCstbhKVQg50arEgzd0WXFU6via6jJ1SjJFAtaOEsDpfXYQJt265BIkZgWQuip6QjIn3CqjeEHojhiroB4-f6iA0NMeuwzEF54gKXU9DyTlpNL0xTUbGSviHacDfnOYoptO6Da02n5WiJ1knySPAxbnJGg1giE4GUzMnM9vZHZb6HuS8qcW1s5peiep2N5_LL_2dX6XceKyk5q4N3s2Qyi21QqFhAbA5HCr2Coty3DcMvW_harU4l0vqg4TjaLiHDwefdqzcEeqoStKksYibsGe7y8j5t95BE_JtMTLav3ofVijdRyt5C67Iy2FJCvN7L_-xyEGNysL4o6qzbMfhfa_0-is_d0TnFQMHf_B25MdyL6Ofsu0Fv1n1-Jyyr7A_jbvyV2hJzZ4I7ErRnLSL9KKldUP_j1tsMluJwi29yvh59d_gn2XHqGyDaF0S3PyjZ6qgOPJn7wgsZNgW4VE7zpYx3W9r2nq4qQCJX6dNTf-q350ncUJSl59XWx-1cz5ZSkWP7ahRgwBexf237DChd96Z48v35lyY3S_42XE0HLp575K4-0WtcUlEG5m5LuvhH3ANsu6iql3XY4pMCFDe4yGf2U7eBISwKRqq2z8ALsVhAXFX_aPSXI0nPNaOhZP2qL9nzclKYdKgjxpJqtq0_dxCQudepjvReQENDOKFeXaV22a4FVhYjVxIsoUSU6YM7aXVdCQvxzpKdv3LR_HQQ6--zavjnCILM6_mz6qrQEufLj5Bpzm0E2QLAYLAle7Ura5CunPrice6CmDDHa0Ls_6QbYguKpUmeMpMmZNjB0u02_MVmHGsuhCOeM-l7igx9_kYwG_gTKi_fFgQsZDH9dFJKbi9gMHgNfpBvnRdcmSh00_AcqnXVzNVrNutDBd3ePHuocmgpjxAsd-aqOX-COab6If0fiMvciz7dsFfeeItZXcQYrsfsPuZLueNWKYphyw-08UYuUEDxvUXR3ZUmQqfX7BtAiXaMUTvPHV65AP-IgfNxJa8pGZPwr-AGqtYszNgh3_o_q7KgC9aBW2ytIYPJ1PsFCQFlh7LwOH9L0bIgxcPZxVUzV8Top4qT5NZyoilhItmKl0QfyM47ByeGg7x6T6T-8eWLDDp7s31Z2SDXN9eronU3vfXZxg7MzsPY9rGrdUkf3RAvgb-1a8STOC-RFlkcjownSm6A0KzHN4dO6QTpXu6TFrZtAkYMHENMJWvHf4w268UmYFZBaoltD8_qrdfbQaF4dzzdcppglgWp6RAWjNhDkmdR4Ue0Z_u9ZfONFQKRafk1Sr8cVLRY2jsnI3I234tVWGdII0QNAb-a6fkDa3AKd0SeMhR9HR4QEN_-gD31naugCKy28oA0BXMLlpjWTcATozikPqU_33fvqal61SEtSDXBxxxohNMPeoRQ1TAui8i52-OmsAfIrhaKy2OmXeb82rhkLAaaE3Kvz04vv4wJRZ7eB2tp9gVDke4ZCLM8WI8IUbIoTZWKoC_9zxAEyQ83C7Yh30BzskAQZEhqDVEHMfnZSQ7ujS1cTyAGSiIqlcA2CV7PPVm7raQ-NWgbtSHm1k--qmg_G54B9ZPRF1p_iyAk1wG9Ha-7wo8YYkL1ZLpIPSY8sqclQCuNo6YcABfBXhh4QUY3pY7xUMq4Bt4jD03zw8HxI1SM7tFp9DDSdyNc1FON2WqES9f9d1BRDkkzX1_TPDKw01ReEcqSBE1kkuhPO74AOmnwykzvJwAya-nMaR__4EuSgAHWgdbEXOhY4-szZUauoVF3DMBELp8iZRimCosCweJZ8knMu0DHL-Wpghy-ICy1PjS_YguMVmL-DlaaiaTEIyUS0lQkL_5hTnWoo2pWqmN6v81Jfi3Jltl4o_IjETVUd13KJkaK5oGNgEO5It8UfyFWnQqsfmm8ryvKT59K0t87l3vldEroSOskC7pP_lnycZ2Ikowy86e09rz-7HCU-IeErlAT_zCl0BA2o-ZApCAO93f9xRmyxBgcMioa254o2MGTSrudLrMQtTBhufCcv074V5UGeE0SWPe4biGYALUX1-OeoSgfNddGwBl3xgIArCFpQud-D25VxRY6XcM9QPgDM4230GtAf-qnoZ4aFqKB8JKuYjir9JvzStgj95aSZTQdqv1ncHeRQ_7IqCMQwLPWYOkFVoN7Ov1dzV6zfvPTjYnLJ7g6ygpXwZmnV3dviIckGNiabpPF6YnjBLUPaNrfwBf3nJgC2hOIfBF3jutSNFQlqq8_UnGjBxVPdXcXBiuGAg-aLy1z8vvBXobpPkkd46oHUAdjyL4T0YGefvpc38HVphms-QrC3SjSGXumwNNl85aVCQUovVW406fiXjeQjYCR-FDxy0jghWFX4RYwYWEEBfMky0S9yLhxQ-nPPSygtogVnK0cjgJipZeX2PnSy18IvULFvDM6FAJWQbM5b9wxCOPW-Gf1CcPYsPDhvfSyosQHakcXk6-tc7xjREnEEg5O1kYdKWeCuBjTCZch_0felGW0ipY6wbEl9k7LN_KVOigjXPp4mzkAQPYjPeR-QW80y3EGWj7M-7UnVd7M95mnORUd0yrfLBFjmx_IW6yR4nJNJRIoIC79iT_Rj03qnqOnrwqrPVL1IIyvGD2zeIpi1JGH4J_j6U-UWVcv5eHKzLBRSC0sDWjIJYHNAPRJBTu5ZWX066Z333BpF8leUm4AvbK8nCe1lr82idyOYbgpcIj7FER6IviavAlVpJr42SQ4eguVYpAb-rubZKIuow1RIapygO8fHjwBra8O9JypiCRxYcLAK0CVs68jTdPyXtzPo95UteQV-WePZsZqGYygvkrrPVtyibMwD5GrXDIrBst5w3BeTDz_gszHMxAJqf0mv_Mr_d33qWzY8ABHl536KQodqUCiFFADL4MVszGk-7O09WxtC8LOg05klSN_bwprhFffYiK24tWL7F3fXUa8VdF3LQOORtBRehLLlgd-E-XSjDBvBmX3ZkBVH64geo7OFvFw6VXJ79cFPSYo6UdZXCDc0OfJ3ljSoRLXJ2-uBSCvZkSqYITCWvY3P4WWjEod5nh-r3XfATHuvY39hfgICDXj5329ouwFXQyaW6ByWcPNPZH4AkFDe5PQJu0hjqsYhVzr4oOo99kHZx44b-McBV5aY1ZcQdI1Cxce8vCzbHEoUE4nrV6DGuIwRdVnRIdJgyobufm4MF16xph9ewb-TPvy3Sm6NRMj2K_uoNGb-otl37DpO16cYz2WfiFh9x9vQCW5-QR5j9pH4Bj2wh18s_tv-mP-Bqj2uuFNqB6hhJ0A806Dyqj1L8DT2rSklzEYJQ_lliBV1O7IvR5gveWw17Z8kL49m_vntS5qPdIW_jP3F9APer6PwYbSY6MkAAZXTlubEQUv6yMZVKuCE8pvZWnOEUsQ1gEY5ID6V515z1c4o4gjXj5OPzLR9TUEtsQehReIHbvgMkLcNsBoaimbt3XfOVgJzN_VxQNGynBN1O7VWVRPlO2xkg6gvBTsCOeiKHJsdGG9X4p7seI2j3QsIHlo_YDV9IA981Ac1XCrIRz0KshDVC1zt6tvMXMeYnX1IfNYdMA8Eoo71DLfTAp9v1ZEW3GPFvwQv5QnzgjhyJBLd32YeGvfWicqsu4ihWrBv5I-nNQo9sP3c_1Kf3NhJNoq1YERiBTnVLPy304Ok01bYDjBmqzjRsFVwrp-BCCxOQ8YICkggTKtt6puT0n3IzNrdeE6yjW9nZnXoLtmizczkW9zl2_KgsKgNLvq6PASObsGzNDiX2WgP67EisN5Kwbmg1eU8unMqDWryUUls0-iTxyG6YrmI_WY7E5MEi_br5TceuBnMQxyuAqFhmYXnanb1NcQba0L-GQ5x8H4OlKbstWMS5l3EAmsK_OSFFKfgy91I9nqZ9fwaRv0QHCNDj4_VfTCvuwqhFZb67VG8YMx2IXpSf4alfBYgUgmGE28TcfAd1-9_mrV9rW0j2ZTq0W0r8dEpCgEXXnjfzMy62XUJjCip0qiYm2lXt_upCLFuzm7jwKQmtJe7IuVrzPgJiwhWcrtYBSA2bQJiShz8wYa5Thyu4WmDKaHZ9Xeq1CgkmwHoA89fm78Hp5WSuRYFyswrmv9mLn2ogYId350jvFf51X1v2dU4g1puiFyKkg3F61NadHg3uQb0a-VB-X0xT6Oukt60ecRbbFLYep4HFqNlvZkbRTg2otLe_l9q52Cx_8mqXdNp4sufwQA6VJoOD2wfl5rI0yhl8iEK4RCTw67caeV43p17CtDc-WO6LjXSuqrvAMR6dbt5BfvTVy1Vy4MyBuXmYDw5Bfl7a76Tzq0WPWMhS9FcYVKxZWb6mHYu11T1ach8gzdoUofyZ4CtRo6wVLkWlg4XD9u6IQFXAf_6NH1k-CeXLhDZ14Xgzu4yRDhNYEMxh4Drk3eV9FcI-8x_rMjj9uEYjRkpM89gdBgEJTHKARUXFismqziMsu0mh2bxvCVsTJjvLtjoJGkzemZ2KB8DrGf66qOi8CW0UfoBWT99B0M2v7qOMFeoeNwHs6MpEe159GJAM9_9QJuhYNKPBe4opuNL0zTbj5SZDK3LIaN0uvijpoqB7_51i-_b_TqSvB3MdRShmcfsXf4TmZqzF2bid-udzFTcsRHbsT3NwADxZsA3Lo8rI0LVhDLMwGZqpCztPVLmUdp8xNFlLqn2HoCKRFBWdGGUWRrswX8_HF5sp7C0kw9oxLoKCish8sPUSWVwOHvTN28BXzo_evf_DC2JzcYEJjoYdMqZIvBC26TlhXIkOv6KxTQNXZocaUUkh62R5d5DV6tNg-M1W6rlELhC5afZVRFNya1TDsy53B-c1Q2arH_rgx4i8qI0W0aS4WJBUVlBiG2qrht16FCufxrSO8lyOYaGZ6ioPQJKiR4dbMQs2L42aokgR3ktm-5d6iSgQ9OWpQ8-1jcMjpQAwwT5OgoMXBGJJwiczl-pTn5Cz7DMyKlyl3Dm9ClKbNbT6wZnTSuqm4bbg2ZePFP0eFj0OydU67OYaCvqNrPM0-lhOhrWhs-NHmuhIFKyxzJ-8pI1hSYeVBKoHSpNeNU2727p7FBcD1DaPLF-8ItAQBcp4FSCCGFFm8YkLS8VUD8zAzjAlC2lYiX-sJSkpKbuJldY-P8WO8MfB_ALhPaVudpX1RgUFTlJnM5-JZNa-L62279dmUDf0raxJq1acOidSDQJCBiJJZJpkt7wH3muhOHLxrkypRyTUtll7zM5Kgg5rqUdK5NGwU2p0U6gUZt_rmItZug54DOJvMzwQpTQ8Y-qzw-hcMFSCJ7R1cGf7LRr5sfY28zsZR8SQZWUYJifOjtpyn2WgzwW9PrKWhhOp5K1fPaVv88rAtSspP-qwBiE6orEDWI5PxSivbCO78mk78Scwv_W4FWlwo0FpGhAsqN1B8bCP_tf9KrEfpQv-NT_XYPLJvcQTqLdxcY4x3lsDJXwmmR29M8pKmB2wvAnRA2HRXBnTHT3oFtYLW176QP-My8VnRUWc1DPMrZQD8ofqCstRsD-XlR11Ww2BjBGyw7l2x0C7l61n5MZq-tJQtBXAO5cV6Ty3UIItDuljnDBAGEbbEWhP7-LIxBhno7mbLGWf2NSQLphns9wMzIvGtahITLh7EbdTyXCoUhiecjy_DdlYx1OdWUFEP1RTtd9jRdm0NNlgQf-fihACf3pk49a33uEx8qdkgVSJA8zmALUjzUod1HiWOjdeZBbJb_rrRGMtDZiKFqMvn5ShafhEqnq5xndYb9pc2WtuvfCiTey1zdI244IWMnlK0jrZmucOaGocxkpMXL05oa9eS3WV_FD6baA7GdejBFv8kuTyE3VnLfSzJN0otub3uREMAnLp3Lr8KTVEeMTZzW0FZFU_pPefkLukNJyLXjpDJyjY46xPMy-J3tglTBbYFJNxUJLb5aPYQRecHYa8VR6p1hiS-iD7vimKg5SxRLgJmq1e3II8Lh6fieXxfjLQl-kj03xXwscJtNX3R3VgfOTWChUvg-DtZ9A16VdGRfzAqNZ5FwH5PGAAjUz5Gke3R4Vr5Wqpso1CLt993owSA5j_h4W1WQk-2PMwlsSQ_fxJCq615N52sfSB3auPlvFvM1ElIz4ddjt7FlaVx9y-e0yDtkqIGzU1ivCptG3jQbDGbaaJHvyeOl4-mfxOorJB6FMNDZt1hfQdXG-FhiOe4ggIcanKk26QDhriugzg24iKYyMCzPhVO1TzZspIxEm0QBE7VxFs-AwTHuKyc_QExVnEmtRQ1A7XGV_FtfCF6T6VvzbGIKqzHvxzdOIwPl5B80lAvsIqsD2G6kYt6BAT1t5aqP37UilQZ3uxwuyh1Scmu1c6IS1iGTiYdWYZhXKy73Ff46zateATFeH9s5Cp39lClgpcJqKpdXdYSKdIX7XoCT-V9M657wLWfea9Fp-A7QLNCp8NA-JcOYiaVBtcHLhRZxoGgZBoGdfjw22yzPhDZTp0kAJXKy5F2KsypLmAjdx_JhL84TNXOBlhOClSDu_u2ZHdfAwAyDYksen3n0QbDakiwzbPBafCQCHqzpucm5K8WJhU-SzbtkFFRo5Svhi9JlJP5U7oILZnCMZJtaJOzjEmkdkSOPdO1RkONb78iHt8J6ThvsBiJDbM_Yo8EnlaorSzVQt4MCyjTagqP7ig6q87nO4X7_FiXXoRQhtg51BqNR4iCjX2CxNuIRn8crEmgbOKI9qKKLRjI4ST949JdCXaQ6B8sJ9SizUu4CzuPuE4LxBlUVe-dlf1mnPDfLuF9EY1JAjPBrYHmxpYN0lkl7gwGX9DfAHSlJs0bKdhMSu2FYQTlG5Qf04zuILj8t7pw6Q9Np7lfeCHKc2DOfOvzMaE9rn1BuJ1FgM8vMVosv9gjuShsyZkG4MCWB5PsHkffshqk_FsyDpf0nYamfRjMqDnVRksoR9gfqAWCPxcT7_xdFKJ1gj8p7by8BAonttjydY8zP9jLXNYFpdjZkHaq2I-jrCL7dewXAet2XIQ_WxM-kyebnQ6j-tx80iD_aN7_SyTn_DMv4LmCGsWFLGxoaM0WB5fd37udhGfX73bbk2Zymu7suTzZY1qzr3PJ_htFicAmsIEQdqf2p3wRu2TS0Nv0Gqj0VmcU7kmfeBg7-56xSBn-yQvU4fiOH1d0_zq6I3WxjqYk416_lUuNECtH69yp8y0KK6XDnA9PSggEsd3MnttxfzkxSa-ayg8dY47vVKAZZQOWZ-WlbfoxZkLQlOMKn91JqtVeIcYy8uMHNNbb-GyC_IMhx3UnPQDr9Tq6_A0kZ3j7h-vbmJgRsPQF5NriaeZ7uVnXfkLrVcwDXoJWflGHmFzDBLgZWlubkcBHt623C08_u_-2rd5e0e2TLt46R0-Y0qGRm59cvH_2S_BhdTrq9J8UeF4dEyv5M35mT3Tn7d7y2kW0YJblLTlunI_ihiwuyiFQhvmS1C4OgGtFvBjnnxyan8uzT1Uki3pG_nPwDZtkhhnfSHrp_X_h40XA88sPcKYHZl_yVqhP-Z1bHV3pTg1BryQX8mmbOo4DX0Ryklk2BwHxZ2cksJyVYx5AmtOjlEG7Rs1pWyc_rv01yptMDqDqBbJfckAKC-cuHQhsn3FLZL_cgVWGt9m-1TNdW2au4sHU5kljyoii-_lC_hD_ftGYOlDY044EHZGxpvlNImVnMycfkAYbQe3jwV2uL2swiQj2YMI-QKlZ7mwPv5Ivy0zYoqK8jxfCjIrMDybpSSEXVUxnpQQxraxBwjoqENJmXQS0kKt3VjsXW4-F28_9FQhoQjbSw2pYongQV-75Z1miXYjj3VvVOuBITXxbovBl21WOSeJj3s89i4WfR7PAthqwLj7gRiQtEda9GJuoUpzgEn3HfG8rhZ_nxKLOIZ8WIXS1Sldn15CU1uUIVQOtPB7KAjLxUgG9odMmsjlDkmLFN103ZUqI4eugrNA6Cuq_t-EfjsjCydOgLmrkvRw_CwxgnTsCMlqp9gEXJD-P6c8sLIeAzQjla5le3BZf6htEPCw0wR6D8omBsThn3Oylp3gTNqmCaXfq0jyBWliIAd2zldBPQCTVNB3TwkH4bJGG4RG6H4eGjSRoEtbzSbDLmS5pEAbkJM3WPUzw6PjOWBDWGGvC7u6ilUewKmpeNUN7fe5sbDneraq_deYZjfaRmi1lGgRAWbgam7HIJEh-BdhBJZb8IF9Y8lz9scsWus53YEkd-53BREXStb2sSuikgsqYThp8HZJJhqiK3uZbp7iyrvwwJaHqiYHaoR4MGSkiiPPkmzd4_i-3FjIrqg-gC9WB2V0N8uESq27zwWfSrSAWLX4FS59PZTmj31r4CMZnQXVtBGiEEcx_7DnSKfnfAp1sOH2NavuSgyNummVvg8qimr6vMdlBH0P0eWlv4bhdqV2dKO2C9egJppvvOTnlDUyuKk8-maVNuTlmWk0lxQ0aWU9HL8bMWpgkErQuJnlZmay6SlZFxxD8T2XqUrfBVAk-tWzwcnOfgLG5mvH1e4RI7ucSvDDZ7RbRhDzEQlYeTQB2Hn_Ej7kKEI1mPkSqae2FXGLnmgUQ7vUQAW_wsHVG6Al4OUx98lnr8Y14oj5Z3ilxrmw-Plpc2AO26XQX-ou0VPpXD-Bz-30Sj0HB92UCScSvBUBamO6rLSD6VkJWKkNol-JWuTtB7evNIinGxHtZ_yD5jL1SlTyVvyLQ5caFT3avizn4DwnZpeG0e3xf4nTHU0QQmP9MMpq3oKV3oaxVe3Uza3F_r2DPfx7eMFpwirn7RTOrZ3t65FkUkO5juRxmvpz-HYLDMfqs4mvlPv8Hk12_D6TTKNiOJACZjTJMQW8vuw65P3SaFIiL4fdkfy96BlYKZce6s53niaHxnpn7lut-C6RZdLUDQm1p9wbgFvl7POkYv5sVfLZubaHRReUuu3y2RCRZQbNncBZPIViNES4CuVWjuceHgST90z-AyNHRZuKCmhMCwLOS_mYxQlLy2nhqOjGhoNz2pgnDnib6NDbA0vXqMdrtwHSw_4AGcW5Z5orvk7Ws7wHUvvwlgadFhglnq7rJ_u4FlKv9AVjvri_2879xTVZLqgkIQY0kvtVw4xIU50UliN7IYSHsRDnn16t5WjuRJ5-cG4fs3Y-WRlz627K6_WxWF7mu5vPQmYqdTnm5Gaf85sXrqmZinK6PbGtrbilbGeALnJrhvw08nRi6E63qIqHwOj_kYyCoE99-mFlz7urDF1KuN8GE1wRW7lI5gfXPUI0alpZ-YpIGiGDLuJa2lWYFuwYCWb7dkW9RVeiLeRxg9RjhCGOJjx56bOdFzcE3v-Rd9tSdJXl1Xsf3Kl0j2zqSeIOL9jb91ukJe-4GkwrbNjJ_4TS1rW9ZQ_IaeipeQ37Px7P08kaxeqa7-mBu9ip0zUzt85JUf4KbBziBGtDmJvu4bsXA7Yu3ZdXmSaIH93wYH6ZO5KKgbyrn6BOwVA9MV0Tslzp9tDi6W9TcEZ9aNgUj5mlXIgeUOW33ewyaqxcyOffOlLA3cwcY2hVnH8faahGp64WR02F1AUbxYIy5c1Gt4ktR7ZeqczrXOSc_6l9IJeQmNx1NsT4QpAfP8sT2G1dBxKup1cn8SN6NGiQh87wKKMTABKp-U0Eaauvokis9gK6EtqmOUT7GECr6p-eZisfIT9-MpzNZC_sShctdmvWn3P7p4Mjtpcf38zpyNfa3i2pwz35Hjaits2HIW_3-vuKLlYUmBSftIqMook4JjZaIZrBBgeoyY3kRz2iP6KrINRSJ7XyCvoNDrpGJZS84Rt3X5b-UxWynOcQMSQBblTfSzSZMLWeMa5dAShWSoNvreC78f2x8n2kVI3x4nTp-qWpfZL49kDR4_eLMpz_SDsE7r570glN9rpKUpVW4zSS0OazeL81s-ux-gIzsjSqwQswCeYo5JeMcYWSf5SXm2RubFbz5Ys-RP9NLAFDibwGunvTF7gDJ-6LzKYXsr8gIglh74eOUsVwzuCBSw7rMFVGyHxnBHuI-exhCigBEzNQzel2f1TJgJhboaK_cOmEqYOXYX0t7KsF4eChq4RYCiPnrsTETPqa43utjFlA1ABjUL_RU08Jt7-E-v1BdAECKBhFryTQ05ZXmrjMBN3YYR9zAhr4Fw9C95xRf9FQ7gil5W2eKUTqIoRFb8ce5ND_zPu659VrsY1vKQKTWgCdilWNvpsxFUAEtEPj9sBqfKLUp400nf29VpG1eTFELnVTkwG2OXMfOKv3QHNZE_fbD-PKy3gAKmF6xU5hBrEwwnRNvweKjZULWQ0kFRc5xTqhxjTz8QyAR0sbfsLwcl3W8lR1eBhMcL1MRZRCtT3a-thGUczoTP14SZN9-J4_2RFgJrT_SUgKA04_WvBizWxhCny7YXHRbII8tXJtmcAwi6sbjyFNl6z44fRNYXUko6rSFmE2Iy31h7BBDUBnTzhsOJMwE_oNjNaP5sOTYogNwTqqikJz8R33LftPXKn0ScXh_7C-wtsi42LrwjsDfQjiOUmis0r7f1OopgXBaYrt319kpmz9EH4HveMqdgn0jIpnGUXYWpx1SjsOaDu_WvbWwpoepbknzZxg48jeMTwkZ3SfNEhro3S_Y5vCtWxEkLC6nqlyN9vsIaS-0dt1BlGphCLxsO9hFadcmFaNHGJ9ZLhvegw54wicTMdc9Piuis90nl--6F46ccfbTIHDn1Fp5a-OcdrsS9qZn1z-W1-aQpoihS0CnhC2Kx2MjTbUJ-JsBHtATDD_Id5jB4gkq3NPZrYB7dw3bQzHWLxy-rqIQI-xhvW96c6Bs7kafuO_9LF76a284BGV0KnPs29_4sTvyz5z-O2urNwaWOMRFzeccni_3WYxUu7YdzmSOAIGcn2KyWtWYgEwKOXj3fB1LD5KK8o2azWiNJikzfp6jJGPW0peEIEpqc_ACw8MgpCecYYzTG5u8H9Y9lCB8wu_GAF_Ku9_C72UEN9VdMacIrJCBJwTUTLx9hmTI0_UAbEm8UVDpfa6qroox0rgv6AnUFH5VIfah4Ef0-zlATytjbli8k4IEM_0hqmPMdsIPrkuG65N1pIupcgp8N8pjVWcEpBAFq0w75A2D71gz5Zve61AHGjAbPACijPmfkbbe0pK2aczMy7H4SV2noGd5Wwpgv4M_OkcdI9PloeL6nY-6WYU9hZ12bx3WXOFCv9fkfmjxlaZOT98xzFae5avIKLMWt2O5dSSUvTNwW2YVnv7mw-t0tAYzgccQQWjK2jGf8GqFw7V_uoIpBA1yAKVRzUPyovjiQVFMA-Yaf4J9nXy4yyscNZjUMUbPFczg2SZOH4c-wwH5GJIQJmOJbyEjp-7OMvXAjYaV-WArQh3KUgxwhmOfxImkjWMFWaW_GmhPK4IMHwTsqywvgkrRqcwEmS5ujaGIVhDbmv32KylV4yuImvCDyIJjwWc0Xae8YPFnZEB5aZRX3DyV4xkGPlvQWrPBqQijxjIffhj2Tzbtu07gCg5yOPABhSNgVCBHIl-UdLJspK9fJRqHufrri5032G-mX_9_8uo4KHVcO8zaB0MHbE_gpUz0xzVsGf5L-fD7uoe1QwlHVN4e0qbZehwo7lFIm-BGXuJUUim9jNavpQMftLdejjJUs3xDTHHyT1NnHNJ84LugmBcCAR3RspNTXxpa222wLLg0Sb4O2k5jfNQBVHACkUwMkYBybNy4TLyRVAcWpNKzH7RhXlEOw87-3Wr_BkSg_awRGcBFRzpdEBjAmpEBUj7GJKILPTQNfbc5mztsxExYSYMk7vVGO3UDoczfKgtrHhel4y5xnSkCdMWXkXUNLG1XnQPhP-lUigEW8rFK_NSuOwTLMxqVF8QVkHhz2LfP6gF6d0RQLKFkQkHMJLSfOu9vEWxz6PQH-nzyU_glBlCr4SvYQ9DAPT0ViAXmpSgzvgYrh1iNhWwu9vDSCJDbCdJAMmFVHeqld-mZBlM3z_Zgl9HXQ0jgxCtVxN0Q8G-ySfNtOPhME6OKQx8lQ7RGyqCHeKjzGn9qLP8PK3Bd8ZuDp86A1gAZnWYaoQPkQSy37wJ6x3mlQFccOGPcngiRviQEv-6MiU_kFWE9R29gS-C_AbQYr9-wB3J1ZB9bvSeyZXFckeijUKbmYMw60GD75YBJ2VDYOjQpCGo5Qn0HNcAJHVUiO0H90MY-et5Jl5D31UkUiGam2w5yUCrYktmnxWTTNNtLuJUS8BBrdmMFwGrXG9CqQLGCA2g86d7MboRfjWAoDA3KZWvQ1eRJKbA0E5vj9kOBcl-X6uCwFEU27BtuZdk0qFwQJDwzQFUckgz_B0YtaJYg71Bf6So5lewXH8JnkghxzOjlkaDM-pxuaYMsMruVromdhoDJoIEpxY9jjX9hkKe_z4KCOwQkSLH9zT0L90X6geUdyeP_xhrXXfs_JGpCyS75SvTsqxebXjj3ExbEq0lQ1ICSpWEjr9bT37a4hfwVzEGm6WYZTLajlCIDW5VRgp35WCbF5-Avl2RSUd7flt7o28w6JwbhGDP9tJYiRYBq3YKQOHGhEwqURnkTEYfZJX-hBWJZSIpo9irl_xvCNPPiglgPp8Z4yvgpjFBpDz_niYlH0-Dhs_aV5FlNtYWVxR9H5IGxjC_hlqX24eC0i423IrGnalKCPtRgKteDDYxCtznCrRYKOCZQJrMQStHCtpMZhUnUFZWX5DTScgADzqfABeM27SCFLug3OkU-Zz0y9Grw9-3BXGAlZOrNuQdkEKWd82lZctgSZFhCLo-NlBvkzJfHjBhxZdgbcY0oYSastyCWUNMe_pnkdf4Pipu-0AKyuK4nZqRItCOCqf42qwouB5-nMPIXly4Uu7BZH-3lBRNirusD0DXYmwIxFWhtVgYaQeutQj9RcS2Wlgk2kZhU1VeXNw0XYxCOdQRwgvedvOEQukITLa43bgCYoFsKIUZj6zj1D54uWMUExmkh4uDAWTj8AiUGR53gW5sqJbNrB-Mo0Jm1Uo6rxS5niX0xdN8UnxokrNklibgQCOmcV4Xon7Yloh9rzZ2czMCuACgrwOTcMIvR6ATaxgKw4DqTPdnObet9aSh4SisKVnFIAxEG2U2CEFIB9ovYKLmgu_oPJAvbYrNJgE-RWEdfccE61hx8MeTqDybq3rfDMddh4HcSjynT9mctsLo_PhibnCsU6ebakFIbWCcJ6ZLd5QNKu-Gf3kOwPR2Aix39Gp16eZnAN1zrNYX68C27DZDuOOrwWtZyiK6bmtcSVN3Y1GRPst4ZAnxjwW9ZMSEFXBdfUl_k3RMJ7ntocxCHBNyA-LXV3_rle8JI_-UGoGQftncH4qQNg-QM1tTPNfsL2FTZuvauUW61Kp6Lh-64g9pjedBX4cWTJJuWawAvahXqVaTJOuzGLBpbT9NirrbIg06eOFu1gkCuXK7Iz7RC16i0dtqaNBhlnIFCs8xjnjJJ3FEHS3VuzSGVJ0hgQlrWopvFz215E6u9zLiCPJVnxX56O8SURHcQvxI_6Xwqtel-fKAolXND8M2bu8R5oljRDWd4coCA5Q4BfAWu2Qo_755s5ig-Esv461OzAOgKsGRJ5yQFrOfiB4HmEkvAaoffI3xoCD9hUqqKd7OksbAKemiwjYFGFVJbOfjmlxslkZztrf29VaRTunY2Aqzl-VMBmVxLlANH7mxOY7aMjtPS8FmE4wAKwunv5G-azjhBgv_3euzzug3Qx84AtOtTbs1uk7VVR5yowb7ace4ky47jigdikYoGHmgzPNwFXzrbw2rmNPeyOaZoaOYKvKRB1qgwiUojboOhbppoihodLC7qC_D30L6K_yZRgCl2OCCsmXMCpR6lL_FP4aGSflrJOIPx6TSpbydqJXlOczLfWa24Nkl372c4Tu_bi14XR9n6LEDdj0Mm0cNVVftg1-_p4C-WJ4uqzdQ-j-Tmx6zwwl8b_0b4qbL0nGG7_CCPX6-2bKGKnGma1F1stSJJ5rwt7lml8hfTjqlVVm_0MVf2KgEVnFe_6Wmx95awYbxdrjFxn96egjFEx1O_EsdP_da0ytoyxIDdHppKxUNFWa4KgB-wYKHEMO7LdbqA2vGYO_W-wFIjuKvh231x13qbUV6b7tWGWR_uoTLBL3guZVP5TB7lzJbCxINOwcRiZwxiRJdusZ2K1mDmQVeDOJNPJmOP6ClUgftLqSmalnX6TEI-91RQdKDLdOta_wa1arLDZdK5SlGNAjoUTfpOl4ijqScdYiqvJQpcbEATAePCD5B9g_Ypz7vow1-CfJvfbOcP1q8jQFMQz3sNoDGnPW2WjTMknAnfZLahNVTCWxuxFfsoqUl2h2j4epizYz75USeb-DAHBwSB8JOOSgnJoGkfFn6QqI6X1XBFUU1DFlsIcUi44O0VIswG8uH1V5btIeA-2aMZ_93FstjKxujTdoMUQ0RLT2h0DMkMTPqtI-Jpkx7C6zp_mXTcgZlASyo4KJGb0zKOrj6lWLHxM7At0GriMGS6C00t-3dx7ampaRfGtgf_2GeCMy_iw87-KNlwjdQDOXzFJd1o6d41bQKNsbgbJA3B781xwA3ZGKaFS8ycrdmrtNvz78FF-Rj-GmMOTodaHyay3C-yL7MIvCVdEQU22n4zv-XlFyON3Y1R5OE1nT26lkGE4tKvFCAXb8nxj68e4S1q9uTmNXQ6KJqeexOJku1etLXR4INswbRxKMFPT-QJPYmj5JaB_T5glY1Z15eTD_Nl7NDlPYCXsOXvN2hHWQC4YxKkP6sV277iddeTPCSeCdVOoqb21Vg9nwydleEKlmUSCsJEjT5w7qSkFBnQVGIRbLxCuBXWNOb4iD7DmOwfAYqwFXD0KAddT8KbrkiwkOZaP1p4SR08GX9eZHnYkIV-BdwUniHip0KYqs9iCESKMPTojYDPW-uKtGs9YnYfg3K02Fa4fM7ly1MliJa7EzJa65Zzsmphsfqy0xiVyMkUMYPyqWO7L8V2P5US7nhhkGgLkLb2dM9u3StfATCO2ksKlruMIyeu3U1ull93Cqo3y9FFITIZb5JRizpeCvFyPe_gHqHZMBPq7DaadGZHKMX1O_wu48SXLTTj-h_cu3u6TekuL1xQ7Ydl7yKIKNNmforYFpvElwrQ9cLaZZS2pTmhetwOyNFa84rsG2FGYde42y2E-tlM4t2PDo5LETACEHVXiTdXvBjb0nf0evtsWijGHFPyODLCWyDDRCQUk9bBTXh0Pj7IrLG4suJSYmL1Y3EB3A3HaCzHAzbkwQFYyrvLOJs4dJiVsL7pRqv8hQKmmqBAXmIneOhqWb5Zq29QHLD_uS8Eepe0qcLXT3QB1z34XsnZIk7ogJ0YwZ-w2DcdAZc_ippASf2AagZ4WCn24Abc1NmyUyZ87qkn_sgWPin8TasP3P_lhQIivnH2yPMyH_sHtD1hT5AVbc70SJP_H67m1194onprgykNBhdymZzplCN3r1iOgC4_CnzaSHBc7IaJo_alvZ82JO7l_Tts4G4b53cghS1cb6fceDa44SA47xmR3hLgJllTF1mbdUCyMUHJGkr1E3WqdIWR3PVNWYXFJfTCCwE88zAMlB5XQDmNZ38eBU9UT7Z2kX7CvhsmMpsMklTY19UP0DydJdWja6YhJR9jeAVGnqyyhAqwNBdixQA-EMbJgAYJ7fgaltKJwTIOnhWiAXPc5bppmePbz_fWmljKJ6WaqLOKk4tmo7wz5HUrAXooUce6iEfMkIvmuSJ4Ek7kMuFzvUydjxOof6RjT08D5fvVf0ub3Jgz8fSvDCgNH0BH286ueVJEweMskYbkXWSNV-ooA37-EfFCX_s6hrbEbm_ISXFTOEiGZEZ8vj6eeLBsKok-JY_p6wU330CGmmg2nvlK1BHvoVgv_ZFiMUqCAfMHXhEoQlPJcBDb0FhTCTCuBsaMz-i45Zle1-DPTOkHDlXjOrFPF0NapXp6Lxsxp43S2bpQdb87USUi1ijcsrXM2FJxIteXh8G5nQsdwTVgpZzSRkp2uVaLy88tuscdrYcnJP6and_1_futkP0bjSw3L4kPHGNcnb6d4LfEAgWG6RRJ2CteyPhbbUQlTjPGqA9J3FUD56geK-DHsV9boRHiCGXzvU6U3JzskufwcvKucuog_PZvVKfUfKEwGwz1UVSSerIvBUVy7OnW9l93Z90W0eJDrNrhnHBNumywhnfWhuZk_mY7eqF86tcpL-Pvj6dh4ulRe981P9p46V7_u3V_Jr8UmA2F4cTetpfQ_g1OIgDkYlXWTp7gIyISbCUdpcABrMv0bvUiRLVFntFf6DmgqNtPM2-CITDc0nFQzJm24xWI2W-0z8ZWkN4Y-zxXeLaomffbjYU9ykIC9VcZdhyVpfHdEoTxTY1G_ORDNpjSqoBEo98ZqN2uckDbSBNbpM-GKcJaDYYlXHKmIVQcMjQ64eLpLDEvhLHlTGnMdmVqyYEnHuUPyHSe2J8b1RBP-1DQheW3kThjYxIv82gy-hYKHXsXzxQMNLIzxGe5B6EhZakZ9JPEYoSIIEACKPdEkv3aR4edtmgYkW9sufCi9z1WQWmnLaE7CwlW8Vd6k3zuReBxkDHvdPJiE6cCcr5M6brhoFwrMLQD1JW9vVY1BPbsEIVf5vnEBtYEjACRxWnHfwkjYoabuYHLU0czVFRXNrdBE95tf8KolzzVdmOFzNAQV82YU2Wv6jnFOhypQIVnZ3UbKM1rrYsb-xOwoHDK5i5mVGykW1U68k-noBUHEZsBFXXrFeuLtkYG913q4Wcr_fb5hSeZyms4YxtSCSfetLUocB2mHZjL0MX-bP-Cmog2JHSEtdqyK0hjnXq9PZELEJhOGBh-HeZuBGyWZ3jI6iMUOlC4AVkIj1diUKJ82V1W9HU1ZRDWfqlNuLkn0_guyacghrNskKzv9MAqbYsPQVc0rtT8l_OOWUJqE5QVYigfKJuTLKlaqahKhjp4H2GCUbfaVlBpclaJ-F1Bu5bA_J1VYWcjSWUfzTkf4UNSoqakiHCiXMYWvsnacqfryHZglNls6Wyza7HbEX5ZuslQmzlt0l_0QhkzuDKp7gfT-eMzfJbJEydRLBuYIx56iP1Ti2HHYAc0y6DQrjONUdVLvxVHnE6vyXad8GBcTpqGzD1Ly1zG7_kmUSSzIsYyfhCFSIqzXr0rrgQClft2cptsL_HA-KHSeeS_xJtv4YV7oh6GJKEoAgv3TuTifznNRVbXq_WUIUB2dQeJVPU_hkjmwBCKySgiaysQmViRSmYBgHp33PeQ94CVRPgOJy7R2LMQaR4bkPIs9-lgtV1IYIWETg5l5seHGWWg6MY88bziBY1A43Wgv3n-e18iz2oTgFuL-Io3f9F8TE3WttnT-vSKdDQw6axZsTjTmQ26OaGytMaN0qu0CdpaAs6rmywDGg-h-E3V7_emo7zQCgQx_8HVq3U6lZ0IqAkx3HjWZadYi5xT1oLzuWwgYIYF7oqHB16wAaSAD_u9vD2sue0X3R_RIuduIypA-yrQ3C5qLTJP3eEQGy04rwy9ebbRnrMoTT80zMVtjo3IWj0rJhG94B9uoaUjQ-yXStsUiVJKNvO3-DtKJCAZLcd_H662Oka-Dv7pvbiBx0l1uazVRj8OctC6I6nuBXrhaC6K7OKc8DHSxYggUYxk-c0h7Yy3VrfxAy96saidMsnYz2tt3uZZptm7tSncHhlGi6uQTGxKl6hHtGb5iilMSwDyzkrxEoAV5vFB0fQJdsMeJyj1VujMbX7kklriNWJYX9hPiL0V_RRyhmH40VozMEsJP0XDXjWehGYA-RdlDB4kV3GU6Mls6m4m-OWzcGURUC1wyt3fFMqX51-nYDzRiUTX2JOYgHJMTGr9Qi5nkx9c1Tj_Ivj2-mPcVBYYWrjI99H4hBc1_tmRpDlb_05XyNwZfCfd80JM_o1sF5T8VJZA2uT_7_vyAehi0P4mDb7G5dJTDwpyCP6iVjMJj2mZhnZTwLJqhtnJhlXGsDTskwzBaC-QXbdV_Vc2dFQvjkmcm9KZJ9HYo0AvPunHO1pY_jIhdSB6duUGUSYVSNYB23KRSkdNR7nvhsgj0DieGSLDHqyKwvs7KLnbuh7zQeHDBAmqX64lPCkA2OBviYJFf5KO6TdH07kD8uGiAvVxkbZMWbVrkK2thR1B2Vst4fLeUW9Cl7GlkLXOp8f-6XXwgozSrSg6fAxje3SibitwNqLhuRbRsRSS6p-7_sxIQBzbw1dmNAXyueImYxb2I9So4eoGal1tzUzeF60rgsaFjoLiuoLRoUIilJKnSaOazFbE6UGShEGLYD85oNx9w6_8s6Gp_5vR0_cEGF9FrxCjyrDz53bGNADS9I8sJionKViKVboRx1ZH2GnUSsRRoDg1oZyePGIJFk69_220c1qiHxzwtNNWpU0HIP_ji4f2UAIup66A1HARepq4TxZNks7q4fGlZSyLJPZJx6q62zRfD5qG5DtVqdRjz_vxN31hIm7zahZ4fngD7KHvo6DdNt9246Xg6iFlc5baWqu-YrQu_bk5wykLNTpOZ84eO4ISN1H9EFm1YwhBd1vnj36a5SyCAW4FK7gLWhEWYh7NNm35dcRciOnJi3eLnOnywW8HUNYs9GjF1hlL4OL9WKj0gPAK1P90jZZpC6XmLq1idniBN0PYOIFwTWPX-A5rlF2nPms5MioIPyr_V2fIypWBn9cgEneyxw6DGOWQms8dEwclh3VpagPRSwLVUvYfPEZcO1enZqNMy01pjJGnzbfHX3sPxjVuGL_6jJHX1hu3aPL4JWT4-KmcN7G-EraophVzI11ovFcM1kdiFQxz26Y_tSe1siub66pM3XQuSYU_nPPG893dkKIrbYZ1ZzLHc_sIBofTnxP29gbPEbmd3nQ8Yhb9z2AuPFEW5bmTBwJvNAeVqpbbfnqabn7CnJgOEagN8tYt-3KQ4RwsEuezdL8R6NinCSlBtn60G7CsBLxWuvYqYku4xis-EurtDVN-VlpTfsXjyj132yE3_mSnshdfZdTRohdI2pqEeySuGYsCSx-wnwi7bBXfZvdCHVbsBQudl3sVglObTuuB7yU0_LjpMi7VqOYLkMyqQSr-03T-PwO64JThHxRSJVEr8-GXGyQ1G2uhxv8pziOJWSyJ8bQ354mba7OcUy-YNFwsL63i8DrDZW46PAsEOpYIN_T8W45UPYvJS59u7Ec0goKp30ETfePORuA870J5l9czmQnQVpJEl9U75-1VSPMAWXK-xG2d4R7v6KgpOo36WiVUybz475TAU-bIKSq9kenj3_N_sIRbpR-otQ94eoJurj25mhcl0y5SDlS7aRO8XMhOrf-B8OQYu-awOQfHFJqGBq8Ni2GDRH99GEnhqFxk_MmElyL5DO50slm8rukiKF44Tfw-K8LUZf9uYDqY5IRQfHJD7cuDS_dKK-OvoqBgZZAMtb4RurPtPXtMWr-rYWS0ilh_UKLD2GAzJvNThv5SkJ7SqealEToCiELz8v2TJF_XrX9lZSs2D0EPfPDIIJQhkgdJxrdl9GeWnjfsTz3sLrlFOkZT7urKpmCo_OKaacjX3MjsgnMlyHKmZuEh4Lrwmwkuh6Mvhmu-w226A44NqLKMVuiwcqBc61ufiZw4pgAeFJ8_F3ZnUCjkhTiV3VqVHItEMzgULS2cdrCTQwz8XgjJt3aQfRZ0D1W-hOV_9hN1N10EspLJ0qRFkpmAwXSKLkep2jF4mcY9kI6yDk7o3YHdkWnKy7eZbFYgWtq8PymsIk5xMcYaB00DLjoLVqZAA7ibkaUz4i47hZLlM0EJrp1OLmdbGth_c8evruX64AHun5d7OTnU_RbbAlxycqwXCpPQyId21j5QcKim3BoJZnCeO9duXGh6TH5Jyg51xBz1Le4bUVgaKA4iBg1R8Ua0bLHNzx8BI2bzrV6ruqt_XBFvTHXD6PeQQyVunN0A0GhonsADgIm-bYMJqBTFBrYtW28yZ6gmvLCfUqMadCRg1TsES2Gkcc6IaZtWC82jdYdu-NcJAvTCCQBVK5j31bHPaDLJJ3SMeJujFpfzPuRVz-Pkjqb6Xw7JBi1pj0fSiNCrJvC8VwmPqUjgDrXsE0PsLXmJ-9jIYE0rBXYqshOr2gulUH1dSKe7H-2egKl2kyAnJSqEvoIjGU6MTD2ydVuwRiH9OD6Gxw4kw8DUHsjqezPZC6bTz_diYrejo6wCT-q7wRVUWvCdajY2TysyFO3Be58MbqfwTHopjIly7ztOWZRTeTydGxO3-MmTglCQ8oQevNeXEMeXa0cprdmicCw9PH45xh50NpwFIluKrWdGwS-DcZVowyGGXLgD9knJwbcF8rdEs-pMipWscXTSDlmJ9mDuLCqrv_bQv3NSoY9MboRV-Aft3uQFJLemCG6v3Z0p_LDgXCL6rcUGuusrNEoTQ8rlJRBBYwOH9ISrSfEIx80fNTGf4xmz-unG-T42Z2GPo7fA32qUkqhwX4dOOtBTaFA_huTCn9Na0B86FaUTvDCE6Tw1MGakISzXvjzy6cSJSFZ70Di_eHHCNr5oeuu_THaMfEJjfU4VXd_N2SmFMrh_5bpFbaHEEHlWvHbQWColSKJp8QgEur9NXeamuWG-mTFGZ4J64XKV_6NDoRm9MQYXFU88tZ1Hs5FCXBZPowFVpsK38WowEcvhpce9WzZyTP5qdLs6t4QCb3ipWra4Ih6juQ2zaLS0Qv09srapGMrNmHSeXz4941o8l1LbiN8SjY5k4j_lf-O_muako9kmqgKe47hGMdIS7xIKy_VX4TAUyfTNX5xg5ZR7pRHq2JjvDZQUPKJbQRX8U8EgGmuAfCgpW980tVJhveHgjq4I7mg6Md9sqpnN3_Vvfp8Ae3xXprCUg8a8IFnyM77y9KCyQaSS00b0w78-jqBqELdMj4qqwXEkS9VwLD8fmUvnon9lo8Wnc81dJ1wW2ZgXHa59kqWnAP9CRcWZ5t7PPEWCkzS_o9roSv53QBNFp92uUDLx7o4M_sH52Pz3tJXW9HbbXE0xgV9HteMRN2g9yjtbwKvjrXRCCjvKFu0scF6ealS7FohIjeyKH4aokFGRVqaPorFuR_zdYvnlt-7Lg2IP37HndMx1LNyBIRjFpSQo-dO64wlUZNQBSICq47N_TrCTpDCckseq6mxw5g7rcIO7NYK9-5xLq4csmfGoLrW9b23l2wseIKi3qpn4lJMkpUnt63BHzsQZbTODjICOmh-dIVrFHwVZ_6jGV_EQGOWQVeNDMiH9sk9X4pGeED2f2mXuqB_vPlDEynJafFIgE5wBx3II9h4j58a5ZVXgADf9ArECmOh2bk8F17nLIVD_xXUWh_-6AIJT9Kv-jM3cV2IIyqKj7CdEy4KCcs96qF1rCrEEsQbWavND1uPhfKktxARh6ksb8GRS32aKLq9dezH_AO94m5Mdmzg1Pz4yy6N9Ah5iJkPj4OQUBJL56tAH48gi2ETvy4OYkHMhuZG61P84E0XMnyT-lQob_WCXx7i36kXJbfOVwOqNpXmSo5g2FhvuTBz5ESQLtUoAP1zVvYz4g2HoidlRwtvVWBJpsW1_JOlwlVRJsGQsmXx9ES84eTt5FGl9YKeex6Sbw4UFMqvcgz0IFUZZbXUIhi2o52LWc7lOTxK058JMkWde1C6khTdVFD8w28hTvVQU-qdUmEPJH2_O88lTVIYXMkOb96o_uMILbqmnzV9BY5n7YxAweWR3kTd_bOVMqtB0I1eAZpIx_nC3cv1XPBINymQST_xIeJI7mI7n4k7AK-B1nRRQkiQMFpI0JgFB-ujd19owsZFsZLKEHYkGZdKm24Lo0QFx3vC9uIoZYNuaQUllvG-VPyEsikyNjXRh2boheUKTqju7L7NpnI-SOfODWk_-vOLM5uhAu57WnTGln-5xB-9Lg7_vRhoKJA4DAJnWU839pQ1YLc728KP8WJiYs6qn1ka_j3amUZHaF5XW67dzdNIsc6TqcJN96bF2Mz8Y06j85w5LKopdT0BFnKb9qNl1Ot9RZWPik08VH3Qhuqe2Fj7dqtyv3ctQuLANCu300aTQO7kOApCVoUjiiPn_7ZYb-3IoRL8eAXmoImeAOaj83hRCa6S-_Z6RjQKLIsleeGc9QEPRdLTxHSr94sMsF0Ku6FYpNAKkDOhiDHX6lU9_ArBz4PjdLC4eJx8BzotX017o0_-3_rK4QapGxYIPNmJSFWnAwJDN77mSfd7H-8EwkFxbwqsvvC51Mm5STv-anidmMjwJsRdy_t6yFnU9x93P25n-xvZZBHmo4bK5ZSjNIz18u1LLW-vs7jhqB5ufotgdWJTtX6Kudg135DwF7nz13vDM51W4yklawzvbrTbk6PTedtLoWuSsIVQMSTDUJOVdKGGb-qzqW7EA-33zw0i1MN8yDRYWHb2Eo4_KbdJZtU6YI8DNfgO9E9T88msYHYV9Lx_eULx_6BFw9vY628d2-TcpPOROHEFyrdOuAsZ20-Qx2tX5gwhhA6FAhHdk052_OdC_MhMFDYJwwW_STXhqzDAc-bSnoHQyD1gtetx3QO5zjMRFchyhLEiGNlO-IR3J6AAARtfcveopXR42uoz-M7d9LRdW3bv2JIfuvlprhpt5t7n4kJGylLo0dYEAabPE-lot7bhibPKCihFth5F99YuvlQsNcwb1eQ9367uAIFsnLPBrT8wqBo79_W0WdWp5JXD0_WiAi5AQ6lFbX1wwZJbT9zQsdVQ1zkR_4rsbME2HuG8U5DekyGQTL_8v4nXL0wh-atg12Pc6-hKYctqCA_8zrLIDpAx5rN7i9_Afe1TZoKduWsfXC05tiaqWVGQWaIYxHC7h48dUqNpLAt_xCnMriqpihYc_PPUSReCKrjf8yH2nwwhxdxksZ7njbvyU4XdQArx5tORhTo2z3dUTD4HQyAjfIH5j2AZa1EYQJnRvPxAwyzTKvlVMhAqjbin1SH26Fof7hu9d_kcF2vIfhybdrWdgQmM6kAuEWFyyWrcYWB7K-YUyyFyKqZEGIdCMQJS1DDrPb_E65AVse_cXICXgQGwl6r2iMhyPgAGLRErcB0bZIHp1ZyfvKLAlozBO3eEyg8Mya8J1fx1V2R64HciqM6YFPAK0jrCNTo-Oc4NPIQluJ085BLqzedVe_LYzb_T7bCgfaUQEy0QcVGZxAWeKXgJ_shHqmpnoEsAZ2DMLyBz98Pyq5h-v3A6Q1TBVmhMqB50eUb-C6o_LWwwbX5YKVJy-reG6IF0rZ1GdZZxF97ZKRH8xk9jiAzNPGK2DcYufzunqEAa3YV3loZaBT4ziEGOvVxf5MsLri3khHb_JK0g8Ll-Y-STNftkFOyvqDWqkOLEafQ1qli00FH0yd5Nxt3wYZlauIN8-ADnkcZpwY0vTj9d771im4JYgQrovYYiqDqYhMg_qelhoRwDP0LxIpuhBzq5oROrvgS2mhq1iv0nLLSB9elyP3SJgP_MFnWc4NFk-83zNTF1kbgkaaDJ3MAGliGUxkEfNXtbLFBw5_vF6h86Tb6t0PtszcM_KOs8DHiFxFafNmX6ktT4SajsfkPInPW_jSKmmDEnt25i0tCanpQf5S4rjueAoUEXrKIzLxmy3lCc5wz5K8Iw_M3_52qm8pkAu8VIhstxWvEvmo21L_UOXnPWFGj-jXzd0SLsMvhX8CoRHTMUBuU2nAD6xOMn13Ku_RLT30UpcEHlJ6nr1LEpDYlZeMedv2p99YEaJ0reUnlV4DNQ96YS5dmwd0PenL1wguMsEg-t98wRBgRt0gjj3Z4ftGkOCO9UiJrASXaA8R8A2C0ST3K9XIvCbbtfpit15yqGnbo5LtiSmo0lwR5JOT9lpmTtopXAytatLbAvHBM9r57PCbz7QWPhY5Yc3rCXNuDaqZ-V4-_VP1YJyCe88cXStsrMBAZvVOI7LdVX41ikX253_cMKVqlLBD6Bfh5HtCDs7KMVnPrvA9cawc6nLSmmSPOBAeKV2tp0ZTvZsvR010uBD2Uc2gHApk_3FkF3dG7LRkTLyLzLxT_qooO8ICEZoQRZP780RkDHyAXkC02Wl3_9YxZZyyjUOniwgqN2HPR77zMp1OU5DgvxTYcR9vcvL_hKP0F6D-Bx7ekaZVTtbwUK-KcHNbUTdyFvyQryzivJUMGsHl2wDoPES-gctYwc48wJfTLVk4hgEnbYDAfl1BqSvC8HD4CVs82BNySVPGmkV4wgThTxxdQHBtxovrnxZWQH6P8JmIXWRweZeX5jGn8KbtRyMWpFfsJ5Yq6Pm_T5PV8aIV5YlfILV12WbLhtYe67E-JxwbStxtxxnkrRUWWDC9ycvw9HGEy384yvhQoMHZJ3Zn5Lpc3JZdYiykj5-Xu29_iWpC9qN00CcYBp9tb3Cy0uLLqC8ujxD1MYaUwscv8ZLlk4Ae9BnCt_fOZ5YxbrfEoFAV2EeTdygtE5NRr1X5XJph2tU0dfZZrXwfEk32EmaIp7ONOqzjN3LTGK_eVH6L_7LoaohKMxMZ_jDMr7y8zBQbJLDh2O7HiqaSn_Ezerj3cvfw8EpkKAcJCzWhujqL1M7ZRJCla5xpl1GMyD_vdIP6MITog-VOr3u_1iTVV6AhW8cig0VcLiXv4HBKBruYY8UPiD6dVQ9tLF2ar_R3tsixkmeShIcc3WvxjtiFnFmDVzkVJaUUEW2xyeBa3QJn3_e76xMXq48PigvVCcWO1iqbifuM-m3REIPjJ06UxN6N5xIQ1SZqRwn6_xcxkIs334P8YjHqDx9MJCTqYkNrW9nnnkMk2ZsLSEeIXyxbe2-U2nnxZZhoFeoKqhYLxaSLRqTKBZCC5HXH7uyXngwyIS0BmeJAZ6HlEtiKnEN3nSS9fziKR7keH9YYBOAyMmB8A85Ado0yd9-k2sFDX68xy0jnz9dQNRKtIPg-TMPfnyPk3opqIylIrzaucKBB1dlpTDp-00XC7EsZ_s6hWJYhbZRO8Vmh0lx_zp3D3BDS8mmqD1RZMza6MA8OHHRkEOINX5gLnMsisMORT1l-BrL8Qii8niJ9A2tT6_OSXj9TUS_iU6cMPVFMOtGhBgzM-n49Ff__BqoT7806qWOdoVFfD-fe0Tm0s1prbMfalQybzVFzK1Md6VNNt4CanTu-sX5mZaBvSnTof7XPsKLiTZHeN801MEYvR_-pE7ELuD2hLu_kCQZb1dHHUpYIsl6uEz8V2PIjlEqQGwREaf33ve0bN1AkEyrUty2JxrpK4JZZia5W9hZfvxo2XQ1Id3IxmZU7HW6jnLdZ0idFP9Drbn-07-0IfvcFACsEwpfPyg08T5PA-JNegH_5k8NmTAOldQp1jIq0Jt4GVEFV0lckPMYDmdkYSub5sVzSZbgD1Z-T1HsOO0ms-_TyUWy1mCSYDmTB61srYedoALBaqHvQvhMJcRO8DscOi3UFgsgGG7ONLzBZgiOnGzti5uTbjZUi9ciK4ObB2x00RmVbLL8dSnqzHiOpUbqkXFXtlA5-Y7MHmCJP0x05R5VUE42m7rn4t9Yn9SNRU5PFCEAwoMpP3kH6XNlhnF3RpdE1suEIf700ZKH1pPND46tsNWpipG2rTzh8pQK7CtdY0Rsq3YaQ0W2dl2LMjVTdBNgtCfL3e-A_L8VEfv2RiATy7UOuhGgkHE6QwiTgdF-4vny9Vyxc39nF3JAg3VZJr8XfXM5R1Q69gNRij8GKzYimoFs5Ov_E3SwphFlpbxKtSV74vp4EaSxY6uajg5mKJCpsIz51ADaL4dmXiWfuJlovTb_mhgK1_PqcODF_EcCAs7zg2WB-kcgbfMnYJKV_5_OTnMOwfpcToHfxpa08dQXjbzO7cJ0H6MbjLvYpPy4qxDfrtoLfhINn63S3Z1OfTXRZG4CF65yvOOzplLFfmESqgUhamRByRFfe-UG54yco9A1UDtu7fURVmoevoAd-rgsrheWdsDIM0sOk8pgtL8QWqzVqPOrKF4aI5mHS1aN0ncoA7FkE5z6i5G93JsvCvyb4h0AGEjbOvLeKCF29vr9BT0_IeF48jvaKc_5uyCJNgOgwXYo4N1shB61lUi8ItisGaNvxhTCdDn8Ni-DaJeMw1en2p-y5WGkQm6MnNhADuEgXjbWau8F-qP8NVF4yoRFarLYoUg1-l4tKjeJk4Z1DFuVb9xVjo-lbYD0Tc5DnF9i_avR_y_SgZOzmP_6ax5Owf-9MXTLehaydklDvwRYSpbEYnOu6B-WkoroRytqbAuLb57JQWBMr4Nu3wZMCR6_GktBjCbUzelJMzzLSNJdQpFZVHRbbZqii5ljw1OsEi0GsddOyeEDgZDZNFJYoUmSi1nkEDZv4J0i2kVLZbnao9NRg2BIqnUB8EiUZ_Bze9nvgxhtsay3LdkYeb5PucZ3bAgBJAqyjBcso1j7FzojCXl-bsrSKlb2XfpyBQEo90klVM4FnNL9AF-7TvYDg7tAwAO0yST7lGhUFSKcD-R0-QPMxAQWnC5nSkmBoHwYUEjQ7xcf4F-QeaoMHYIL_7c1MD1p1LlNWylmbQ8z8hQ9tnle3yrynF2XDhfRqm6BewbByiHvo25wYe0-5mZMRPudrWEyzZVu8E6eplTcb1k386L8VVvqCSzPgcb0wWninU12lADW4o1BInnRZA8TididaPWoyGtI5opFT3ahnlnA3BvjsUebezqUwsFWNPwPhBNGpcmWNC1y4VV2zSQcoylOZFpv0KKmrsAJmHGsz-1wA-R40GMg7q3mfJGwKv3s85pcRXeN6bqF5YF88aaKW1RMY8REE_-8hxD_u4dnoXRYTTS4x2KLBkazvj7v-jK_fyTQpOfRfrmBcdJJxzIcnEzfaVzrdEy5QzCdAqXHLu5ur4HVanF5wX_XiMTWyrp1isKcHLB9MTejAKy90K4LI7ItRVX_dLIMNMe7M7zILXIaUfcru7fHgn-fsHirrls3bcithHiqudJi2qhFCvCiTryjlNrj5n13W1N9DlA_QJi4pL1joB6hO40uXeVyPnpV0uCZ_aYkNNdYUhVURu4gCy2pEWPU-ZKtUpMmGhWnyxp33TgJnxN4aF0wdLfPRv6Rb48pCluXX1ZrjjKEzqkMIZcno6Bwy3N8cDNK36vrmQTsxoVqT-PQs2vH00e8I_lRD_PDoAom8ZAqW96OnRvx50OHsBKBlVRYwVa1TJDFBP7Jj21K_VF7qWSFZtyAzP6xR7eCsZWrqzwBt2EdVW1i9-YNxUPeRUAUvatBZq_MFOzzvAUF_wAjHXN0fNXf8z2Q0bAZ5Wib7mUPa9iDVR0E95oJ2_iKE3z0cHzmLiJotiM8wEIeEJFEbLR4MajZ7T0gkV3tKVwxthB6hHy6VZsI2kTPioGD2N8jplDLyxJJsEdXPlbvahCUQ2wuYo3Gv8REcMMreHkbz6CxEDdVwo6_AIV77mwzbFUDQMzbQjO7eEzj7KZepU9ef4alkX32joO1e9L91DGl5dW6zSWgtGSbyWNrfjLvwZ_i8K68mckU3YZ5E3N93Ai_3-Amcnb0p6Bww1CxE0H4ML5SJOixtQfS6K15SEHdVMGCIRT6uUPPH2uWulEt7POZHr8LlwveGAogNDxwkFHsrSTQaOBkPGAmNu6E0drz1GdGaV3at6rAS5t9KH-EzBYQWyInbVF3-wITdjZPQow6z9Nt0-ymZYh5SpF7JxU390p0aN_0omn8gqCSwrSCN33nN7Zlg78XOlxiclg4K5mQQluQ7CJhQUPVGD1rR0xhxYLPgbdl0qyud4pMxAPk8zyhtEFzu90fKZ-nTNBoOvEb5RRBOTD6efAmU6K-15D5ngrKlO_rksIerxjWkqvALs_byqUAaLnKWLUculL5MN9pMgUSFC4TUbaE4QvyBfAFi2KYlHo5xRlO4XtKxeej5ulyV_QH9aJLOxtOvAgmdY_aFTvIFoGyiQhLMhHB53hTppxbbehpqzxRmw_H63cy8ntt626RceCdtTJPopOd443te6D14QxJVJuefHV11RFJo_r0-TwXI2VuOrGxOIbKBWy-C2WTvFWx6AceTWnRwZgLsS50V5pb1cd_e_pXvIHiTTeSYS1D0wpKuuGGyrRnc-Z5P6ZItH0yvcy3wqtRkr3NeJX9xgXc-ZTbBlfbw4lvb4zzj1lL5XqgeQx3kyi96aJccwFuBLVbHsA-bX_83zmEBlH_H4jTYp_tVMRtGDIki53RcoAj4L3XC8OR6cuOx39mMFqVv2JHlgcxYwmtrcyc_IML-PmkkJEbk97FTAWqb94ncucQFDZBUP3JQB3DgVKcf8IWYGl7pGYye5_ijq2zcXcqiCVUW0y0yCJagrzLSRS4oPmIxx56EjMvX5ZKS6mu069d1oFNuQ7cuDwl88Yu1Ui3ZffFrnWP7xrAYRv0FGIAVf4iJbiASwh_5h0x_UoxyZwTgggV1xNhdd_Sh38nsfTceuGFgPC79S-AcGrSbMKEcUXINIHeAeoo0clVIO6J9VvOmBJUfsW-2QfoqnVOBCorGUQHm03Dt5DkW-jjB4D1OW8FrCAQ5aGYMIBbdIl29TZ21NZswrrnFpFqjYyblrTlqYkwZna2labHkbPLMTJzedG40CdMEpiMruB6tiwa6T2hMyFkr53diOuAIoIYJbCuckVo0M9Yc9gTMOa3FKBug2iZ2nnX00Jwaj8VgijQPxLcW4IDYBt_Dh30RmBddZt5YgG3q8cGUYJ2PJjGELpSsuzABa3ob0wOFr9Vw_KE5LvTtIrFdCnJgteefwdkiuG3bG7H60x8Oixfd7V3UqFtBJqLBmbnzjErRVS_2cOBUul0C6xX2MbFiXYMqCGRQ-vgHhnbm9ZeZrCtOKe-keJ95js0oEr7wnTeKtaxYWAYt1WKeyRLg4CTegSJ8n4a6FPSsrmsnVIlW6-Spjf2q1BlEl8NFf4wjcewhJtTNSgV5iIniCtupgH5OK1J8eZDxz_9S2MGVJfT6RVlQBamFCRAVaWEYoNo9GT1XfcTFwdFjSXzF2_4ERQYaSmoD7ByD6SvKrBQCmODt2uKwDcXGRKKssyGBtf8-R6MD7ntYVqItvVdTheFvdMOl1bPtjVtrtZDicESTGuSY_5fgjRXMJnVew3KJWSAz_hKdL0mSCDABnKdlB9XshKy2EcT50mbhJKl1rZyuQsEysgK4lmoOxIdV32A2ldCzdz2OEAPN9F6-_tYRguhghpO5KqdZjcjhMpXNBqTh-aIcI-ymmJqYACW5CHBE_RoVKNjXhc9WggzE1RMKmsKEnYz-3J7mfSswDoPnJitUpu8cr5IJHf2eiLPdS9ETiKM1dn-BMPi2L_tgSnl-1xKxtw43HvD6eCoaFgnoqAgpunWyx5xXXbBgptreohnzKT-guPZiR2ac8EJW18NkThmTURavN1x1vBeUUB5gJPcwPGahqoIhZ8B8CsFce6_aoOfRutgkzaf-fzpf2baV1ZamEqcca7ruAAnWC0dIz1aH3-ZoK6_1GM0sMhHxVulLhUDIkFHuOj3ZhDh4TbMAueyvODWjDdaBpOE8siZX4imSqLItjuKWVusmIWJ6wHT_SQYNikdT8DbqkEA52pRE5DGrVpB8zm7emZN37pS3d5eiq5T6LItILtN0qxwqNWSKla2MxCtaI62gOnwLpaAWj0BIZ8y4uB8b8Be1JloA1g230Ynt_PfgIa5a3gWXcTsDi1WlU0O7nL81HZ2tXByQkbrODCyGQ0KN9ujuXGDp6c4_MY-RtVTPZrHdU0OiVjUwPnTnEMZ9vHFCrBsdOMTnz2LMT8TMxxxsjpqVOFm_h-PjLhXMZdog9R5WictHjoNPBf6iG71ZuJ_gIbiJfN-rQ2uOzIEq3ofcAWEeFN9of75iz-z_A9gZqtlu7grmtjWqrrZJ5vNG7Rt0tSUAX8tEEgkRZa5VULc74lksr2IM0ARBesKQfbbt-ipZQ3w7RdGxBsM-WpRQtCxfxPteolBlKJfgRRF9y29b6eA7aehc2V_syRBWH9wuwprAYBQOJbeqeZG8DPrF_TKeQ9veQRgngGsDfWmMOVHalk_p2SsasR0sPjDfrBqMp5V_H5skf3dBbLMgkOsHJgf-93lmZYBIUmF-Mri2cAHPOVsb_QXImzgXsLaAlaVWl5Ur5W--Estce6rw5l2UN1-e6sy6VVx28m6itRcxLaf4G7ap5ICWy6tF1W3Ni1KcT6PdNR2jLBoFHxvSsUz020zPo3yTHKoybdnVXhZcKhllhXOI-GRHuiooHhrpZR610ZIQyHsgz44OpBGV93AE6We-VdrBN7-vHUbrvpSc8LpFr-KGpRRWwpEnEHJKSQubMn-WAoI3Og3MK-zVuZlVVBqJy2dcvHeUdwy-OKZ3ZHwIYkUrwukes4sbmJAa7GPHv-ZTAC8U_ahE1QNTJk-CVHobMBXkHVCEPBUH6xuPK98KwJVOzj0CnfRSVpgLldZpthrDEHNVYtgklF1e3P4eNX1oMpKJXMZW7yDVigdqXWFNUGr0aHcFmGpwlVBGJVIKPOndvbL-E9nyTyS0LUD3t3kXaPtYP2RuuU5eNF-0qZ0wtjftiRmQCh2z5KF4SRTY33pq_K8GuTJvxP6n77eFKQSQSX1V9psQxqbZNvW90iab4lUFJmja0wM4q2_A5e0s9SPo9IHd54FcaV83WwN5zlgLxN9HaLV7L44iA0zkRPrONLNhkmMtetMZJk6rBb616KaJmqIMHAynzFCFbG8UAIaw3At8GQ2OvZBGlwZKdYEO4lwNh0M6XnmZe31w5NPY2nSQA_rSlCIbhm9kyLCjsRfh3HBnHRXyoQVbhRzRpzc6aWKxPMrF0D9fPyEgmHI-enY5omSamJRbm5jTS0WVPn1_PuuRPEK-FrsMozpATyS49bHwTc511XSczyK2IcOE9v5EBNrHln8jyp1bM7-dO9fA4zovJ2MFPNWAwsKS5BmoKqOUi3IbXPEt8GP3prjrQuUFL1Jso0DDmFX5PhesthXWKfeIaIgR-_5BDptqamQu-uvzU-SKD8fV_1bHEkCEokuq2ZPaP-NahCMBxPwTQWpdad1oEBR5jTzeGR92_8Te9I8IRpKUTjKWusYCDrPDiosaziaU_DctKV1pL-VyykF-TQlNwDnwvDELEmeJ3TGpvSOCXZPhQfJaDKr4M8k8OIcWRBpou1aWtJUT5TFG_w95HD_tzCz3ui0G0Fbws8XhLQW8Wd4LPACqgxm_h-Ann_4ePEe-NWeyqPRpH3GY20HbgG_BGtciTjDkP-R7WXekCH4CJOSh_4iaHBuVj78_z8MNJJnuIJp4oAcPyndvY9NGg4c7dSg5aQODzjcyYfggsJFZ_ns-2PxHo5qRmr7tr_4SY5oOju3amg9mASRa_N5bRzybkZdc6JS06y7BpisKcxdZscK3KS9D23s0QUTQ8Gc4p7D_v6O95B_PVDgkzf1xkjetoMGcM-FG46udz1F5KT-qme7alFWeWLmdA4MFSrbaBAhMwPOL0YscHlOv4Wwk8nHRUTKK_b7XPNbUtUx7YMXA1ZRF3OYq_oBroc13lLjXpUbIGC0bmdyqj22tPK0K710XdB_ayHrqBnIsUPOS0J-N9xEwU1gszkhN6gs3kD3lAbL4oygoup8sVEW0dK8Rqx9MYtwBd4_AsgnmpvApEx7r50ZqxOTS0H1VdwK1xDIMtzR32buiyX7E2rlZrfze46sl2nR6sqYdf-vbNeJN3Gz1Bzt4IrkJyRJFT1UOedJm8GM4XvjOJsEMvXXJBKjZoa85rtck_ECocXanQtyZsDFpi3ZmxKGnIHvvvMKtb8cLrvn_0ctSp_abeh3rEN1leaIikj5V3IPaezSzokrIi3ZxLSPjLd0Tg4pQIsmv4OIOZaE0G3D0EXYZFM1Mlc9aPdL9eeDEOK1i6QinShR0zxFWPnwhz0fBDrYTr0T95jfkvVKai4CDLKjfvIoxs23OX-Dr4FkBYI9VNaoDxGMIuSx7DlOqjTxm03LgKY7g77O8toiqEEHpkKRp3U9tD5Hzs5WWWxMW6QZd6-7EPSpE9IpriOIyIYiOCGZ2T6F87-FT8A4o8g_w1D-v2Y2G3hOsSm1cn4FWArpyGEA_lHNgq2HT6Mqr3-SNLX9gA_7_rthcqlZ-uomyHMMVN47LvTgYUqIx-iU9tivAO524aMG8_YC19EJoSDvorzWUNmITso-gduIafeDP7kl67r-9fpBwCBmboAJ29Uplk28zYCa6AAfPvZNvIhx_HwVJjeghDBkLCdTXaHEkMiEA1KWkSAXC-cjEgaOGhV1dPy3sBFF7_JL1icQCNU4SqgoxCzZNm8kx7TWJJCSlh9aQxxrWKhOG1JYZvmPykax1DMd_tF0ws-hFO7KFcM8cAWAOxKVvU-_Nye5QheHFZYgbYd_aQK3gkJA0jYUL8o1BZsarn23YSG5lCh-SmebrnsvFaA1P1Zb03fEZAjyWO4W0blZ3rIErmiz7ZZmkth62-FeJZ_TqVtoyUCLgN4udT35ZwlBV8NLPKWBtiGzSBEQBBuqUFPLYQyEpFQp_MPa65teytcLrl7CtHjMkmd9bRoFA35BG1VdJoEr6ODAnc2Q1DhkDmzQl1KPzS6KZS6_js1nP2z2L_hyzkqD9RDslmOYQtP4KLO71jkkYWPJwUY-yiW38ErHZbg8GUI2hlt7whj-uKK6FoSRdBnlSzT-M5WVogdmwrm-dSO__VpSUQAdits9NeEyU-Q3d23t66fs6JcfvJBZGzpTLHQ1HGfGXEvbVi-O8m79R0TmptDfS_8rcbBY8GLgi_kPyrj69Oas_1_Fv74zVwDkcDX9TMRt7p2q4LFrocwXUU4kie7aj8tP0FLRw6U4rpbVnheqJlnrjj9gbhzFzJGgZR1Dk_dkAFlJd1WYtBq8CLy4sROW0wqcrWzJupa3yRpOR48wNDzYlZ6GQMmXwkxbzrcNelYOaJuPxmNiJQ5_IXJBE9i-7y4b0r0ThgoPiNNCiZLR2OYBtZbkxDS_3BhphFeVxTQnKMGruR9YE34ch0DK2ide0_TgdAj3O7teTpURPhbBRnCmi39HO_3k-C9-ozs1v1h43Obd_MN3vtvn2XSGg0HGXKzoYDcQWKu81XWlMJHZmaxyr7rrRj0LZDZtpXayACv72ep6El1mtCc7Q76xbopOba6KV88fJ37Cc-mysjYTa5uQAan-CZYd5BPIJOAQhhiux_qhO7BRunufPUK7eWM_1tr-dRThHa497xzo2cnA_h88FnWEplm7GtVb1DzUsOmy4pR_wPH6zx4BoXb0Ye3u5u5xqrKtF69k2yVaS96Zo3k2l1CIRV_KWnmrLbhjRU6qnPU5ZJ48h3tOOSJDAIS-gIoOmscGEPE_m1iii9tQ1dUwwk5lcnJ5LGhtWvQVclNoOCHJCZCLDV1NQoKG2RcubSIIKOIrfdt4AaDB7omG9ajhWzuW2zp8JhDQ1keuoikO9gPIB1zLFYRivA9pVcyUwaS_giPOg5NAJR7OZQO3NYDLa8DV4k8UoeiAwHEq48ZaMC-FoMnjUp6obzGt1mUPR6aB216WbOpfXE0ipKRJSINsUuKgfFTmZB_t3ktolk3hopvJQYthgTDnYx_sQ3V0HJY3bzIMrvrrvrFmocVp8n-s72tBctBldtIZD5sUm3gwnPNuNlZa9WttW24Z1nhJorG9LApIx2e5zkaZ54xqOMd9e8mR9JhHpRU2F8S5mlzr6ZDMw9IBUJhN4LHzGL5cv0nonlepzpP6sTOEGwILEKW4s-F_vN2YU0eTIkVkYK28DH6ERzXVsb3NMf0zNMXijLVUhYEAY4Mfa80HnfhBvntKIC13qfwgT2LjZenGBcGQPFRhvddFt3NQ8DRVI3nKhP6RFAWThAPEt6hUXH6pPUPtDhr68e65oBEu77-LWf0mRtyMh3ZnF6w9Kb8BnDBzHju3g3TwNj1aaPEVyFml_gr7-HlmNJxqKxNRZzkMH3EYXDYMVtUTSmpXG4GaVOyHOBy0wpcIas2kN-x2D6Qbp5eIwstLNd2iBNwiL28tGqCRfr_9ZCEGy9y9XK50TnqvC_KJ014dv9sGKaDMglkUdHgkMDYnH4hAooBQ521k84Z5pTjN-oSiguwteDFIT2o7lZoNu4hLfLu7RajmljfcluM5RMtGHvk5WJAxu84pKPcHEDUzrPz2zHrDd2aIp2-sVt8lFg17fy3jNBaZ4JdOkL3R7JW8txq_9z4BnT6GSggj123MajGGNsAP8EuqjvLdvzI5L9vPjysZm-UNNP4xM_gOXfB3ex7AXE15vMoENWQvLFgWsHcbMPA1FCO2HsY1qm7TaKhqLf5iH4Yzk1xmCMLZgzwP5cndC8zPogJvt036Ixf5tm74-O9mG9KRPU4hUUSoLUPbRd7ge6xry4aEWvn_gvfrTPoWxPagI5e_cebQCnNSWmtmao54qNM8CdDe8PMVYjjY5_AYeMFFIDkAWlp_GiTYa6q7hmO1GHLzGr0xqL-p7iWzulastR7AVLlHSeDqeV_tmvTJlvO-qaL6npAjaDU0xrjgT3bgRfsOMooVFihbZf0MgK6Raxt5ScG-6ixhQc3717D7wpPSVwFdXljxiQ1XAHzB4ztjDrJtN_8yi4QoaUfNq9qd47fxPhQaIbxhFT4p3WZD1uszk5RckQUTPO7ZVh1KCNu6W4w25M410zPJeDr1sdfVfW3VqX8f0MT3vB9OYrQApGpeUqSQnjSxcLNx9xQNajFi0nHyDrvH6Y7_wga1dKRC9f5t3i8Z7aaCFvp06_6w2Gpql_FoRkVE8nwY6m25TEUb0-45YkHK6d7hNOx7-PCdv98Y1nl9NsrOIL_eD3dZgkJWL8BudItuOos_ZlpaNtzGPi86h21wdFe9WeXfoW_vt6_QuwRsEKCtDrCqBP_2XHHVaxu0YDgesVhjJcPw2Js5SUXzy7p9SXNIRsnz5bFx2iDemdidAbH6RaJCP3V3K-8K-uQ-WbwADN5NA80Z4IDXEj2xoGgE79a_2ZpUeSC8Ex-KEnKreta_vZskccAveOdzUVgwLZSmO08lEomg_UUphe3VfERLlxCAI3CeEK6YVyR7nm7Qwy5gO_MezK0c1A0dwSq8BVHTzOmVEKNkuxEp4DZ2EAK-hnoxKonDmuYtdt-FHKDO7yBVlIxewmUt__K049qtgoMtkZL2RJdT0OTLElHFcCC2QWQKiWLsuJMk9G6QoNWDZIFxzxRJO4anqfpug4EyGINgIJ1mmmhZoL1zR3-dLy1Ns8MZPDqv71utEyDq1ajg33ayF-CLQ2XIPryNgLWjpJshO5bnsvPrXgNOTmnkTHOXBvpkAqOZRGRcph9-URPAId-9XeKtsFXD8jkcRm67Rukq12G_j1ouGOAcTZqY6ewMwjAgb-F0jHHGLc5pK2HExS7KxxwmjBsJuUP61cxVaneN5qg9aFDVT38I_aHCPLryNKsRk4Rhi-ZL2xExCieYI-E_iA-QjJ5HOaG1I3A1XZg_sdVFRj2QfrCO7h5rBZheLf5dOIKtjbA-hGrOmg7ZCnDZ33eAFZZNegyvCV46Xn4pKv0xfxNcvi7LTlTcX6EoKplSYc1sBxs352sZZL3c4-2F970snwFqH4vKVl054uF7loYX0wt6AqDzobfTufgAB8sZqdM_gsFITEMx5KPuotva5kQlytt0d6PihFdhln878TbZQJI8lsP5zqVJfy6GG4KQQbusmJ-YQuBPC3HIVlQvfulMbGcCwme2UMZ1XAsHZaEM2pwwwMlNARMLuRBAuNCAcD3aTCl20Vqhdo3lQBzjX9z3WdFOwRZzx498SEZDg-CHZaL-nZs7dlJvjl2wvdXFnMuXVZZL5QA84jAqYBKQmjVSAuns_wWiGMu7r0rpjk7yrIYYk08bVASpLAJVD1w0vB0qKiIINNPzE4jkckV6OKCWh8NMBsEOsuSBb9m7fbB-WRbPSRQFhxyjbhGWfV118fftJsuFIviQ7mkRrA31HScKCRelwx-mDAs6rJuKrkawMSU1Hjkudd-eXbhaDJ1nwT7wcP2mKMdKuXVV8oM7eNFZe3qckvb6rFfUH0mYjY2ufQfukE12f0LBsZ9GNEV1p7nO5VQeFJeQmLh0lsi8D9W9c_88Y5hxbKT6q8Dly_6bBHcfHhaNdXCBxJkqrnPK6cmEcGnR0rXtVsYfFgvGzxqTdChQRvLA51UThUa423v4pvH6MTUn0JW6ieSQU5oZhRAyu8ttlr5vofVqHryXCqpm35nv3G3H8L9Wdso0UYUtjcFQVz5G1KjFn5Hw5GxH4ZzT3yU1hHnkvFssrnghwdRlubKaIR8IB0NxoI1_8qeLIZwE1qQxyXbUFjAwlSnqi7vMSjrQRkrFP-ztz5D2cfdkoL80b4M46NXXP8tkYPF96twZnogmssAJmyxtHYyEgwG8WkCDLBJ_wY46VWiB_o8wLqCsl_hPGCcfW3jFR-BJWk8LqQ_z6Zyf6ktTTrztE2hOaru2Zk9-1zrxNhgzh3MhgicQkk5DTSu30MScP5ZKTUHJjsKjzhqX6LJq591MgORP2_uQoSrYCH4rY-MaUEm9YDquaaWKY-0gsuPByqW0r6H7x7FLwF7bT3xPllC2dT9uXWYrRY1RNqrPE-J_qLZF40teuuPwmxORR3IBcCeBw9T-Zht1a8Tc57EXQvG9VrcJ_mtM2mzpAuA9Vy1FJsfs58jOVSvc9NE9_sHvv_-2XQjrAZz-3aB3gQrPrMhMUXwRhjv064LK4BQ7ub4rTAx2YkycXlpbiXH-qLSx3BSIaHtZ8Hd1Bv5lH8vKOCi80eRRyd1YEUpSN2HklLxi7GZbpYLi8blwcf9dERfqWAKrbRX7ZdaKwqeoHccoLgpQaGbgWY0skA9Nz2PIoCc7DYy-IzEY5td3_c-5Fn0e-0t6ttNhfvN9Qmt7D6680TKOLaFtZHBc_4--fB0gmuiKhqK42yP4GiQyUOh3q4zDXK-hp7Mjyg-86k8JM9Kk_EpqH24gCPeMWahJLNuIOBHTrt8gwNSeVM69oU6heeZ1XO08ZKWEgOFGBv6mrbkXzu0fevFduqO3EAdhPHOeo3w-nrMe7tI7CuNrDfS4gCPvo5WPOZDXJFhqUfBxY3zKCiIGxKoOLNz5OGWHe_6tKWCxv4hxPA_g1wEzhgfw4cWQkRe-BVduEoWr9D4-1ifoAfgDVTVOV7SuzviPNr59zwqJqib3Qg3ddJi1BZtOHEWnW4Ik4wchfuDKeT1-3lcvWZJgVSen3e_p94Te5Xq4mtsJ49oKzY8DqOmVi9jED-hZH9OYgiYQHZ8OEKGbOlTHEfU370Gv7dlq0pO87YK2_30rAy5f_c5J6949t_mrMCyDJ95jVxE6O6pl7zM9bBHt7_szrY4zgHmrUtYM4dAOIJ_MuCL5hJMafEJ8_kzETabupKxz4CFzSDDWwvZo8haVyBZxGbFIvKbVmCISSOuqANOdSMF1uQVDzBAxjx1Cvc-hUHlxjp1q0MC5QKk99J5H0iFmWLZJhZowqIWpfkmaq54gNn5bqgdriTSgrzY4sQuBFJZdomhX-bxrW-iFniqzVgmV6LiCyC-I2q2y6D7EnHLG0b1QlZqy79b6Gozs6sX7R-35sbcoaSJV3HNhkwHRP2mSpvK2pvwKmawYCpqJRiVFwu4lOfa7dnGVIIR8Yc31JkfyrT2IB0tP3bMK-5Udc5x7UaJSaOxwYYgDPrCvayL3pnB5_YqAss8bs2rqowyeu7z3UD-e9rAo5b2dbraAFPEYITBzUTwBQOKqY-5YHq7QCLmBD2ybPiMNX5CMPkfpOEreDm2VXKkc3dnGY0CNxPKXvGFnXEnXlYbnPnc-jb72KwTUYiS0vSA42A0sRoDrqFJZtzTMFEdp1bmt-GNtz8ltCJdz9Ibqf2-0dr4cvCWRkCqYnJ7R__tv9RVzlohvGVwOkyHYRmoLutfRQlLCbu4kC08ndKfPaNWIJ-F_8vgF3W6_G-s3iobVuxclVJoaLypTOgmMK21nHGjyENe-E3ERew-9KQxS5GTAEGhKjdh0WELpjoIML4KwlLWufSodaPORluugsI6mqRQDkXrnehowB-gZweXuxP59RSjkqcaIjx-IUd6qNJlP8z8wOuNzrHLd5lDhIAwfYcvxIaS8h14YA5VXB86rNzBlKwxPpAl9noHZmGwS8tQ_hqs_yQhQRMN1Ktm68PnJgh14gv0zxQPwvdF_qZu-zg5f1lA9KLwwb8ign0AjUXNSIiHh3gagRk1qwR51UzdbSd9DOXF3uvpAMUZTJEvQozcjhbHYPqcLIEdm_kcjKAbwtqyPurx1kAx1ki9Catebl7HyEn2HtbkrC0ah_GopnR0-epAZS8oGDn_gKjGW99HH6_Bfk2IwkrxqQy5AFf2iMH5PW_QA1a0y2t4yTgLJpKMcHXu6N4nxabDJQedvDqWq9QelIExCz2WH4AOe-wJ0K3ZylvX04O7CC7R1SwdqowuHwxSZNK4OlY0bc_3CWxei4etfektJIRAGNvbeT9Fi7S0nt8fc65fiWMToA_pea_IURGoxMmf1I6GAoFeTdk74b0oNWfTfBWuGhRL54yNCrRwDXP7W4CIVWkpFR8gQG0svnHcSqnbS6KGFbZrovBT2KRBwcnuJf_iN7nyodmnA6eIK9NLevh14ifWCeLcNPpkef4Ocjlu104vuA9_hwh8MNc20hcCm8ki4iEW15UfCyZvncXeqL56Yvt1KplZuNEA_j65J18gXY2A4f33HZn2elowUlVW3p9rG3-CDbmXHlzU2tlLQopTNwW4vrrHEneCmRed0UFfsene7xRDtoFTng3ABVteEbNi8qjOjsT6bh48-Q8oex62thdlxtiBXlCwvh8nTpzTI5po4U9hE613r24Z4JFWPJ7_WT8X-Dgg21rc2ShmI71A8OoE276KXi0dOnwWKdLIk-1mloD7wBqVfpwJD90gkintH_x1IRCEx9bzmBK3ed32q-JqSE3rRyQmgYatZDnEOQScsOWhd2-E-8HZNhu92Zrdrj2z0xV3VEmmbyHz-GThnIBb4eP-46V2KZwEG6tTUp9da6kkKc6-gbAE0ccbhM-0HE1QyApum44mpX59AVcpjCotYnkHPdoTcnwBx3E4n9AJEPu2E_QuOGBLjI3-sktQE7zM8lkrp-skvZoaD3C0UP0ih2EhDBGp41ThtcV34Vqm5_rH9pEc8zE0FkZzsK-56cdZE8AWIdmyehrgG8cPywJHTwjf5tsTA2FwQPLSB6VN01o5bm1kYDZOB_63y6WbisznVOb6Gvk5HmBp8XzPys3cZY8fwFITyS0hKfH8qYQ6wyfzugJPqjpkmOT8Tiet1vM43yaMvxNqXMsSP6MvJNrEQDqSlYim83TmvXvHewJ_Bh00U4k1Bu91FbuufJnL4IyQHauhQDC0KpAu_gGf3gy3kVkjNtmhpYoMRrA0b9MG7B3-Ni6Gm2mdd46W79LF5P9kuH14aH2Mc_7k_FPaLqbC7Cv0z1lWA9Ad11s85tLSybSaCbBOTKrUMqu-oxt6xqIuyxSeBsqSQd8-WVRXzmje0fFRFKpULRJ1Q6WfE5zhQiR2QaGBSl4sLQd4LE0YRVMXm7kzAKw08WaaeqeVROXSs7yjDvghHuUcGfNTeFiJ2mrtxYVvKGToysbM6THHdznkSQAMM1eyCZsFzMFVQIjeyIRi1umrJqUz6o3OF7rcgLuOP87X3ldJIO6EJ8BlFXq_ljsM2rzBCc1tIPbyw9TRP5TS8ViWf9P9_mAh8GbHcPS_DAZKDPUNr3C3iw9G4aZmK48GDuC1Xx41k57C3Xm5_Tc1InPaTY7wGewNstnRUIGO8i-yYEy-IQHrEx74VsN2o1vd4JezxoPTL3o92IcRimeij5BTGEW-NHU1FiOqllnOMDRxFlDopljoeA3WsOODfS1zZLkv7ObZxboHdfnnVWAt2rdsnEBz7Jwx60HeJ23qq-9Wk6tn1XCqBrx6J98B9zGfky69uyW-CtFD9Yq5YYJbUWoUPyoj76_4BrxpLtDeqLdFDL8J_bsSCPhPvvB0MHXMa5nQE7dBkheLnXiDT4hgB63a3b4Q9oGy5u3qy3t9Kri9POB5_iLg0W9TiqT-RKLOC_AkQxkzzcWNtXxYSy7sQBAa01WB5LxTTtbANv7lsobrPdht0rAIcQrYZEwQr4tIpgfoMJ90kdcjFRsfOlxWhLwlGn8b-iiRYpaiXO1rujYVFdTWqyKGXQjnSISjyQ3ViU9ignXumrPUZmKfwRLgG3-ckmYNmG8yhShVPp-faku-Jc2Hu_lzxu_w7AH6vPVCcs6do7-zyCRwSHbqet1Vw7dSoZ6zMiU8CaQp8dVFA3xgELXEuofULx2Ck9dnAMVXfh96PQVr2-ODMFW2tsD4GSIilhBKMbl-ojQJjvDB8rpQCpmuLKYQ9IDJXCj61eGkwE5Ogse2Y1jJGP5GB_W6Wa3Yk0gbW2338jLUlpwzN_Nkm6Y5UC9tHUNiM4qKi1G4vTkehJKDC47FONUL-QtqJlFitQJvLRuGuGcqpK_CAMQD1Y_Zq9DrbvAQNQjCOV6MAVH3FWowGhgFaYrTkScTV7rs9zp-cXX9qwiDtHtTTH6dhj0UtAf1h5N0Rg4wJeXkSNyPFAzvXtL6sc7COJaH6TgrXxxlDb3LYAeWjIWfTUsBHbjNqIV5shMtnUo765ieTOEc3cEfvt5CLQC9LN2hOBq0h6uX-FtZ_g8vngZ7hlVx6O4vX59sQHKzNzx3Rvdpd2YeVE09RJJEONJuZHJogJBs2DYl7Xr5JdLJb1WdN49Kt1oOhQfbBDoBDjZ2jbbVFuevIg_8IDLTchDaUjz33yjw2L3ZSK6w5p9JrWwqBq1vO-_lHKCcfu_dTpNY2Zgvy6oDCdw5RyDpShhG7nWw2j02xf6g_gUGqxSLZu8Y9SIHUCmrWjRZXJXVryJFj2KL6Zd7rTdLLItoHXp_J8HZI55NYBMA1E-ozdEbVpmx2aR-fuSaaFDS-xc7FUUWzRYPwJCChKLMDdG1Ly_zMdf3I76IKrtJBPzmJt3nm6UVirLoI-JvPrWLX4fW2y0Cdyr6DdhuECK2pu8nNXZaSo4rxCpElQLaG1_P6fkL-nyZjQmV8C_ZbhaDpkustGqtAmpVDJ_vb7-ojaKq2BkPp-EsqJ-gxlNLZVmwcAiGwrLWNcmroJOIfxrtjU1cZFc08HfEauMaG2SXqcOuDYWRgIbqViFIckbZEfpUMt1cK9RoxVFet2MK3_0tXf82VE_4o3KE6yE6J5J4WevdIGwmJCTMgdakqf6CU_AAtazFhrOrel8opQqoxIOYkuJvYq3w-RRLy697SrT2PKpLkh6x6hjSiWdoM8Xk5nRuIHAcd13lDp1ElxbkATkZsGLcw6Wz1jHUcrtxo7nymy7RYF0jDtOO8g7g2M6NWYEls4dGbfESd6VTohEeQYKdOhPKtsy-CbCASc3wkUHHXYMIxaUAtLQg1bUzdoFxTkL1HCCHVPhj48-G4aMFd27CDYfZYhfUJ9Lxm_cAznotlVlJKcEt0fnIu1XZTVufhSa97_lHaPt8aa3dvzoAYvdBYvoz-npUA58ThVB_p0uWJ4F5WjFelFQyo2IOOSkN6b0GWlkswPGTUIJAgPLrKpEAg1wLLW3Bm3YkYkXLhCVUhxZdE5rt6B2mUGYbXbmMZ7bgLIrOaMwC3MZMN8uxDGBM06iWpLm6bfgafQZLTc9gUni4VgRSotG4cQ8yEoc5kdWCK9N2lk1rBNsVxAth7cSj2WY7DRjXa5epNNKoYPV3SjrP9qCrFDbPCalJBzUDu4aCXAUALLHVth9lYVv3t5lhvPUEEqXJzDUvzCVDxZ-QyJkNu_c3nf_qD9lNgHI1TB2TvCZN5DA9MZVH7JhmeYUsJIR9JXdEicQvNKLOOF_XDv4maYrQesQFfryZc94tA-lwL7UNzu4Al5vgvsFOnpPpaR1Tax-0B0XxkQt14A_j0_8HMcusrnPYKEM8iJdsfDrjgj8WurnGu9pSQZ_4LEQrUuKzsg7GP3JEV78R-2i3l8NwIOCSzuLPhUBCMsXT4K1Uk9i5d330O3sCGbEkx1GFelgL0RR71lLvm1Ak4btSmp9x6VU0BDLH1OE_sdNIEk_FIh4EPdT4t4sAP3LDVw9LnCNUs_GCplqodSck42zQOSYXQB8c0nclxpXzEztzsMbA8yEKrsQBDi_Wjlk7SR5068ZlYPQilf2BBTOyRPfWKrKGI5Il074RrDY_wi30YNTOEyIei5xSEzf5PCFHwlLvA4KBrzJG1lJWexydOXt3sTkNKYQtJcwlzG4J5Gr291fTFiVOlRvgPSx8r3zQweA3pYFJTGzFGq6AXRUBpsRKx7b6Szyt1Gqkfni9kWsFr8JBwgvmPOosMZXv3QA9unVGUVJ3rlZLVUpaYDWae38QSOtVmV4JudM6q1xK47K4gmfUiTmu5xTLr-BVJjdROEDVV_ddorGQ-cVXzCuY060_iTC4gUvqmjCmq4W2f7PelfVNLjhaNKKACcBBMAX-miIqHB8MQv2eA-pT1KB0GQcXpkPV_0TAXhQqLF-9EDwluOi77moolOoN6exXptoXiHNPZ9r-h2B-lzvVTb9L2edj_TLKeMWrnA7oq7LzDo2_yx2W5p_lWtlfp-LeAAmXi6Ap9XtTXk-oQ-4kfLqImIjATh1NsxTk8qEhUsXzlVycnG25xJjSQU0YfrG4ZAkAai1xkV_GxKzp6SGirrDjG7EROT8MsBxauv7JkwnC3ywuz7AqxpXp7hyppku4ZKl-cg4FSeeakpuHlXpo4XDtVS9EsbKa1DPZ4KBkC6t7gASyj2csB8zEwS4ear6wdXeBjRqodoL6FwrJcgHMsFwwzxDCFE4AJCPFtoUli3yPF3xJBmOmPcNe_36_sgHpW0SkjKRCceVPTftLCZsjpu0xqKj8q3lGhu2i3xt83CzZomh6d2IvYgnVCLsxRnw6BqPjiSuqYh4lmqjwgl2lji9v2BJvpAybIvy9x0eebdma2tqm375g1ZVieO-uRrvRUx3IiShAKIXjZAZclV_bWeKuN8PTceuv4fsvEscFUnerctP-3mMEV_u0wB23Dpqu0Gh6E2pkPx0xGpqxvcm9DS0PBgrWw-f0SQIBOHkZcdoD5sTEwjeDy_ZKPl-aqf6-2JBGW7jqCVpwWLyE-6mgc_3Uui1TXkKOaZ7gXSytRqaqqtKSzKdP_v92xAD2K5wPzwZNNBCB4O7VgcuKsHSwCXJhj132gEVn0vgifNJW2N0BU-UMg8oHRvoJryLoFaRY3PAnIPiXL_Gs1D7lASU_vyhovaRKLKzOMwwXLW6_TLz2NDhRxROnWanUqFBqydHEOEm4-SoGFCUvwR5m3xAY4TzLBVP7-D2scsqHXD20svfV85Cd3r7q6SDzcBsqGsfWERPmWMuxsIrZkQaiL59iiQxizaxZme4x1BhwUwMWJCoBVXXEc-41d27RYm07SB_gQoU6Y1f6pXZeiF25R4oV5JptH9PUSyISeBBuHnPmM5Wd4r_N7mq2WysKsvJD9xMlsS_--K3CZR76DxQMBqQeKKKr2uNTOKtQFcfNprpPtB0EqN0sqVMQkvMjPW_7cAS7xna0GdoK_fmq6j1ySOAbZbdKrAN5WpSKctKbUpYHj2oEgsRfsUO0pv8QmFdZAiOskNx1qnkavkhFlx2Ww105fHHu70rROa7LCCy8Wkc0KvFPDwfYONKXIlbGmMx1MhkCJmPvM74ZrKco_furSiDfze3Znv1R441W3zjN26tYFlXCc_XUkecEEi_HDXHpyIEWClW5Dm7_lITfwcoHMOBEUm5rh7BO8ijpUjnGfBV86vBZp0YlBz9vVGFDlcEpizuX2LkBKvvbpdmY4HjYUFsuZ0HOSFbIdao6FdzQs9vgwqgW8o5rJLeJAoZQhDStAJap9LZv0O9okzyyCTCcr8yrf30GtIzYf5SRrc1S2LzUbIEFoZOgjroulQKukoL-QUSMUwrjp0TB4RT3oOy6OlnlYRpAD_aQe24p-gtCaG_OHX0tQSWplTzR3Y_m2JOAnoYQn0eJ-fHjcexPqzGoUK-fU3vKrHWeJB3LOueaaYaMJVUMLta_eOc6rVr9GA7hGHxs760mktZRr5YNCmIpi6FO3uObqqKDRZ5Jo0J8FLNONGUCTILX5EeSP7Ls15CWS6rhrGYx6QjKLLYgrntOOWplWcKxzEGe192vCXi0gbcIlBMZkaP6zBq10gIN7Qvcr-L2h5-mTqqjhYscyuqo-GPrKZv43R_xXAbKLLIyqu-w3ukfhWDxBQwCtNPEinlo5kTdCRq28o180kp0kNaY2qkjzIHt771OSOVDE4v1T5RVLW_T_gzURU-_rl64moxlT7cSBGY7asGzbnpFFRLBfTR5MYIuoO7HpQbnAZi20owzMN5xbdCDH5Tu8gH-rwvllP3VwEmxZNlz7fbZ61c4ut0zbX3Sj9U03BfMtP5oA2NNdVs-J9P2ev664smQ_5ZGTKOdfNDk_EQUxf3a9ic91Q_bfFb0Agkl3gu_II3YSzCLKxbPvd7KRQXbkzgKzZUuJKZxEjHuLQPVV4edZ0jh0JLCIUKVphzAX83ky6A9nVzVEGPLKMUUN6aWwo-xgs7r4n2u0PH_6C8TWyVBceyN8DT8rqFT1e_f5BPg1DvmYQSySX9pR1W99JSGtevlGMV3EZxaOpoSA3XCT-0ukFlysvdjYXTKq-Nso14qKMsV92a-FGLlMuSFDiiP1yHsqCAudIbGA4bSfHPfKwB2HYQYad41oMT4WOfqjJ6gXHHp0VKqceZ_XUXMP8jP9hEEp0LRKFqSiyqsCWOWW0B7GL7x9IKEBgXcegpHYimG__skUrl2n1ujeY7msaVIYRPNhs9ipYruibkEndWOWtyQ9eZ1qioleop070dn0Dr-UhJ1cQulwBz1Y1RA6KX-TMgJr8DYUCVaJFxiiglbxiCFtyY286y3b7wpHgkXEQ_tN8BCtu_tDXH4YEJnYVBK03QM_PbOKFvZ566hhu6PADXoJfRtJw1q0-YeLziiXr0qMTbL3n8W8p8Rtu6fQ82_WquFpxoD0jY11D39_Os8yHOmFKvmIAegjrqO1DOzFMfEQBvsPy1IEW8Fh1WbsBGggLSkwO744zgD8ttwr3SipcG0duOa6TMf-eWM7ZRHZ2dEZaGEpuxinyXXB9MsjGzqy1IDF70kmYsAEoHYdV2LlADeXzZ_E5ydNhhg4O5Gl2PTtaN81eaGgeU6IVo94aCljvBuK879NLjJgqdkVvyTrLTq1uc9JoNn7w7EjRFefXFpIbGY4i29qAIVYQ8OKZCzhh9z8jUIMWoCpk8GHrllNy89HbVO3M_svps4aDj4Lkwk9k3gabfjF8n_UyDtLi4ekk8YBFgL0gAisjT0_5qXzKBy9gvsRz8WsJIehpK8mUANSC0_qAGHJdBJFb9CFKeo-n6Bos-yuIBo8hsznP3quqJ9wHRcMPEHLaiDcBOnyXCxy2LxbvdkbDwpj7Wf-ngdX8Mh3ZSbSb-Vl0Q--6LqUwGpmASCsP0h3BWTqjcMIGEyJlQth0gA3pv6NvkXCZBP3cEOEy8JAIVswpMmGlHW_aGd4oMXMLlIC_VRxwv5QE9C7nIJjU6IinBKRObtSl80oDs5-I-9e5mz9MxQC_1MOqDBXHH0IvF8ugmRwI7Y5gA7Nyui0x7Q_CHR9hsugMduZAUYx3YEM-yUH3bFbVXkP2i822kQdJAbqepGp31TXL4-pN8q-sLtLZwG4SbcICZ9RaCL7_hiiwLDY48HHKFtTCcDyIkvnOHguCeT99FsUTyU62sFJKZ6uUi1oqbYjRc5MmvQ4VAyq7it84gPsHFVb23Zmt7BKmIXiL985FJt4jgQylP0exly3CqCEt7pPlCf0y9iFNPU9r4Pf77x1VrclTbLGBxi8Y6iSNr95tWG4UrQ22PwDfzLHsGbUG3qjiK1aX_7H8F_Ie7uF1IstGTfPof1il0DsGnbv7I38q8NyhIByZHuEcPhb5V1rBVvdhngXwtCVSS-m4osnzT39pPfrEWpgQey3Dylsx9genoY9mTvI6t3QRC0JnUi4OtYh-JN_7nUJ8deNU0neixygndlgOFG8q4w2lKKyEfnslO9vDAQxCQiMvVmfE_G9G-vrtYKdNxugFuBQu-wQ3-FqDJQpIe9KZRki6aDSTuBRaJDNIFBDm23t-bph0_ANVVxNFI5IwGTscBpAhbd0V5uiO_XlsV-PzYp2hBjKcYOSjhCvKsE06QOlFayuTD48Ead5vlzQwprV8F9_5RopBA4P7U0DWcGzy-dx_9ni_fAA4HKuHNBPv-8wJK79PFMh4hgxu88eo-2HldHglDSdBqXExUUt1YKhZthI9xmIbatrBFXDNG4ozYQq7RspbHjaW5b9Em15zHIpLVLLNZ7RqDxPopLZKultOJp6cUurpOkdwhNc4AK-hG4GgDJjNraGa8uVn1SCV3fHqxYq933MZ6esE5C2IsL4F4YTyDyMj3dC0v23rxD8xwKNM9Ie8XXNPQQpbyeaFhqutHUQ0roFmzXocQz7hcHorJQ8V4C34Fny512gdxgF5iH9JKessqPfwkz8Ep58kX_UkpWaUHOjioK7qQnt_z3y3jM3SZkMKvUK9X-WpIBf16WVN2dSDDjMMKWWcsudYFj101v0dshwoxPy5E__Ib8XavnJc_yYGbMxLpdpLI_VcS7S53J4hcQH7O7RTOPLb3pGCy7LvJBCL6oaPra7tCHx6LF8YNL5n-1aS1-s6MveU62Nck6kg9c_NbMlJ-2tvCa-8JUdVkz818Q2WZ149NyYM57M2mKZcyuIS-NbpFmYAJCncgr2vz-zcDPSpm62PIOQ5z1n0wHyfWCARgj1AXNG2Jy5WspCb_WsztirXwMJsceLbu7ojGzOXVlMjAv19wK4V6DmYX6vW15OOUWQRsgNlRkaESKHFeNPPzMWtqIIrfYXMhFX5_CPrREAFLlNc2vrFxr_6RRwERfl2QdoIxBjiUUEvq0ueC4peOCfl-7p4e8vLEwxuj9nhtPdiqq2cVgQ7DHi9rh9Ekrc6bXRkRS7DFUA28FbqrmvkqdHd-zZdnLFstAubi9oJiZ8Jgr5D8AT209SuMTr9BWjpgqftAw3e4e5foFfSbbA0QhAMMujIBviERcne29Hjz8Y0f5QjPmVMQusIJR-5dJj30Y7VEYoLKc8hS75GYnAk7cA3ng8VlD8xRFaavhABwYA27GOcSaGvVO806SpTRCAtfNpXT_VijbtcwIF2S-8wMb5RGqEaJYGI9yJ3SbXHEMroPfTL6vqhnRf0haHi1dvKRfTavBq8Oin-Hawu5mbpS4BDAoApHTkXiIykmNSc3A80l7fi3KnwvcoTwJzwPg8IqsrmDSEYZafkJSZT3J7MTbUENpU2emn_2QjUc6Z38eiiG3N6xtFnFYlXPWTgRL0N2Rg2xTZj2SPoHUVM16pvSD_lSd5036bfhorXxSNMKBHfu09Fm-tWckEbFjQ6j0cRBzN6omi_zGnZkO0bE_kUQrIKoBVfrJFRnPXbnLS54uSsz6Z3amjtCT5izUrWbIWk5a3jcdFl-EjTADez_UePPemLHub8afP5AMqBxwj2nDo46FLEBLxr4WY3n98PqaQVjG5frKfVidu4n2P6VueJnS76SjSr7aiFTlPRQiKIyBMgSkz8pOeIEd6Pq0pSzsorhmEw5U6i-g_YJE4eHLVs-K8hTD4dkmSepmKYuw4eyabfTCEr4PxmJxsLd9xYEyk1KFG1HVLboDrpvpbuh85uncmWxZJvG43O-k-DyKvwHHVxxtBypb4ZGgOOJsGKDxANkUNfpVStGN2-h-qL1_mXQRE9xCQvQHa_lL85K7e_v9wBYuoApgIRt1TOVeybW1we-wvOrvA51V_bIq851pVNQwIn-FWzgyc_rnHoJmf18oeNGiDrWvCvrNOdAxfIFIIGRRDtWJliNHWMArwcwyfzDvt3B7_6J4lzTCZEaie0Uskmz-Wx-4IUo055ZG-zn_P5XOTUC71vgv24V2gGSinyt0johhcQD-Aqh6efmE1T4P2ijj0x0nS_xddtp-GwxmZ7YFBzQxAJVIow64n-px4U5FF5gdRdewIVNWyvYVsxbR6PuUWxrjZC-mlHwyr2YHxF2Mik3pHI-4N_4HbTugGwK4XehPVts1HU74_SZJ3jfsvT3jWdiGkaq5mXUbzQ-6G9SlPtfkV7elK-Cw8ipDPpm3bEVcVLTsSTBJ4kHh39fAGtxmiluuX57nRxaMM7jjijm6PDSfQ0dF3W7IFIxS7SymGLAli5whjEbh3owERkVzMEYd45lAPO86Ur8wpHqaMoYM91Sj8VKhlSD9hwkeqk7It4Hz64d6T2PSgdcXo3ZnErAa_JozXQPVK0kJe1xe8FazkIF2fWnIvkJMIfixxg9etB0t391_s0I0uSKX3i3wHzIT45WRDllXmvsuFTuuliwJ1GQEv8fjrRn-V5seR6Ma20tv4D_2VrT2nNgt0ky6fh17jr0ek-lOn8egEELH5XZjsNRPzdpRLAf1HXhuRHRSVSO40Zl6Zdrkgm04rUqNj0J-5et1-bskwqOheU5ezp_w2H_6NBWViBeu_1dIyNZe_S68P6JTZs9BCmqmIItQ-lvEcxh-yUTNpeBqZgY5lwXvGj9ZW9gEOm2p_EFsb4YKe24NGDg-aTsncGResR3ZZFxMJhD-El68A8V8D9JVBTwwweM-YKZgQdUj0jxz5x_j_iRPt5WJJUXewO99AlStBRaiL4wGfS6qXH2H1GMGAo299r2Ffl8uBoj-2SRiZqab5U-Yub0eSzrGPtDwZuSbwdFgw95pteLBUeNe2m7l4GmfkvAvjcolWuSCtMFvE8y5YzHj0eE1RzfJoWurwDEbHINRerro-76m29C5d7FEgvFnqm0MQbL3OJ2gnQOvFCdKpHKlDli8Ob5dF8SSyCdZxEfJ2tDUW6XLTX9Z6FKTTVo4bEAcAWnYUPvRfdQBPArGdGh-wnYpyPeO5OiURRAMoJ9sAjpGTIGAS8z1SWgPX5HtSD_IHclNE52c-TA01raK4W90aDuNcxHIyS5AG1T9nj7Cu3EqRiNmVHwtWLU7K5TZ2MbF3UxpjfAfriIN8Aa3ZmT2gp66R_JfBi-r9Xdc3RxIvW0AULBBLmZIvm-FcDR0BcX4JAKFQ-s6HnzmUpEjAjloImIf9k_zg47OEPpDLd1YunBmvQNMHMlzn3raaGDXeL8spdk_1B5BdoE38xe0G46_zysNk57X7DhrfK7VwGhpU7B4EpFpnYyI_9F_Bd1VYRKRhNMGTqMyuRN6SKTdEM5FdbmCLv1Ko0BP5g8xP5-2s3Z43XPq4PRWzLfvwOEITeAFzlkmOwgbZn7tNSBOkuB_X7KasOWbMmTyIcMFy9czb_MKR7R43hCKJgCemrXsFVKcxJvjlvIiFpWmtXnGx-aOh1e-957LB2vKzIU4ewBg0FihDEAg9B9NhB_2jDiDk3F2w-CoXhUfhr3wz1nV69u-Weos1uGnNowA4UWcGpTPsv3fRhp0T_Nx09qXKD64Ekx0jU4VhFTw8q-SSaMf6AP-UGRbGsPKD_1WtW5JnyFrd_wjgHegsPrA8sJUOUIcWVPKksu49BoQh73WiuElrtqbxGgJwgugMs_ut8eBEuEysWrn8KRaZmHyjLBYyBG_2_OF1TE68cDUhykNB6oUVkUmTJOn9WUAAi9Ne0LeqoohmLXjviGhdL_rEnO0ky6xwES8blwBs_St1QYljQVLegWr70HHnL3QYnI9cq-3454ZcxN7eRHzmqtTctdRI4T5uW91rwfuZvhn-ws6QUlWaprnKf13GyoYpaxhxYmEORtaGwLk04AtEYOdm4k6t0dKg5-KEZ-2B5lVANzRShV3SegTWyTVuPE7azmq4MjEdLcIUr1XjUMz56ebCaEW7CxBDE3eyu-nnIz7uPAIcXVzpT3p3syTaJwwX3qE6sECL8aeTc9ZIsiMx7e6xS8zfrZGfvYJlyZ-KNhcO9188pVp5XWW_h-xUsyRlW-5IjCK5XXhK94gh8-B8qZEN4kUV6euGD-U2R2dg5j0EMQO1Qc9_a277VJ-bqWSHt-p_HBf2ShczLwmBUGH0IMbJAfOy1ZP2TcXQI4iaq3NLy_gNbrv-kdS_UPskPD11XvkC8Ej0s-hk-m41DVtpaFLoXGjaC6Q--8RwKZdRiANCTotwM8bUaV--Uat7TWUA4T-YEaXOMpXklvkd1lKubCV92IZfEbXVAQ6eZO0e98ioD4L6mC9th48mpWzOMSgrQ-KOhS4TrsQZ2Bbf8GwPUtptRFTsU2HicZfw4imTGUvAifeKpOQeQqSGqwc_vJ50VcA40MSe6_c6PhDkFlB_JnPFur8UBiQ8AjVm584HGGUJDSLUlsbvKP_GIRRtZlAYrKjohJpfgXtNzqgEqUQIT4cTSz8XYuWMfkhHYiHV7wKFFIeO6bMIV_P5grrg7WwI6XR_ycAKE9HiZp-qETJWm-4gA6PppzEd1KzBO_Vx9wdojYPGLzFAcuIGHq9cuchZANQQwZVeCMdekE4T5WPy68bD900GDThA8xplASpMhaOmOIoOrS9cdHWnerB5F5iCH5ZxLSHzljXRU278_5hBEr8_vzuvacE8A2jo6RhlyEWDoVDPy2hfAqrOdapXb1JoVrnNk6GLY_WMuVbVXZ2TzmKaggLBN_6dPk2zoUO317Qtbs_8kugq_kKKoJTN40YyFNchpV91awkwcLirkyAlV9QEKbALsfK7ccGEPkWODXIsEKn_0qEfVwAZWIiw2HzmQeQ6tWyPwyxtvSlFMQTT3A8170YuI8Gv3VRLhwd13JGWU_u_t7OS6DNvd8rTBWsj8BImWq4B3cF1jFHy21a9p0-M4NmpqIGxt4b5wSPK6xCPKf8z7M8aaMuyVvtnoresh3HrckhOgqTNC333CK8AZOAzsmOPWZ0xpcXVyXIxxE2WjPvPn5-vc1uDgEPHN5uhP1OA8RkTgTMB3cdwwVL8HNLHAuOKtDpVh_MM8xVuk4-Y9o9LhZ20fJ7C7ozl8nlgxDDyXE_1TlOxXmmur9JINPbB5xpgbBiAp3DGDxfAGAbVz2DvXBw_I5MQlYO5-rakpuu_gbNX2EzerZQEDU9VOTccj4eqk3kXZwc2M5Qf8lJPotVjXcTGshEnMpTtRDkPkHuapnT2R2C6apos4Zl-V2ujWKSFcdjkYtqJCvhu7JxyD3GG78w1Y0TVbassxMfKJpc0BSIxj42zatGIogali46Ac2UpHoeyeqNweLEXqY7KbvolFwrmUJ6JmRqEqixj3TCBv9M3gQV7cCT6jQ6DgwR20VvgA0vWUvh1T2w45R2ZzxnwuwKpD8NxQZ7uyuCylF9N3VMzD3CdXNe69LdjCTaaZL5Bf1EpqpiXtPINvSeRuxgAdjCMEYrGG1THfBePHYnQsGy-poNIRqnanTuGNPzahn_fpcVx1-SnxJS-iqHJPTmdvayooLRjtrJJqGSfk0TgWQPKh6jPUkkGq_2_n0TYksypqFGCJ9LqnXPRsKgGo9vocrJO2W8TICSFeu806PJwgDT5zItG0XUpXmIsP4YaviNgkeC2XNnsrW3ELq8FR3p0Zd9ShO0KHOqkPpwWERlzYiP4wXY9cwizwMeiSL5sVNx1lMaoZK5IPSI_U5AMaCGgY5QOjyGfXSom0R854ee0mrS5AYydGsBkT_cHrefm8HDWVSEVVnobvmvRJ7nC5QuzWrK8FQM5QF4jRe4IbYVDrOMPNUA8zgt8hD9rJsBW8XUQW9jz2eoLy7IlM-MLtWYvvKqFbHBpr9b5a4pdNkarNqgz6p92vBV-120iN8IdzD37fU4rpKxNvKvPTkov7HTz9ohQGIOHm4V6dpzYHRkpp5szePAs1alV3WBRJ86ESe1H2gG0wIpHn4bzzYO7MY5RsKvQgSo3OqJbv2ciqiH9WFKOlLP1m5InS6cY2vQuz-7qY-JiKU_8Ld7ybskSwlNlT_tOL7jpLJ2pUqoOomyCDIcpjAGiEot5UoNpgcV3wVFiMVei5NfS2WeCdyAIkkp8xiAtG9NQfc8Bk3OjxskbXY8gmsoc_F__Bj1dAArb8igGN_M60dt1m0zTVeot02ojwPzfbc8AtFm2kxplWAiLvvxz2z1ERWYzUzM8BDZNzKWG43zukg39c37n3YWSv5HunsTQdztijm55_2Y7EjIgWAtROxm7YYvBr_3goLJ6DkoguB3euJ0bFnOYOZtiwwnS4x5zRYhPZG1bB4o1jScbLmRfjpN2P12ff7S8UGC80WD6wiR8w1gKZKuwW9_niZiQH_EJAgu1kLWwpmiq-crekHRYrwqMVrVMsv8Hiu39yWDrykYqWyw_L8gPg-hahoRWv4kwZiiroCsvsC9yH-3BMo-YdSb2bTkn_q-MshVX4zQwM3FsXU8O6NnSQuF1oP9roX2J8kzFDIo7ijCMmNOoP-yt49X_oCJ7tShx9iU_1UCodRuBwY6EkC77z3imoWMvzxvLf3tq0PP6bHvPaaFFsoWMLt3iMx1Qv9E5p-B2k2uQQjA6ue7dbYl6r3Xu7IZ6_GdnwReHGJMK-kkvrk8oWIeDLWyqxktzwvkDMVTtV1q3axSlEfNgVVtnQygXRiNHnJabF7rUY_SFIsR7S45RZfwySM6NsFzKgpHKpSQNOXVYTC9zdcYmDBjvAiWvYUDXvyPhjlCUMDSAvLUm9gtZC78h8pvcKhMkyOuM2YRSezWrhEcfETUN7poTLk7XfBbFPufLtQv5lGOOba5t7SBlEzB_mKlOJHr-3P5Iuok1_2gW5Aty4zOu2lggwPXO0yoB3FHWkbkDNHH6AO5hdpYwxlrrA9nkAe6heC-wXWEN_KQioRUiGiWmma18N_610QrVdz_xagl9Ma1kF6HpyR4vEjI96YtfhOkrqZCuD7oeNSQUvC17-5RFrbTVD27VTaWoiwZ2XhbZBckKfGWNpB_xXA8SgI9QJJkaRxB_etFaLfBKISL5zPcVbC7tjFRW4Ex8vZL3V0GxLOcfhls5aSG0PCLUQ7fInNjH6IpWDEAbajOekFWgxJyMceGWT9Oek23DyAZL32U2hO5adqrTvdrMT7lKNc8dBRmBLmLNMKd1mei35STkdDnY79-HdlTHhSdmbgfWPvwmVlOHLUWFhfr3JpQqxMxWPvVNt3fuh1drlNnRCmpGCzGxIfBn2VfTov-hMYFTEQv3fM5dYUwz-qfqjPm8HQiQIjbGV_7uSE2m3s3-s14hayOHjkWk-tRVrCVDfH7pN9ZX1oUJfEK0bA6d2EKCABeCDOVvoVX-ZwNpUMC2fVM0ClTbJBBQsj6JZbmvL7mpQuleg89mhwgxLOvrpCLVRf7KwndhdS-FoN2lxP3fNWi2o9TQdDvw4YrMUzT4-eAOEqL91C9Rrua9Or909lGyOspvEGDOxpix_iHqXcJpmHGkP80KMeYG0JDdES7U6EAlBt1sF__wCcKsWMYwBKm8D1ypXluwYQ1ubiSCWdzR0fEf1iPYwGeePACaBPlJCYia-49qKTQ5OsHOZtVV1i96aJBFzCx3oPrrauCh4To60SGpos6E6hwrlrXmc-4iyV_LGdSV6YYxQL99h73UT_ddPaoFCBBSpD-626zzI6XhyEioBR-WJZm0riQhe5q6_ECCQNjW2vpxheCrmGUxm-gPStaZJDg7CipsiIPBO1s2WelUuizU0OqmVDM192AMlW1d1VvjIKx8JQOYYiCCDeL-cewrzpBDgmT7CN61EwWy_ZhcrJ_62SpekNbUroMDD2ei2sR7PQur8ju-Y3oPdW_TID7rH4SGg_YBq_jHVJFeXKzt06elR9x54KMD-Uc_ITZgv8NNzfNBeCExq0mhyVnfTWzfCTEWXgJugUzTg7HDynflfdw808XGmbT__p4REer3S4aCj4nXwoj9pXiQn5m5sjYjPdeXo86sN9JhrkUQVQXInjC3wGH216oiZ11uTiMi34fVajEK9inkaioeuTW5HCkm55XFtm3Ur51xjwo1Jw7hRlucoLgzGd9_FGG2A2pZlovozeD2xbCAryRw1UDgjpIrA6IQD8XDiQ4SN-a6O_7wShVpMeKbPqrLQdc33UgNAViOHzOh_Ew9LxFfqp_kYCEIZw3ans3dIBhcXVmZTD8LMlZcwsiLUfuELg-aVW5AclQfUd3yIRMgp_vzRyS3J4MEy0B-_pE_2nBg3Um4TMzY6vbWbIm_-CTORTCRLd21grzVzEs8jmiO_Z-fUfWfqynxthZkMsLmRcaKVSj-MzL7nLJ6uHdk0J60te3CUCbBztY03JHkINrtDIqCQNaO2-OVsLNIN4apBKq6P4uZY4_tk7KaFjSLUJ5xRDaLVNFLVo-pNaCjd9KLtnLP36e3LX83BboPB8T3eDHRJ3E70f5JQz2aX9cwvRTH1DZyZ-XGLNhIKF09uPyQ7Ui9A09VYMjKLnKr1dQelK-nSGFVOA33P_0PcOPelIHkgx8tIyoDmHF2hc_DHkG6eOFqCILrnZBnZGfWBbuAFWMfRy-Jb6WLm3ljPeLpROEXPSXB0Wi5mcJML6_iRIsjDpWWxRNgDugMHli4B6uhyapD55JgBdi3EqJTJSKBLv-APZ231yahf14B8b9zxlNaONQ3rKmP3xmLyxrus7TZ363ZACmbNKH7OLCHb7NfPSvVyyfxX6gS9D2yx-2BX1HgWl_s5Fa14-thVz7gdhPu9nR2L4rITsZ5BHVA-bhIHXBmcjuPGEQ6B7Y0-nLY3RZvjlSC8Equ-DsHcTGhYtvxzVzotSEASTRsx8C_qiX86hxVRIcQGFUIWblVt8TGhGJri02L8rkgBgQBQl5bAX869QKqt5kyL-r1ZYbNe4i4BUc-UXbZxU4aMkyxn2GWmNhsUppqmfU_Ki7j6-sdzoGJnzb3OVBV4i1-YR5uDwFsOjmlszQMn9YOpSD3bL7kljlLkcixENGRd1KzhtFf2YdhHhom0xpjJztgooFkuivdtNZy7BveOvhcafolen98_kjYVH6VTgEqwxJcdL4GuqWYj3Fwc227IwYixg2SYDAXOPTvNE_QApdOsyBWzkmzn3IPfaoCpmZzZcxb7PjMdY8sH76CpcYMNPXOnkHVvEvIw2RNKPyFjo33jY7daJ3MTJ3p9Cp3XzU3DeiBPUR0AFiDZhc8SRbNRlsMWAvy138iT9Js73XXN6JRSiHcjYWBerODjglGjVfa8EI3gSDEwuwx6pyB_rcAefndC3joQtJxajoEInxC34AZkUALKkA_Es_ksYAFqC-OEbTlkkz0le8b3cUycbp4KkWOIHkVxZd9duEP1eJKNqFvm-RUVzoO-faKQU1YHamxsWT8lpmZ05ulu0VPWd2N-y250RtuO_NAnicHXBDV8EJRaKRPHyGkS0hV1mOp4xU_uXOv5BPkgHzVLJD5SDcsbk97JXtLuguE2YqGjSKs-J1YlkIY3UhP3hzlr5mZzuxJ8JKDWqVp26W1qdqu5ZPyYkiuxcHPP6cYH1fnhLfCooS2j6E7il9MRwZdVO4kKejyEmfuwZlpHSEK96XNOR3dfg940jkhSiOK8LPywjBB90leXlLv83xcKo-V6XZfJwZ5RvaGmYw0z_jpmiaR_SYL9nah9g-M88rSZXzgYJx7YEV1BrMo-z9Jv5SNbYYWCJ3Kk11YQLNd-FokIDBwh3_5J1GDHBtsGIkqh021JJ4eV2EtKouaKleeAqxYLJ0oMJkKxrugiiJ_U3s2hHxLIuarD4snErH8WdxrdGkc-teURxHbuTeZ_DGvQfLj56KdAXZlFH2aLoMBaCNxHmOuvZdZpVtQKGygYuqLL02tRzTZPnKg9UQ9MU4C26l2yRyBpma0Yekp_YVTsKuY7CR8v3PUHNX2JGefirPUFi8dXVeAbg9WkRUAAfomxtijPNKKMsZQlMDZdkmIB6eiA2yltjjy5B6kMOLacO5_4DSwsQYFbWkaCP5LtDxIMs7Yj2FnV-t1DG10jka1OgjggH2hweCmIHudUumtxxC8eq93CKl10esLULP1yHQKr4s2EEJzskCziYuW5Ckz5RlG2N2IUTNWqFI0DinfXNOGC-P4Eeb-6IA2DT2SYTpIFaMm-i8i6VXYL0nme6djko-WjBXEUrLL3QEqXz0X70YcscMZTnfS7Svi99r8G4oHjkmPgmMloBMBVqVXDC39aPYchzDEmcgO0km1nJxHp6_J4EgtOI1t5Ds51G7rgkAAoTFe23DvS2JSIhudS8k5MIzEHetHNkoxSE42x1Ui8jA4NxvxyD-MwVxsVxMGF4YTWl4yuSL5lNaZMQT9slJsp0FIajf2gAsj6yzmhczE3qfiphcMRUE_Yw7SbiTzqelCIdTg0lprqPVxtqtxj4sKi1IS1jPGSMTw_52ghXALNBVuxgp5nsNw_ucdU78b6iNqz032b4MkNGoybIqQkCwUqUDvbePg0-DVdPgYaFBuHd9Xa2Wdv7bHkyvbsV7yBPTOnBiC4tRLdfLdOZ4YfYAQn_gM_rSNhr_ztyEVuFnedZfIyLBFoYm7NUn9WWWvbA6Csc9hcAsBDtQDQMuqwo3H7Tx7lsvEP7FpBaJqNHhfuKUyQACB5yLQX8GXnl-y_65re0Nc_ThQgWOT0_Ugf2Mpo6D2H7Nx6WHHP6cVEnDdwANBONLZ64BLqM4x_gaK-pTyaQRL4T1XIsZ5HXM4rH-hoUaKdHWZ-NWo1v21CA5h--sS5GWGQznGAD29PnzTjIlTHRVEqWMOEqV9uRKMb9rPn1yOl1Soz4oCRGAAw54kPCbNGD7GMZZgARYuL_RhE1kfRHhXjk3klZ03Cy-lvB96I3RYThDn1DsZA-5iayKLInh27uDfQEg3c_50wTv4oePlsanFEW72U-BE9TaGbzQcANjHdTVWX69UMeK5AjMQEmYIRAwzUUDYHjG49h-D_ZcoCPbCEgSefVqb_ZkJfQ_JKOpqcUh52aYlQjPjmd6xD1EyCv0uQOhpu522Wr2nLv8fTOY6nlsfvqL5JDVSPMIPCB6rorAphGPmgfpi0GSQvGuy_qSpUmDPmJNOUL9tggmXE0S31Ne1vMiSUELTPbTpd8gKAvKuiekwuNtJ0MEVKXz7p75h5dOFZfw4nsofZnVm7eK2XmsVleXCjSBxFB5YuRCU1oEBBuH9aQVqW1BNoycEAOj1xDXpV8ocXAsD8OBIxZ-O-7QUBl1_zuH8f7Ekovd0L2zkJm1pS75I5epSJdOsWo-aDCPym-o2qsJlf6NTd-Jhr6wVLRswUgVWvlYPK0a79_qzjAXluauLTS2fVusSvc7cVL6DHPiEj33dY59T7nvaLUjCMXQm_7ASKnS-rMHBJK5Y6C5uVKYVYYi7CCsGhw200s53r6T-nQfW6u3kz--FJ_oDHwBDKQE7PBpiOPQLs3uiYDptvSKUX7WLjPF-A9JNZsepcsAemVF1BEaA_f8yNrYoYsxteUY_vgRGFRAlrPCrJxx4mW_FIWsFepJfI5wdveXUWO5hHcGDSNGDZP3ck_Tw4L0TLhb_P0Eu2bUknPaZolkWrMelnMTv4nPPjOC7w2ATewApZpZbq7AwDINcrqJq52nvNrbbfJGteybzC0cXzHpHsVE8mH63HgSNywIsZs_FQiCSHJ6stiHkwjKE2GCzss6e5sst35i7yjMB8GoFLIWiBaNg3L-kexW46MoOccpHfb6_5nXEa04nA6ea4r7ACd6-kIvj3xcVpIn8e-U4Jd2EWTohBW5OHJQd39UJSk5JsMeQ8v6rnA89O3tAMBQF8953YMZz0sK_RmasviaVxuPLm1Rw1H6YBUYfsUejDAm-0qdI1BEUqd27iR5AsH51gsVi3cJsbHI8SCDf-Zd_LJ4GCxxVAkWYx5O_l8qBDWhFS3pWD1d2Bo5km-hyscj9AMmKyBQmVMrRl3poYTqBJyxoxbQpknu_KWlFL877hzOD1kO38zf3GJFWkDc6JuTjRlxxe3TjDTsGSwhQN0gWn4-9vmx_9iI8GpqkmO631OWzlQvdeii1IiKUZ59au2mh5R_ib8Pd2VCtO5GyDb_A5lknk1EJcgkwXvY4KobYdAz-U9ofITWVwoGQ76QtSGQxW2cZFONr3vrLSs6LuxB_AQYcqFCOYSjubngGIpoD3aZk_WCGMqVG4sYbSpVRTfKh9uOLRx8yR22eTwrcgXjZ7dYQUo0lMf_dzVl804ELfnYhB7mRpYm6bWCnh8kOFAFpILQ8jQ0OdwyIukSs_j5V7ct78K0Fl5_drBBBE2VE5Td73PESfZAHltp9rxlvDowSgfkuYJR7JQk1QxxQd7PiiLP7EKk5-gf3kq1Y7Lg8mgwQpd_rrQ4G19NOz_Ijy_uqdLvIpSrfypYWcsovCqM0m5xAOlZ5iqdM7SrW_ShvilqP8woF2FIwE7iD18tg13gPdS6RMh2PzPA1PAJ5ISD84xk2fvOAcxgfOD36rKUAGamK7wqBihHZc_9H0UH0KXlQb_WbpYfT2ueS3DlB2wMOUGRTO6GIrSybGrjoLArfhk1Foizo5LhBme0t9jTM3z3wSurPCYZLwpfUnMOR8hD1q87zmbzKG1fkeiBLGF0Zr62w0HInawknMEiNbIjhpNy8mk_ufOjghXsgTihanlc-pQ4ALeDaiU-y0utUjOr5X-t2XUIJFpowkPFlAt4SKmGW2L91NFRKoVinaWgjfIShb42zl8PEhkidOD6tfx0RPPXEkXdXMwm1AhC0z6VvpGEnBXgSqZkMx6FmIYCDAZ9yliOYLEwJR_j_e4-txiAJ2AExCrv59036IJAI3c1mzbpltrGRjxtFY9aGlAyP7qyLi65hP8sQZ3vmcOUk_EUeaPVpagq-j2-xuF8WSs04J0XoLTTi2vd5H3AvX4Rbf4X_s8Wt3BbiX9m3WCMpEaQqk62GzWT1A1ZWWG8TsB96VEBFZTfSaTTY0GT5J3Qs9aaUKVygFWP0rI9fz7GZ6zrrZRrMafMzpeGQHyfR9jPJHouVUH_NLVNt9RngfSH79rVtd38n1wHq0OtgMoPGdPHKND3FM5qxSkzLoTaZ8I3je-qd1IAQdGAoHqKVCtMoLLwZUMj0x2foO-wtIXomvB9sK2VK5iRHcJxXSsRGdg-lZ6Ui_Qz4J1MmbfheHhddMlmgD3eN6oCukyk31NLm5Z31hqxTfDOkWOlSehf0nR6zxykhlX4hfZiymobZ18XndWhHHnjS5ZkVRuuHi6_U9wlGZr_frXNqPX2h3OZ9AD5jvpllkD9Tn7C6my4PlfQ2A2DbVqihge-gph_sRfPD5RkMbP4QU6IQsq74ymaaanLAXWVYXgllLhmxIS1kr8pVVShKabWGxQPqm6dEmoqCPwvPMaazJwYvo_FWFjWkzpBgWaZ-4bFC-FGXMTIUpcOd0REaIT1BCfCn9kJesTbGLzvWpi7z2n-wrLcihoPcHMam3gbwVPWI3TRv1X3xZtGxGzBPDW9V37oMAI5aoCLmC59iiX2PNR75nAO_TYDzXcnE3NZVap-GR8Y4cO_0Xqp9v_4UIrMDhYdqYbEW3w4sDGkff5WZxkYd7pvePc_nkLnXWhK62GRfUQoc_MjJuxd5FR657-DXAEKDREieRH87umsvq46vfDGU0bprM596PzJQ6Sk6VpxpuRaurDLmVjlkkbdXeD1GzJcMT8Jb-m1c9OZ8nG68T9wnXg2ExTNJXMeZmCPCPRDMG6CfoUjB4QHrOGsXYN6PAk6rqB4JmYpZfBYGyR-1G5I1DsMIC1n-CCvORUSsniDCG-AsjHx8VEdkUuBdEoMRarpjZ6gzvXYPN2JILmajOeKAS_zxAgnRQc5qPT8GV0Hs1Fk0vX1wZLXHmx-sqi5JZfhbHwGqZNqqiLWMaLFgCCZxanEDlthxVGmlcnOpOJKrVEY-OVO8O90xPcHeElUyJ9r60ZH1-RvnzJ_d38I8DWrSwpBZJWz0e_-6JoxOY1p2nlMFSUuhmWXN6C55WJEXG365HNtKEFy3fu3sG2yefmAr-Eqxkt_nSDZshy68z4zXrEoyEWApfBq5U8gwGQ6_wOiMnxqlafW4m3bxo8ZHhHGn_nqOI34Yv-E9uJTnOwRRNFEH5KwFQQBx8YybQuqyklaw51Mt4xdcMLyopsaVXYpldunVpVwH3VITwAzeUcV2CHFeb-GdKejCXdwYFyRVi7eORzTJOkzS4NXxfkOkA6lqcrSa4utPy1jGoJllXoSpRBeBhs-HhDEWtPCN4jAeM7_9neyfMlV7s5Tyb8LJ5jUrGzdCR1RnlqHNPlUf95_zLWCRltWpj_rNDmZ_eiZQJ-7Yrd2j8iLcNLPdC-h6iDHeO-HpHX5vW0AKBow3qUvmGmEkgVw_jFmw5dP4w0gGhpN2GtZCCf8gVJEkMyS1LSBwecFlcWkIRVHhEXZ8AvgnBJ1i3Ti1ftlo72muNIP4GDKlbSeI8QA-rU7S6l84J12wpgAP0M8GaEnwiFwg23WFjlmJrTUt7mqhuJTebCW9qodqUPpiW0Gw3OQN0dM07H7A3vharZuLpA8ja9iddtrMDJX091oi8QkXzBQw_O7RVfxVUl7Y6f7zmoe479hXZISIE8KMbNNmwhWVYinmkFxerjIYujQq-Aa_mTo4mGwiWSVDu3KdDysZiXST9ribkhLDh0ELN9y9uE3bLu8X2QeAYeF-Xs55LV4sJ7nBsPFn2lySagEGXXFPWu08TuqrS4b_Afn7NRKx4KGGv51ZnovKnxclm4cU3TCgZ6H-_5ROQjCU8PFlu0Zg2HzdBeUTBpf2drGqneOJ1h33cZaEe0dLqon6XGYOaUxA5OEJCOK4vMQMlpEUkkQEoJmqKlB81bEnX5fWmSiCI00v5r-g7bACgFj861d_F5tQWTlaEd4NDEKHnnmgeT_PO8JVE_rJ9tVkcSvpohIBqQCWLbq3RbtehwxoS23cUNiiQ6sYkjY3hO0wQoNgrovjJUqzdztoh120Xb8U3CUPOhT4s5ZYKQuvpR4yn9KCjQqDk1xfOE678C5hnLSTgCBUh1oVnfgjNuzK0CPAo_YWfcX9B3vE0kepJL-eDrbr-F4bezWKgQ0yDcWNq76OZvMO8bQO32iU9gYqLmzjdULnipXUZVxyPr0m3Dk4MN3V3xtPS0h4DTeCo3yvfeo7enYkRQpr6ev7I_FWGoYqMurIDPdkR-R3hBIm2_OgRmQvKwVBlkNf1P6q4CqhFI6aqNDJyzukgOUlsSgxbH-vhDin1dP6p9sSWQa9tE3FjMIioE1eLUXlxXD806sSMAVMPThp3pPg4Jm3mDoDVRTt-sQ1Zjhxdgy77kLZRdKifcuESM75gB6kLL9UWIFnp8jGAZqekbuXs7yIe3crOiOrOPqZ0yOqY0SN6ZOgA8QevgwBfGpMK2_zeAYWRdO5Rwb1wvjWYYL1EAwr1dcV9XSEqtFTPPnzls8jgLbySFlsPXMGvNgUrkQyD3bD3Lvs-b_d4VLWiVhWnjmJMHp6cZ4OLSUX7h8dHMbk6ktHjasKhSL2j4I1p9A20WUMa3woOY8O7JG71JCuyXoSXfIBQM2yp9n8rq14BzpIJLRjwKaKsoQ_sqQF-c-gULpbpHDc9h7VPNroLYuTUqusp1a58P0fqE8rdmw_RQm1K3KEVs30X-G5WBwDMajfJUzFaYBldrflaGhhVEzsKiNF2pbM5R081UPSRF44xcdZoid3l3ovkGD5bDZbVKJPSiBRV8MKBz_vxswjGmDFmXuxe-ELl0QKrGcUUFkl_lgg4n3mjU4P09PyzsepJSzAnnMBIKFSi6Oysr3qXmED-zp4Lo16OAAmvqppCG_W5qjkUgwK4Xaq2BAswIv4caObtk3ch37iOWc2jxAZbqgnR9Ayo2H1tc9_S08vwGqJinbH8aW7dgFWWsRiIwWi2PgBp_klxGyeGaW7z-_u070VPm_Y5gpJpcdH6MxaH9nmhTgbl6HGyKM0sAPUDnl5_NKWz_VAXMUPTaE4ukrH9FBrJLWRvXiDa7t5AMSCAEBAZTDXk8zdbOMNrgV_QPwh3NoR4onHbaEG68N_h9mX5JwiqXyUPxHX-ivhTLHBnWjyYBrC2Xxg8gKsXoRgRr59Gvl-vx04mpY0KRvEJ5SrKTGYPQ1mNynQhAToKPkCRCoB5ogfaSN0tJ6AGE5Cd8bGZuRObsIAfJ8lkCMoFcVV55hbHc8uWOzKz4Gh4IKE3QuCXCqk9QaVPcY6MIrFHDvK1R5yMP2q464Jpm2N3L-l1K5hrlBPe-iPNqyTVM-J4vbTC8jYy1xo0w2BI0TLsgrbFBeBn-Dy6RjYX_TyiVSo67f3UiWRAi3scZPpx7fFS6c8KSgrNTPGspq6yXH177PoZYEJURvk33lX3JDpzexcYQxDv8JQXTv8wjQXPx5srkVTJgDHbyFgnf2VjYItRazCb7ka6r_H38vfP9x898ZyaAA1IigIEwlMIZfFcmEWrMEIJUjhJ_GblTXq4ZjhmmS2cb-Hj6ePgZmm_DrGec1wGKI1R9AAH9dofxr7UIg0XHomj2zfEYhIpnboNgPVvzadUM-brbo7D1aiyVcl2t6MPo2B0YGBUEu0gJ99s8OuhjQNfKeIwJecbqBLLkLR29pE0-sPnH7WDnUMpbXqZ1WBO-pP_RdeYrwiX-zK5s_yVRdapVsTQZX2-Ek8pN4nl-QWcocL4cK_1-_d54LHt5EgZylZYJLkGboWArMZHpwZXDRDty6cWiYlw3MBFAHYwhRWYGp1HGt4atoTqskk-L6QjCFbRfFltgjlsB1eztcZ0RfeKgxnL0r0Lcis0c9qTajpZ4tt7jtzuvS6yQ2Sua6WFmhLXtf9Fe_eKtX60TdAhFYXDHE0jt_i4eIpcxpisdEGf2TPOw5SEFsokJTJDLVLLeGWlxbgvjeIg4abuOPbQE3ifNaM4CHvB8DMYhL-N2LCgtvwsbNDioaX_aWaIDxkQ1j6BToJfzZbwklLBANmLY7HvydqArfTcqCilUPuAkq66SgApcpWunxS-cakKuEo_XXe6eBtf9thhtD3Tkagvs8s3wdjD7lPqXpFigM124dlb8HlAQRmkGQ4aHLb1MY8QKU6Ba-v89l3aeQ4XliUQ9Z0HZb5kckEFjTBA9SE9FVSXftUWW0pDGQF110nLOEiNMoyZsfV8w5gvsADHh4wZxDbgOQ_OaMtWhbdDEw1gMnpmNMQHeH0VJRLJeQhBLKgXyu7H1EgTReb-XeL4EFtG0OmjpZmEBZHUx7kZkhR7tpyMIJuSDKx6mvwzCgo-0Uu0vOQCIhEDyD_YNekXuelQooMEIWgHSY2LXneOY3zvdmIYSDbvwbOxkTLNkNahlwn0SyFpGKjAMB-tlgtNDCTeL9ID0PbGCigK99uv9zDnhtbdwiuD6kkeC5Hv3BjtzgP-wpVMxSMQfGIEzRF6Mw2_x9iaqFdi0DAOCWvr7EoMi8QYh73A4KFXtsjdvG1_0vjpjHeciu__s-PS7-t-TYTHjFFN-GJ5nOBxHoYQyVEI0y_is2pIE_1AHFuJYKQHfEirXnipDWvkTefXrfPnVowRllQmRttrRqf0kGxLA5-9_5XF5aQt4879z3fAYMVyNGCYLlADfLSHYf4UjDPT8wTvKC83ivvh8sReijyb_yRvyN3qmhBAcCQ5HspplGFBrMz-RNjLPy6rkDePxl3BpsAQhFE4DFoX8SRurajP_cqSmIv71MIdpAJphPkSppbdNCf3e5OkTOlSAg6BDxEODMjBpl6M8eKMF24L1skGVB2Mm6cbDv0bRJnYXChc40QbuztKziPOKilYiw5xK0lxI1-JDcY1_O2yFu79gEtUaWfAcVG_WfApx0xjeIDVlShGlNDUcENfTgE-LnP55Zb7TFT4iNOg4BTvPENdWEJCIxCt4iFTWg9Ya-8Rkpdsp_uz4_2vRzA8jPeWZm6CYMeLH9rs4mlH9Hja04cSqOaaH1TCZ0RrXGNJrwyG-dMHHFnRbag0eBUoB4VhHJrS9cC-v9rNMwtF5GDuMEZYxe1C5x9iC7oZ8XMMJcaQH_rHc7bHfffznlX01BZYv1iFOrHe0txnuCCWV7G4MqqkOFG-H5q0I1eLEcVK0XYvm3JAssosH--_VVJ14EOX-kHNP8sDbWdCsZ1qPDCFG2Ol8A9-QqUppFEByo2VKRs62r801AS0ab0HXWSfsn95awmhc-bGmGS6KX7DO2k-5VclzxFzSXngCuv8Z_0lLGuwNvPWf5PdD0brPX-cpylbw_dGoQL90AZu2lBiju7sEIiMTDydAJWOTzC-suNEEwJiJf--F-Yu3qRG93fEo7PX1eM9EmjWrGDcAYFySs9geSFBtxgPuLHLkrbjoV5pwAC54V22997bM0TZv8MLwZlI9Nndaj8MB_KKs3jxT4oJId1ciL_zVECFbagqgoMTOvFcBKyW-LV0jueWK2f1Hd9nx5pBxPedhDY7kIZQ8lt7DEGP7_odbNpcIn7naeqeHj6Hr9yWBhzBFqIqCVBqh29yphMsraDo_C5VW4QFvQZsdO07Fzw8AP5kEIlIbCxnhj_TWUja7W222l1lWwKwZVWvDe22vCOPgO5PiPKdxIwi75rsKLEtKsja0qOC_pP87GiRdQlWtJfbFtnF5ij9v2lINCyOxicHhfrkSgKDglOPpPOtUgVCNKq4L0MPQSN_iOL0uT8wym_1xxB-oJ0eRTyzNGbmXjKdSlb6KTue5GfFA-FMIix4TIu6xUv25QGfGsE6kobfUCLm4TjY4aUul6Pbleo6J4iA3GTQ6gEfxqiVxwdhr4i4cGrJ0WJEdWd22wnT6FfHipHH3mb9WTVS8ob5wKUYdvt6qBFzs0gf-o2tO6Y4ecqqhdIOc4BZtdRpo_yXlsL3u-h7Z3xhMKFZYdEHw0ZjiOGAA0wEtzVLyESMlODdCK7yGuX1T1-eCEd9pwT-Y4qSpw03AZCGnAlKux3tVUgiyPCJO6HO4Guxl0D_kdjSWfwppbQhhbkCH26PsyH9TqefWzOsEbKyDBFGUMtM1HLJgFUducMOIBgzt3ySIhxvp2sGohn3XPGxL8A-zkWPsKikpn5Nvw0ZJeVvxEdL9v93zRxoQR0XPADtXBdtG_hMSTvVXpqsvtDjvbGpeVdU_8BVapN2AcMh664FTTHb4vjf0QUkoFC73niY6z5wexdKuNzTNnGccu2sLGR1xenSEijz1q58pIgVzyyXuhKamGhWk1pJ34kocyWTn0EnpCv8sV2D1Mc1ThI_whR8ZOPrQjIi2rGAIXMsuvDkm6eb7F0qtrIUGdT5H0eo8-f3A5ycNU7xR5FxMGOqFOnvwym1CXHFvz7eGdNKE7jgdJxtIc5nuQhJ7lCDjd8r2WHdKHykQDwGwFTQGkYujsV2DCOsJcxZ51vC4Y7YBcn6bum2rkUxzjEzWPnnMrtJcq-BsIMtMryY3ZudhWrTvPgyKoO0LX0iWFakKa5bRx0P3Nr73DF-6WaBaWJZd8jyTzfP6aAXaRYyHKpgiHvk-wVae-rDTW1RLKmbBwLOpKtZ0A_-Ovnp9ytwATql25QGugcuS43H1q3qidCM46uX7T09rpfvHbQmZZL9k5WF0q9A9udyMkU_m9cqkPuM00YEH3oVH6QBpkDDk9r5egsRatSnYrwxY1PNHzQrwTYq0dEVK1cTrxeVK7-gkt20FQg0z524gvJvgDAnePM29rkngPqZ5OQhUVuTKlc3iwbgzSExDuhnlQUusp0gMestFgOXUgo3yKyGE9Sx9D1TelVZj7FczDyKjgHI08EhNu9whRaqGmERjsI5nOlI6_7TiLhZKMrgO1NUVm4OLLFC0iG9Bfqox5qdGRXfqLujPCVdMSG7LTEViaNKFzJTlI1PoDDjpz543X93FQ5w7T7zw3CXsBCz-otUAi-0c7al8SUgST4SuijcC1sk2O3uDXLpa0lzmsAT7VQtzWNUtp313DVmmXhoMjT3r3oAAHNa5dMyrfTOSVwiqus8ksi652ApGzRCQwqPYxtj9rGSF34wtF5ggNw7XY7_4pJw6vHFmDDQFq4eJIluunMhl73vNf_GBDlzkkLgNfNtxO76uohVHNyTEh8UBQi8_1CHjKVBSEAd8BY5vdG-Oqf8uX9TbmY8aVqyvdIqGvpMhc-Xm77PyJuiIyRqXjWYcVU4jF5oVIOduIcPk7jKPMJraruMuAUNHjTQfOD0G1hkD3eqjODtZyZDEULzOy5RFX-tiX5F4iMdnfTNLFJ0hVxWeJc1aKr55usV76KqQsDExXo02HOtb3w_IEru_w32ZuhjmyZxSEqAoXXHaxQ7GQ2MlA_Yb3yEUTO6nzQ_4XXwWzheHa1Rldv8u5ay-7I4X_y84J600syYQYdaRL2N2kviip_P2a3ljepI_3eCa4_Mua8WMqD4Q_eKVn_uMFGZjpcnYBTJrVQD6NRnJdky9PSFOE2KiUGw533IRUzFNylFC7R2KQDHRaPrVrdevaLc_0U2j_enf3t15za5ET3NLIZuBzIkLBEypjUDLfiLlkKgUSbbt2n4o_Z--uf0N2AGk-5WPxJsfF-JKyNHOaLzTnJpbzyt7tx9QwTOvgE3qFebL4Br6mrH3pyghhmrf7sfAJddgkElH3mHJsSUv59Wcm-dnVO4SJj-SsNG51fQPXfUNAAGc1MA5IZCdfsJeFsOxBNSzvg7QhtaS5HhgeCo35BL7eyjeHdNN_sfsVXa6oUI8hnJQrLHNYBLHVgwqTaEG_CPm0h1FLMFZF5K8YICGS1js7Qvvnf2pbEF0cDZZt1A5CbK77r-d3vURmXjfhoYaNvhNZZzfFWpwh_XP8Yh0kiLOiuc1cWz5XAPgy69m1KBSEjL9TOviqZEcBfKUhKUsD2jxE0wx9cHLlpRNpi50vBsx0D7AS3t-CspOFY3v8es5WSuA3ILbVIIFdOQMsnMJ6FH7DebTCJzLiPfOGDcF2FJc2sOMY8xS6Gw_Bv0d9Yq_F5NIJxj1x-TsOofSrS-9X6uy74zRLgS1uihRKPNFWM3Zt313CF4SM2jjLDBVYCOjQSJg2HJuW-ZsxIr-yv4prCAE2YDitqSLt6pplJdN4qOX0w20gZw-XyxKyf0yqkK0p7CZ4DJReKs4P43Q4f-PDj-Ytrr8TYxIrU_gFbeQ8sAFl_mmk_9aEw8Dq7Jj4KTQXF_bhtw7x7oJiPQmgHlVSSz_qQvIfNGXewRsZ-PHo6omX-lPiEWBDsF2x29NeAsmjZMVOdCvbxZy0vffnDWvgFAAP416BDb2Zoq3wHOjgod-oDfkSOs7t66DX03eWHPE0Eln6jC5PM8tEIdpYcvsbScnSfHHxGyXSg3MV_QR-K2AmlG45_4XywPHao_QOAOjjaFpddKlMSJ0prnXRmnOBtVS4uriDtKTXuCXR435MJCEfFyYcepEXxvsp4Z3P4UwThcrzdN96ukbVRDvXNu21P65jP3x02KJnyekn86S4CZPOFXCGGhhmwgaAllCuRoT_9g5Pg3vv0jiq8qrqN83t4ipcRIUrtqZx1rzbNMeyn2jQ9BPfzBNsnoeDBsTXFCygDHxQHhpN5opUH6bsjqg6b1CvcsPuAYzhMiH_lDW73CCYHExgxoflgzUQ43aQ5rSO-1s7GsjkqpC9Jd8HWZaJqbBX_7P8bgVPzZQNreBdyuxA4LzTIUXZQRElDtGGoSuYwjuUDxpaKS-aUxKmBDk2Zx7ZnGJNWkJ-NfDYX3TIOF4Mx8Ce6rL7LCZIL1koyab-WOcZvK4ybZ3eRXWsiRP8w5pYr8UmxPrl9QSmeCyq_Qk7db232Eybd-0RJUqun1t62EM9iHQYjwOyrTcJV1qZVhj9Q6LYsKcBJMIsW5RGXosNcCL1dnUm71imJZ04uWSQTHQIGMpXAuUO9guvsFhn5Ns5-svq8aOrAzxUM3cuF6ag7zGilajKYHDNsaYmjUKVRd2jRD2IWyX9zMbI2v8ywF5j9fB-Z262AJ8FyulLjWWJ24zOXcg_JYLSDuybZ--IFHl3NcHTHFwdZCfbynlh94gqj7ynI8O8QjU5yg-nkSb4Kywca6s5UuEkuOe2i_DSVoJyBcVtIHC5mq8NqA95qJDB5P-rdKSo_DB8crc3ILGxGUYEPv2_x5aAqJwIYuHdo801vnR19Dk9jZX2C_DRF3RA1xzUCcxKdRWgf_wUIqMwvXq5m3hYVoNhUUh3L4rsrdcT_D7s4R5ITBlbsoB3JecJ3CAkl7j6V15wJs7tuIVpBRpcf_JubF3mH6WfMk4VX7Rs-KlisfEVnjc7CEGDn1MikGCRDEcVlt7siGS9br3TW140J3eR8vz7XGr-aNAa0ja9iHSpUqY_KwwBTOLu047rV_3FPLcwmQzEGPtQ_LYhPRIYhZHILrHWr00QJSVk_Wszsfm83Tieph3gFbhkg-ySYsAzRfgNsV2BHKpj0LaOduzP6_qimovSSEGbddWWnW6Dvz-bPoIZ8Qb0SZCvBNa-wz1B9jQfuf9V8tvDMdc0jMjxIR1v8cuW0zMFI_46pQ69aivwSz-lYo3ssIRz9lBz6qBcp_obcdDYJRevN_b9o7hHLPyrrZKzuOUBtJU_AhudmGtOryLggQtLwfOlOU6WMpU9Jqr_eSipQhBF5lkVE2eTLd3H4XGOt4MeofebtBqHuV-ifNGrHwblBklYVdHfKPv4hFxVok8bvMTv3axKxEnCBa_bJCMPsbn9eK0Wugbb61HDKq_xIb546UvLkZ4WPoEJoab_cOZO0_vWcTdpPP3lUf3EPoGNGz33yrg8pGWuzUyJvr84KaTqHGgdIy5ZBYrwm2Dx1I-KPp9ACmLGu5A-i_9Pa1RibHoSDOKQyOsCHMeYtI4BuJ0nH0rv6Rt7aWC5oHNq24JyzuoH1AUq1vzF4JiHpWE7RwhEe6rg5EOrypLKKz88P96xymzCXEgkjfwMx7D2x_EVoiQx2Q2w3LmAwWOPNSTeE0XoCvh7V9A8Hsz05AIEkov70ev0jK05hGMJQN0oyuZUpxntnUlcOS1DO5ooNRm1zeZUCqhsxiWROkANGpmXayFKYQ9MNE13Q5HgW2fRMPUHRn6kCtbZaZhtIq7qIPf4NUR-JZH5nouxsVVJJ-J88KuG8FhgKJwlDMPEaUcoNEI2cE11mAh-anlBRHnaRiGPxOwa3I-ozzHpMrmNDPDYG8_zI0tNMlSHj7qWmZDUOWSkJEKSky5f1-4G3nEVDyzCM8x92kuETJXnhjCtdj4cai1qORReoDocL_4-lqT6NmAR9USSoaNp1P1rZO5ClEXnktIzdqWZoFhmqHPdJpd1YLdcSfyu5Zchm2reQQD2TYiCjMVF6cCiNfSfjny-gnUPU8j0Osj0iLpmqnMvPS1gqaV1w8PcTuCC7B-MEEi804oWxNgIJdgw98kiEQ6q6dGJ5OtcRE8AZ7Vy3iQFVuq73kdV_kk5W1cg-S2j7bOnxrUm6A_0xVmXWVO8ZwUwevw7MVRE_4m1DHyIPG2JCEBimdpNb2p-ShHwq43hlBd-eZ0e-pPZ_0UtokyhRD95fFCgB3nSlexjA9rdsUvr3NXRbOAlASoQeBdqquCp4-C8oD08lr_q_bhJWX1BLpYe_5HJLv9XdbhVOMwy8zwGehhDW7VS6FDXq8l5ae2eMyH90G8YaJ5Z1DMJkESx-ylAQRsxTU2igEynIz8lKhmsoFOR3AiDXqY8f690I3GCxGGKgSJnETBV4WOi3z4012wNfdM7VMs_MYGl9Obsg8vc92hWuS_32VH_vshQ3-KYaAb75vBZMK2-68K4PWJuRv6B-R7zY7qH9p2U8Ug5egygM_EykKZo9vD9lp_RAtyalXbFPSM1VJJFXVB6FOwcbDfI6-PwlIIi72HqhwsVeEesvxw1M62gAeKngjXKqCGcIG2dmPVHLtlh75-o1MohFQFsK4lsOTTM26HNu-8i-6bQB4dFC1xu1kRVxbVH-D2rfmMUBvNUt4f4nlH3O_hVvFJNrOd0O3bNX-tpGqnOSw01VlfZuaOj4e5Rc2JZBalX2rSSg6ChOlWarOOYycrv4OUJNq5KTrdbGXn28kNYuPJRm05QcdhkN5mh7IsnulUElteOzFr_rtOObZNwPZCz1EoBwWe3rR4DpoyKSMqPujKXJtewtrlkAVWPAPaoFFChKeDSeWcEw9BDAUeejjnm-bSB3cn56Fjk1llxiunH-0OHvzYaXDJRaXR7tZu-GNmXOC6QHlpu-DOR8KBqWsiPSeBJh411x5s0P6toOIy_XGDUaBFrkbqffjD62yB7UpAWE-qCbuvxDKdhIT52ZQIF_s7wbeFR_mAYnYPz0_JIXZ-HkHy1QWx_ybTvEXjfA_x5pHxFf9nQ89UhB3lXxsxLgDKJmN7btaAn8JVJM8boBd_qqiKG-m7leIsafC7BSVqPs3exVZGJ0F10tYPWN0ryEyyks1hrPDH7RZMrZGPPPq0shnnB1XB5E3e-yU3yL9jFqq8cTU5aUVPFEK3IVi3jg4N7zLIJg3_NVdwDcU5hJ3ZpAp4-7KDgVdjr0sYbd25HJDaeQjLqu_SUs4onyVrUD6MqPoY12qKCCSlUKxAz0WPBpjKWcXrBW65R6xoaSL5Rz_4hgUqEvf473-GEuZCRX1CEBfQu0D14pofQZF8jBhKKsE8CXH1hlQu17B-ZURmO1cxqVewkzrewYWVhNQo0J8g3-jRtZxIAhfb-gaziGsAwHrtgEbTti3kxT1RcVhhQlU2gcTxF8_SuJeN9zuEC9FsBSlZLoNt7ck_fhuVtEn2YgahISGuXYsDqY1aPuX5z2MDro7sg-Kx60hQNCIiy98za3OPmzBiBOJzoqTbMGdS9OlFm-lyCcKKI17bRWZmhowp37i3_0uisQj_0STBls3rgrJ6Mg2J2AIkMK3J1OYDVXpXlpzPelPTe52GRd2ZRZOrmtIOaQAqX6j5ew7CtqiPB0AYSfYfbbnby8jlWrz8fbwzxzSPNbc04U7Gf3WaKlxZjx878JC21bAaUoDkBC_fHjjSH1F6tBE6zTRERv3VUmtkh1Ve3GhRrfZWFvkmq7jY_oN6pje3WYAUDfgXPb1H61kkSaQaTAUbBjTIvxzWjnu1Dx1MImDnoRzIuFf51tQmjvlenZHknTAY97yt7RZSq3_1KMg4O9NIeDOk71yKVCYj3JSwp9qpXyIagJyXV05SEYwc39OUPUiJnj-JNzCPVq8luLisdLrrsBJDJj0HsnNAAyqEEqKWcJxLzj0JJUTr9pEjUEboViwFBwOZGiYObImjM3KhUDIW9N5aTDbaYKTHIHZZBF0qfPPgrlxdUGjufY189nEFT7vDFiPpDMFl03RhqLxTVcAtRmXJ1BwkuisdCEwz-fIXYVOPgQGPXw2cQUXUL1Kr5ED6vnl8QlHsKhkQX06_M6AK8GrKfZdG7nbljRvfOTQDMMwTd_DdHQyP9sDYmE-QqjnCi0s-EVMVWp7FDmOEmv2qrbC37_BG_BzUReq1RFrFZ3qgmD53qHJG7GBDoaPP3txyjY7VSelk4lPFOFOugNxLZZnCZdLAol0YmcerEAfl4xAsM4bQSrcpogPVGn3GlKdWj3-PWli8EdGGxqnFE-TvqvPvXIBCVf2DHbQhCQeV3WSRNvAjBQzX5llz5B1iiicbFSacRvHEHP9IY4nj_d58EoOfgtyMZwWn3Q8G3pzZjy18uuLms6m9IF1JGhufDkJ0sQfmf2fpoymZrXkyes-a_2sccfbCQ9L5K2UrFBE7bTLJMiOsUYtJJAlTLHF3ZHHr9EOmGNy7ZkD0dM-bmLPgdsTyY_-5WggeWgeosVoDnuQITHTGXaZsxkxPDZ-0-LWmGRXYRyWsIlDMMDalphD0UhY6Jc5q1BeGgcr8uJB8xZyLXKida_z4NlCtkNl_C3EcwULAcHglhVyVbQHySUyUfatFPdEmXDY5ajH6zi6tSnhMp6CFW8nucXaYbO44jZzLsS28o6ysvAqHnnD9IQXWJGHWk2GDALcapmHsWYgiJlXKnqV5Zm-le4gSFDE7p4P2gPVXeNVEWvxqUTYL0sqoJBXumjTEST56oThteyZDv20Li2mvAx7Ueu_cj58PCKtbOrX9X8HLCaX1-JinrQW1Ssl1HSmSqtK0efYcQ6G0K1fD3r7ONO07KhFy7aKpR5Cu6ujd6iTxkG1v5gw0ntm-TMh_1bnQ-NUX7iopQDxK3lSrjmKvTW0OesgXnXjow5LXE1qe927OUAimlnxD08wcm0DzD3oUvGBasd7cGKHlV5nafed_Vjooysk1moQ7E_mNVkcVfqMH7aDZf1KHMvhpMoR596CqBatbP4l0-ju5Ik3UHVK-yDZfPxOl6pYufxDYHtkYGYJqm-ok6oYZMfaX5hqGbE_erlmO82CuAXjsSIMGd14AX4U5PYzhjbbNr73y74U1tc1f4BlQku5P5XQUCvrB2GVIJd1Rc8WbgklSowiC-CSAiFMUUqGPnKcbmHw8IOvLGglRIaUTrLWI3RWJXD255VaQUdcSRrOS-_CHGNOxkc3Q20yMYOld2LAsQ6m_bEVnFox2wy369gtXlshk6hBHjn8OEiJSagU1fbJ7yQ42pY47X1olL0O33azMMdMaqoRScVWsibGINN5xRB5NVnymPrysqCO6HA4EP88yXnX1qu8iqoEaFOGOdQy17_BidBDt4E-UwfYEYdEWGGEujNxwGbiTZp55pSWHLf--fjEb798Un5wW9Ep4qKOHRxVl2D82GCabkS0Gk-6y-gdeQrsnlhhH-QryyXmsL6-CkBn1lYRgOKr-WC1RYF8fkSMJyIU0yI-fgbLz4CuxhuvFUoIlT8gh4kTrvp4cXaZ-YbKZrqa1SuMfOSaT5NmmYbMQl0TRMF9sWUSUlxi-3wdfRBmkn9otGbi4xsrvoi66MmpH-dHjEfLxv7-M3vsXATXKqfIC4gjLcA3OnS9toqjUuAQmobm6PFw0S9P0HOxt6e_f8ku0_H9TX1FZ_SuZB_nbgYYjv4zFHDh_WRPVbq2Qw8hqwpKJlVRNpRmgIlKSXX2TNIovBesbm3E0Bt3AxsLh1RK_iUGe8NMHMdJvHn_GS3EkkNumRxksb1JGwW5OOBIOpqNP83f0nmDs7L7QkkQkacHiQrdZSZqAvVYZxuhtAGcB-gi0kly2k5lQhNrwmpd1QvwH8BNj-hyqYxGvphD3dmaiB_vASzdmBD8LHxWSg6Xku_CBUHpacGYIrCxlwSkmr1mJUzfeZOfeZHc5uv9a4zsl2j3w42LsbwTpgR480GEs3blVqA8bBtzFobDWqkas_69hLH68d__iCRqVAzlL2RhOA_bRih8iHnUBkEzRRTVdBihS_m71_eLfOuFb0x54s8lm0OQ9bpt4q8gd-8-KNKKYY12cmtNZN9_MVbQrpCHTR239xTGPLZ6gp_l1xcey-dURu7oNQoB4kJ7lXODIivwXVmBFbT9G88TFWERMvY08LK9XAH0pIqiEYz22Z6cZj1e5LMUxuTC0iVBMz3BqNAZfThMAHGF9ZAFf9dpYnP-LJ8W2gNJr0HCsS8gtuqDsnghYvv4l4wHI7GOQv_jVXxO-WGA_kuPKRyirg7jhHy4x9Er6pOPZP2eon8Auky-MRbXAZaz9tLxOWevEhs_oV7dqetqwSpJej2B4_uC9BVUY1BKBjQHdAndnvYmp6vG-7thoRHa5tvx6eU0wP6emLackZf9rbH9pM5kw2Jig-XWbBgVuHC3WDvT4Htg5pIwhzUyyw6FA9TkR4blS7wG4CGn8aZspG5GGg5lpjPaxj8yLRLxr7im-8IFgKoiWnw4iQVisc3AtQD6eIlTSreGL8HWzkDKsVbFyoPUNNvgkCzgd6VA6Ge0ukFoXDNVKpGaoCick8vcyETNdzzLtvykJg8Dn2tLASl_iopdqJmqNjH-fbiS3Ai9zfErFCg4_S1u-enTsKeEpB_UJ-hr94JxrgGw3i8PWK7iELGKGAoad6oY9SqOwG9wrqYsJ1TH9VxwLKxX8tEMAjxuPWrJz8dJAUZp0Zq65LpFbEXq6kzql7d0UWRZ6WG1-nbMeYSA6ywtmzQikeWP0YLfm2osKhphrWLBMC3k2GhYsXAQNzBec3KEXxPgfGaLk9S-LVf7kKXAXBGXLcCf5ASOa_7dbG0U6ybuT45b1YlFzAtNmOzw02wPOoTQiB81RfHJyYNBoKxokb-TebFjJxYf6hfOCY2ylVKsSOLrG6dHbtL6ySmxPq7aSM5T6HJeXOK9Za74OqwlbICMBXu5PWshtxRd8ja2ZOXfPwXcVc6c0CavOFwKoSC1fL8fDbvF_Z9kvm5hmZKX0o7_DrCTtLs0_fbXBEnLdvN2OD9TJj3ihbroHAbRGH3QfX9JEUKWN2-Op_h-QzQBdsDCO7zRujI9tJMZ-q3rbYGGPWKMzFffAyVryZKPftju7nC7Fn_Y-lysw8LG1768LYQwjlpmR5koaR-GKDXRskVuHZ6XFOYsNjpSF7tkex99iCFdQ3kGeTkzqCS4OJg1xumFYnXlQeSTAb_LYaw3bA_WPBUKotEiXFd08xY2MUXPaZIGW6Yx7Oa_9kAEQhJy7SUvoWUsWKSKtqThKRy0_Tvaji0OJ7LE8kVaifYDgrxZAI3Kxgkkwsr7fW_uz8zdOO9On0APa8ygOsgmf0DczHW4kX8xd4VQD5SvDakI7-M3HnI0VdlY6rZWgEq-3pduVYPeOovxwCEO5mq5M6k8Z-PIBTaFHrue6EE-B1pHt76HR75Z8xjbTd3pQ7U79WB3Ck_OsIFR4hD6XMBfAtSDehIdYa7Wbw7mQPNURG8JafqcLJZEBLAkVrNtu8dbc59pxAlzxpj55wZYLovgdZHTH1fa2ZPaSOFLVZJHxOzptOKK0NCOKvZfYqqKfAN5scJHjK9D3ixjnhWnb0v-J4kCo80ynsD1HwHFrq5rW_jAobr_vmO8VLDfuJlVoM8TWHxPKDYkiqTsGgZg9ndAgz0HZaDpOcZNn4V8HBZjpZZrMmJiOSIGlm3v_IaB5ftIvGf2Ycx0hITcADisin3hj3XFBPKQTq5nMKnVL4yl4bkfBBhxhC4XB7oetL7rfij3zgoCOovd0rBRPdZpP-Pmw6wUdi-HwFtsysJEynrhNWSXNtxT2PcLNqVcqT-4_EApJu8DULLcPnKWUdvI8-A_liOLyotRuUVKp4MF9Ry3ZpAUvyYfHSp0f3fXLGxD_UkG0u_DQrx8ZDWweBz3POEOT76lmB3zycvW13k-XJasJmd_mH0TG9IjfXmQol8IUpLflxudgGJzNDYbMEveJ9eXndHvY48BhIWncqsKhWN5v0Roy-2PqyAOCnBmdp9xlDyC59OV2EHx7EWSqCxlChAJ6fVIXoA86CKj1vkKbKthRDpkmNqnvIxyI_bf-rAsHhyNPeUHr8qFQNJufSyZrvpLMahwWYGrTZJtUOlNsEyZaArIXOagoFy4dOmAiHwliS7eEOu0dk082TVe4t6ayzzvdkTR4RPe-4G30pJBu5BfhCJR5mwM06IHz0VZDu-kCLr3LY7nLVZqkPV7k8xV4dk8vgspjgqCEZ6CfzDvdArSIe6eRD0GN_UGK5h19sYT7qcxuOuAB3CuoaFC9Ycb_H4jfoM8qvIgGBTTpwUkkHjyx8_b07Zb8Algg88vZSyL2qnGlYq18yUzfY9idVe0205sLvhoxI-gUhZhaFz6cpXd3puy5N0B-9CERz4I3tz6FGH7qF_6BppcwE0QP5s5AdH37PIeIfIToy_6San1C1tiwNZvBNFpROM1YmS6mSfvJbYUlt6L-wK9UsPDqQbx8cJwkrxVgSQdSrPWvTPXq-tPCCYkA0I0ZaT3Ig-_o8ouV7jLbPzPMrFd9ic6LJ9MPNg5qWlvCwt-veBZ-yIFs6jGvcBIZlVPDXdFhnsgLDgjmBioApSWWA5pukvHTAbRScUaOZRHv18MOwRdK1ucaujkk8fvdpDaOYDO48kfquKfC4TspWD4Ei_pptTFrVtQBSQiQWsbg0KKDGuzvXeNckTI6QwOAiiEwqr4z_joWav7SvbPLt5UjwYQeOW5FesgbhkcrBw-vr59P6i6TGlj7yEVRSSj8SuymdS06lP0r7TDbTYcGoQeqNFL-eNjtixA4hHvUrVVX2yIa-n5paZ3oz9ciXSlLD9YiyNaIPmKazlMebHKvAD-dUms8Eia5WtN5_1RJMO_POxNCJXvxUzhhkvU2zZxtDXpDCmexSHzhndB7SH7R7Yru1EimOtzgOaCVckbC_pnQ8xILr_FebtsogmcD2L8HI46uXbSB1l4JkMUK3QT66Pls9G8DShSsEmVH5mIAMPCkVfBNhWkChmk36X-2MNjv1dbu_LfhmElEYTIoDofMU6dr5iIjzD_cBcp5IiCYo-8ULNATI2pbQsQeRx4X6VDV8rWgHyAxfw5aDo3xAkU3OEA8nx7NIWrkV0YJhV5sxjmqf0D8RvaN8Xq8nhqeohlOO65_eVS6t2jceCfKPNw7Z0ryGo4FPsP8ov7D1TcqaZc1AunuOuWJrzqt2PGL47uUQtULNTqijmqw3lR4xWmoY7l_ea6fqDi6iLPFP3NDzCiC6r_h1AMYzPeON08MCMQeUCQSgY5tGZ2C53t5RBcVneFZXr35bbQjq1cUWM87er3OzRrT41FxwkURkT1E8dQjgI8NR5JcSGsAZE2BLgenKDB-f0p7BsLRjCi2O52TiLPW9hrbtZd3aSy-DU0AHF5QVIx3csuBoQ4jH9uyIpJ4EES_nxzSsCJWFFTEXWMt-jqZg2acWv-oMHv-7DHtCtVejkzgogoV1IYyttwa6Be0W4IsuaFbYw2AomG-RdmtmNZZq-5OYhC4yF5HJjHxLQ7BCFdlDMLzRD2Yyn0dg8xM256MEc45ZzF7JsynozMunNo5acG1B5X4mUiiDCMM0KPjA6H63bshxB3_m1g_cH8mHZtmuoWaMraZNnD0Rd9MeFBw-lIrgZzgU-lXvmmiArRdelM0PQlwSId64H9euuHylmztEOpR8wAEhaS1rjokH4-4fSZSPIp34UAKad-wCUBGeinX-d3jSWtvb9-mgfu0bh1iMm6mqn5JxRQQzltdfKhIPuxI3Xs0Wg2Ym5x0MJ80c8yIdW9T5ONlbnxDXxWxABcqCUb4aqqyxvye_2_b3Gw1-Uok7IFgZJh3u8IBts32yQTUuW4FwVguoKdhgzItbGM59bsnE0dJlE0i3odc33fj7TMgSfwCXDG5lQ6LAxifw6h0ZpXs8a_CehgnVjIXcnClPX2UegXiHsffy7n8oKpjm3V3XtMn8m6oFz76ngUWZzeiWXwIVpVHv4P0MG5tuNWb9A2krYu66pXV7A5XWVIarBbK4o_ZCCOxGkR-VJouk23UF63KE16m5STrRbfvWHM9_EEMy4c6Khe_vZXEakFc6g5i33xbOTWPbQqQ1OCWlZqxhy7Do3JT3AFss000GSQxEHFp8I8j4MUurrYo0m_o_RgymTYHR5Fop_QDYU1Tq4vFTIlz9wZZmnRA4ojQ47DSJlYnr5SDgqp3RDk6spgT_gP_6D_wiTz6nGitEv35Yuk-xRAQsiL_Dppv__uJkUwJzYKz5pZimoBNXri_zBntVQhxCjnwmRrLkNNSd-o2oq9yFQqzg7Ur1zeOr5bIDcB5ZwHLgOotlJagR2oUaldfx8hcUcXkiLRh1YuJozY5QdpxupdY1NJDheeKWAWg3qPtUgMW6iuqpuR6ySk_yJ3YziPL3Ct8IshX5xyLu7G8Mf8tLwRyZ48euiwInBJ6ns_0XdZ0QYFqN6HuFqki6QMnGQVa4RCvy1Kih0VWr6N33nijkbyKd17hD8eCIQiDUhui0D0Hxno2mMawpdWYCiHhGRWH_34krr0AglbdJVnpVGaKGzFURYWyOXG4Bl3-JQjNAlusmp9Sz1FOVfOc3Gd0bajnSsJVwGWo7rrdpO-AbwPk57nbrOx7Eq2xCc9zmVrBfmKDna0ncr7FgVfKy-1nw-ADIsxFSxQp8e5lRtBQi7bfHZs6FXjKXaXUCL_c_l0iDI8RaLBKnAnAF012HwK4A9ErgX93Qv4mqYGbNnCuxmd1CHpJRD1RDuh0YDY9JjClBIt_CY9Jciii8qaiGuyV0jWM7tjVcpUlPlvU9Xqt6DtFKvv0PdslkWY6xcybsIcadi_J4b-Dix3LlDs_0Z5w26P3PHdiPrLRvs1uVqzitbZVV9c-DcDTgQOhs9YxVhBj5M2gfiPkWdcdxcQ1drNyYHLn5Jo1D8MH_s94w01rYmzFR1qgEjyi7wXklI1JDYtobxcElcwOVEzl39Ur7AdSeB7yXvVt5BxfFAKdaPD1Cg1Oy7t-faT8y-IhWiUAwAxAE_GiuZcnqCIOM6igZyN9LYyaEf8a7Y-CNkjkZ4VLm53HAZOqAMNuEUGGYQXyMIDxjzw296Tnor18NZojq9hVSDy5LmrpaxOXgA1tQh9CtrAYAxBIF5lGRcnjz3GCml5_PI-YqWF90xlz5OPJwnEPp601kfnAhWm_mnpRXW1-UBFdALipv70FYsaMJN88UzOWBjC_gAQUnGgUTQu1oBjIzjwcBgXIG3b3o2cLGahSVVgPHc0ipOemy_HbPtjKoR8caU_vXAID1NqXZhaxSJZEbew2iZO0zdhwCNAwE38aMQrr-iD5QldZxuuHoWfyz80FsEzz1Laxv1bpbQQnJueQjR_3o74gJUa-zszGMGkR_DxqW1A9ZrIKhYQinsFdkN77KfZlD1GL43-sjXTiwInANXJc1I7_EJ6hemFz9p_ZcZGagYHsRV9EgEDob10H9ckBD-iResdh-mmE1goZUVGzv45iTSLPicjlQETzgBxJC1yNy8MxB7lJLyyxiv7DyHKxnzKNy57myhSPC-RBCpzGxb-47CydwOKGanY8PV1yrpJSkIgHykoZWvjl-61yrGt7-QwVjKU_r226hqysLWgSdgu5dCPjuSh9mbzaaoVbVCpDgQVUpG9NXz5LMpQ8zNTfkO8xJUJ8QJEy28QT7SRJPmDubKF62O-MVeT6GUL6KsoywUuy347cZxWvCdPps6ToP1yD_kdGudVuKVVYQGIlmtRqzXMphazEmodbfFy6eaol-yHYr9our9bsLbrGI5eN5p9Gyx24ykTZHTQ4n66h2fWohCtJkMzTFswiw9cPmcWhvf5KeV8pcuzMX_MhGcBc9k8Gdo9NXVSemIF8M7v9VXpMuhh30VUWDbfkBwITKYO8f86DqBdCSGm8MkPrPmTxNbtNopneM7bLOJX-q_gxKKJEKdjHiXXBoXJDZLlwvEpaf16RtverOSvTe6m_qWzEZDV1ZlMPoU6GIC4hAG3DmVIFTHbbd8gIq0KJBIZGmrNx0Xij0n8XsQ0vE9_-B3v8rFM-0ecRe6a9ofVOgnMfwzXPh7TRqZmi51AVvEvAODb3wsEE2_TFLQpUOFqyZEFae-AghYN0t2EGspeU8Fa0ZQdmGV28fl5Sp6PEnfKdPGIwReVIXG76kFZdPLid148VbNPGS-12dXxL7q4DsHWaCrIGUqLxCSPJBphtyPQuHILdmLSDJTfux9R8wjfbVB9seQPyxQf1tDFrIH80EEMzz0amee425QnJ-q7OQI-A1giCjmsD5xGXYqESpT3JO4S8wOllFI5l6EUfxK4b3YEqmSmZJCnlDLlK8N3B4GUENWOMV5c5mq9_6YSkVwlns-oCtHM_KRSKDFLvwMPM2evqXfyYfVh12AN51Oy1fjVR2nRDhjZv6j6Lk-jgbreVqvGfz5c8JJpBE8oLAzRIk0hVehpkUrG2Cm49Exw62fDUnUKT5jemDuSKYOxLQLpS-MnqNNwoq0UpqRydrTRDUbmnqeDIQzjayxUvomrHuz9sfBp3rP2UMQm35dDKOwkkdDkryv_c23jPu7AeRQzm5ZtvNBzY0rzS6WeEBKQJ5sM-RZDaflCn0gM9pvLf9_IcDbKdupfaBr4-iTUhgvip2zdxkVntEOTvClqZmx_kKlfZdlYAtUhKMpoLWHFbZa5HnNtTID4m8sQnMjnyvlwi4I7bKNPbxW5W1vzN_zMmGT1yvSCVumkUW-K-DeytbVbOvh2pNe4xn9l4LvGKRu_MbObrgAY39tqZ7bEUik7f9pu-Y8KHUmqP9kfX-nPWh9pAB1V904KD9YbWOtVlmvfm0N61vtEovq-13cumIHepvKhe2wxNEww85jK8yDAqTSrIcVgK_fbzovk8vQJVpVDIALj4MRbbpxVXDnZrL_DOR4nI1zxKe5MC7nBSRgdtblu2VImdd8bjzIeXVEE9R5thnWjBvlWx6wEf6AEzq-zjx4bUhDXirLPX8xZMrcVCZY2oiaKikBYjzf1jhQr4xlLqt05Qm95r2bp0AMo75a4x5PhCcAcxE1ma_WEMMN-iY3DqoKE0LcP_r_qGR0-YVzDfsXo1RUW3TZPusiaIHP0_6CcK6W8smiyqHbjsyAz9c1ADtlohmHL_TvoL4J82Zc6nV4aEmO_OLwrWpE3VZ8yI594-drBAT1ncElCUOYT_MLxXqpSYnYKF77dwdvIzp4DiYumok1wY5al_shpyCqIhoj8NtIBsOBPS6-DDQ2gTao_ZZlr2VNvAHKP-xzQ13pRriSrjd5GEuYjmbJuyWUp2H12y2HHeFjgw0QvVRx3lDw3ogLEIaQUWEAfWqSR2PrzWa7nlrCTlQjnxpOvtxswXuSuojI81GHvCAZLqmckG4rbZfERJel4BpFE47PUoHPqbTeVSPmNt-OyPdQVnJeDQK9MYuf4oK3zBXDVhEnsFuXNGWlp2yNuJwwrhOOCHdiJSs5UGR5ZRXbdlTFErVe-CKa5_Z7Jeq4UlWSWiCirHTbLSHCBtxH4msEOlEsTleSd2BG16EaUqWL8cGTbVc2Ip_-gCdXRgwNowz6lvW4qORNuUVGleXXsxssAoe_lgWqJAzoBYBUn6vQf9B-LoxdornPFtFUA_TrcouRX7bqOyqIrbze-KcpEkhC-AhVbGNecxCejQiyRBWmAWasrluWNzZN6ASxX-H9gh8Bxlj3W7MWtOG5FROUjmh5h6Ue7KN8rmTQ9Mg7c9ETtx725LymhWrIzXSr5UUKbrG4hTFfi3-HnazwthBh8fs29PguNyMRtp1IS5FFR5ZPL-O0qfFGXHYSVRJyg9KNExNK1QdpNU3thEK1eV6IU2WzIiCpHLKqXGQqTUPIJ99Yrq54lTwW9ywCpqMDl0NlIqh7j_01NH1nWWjMFaxzIPxoGfnZ77aMBoIKzIB_3z8uvKhsY25oNST77eoac__ixlbPs0E39EPal0XGUzrn-WXpWhdVKAWGeS0kYKcZloMijqTZGPgyiH2z1Ji_FLuVcZO871lg8VowFhwM8YjfQdEy2P2aU8kQQa4v87VbQVUq0YI9iqE4jIt3XsXsT9C9Kfj82W2VO7XoxMTAwozObG1arE1dEjokCeGXchwIhAZKNbC8KqooBeFewBKBleh6MJCSvrwxdCCcWqxNn8J441P4-ihU_KbIiHtKqe9HrwVNrRZyCHjC-oYxkW8rhZR8efWrNhpC3Fpv2vA96uRNGh_4o94PJy6XXclI1lQ6MuJoIsCYyPc70wsHq5DEEGF51h7qvgWiETxnaIAdM4SNCF_vz5mkBE6k2P5Joh6PAx0nGYI9anVVIrtJU1939c8N4L-_4DV1XrOtaDjEr9Hu5VzHQm631sOqlaVimlX4AG72h5MJGoBCtguTpsfEeOpxjr8IlZXYe3QIFcTjKfJTT0Atx82rVp7LqkzB1P_gIfpsJQdrel4T44JucAn3hllayMxVdDyPCVUFcT7EajPLJxvxgbkXscU9_AuOkh9SilEJ7izfWyK5RMZPH8wxfyqFKsbL_1eU1W89_8AEzDwor1fQIn12GeKR9xfON2utcCvQaNSDXJtJiiUF4oZiqUWYKVqbyu9FtbeBrlp56MRJjPd0YUbpUJE3ddDfjToTZbbm3SuwnrHXIWy2i4K8hsLfwCXqi2kq1hXOhGqln9NRNBR7AJ_xr2nHddzT5MKS_6BdP2sxxOhprb3deYkedYTdFB4ORzWFwmqXy47iZceMHqwXrRjWOlW28Uxa862Y2u_4cXVL-ZWco0MDmKoj6NkOURBSOF6lgBBZf72RFVAyq9Q78ABjAsbKAglkkhu2m6SP_cGU0PmWAgiREOnQHHJHtkCIG1GKOzS2XqH4rUklx77QV3xVjbbptpsFYm-kGbgFz_12buMQ0teZdo8WTeghoJmF6ASg7Al56S47veqTmgifFsS2HHDTtBlQmd-vhqfxw667z0iVU0hIri-UJy0Nv_kxpgzxKHMCcMzdFT0weA40_fe5TsYY-NWOdP8axacLACCYV4dFle6HpNoicJTjZ3NuH5ZFxsyf8OA1eO05KAw5O30WBnMuVpViyRvWqnbnlQaCKh2cRJ1dpqgOGKBbd28ISNdlIp5asfAxXtHWMfs9XTnOt5kGOIv-FDhI57JoAqpp8Y5SWWBzS_dhHjmgJaWfHEXtyGpKGiHu07jtGB4inHhOSfIMrAw4RlODUe3fb5ZjvyEh5w1TP5NKtrK_6sp14GdECrXSQbUPY2aWefJigvBVdodzcLDhro6Lf0qcyFNj3oE63-mLvAlB5ombvCOSqr4Lh8pTcMiN4DP_NpX7MGAZOocRnlK1Tva_Nbx4ByXUhLs4hlDDPIKhM0eVHg04Clc9dTxXa33EOsgVUPXh7IiLiIluc52ivMz2N2JuwWuGbsr57rKrG1jVfD1OtgjbpMWUuNxSUc8Pyp-cIxvWbKGZuB23xqJAE2jc-nZ5GOGDg8UMx83x3nlrH1TX5M1pSERkeYDjKJbdU_HwQkYwOLLw86WJFuYy1mTzjcl4-dbO9Z_rry40hS2JSpK5zCMMwhjcY_YvOlHr1nsSdyKHpia3F2KCXQKWfnExgT2c5hnBUr9fOoKyDn_3yewhcIrNMEOPucTE5AqSxrvKGC7x4J3WR7dBDLkBG1W4yTtzbR4dVoiOg_nTOgsbNC1FFevyZcH8K6AAegZ3QvKto5lzC8--0bm7OJlM8ceANGmRVk5ucYx-V86BqSep25Nz4EA";if(!e)return null;if(gn&&gn.sealed===e)return gn;let t=null;try{t=io.parse(JSON.parse(gr(e,Fk)))}catch{t=null}return gn={sealed:e,bundle:t},gn}function br(){let e=Ou();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=ao(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Hk(){let e=Ou();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>re(t.slug))),e.keys):null}function Nt(e,t=!1){if(t||!e||e.length===0){let n=Hk();return n?new Set(n):null}return new Set(e.map(n=>jk.test(n)?n:re(n)))}var Fk,jk,gn,yn=h(()=>{"use strict";so();He();lo();Fk="tokmizer-default-rules-v1",jk=/^[0-9a-f]{16}$/,gn=null});function co(e){Iu=e}async function zk(e,t){let n=await jl();if(n.size>0)return Ct(e,n.values(),t,n);let r=br();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Wk(e,t,n){let r=cr(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return we(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
90
90
  `)?`
91
91
  `:"";return ar((s?r.slice(0,-1):r).split(`
92
92
  `)).join(`
93
- `)+s}async function Mt(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,u=Re(Gu(e.startsWith("bash-tool: ")?e.slice(11):e)),c=o!=null&&o!==0&&!(o===1&&C0.test(Qs(u)??u)),f=Bu(a??Ec??A0),d=null;for(let C of Wu(e))if(d=await f(C,n),d)break;!d&&s>=O0&&!Xs.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=mn(e.startsWith("bash-tool: ")?e.slice(11):e),b=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Re(p)),h=o==null&&(b?/^(?:fatal|error):/im.test(_e(t)):zu(t)),m=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
93
+ `)+s}async function Dt(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=Ae(Qc(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Bk.test(Xs(c)??c)),f=Vc(a??Iu??zk),d=null;for(let C of eu(e))if(d=await f(C,n),d)break;!d&&s>=Uk&&!Ys.test(e)&&(d=await f(`bash-tool: ${e}`,n));let p=dn(e.startsWith("bash-tool: ")?e.slice(11):e),b=d?.slug==="git-log"&&p!=null&&/^git\s+log(?:\s|$)/.test(Ae(p)),g=o==null&&(b?/^(?:fatal|error):/im.test(we(t)):qc(t)),m=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
94
94
  `)?t.slice(0,-1):t).split(`
95
- `).length<=60,_=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Re(p)),S=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,A=d?.slug==="read-tool"&&s<P0;if(!i&&(S||A||_||m&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:c||h,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(c||h)&&uc.test(u)){let C=dc(t,l.verbosity??"normal"),B=C===null?s:Buffer.byteLength(C,"utf8");if(C!==null&&B<s)return{output:C,filterId:d.slug,rawBytes:s,filteredBytes:B,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(c||h)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:c||h,...i?{droppedTail:null}:{}};let P=C=>{if(!i)return C.output!==t&&!C.droppedTail?{...C,droppedTail:t}:C;let B=C.filteredBytes>s||s>0&&C.output.length===0?t:C.output,re=!C.debugBypass&&!d?.preserve_exact?ro(B,"minimal",C.filterId??""):B,Ce=to(re)===re?re:to(B);return{...C,output:Ce,filteredBytes:Buffer.byteLength(Ce,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!c&&!h&&!rc(e)){let C=sc(t);if(C!==null)return P({output:C,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(C,"utf8"),debugBypass:!1,droppedTail:null})}if(c||h){let C=i?ur(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?N0(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?_e(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(C=Ks(d.transform,C.split(`
95
+ `).length<=60,_=s<=16384&&p!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Ae(p)),x=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,$=d?.slug==="read-tool"&&s<Gk;if(!i&&(x||$||_||m&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||g,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||g)&&yu.test(c)){let C=_u(t,l.verbosity??"normal"),H=C===null?s:Buffer.byteLength(C,"utf8");if(C!==null&&H<s)return{output:C,filterId:d.slug,rawBytes:s,filteredBytes:H,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||g)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||g,...i?{droppedTail:null}:{}};let I=C=>{if(!i)return C.output!==t&&!C.droppedTail?{...C,droppedTail:t}:C;let H=C.filteredBytes>s||s>0&&C.output.length===0?t:C.output,G=!C.debugBypass&&!d?.preserve_exact?no(H,"minimal",C.filterId??""):H,ge=eo(G)===G?G:eo(H);return{...C,output:ge,filteredBytes:Buffer.byteLength(ge,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!g&&!fu(e)){let C=du(t);if(C!==null)return I({output:C,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(C,"utf8"),debugBypass:!1,droppedTail:null})}if(u||g){let C=i?cr(t,{...d,keep_failures:!0,transform:void 0,max_lines:void 0,truncate_lines_at:void 0,on_empty:void 0},{verbosity:"minimal",smartCode:!1}):d.strip_on_failure&&!d.preserve_exact?Wk(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?we(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(C=Js(d.transform,C.split(`
96
96
  `),e).join(`
97
- `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(C=tc(C)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(C)&&/^={3,} FAILURES ={3,}\r?$/m.test(C)&&(C=C.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let B=!i&&!d.preserve_exact&&s>=I0?eu(C.split(`
97
+ `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(C=cu(C)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(C)&&/^={3,} FAILURES ={3,}\r?$/m.test(C)&&(C=C.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let H=!i&&!d.preserve_exact&&s>=Zk?lc(C.split(`
98
98
  `)).join(`
99
- `):C,re=B.length<C.length;return P({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(B,"utf8"),debugBypass:!0,...re?{droppedTail:t}:{}})}let F={...l,cmd:e,exitCode:o},{text:N,droppedTail:D}=Vs(t,d,i?{...F,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:F),j=!i&&!d.preserve_exact?ro(N,l.verbosity,d.slug):N,ne=d.on_empty&&j===d.on_empty&&!j.endsWith(`
100
- `)?`${j}
101
- `:j,ue=Buffer.byteLength(ne,"utf8"),ce=ne.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||Js(e));return t.trim().length>0&&(ue>=s||ce)?P({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):P({output:ne,filterId:d.slug,rawBytes:s,filteredBytes:ue,debugBypass:!1,droppedTail:D})}var Ec,C0,O0,I0,P0,kr=g(()=>{"use strict";Il();sr();Ys();qs();Uu();eo();Ku();fn();lr();ec();nc();lr();oc();pc();kn();Ec=null;C0=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,O0=2048,I0=8192,P0=32*1024});function D0(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function _r(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>D0())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function wr(e,t=Date.now()){return e.plan}var fo=g(()=>{"use strict"});var vc=g(()=>{"use strict"});import{createHash as LA,createHmac as FA,randomUUID as M0}from"node:crypto";import{readFile as Tc,writeFile as $c,mkdir as L0}from"node:fs/promises";async function po(){try{let n=(await Tc(Zt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await L0(v(),{recursive:!0});let e=M0();try{return await $c(Zt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Tc(Zt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await $c(Zt(),e,{mode:384}),e}}var mo=g(()=>{"use strict";H()});import{readFile as F0,writeFile as UA,mkdir as ZA,chmod as GA,rm as WA,rename as JA,readdir as KA}from"node:fs/promises";import{join as j0}from"node:path";async function Ae(){let e=null;try{let t=JSON.parse(await F0(j0(v(),H0),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...Rc,...e}):Rc}var H0,Rc,XA,Lt=g(()=>{"use strict";He();H();H0="settings-cache.json",Rc=Ct.parse({}),XA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var Ac=g(()=>{"use strict";H();Lt();yn();yr()});import{join as ho}from"node:path";import{appendFileSync as Cc,chmodSync as B0,existsSync as Oc,mkdirSync as z0,readFileSync as f1,renameSync as d1,rmdirSync as p1,statSync as Ic,unlinkSync as m1,utimesSync as h1,writeFileSync as g1}from"node:fs";function go(){return ho(v(),"spool")}function Z0(e){return ho(go(),`${e}.jsonl`)}function W0(e){return ho(go(),`${e}.dropped`)}function J0(e){try{let t=W0(e);if(Oc(t)&&Ic(t).size>=G0)return;Cc(t,".",{mode:384})}catch{return}}function xr(e,t){if(gn())try{z0(go(),{recursive:!0,mode:448});let n=Z0(e);if(Oc(n)&&Ic(n).size>=U0){J0(e);return}Cc(n,JSON.stringify(t)+`
102
- `,{mode:384}),B0(n,384)}catch{return}}var U0,G0,Sr=g(()=>{"use strict";vc();H();Gt();mo();io();Lt();yn();Ac();U0=512*1024;G0=1024*1024});function s_(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Dc.has(n.toLowerCase())?n:""}function o_(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=r_.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Pc(e){let t=e.toLowerCase();return t.startsWith("git")||X0.has(t)}function yo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Y0.test(t[n]??"");)n+=1;let r=s_(t[n]??"");if(!r||!V0.test(r)||r.length>e_)return"";let s=n_.get(r.toLowerCase());if(s)return o_(r.toLowerCase(),s,t.slice(n+1));if(Pc(r)||Q0.test(r)||We(r)!==r)return"";let o=t[n+1];return o&&Pc(o)?"":(o&&Nc.has(r.toLowerCase())&&q0.test(o)?`${r} ${o}`:r).slice(0,64)}function i_(e){return t_.has((e.split(" ")[0]??"").toLowerCase())}async function Er(e){if(!e.telemetryOptIn)return;let t=yo(e.cmd),n=t&&We(t)===t&&i_(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";xr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var V0,q0,Y0,X0,Q0,e_,Nc,Dc,t_,n_,r_,vr=g(()=>{"use strict";Qt();Sr();V0=/^[a-z0-9][a-z0-9._-]*$/i,q0=/^[a-z][a-z-]+$/,Y0=/^[A-Za-z_][A-Za-z0-9_]*=/,X0=new Set(["gh","glab","gup","hub","gist"]),Q0=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,e_=24,Nc=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Dc=new Set([...Nc,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),t_=new Set([...Dc,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),n_=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),r_=new Set(["-C","-c"])});async function Tr(e){if(e.plan!=="pro"||Hu(e.filterId)||!(await Ae()).telemetryOptIn)return;let t=yo(e.cmd);!t||We(t)!==t||xr("learn",{cmd:t,filterId:e.filterId==null?null:te(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var bo=g(()=>{"use strict";vr();Qt();Sr();He();Ys();Lt()});function Mc(e){return e?a_[e]??"anthropic":"anthropic"}var a_,Lc=g(()=>{"use strict";a_={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as l_,chmodSync as u_,mkdirSync as c_,readFileSync as zc,realpathSync as f_,renameSync as Uc,rmSync as Zc,statSync as Gc,writeFileSync as ko}from"node:fs";import{basename as Fc,dirname as Wc,join as $r,resolve as d_,sep as j1}from"node:path";function Jc(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function k_(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&y_.has(n.o)?{o:n.o}:{}}}catch{return null}}function __(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function w_(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function x_(e,t){let n=w_(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function S_(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>g_){e.ox+=1;return}if(__(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):x_(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=Mc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function E_(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Kc(e){return $r(Wc(e),m_)}function v_(e){let t=Kc(e),n;try{n=zc(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...Jc(),...i});return s}catch{try{Uc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Hc(e,t){let n=`${e}.tmp-${process.pid}`;ko(n,t,{mode:384}),Uc(n,e)}function T_(e){try{return ko(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Gc(e).mtimeMs<h_?!1:(Zc(e,{force:!0}),ko(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function $_(e,t=jc,n=jc/2){try{if(Gc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(T_(r))try{let s=zc(e,"utf8").split(`
103
- `).filter(u=>u.trim()!==""),o=s.length,i=0;for(;o>0;){let u=Buffer.byteLength(s[o-1])+1;if(i+u>n)break;i+=u,o-=1}let a=v_(e);for(let u of s.slice(0,o)){let c=k_(u);if(!c)continue;let f=E_(c.t),d=a[f]??Jc();S_(d,c),a[f]=d}let l=s.slice(o);Hc(e,l.length?`${l.join(`
99
+ `):C,G=H.length<C.length;return I({output:H,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(H,"utf8"),debugBypass:!0,...G?{droppedTail:t}:{}})}let D={...l,cmd:e,exitCode:o},{text:L,droppedTail:F}=Ks(t,d,i?{...D,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:D),U=!i&&!d.preserve_exact?no(L,l.verbosity,d.slug):L,Z=d.on_empty&&U===d.on_empty&&!U.endsWith(`
100
+ `)?`${U}
101
+ `:U,ce=Buffer.byteLength(Z,"utf8"),he=Z.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||Ws(e));return t.trim().length>0&&(ce>=s||he)?I({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):I({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:ce,debugBypass:!1,droppedTail:F})}var Iu,Bk,Uk,Zk,Gk,kr=h(()=>{"use strict";Hl();sr();qs();Vs();Yc();Qs();nu();cn();lr();lu();uu();lr();pu();wu();yn();Iu=null;Bk=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Uk=2048,Zk=8192,Gk=32*1024});function Jk(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function _r(e,t=Date.now()){let n=e.lastHeartbeatOkAt;return typeof n=="number"&&t-n>Jk()}var uo=h(()=>{"use strict"});var Pu=h(()=>{"use strict"});import{createHash as e1,createHmac as t1,randomUUID as Kk}from"node:crypto";import{readFile as Nu,writeFile as Du,mkdir as Vk}from"node:fs/promises";async function fo(){try{let n=(await Nu(Ut(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Vk(v(),{recursive:!0,mode:448});let e=Kk();try{return await Du(Ut(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Nu(Ut(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Du(Ut(),e,{mode:384}),e}}var po=h(()=>{"use strict";j()});import{readFile as qk,writeFile as i1,mkdir as a1,chmod as l1,rm as c1,rename as u1,readdir as f1}from"node:fs/promises";import{join as Yk}from"node:path";async function Ce(){let e=null;try{let t=JSON.parse(await qk(Yk(v(),Xk),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?At.parse({...Mu,...e}):Mu}var Xk,Mu,h1,Mt=h(()=>{"use strict";He();j();Xk="settings-cache.json",Mu=At.parse({}),h1=At.partial().extend({filters:At.shape.filters.removeDefault().partial().optional()})});var Lu=h(()=>{"use strict";j();Mt();hn();yr()});import{join as mo}from"node:path";import{appendFileSync as Fu,chmodSync as Qk,existsSync as ju,mkdirSync as e_,readFileSync as R1,renameSync as A1,rmdirSync as C1,statSync as Hu,unlinkSync as O1,utimesSync as I1,writeFileSync as P1}from"node:fs";function ho(){return mo(v(),"spool")}function n_(e){return mo(ho(),`${e}.jsonl`)}function s_(e){return mo(ho(),`${e}.dropped`)}function o_(e){try{let t=s_(e);if(ju(t)&&Hu(t).size>=r_)return;Fu(t,".",{mode:384})}catch{return}}function wr(e,t){if(mn())try{e_(ho(),{recursive:!0,mode:448});let n=n_(e);if(ju(n)&&Hu(n).size>=t_){o_(e);return}Fu(n,JSON.stringify(t)+`
102
+ `,{mode:384}),Qk(n,384)}catch{return}}var t_,r_,xr=h(()=>{"use strict";Pu();j();Zt();po();oo();Mt();hn();Lu();t_=512*1024;r_=1024*1024});function g_(e){if(!/[\\/]/.test(e))return e;let t=e.split(/[\\/]/).filter(r=>r.length>0).pop()??"",n=t.toLowerCase().endsWith(".exe")?t.slice(0,-4):t;return Uu.has(n.toLowerCase())?n:""}function y_(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=h_.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function zu(e){let t=e.toLowerCase();return t.startsWith("git")||u_.has(t)}function go(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&c_.test(t[n]??"");)n+=1;let r=g_(t[n]??"");if(!r||!a_.test(r)||r.length>d_)return"";let s=m_.get(r.toLowerCase());if(s)return y_(r.toLowerCase(),s,t.slice(n+1));if(zu(r)||f_.test(r)||Ge(r)!==r)return"";let o=t[n+1];return o&&zu(o)?"":(o&&Bu.has(r.toLowerCase())&&l_.test(o)?`${r} ${o}`:r).slice(0,64)}function b_(e){return p_.has((e.split(" ")[0]??"").toLowerCase())}async function Sr(e){if(!e.telemetryOptIn)return;let t=go(e.cmd),n=t&&Ge(t)===t&&b_(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";wr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var a_,l_,c_,u_,f_,d_,Bu,Uu,p_,m_,h_,Er=h(()=>{"use strict";Yt();xr();a_=/^[a-z0-9][a-z0-9._-]*$/i,l_=/^[a-z][a-z-]+$/,c_=/^[A-Za-z_][A-Za-z0-9_]*=/,u_=new Set(["gh","glab","gup","hub","gist"]),f_=/^(gh[a-z]_|github_pat_|gl(?:pat|rt|soat|imt|dt|ft|agent|oas)-|npm_|xox|sk-|sk_|eyj|a(?:kia|sia|gpa|ida|roa|npa)|aiza|hv[sb]\.)/i,d_=24,Bu=new Set(["docker","podman","npm","pnpm","yarn","npx","bun","deno","cargo","rustup","go","pip","pip3","uv","poetry","brew","apt","apt-get","dnf","yum","pacman","kubectl","helm","terraform","aws","gcloud","az","systemctl","composer","bundle","gem","dotnet","prisma","tkr","rtk","token"]),Uu=new Set([...Bu,"git","gh","node","python","python3","bash","sh","zsh","psql","mysql","sqlite3","java","ruby","perl","rg","fd","jq","make","gradle","mvn","vitest","jest","tsc","esbuild","vite","webpack","playwright","rails","rake"]),p_=new Set([...Uu,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),m_=new Map([["git",new Set(["status","diff","log","show","blame","ls-files","rev-parse","branch","fetch","pull","push","commit","checkout","switch","merge","rebase","stash","tag","remote","add","reset","restore","clean","grep"])],["gh",new Set(["pr","issue","run","repo","api"])]]),h_=new Set(["-C","-c"])});async function vr(e){if(Kc(e.filterId)||!(await Ce()).telemetryOptIn)return;let t=go(e.cmd);!t||Ge(t)!==t||wr("learn",{cmd:t,filterId:e.filterId==null?null:re(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var yo=h(()=>{"use strict";Er();Yt();xr();He();qs();Mt()});function Zu(e){return e?k_[e]??"anthropic":"anthropic"}var k_,Gu=h(()=>{"use strict";k_={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as __,chmodSync as w_,mkdirSync as x_,readFileSync as qu,realpathSync as S_,renameSync as Yu,rmSync as Xu,statSync as Qu,writeFileSync as bo}from"node:fs";import{basename as Wu,dirname as ef,join as Tr,resolve as E_,sep as nC}from"node:path";function tf(){return{n:0,nc:0,r:0,f:0,or:0,of:0,x:0,sn:0,sr:0,sf:0,mr:0,mf:0,rn:0,rb:0,tn:0,tr:0,tf:0,ox:0,t0:null,t1:null,cmds:{},prov:{},rl:{},fb:{}}}function O_(e){let t=e.trim();if(!t)return null;try{let n=JSON.parse(t);return typeof n.t!="number"||!Number.isFinite(n.t)||n.t<0||n.t>864e10||typeof n.r!="number"||!Number.isSafeInteger(n.r)||n.r<0||typeof n.f!="number"||!Number.isSafeInteger(n.f)||n.f<0||n.r+n.f===0?null:{t:n.t,r:n.r,f:n.f,m:n.m===1,...typeof n.h=="string"?{h:n.h}:{},...typeof n.k=="string"?{k:n.k}:{},...typeof n.c=="string"&&n.c?{c:n.c}:{},...typeof n.p=="string"&&n.p?{p:n.p}:{},...typeof n.s=="string"&&n.s?{s:n.s}:{},...typeof n.o=="string"&&A_.has(n.o)?{o:n.o}:{}}}catch{return null}}function I_(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function P_(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function N_(e,t){let n=P_(t),r=e.rl[n]??{n:0,nc:0,r:0,f:0};if(r.n+=1,r.r+=t.r,r.f+=t.f,t.f<t.r&&(r.nc+=1),e.rl[n]=r,t.f>=t.r&&t.o){let s=`${t.o} ${t.c??""}`,o=e.fb[s]??{n:0,r:0};o.n+=1,o.r+=t.r,e.fb[s]=o}}function D_(e,t){if(t.m){e.mr+=t.r,e.mf+=t.f;return}if(e.t0=e.t0==null?t.t:Math.min(e.t0,t.t),e.t1=e.t1==null?t.t:Math.max(e.t1,t.t),t.k==="sh"&&t.r>R_){e.ox+=1;return}if(I_(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):N_(e,t),e.n+=1,e.or+=t.r,e.of+=t.f,t.f>t.r&&(e.x+=1),t.h==="shell"&&t.k!=="restore"&&(e.tn+=1,e.tr+=t.r,e.tf+=t.f),t.f<t.r){e.nc+=1,e.r+=t.r,e.f+=t.f,t.k==="sh"&&(e.sn+=1,e.sr+=t.r,e.sf+=t.f);let n=Zu(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function M_(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function nf(e){return Tr(ef(e),T_)}function L_(e){let t=nf(e),n;try{n=qu(t,"utf8")}catch{return{}}try{let r=JSON.parse(n);if(!r.days||typeof r.days!="object")throw new Error("invalid ledger");let s={};for(let[o,i]of Object.entries(r.days))!/^\d{4}-\d{2}-\d{2}$/.test(o)||!i||typeof i!="object"||(s[o]={...tf(),...i});return s}catch{try{Yu(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Ku(e,t){let n=`${e}.tmp-${process.pid}`;bo(n,t,{mode:384}),Yu(n,e)}function F_(e){try{return bo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Qu(e).mtimeMs<$_?!1:(Xu(e,{force:!0}),bo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function j_(e,t=Ju,n=Ju/2){try{if(Qu(e).size<=t)return}catch{return}let r=`${e}.lock`;if(F_(r))try{let s=qu(e,"utf8").split(`
103
+ `).filter(c=>c.trim()!==""),o=s.length,i=0;for(;o>0;){let c=Buffer.byteLength(s[o-1])+1;if(i+c>n)break;i+=c,o-=1}let a=L_(e);for(let c of s.slice(0,o)){let u=O_(c);if(!u)continue;let f=M_(u.t),d=a[f]??tf();D_(d,u),a[f]=d}let l=s.slice(o);Ku(e,l.length?`${l.join(`
104
104
  `)}
105
- `:""),Hc(Kc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Zc(r,{force:!0})}}function R_(e){let t=d_(e),n=t,r="";for(;;){try{return $r(f_(n),r)}catch{}let s=Wc(n);if(s===n)return t;r=r?$r(Fc(n),r):Fc(n),n=s}}function Bc(e){return e.length===0||e[0]==="cd"||e.every(t=>Vc.test(t))}function P_(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
106
- `.includes(i)){if(o(),Bc(t)){t=[];continue}return t}n+=i,r=!0}return o(),Bc(t)?[]:t}function ft(e){let t=P_(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Vc.test(a)){n+=1;continue}if(A_.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=C_.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&O_.test(o)&&I_.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function N_(){return $r(v(),p_)}function Rr(e,t,n=N_(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let u=s?`,"h":${JSON.stringify(s)}`:"",c=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?R_(a):"",p=d&&d.length<=b_?`,"p":${JSON.stringify(d)}`:"",b=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",h=l.o?`,"o":${JSON.stringify(l.o)}`:"",m=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${u}${c}${f}${p}${b}${h}}
107
- `;try{c_(v(),{recursive:!0,mode:448}),l_(n,m,{mode:384}),u_(n,384),$_(n)}catch{return}}function Ar(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Cr(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var p_,m_,jc,h_,g_,y_,b_,A_,C_,O_,I_,Vc,_o=g(()=>{"use strict";H();Sr();Lc();p_="stats.jsonl",m_="stats-ledger.json",jc=2*1024*1024,h_=3e4,g_=3e4,y_=new Set(["n","g","e"]),b_=256;A_=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),C_=new Set(["-u","-g","-n","-s","-k"]),O_=/^[a-z0-9][a-z0-9._-]*$/i,I_=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),Vc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as q1,realpathSync as D_}from"node:fs";import{basename as X1,delimiter as qc,join as Q1,dirname as eC}from"node:path";function Yc(e){try{return D_(e)}catch{return e}}function Xc(){let e=vn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Yc(e),o=r.split(qc).filter(i=>i&&i!==e&&Yc(i)!==s);return t[n]=o.join(qc),n==="Path"&&(t.PATH=t[n]),t}var Qc=g(()=>{"use strict";Wt();Ie();H();Fn();ht();$n();ht()});function wo(e){return JSON.stringify(e)+Or}function*tf(e){let t=0;for(;;){let n=e.indexOf(Or,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function _n(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var M_,L_,F_,j_,fC,dC,pC,ef,Or,mC,nf=g(()=>{"use strict";Rt();cn();M_=k.object({id:k.string().min(1).max(64),op:k.literal("filter"),cmd:k.string().min(1).max(2048),plan:k.enum(["trial","smart","pro"]),allowed:k.array(k.string().min(1).max(64)).max(512).optional(),installId:k.string().min(1).max(64).optional()}),L_=k.object({id:k.string().min(1).max(64),op:k.literal("ping")}),F_=k.object({id:k.string().min(1).max(64),op:k.literal("shutdown"),installId:k.string().min(1).max(64)}),j_=k.object({id:k.string().min(1).max(64),op:k.literal("reload"),installId:k.string().min(1).max(64).optional()}),fC=k.discriminatedUnion("op",[M_,L_,F_,j_]),dC=k.object({id:k.string(),ok:k.literal(!0),data:k.unknown()}),pC=k.object({id:k.string(),ok:k.literal(!1),err:k.string(),retryAfterMs:k.number().int().nonnegative().optional()}),ef=k.object({filter:je.nullable(),cacheHit:k.boolean().optional()}),Or=`
108
- `,mC=64*1024});import H_ from"node:os";import{join as wn}from"node:path";import{existsSync as B_,statSync as z_,lstatSync as rf,unlinkSync as U_,mkdirSync as Z_,chmodSync as G_}from"node:fs";import{createHash as W_}from"node:crypto";function J_(e){let t=W_("sha256").update(v()).digest("hex").slice(0,8),n=wn(H_.tmpdir(),`tkr-${e}-${t}`),r=wn(n,"d.sock");if(Buffer.byteLength(r)>xo)throw new Error("Temporary directory path is too long for IPC");return sf(n,e),r}function K_(e,t){try{let n=rf(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function sf(e,t){Z_(e,{recursive:!0,mode:448});let n=rf(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");G_(e,448)}function xn(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&K_(t,e)){let s=wn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=xo)return{path:s,isPipe:!1}}let n=wn(v(),"run"),r=wn(n,"daemon.sock");return Buffer.byteLength(r)>xo?{path:J_(e),isPipe:!1}:(sf(n,e),{path:r,isPipe:!1})}async function So(){let{path:e,isPipe:t}=xn();if(t||!B_(e))return;try{if(!z_(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{U_(e)}catch{}}var xo,wC,of=g(()=>{"use strict";H();xo=100;wC=5*6e4});import{createConnection as V_}from"node:net";import{spawn as q_}from"node:child_process";import{existsSync as uf,openSync as Eo,closeSync as af,unlinkSync as To,writeFileSync as $o,mkdirSync as Ro,readFileSync as Y_,appendFileSync as X_,rmSync as Q_,statSync as ew}from"node:fs";import{dirname as tw,join as Ao}from"node:path";import{fileURLToPath as nw}from"node:url";function Co(){return Ao(v(),"daemon.spawn.fail")}function Oo(){return Ao(v(),"daemon.log")}function iw(){try{let e=Number(Y_(Co(),"utf8"));return Number.isFinite(e)&&Date.now()-e<sw}catch{return!1}}function aw(e){try{Ro(v(),{recursive:!0});let t=Oo();try{ew(t).size>ow&&To(t)}catch{}X_(t,`${new Date().toISOString()} ${e}
109
- `)}catch{}}function lw(e){try{Ro(v(),{recursive:!0}),$o(Co(),String(Date.now()))}catch{}aw(`spawn failed: ${e.message}`)}function uw(){try{Q_(Co(),{force:!0})}catch{}}async function Ir(e,t){return new Promise((n,r)=>{let s=V_(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function cw(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:nw(new URL("../bin/tkr-daemon.js",import.meta.url))}async function vo(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Ir(e,75)).destroy(),!0}catch{}else if(uf(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function fw(e){let t=cw();if(!xe()&&!uf(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=xn(),r=process.platform==="win32"?v():tw(n);try{Ro(r,{recursive:!0})}catch{}let s=Ao(r,"daemon.spawn.lock"),o=null;try{o=Eo(s,"wx"),$o(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await vo(n,5e3))return;try{To(s)}catch{}try{o=Eo(s,"wx"),$o(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await vo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Eo(Oo(),"a")}catch{}let[a,...l]=Jt(t);if(q_(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{af(i)}catch{}if(!await vo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{af(o)}catch{}try{To(s)}catch{}}}}async function dw(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:xn(),n=await po();try{let r=await Ir(t,cf);r.write(wo({id:_n(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function pw(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Ir(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Io(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:xn(),n=await po(),r=null,s=0,o=!1;for(;s<=lf;)try{r=await Ir(t,cf),uw();break}catch{if(s+=1,s>lf)throw new Error(`tkr-daemon unreachable at ${t}`);if(iw())throw new Error(`tkr-daemon spawn on cooldown (see ${Oo()})`);await So();try{await fw(n),o=!0}catch(c){throw lw(c),c}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",c=>{a+=c;let f=-1;for(let p=0;p<a.length;p++)a[p]===Or&&(f=p);if(f<0)return;let d=[];for(let p of tf(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let b=JSON.parse(p),h=i.get(b.id);if(!h)continue;clearTimeout(h.timer),i.delete(b.id),h.resolve(b)}catch{}}),r.on("close",()=>{for(let c of i.values())clearTimeout(c.timer),c.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(c){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(c.id),d(new Error(`daemon request timeout (${c.op})`))},rw);i.set(c.id,{resolve:f,reject:d,timer:p}),r.write(wo(c))})}let u={filter:async(c,f,d)=>{let p=await l({id:_n(),op:"filter",cmd:c.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)return null;let b=ef.safeParse(p.data);return b.success?b.data.filter:null},ping:async()=>{let c=await l({id:_n(),op:"ping"});if(!c.ok)throw new Error(c.err);return c.data},reload:async()=>{let c=await l({id:_n(),op:"reload",installId:n});if(!c.ok)throw new Error(c.err);return c.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let c=!1;try{let f=await u.ping();if(f.version&&mc(hn,f.version))throw new Error(`newer daemon ${f.version} already running`);c=f.version!==hn}catch(f){throw u.close(),f}if(c){try{await dw(e.socketPath?{socketPath:e.socketPath}:{})}catch{}u.close();let f=await pw(t,2e3);if(await So(),!f)throw new Error("stale daemon still running after shutdown request");return Io({...e,skipVersionCheck:!0})}}return u}var cf,rw,lf,sw,ow,ff=g(()=>{"use strict";nf();of();H();Ie();mo();yr();cf=500,rw=3e3,lf=1,sw=6e4,ow=256*1024});async function mw(){if(Ft)return Ft;if(Sn)return Sn;let e=Io().then(t=>{if(Sn===e)return Ft=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Sn=e,e}async function hw(){return No||(No=!0,Po=await xc()??br()),Po}async function df(e,t,n){let r=await hw();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(te(s.slug))?null:s}function gw(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Pr(e){co(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Dt(void 0),o=await mw();if(!o)return df(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(te(i.slug))?null:gw(i)}catch{return df(t,r,s)}})}function Nr(){if(co(null),Ft)try{Ft.close()}catch{}Ft=null,Sn=null,Po=null,No=!1}var Ft,Sn,Po,No,Do=g(()=>{"use strict";ff();kr();He();uo();kn();Ft=null,Sn=null;Po=null,No=!1});import{chmod as kf,mkdir as yw,readFile as UC,writeFile as pf,stat as ZC,readdir as GC,rm as mf,rename as bw}from"node:fs/promises";import{existsSync as kw,readFileSync as _w,realpathSync as ww}from"node:fs";import{createHash as xw}from"node:crypto";import{dirname as hf,join as Sw,resolve as gf}from"node:path";function xf(){try{let e=JSON.parse(_w(ei(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function Rw(){let e=xf().maxAgeDays;return e?e*_f:Ew}function Dr(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Sf(e=process.env){return{maxAgeMs:Dr("TOKMIZER_CCR_MAX_AGE_MS",Rw(),e),maxBytes:Dr("TOKMIZER_CCR_DIR_CAP_BYTES",vw,e),entryMaxBytes:Dr("TOKMIZER_CCR_ENTRY_MAX_BYTES",wf,e)}}function Aw(e){return`${Ur(e)}${$w}`}async function yf(e){await yw(e,{recursive:!0,mode:448});try{await kf(e,448)}catch{}}function Cw(e=process.cwd()){let t;try{t=ww(gf(e))}catch{t=gf(e)}for(let n=t;;n=hf(n)){if(kw(Sw(n,".git")))return n;if(hf(n)===n)return t}}function Ow(e){return e===""?[]:(e.endsWith(`
105
+ `:""),Ku(nf(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Xu(r,{force:!0})}}function H_(e){let t=E_(e),n=t,r="";for(;;){try{return Tr(S_(n),r)}catch{}let s=ef(n);if(s===n)return t;r=r?Tr(Wu(n),r):Wu(n),n=s}}function Vu(e){return e.length===0||e[0]==="cd"||e.every(t=>rf.test(t))}function G_(e){let t=[],n="",r=!1,s=null,o=()=>{r&&t.push(n),n="",r=!1};for(let i of e){if(s){i===s?s=null:n+=i;continue}if(i==="'"||i==='"'){s=i,r=!0;continue}if(i===" "||i===" "){o();continue}if(`|;&<>
106
+ `.includes(i)){if(o(),Vu(t)){t=[];continue}return t}n+=i,r=!0}return o(),Vu(t)?[]:t}function ut(e){let t=G_(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(rf.test(a)){n+=1;continue}if(z_.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=B_.has(l)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(l)){n+=1;continue}break}continue}break}if(n>=t.length)return"";let r=t[n],s=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,o=t[n+1];return(o&&!o.startsWith("-")&&U_.test(o)&&Z_.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function W_(){return Tr(v(),v_)}function $r(e,t,n=W_(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let c=s?`,"h":${JSON.stringify(s)}`:"",u=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?H_(a):"",p=d&&d.length<=C_?`,"p":${JSON.stringify(d)}`:"",b=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",g=l.o?`,"o":${JSON.stringify(l.o)}`:"",m=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${p}${b}${g}}
107
+ `;try{x_(v(),{recursive:!0,mode:448}),__(n,m,{mode:384}),w_(n,384),j_(n)}catch{return}}function Rr(e){let t=e.filterId==null?void 0:e.filterId.startsWith("user/")?`u:${e.filterId.slice(5)}`:"b",n=e.filteredBytes<e.rawBytes?void 0:e.filterId==null?"n":e.debugBypass?"e":"g";return{...t?{s:t}:{},...n?{o:n}:{}}}function Ar(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var v_,T_,Ju,$_,R_,A_,C_,z_,B_,U_,Z_,rf,ko=h(()=>{"use strict";j();xr();Gu();v_="stats.jsonl",T_="stats-ledger.json",Ju=2*1024*1024,$_=3e4,R_=3e4,A_=new Set(["n","g","e"]),C_=256;z_=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),B_=new Set(["-u","-g","-n","-s","-k"]),U_=/^[a-z0-9][a-z0-9._-]*$/i,Z_=new Set(["git","npm","pnpm","yarn","npx","docker","kubectl","helm","cargo","go","brew","gh","pip","pip3","apt","apt-get","systemctl","terraform","aws","gcloud","az","bundle","rake","rails","prisma","poetry","uv","gem","composer"]),rf=/^[A-Za-z_][A-Za-z0-9_]*=/});import{existsSync as pC,realpathSync as J_}from"node:fs";import{basename as hC,delimiter as sf,join as gC,dirname as yC}from"node:path";function of(e){try{return J_(e)}catch{return e}}function af(){let e=Sn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=of(e),o=r.split(sf).filter(i=>i&&i!==e&&of(i)!==s);return t[n]=o.join(sf),n==="Path"&&(t.PATH=t[n]),t}var lf=h(()=>{"use strict";Gt();Ie();j();Ln();mt();vn();mt()});function _o(e){return JSON.stringify(e)+Cr}function*uf(e){let t=0;for(;;){let n=e.indexOf(Cr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function bn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var K_,V_,q_,Y_,RC,AC,CC,cf,Cr,OC,ff=h(()=>{"use strict";$t();ln();K_=k.object({id:k.string().min(1).max(64),op:k.literal("filter"),cmd:k.string().min(1).max(2048),plan:k.enum(["trial","smart","pro"]),allowed:k.array(k.string().min(1).max(64)).max(512).optional(),installId:k.string().min(1).max(64).optional()}),V_=k.object({id:k.string().min(1).max(64),op:k.literal("ping")}),q_=k.object({id:k.string().min(1).max(64),op:k.literal("shutdown"),installId:k.string().min(1).max(64)}),Y_=k.object({id:k.string().min(1).max(64),op:k.literal("reload"),installId:k.string().min(1).max(64).optional()}),RC=k.discriminatedUnion("op",[K_,V_,q_,Y_]),AC=k.object({id:k.string(),ok:k.literal(!0),data:k.unknown()}),CC=k.object({id:k.string(),ok:k.literal(!1),err:k.string(),retryAfterMs:k.number().int().nonnegative().optional()}),cf=k.object({filter:je.nullable(),cacheHit:k.boolean().optional()}),Cr=`
108
+ `,OC=64*1024});import X_ from"node:os";import{join as kn}from"node:path";import{existsSync as Q_,statSync as ew,lstatSync as df,unlinkSync as tw,mkdirSync as nw,chmodSync as rw}from"node:fs";import{createHash as sw}from"node:crypto";function ow(e){let t=sw("sha256").update(v()).digest("hex").slice(0,8),n=kn(X_.tmpdir(),`tkr-${e}-${t}`),r=kn(n,"d.sock");if(Buffer.byteLength(r)>wo)throw new Error("Temporary directory path is too long for IPC");return pf(n,e),r}function iw(e,t){try{let n=df(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function pf(e,t){nw(e,{recursive:!0,mode:448});let n=df(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");rw(e,448)}function _n(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let e=typeof process.getuid=="function"?process.getuid():0,t=process.env.XDG_RUNTIME_DIR;if(t&&iw(t,e)){let s=kn(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=wo)return{path:s,isPipe:!1}}let n=kn(v(),"run"),r=kn(n,"daemon.sock");return Buffer.byteLength(r)>wo?{path:ow(e),isPipe:!1}:(pf(n,e),{path:r,isPipe:!1})}async function xo(){let{path:e,isPipe:t}=_n();if(t||!Q_(e))return;try{if(!ew(e).isSocket())return}catch{return}let n=await import("node:net");if(!await new Promise(s=>{let o=n.createConnection(e),i=a=>{o.removeAllListeners();try{o.destroy()}catch{}s(a)};o.once("connect",()=>i(!0)),o.once("error",a=>{let l=a.code;i(l!=="ECONNREFUSED"&&l!=="ENOENT")}),setTimeout(()=>i(!0),250)}))try{tw(e)}catch{}}var wo,FC,mf=h(()=>{"use strict";j();wo=100;FC=5*6e4});import{createConnection as aw}from"node:net";import{spawn as lw}from"node:child_process";import{existsSync as yf,openSync as So,closeSync as hf,unlinkSync as vo,writeFileSync as To,mkdirSync as $o,readFileSync as bf,appendFileSync as cw,rmSync as uw,statSync as kf}from"node:fs";import{dirname as fw,join as Ro}from"node:path";import{fileURLToPath as dw}from"node:url";function Ao(){return Ro(v(),"daemon.spawn.fail")}function Co(){return Ro(v(),"daemon.log")}function gw(){try{let e=Number(bf(Ao(),"utf8"));return Number.isFinite(e)&&Date.now()-e<mw}catch{return!1}}function yw(e){try{$o(v(),{recursive:!0,mode:448});let t=Co();try{kf(t).size>hw&&vo(t)}catch{}cw(t,`${new Date().toISOString()} ${e}
109
+ `,{mode:384})}catch{}}function bw(e){try{$o(v(),{recursive:!0,mode:448}),To(Ao(),String(Date.now()),{mode:384})}catch{}yw(`spawn failed: ${e.message}`)}function kw(){try{uw(Ao(),{force:!0})}catch{}}async function Or(e,t){return new Promise((n,r)=>{let s=aw(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function _w(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:dw(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Eo(e,t=3e3){let n=Math.ceil(t/75),r=process.platform==="win32";for(let s=0;s<n;s++){if(r)try{return(await Or(e,75)).destroy(),!0}catch{}else if(yf(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}function ww(e,t=Date.now()){try{if(t-kf(e).mtimeMs>1e4)return!0;let r=Number(bf(e,"utf8").trim());if(!Number.isInteger(r)||r<=0)return!1;try{return process.kill(r,0),!1}catch(s){return s.code==="ESRCH"}}catch{return!1}}async function xw(e){let t=_w();if(!Se()&&!yf(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=_n(),r=process.platform==="win32"?v():fw(n);try{$o(r,{recursive:!0,mode:448})}catch{}let s=Ro(r,"daemon.spawn.lock"),o=null;try{o=So(s,"wx"),To(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(!ww(s)&&await Eo(n,5e3))return;try{vo(s)}catch{}try{o=So(s,"wx"),To(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Eo(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=So(Co(),"a",384)}catch{}let[a,...l]=Wt(t);if(lw(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{hf(i)}catch{}if(!await Eo(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{hf(o)}catch{}try{vo(s)}catch{}}}}async function Sw(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_n(),n=await fo();try{let r=await Or(t,_f);r.write(_o({id:bn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Ew(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Or(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Oo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:_n(),n=await fo(),r=null,s=0,o=!1;for(;s<=gf;)try{r=await Or(t,_f),kw();break}catch{if(s+=1,s>gf)throw new Error(`tkr-daemon unreachable at ${t}`);if(gw())throw new Error(`tkr-daemon spawn on cooldown (see ${Co()})`);await xo();try{await xw(n),o=!0}catch(u){throw bw(u),u}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",u=>{a+=u;let f=-1;for(let p=0;p<a.length;p++)a[p]===Cr&&(f=p);if(f<0)return;let d=[];for(let p of uf(a.slice(0,f+1)))d.push(p);a=a.slice(f+1);for(let p of d)if(p)try{let b=JSON.parse(p),g=i.get(b.id);if(!g)continue;clearTimeout(g.timer),i.delete(b.id),g.resolve(b)}catch{}}),r.on("close",()=>{for(let u of i.values())clearTimeout(u.timer),u.reject(new Error("daemon socket closed"));i.clear()}),r.on("error",()=>{});function l(u){return new Promise((f,d)=>{if(r.destroyed||!r.writable){d(new Error("daemon socket closed"));return}let p=setTimeout(()=>{i.delete(u.id),d(new Error(`daemon request timeout (${u.op})`))},pw);i.set(u.id,{resolve:f,reject:d,timer:p}),r.write(_o(u))})}let c={filter:async(u,f,d)=>{let p=await l({id:bn(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!p.ok)throw new Error(p.err);let b=cf.safeParse(p.data);return b.success?b.data.filter:null},ping:async()=>{let u=await l({id:bn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:bn(),op:"reload",installId:n});if(!u.ok)throw new Error(u.err);return u.data},close:()=>{try{r.destroy()}catch{}}};if(!e.skipVersionCheck&&!o){let u=!1;try{let f=await c.ping();if(f.version&&xu(pn,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==pn}catch(f){throw c.close(),f}if(u){try{await Sw(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await Ew(t,2e3);if(await xo(),!f)throw new Error("stale daemon still running after shutdown request");return Oo({...e,skipVersionCheck:!0})}}return c}var _f,pw,gf,mw,hw,wf=h(()=>{"use strict";ff();mf();j();Ie();po();yr();_f=500,pw=3e3,gf=1,mw=6e4,hw=256*1024});async function vw(){if(Lt)return Lt;if(wn)return wn;let e=Oo().then(t=>{if(wn===e)return Lt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return wn=e,e}async function Tw(){return Po||(Po=!0,Io=await Cu()??br()),Io}async function xf(e,t,n){let r=await Tw();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(re(s.slug))?null:s}function $w(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Ir(){co(async(e,t)=>{let r=t??Nt(void 0),s=await vw();if(!s)return xf(e,"pro",r);try{let o=await s.filter(e,"pro",r?[...r]:void 0);return!o||r&&!r.has(re(o.slug))?null:$w(o)}catch{return xf(e,"pro",r)}})}function Pr(){if(co(null),Lt)try{Lt.close()}catch{}Lt=null,wn=null,Io=null,Po=!1}var Lt,wn,Io,Po,No=h(()=>{"use strict";wf();kr();He();lo();yn();Lt=null,wn=null;Io=null,Po=!1});import{chmod as Af,mkdir as Rw,readFile as iO,writeFile as Sf,stat as aO,readdir as lO,rm as Ef,rename as Aw}from"node:fs/promises";import{existsSync as Cw,readFileSync as Ow,realpathSync as Iw}from"node:fs";import{createHash as Pw}from"node:crypto";import{dirname as vf,join as Nw,resolve as Tf}from"node:path";function If(){try{let e=JSON.parse(Ow(ti(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function jw(){let e=If().maxAgeDays;return e?e*Cf:Dw}function Nr(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Pf(e=process.env){return{maxAgeMs:Nr("TOKMIZER_CCR_MAX_AGE_MS",jw(),e),maxBytes:Nr("TOKMIZER_CCR_DIR_CAP_BYTES",Mw,e),entryMaxBytes:Nr("TOKMIZER_CCR_ENTRY_MAX_BYTES",Of,e)}}function Hw(e){return`${Br(e)}${Fw}`}async function $f(e){await Rw(e,{recursive:!0,mode:448});try{await Af(e,448)}catch{}}function zw(e=process.cwd()){let t;try{t=Iw(Tf(e))}catch{t=Tf(e)}for(let n=t;;n=vf(n)){if(Cw(Nw(n,".git")))return n;if(vf(n)===n)return t}}function Bw(e){return e===""?[]:(e.endsWith(`
110
110
  `)?e.slice(0,-1):e).split(`
111
- `)}async function Iw(e,t,n=process.env,r={}){if(de()||!Tw.test(e))return!1;t=jn(t);let s=Buffer.byteLength(t,"utf8");if(s>Dr("TOKMIZER_CCR_ENTRY_MAX_BYTES",wf,n))return!1;let o=Ur(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await yf(v()),await yf(zr()),de())return!1;if(await pf(i,t,{mode:384}),await kf(i,384),de())return await mf(i,{force:!0}),!1;await bw(i,o)}catch{try{await mf(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Ow(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:Cw(r.cwd)};try{await pf(Aw(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Ef(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||de()||xf().disabled===!0}function we(e,t){let n=e.replace(Pw,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
112
- `).map(o=>o.replace(/\r$/,"")).filter(o=>bf.test(o)),s=o=>{if(r==null)return!1;let i=Nw.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
113
- `).map(o=>bf.test(o)&&!s(o)?`> ${o}`:o).join(`
114
- `)}function vf(e,t,n){let r=Sf(n).entryMaxBytes,s=e===""||e.endsWith(`
111
+ `)}async function Uw(e,t,n=process.env,r={}){if(de()||!Lw.test(e))return!1;t=Fn(t);let s=Buffer.byteLength(t,"utf8");if(s>Nr("TOKMIZER_CCR_ENTRY_MAX_BYTES",Of,n))return!1;let o=Br(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await $f(v()),await $f(zr()),de())return!1;if(await Sf(i,t,{mode:384}),await Af(i,384),de())return await Ef(i,{force:!0}),!1;await Aw(i,o)}catch{try{await Ef(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Bw(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:zw(r.cwd)};try{await Sf(Hw(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Nf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||de()||If().disabled===!0}function xe(e,t){let n=e.replace(Zw,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
112
+ `).map(o=>o.replace(/\r$/,"")).filter(o=>Rf.test(o)),s=o=>{if(r==null)return!1;let i=Gw.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
113
+ `).map(o=>Rf.test(o)&&!s(o)?`> ${o}`:o).join(`
114
+ `)}function Df(e,t,n){let r=Pf(n).entryMaxBytes,s=e===""||e.endsWith(`
115
115
  `)?"":`
116
116
  `,o=i=>`${Math.ceil(i/(1024*1024))} MB`;return`${s}[tkr: full output too large to keep (${o(t)} > ${o(r)} limit), no restore available]
117
- `}function Tf(e,t){let n=Buffer.byteLength(e,"utf8");return n>Sf(t).entryMaxBytes?n:null}async function Mo(e,t,n,r){let s=xw("sha256").update(e).digest("hex").slice(0,16);return await Iw(s,e,r,{partial:t,label:n})?s:null}function $f(e,t){return`${e===""||e.endsWith(`
117
+ `}function Ww(e){return`${e===""||e.endsWith(`
118
+ `)?"":`
119
+ `}[tkr: the full output could not be saved, no restore available]
120
+ `}function Mf(e,t){let n=Buffer.byteLength(e,"utf8");return n>Pf(t).entryMaxBytes?n:null}async function Do(e,t,n,r){let s=Pw("sha256").update(e).digest("hex").slice(0,16);return await Uw(s,e,r,{partial:t,label:n})?s:null}function Lf(e,t){return`${e===""||e.endsWith(`
118
121
  `)?"":`
119
122
  `}[tkr restore ${t}]
120
- `}async function jt(e,t,n=process.env,r={}){if(t=we(t,r.raw),Ef(n)||!e)return t;let s=a=>$f(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await Mo(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await Mo(e,!0,r.label,n);if(o)return`${t}${s(o)}`;let i=Tf(r.raw||e,n);return i&&!de()?`${t}${vf(t,i,n)}`:t}async function Mr(e,t,n=process.env,r={}){if(t=we(t,e),Ef(n)||!e)return t;let s=await Mo(e,!1,r.label,n);if(s)return`${t}${$f(t,s)}`;let o=Tf(e,n);return o&&!de()?`${t}${vf(t,o,n)}`:t}var _f,Ew,vw,wf,Tw,$w,QC,Pw,bf,Nw,Lo=g(()=>{"use strict";Qt();zn();H();Bn();_f=1440*60*1e3,Ew=30*_f,vw=200*1024*1024,wf=8*1024*1024,Tw=/^[0-9a-f]{8,64}$/i,$w=".meta",QC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
121
- `);Pw=/^(?=\[tkr |\[tokmizer\])/gm,bf=/^\[(?:tkr:|same output as )/,Nw=[e=>e===yt,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)]});var Lf={};zt(Lf,{CAPTURING_ENV:()=>Ho,POST_EXIT_IDLE_MS:()=>Of,POST_EXIT_MAX_MS:()=>If,commandLine:()=>Df,kickBackgroundEnroll:()=>Pf,processCapturedOutput:()=>Mf,resolveExecTimeoutMs:()=>Nf,runWrapped:()=>Kw,signalNumber:()=>Fo,underCapturingExec:()=>Uw});import{existsSync as Rf,readFileSync as Dw,writeFileSync as Mw,mkdirSync as Lw}from"node:fs";import{join as Fw}from"node:path";import{constants as jw}from"node:os";import{fileURLToPath as Hw}from"node:url";import{StringDecoder as Bw}from"node:string_decoder";function Uw(e=process.env){return e[Ho]==="1"}function Cf(e,t){let n=new Bw("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Pf(){try{if(!gn()||!Rf(bc()))return;let e=process.env.TOKMIZER_TKR_BIN||Hw(new URL("../bin/tkr.js",import.meta.url));if(!xe()&&!Rf(e))return;let t=Fw(v(),"enroll-kick");try{let o=Number(Dw(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<zw)return}catch{}Lw(v(),{recursive:!0}),Mw(t,String(Date.now()));let[n,...r]=Jt(e);(0,jo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function Nf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function Fo(e){return jw.signals[e]??Gw[e]??15}function Df(e){return e.map(t=>Ww.test(t)?t:Tn(t)).join(" ")}function Jw(e){let t=mn(e);if(t===null)return!1;let[n,...r]=Re(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function Kw(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=de(),s=(0,jo.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Xc(),[Ho]:"1"},windowsHide:!0}),o=!1;s.on("spawn",()=>{o=!0});let i=N=>{try{s.kill(N)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let u=[],c=[],f=0,d=0,p=!1,b=!1;s.stdout?.on("data",N=>{if(f>=Ht){p=!0;return}let D=Ht-f,j=N.length>D?N.subarray(0,D):N;u.push(j),f+=j.length,N.length>D&&(p=!0)}),s.stderr?.on("data",N=>{if(d>=Ht){b=!0;return}let D=Ht-d,j=N.length>D?N.subarray(0,D):N;c.push(j),d+=j.length,N.length>D&&(b=!0)});let h,m,_,S,A;try{A=await new Promise((N,D)=>{s.on("error",C=>{h&&clearTimeout(h),o?N(1):D(C)});let j=null,ne=()=>{j!=null&&(h&&clearTimeout(h),_&&clearTimeout(_),S&&clearTimeout(S),N(j))},ue=()=>{s.stdout?.destroy(),s.stderr?.destroy(),ne()},ce=()=>{_&&clearTimeout(_),_=setTimeout(ue,Of)};s.on("exit",(C,B)=>{h&&clearTimeout(h),m&&clearTimeout(m),j=C??(B?128+Fo(B):0),ce(),S=setTimeout(ue,If),s.stdout?.on("data",ce),s.stderr?.on("data",ce)}),s.on("close",(C,B)=>{j==null&&(j=C??(B?128+Fo(B):0)),ne()}),h=setTimeout(()=>{s.kill("SIGTERM"),m=setTimeout(()=>s.kill("SIGKILL"),2e3)},Zw),h.unref?.()})}finally{h&&clearTimeout(h),m&&clearTimeout(m),_&&clearTimeout(_),S&&clearTimeout(S),process.off("SIGINT",a),process.off("SIGTERM",l)}let P=Cf(u,p),F=Cf(c,b);return Mf({argv:e,stdout:P,stderr:F,exitCode:A,truncated:p,stderrTruncated:b},{yolo:r,env:process.env,onMissingState:Pf})}async function Mf({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:u,deferAccounting:c,...f}){let d=s?`
122
- \u2026 (output truncated at ${Ht/1048576}MB)`:"",p=o?`
123
- \u2026 (stderr truncated at ${Ht/(1024*1024)}MB)`:"",b=()=>{let h=t+d,m=Buffer.byteLength(h,"utf8");return{stdout:h,stderr:n+p,code:r,filterId:null,rawBytes:m,filteredBytes:m,truncated:s}};try{let h=await Ue();h||u?.();let m=await Ae();if(!m.enabled)return b();let _=a.CLAUDE_CODE_SESSION_ID;_&&h?.token&&Hn(_,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let S=h?wr(h):null,A=h?Dt(h.allowedFilters,_r(h)):null,P=new Set(m.filters.disabled.map(te)),F=A&&P.size>0?new Set([...A].filter(O=>!P.has(O))):A,N=Df(e);h&&!l&&Pr(S);let D=await Mt(N,t,F,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r}),j=we(n,n),ne=0,ue=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:Af)){let O=await Mt(N,n,F,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(j=we(O.output,n),!i&&O.output!==n)try{j=await jt(O.droppedTail??null,O.output,a,{raw:o?null:n,label:ft(N)})}catch{}ne=O.rawBytes,ue=O.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=Af){let O=await Mt(N,n,F,{verbosity:m.outputVerbosity,resolver:l,exitCode:r});if(O.failureSummary){try{j=await jt(O.droppedTail??null,O.output,a)}catch{j=we(O.output,n)}ne=O.rawBytes,ue=O.filteredBytes}}let C=!i&&D.output!==t&&Jw(N)?`${D.output}${D.output.endsWith(`
123
+ `}async function Ft(e,t,n=process.env,r={}){if(t=xe(t,r.raw),Nf(n)||!e)return t;let s=a=>Lf(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await Do(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await Do(e,!0,r.label,n);if(o)return`${t}${s(o)}`;if(de())return t;let i=Mf(r.raw||e,n);return i?`${t}${Df(t,i,n)}`:r.raw??`${t}${Ww(t)}`}async function Dr(e,t,n=process.env,r={}){if(t=xe(t,e),Nf(n)||!e)return t;let s=await Do(e,!1,r.label,n);if(s)return`${t}${Lf(t,s)}`;if(de())return t;let o=Mf(e,n);return o?`${t}${Df(t,o,n)}`:e}var Cf,Dw,Mw,Of,Lw,Fw,gO,Zw,Rf,Gw,Mo=h(()=>{"use strict";Yt();Bn();j();zn();Cf=1440*60*1e3,Dw=30*Cf,Mw=200*1024*1024,Of=8*1024*1024,Lw=/^[0-9a-f]{8,64}$/i,Fw=".meta",gO=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
124
+ `);Zw=/^(?=\[tkr |\[tokmizer\])/gm,Rf=/^\[(?:tkr:|same output as )/,Gw=[e=>e===gt,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)]});var Ho={};zt(Ho,{CAPTURING_ENV:()=>jo,POST_EXIT_IDLE_MS:()=>zf,POST_EXIT_MAX_MS:()=>Bf,commandLine:()=>Gf,kickBackgroundEnroll:()=>Uf,processCapturedOutput:()=>Wf,resolveExecTimeoutMs:()=>Zf,runWrapped:()=>ix,signalNumber:()=>Lo,underCapturingExec:()=>tx});import{existsSync as Ff,readFileSync as Jw,writeFileSync as Kw,mkdirSync as Vw}from"node:fs";import{join as qw}from"node:path";import{constants as Yw}from"node:os";import{fileURLToPath as Xw}from"node:url";import{StringDecoder as Qw}from"node:string_decoder";function tx(e=process.env){return e[jo]==="1"}function Hf(e,t){let n=new Qw("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Uf(){try{if(!mn()||!Ff(Tu()))return;let e=process.env.TOKMIZER_TKR_BIN||Xw(new URL("../bin/tkr.js",import.meta.url));if(!Se()&&!Ff(e))return;let t=qw(v(),"enroll-kick");try{let o=Number(Jw(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<ex)return}catch{}Vw(v(),{recursive:!0,mode:448}),Kw(t,String(Date.now()));let[n,...r]=Wt(e);(0,Fo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function Zf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function Lo(e){return Yw.signals[e]??rx[e]??15}function Gf(e){return e.map(t=>sx.test(t)?t:En(t)).join(" ")}function ox(e){let t=dn(e);if(t===null)return!1;let[n,...r]=Ae(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function ix(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=de(),s={...af(),[jo]:"1"},o=(0,Fo.default)(wl(t,s),n,{stdio:["inherit","pipe","pipe"],env:s,windowsHide:!0}),i=!1;o.on("spawn",()=>{i=!0});let a=F=>{try{o.kill(F)}catch{}},l=()=>a("SIGINT"),c=()=>a("SIGTERM");process.on("SIGINT",l),process.on("SIGTERM",c);let u=[],f=[],d=0,p=0,b=!1,g=!1;o.stdout?.on("data",F=>{if(d>=jt){b=!0;return}let U=jt-d,Z=F.length>U?F.subarray(0,U):F;u.push(Z),d+=Z.length,F.length>U&&(b=!0)}),o.stderr?.on("data",F=>{if(p>=jt){g=!0;return}let U=jt-p,Z=F.length>U?F.subarray(0,U):F;f.push(Z),p+=Z.length,F.length>U&&(g=!0)});let m,_,x,$,I;try{I=await new Promise((F,U)=>{o.on("error",H=>{m&&clearTimeout(m),i?F(1):U(H)});let Z=null,ce=()=>{Z!=null&&(m&&clearTimeout(m),x&&clearTimeout(x),$&&clearTimeout($),F(Z))},he=()=>{o.stdout?.destroy(),o.stderr?.destroy(),ce()},C=()=>{x&&clearTimeout(x),x=setTimeout(he,zf)};o.on("exit",(H,G)=>{m&&clearTimeout(m),_&&clearTimeout(_),Z=H??(G?128+Lo(G):0),C(),$=setTimeout(he,Bf),o.stdout?.on("data",C),o.stderr?.on("data",C)}),o.on("close",(H,G)=>{Z==null&&(Z=H??(G?128+Lo(G):0)),ce()}),m=setTimeout(()=>{o.kill("SIGTERM"),_=setTimeout(()=>o.kill("SIGKILL"),2e3)},nx),m.unref?.()})}finally{m&&clearTimeout(m),_&&clearTimeout(_),x&&clearTimeout(x),$&&clearTimeout($),process.off("SIGINT",l),process.off("SIGTERM",c)}let D=Hf(u,b),L=Hf(f,g);return Wf({argv:e,stdout:D,stderr:L,exitCode:I,truncated:b,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:Uf})}async function Wf({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
125
+ \u2026 (output truncated at ${jt/1048576}MB)`:"",p=o?`
126
+ \u2026 (stderr truncated at ${jt/(1024*1024)}MB)`:"",b=()=>{let g=t+d,m=Buffer.byteLength(g,"utf8");return{stdout:g,stderr:n+p,code:r??0,filterId:null,rawBytes:m,filteredBytes:m,truncated:s}};try{let g=await Be();g||c?.();let m=await Ce();if(!m.enabled)return b();let _=a.CLAUDE_CODE_SESSION_ID;_&&g?.token&&jn(_,{tool:"Bash",target:e.join(" "),...r!=null&&r!==0?{fail:1}:{}});let x=g?Nt(g.allowedFilters,_r(g)):null,$=new Set(m.filters.disabled.map(re)),I=x&&$.size>0?new Set([...x].filter(O=>!$.has(O))):x,D=Gf(e);g&&!l&&Ir();let L=await Dt(D,t,I,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r}),F=xe(n,n),U=0,Z=0;if((i||r===0||r==null)&&Buffer.byteLength(n,"utf8")>=(i?1:jf)){let O=await Dt(D,n,I,{verbosity:m.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(F=xe(O.output,n),!i&&O.output!==n)try{F=await Ft(O.droppedTail??null,O.output,a,{raw:o?null:n,label:ut(D)})}catch{}U=O.rawBytes,Z=O.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=jf){let O=await Dt(D,n,I,{verbosity:m.outputVerbosity,resolver:l,exitCode:r});if(O.failureSummary){try{F=await Ft(O.droppedTail??null,O.output,a)}catch{F=xe(O.output,n)}U=O.rawBytes,Z=O.filteredBytes}}let he=!i&&L.output!==t&&ox(D)?`${L.output}${L.output.endsWith(`
124
127
  `)?"":`
125
- `}${yt}`:D.output,B=we(C,t);if(!i&&D.filteredBytes<D.rawBytes)try{B=new RegExp(or.source,"m").test(D.output)?await Mr(t,C,a,{label:ft(N)}):await jt(D.droppedTail??null,C,a,{raw:s?null:t,label:ft(N)})}catch{}!s&&t.length>0&&Buffer.byteLength(B,"utf8")>=Buffer.byteLength(t,"utf8")&&(B=we(t,t));let re=B+d,dt=j+p,Ce=Ln(a).host,Be=Cr(D.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(re,"utf8")+Buffer.byteLength(dt,"utf8"),Mn(Ce)),pt=!1,En=async()=>{if(!pt){pt=!0;try{Rr(Be.raw,Be.filtered,void 0,!1,Ce,"sh",ft(N),"cwd"in f?f.cwd:process.cwd(),Ar(D)),await Tr({cmd:N,filterId:D.filterId,rawBytes:D.rawBytes,filteredBytes:D.filteredBytes,plan:S}),await Er({cmd:N,tokensSaved:Math.max(0,Math.round((Be.raw-Be.filtered)/4)),rawTokens:Math.round(Be.raw/4),optimized:D.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!c||(await Ae()).telemetryOptIn),sessionId:_,host:Ce})}catch{}}};return c?c(En):await En(),{stdout:re,stderr:dt,code:r,filterId:D.filterId,rawBytes:D.rawBytes+ne,filteredBytes:D.filteredBytes+ue,truncated:s}}catch{return b()}finally{l||Nr()}}var jo,Ht,Af,zw,Of,If,Ho,Zw,Gw,Ww,Ff=g(()=>{"use strict";jo=ld(ml(),1);kr();He();kn();Gt();H();fo();bo();vr();_o();as();Lt();Fn();Qc();Do();Lo();Pt();zn();eo();Bn();Ie();yn();ht();Ht=10*1024*1024,Af=1024,zw=6e4,Of=200,If=1e3,Ho="TOKMIZER_EXEC_CAPTURING";Zw=Nf(process.env),Gw={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};Ww=/^[A-Za-z0-9_@%+=:,./-]+$/});var Bo={};zt(Bo,{FOLD_MARKER_RE:()=>or,captureForRestore:()=>jt,captureOriginalForRestore:()=>Mr,closeDaemonResolver:()=>Nr,countedSaving:()=>Cr,gatingPlan:()=>wr,graceExceeded:()=>_r,installDaemonResolver:()=>Pr,loadSettingsCache:()=>Ae,neutralizeMarkers:()=>we,processOutput:()=>Mt,recordEvent:()=>Tr,recordStat:()=>Rr,recordTelemetry:()=>Er,resolveAllowedFilters:()=>Dt,statCmdLabel:()=>ft,statOutcome:()=>Ar});var zo=g(()=>{"use strict";kr();Lo();Pt();kn();fo();bo();vr();_o();Do();Lt()});function qo(e=5e3){return new Promise(t=>{let n=[],r=process.stdin,s=!1,o=()=>{s||(s=!0,clearTimeout(a),r.off("data",i),r.pause(),r.unref?.(),t(Buffer.concat(n).toString("utf8")))},i=l=>{n.push(Buffer.isBuffer(l)?l:Buffer.from(l))},a=setTimeout(o,e);r.on("data",i).once("end",o).once("error",o),r.resume()})}import{realpathSync as Yo}from"node:fs";import{fileURLToPath as ud,pathToFileURL as cd}from"node:url";var Xo=null;function Qo(e,t,n){if(n!==void 0&&Xo===n)return!0;if(Xo!==null||!e)return!1;if(t===cd(e).href)return!0;try{return Yo(e)===Yo(ud(t))}catch{return!1}}H();Gt();Fn();as();import{existsSync as Vw,writeFileSync as qw,appendFileSync as Yw,statSync as Xw,constants as jf}from"node:fs";import{lstat as Qw,open as ex}from"node:fs/promises";import{basename as tx,dirname as nx,isAbsolute as rx,join as Zf}from"node:path";H();ht();import{readFileSync as pm}from"node:fs";import{join as mm}from"node:path";function na(){if(ni())return!1;try{return JSON.parse(pm(mm(v(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}H();import{createHash as hm}from"node:crypto";import{appendFileSync as gm,chmodSync as ym,mkdirSync as bm,readFileSync as km,rmSync as _m,statSync as wm}from"node:fs";import{join as ra}from"node:path";var xm=256*1024,Sm=80;function Em(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return ra(v(),"sessions",`${t}.seen`)}function ls(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Sm)}function us(e,t,n,r){try{let s=Em(e),o=ls(t),i=hm("sha256").update(n).digest("hex").slice(0,32),a="";try{a=km(s,"utf8")}catch{}for(let l of a.split(`
126
- `)){let[u,c,f]=l.split(" ");if(u===o&&c===i)return{cmd:f??""}}bm(ra(v(),"sessions"),{recursive:!0,mode:448}),gm(s,`${o} ${i} ${ls(r)}
127
- `,{mode:384}),ym(s,384),wm(s).size>xm&&_m(s,{force:!0})}catch{}return null}function cs(e,t){return`[same output as \`${ls(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Bn();zn();function K(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function en(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function $m(e){return K(e,"prompt_id")||K(e,"scratchpad_dir")?!0:en(e.effort)}function Rm(e){return K(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(K(e,"model")??"")}var Am=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Cm=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Om=new Set(["pre_tool","post_tool"]),Im=new Set(["before_tool_call","after_tool_call"]),Pm=new Set(["runTerminalCommand","run_in_terminal"]),Nm=[["codex",e=>K(e,"turn_id")!==null],["claude-code",$m],["cursor",e=>K(e,"cursor_version")!==null||K(e,"generation_id")!==null||K(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Cm.has(K(e,"hook_event_name")??"")],["gemini-cli",e=>Am.has(K(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Om.has(K(e,"hook_event_name")??"")],["antigravity",e=>en(e.toolCall)],["copilot",e=>K(e,"toolName")!==null&&"toolArgs"in e||Pm.has(K(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||en(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&K(e,"event")!==null&&!Im.has(K(e,"event"))]],Dm=new Set(["codex","antigravity"]);function Mm(e){return en(e)?Nm.filter(([,t])=>t(e)).map(([t])=>t):[]}function Lm(e,t){if(!en(e))return null;let n=Mm(e);return n.length>1?null:n.length===1?n[0]:Rm(e)&&Dm.has(t)?"claude-code":t==="codex"?null:t}function sa(e,t){let n=Lm(e,t);return n==="claude-code"||n==="codex"?n:null}$n();Zr();Jn();H();var Iv=2*1024*1024;Ie();Ze();H();var Nv=4*1024*1024;var Xm=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),Qm=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),ha=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),ga="(?:dev|start|serve|watch|preview)",eh=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${ga}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${ga}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),th=/(?:^|\s)--watch(?:\s|=|$)/;function nh(e){return eh.test(e)&&!th.test(e)}var rh=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,sh=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,oh=3;function ih(e){let t=rh.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&sh.test(a)?null:{script:a,start:s,end:o,quote:r}}var ah=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function lh(e){return sn(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Ea(n.text);return r!==""&&!ah.has(r)&&!xa.test(r)}).length>1}function uh(e,t,n,r,s){if(n>=oh)return null;let o=ih(e);if(!o)return null;let{script:i,start:a,end:l,quote:u}=o,c=[],f=Ta(i,t,n+1,r,h=>c.push(h));if(f===i||u==='"'&&/["$`]/.test(f))return null;let d=u==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,b=lh(i);if(s)for(let h of b?[e,...c]:c)s(h);return b?`${t} ${p}`:p}var ya=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,ch=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*[fF][a-zA-Z]*)(?:\s|=|$)/,fh=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]),ba=new Set(["npm","pnpm","yarn","bun"]),ka=/^(?:dev|start|serve|preview|watch)(?::\S*)?$/,dh=new Set(["--filter","-F","--dir","-C","--prefix","--workspace","-w","--cwd"]),_a=new Set(["npx","pnpx","bunx"]),ph=new Set(["nodemon","top","htop","btop","watch"]),mh=new Set(["tsc","vitest","jest","webpack","rollup","esbuild","tsup","babel","sass","tailwindcss","mocha","swc","parcel","nest"]),hh=/(?:^|\s)--watch(?:All)?(?:\s|=(?!false(?:\s|$))|$)/,wa=/(?:^|\s)-w(?:\s|$)/;function gh(e){let t=e.map(i=>i.replace(/['"]/g,""));for(;t.length>1&&(t[0]==="env"||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[0]));)t=t.slice(1);let n=Vn(t[0]??"");if(_a.has(n)||ba.has(n)&&(t[1]==="exec"||t[1]==="dlx"))t=t.slice(_a.has(n)?1:2).filter((i,a,l)=>!(i.startsWith("-")&&l.slice(0,a).every(u=>u.startsWith("-")))),n=Vn(t[0]??"");else if(ba.has(n)){let i=t.slice(1).filter((l,u,c)=>!l.startsWith("-")&&!dh.has(c[u-1]??""));i[0]==="workspace"&&i.splice(0,2);let a=i[0]==="run"||i[0]==="run-script"?i[1]:i[0];return a!==void 0&&ka.test(a)}let r=t.slice(1),s=r.join(" "),o=r.find(i=>!i.startsWith("-"));if(ph.has(n)||hh.test(s)||mh.has(n)&&wa.test(s))return!0;switch(n){case"next":return o==="dev"||o==="start";case"vite":return!r.includes("build")&&!r.includes("optimize");case"vitest":return o==="watch"||o==="dev";case"cargo":case"dotnet":return o==="watch";case"turbo":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]:o;return i!==void 0&&ka.test(i)}case"nx":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]?.split(":")[1]:o;return i!==void 0&&/^(?:serve|dev|start|watch)$/.test(i)}case"ping":return!r.some(i=>/^-[a-zA-Z]*c/.test(i));case"docker":case"podman":case"nerdctl":case"docker-compose":{let i=n==="docker-compose"?r:o==="compose"?r.slice(r.indexOf("compose")+1):null;return i?i.includes("up")&&!i.some(a=>a==="--detach"||/^-[a-zA-Z]*d[a-zA-Z]*$/.test(a)):o==="stats"&&!r.includes("--no-stream")||o==="events"}case"kubectl":return o==="port-forward"||(o==="get"||o==="rollout")&&wa.test(s)||/(?:^|\s)--watch-only(?:\s|=|$)/.test(s);default:return!1}}function yh(e,t){let n=Vn(t);return n==="tail"?ch.test(e):n==="journalctl"?ya.test(e):n==="stern"||fh.has(n)&&/\blogs?\b/.test(e)&&ya.test(e)?!0:gh(e.split(/\s+/))}var xa=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,bh=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,kh=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function Vn(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Sa(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function xs(e){let t=Sa(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function sn(e){let t=Sa(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let u=r.replace(/\s+$/,""),c=u[u.length-1];if(c!==">"&&c!=="<"&&c!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let u=e[s+2]==="&";i(u?";;&":";;",u?3:2);continue}if(a===";"||a===`
128
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Ea(e){return e.trim().split(/\s+/)[0]??""}function va(e,t="tkr-exec",n=()=>!0,r){return Ta(e,t,0,n,r)}var _h=new Set(["{","for","while","until","if","case","select"]),wh=new Set(["}","done","fi","esac"]),xh=new Set(["then","do","else","elif","!","time","{","if","while","until"]);function Sh(e,t){let n=e[t+1];return xs(e[t].text)||n?.kind==="sep"&&(n.text==="|"||n.text==="|&")}function Eh(e){let t=new Set,n=[];for(let r=0;r<e.length;r++){let s=e[r];if(!(s.kind!=="cmd"||s.unsafe))for(let o of s.text.trim().split(/\s+/)){if(wh.has(o)){let i=n.pop();if(i!==void 0&&Sh(e,r))for(let a=i;a<=r;a++)t.add(a);continue}if(_h.has(o)&&n.push(r),!xh.has(o))break}}return t}function Ta(e,t,n,r,s){if(e.includes("<<")||kh.test(e))return e;let o=sn(e),i=Eh(o),a=[];for(let l=0;l<o.length;l++){let u=o[l];if(u.kind==="sep"||u.unsafe||i.has(l)){a.push(u.text);continue}let c=u.text.trim();if(!c){a.push(u.text);continue}let f=Ea(c),d=o[l+1],p=d?.kind==="sep"&&(d.text==="|"||d.text==="|&"),b=d?.kind==="sep"&&d.text==="&",h=!p&&!b&&!xs(u.text)&&!u.text.includes("<(")&&!u.text.includes(">(")?uh(c,t,n,r,s):null;if(h!==null){a.push(`${u.text.match(/^\s*/)?.[0]??""}${h}${u.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||Xm.has(f)||Qm.has(f)||(ha.has(f)||ha.has(Vn(f)))&&!nh(c)||xa.test(f)||f.startsWith("(")||f.startsWith("#")||f.startsWith("<")||f.startsWith(">")||bh.test(c)||yh(c,f)||f.endsWith(")")||p||b||xs(u.text)||u.text.includes("<(")||u.text.includes(">(")||f==="node"&&c.includes("tkr-exec.js")||!r(f,c)){a.push(u.text);continue}let m=u.text.match(/^\s*/)?.[0]??"",_=u.text.match(/\s*$/)?.[0]??"";s?.(c),a.push(`${m}${t} ${c}${_}`)}return a.join("")}var Kn=["test","run test","run build","run lint","run typecheck"],eT={npm:new Set(Kn),pnpm:new Set([...Kn,"build","lint","typecheck"]),yarn:new Set([...Kn,"build","lint","typecheck"]),bun:new Set(Kn),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])};var sx=new Set(["Read","Grep","Glob","Bash"]),Lr=10*1024*1024,Gf=1024,ox=10,ix=25e3,ax=/^… \(?\d+ more lines omitted\)?$/,lx=/^\[tkr restore [0-9a-f]{8,64}\]$/,ux=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,cx=/^… \(\d+ more lines omitted\)$/m;function fx(e){return ax.test(e)||lx.test(e)||e==="[YOLO: omitted]"}function Wf(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
129
- `).filter(i=>r.has(i)||fx(i)||s&&ux.test(i));return{...e,filenames:o}}return t}function Jf(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Wf(e.tool_response,t,e.tool_name)}})}var dx=100,Uo=null;function Kf(){let e=Uo;return Uo=null,e}function Hf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Vf(e,t){try{if(Math.round((e-t)/4)<dx)return;let n=Zf(v(),"first-save");if(Vw(n))return;qw(n,String(Date.now())),Uo=`Tokmizer just optimized its first command output here: ~${Hf(e)} tokens down to ~${Hf(t)}. Watch it add up: /tkr-gain`}catch{}}function Bf(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
128
+ `}${gt}`:L.output,C=xe(he,t);if(!i&&L.filteredBytes<L.rawBytes)try{C=new RegExp(or.source,"m").test(L.output)?await Dr(t,he,a,{label:ut(D)}):await Ft(L.droppedTail??null,he,a,{raw:s?null:t,label:ut(D)})}catch{}!s&&t.length>0&&Buffer.byteLength(C,"utf8")>=Buffer.byteLength(t,"utf8")&&(C=xe(t,t));let H=C+d,G=F+p,ft=Mn(a).host,ge=Ar(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(H,"utf8")+Buffer.byteLength(G,"utf8"),Dn(ft)),dt=!1,xn=async()=>{if(!dt){dt=!0;try{$r(ge.raw,ge.filtered,void 0,!1,ft,"sh",ut(D),"cwd"in f?f.cwd:process.cwd(),Rr(L)),g&&await vr({cmd:D,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes}),await Sr({cmd:D,tokensSaved:Math.max(0,Math.round((ge.raw-ge.filtered)/4)),rawTokens:Math.round(ge.raw/4),optimized:L.filterId!=null,telemetryOptIn:m.telemetryOptIn&&(!u||(await Ce()).telemetryOptIn),sessionId:_,host:ft})}catch{}}};return u?u(xn):await xn(),{stdout:H,stderr:G,code:r??0,filterId:L.filterId,rawBytes:L.rawBytes+U,filteredBytes:L.filteredBytes+Z,truncated:s}}catch{return b()}finally{l||Pr()}}var Fo,jt,jf,ex,zf,Bf,jo,nx,rx,sx,zo=h(()=>{"use strict";Fo=gd(bl(),1);xl();kr();He();yn();Zt();j();uo();yo();Er();ko();Hn();Mt();Ln();lf();No();Mo();It();Bn();Qs();zn();Ie();hn();mt();jt=10*1024*1024,jf=1024,ex=6e4,zf=200,Bf=1e3,jo="TOKMIZER_EXEC_CAPTURING";nx=Zf(process.env),rx={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};sx=/^[A-Za-z0-9_@%+=:,./-]+$/});var Bo={};zt(Bo,{FOLD_MARKER_RE:()=>or,captureForRestore:()=>Ft,captureOriginalForRestore:()=>Dr,closeDaemonResolver:()=>Pr,countedSaving:()=>Ar,graceExceeded:()=>_r,installDaemonResolver:()=>Ir,loadSettingsCache:()=>Ce,neutralizeMarkers:()=>xe,processOutput:()=>Dt,recordEvent:()=>vr,recordStat:()=>$r,recordTelemetry:()=>Sr,resolveAllowedFilters:()=>Nt,statCmdLabel:()=>ut,statOutcome:()=>Rr});var Uo=h(()=>{"use strict";kr();Mo();It();yn();uo();yo();Er();ko();No();Mt()});function Yo(e=3e3){return new Promise(t=>{let n=[],r=process.stdin,s=!1,o=()=>{s||(s=!0,clearTimeout(a),r.off("data",i),r.pause(),r.unref?.(),t(Buffer.concat(n).toString("utf8")))},i=l=>{n.push(Buffer.isBuffer(l)?l:Buffer.from(l))},a=setTimeout(o,e);r.on("data",i).once("end",o).once("error",o),r.resume()})}import{realpathSync as Xo}from"node:fs";import{fileURLToPath as yd,pathToFileURL as bd}from"node:url";var Qo=null;function ei(e,t,n){if(n!==void 0&&Qo===n)return!0;if(Qo!==null||!e)return!1;if(t===bd(e).href)return!0;try{return Xo(e)===Xo(yd(t))}catch{return!1}}j();Zt();Ln();Hn();import{existsSync as ax,writeFileSync as lx,appendFileSync as cx,statSync as ux,constants as Jf}from"node:fs";import{lstat as fx,open as dx}from"node:fs/promises";import{basename as px,dirname as mx,isAbsolute as hx,join as Xf}from"node:path";j();mt();import{readFileSync as bm}from"node:fs";import{join as km}from"node:path";function ia(){if(ri())return!1;try{return JSON.parse(bm(km(v(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();Hn();import{createHash as _m}from"node:crypto";import{appendFileSync as wm,chmodSync as xm,mkdirSync as Sm,readFileSync as Em,rmSync as vm,statSync as Tm}from"node:fs";import{join as aa}from"node:path";var $m=256*1024,Rm=80;function Am(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return aa(v(),"sessions",`${t}.seen`)}function as(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,Rm)}function ls(e,t,n,r){try{let s=Am(e),o=as(t),i=_m("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Em(s,"utf8")}catch{}for(let l of a.split(`
129
+ `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Sm(aa(v(),"sessions"),{recursive:!0,mode:448}),wm(s,`${o} ${i} ${as(is(r))}
130
+ `,{mode:384}),xm(s,384),Tm(s).size>$m&&vm(s,{force:!0})}catch{}return null}function cs(e,t){return`[same output as \`${as(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}zn();Bn();function q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Xt(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Im(e){return q(e,"prompt_id")||q(e,"scratchpad_dir")?!0:Xt(e.effort)}function Pm(e){return q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(q(e,"model")??"")}var Nm=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),Dm=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),Mm=new Set(["pre_tool","post_tool"]),Lm=new Set(["before_tool_call","after_tool_call"]),Fm=new Set(["runTerminalCommand","run_in_terminal"]),jm=[["codex",e=>q(e,"turn_id")!==null],["claude-code",Im],["cursor",e=>q(e,"cursor_version")!==null||q(e,"generation_id")!==null||q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||Dm.has(q(e,"hook_event_name")??"")],["gemini-cli",e=>Nm.has(q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>Mm.has(q(e,"hook_event_name")??"")],["antigravity",e=>Xt(e.toolCall)],["copilot",e=>q(e,"toolName")!==null&&"toolArgs"in e||Fm.has(q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Xt(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&q(e,"event")!==null&&!Lm.has(q(e,"event"))]],Hm=new Set(["codex","antigravity"]);function zm(e){return Xt(e)?jm.filter(([,t])=>t(e)).map(([t])=>t):[]}function Bm(e,t){if(!Xt(e))return null;let n=zm(e);return n.length>1?null:n.length===1?n[0]:Pm(e)&&Hm.has(t)?"claude-code":t==="codex"?null:t}function la(e,t){let n=Bm(e,t);return n==="claude-code"||n==="codex"?n:null}vn();Ur();Jn();j();var Gv=2*1024*1024;Ie();Ue();j();var Jv=4*1024*1024;var rh=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),sh=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),ka=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),_a="(?:dev|start|serve|watch|preview)",oh=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${_a}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${_a}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),ih=/(?:^|\s)--watch(?:\s|=|$)/;function ah(e){return oh.test(e)&&!ih.test(e)}var lh=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,ch=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,uh=3;function fh(e){let t=lh.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&ch.test(a)?null:{script:a,start:s,end:o,quote:r}}var dh=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function ph(e){return nn(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Ra(n.text);return r!==""&&!dh.has(r)&&!Ta.test(r)}).length>1}function mh(e,t,n,r,s){if(n>=uh)return null;let o=fh(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Ca(i,t,n+1,r,g=>u.push(g));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,p=`${e.slice(0,a)}${d}${e.slice(l)}`,b=ph(i);if(s)for(let g of b?[e,...u]:u)s(g);return b?`${t} ${p}`:p}var wa=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,hh=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*[fF][a-zA-Z]*)(?:\s|=|$)/,gh=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]),xa=new Set(["npm","pnpm","yarn","bun"]),Sa=/^(?:dev|start|serve|preview|watch)(?::\S*)?$/,yh=new Set(["--filter","-F","--dir","-C","--prefix","--workspace","-w","--cwd"]),Ea=new Set(["npx","pnpx","bunx"]),bh=new Set(["nodemon","top","htop","btop","watch"]),kh=new Set(["tsc","vitest","jest","webpack","rollup","esbuild","tsup","babel","sass","tailwindcss","mocha","swc","parcel","nest"]),_h=/(?:^|\s)--watch(?:All)?(?:\s|=(?!false(?:\s|$))|$)/,va=/(?:^|\s)-w(?:\s|$)/;function wh(e){let t=e.map(i=>i.replace(/['"]/g,""));for(;t.length>1&&(t[0]==="env"||/^[A-Za-z_][A-Za-z0-9_]*=/.test(t[0]));)t=t.slice(1);let n=Vn(t[0]??"");if(Ea.has(n)||xa.has(n)&&(t[1]==="exec"||t[1]==="dlx"))t=t.slice(Ea.has(n)?1:2).filter((i,a,l)=>!(i.startsWith("-")&&l.slice(0,a).every(c=>c.startsWith("-")))),n=Vn(t[0]??"");else if(xa.has(n)){let i=t.slice(1).filter((l,c,u)=>!l.startsWith("-")&&!yh.has(u[c-1]??""));i[0]==="workspace"&&i.splice(0,2);let a=i[0]==="run"||i[0]==="run-script"?i[1]:i[0];return a!==void 0&&Sa.test(a)}let r=t.slice(1),s=r.join(" "),o=r.find(i=>!i.startsWith("-"));if(bh.has(n)||_h.test(s)||kh.has(n)&&va.test(s))return!0;switch(n){case"next":return o==="dev"||o==="start";case"vite":return!r.includes("build")&&!r.includes("optimize");case"vitest":return o==="watch"||o==="dev";case"cargo":case"dotnet":return o==="watch";case"turbo":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]:o;return i!==void 0&&Sa.test(i)}case"nx":{let i=o==="run"?r.filter(a=>!a.startsWith("-"))[1]?.split(":")[1]:o;return i!==void 0&&/^(?:serve|dev|start|watch)$/.test(i)}case"ping":return!r.some(i=>/^-[a-zA-Z]*c/.test(i));case"docker":case"podman":case"nerdctl":case"docker-compose":{let i=n==="docker-compose"?r:o==="compose"?r.slice(r.indexOf("compose")+1):null;return i?i.includes("up")&&!i.some(a=>a==="--detach"||/^-[a-zA-Z]*d[a-zA-Z]*$/.test(a)):o==="stats"&&!r.includes("--no-stream")||o==="events"}case"kubectl":return o==="port-forward"||(o==="get"||o==="rollout")&&va.test(s)||/(?:^|\s)--watch-only(?:\s|=|$)/.test(s);default:return!1}}function xh(e,t){let n=Vn(t);return n==="tail"?hh.test(e):n==="journalctl"?wa.test(e):n==="stern"||gh.has(n)&&/\blogs?\b/.test(e)&&wa.test(e)?!0:wh(e.split(/\s+/))}var Ta=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,Sh=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,Eh=/(?:^|[;&|\n({])\s*(?:[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)|function\s+[A-Za-z_])/;function Vn(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function $a(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function ws(e){let t=$a(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function nn(e){let t=$a(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.trimEnd(),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
131
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Ra(e){return e.trim().split(/\s+/)[0]??""}function Aa(e,t="tkr-exec",n=()=>!0,r){return Ca(e,t,0,n,r)}var vh=new Set(["{","for","while","until","if","case","select"]),Th=new Set(["}","done","fi","esac"]),$h=new Set(["then","do","else","elif","!","time","{","if","while","until"]);function Rh(e,t){let n=e[t+1];return ws(e[t].text)||n?.kind==="sep"&&(n.text==="|"||n.text==="|&")}function Ah(e){let t=new Set,n=[];for(let r=0;r<e.length;r++){let s=e[r];if(!(s.kind!=="cmd"||s.unsafe))for(let o of s.text.trim().split(/\s+/)){if(Th.has(o)){let i=n.pop();if(i!==void 0&&Rh(e,r))for(let a=i;a<=r;a++)t.add(a);continue}if(vh.has(o)&&n.push(r),!$h.has(o))break}}return t}function Ca(e,t,n,r,s){if(e.includes("<<")||Eh.test(e))return e;let o=nn(e),i=Ah(o),a=[];for(let l=0;l<o.length;l++){let c=o[l];if(c.kind==="sep"||c.unsafe||i.has(l)){a.push(c.text);continue}let u=c.text.trim();if(!u){a.push(c.text);continue}let f=Ra(u),d=o[l+1],p=d?.kind==="sep"&&(d.text==="|"||d.text==="|&"),b=d?.kind==="sep"&&d.text==="&",g=!p&&!b&&!ws(c.text)&&!c.text.includes("<(")&&!c.text.includes(">(")?mh(u,t,n,r,s):null;if(g!==null){a.push(`${c.text.match(/^\s*/)?.[0]??""}${g}${c.text.slice(c.text.trimEnd().length)}`);continue}if(u===t||u.startsWith(t)&&/^\s/.test(u.slice(t.length))||rh.has(f)||sh.has(f)||(ka.has(f)||ka.has(Vn(f)))&&!ah(u)||Ta.test(f)||f.startsWith("(")||f.startsWith("#")||f.startsWith("<")||f.startsWith(">")||Sh.test(u)||xh(u,f)||f.endsWith(")")||p||b||ws(c.text)||c.text.includes("<(")||c.text.includes(">(")||f==="node"&&u.includes("tkr-exec.js")||!r(f,u)){a.push(c.text);continue}let m=c.text.match(/^\s*/)?.[0]??"",_=c.text.slice(c.text.trimEnd().length);s?.(u),a.push(`${m}${t} ${u}${_}`)}return a.join("")}var Kn=["test","run test","run build","run lint","run typecheck"],pT={npm:new Set(Kn),pnpm:new Set([...Kn,"build","lint","typecheck"]),yarn:new Set([...Kn,"build","lint","typecheck"]),bun:new Set(Kn),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])};var mT=5*6e4;var gx=new Set(["Read","Grep","Glob","Bash"]),Mr=10*1024*1024,Qf=1024,yx=10,bx=25e3,kx=/^… \(?\d+ more lines omitted\)?$/,_x=/^\[tkr restore [0-9a-f]{8,64}\]$/,wx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,xx=/^… \(\d+ more lines omitted\)$/m;function Sx(e){return kx.test(e)||_x.test(e)||e==="[YOLO: omitted]"}function ed(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
132
+ `).filter(i=>r.has(i)||Sx(i)||s&&wx.test(i));return{...e,filenames:o}}return t}function td(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:ed(e.tool_response,t,e.tool_name)}})}var Ex=100,Zo=null;function nd(){let e=Zo;return Zo=null,e}function Kf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function rd(e,t){try{if(Math.round((e-t)/4)<Ex)return;let n=Xf(v(),"first-save");if(ax(n))return;lx(n,String(Date.now())),Zo=`Tokmizer just optimized its first command output here: ~${Kf(e)} tokens down to ~${Kf(t)}. Watch it add up: /tkr-gain`}catch{}}function Vf(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
130
133
  `):Array.isArray(e.filenames)?e.filenames.join(`
131
- `):null:""}var px=64*1024;function mx(e,t){try{if(!t||typeof t!="object")return;let n=Zf(v(),"drift.jsonl");try{if(Xw(n).size>px)return}catch{}let r=Object.keys(t).slice(0,12);Yw(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
132
- `)}catch{}}function hx(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
133
- `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var gx=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,yx=/;|\|\||\n|(?<![>&|])&(?![&>])/,bx=new Set(["cd","export","set","unset","true",":"]),kx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,_x=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function qf(e){return gx.test(e)||_x.test(e)}function Yf(e,t,n=0){let r=sn(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||bx.has(i.split(/\s+/)[0]))continue;let l=n<3?kx.exec(i):null;if(!(l&&Yf(l[1],t,n+1)))return!1}return!0}function wx(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function zf(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function xx(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!rx(n)||tx(nx(n))!=="tool-results")return null;try{let s=await Qw(n);if(!s.isFile()||s.size>Lr)return null;let o=await ex(n,jf.O_RDONLY|(jf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Lr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let u=a.toString("utf8");return a.length!==r&&u.length!==r?null:u.startsWith(t)?u:null}finally{await o.close()}}catch{return null}}}function Sx(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||yx.test(e)||zf(e))return null;let n=[];if(va(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||zf(n[0])||!Yf(e,n[0])||sn(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=wx(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Ex(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Ff(),Lf)),i=null,a=h=>{i=h},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let u=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),c=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
134
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&u.filterId!=null&&t.session_id&&d>=Gf){let h=us(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
135
- `)[0]??"");if(h){let m=cs(h.cmd,d);if(n)return m;let{captureOriginalForRestore:_}=await Promise.resolve().then(()=>(zo(),Bo));return _(f,m)}}let p=[u.stdout,u.stderr].filter(Boolean).join(`
136
- `),b=u.stdout===e.stdout&&u.stderr===e.stderr;return s!=null&&(b||p.length>s)||(c&&(r.deferAccounting?r.deferAccounting(c):await c()),b||d>0&&Buffer.byteLength(p,"utf8")>=d)?null:(Vf(d,Buffer.byteLength(p,"utf8")),p)}function vx(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function Xf(e,t={}){if(!vx(e))return null;let n=e.tool_name==="Bash"&&!qf(e.tool_input?.command??"")?await xx(e.tool_response):void 0;return n===null?null:n===void 0?Uf(e,t):Uf({...e,tool_response:{...e.tool_response,stdout:n}},t,ix)}async function Uf(e,t,n){let r=de();if(!e.tool_name||!sx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=qf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await Ue();if(!na())return null;let a=e.tool_name==="Bash"&&!o?Sx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Lr?null:Ex(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let O=e.tool_input??{},Bt=O.command??O.file_path??O.pattern??O.path??"";Bt&&Hn(e.session_id,{tool:e.tool_name,target:Bt.split(`
137
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Bf(e.tool_response);if(l==null)return mx(e.tool_name,e.tool_response),null;if(!l)return null;let u=Buffer.byteLength(l,"utf8");if(u>Lr||e.tool_name==="Bash"&&u<Gf||e.tool_name==="Glob"&&l.split(`
138
- `).length<ox||o)return null;let{loadSettingsCache:c,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,neutralizeMarkers:b,FOLD_MARKER_RE:h,resolveAllowedFilters:m,gatingPlan:_,graceExceeded:S,recordEvent:A,recordTelemetry:P,recordStat:F,countedSaving:N,statCmdLabel:D,statOutcome:j,installDaemonResolver:ne,closeDaemonResolver:ue}=await Promise.resolve().then(()=>(zo(),Bo)),ce=await c();if(!ce.enabled)return null;let{slugKey:C}=await Promise.resolve().then(()=>(He(),Ml)),B=i?.token?_(i):null;!t.resolver&&B&&ne(B);let re=i?.token?m(i.allowedFilters,S(i)):null,dt=new Set(ce.filters.disabled.map(C)),Ce=re&&dt.size>0?new Set([...re].filter(O=>!dt.has(O))):re,Be=hx(e),pt=`${e.tool_name.toLowerCase()}-tool`,En=`${pt}: ${Be}`;try{let O=await f(En,l,Ce,{verbosity:ce.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(O.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ko=us(e.session_id,e.agent_id??"main",l,s.split(`
139
- `)[0]??"");if(Ko){let Vo=cs(Ko.cmd,u);return r?Vo:await p(l,Vo)}}let Bt=new RegExp(h.source,"m"),Fr=e.tool_name==="Bash"?D(e.tool_input?.command??""):e.tool_name,Go=e.tool_name==="Read"&&!r&&(Bt.test(O.output)||cx.test(O.output))?`${O.output}${O.output.endsWith(`
134
+ `):null:""}var vx=64*1024;function Tx(e,t){try{if(!t||typeof t!="object")return;let n=Xf(v(),"drift.jsonl");try{if(ux(n).size>vx)return}catch{}let r=Object.keys(t).slice(0,12);cx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
135
+ `)}catch{}}function $x(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
136
+ `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var Rx=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Ax=/;|\|\||\n|(?<![>&|])&(?![&>])/,Cx=new Set(["cd","export","set","unset","true",":"]),Ox=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Ix=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function sd(e){return Rx.test(e)||Ix.test(e)}function od(e,t,n=0){let r=nn(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||Cx.has(i.split(/\s+/)[0]))continue;let l=n<3?Ox.exec(i):null;if(!(l&&od(l[1],t,n+1)))return!1}return!0}function Px(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function qf(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function Nx(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!hx(n)||px(mx(n))!=="tool-results")return null;try{let s=await fx(n);if(!s.isFile()||s.size>Mr)return null;let o=await dx(n,Jf.O_RDONLY|(Jf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Mr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function Dx(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||Ax.test(e)||qf(e))return null;let n=[];if(Aa(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||qf(n[0])||!od(e,n[0])||nn(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Px(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:null}:null}async function Mx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(zo(),Ho)),i=null,a=g=>{i=g},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
137
+ `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Qf){let g=ls(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
138
+ `)[0]??"");if(g){let m=cs(g.cmd,d);if(n)return m;let{captureOriginalForRestore:_}=await Promise.resolve().then(()=>(Uo(),Bo));return _(f,m)}}let p=[c.stdout,c.stderr].filter(Boolean).join(`
139
+ `),b=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(b||p.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),b||d>0&&Buffer.byteLength(p,"utf8")>=d)?null:(rd(d,Buffer.byteLength(p,"utf8")),p)}function Lx(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function id(e,t={}){if(!Lx(e))return null;let n=e.tool_name==="Bash"&&!sd(e.tool_input?.command??"")?await Nx(e.tool_response):void 0;return n===null?null:n===void 0?Yf(e,t):Yf({...e,tool_response:{...e.tool_response,stdout:n}},t,bx)}async function Yf(e,t,n){let r=de();if(!e.tool_name||!gx.has(e.tool_name)||typeof e.tool_response=="object"&&e.tool_response?.isImage===!0)return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=sd(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await Be();if(!ia())return null;i||await Promise.resolve().then(()=>(zo(),Ho)).then(O=>O.kickBackgroundEnroll(),()=>{});let a=e.tool_name==="Bash"&&!o?Dx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Mr?null:Mx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let O=e.tool_input??{},Ht=O.command??O.file_path??O.pattern??O.path??"";Ht&&jn(e.session_id,{tool:e.tool_name,target:Ht.split(`
140
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Vf(e.tool_response);if(l==null)return Tx(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>Mr||e.tool_name==="Bash"&&c<Qf||e.tool_name==="Glob"&&l.split(`
141
+ `).length<yx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:p,neutralizeMarkers:b,FOLD_MARKER_RE:g,resolveAllowedFilters:m,graceExceeded:_,recordEvent:x,recordTelemetry:$,recordStat:I,countedSaving:D,statCmdLabel:L,statOutcome:F,installDaemonResolver:U,closeDaemonResolver:Z}=await Promise.resolve().then(()=>(Uo(),Bo)),ce=await u();if(!ce.enabled)return null;let{slugKey:he}=await Promise.resolve().then(()=>(He(),Zl)),C=!!i?.token;!t.resolver&&C&&U();let H=i?.token?m(i.allowedFilters,_(i)):null,G=new Set(ce.filters.disabled.map(he)),ft=H&&G.size>0?new Set([...H].filter(O=>!G.has(O))):H,ge=$x(e),dt=`${e.tool_name.toLowerCase()}-tool`,xn=`${dt}: ${ge}`;try{let O=await f(xn,l,ft,{verbosity:ce.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(O.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Vo=ls(e.session_id,e.agent_id??"main",l,s.split(`
142
+ `)[0]??"");if(Vo){let qo=cs(Vo.cmd,c);return r?qo:await p(l,qo)}}let Ht=new RegExp(g.source,"m"),Lr=e.tool_name==="Bash"?L(e.tool_input?.command??""):e.tool_name,Wo=e.tool_name==="Read"&&!r&&(Ht.test(O.output)||xx.test(O.output))?`${O.output}${O.output.endsWith(`
140
143
  `)?"":`
141
- `}${yt}`:O.output,G;if(O.filteredBytes>=O.rawBytes?G=null:r?G=b(O.output,l):e.tool_name==="Glob"||Bt.test(O.output)?G=await p(l,Go,void 0,{label:Fr}):G=await d(O.droppedTail??null,Go,void 0,{raw:l,label:Fr}),r&&G!=null&&(G=Bf(Wf(e.tool_response,G,e.tool_name))),G!=null&&Buffer.byteLength(G,"utf8")>=O.rawBytes&&(G=null),n!=null&&(G==null||G.length>n))return null;let Qf=G==null?O.rawBytes:Buffer.byteLength(G,"utf8"),jr=Ln().host,ze=N(O.rawBytes,Qf,Mn(jr));G!=null&&Vf(ze.raw,ze.filtered);let ed=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),td=e.tool_name==="Bash"?"sh":void 0,Hr=t.deferAccounting,Wo=!1,Jo=async()=>{Wo||(Wo=!0,await A({cmd:pt,filterId:O.filterId,rawBytes:O.rawBytes,filteredBytes:O.filteredBytes,plan:B}),F(ze.raw,ze.filtered,void 0,!1,jr,td,Fr,ed,j(O)),await P({cmd:pt,tokensSaved:Math.round((ze.raw-ze.filtered)/4),rawTokens:Math.round(ze.raw/4),optimized:O.filterId!=null,telemetryOptIn:ce.telemetryOptIn&&(!Hr||(await c()).telemetryOptIn),host:jr}))};return Hr?Hr(Jo):await Jo(),G}finally{t.resolver||ue()}}async function Zo(e,t={}){if(sa(e,"claude-code")!=="claude-code")return"";let n=await Xf(e,t);return n?Jf(e,n,Kf()??void 0):""}async function Tx(){let e=await qo();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await Zo(t);n||process.exit(0),process.stdout.write(n)}var $x=process.argv[1]??"";Qo($x,import.meta.url,"post-tool-use")&&Tx().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
142
- `),process.exit(0)});export{Jf as buildHookEnvelope,Zo as postToolUseResponse,Xf as processToolOutput,Kf as takeFirstSaveNotice};
144
+ `}${gt}`:O.output,J;if(O.filteredBytes>=O.rawBytes?J=null:r?J=b(O.output,l):e.tool_name==="Glob"||Ht.test(O.output)?J=await p(l,Wo,void 0,{label:Lr}):J=await d(O.droppedTail??null,Wo,void 0,{raw:l,label:Lr}),r&&J!=null&&(J=Vf(ed(e.tool_response,J,e.tool_name))),J!=null&&Buffer.byteLength(J,"utf8")>=O.rawBytes&&(J=null),n!=null&&(J==null||J.length>n))return null;let ad=J==null?O.rawBytes:Buffer.byteLength(J,"utf8"),Fr=Mn().host,ze=D(O.rawBytes,ad,Dn(Fr));J!=null&&rd(ze.raw,ze.filtered);let ld=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),cd=e.tool_name==="Bash"?"sh":void 0,jr=t.deferAccounting,Jo=!1,Ko=async()=>{Jo||(Jo=!0,C&&await x({cmd:dt,filterId:O.filterId,rawBytes:O.rawBytes,filteredBytes:O.filteredBytes}),I(ze.raw,ze.filtered,void 0,!1,Fr,cd,Lr,ld,F(O)),await $({cmd:dt,tokensSaved:Math.round((ze.raw-ze.filtered)/4),rawTokens:Math.round(ze.raw/4),optimized:O.filterId!=null,telemetryOptIn:ce.telemetryOptIn&&(!jr||(await u()).telemetryOptIn),host:Fr}))};return jr?jr(Ko):await Ko(),J}finally{t.resolver||Z()}}async function Go(e,t={}){if(la(e,"claude-code")!=="claude-code")return"";let n=await id(e,t);return n?td(e,n,nd()??void 0):""}async function Fx(){let e=await Yo();e||process.exit(0);let t;try{t=JSON.parse(e)}catch{process.exit(0)}let n=await Go(t);n||process.exit(0),process.stdout.write(n)}var jx=process.argv[1]??"";ei(jx,import.meta.url,"post-tool-use")&&Fx().catch(e=>{process.stderr.write(`tkr post-tool-use: ${e.message}
145
+ `),process.exit(0)});export{td as buildHookEnvelope,Go as postToolUseResponse,id as processToolOutput,nd as takeFirstSaveNotice};
143
146
  /*! Bundled license information:
144
147
 
145
148
  smol-toml/dist/error.js: