@tokmizer/plugin 0.9.57 → 0.9.59

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 (60) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +11 -0
  3. package/README.md +214 -8
  4. package/agent-plugins/amp.js +38 -0
  5. package/agent-plugins/hermes/__init__.py +53 -0
  6. package/agent-plugins/hermes/plugin.yaml +5 -0
  7. package/agent-plugins/kilo.js +72 -0
  8. package/agent-plugins/omp.js +32 -0
  9. package/agent-plugins/openclaw/index.js +58 -0
  10. package/agent-plugins/openclaw/openclaw.plugin.json +12 -0
  11. package/agent-plugins/openclaw/package.json +11 -0
  12. package/agent-plugins/opencode.js +72 -0
  13. package/agent-plugins/pi.js +30 -0
  14. package/codex-hooks/hooks.json +16 -0
  15. package/command-templates/tkr-gain.md +7 -2
  16. package/command-templates/tkr-status.md +5 -1
  17. package/command-templates/tkr-telemetry.md +3 -3
  18. package/command-templates/tkr-unlink.md +2 -2
  19. package/dist/bin/tkr-agent-hook.js +13 -0
  20. package/dist/bin/tkr-codex-hook.js +134 -40
  21. package/dist/bin/tkr-context-hook.js +4 -0
  22. package/dist/bin/tkr-copilot-hook.js +13 -0
  23. package/dist/bin/tkr-crush-hook.js +13 -0
  24. package/dist/bin/tkr-cursor-hook.js +13 -0
  25. package/dist/bin/tkr-daemon.js +194 -56
  26. package/dist/bin/tkr-droid-hook.js +13 -0
  27. package/dist/bin/tkr-exec +136 -42
  28. package/dist/bin/tkr-exec.js +136 -42
  29. package/dist/bin/tkr-gemini-hook.js +13 -0
  30. package/dist/bin/tkr-grok-hook.js +13 -0
  31. package/dist/bin/tkr-junie-hook.js +13 -0
  32. package/dist/bin/tkr-processor.js +166 -0
  33. package/dist/bin/tkr-qwen-hook.js +13 -0
  34. package/dist/bin/tkr-shim.js +138 -37
  35. package/dist/bin/tkr-shim.stable +1 -0
  36. package/dist/bin/tkr-trae-hook.js +13 -0
  37. package/dist/bin/tkr-zcode-hook.js +13 -0
  38. package/dist/bin/tkr.js +425 -157
  39. package/dist/hooks-host/post-tool-use.js +150 -49
  40. package/dist/hooks-host/pre-tool-use.js +10 -7
  41. package/dist/hooks-host/reducer-prompt-submit.js +2 -1
  42. package/dist/hooks-host/reducer-session-start.js +2 -1
  43. package/dist/hooks-host/reducer-stop.js +25 -16
  44. package/dist/hooks-host/session-recap.js +4 -3
  45. package/dist/index.js +160 -41
  46. package/dist/native/manifest.json +18 -8
  47. package/dist/native/single.json +38 -0
  48. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  49. package/dist/native/tkr-exec-darwin-x64 +0 -0
  50. package/dist/native/tkr-exec-linux-arm64 +0 -0
  51. package/dist/native/tkr-exec-linux-x64 +0 -0
  52. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  53. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  54. package/hooks/on-session-start.d.mts +1 -0
  55. package/hooks/on-session-start.mjs +37 -34
  56. package/package.json +26 -3
  57. package/scripts/README-INSTALL.md +50 -14
  58. package/scripts/install-mac-linux.sh +77 -7
  59. package/scripts/install-native.mjs +177 -25
  60. package/codex-plugin/plugin.json +0 -7
package/dist/bin/tkr-exec CHANGED
@@ -1,52 +1,146 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var Js=Object.create;var vt=Object.defineProperty;var Xs=Object.getOwnPropertyDescriptor;var Qs=Object.getOwnPropertyNames;var ei=Object.getPrototypeOf,ti=Object.prototype.hasOwnProperty;var ee=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var j=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},ri=(t,e)=>{for(var r in e)vt(t,r,{get:e[r],enumerable:!0})},ni=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Qs(e))!ti.call(t,s)&&s!==r&&vt(t,s,{get:()=>e[s],enumerable:!(n=Xs(e,s))||n.enumerable});return t};var pr=(t,e,r)=>(r=t!=null?Js(ei(t)):{},ni(e||!t||!t.__esModule?vt(r,"default",{value:t,enumerable:!0}):r,t));var _r=j((Fl,yr)=>{yr.exports=gr;gr.sync=ii;var mr=ee("fs");function si(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n<r.length;n++){var s=r[n].toLowerCase();if(s&&t.substr(-s.length).toLowerCase()===s)return!0}return!1}function hr(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:si(e,r)}function gr(t,e,r){mr.stat(t,function(n,s){r(n,n?!1:hr(s,t,e))})}function ii(t,e){return hr(mr.statSync(t),t,e)}});var wr=j((Bl,Er)=>{Er.exports=vr;vr.sync=oi;var br=ee("fs");function vr(t,e,r){br.stat(t,function(n,s){r(n,n?!1:xr(s,e))})}function oi(t,e){return xr(br.statSync(t),e)}function xr(t,e){return t.isFile()&&ai(t,e)}function ai(t,e){var r=t.mode,n=t.uid,s=t.gid,i=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),o=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),a=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=a|c,f=r&u||r&c&&s===o||r&a&&n===i||r&l&&i===0;return f}});var Sr=j((zl,kr)=>{var jl=ee("fs"),nt;process.platform==="win32"||global.TESTING_WINDOWS?nt=_r():nt=wr();kr.exports=xt;xt.sync=ci;function xt(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,s){xt(t,e||{},function(i,o){i?s(i):n(o)})})}nt(t,e||{},function(n,s){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,s=!1),r(n,s)})}function ci(t,e){try{return nt.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Or=j((Zl,$r)=>{var Re=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Tr=ee("path"),ui=Re?";":":",Rr=Sr(),Ar=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Cr=(t,e)=>{let r=e.colon||ui,n=t.match(/\//)||Re&&t.match(/\\/)?[""]:[...Re?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],s=Re?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=Re?s.split(r):[""];return Re&&t.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:s}},Ir=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:s,pathExtExe:i}=Cr(t,e),o=[],a=u=>new Promise((l,f)=>{if(u===n.length)return e.all&&o.length?l(o):f(Ar(t));let d=n[u],m=/^".*"$/.test(d)?d.slice(1,-1):d,v=Tr.join(m,t),w=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+v:v;l(c(w,u,0))}),c=(u,l,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(l+1));let v=s[f];Rr(u+v,{pathExt:i},(w,_)=>{if(!w&&_)if(e.all)o.push(u+v);else return d(u+v);return d(c(u,l,f+1))})});return r?a(0).then(u=>r(null,u),r):a(0)},li=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:s}=Cr(t,e),i=[];for(let o=0;o<r.length;o++){let a=r[o],c=/^".*"$/.test(a)?a.slice(1,-1):a,u=Tr.join(c,t),l=!c&&/^\.[\\\/]/.test(t)?t.slice(0,2)+u:u;for(let f=0;f<n.length;f++){let d=l+n[f];try{if(Rr.sync(d,{pathExt:s}))if(e.all)i.push(d);else return d}catch{}}}if(e.all&&i.length)return i;if(e.nothrow)return null;throw Ar(t)};$r.exports=Ir;Ir.sync=li});var Dr=j((Ul,Et)=>{"use strict";var Pr=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Et.exports=Pr;Et.exports.default=Pr});var Fr=j((Hl,Lr)=>{"use strict";var Nr=ee("path"),di=Or(),fi=Dr();function Mr(t,e){let r=t.options.env||process.env,n=process.cwd(),s=t.options.cwd!=null,i=s&&process.chdir!==void 0&&!process.chdir.disabled;if(i)try{process.chdir(t.options.cwd)}catch{}let o;try{o=di.sync(t.command,{path:r[fi({env:r})],pathExt:e?Nr.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return o&&(o=Nr.resolve(s?t.options.cwd:"",o)),o}function pi(t){return Mr(t)||Mr(t,!0)}Lr.exports=pi});var Br=j((Vl,kt)=>{"use strict";var wt=/([()\][%!^"`<>&|;, *?])/g;function mi(t){return t=t.replace(wt,"^$1"),t}function hi(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(wt,"^$1"),e&&(t=t.replace(wt,"^$1")),t}kt.exports.command=mi;kt.exports.argument=hi});var zr=j((Gl,jr)=>{"use strict";jr.exports=/^#!(.*)/});var Ur=j((Kl,Zr)=>{"use strict";var gi=zr();Zr.exports=(t="")=>{let e=t.match(gi);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?n:n?`${s} ${n}`:s}});var Vr=j((Wl,Hr)=>{"use strict";var St=ee("fs"),yi=Ur();function _i(t){let r=Buffer.alloc(150),n;try{n=St.openSync(t,"r"),St.readSync(n,r,0,150,0),St.closeSync(n)}catch{}return yi(r.toString())}Hr.exports=_i});var qr=j((ql,Wr)=>{"use strict";var bi=ee("path"),Gr=Fr(),Kr=Br(),vi=Vr(),xi=process.platform==="win32",Ei=/\.(?:com|exe)$/i,wi=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function ki(t){t.file=Gr(t);let e=t.file&&vi(t.file);return e?(t.args.unshift(t.file),t.command=e,Gr(t)):t.file}function Si(t){if(!xi)return t;let e=ki(t),r=!Ei.test(e);if(t.options.forceShell||r){let n=wi.test(e);t.command=bi.normalize(t.command),t.command=Kr.command(t.command),t.args=t.args.map(i=>Kr.argument(i,n));let s=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${s}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function Ti(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let n={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?n:Si(n)}Wr.exports=Ti});var Xr=j((Yl,Jr)=>{"use strict";var Tt=process.platform==="win32";function Rt(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function Ri(t,e){if(!Tt)return;let r=t.emit;t.emit=function(n,s){if(n==="exit"){let i=Yr(s,e);if(i)return r.call(t,"error",i)}return r.apply(t,arguments)}}function Yr(t,e){return Tt&&t===1&&!e.file?Rt(e.original,"spawn"):null}function Ai(t,e){return Tt&&t===1&&!e.file?Rt(e.original,"spawnSync"):null}Jr.exports={hookChildProcess:Ri,verifyENOENT:Yr,verifyENOENTSync:Ai,notFoundError:Rt}});var It=j((Jl,Ae)=>{"use strict";var Qr=ee("child_process"),At=qr(),Ct=Xr();function en(t,e,r){let n=At(t,e,r),s=Qr.spawn(n.command,n.args,n.options);return Ct.hookChildProcess(s,n),s}function Ci(t,e,r){let n=At(t,e,r),s=Qr.spawnSync(n.command,n.args,n.options);return s.error=s.error||Ct.verifyENOENTSync(s.status,n),s}Ae.exports=en;Ae.exports.spawn=en;Ae.exports.sync=Ci;Ae.exports._parse=At;Ae.exports._enoent=Ct});var Ys=pr(It(),1);var ur=pr(It(),1);import{existsSync as xl,readFileSync as El,writeFileSync as wl,mkdirSync as kl}from"node:fs";import{join as Sl}from"node:path";import{fileURLToPath as Tl}from"node:url";import{StringDecoder as Rl}from"node:string_decoder";import{readdir as zo,readFile as Zo}from"node:fs/promises";import{join as hn,dirname as Uo}from"node:path";import{fileURLToPath as Ho}from"node:url";var h={};ri(h,{BRAND:()=>to,DIRTY:()=>ce,EMPTY_PATH:()=>Pi,INVALID:()=>x,NEVER:()=>jo,OK:()=>M,ParseStatus:()=>N,Schema:()=>T,ZodAny:()=>ne,ZodArray:()=>Q,ZodBigInt:()=>le,ZodBoolean:()=>de,ZodBranded:()=>Ge,ZodCatch:()=>Ee,ZodDate:()=>fe,ZodDefault:()=>xe,ZodDiscriminatedUnion:()=>ot,ZodEffects:()=>U,ZodEnum:()=>be,ZodError:()=>L,ZodFirstPartyTypeKind:()=>E,ZodFunction:()=>ct,ZodIntersection:()=>ge,ZodIssueCode:()=>p,ZodLazy:()=>ye,ZodLiteral:()=>_e,ZodMap:()=>De,ZodNaN:()=>Me,ZodNativeEnum:()=>ve,ZodNever:()=>H,ZodNull:()=>me,ZodNullable:()=>q,ZodNumber:()=>ue,ZodObject:()=>F,ZodOptional:()=>z,ZodParsedType:()=>y,ZodPipeline:()=>Ke,ZodPromise:()=>se,ZodReadonly:()=>we,ZodRecord:()=>at,ZodSchema:()=>T,ZodSet:()=>Ne,ZodString:()=>re,ZodSymbol:()=>Oe,ZodTransformer:()=>U,ZodTuple:()=>W,ZodType:()=>T,ZodUndefined:()=>pe,ZodUnion:()=>he,ZodUnknown:()=>X,ZodVoid:()=>Pe,addIssueToContext:()=>g,any:()=>lo,array:()=>ho,bigint:()=>io,boolean:()=>fn,coerce:()=>Bo,custom:()=>un,date:()=>oo,datetimeRegex:()=>an,defaultErrorMap:()=>Y,discriminatedUnion:()=>bo,effect:()=>$o,enum:()=>Ao,function:()=>So,getErrorMap:()=>Ce,getParsedType:()=>K,instanceof:()=>no,intersection:()=>vo,isAborted:()=>st,isAsync:()=>Ie,isDirty:()=>it,isValid:()=>te,late:()=>ro,lazy:()=>To,literal:()=>Ro,makeIssue:()=>Ve,map:()=>wo,nan:()=>so,nativeEnum:()=>Co,never:()=>po,null:()=>uo,nullable:()=>Po,number:()=>dn,object:()=>go,objectUtil:()=>$t,oboolean:()=>Fo,onumber:()=>Lo,optional:()=>Oo,ostring:()=>Mo,pipeline:()=>No,preprocess:()=>Do,promise:()=>Io,quotelessJson:()=>Ii,record:()=>Eo,set:()=>ko,setErrorMap:()=>Oi,strictObject:()=>yo,string:()=>ln,symbol:()=>ao,transformer:()=>$o,tuple:()=>xo,undefined:()=>co,union:()=>_o,unknown:()=>fo,util:()=>R,void:()=>mo});var R;(function(t){t.assertEqual=s=>{};function e(s){}t.assertIs=e;function r(s){throw new Error}t.assertNever=r,t.arrayToEnum=s=>{let i={};for(let o of s)i[o]=o;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(a=>typeof s[s[a]]!="number"),o={};for(let a of i)o[a]=s[a];return t.objectValues(o)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let o in s)Object.prototype.hasOwnProperty.call(s,o)&&i.push(o);return i},t.find=(s,i)=>{for(let o of s)if(i(o))return o},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function n(s,i=" | "){return s.map(o=>typeof o=="string"?`'${o}'`:o).join(i)}t.joinValues=n,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(R||(R={}));var $t;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})($t||($t={}));var y=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),K=t=>{switch(typeof t){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(t)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":return Array.isArray(t)?y.array:t===null?y.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?y.promise:typeof Map<"u"&&t instanceof Map?y.map:typeof Set<"u"&&t instanceof Set?y.set:typeof Date<"u"&&t instanceof Date?y.date:y.object;default:return y.unknown}};var p=R.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"]),Ii=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),L=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};let r=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,r):this.__proto__=r,this.name="ZodError",this.issues=e}format(e){let r=e||function(i){return i.message},n={_errors:[]},s=i=>{for(let o of i.issues)if(o.code==="invalid_union")o.unionErrors.map(s);else if(o.code==="invalid_return_type")s(o.returnTypeError);else if(o.code==="invalid_arguments")s(o.argumentsError);else if(o.path.length===0)n._errors.push(r(o));else{let a=n,c=0;for(;c<o.path.length;){let u=o.path[c];c===o.path.length-1?(a[u]=a[u]||{_errors:[]},a[u]._errors.push(r(o))):a[u]=a[u]||{_errors:[]},a=a[u],c++}}};return s(this),n}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=r=>r.message){let r={},n=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];r[i]=r[i]||[],r[i].push(e(s))}else n.push(e(s));return{formErrors:n,fieldErrors:r}}get formErrors(){return this.flatten()}};L.create=t=>new L(t);var $i=(t,e)=>{let r;switch(t.code){case p.invalid_type:t.received===y.undefined?r="Required":r=`Expected ${t.expected}, received ${t.received}`;break;case p.invalid_literal:r=`Invalid literal value, expected ${JSON.stringify(t.expected,R.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:r=`Unrecognized key(s) in object: ${R.joinValues(t.keys,", ")}`;break;case p.invalid_union:r="Invalid input";break;case p.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${R.joinValues(t.options)}`;break;case p.invalid_enum_value:r=`Invalid enum value. Expected ${R.joinValues(t.options)}, received '${t.received}'`;break;case p.invalid_arguments:r="Invalid function arguments";break;case p.invalid_return_type:r="Invalid function return type";break;case p.invalid_date:r="Invalid date";break;case p.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(r=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(r=`${r} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?r=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?r=`Invalid input: must end with "${t.validation.endsWith}"`:R.assertNever(t.validation):t.validation!=="regex"?r=`Invalid ${t.validation}`:r="Invalid";break;case p.too_small:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?r=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:r="Invalid input";break;case p.too_big:t.type==="array"?r=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?r=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?r=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?r=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?r=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:r="Invalid input";break;case p.custom:r="Invalid input";break;case p.invalid_intersection_types:r="Intersection results could not be merged";break;case p.not_multiple_of:r=`Number must be a multiple of ${t.multipleOf}`;break;case p.not_finite:r="Number must be finite";break;default:r=e.defaultError,R.assertNever(t)}return{message:r}},Y=$i;var tn=Y;function Oi(t){tn=t}function Ce(){return tn}var Ve=t=>{let{data:e,path:r,errorMaps:n,issueData:s}=t,i=[...r,...s.path||[]],o={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let a="",c=n.filter(u=>!!u).slice().reverse();for(let u of c)a=u(o,{data:e,defaultError:a}).message;return{...s,path:i,message:a}},Pi=[];function g(t,e){let r=Ce(),n=Ve({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===Y?void 0:Y].filter(s=>!!s)});t.common.issues.push(n)}var N=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,r){let n=[];for(let s of r){if(s.status==="aborted")return x;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,r){let n=[];for(let s of r){let i=await s.key,o=await s.value;n.push({key:i,value:o})}return t.mergeObjectSync(e,n)}static mergeObjectSync(e,r){let n={};for(let s of r){let{key:i,value:o}=s;if(i.status==="aborted"||o.status==="aborted")return x;i.status==="dirty"&&e.dirty(),o.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof o.value<"u"||s.alwaysSet)&&(n[i.value]=o.value)}return{status:e.value,value:n}}},x=Object.freeze({status:"aborted"}),ce=t=>({status:"dirty",value:t}),M=t=>({status:"valid",value:t}),st=t=>t.status==="aborted",it=t=>t.status==="dirty",te=t=>t.status==="valid",Ie=t=>typeof Promise<"u"&&t instanceof Promise;var b;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(b||(b={}));var Z=class{constructor(e,r,n,s){this._cachedPath=[],this.parent=e,this.data=r,this._path=n,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}},rn=(t,e)=>{if(te(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let r=new L(t.common.issues);return this._error=r,this._error}}};function S(t){if(!t)return{};let{errorMap:e,invalid_type_error:r,required_error:n,description:s}=t;if(e&&(r||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(o,a)=>{let{message:c}=t;return o.code==="invalid_enum_value"?{message:c??a.defaultError}:typeof a.data>"u"?{message:c??n??a.defaultError}:o.code!=="invalid_type"?{message:a.defaultError}:{message:c??r??a.defaultError}},description:s}}var T=class{get description(){return this._def.description}_getType(e){return K(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:K(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new N,ctx:{common:e.parent.common,data:e.data,parsedType:K(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Ie(r))throw new Error("Synchronous parse encountered promise.");return r}_parseAsync(e){let r=this._parse(e);return Promise.resolve(r)}parse(e,r){let n=this.safeParse(e,r);if(n.success)return n.data;throw n.error}safeParse(e,r){let n={common:{issues:[],async:r?.async??!1,contextualErrorMap:r?.errorMap},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:K(e)},s=this._parseSync({data:e,path:n.path,parent:n});return rn(n,s)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:K(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return te(n)?{value:n.value}:{issues:r.common.issues}}catch(n){n?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),r.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:r}).then(n=>te(n)?{value:n.value}:{issues:r.common.issues})}async parseAsync(e,r){let n=await this.safeParseAsync(e,r);if(n.success)return n.data;throw n.error}async safeParseAsync(e,r){let n={common:{issues:[],contextualErrorMap:r?.errorMap,async:!0},path:r?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:K(e)},s=this._parse({data:e,path:n.path,parent:n}),i=await(Ie(s)?s:Promise.resolve(s));return rn(n,i)}refine(e,r){let n=s=>typeof r=="string"||typeof r>"u"?{message:r}:typeof r=="function"?r(s):r;return this._refinement((s,i)=>{let o=e(s),a=()=>i.addIssue({code:p.custom,...n(s)});return typeof Promise<"u"&&o instanceof Promise?o.then(c=>c?!0:(a(),!1)):o?!0:(a(),!1)})}refinement(e,r){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof r=="function"?r(n,s):r),!1))}_refinement(e){return new U({schema:this,typeName:E.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,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:r=>this["~validate"](r)}}optional(){return z.create(this,this._def)}nullable(){return q.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q.create(this)}promise(){return se.create(this,this._def)}or(e){return he.create([this,e],this._def)}and(e){return ge.create(this,e,this._def)}transform(e){return new U({...S(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new xe({...S(this._def),innerType:this,defaultValue:r,typeName:E.ZodDefault})}brand(){return new Ge({typeName:E.ZodBranded,type:this,...S(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ee({...S(this._def),innerType:this,catchValue:r,typeName:E.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Ke.create(this,e)}readonly(){return we.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Di=/^c[^\s-]{8,}$/i,Ni=/^[0-9a-z]+$/,Mi=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Li=/^[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,Fi=/^[a-z0-9_-]{21}$/i,Bi=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ji=/^[-+]?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)?)??$/,zi=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Zi="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Ot,Ui=/^(?:(?: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])$/,Hi=/^(?:(?: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])$/,Vi=/^(([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]))$/,Gi=/^(([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])$/,Ki=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Wi=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,sn="((\\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])))",qi=new RegExp(`^${sn}$`);function on(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let r=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${r}`}function Yi(t){return new RegExp(`^${on(t)}$`)}function an(t){let e=`${sn}T${on(t)}`,r=[];return r.push(t.local?"Z?":"Z"),t.offset&&r.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${r.join("|")})`,new RegExp(`^${e}$`)}function Ji(t,e){return!!((e==="v4"||!e)&&Ui.test(t)||(e==="v6"||!e)&&Vi.test(t))}function Xi(t,e){if(!Bi.test(t))return!1;try{let[r]=t.split(".");if(!r)return!1;let n=r.replace(/-/g,"+").replace(/_/g,"/").padEnd(r.length+(4-r.length%4)%4,"="),s=JSON.parse(atob(n));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}function Qi(t,e){return!!((e==="v4"||!e)&&Hi.test(t)||(e==="v6"||!e)&&Gi.test(t))}var re=class t extends T{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==y.string){let i=this._getOrReturnCtx(e);return g(i,{code:p.invalid_type,expected:y.string,received:i.parsedType}),x}let n=new N,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),g(s,{code:p.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),g(s,{code:p.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),n.dirty());else if(i.kind==="length"){let o=e.data.length>i.value,a=e.data.length<i.value;(o||a)&&(s=this._getOrReturnCtx(e,s),o?g(s,{code:p.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):a&&g(s,{code:p.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),n.dirty())}else if(i.kind==="email")zi.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"email",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="emoji")Ot||(Ot=new RegExp(Zi,"u")),Ot.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"emoji",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="uuid")Li.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"uuid",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="nanoid")Fi.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"nanoid",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid")Di.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"cuid",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="cuid2")Ni.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"cuid2",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="ulid")Mi.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"ulid",code:p.invalid_string,message:i.message}),n.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),g(s,{validation:"url",code:p.invalid_string,message:i.message}),n.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"regex",code:p.invalid_string,message:i.message}),n.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),n.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:{startsWith:i.value},message:i.message}),n.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:{endsWith:i.value},message:i.message}),n.dirty()):i.kind==="datetime"?an(i).test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:"datetime",message:i.message}),n.dirty()):i.kind==="date"?qi.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?Yi(i).test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:"time",message:i.message}),n.dirty()):i.kind==="duration"?ji.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"duration",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?Ji(e.data,i.version)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"ip",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="jwt"?Xi(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"jwt",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="cidr"?Qi(e.data,i.version)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"cidr",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="base64"?Ki.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"base64",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?Wi.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"base64url",code:p.invalid_string,message:i.message}),n.dirty()):R.assertNever(i);return{status:n.value,value:e.data}}_regex(e,r,n){return this.refinement(s=>e.test(s),{validation:r,code:p.invalid_string,...b.errToObj(n)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...b.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...b.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...b.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...b.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,r){return this._addCheck({kind:"regex",regex:e,...b.errToObj(r)})}includes(e,r){return this._addCheck({kind:"includes",value:e,position:r?.position,...b.errToObj(r?.message)})}startsWith(e,r){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(r)})}endsWith(e,r){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(r)})}min(e,r){return this._addCheck({kind:"min",value:e,...b.errToObj(r)})}max(e,r){return this._addCheck({kind:"max",value:e,...b.errToObj(r)})}length(e,r){return this._addCheck({kind:"length",value:e,...b.errToObj(r)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxLength(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};re.create=t=>new re({checks:[],typeName:E.ZodString,coerce:t?.coerce??!1,...S(t)});function eo(t,e){let r=(t.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=r>n?r:n,i=Number.parseInt(t.toFixed(s).replace(".","")),o=Number.parseInt(e.toFixed(s).replace(".",""));return i%o/10**s}var ue=class t extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==y.number){let i=this._getOrReturnCtx(e);return g(i,{code:p.invalid_type,expected:y.number,received:i.parsedType}),x}let n,s=new N;for(let i of this._def.checks)i.kind==="int"?R.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:p.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?eo(e.data,i.value)!==0&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:p.not_finite,message:i.message}),s.dirty()):R.assertNever(i);return{status:s.value,value:e.data}}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.toString(e)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&R.isInteger(e.value))}get isFinite(){let e=null,r=null;for(let n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(r===null||n.value>r)&&(r=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(r)&&Number.isFinite(e)}};ue.create=t=>new ue({checks:[],typeName:E.ZodNumber,coerce:t?.coerce||!1,...S(t)});var le=class t extends T{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==y.bigint)return this._getInvalidInput(e);let n,s=new N;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),g(n,{code:p.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):R.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let r=this._getOrReturnCtx(e);return g(r,{code:p.invalid_type,expected:y.bigint,received:r.parsedType}),x}gte(e,r){return this.setLimit("min",e,!0,b.toString(r))}gt(e,r){return this.setLimit("min",e,!1,b.toString(r))}lte(e,r){return this.setLimit("max",e,!0,b.toString(r))}lt(e,r){return this.setLimit("max",e,!1,b.toString(r))}setLimit(e,r,n,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:r,inclusive:n,message:b.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,r){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(r)})}get minValue(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e}get maxValue(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e}};le.create=t=>new le({checks:[],typeName:E.ZodBigInt,coerce:t?.coerce??!1,...S(t)});var de=class extends T{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==y.boolean){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.boolean,received:n.parsedType}),x}return M(e.data)}};de.create=t=>new de({typeName:E.ZodBoolean,coerce:t?.coerce||!1,...S(t)});var fe=class t extends T{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==y.date){let i=this._getOrReturnCtx(e);return g(i,{code:p.invalid_type,expected:y.date,received:i.parsedType}),x}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return g(i,{code:p.invalid_date}),x}let n=new N,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),g(s,{code:p.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),n.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),g(s,{code:p.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),n.dirty()):R.assertNever(i);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,r){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(r)})}max(e,r){return this._addCheck({kind:"max",value:e.getTime(),message:b.toString(r)})}get minDate(){let e=null;for(let r of this._def.checks)r.kind==="min"&&(e===null||r.value>e)&&(e=r.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let r of this._def.checks)r.kind==="max"&&(e===null||r.value<e)&&(e=r.value);return e!=null?new Date(e):null}};fe.create=t=>new fe({checks:[],coerce:t?.coerce||!1,typeName:E.ZodDate,...S(t)});var Oe=class extends T{_parse(e){if(this._getType(e)!==y.symbol){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.symbol,received:n.parsedType}),x}return M(e.data)}};Oe.create=t=>new Oe({typeName:E.ZodSymbol,...S(t)});var pe=class extends T{_parse(e){if(this._getType(e)!==y.undefined){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.undefined,received:n.parsedType}),x}return M(e.data)}};pe.create=t=>new pe({typeName:E.ZodUndefined,...S(t)});var me=class extends T{_parse(e){if(this._getType(e)!==y.null){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.null,received:n.parsedType}),x}return M(e.data)}};me.create=t=>new me({typeName:E.ZodNull,...S(t)});var ne=class extends T{constructor(){super(...arguments),this._any=!0}_parse(e){return M(e.data)}};ne.create=t=>new ne({typeName:E.ZodAny,...S(t)});var X=class extends T{constructor(){super(...arguments),this._unknown=!0}_parse(e){return M(e.data)}};X.create=t=>new X({typeName:E.ZodUnknown,...S(t)});var H=class extends T{_parse(e){let r=this._getOrReturnCtx(e);return g(r,{code:p.invalid_type,expected:y.never,received:r.parsedType}),x}};H.create=t=>new H({typeName:E.ZodNever,...S(t)});var Pe=class extends T{_parse(e){if(this._getType(e)!==y.undefined){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.void,received:n.parsedType}),x}return M(e.data)}};Pe.create=t=>new Pe({typeName:E.ZodVoid,...S(t)});var Q=class t extends T{_parse(e){let{ctx:r,status:n}=this._processInputParams(e),s=this._def;if(r.parsedType!==y.array)return g(r,{code:p.invalid_type,expected:y.array,received:r.parsedType}),x;if(s.exactLength!==null){let o=r.data.length>s.exactLength.value,a=r.data.length<s.exactLength.value;(o||a)&&(g(r,{code:o?p.too_big:p.too_small,minimum:a?s.exactLength.value:void 0,maximum:o?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&r.data.length<s.minLength.value&&(g(r,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&r.data.length>s.maxLength.value&&(g(r,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),r.common.async)return Promise.all([...r.data].map((o,a)=>s.type._parseAsync(new Z(r,o,r.path,a)))).then(o=>N.mergeArray(n,o));let i=[...r.data].map((o,a)=>s.type._parseSync(new Z(r,o,r.path,a)));return N.mergeArray(n,i)}get element(){return this._def.type}min(e,r){return new t({...this._def,minLength:{value:e,message:b.toString(r)}})}max(e,r){return new t({...this._def,maxLength:{value:e,message:b.toString(r)}})}length(e,r){return new t({...this._def,exactLength:{value:e,message:b.toString(r)}})}nonempty(e){return this.min(1,e)}};Q.create=(t,e)=>new Q({type:t,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...S(e)});function $e(t){if(t instanceof F){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=z.create($e(n))}return new F({...t._def,shape:()=>e})}else return t instanceof Q?new Q({...t._def,type:$e(t.element)}):t instanceof z?z.create($e(t.unwrap())):t instanceof q?q.create($e(t.unwrap())):t instanceof W?W.create(t.items.map(e=>$e(e))):t}var F=class t extends T{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),r=R.objectKeys(e);return this._cached={shape:e,keys:r},this._cached}_parse(e){if(this._getType(e)!==y.object){let u=this._getOrReturnCtx(e);return g(u,{code:p.invalid_type,expected:y.object,received:u.parsedType}),x}let{status:n,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof H&&this._def.unknownKeys==="strip"))for(let u in s.data)o.includes(u)||a.push(u);let c=[];for(let u of o){let l=i[u],f=s.data[u];c.push({key:{status:"valid",value:u},value:l._parse(new Z(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof H){let u=this._def.unknownKeys;if(u==="passthrough")for(let l of a)c.push({key:{status:"valid",value:l},value:{status:"valid",value:s.data[l]}});else if(u==="strict")a.length>0&&(g(s,{code:p.unrecognized_keys,keys:a}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let u=this._def.catchall;for(let l of a){let f=s.data[l];c.push({key:{status:"valid",value:l},value:u._parse(new Z(s,f,s.path,l)),alwaysSet:l in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let u=[];for(let l of c){let f=await l.key,d=await l.value;u.push({key:f,value:d,alwaysSet:l.alwaysSet})}return u}).then(u=>N.mergeObjectSync(n,u)):N.mergeObjectSync(n,c)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(r,n)=>{let s=this._def.errorMap?.(r,n).message??n.defaultError;return r.code==="unrecognized_keys"?{message:b.errToObj(e).message??s}:{message:s}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:E.ZodObject})}setKey(e,r){return this.augment({[e]:r})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let r={};for(let n of R.objectKeys(e))e[n]&&this.shape[n]&&(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}omit(e){let r={};for(let n of R.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return $e(this)}partial(e){let r={};for(let n of R.objectKeys(this.shape)){let s=this.shape[n];e&&!e[n]?r[n]=s:r[n]=s.optional()}return new t({...this._def,shape:()=>r})}required(e){let r={};for(let n of R.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof z;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return cn(R.objectKeys(this.shape))}};F.create=(t,e)=>new F({shape:()=>t,unknownKeys:"strip",catchall:H.create(),typeName:E.ZodObject,...S(e)});F.strictCreate=(t,e)=>new F({shape:()=>t,unknownKeys:"strict",catchall:H.create(),typeName:E.ZodObject,...S(e)});F.lazycreate=(t,e)=>new F({shape:t,unknownKeys:"strip",catchall:H.create(),typeName:E.ZodObject,...S(e)});var he=class extends T{_parse(e){let{ctx:r}=this._processInputParams(e),n=this._def.options;function s(i){for(let a of i)if(a.result.status==="valid")return a.result;for(let a of i)if(a.result.status==="dirty")return r.common.issues.push(...a.ctx.common.issues),a.result;let o=i.map(a=>new L(a.ctx.common.issues));return g(r,{code:p.invalid_union,unionErrors:o}),x}if(r.common.async)return Promise.all(n.map(async i=>{let o={...r,common:{...r.common,issues:[]},parent:null};return{result:await i._parseAsync({data:r.data,path:r.path,parent:o}),ctx:o}})).then(s);{let i,o=[];for(let c of n){let u={...r,common:{...r.common,issues:[]},parent:null},l=c._parseSync({data:r.data,path:r.path,parent:u});if(l.status==="valid")return l;l.status==="dirty"&&!i&&(i={result:l,ctx:u}),u.common.issues.length&&o.push(u.common.issues)}if(i)return r.common.issues.push(...i.ctx.common.issues),i.result;let a=o.map(c=>new L(c));return g(r,{code:p.invalid_union,unionErrors:a}),x}}get options(){return this._def.options}};he.create=(t,e)=>new he({options:t,typeName:E.ZodUnion,...S(e)});var J=t=>t instanceof ye?J(t.schema):t instanceof U?J(t.innerType()):t instanceof _e?[t.value]:t instanceof be?t.options:t instanceof ve?R.objectValues(t.enum):t instanceof xe?J(t._def.innerType):t instanceof pe?[void 0]:t instanceof me?[null]:t instanceof z?[void 0,...J(t.unwrap())]:t instanceof q?[null,...J(t.unwrap())]:t instanceof Ge||t instanceof we?J(t.unwrap()):t instanceof Ee?J(t._def.innerType):[],ot=class t extends T{_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==y.object)return g(r,{code:p.invalid_type,expected:y.object,received:r.parsedType}),x;let n=this.discriminator,s=r.data[n],i=this.optionsMap.get(s);return i?r.common.async?i._parseAsync({data:r.data,path:r.path,parent:r}):i._parseSync({data:r.data,path:r.path,parent:r}):(g(r,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),x)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,r,n){let s=new Map;for(let i of r){let o=J(i.shape[e]);if(!o.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let a of o){if(s.has(a))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(a)}`);s.set(a,i)}}return new t({typeName:E.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:s,...S(n)})}};function Pt(t,e){let r=K(t),n=K(e);if(t===e)return{valid:!0,data:t};if(r===y.object&&n===y.object){let s=R.objectKeys(e),i=R.objectKeys(t).filter(a=>s.indexOf(a)!==-1),o={...t,...e};for(let a of i){let c=Pt(t[a],e[a]);if(!c.valid)return{valid:!1};o[a]=c.data}return{valid:!0,data:o}}else if(r===y.array&&n===y.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let o=t[i],a=e[i],c=Pt(o,a);if(!c.valid)return{valid:!1};s.push(c.data)}return{valid:!0,data:s}}else return r===y.date&&n===y.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}var ge=class extends T{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=(i,o)=>{if(st(i)||st(o))return x;let a=Pt(i.value,o.value);return a.valid?((it(i)||it(o))&&r.dirty(),{status:r.value,value:a.data}):(g(n,{code:p.invalid_intersection_types}),x)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([i,o])=>s(i,o)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}};ge.create=(t,e,r)=>new ge({left:t,right:e,typeName:E.ZodIntersection,...S(r)});var W=class t extends T{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==y.array)return g(n,{code:p.invalid_type,expected:y.array,received:n.parsedType}),x;if(n.data.length<this._def.items.length)return g(n,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&n.data.length>this._def.items.length&&(g(n,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),r.dirty());let i=[...n.data].map((o,a)=>{let c=this._def.items[a]||this._def.rest;return c?c._parse(new Z(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>N.mergeArray(r,o)):N.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};W.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new W({items:t,typeName:E.ZodTuple,rest:null,...S(e)})};var at=class t extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==y.object)return g(n,{code:p.invalid_type,expected:y.object,received:n.parsedType}),x;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in n.data)s.push({key:i._parse(new Z(n,a,n.path,a)),value:o._parse(new Z(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?N.mergeObjectAsync(r,s):N.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof T?new t({keyType:e,valueType:r,typeName:E.ZodRecord,...S(n)}):new t({keyType:re.create(),valueType:e,typeName:E.ZodRecord,...S(r)})}},De=class extends T{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==y.map)return g(n,{code:p.invalid_type,expected:y.map,received:n.parsedType}),x;let s=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],u)=>({key:s._parse(new Z(n,a,n.path,[u,"key"])),value:i._parse(new Z(n,c,n.path,[u,"value"]))}));if(n.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let c of o){let u=await c.key,l=await c.value;if(u.status==="aborted"||l.status==="aborted")return x;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}})}else{let a=new Map;for(let c of o){let u=c.key,l=c.value;if(u.status==="aborted"||l.status==="aborted")return x;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};De.create=(t,e,r)=>new De({valueType:e,keyType:t,typeName:E.ZodMap,...S(r)});var Ne=class t extends T{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.parsedType!==y.set)return g(n,{code:p.invalid_type,expected:y.set,received:n.parsedType}),x;let s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(g(n,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),r.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(g(n,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),r.dirty());let i=this._def.valueType;function o(c){let u=new Set;for(let l of c){if(l.status==="aborted")return x;l.status==="dirty"&&r.dirty(),u.add(l.value)}return{status:r.value,value:u}}let a=[...n.data.values()].map((c,u)=>i._parse(new Z(n,c,n.path,u)));return n.common.async?Promise.all(a).then(c=>o(c)):o(a)}min(e,r){return new t({...this._def,minSize:{value:e,message:b.toString(r)}})}max(e,r){return new t({...this._def,maxSize:{value:e,message:b.toString(r)}})}size(e,r){return this.min(e,r).max(e,r)}nonempty(e){return this.min(1,e)}};Ne.create=(t,e)=>new Ne({valueType:t,minSize:null,maxSize:null,typeName:E.ZodSet,...S(e)});var ct=class t extends T{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==y.function)return g(r,{code:p.invalid_type,expected:y.function,received:r.parsedType}),x;function n(a,c){return Ve({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ce(),Y].filter(u=>!!u),issueData:{code:p.invalid_arguments,argumentsError:c}})}function s(a,c){return Ve({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Ce(),Y].filter(u=>!!u),issueData:{code:p.invalid_return_type,returnTypeError:c}})}let i={errorMap:r.common.contextualErrorMap},o=r.data;if(this._def.returns instanceof se){let a=this;return M(async function(...c){let u=new L([]),l=await a._def.args.parseAsync(c,i).catch(m=>{throw u.addIssue(n(c,m)),u}),f=await Reflect.apply(o,this,l);return await a._def.returns._def.type.parseAsync(f,i).catch(m=>{throw u.addIssue(s(f,m)),u})})}else{let a=this;return M(function(...c){let u=a._def.args.safeParse(c,i);if(!u.success)throw new L([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),f=a._def.returns.safeParse(l,i);if(!f.success)throw new L([s(l,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:W.create(e).rest(X.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,r,n){return new t({args:e||W.create([]).rest(X.create()),returns:r||X.create(),typeName:E.ZodFunction,...S(n)})}},ye=class extends T{get schema(){return this._def.getter()}_parse(e){let{ctx:r}=this._processInputParams(e);return this._def.getter()._parse({data:r.data,path:r.path,parent:r})}};ye.create=(t,e)=>new ye({getter:t,typeName:E.ZodLazy,...S(e)});var _e=class extends T{_parse(e){if(e.data!==this._def.value){let r=this._getOrReturnCtx(e);return g(r,{received:r.data,code:p.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:e.data}}get value(){return this._def.value}};_e.create=(t,e)=>new _e({value:t,typeName:E.ZodLiteral,...S(e)});function cn(t,e){return new be({values:t,typeName:E.ZodEnum,...S(e)})}var be=class t extends T{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return g(r,{expected:R.joinValues(n),received:r.parsedType,code:p.invalid_type}),x}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let r=this._getOrReturnCtx(e),n=this._def.values;return g(r,{received:r.data,code:p.invalid_enum_value,options:n}),x}return M(e.data)}get options(){return this._def.values}get enum(){let e={};for(let r of this._def.values)e[r]=r;return e}get Values(){let e={};for(let r of this._def.values)e[r]=r;return e}get Enum(){let e={};for(let r of this._def.values)e[r]=r;return e}extract(e,r=this._def){return t.create(e,{...this._def,...r})}exclude(e,r=this._def){return t.create(this.options.filter(n=>!e.includes(n)),{...this._def,...r})}};be.create=cn;var ve=class extends T{_parse(e){let r=R.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==y.string&&n.parsedType!==y.number){let s=R.objectValues(r);return g(n,{expected:R.joinValues(s),received:n.parsedType,code:p.invalid_type}),x}if(this._cache||(this._cache=new Set(R.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=R.objectValues(r);return g(n,{received:n.data,code:p.invalid_enum_value,options:s}),x}return M(e.data)}get enum(){return this._def.values}};ve.create=(t,e)=>new ve({values:t,typeName:E.ZodNativeEnum,...S(e)});var se=class extends T{unwrap(){return this._def.type}_parse(e){let{ctx:r}=this._processInputParams(e);if(r.parsedType!==y.promise&&r.common.async===!1)return g(r,{code:p.invalid_type,expected:y.promise,received:r.parsedType}),x;let n=r.parsedType===y.promise?r.data:Promise.resolve(r.data);return M(n.then(s=>this._def.type.parseAsync(s,{path:r.path,errorMap:r.common.contextualErrorMap})))}};se.create=(t,e)=>new se({type:t,typeName:E.ZodPromise,...S(e)});var U=class extends T{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o=>{g(n,o),o.fatal?r.abort():r.dirty()},get path(){return n.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let o=s.transform(n.data,i);if(n.common.async)return Promise.resolve(o).then(async a=>{if(r.value==="aborted")return x;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?x:c.status==="dirty"?ce(c.value):r.value==="dirty"?ce(c.value):c});{if(r.value==="aborted")return x;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?x:a.status==="dirty"?ce(a.value):r.value==="dirty"?ce(a.value):a}}if(s.type==="refinement"){let o=a=>{let c=s.refinement(a,i);if(n.common.async)return Promise.resolve(c);if(c instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(n.common.async===!1){let a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return a.status==="aborted"?x:(a.status==="dirty"&&r.dirty(),o(a.value),{status:r.value,value:a.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>a.status==="aborted"?x:(a.status==="dirty"&&r.dirty(),o(a.value).then(()=>({status:r.value,value:a.value}))))}if(s.type==="transform")if(n.common.async===!1){let o=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!te(o))return x;let a=s.transform(o.value,i);if(a instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:r.value,value:a}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(o=>te(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:r.value,value:a})):x);R.assertNever(s)}};U.create=(t,e,r)=>new U({schema:t,typeName:E.ZodEffects,effect:e,...S(r)});U.createWithPreprocess=(t,e,r)=>new U({schema:e,effect:{type:"preprocess",transform:t},typeName:E.ZodEffects,...S(r)});var z=class extends T{_parse(e){return this._getType(e)===y.undefined?M(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};z.create=(t,e)=>new z({innerType:t,typeName:E.ZodOptional,...S(e)});var q=class extends T{_parse(e){return this._getType(e)===y.null?M(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};q.create=(t,e)=>new q({innerType:t,typeName:E.ZodNullable,...S(e)});var xe=class extends T{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return r.parsedType===y.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:r.path,parent:r})}removeDefault(){return this._def.innerType}};xe.create=(t,e)=>new xe({innerType:t,typeName:E.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...S(e)});var Ee=class extends T{_parse(e){let{ctx:r}=this._processInputParams(e),n={...r,common:{...r.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Ie(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new L(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new L(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ee.create=(t,e)=>new Ee({innerType:t,typeName:E.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...S(e)});var Me=class extends T{_parse(e){if(this._getType(e)!==y.nan){let n=this._getOrReturnCtx(e);return g(n,{code:p.invalid_type,expected:y.nan,received:n.parsedType}),x}return{status:"valid",value:e.data}}};Me.create=t=>new Me({typeName:E.ZodNaN,...S(t)});var to=Symbol("zod_brand"),Ge=class extends T{_parse(e){let{ctx:r}=this._processInputParams(e),n=r.data;return this._def.type._parse({data:n,path:r.path,parent:r})}unwrap(){return this._def.type}},Ke=class t extends T{_parse(e){let{status:r,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{let i=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return i.status==="aborted"?x:i.status==="dirty"?(r.dirty(),ce(i.value)):this._def.out._parseAsync({data:i.value,path:n.path,parent:n})})();{let s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?x:s.status==="dirty"?(r.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,r){return new t({in:e,out:r,typeName:E.ZodPipeline})}},we=class extends T{_parse(e){let r=this._def.innerType._parse(e),n=s=>(te(s)&&(s.value=Object.freeze(s.value)),s);return Ie(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}};we.create=(t,e)=>new we({innerType:t,typeName:E.ZodReadonly,...S(e)});function nn(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function un(t,e={},r){return t?ne.create().superRefine((n,s)=>{let i=t(n);if(i instanceof Promise)return i.then(o=>{if(!o){let a=nn(e,n),c=a.fatal??r??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=nn(e,n),a=o.fatal??r??!0;s.addIssue({code:"custom",...o,fatal:a})}}):ne.create()}var ro={object:F.lazycreate},E;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(E||(E={}));var no=(t,e={message:`Input not instance of ${t.name}`})=>un(r=>r instanceof t,e),ln=re.create,dn=ue.create,so=Me.create,io=le.create,fn=de.create,oo=fe.create,ao=Oe.create,co=pe.create,uo=me.create,lo=ne.create,fo=X.create,po=H.create,mo=Pe.create,ho=Q.create,go=F.create,yo=F.strictCreate,_o=he.create,bo=ot.create,vo=ge.create,xo=W.create,Eo=at.create,wo=De.create,ko=Ne.create,So=ct.create,To=ye.create,Ro=_e.create,Ao=be.create,Co=ve.create,Io=se.create,$o=U.create,Oo=z.create,Po=q.create,Do=U.createWithPreprocess,No=Ke.create,Mo=()=>ln().optional(),Lo=()=>dn().optional(),Fo=()=>fn().optional(),Bo={string:(t=>re.create({...t,coerce:!0})),number:(t=>ue.create({...t,coerce:!0})),boolean:(t=>de.create({...t,coerce:!0})),bigint:(t=>le.create({...t,coerce:!0})),date:(t=>fe.create({...t,coerce:!0}))};var jo=x;var Le=h.object({slug:h.string().min(1).max(64),description:h.string().max(255).optional(),match_command:h.string().min(1),priority:h.number().int().default(50),strip_ansi:h.boolean().default(!1),strip_lines_matching:h.array(h.string()).default([]),keep_failures:h.boolean().default(!1),fold_passing:h.boolean().default(!1),fold_passing_threshold:h.number().int().positive().max(1e3).optional(),mask_abs_paths:h.boolean().default(!1),preserve_exact:h.boolean().default(!1),truncate_lines_at:h.number().int().positive().max(1e4).optional(),max_lines:h.number().int().positive().max(1e5).optional(),scale_with_level:h.boolean().default(!0),transform:h.string().max(64).optional(),on_empty:h.string().max(255).optional()});var Vo=Uo(Ho(import.meta.url)),pn=process.env.TOKMIZER_FILTERS_DIR||hn(Vo,"..","..","filters"),ie=null,mn=!1;function Go(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function gn(){if(ie)return ie;if(!Go())return!mn&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
4
- `),mn=!0),ie=new Map,ie;let t=new Map,e,r;try{e=(await import("smol-toml")).parse,r=(await zo(pn)).filter(n=>n.endsWith(".toml"))}catch{return ie=t,ie}for(let n of r){let s=await Zo(hn(pn,n),"utf8"),o=e(s).filters;if(o)for(let[a,c]of Object.entries(o)){let u=Le.parse({slug:a,...c});t.set(a,{...u,matchRegex:new RegExp(u.match_command)})}}return ie=t,ie}import{createHash as Ko}from"node:crypto";var Wo=h.enum(["normal","compact","minimal"]),qo=h.enum(["off","light","balanced","max"]),We=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:Wo.default("compact"),reducer:qo.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Yo=["git","git-status","git-log","git-diff","grep","find","diff","ls","ls-long","ps","cat","head","tail","df","du","tree","wc","nl","xargs","seq","echo","printf","sleep","shasum","python","node","read-tool","grep-tool","glob-tool","bash-tool","npm","npm-test","docker","kubectl","curl","cargo","go-test","go-build","gh","gh-api","aws","dotnet","prisma","tsc","next","jest","vitest","pytest","pip","rspec"],Jo=/^[0-9a-f]{16}$/,yn=new Map;function V(t){let e=yn.get(t);return e||(e=Ko("sha256").update(`tkr:${t}`).digest("hex").slice(0,16),yn.set(t,e)),e}var _n=null;function ut(t,e=!1){return e||!t||t.length===0?(_n??=new Set(Yo.map(V)),new Set(_n)):new Set(t.map(r=>Jo.test(r)?r:V(r)))}var bn=new WeakMap,Xo=256;function lt(t,e,r,n=e){let s=bn.get(n);s||(s=new Map,bn.set(n,s));let i=JSON.stringify([t,r?[...r].sort():null]),o=s.get(i);if(o!==void 0)return o;let a=null;for(let c of e)r&&!r.has(V(c.slug))||c.matchRegex.test(t)&&(!a||c.priority>a.priority)&&(a=c);if(s.size>=Xo){let c=s.keys().next().value;c&&s.delete(c)}return s.set(i,a),a}var Qo=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,ea=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ke(t){return t.replace(Qo,"").replace(ea,"")}function vn(t,e){return e.length===0?t:t.filter(r=>!e.some(n=>n.test(r)))}function xn(t,e){return t.map(r=>{if(r.length<=e)return r;let n=r.charCodeAt(e-1),s=r.charCodeAt(e),i=n>=55296&&n<=56319&&s>=56320&&s<=57343?e-1:e;return`${r.slice(0,i)}\u2026`})}function dt(t){return`\u2026 (${t} more lines omitted)`}function En(t,e){if(t.length<=e)return{kept:t,dropped:[]};let r=Math.ceil(e*.7),n=e-r,s=t.slice(r,t.length-n);return{kept:[...t.slice(0,r),dt(s.length),...t.slice(t.length-n)],dropped:s}}var ta=/^\s*(?:[✓✔√]|ok )/,oe=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function wn(t,e){let r=e>0?e:5,n=[],s=0,i=a=>{s>=r?n.push(`\u2026 ${s} passing checks folded \u2026`):n.push(...a)},o=[];for(let a of t)ta.test(a)&&!oe.test(a)?(o.push(a),s+=1):(i(o),o=[],s=0,n.push(a));return i(o),n}var ra=/(?:\/[\w.@+-]+){3,}/g;function kn(t){return t.map(e=>e.replace(ra,r=>{let n=r.split("/").filter(Boolean);return n.length<=2?r:`\u2026/${n.slice(-2).join("/")}`}))}var na=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,sa=/\{\s*$/;var ia=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,oa=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function aa(t){let e=ia.exec(t);return!e||oa.has(e[1])?!1:!/=>|\bfunction\b/.test(e[2])}var ca=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function ua(t,e,r){let n=e;for(;n<t.length;){if(t[n]==="\\"){n+=2;continue}if(t[n]===r)return!0;n+=1}return!1}function la(t,e){let r=0,n=null,s=0;for(;s<t.length;){let i=t[s];if(e.inBlockComment){if(i==="*"&&t[s+1]==="/"){e.inBlockComment=!1,s+=2;continue}s+=1;continue}if(e.inTemplate){if(i==="\\"){s+=2;continue}i==="`"&&(e.inTemplate=!1),s+=1;continue}if(n){if(i==="\\"){s+=2;continue}i===n&&(n=null),s+=1;continue}if(i==="/"&&t[s+1]==="/")break;if(i==="/"&&t[s+1]==="*"){e.inBlockComment=!0,s+=2;continue}if(i==="`"){e.inTemplate=!0,s+=1;continue}if(i==="'"||i==='"'){let o=s>0?t[s-1]:"";!(i==="'"&&(o==="<"||o==="&"))&&ua(t,s+1,i)&&(n=i),s+=1;continue}i==="{"||i==="("||i==="["?r+=1:(i==="}"||i===")"||i==="]")&&(r-=1),s+=1}return r}var Sn=/^\s*… \d+ lines? folded …$/,da=/^\s*… (\d+) lines? folded …$/;function Dt(t){let e=new Array(t.length).fill(!1);for(let r=0;r<t.length;r+=1){let n=da.exec(t[r]);if(!n)continue;let s=Number(n[1])-1,i=r+1;for(;s>0&&i<t.length&&t[i]==="";)e[i]=!0,s-=1,i+=1;r=i-1}return e}function qe(t,e=3){let r=[],n=0;for(;n<t.length;){let s=t[n];if(na.test(s)&&sa.test(s)||aa(s)||ca.test(s)){let i={inBlockComment:!1,inTemplate:!1},o=0,a=n,c=!1;for(;a<t.length&&a-n<200;)if(o+=la(t[a],i),a+=1,o<=0&&!i.inTemplate&&!i.inBlockComment){c=!0;break}let u=a-n;if(c&&u<e){r.push(...t.slice(n,a)),n=a;continue}if(c&&u>=3){let l=u-2,f=/^\s*/.exec(t[n+1]??"")?.[0]??" ";r.push(s),r.push(`${f}\u2026 ${l} ${l===1?"line":"lines"} folded \u2026`);for(let d=0;d<l-1;d++)r.push("");r.push(t[a-1]),n=a;continue}}r.push(s),n+=1}return r}var fa=/\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 ft(t){let e=t.slice(0,4096);return!(!fa.test(e)||e.split(`
5
- `).length<6)}var pa=/^\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*/,ma=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,ha=new RegExp(oe.source,"i"),ga=/\bWARN(?:ING)?\b/i;function Tn(t){let e=[],r=0,n=()=>{r>0&&e.push(`\u2026 ${r} verbose log line${r===1?"":"s"} dropped \u2026`),r=0};for(let s of t){if(ma.test(s.replace(pa,""))&&!ha.test(s)&&!ga.test(s)){r+=1;continue}n(),e.push(s)}return n(),e}function Rn(t){if(t.length===0)return t;let e=[],r=1,n=t[0];for(let s=1;s<t.length;s++){if(t[s]===n){r+=1;continue}e.push(r>1?`${n} \xD7${r}`:n),n=t[s],r=1}return e.push(r>1?`${n} \xD7${r}`:n),e}function An(t){let e=[],r=0;for(let n of t){if(n.trim()===""){r+=1;continue}r>0&&e.push(""),r=0,e.push(n)}return e}var Cn=new Map;function B(t,e){Cn.set(t,e)}function In(t){return Cn.get(t)}var ya=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,_a=/^[./~][^\s]*:$/,Nt=1e3;function ba(t){if(t<1024)return String(t);let e=["K","M","G","T"],r=t/1024,n=0;for(;r>=1024&&n<e.length-1;)r/=1024,n+=1;return`${r.toFixed(1)}${e[n]}`}function va(t){if(!ya.test(t))return null;let e=t.split(/\s+/);if(e.length<9)return null;let r=Number(e[4]);if(!Number.isFinite(r))return null;let n=e.slice(8).join(" ").trim();if(n===""||n==="."||n==="..")return null;let s=e[0].charCodeAt(0)===100;return{name:n,size:r,isDir:s}}function xa(t){if(t.length<3)return null;let e=new Map;for(let s of t){let i=s.name.lastIndexOf(".");if(i<=0)continue;let o=s.name.slice(i);e.set(o,(e.get(o)??0)+1)}let r=null,n=0;for(let[s,i]of e)i>n&&(n=i,r=s);return r&&n>=Math.ceil(t.length/2)?`${n} ${r}`:null}function Ea(t){let e=[],r=[],n=!1;for(let d of t){if(/^total\s+\d+/.test(d))continue;if(_a.test(d.trim()))return t;let m=va(d);m&&(n=!0,(m.isDir?e:r).push(m))}if(!n)return t;let s=(d,m)=>d.name.localeCompare(m.name);e.sort(s),r.sort((d,m)=>m.size-d.size||s(d,m));let i=[...e,...r],o=Math.min(40,Math.max(0,...i.map(d=>d.isDir?d.name.length+1:d.name.length))),a=[];for(let d of i){let m=d.isDir?`${d.name}/`:d.name,v=d.isDir?"":ba(d.size);a.push(v?`${m.padEnd(o)} ${v}`:m)}if(a.length>Nt){let d=a.length-Nt;a=[...a.slice(0,Nt),`\u2026 ${d} more lines omitted`]}let c=r.length===1?"file":"files",u=e.length===1?"dir":"dirs",l=xa(r),f=`${r.length} ${c}, ${e.length} ${u}`+(l?` (${l})`:"");return a.push(f),a}B("smart-ls",Ea);B("smart-read",t=>qe(t));var $n=1e3;function wa(t){let e=t.filter(l=>l.trim()!=="");if(e.length===0||e.filter(l=>!/\s/.test(l.trim())).length<e.length*.6)return t;let n=new Map,s=[],i=0;for(let l of e){let f=l.trim();if(f.startsWith("find:")){s.push(f);continue}let d=f.replace(/^\.\//,"").replace(/\/+$/,""),m=d.lastIndexOf("/"),v=m>=0?d.slice(0,m):"",w=m>=0?d.slice(m+1):d;if(!w)continue;let _=n.get(v)??[];_.push(/\s/.test(w)?`"${w}"`:w),n.set(v,_),i+=1}if(i===0)return t;let o=new Set([""]);for(let l of n.keys()){if(l==="")continue;let f=l.split("/");for(let d=1;d<=f.length;d+=1)o.add(f.slice(0,d).join("/"))}let a=[...o].sort(),c=a.filter(l=>l!=="").length,u=[`${i}F ${c}D:`,""];for(let l of a){let f=l===""?0:l.split("/").length,d=l===""?".":l.slice(l.lastIndexOf("/")+1),m=n.get(l)??[],v=m.length?` ${m.join(" ")}`:"";u.push(`${" ".repeat(f)}${d}/${v}`)}if(u.length+s.length>$n){let l=Math.max(0,$n-s.length),f=u.length-l;return[...u.slice(0,l),`\u2026 ${f} more lines omitted`,...s]}return[...u,...s]}B("smart-find",wa);var Mt=1e3,On=200,ka=60,Sa=190,Ta=/^([^\s:]+):(\d+):(.*)$/,Ra=/^([^:]+?)-(\d+)-(.*)$/,Aa=/^([^\s:]+):(.*)$/,Pn=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function Dn(t){let e=t.trim();return e.length>On?`${e.slice(0,On)}\u2026`:e}function Ca(t){let e=[],r="";for(let n of t){let s=r?`${r}, ${n}`:n;s.length>Sa&&r?(e.push(`${r},`),r=n):r=s}return r&&e.push(r),e}function Ia(t){let e=t.filter(f=>f.trim()!=="");if(e.length===0)return t;let r=new Map,n=new Map,s=null,i=0,o=0;for(let f of e){if(f==="--"){s&&r.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(f))return t;let d=Ta.exec(f),m=Ra.exec(f);if(d&&m)return t;let v=d||m?null:Aa.exec(f),w=(d??m??v)?.[1];if(!w)return t;let _=d?{line:d[2],content:d[3],context:!1}:m?{line:m[2],content:m[3],context:!0}:{line:"",content:v[2],context:!1},I=r.get(w)??[];I.push(_),r.set(w,I),_.context||(i+=1,n.set(w,(n.get(w)??0)+1)),o+=1,s=w}if(r.size===o)return t;let a=[...r.keys()].sort((f,d)=>{let m=Pn.test(f)?1:0,v=Pn.test(d)?1:0;return m-v||(f<d?-1:f>d?1:0)}),c=[];for(let f of a){c.push(`${f} (${n.get(f)??0}):`);for(let d of r.get(f))"separator"in d?c.push(" --"):d.line?c.push(` ${d.line}${d.context?"-":":"} ${Dn(d.content)}`):c.push(` ${Dn(d.content)}`)}let u=a.length>1&&c.length>ka?Ca(a.map(f=>`${f} (${n.get(f)??0})`)):[],l=[`${i}m ${a.length}f:`,...u,"",...c];if(l.length>Mt){let f=l.length-Mt;return[...l.slice(0,Mt),`\u2026 ${f} more lines omitted`]}return l}B("smart-grep",Ia);var Nn=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,$a=/^[|\\/* ._-]*$/,Oa=/^ {4}/,Pa=2;function Da(t){if(!t.some(u=>Nn.test(u)))return t;let e=[],r=0,n=0,s=0,i="",o=!1,a=!1,c=()=>{n>0&&e.push(`${i} \u2026 ${n} ${n===1?"line":"lines"} folded \u2026`),n=0};for(let u of t){let l=u.slice(0,s),f=$a.test(l),d=f?u.slice(s):u,m=Oa.test(d),v=o&&m?null:Nn.exec(u);if(v){c(),r=0,s=v[1]?.length??0,o=!0,a=!1,e.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),m&&!a&&!(s>0&&d.trim().length===0)){r+=1,r<=Pa?e.push(u):(n+=1,i=f?l:"");continue}c(),e.push(u)}return c(),e}B("smart-log",Da);var Na=/^[\s=]+$/,Ma=/^\s*=+\s+(.*?)\s+=+\s*$/,La=512;B("strip-banners",t=>{let e=[];for(let r of t){if(Na.test(r))continue;let n=r.length<=La?Ma.exec(r):null;e.push(n?n[1]:r)}return e});function Fa(t){let e=[],r=0,n=0;for(;n<t.length;){let s=t[n].replace(/\s+$/,"");if(s===""){r+=1,n+=1,r<=1&&e.push("");continue}r=0;let i=1;for(;n+i<t.length&&t[n+i].replace(/\s+$/,"")===s;)i+=1;if(i>=3)e.push(s),e.push(` \u2026 (repeated ${i}x)`);else for(let o=0;o<i;o++)e.push(s);n+=i}for(;e.length>0&&e[e.length-1]==="";)e.pop();return e}B("squeeze-output",Fa);function Ba(t){return t==="compact"?.6:t==="minimal"?.3:1}var ja=20;function za(t){let[e,r,n,s]=t.slice(-4);if(!e||!r||!n||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(e)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(r)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(n))return t;let i=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return i?[...t.slice(0,-4).filter((a,c)=>c>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),e,r,i]:t}var Mn=new WeakMap;function Za(t){let e=Mn.get(t);if(e)return e;let r=t.strip_lines_matching.map(s=>new RegExp(s)),n={def:t,stripRegexes:r};return Mn.set(t,n),n}function Ln(t,e,r={}){return Lt(t,e,r).text}function Lt(t,e,r={}){let n=r.verbosity??"normal";if(!e.strip_ansi&&e.strip_lines_matching.length===0&&!e.transform&&!e.mask_abs_paths&&!e.fold_passing&&!e.truncate_lines_at&&!e.max_lines&&!e.on_empty&&!r.smartCode&&n==="normal")return{text:t,droppedTail:null};let s=Za(e),i=t;e.strip_ansi&&(i=ke(i));let o=i.endsWith(`
6
- `),a=(o?i.slice(0,-1):i).split(`
7
- `);s.stripRegexes.length&&(a=e.keep_failures?a.filter(d=>oe.test(d)||!s.stripRegexes.some(m=>m.test(d))):vn(a,s.stripRegexes)),n!=="normal"&&!e.preserve_exact&&(a=Rn(a),a=An(a)),n==="minimal"&&!e.preserve_exact&&(a=Tn(a),(e.slug==="vitest"||e.slug==="npm-test")&&(a=za(a)));let c=e.transform==="smart-read"&&r.smartCode!==!0?n==="compact"?8:n==="minimal"?6:3:3;if(!e.preserve_exact&&(r.smartCode||r.smartCode===void 0&&n!=="normal"&&ft(i))&&(a=qe(a,c)),e.transform){let d=In(e.transform);e.transform==="smart-read"?a=qe(a,c):d&&(a=d(a))}let u=e.slug==="read-tool";if(!u){let d=Dt(a);d.some(Boolean)&&(a=a.filter((m,v)=>!d[v]))}e.mask_abs_paths&&(a=kn(a)),e.fold_passing&&(a=wn(a,e.fold_passing_threshold??5)),e.truncate_lines_at&&(a=xn(a,e.truncate_lines_at));let l=null;if(e.max_lines){let d=e.scale_with_level?Ba(r.verbosity):1,m=Math.min(e.max_lines,Math.max(ja,Math.round(e.max_lines*d))),v=u?Dt(a):null,w=v?v.filter(_=>!_).length:a.length;if(w>m){let _=m;if(v){let k=0;for(_=0;_<a.length&&k<m;)v[_]||(k+=1),_+=1}let I=w-m;if(e.keep_failures){let k=a.slice(_),P=k.filter(O=>!oe.test(O)),A=k.reduce((O,C,G)=>O+(!oe.test(C)&&!v?.[_+G]?1:0),0);l=P.length>0?P.join(`
8
- `):null,a=[...a.slice(0,_),...A>0?[dt(A)]:[],...k.filter(O=>oe.test(O))]}else if(u)l=a.slice(_).join(`
9
- `),a=[...a.slice(0,_),dt(I)];else{let{kept:k,dropped:P}=En(a,m);l=P.length>0?P.join(`
10
- `):null,a=k}}}let f=a.join(`
11
- `);return o&&f.length>0&&(f+=`
12
- `),f.trim().length===0&&e.on_empty&&(f=e.on_empty),{text:f,droppedTail:l}}var Ua=[/\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 Fn(t){if(!t)return!1;for(let e of ke(t).split(`
13
- `))if(!/^\s*[✓✔√]\s/.test(e)&&Ua.some(r=>r.test(e)))return!0;return!1}var Ha=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Va=/^[A-Za-z_][A-Za-z0-9_]*=/,Ft=/^([a-z]+)-tool(?::\s|$)/;function Fe(t){let e=t.trim(),r=e.split(/\s+/),n=0;for(;n<r.length;){let a=r[n];if(Va.test(a)){n++;continue}if(Ha.has(a)){for(n++,a==="timeout"&&n<r.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(r[n])&&n++;(a==="stdbuf"||a==="nice")&&n<r.length&&r[n].startsWith("-");)n++;continue}break}if(n>=r.length)return e;let s=r[n],i=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,o=r.slice(n+1);return o.length?`${i} ${o.join(" ")}`:i}var Ga=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Bn(t,e){let r=!1,n=!1,s=0,i=[];for(let o=0;o<t.length;o++){let a=t[o];if(a==="\\"&&!r){o++;continue}a==="'"&&!n?r=!r:a==='"'&&!r?n=!n:!r&&!n&&(a===";"?(i.push(t.slice(s,o)),s=o+1):a==="|"&&t[o+1]==="|"?(i.push(t.slice(s,o)),o++,s=o+1):a==="|"?e||(i.push(t.slice(s,o)),s=o+1):a==="&"&&t[o+1]==="&"&&(i.push(t.slice(s,o)),o++,s=o+1))}return i.push(t.slice(s)),i}function Ka(t){let e=Bn(t,!1);for(let r=e.length-1;r>=0;r--){let n=e[r].trim();if(n)return n}return t.trim()}function Bt(t){let e=Bn(t,!0).map(r=>r.trim()).filter(Boolean);if(e.length===0)return null;for(let r of e.slice(0,-1)){let n=Fe(r).split(/\s+/)[0]??"";if(!Ga.has(n))return null}return Ka(e[e.length-1])}function jn(t){let e=!1,r=!1,n=0,s=[];for(let i=0;i<t.length;i++){let o=t[i];if(o==="\\"&&!e){i++;continue}o==="'"&&!r?e=!e:o==='"'&&!e?r=!r:!e&&!r&&(o==="|"||o===";"?(s.push(t.slice(n,i)),o==="|"&&t[i+1]==="|"&&i++,n=i+1):o==="&"&&t[i+1]==="&"&&(s.push(t.slice(n,i)),i++,n=i+1))}s.push(t.slice(n));for(let i=s.length-1;i>=0;i--){let o=s[i].trim();if(o)return o}return t.trim()}function zn(t){let e=Ft.exec(t),r=t;if(e){if(e[1]!=="bash")return[t];let i=t.indexOf(": ");if(i<0)return[t];r=t.slice(i+2)}let n=Bt(r),s=n?Fe(n):null;return s&&s!==t?[s,t]:[t]}var Zn=`
3
+ var ll=Object.create;var xn=Object.defineProperty;var cl=Object.getOwnPropertyDescriptor;var ul=Object.getOwnPropertyNames;var fl=Object.getPrototypeOf,dl=Object.prototype.hasOwnProperty;var me=(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 ae=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var J=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Vr=(e,t)=>{for(var n in t)xn(e,n,{get:t[n],enumerable:!0})},ml=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of ul(t))!dl.call(e,s)&&s!==n&&xn(e,s,{get:()=>t[s],enumerable:!(r=cl(t,s))||r.enumerable});return e};var Wr=(e,t,n)=>(n=e!=null?ll(fl(e)):{},ml(t||!e||!e.__esModule?xn(n,"default",{value:e,enumerable:!0}):n,e));var es=J((uy,Qr)=>{Qr.exports=Xr;Xr.sync=hl;var qr=me("fs");function pl(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 Yr(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:pl(t,n)}function Xr(e,t,n){qr.stat(e,function(r,s){n(r,r?!1:Yr(s,e,t))})}function hl(e,t){return Yr(qr.statSync(e),e,t)}});var os=J((fy,ss)=>{ss.exports=ns;ns.sync=gl;var ts=me("fs");function ns(e,t,n){ts.stat(e,function(r,s){n(r,r?!1:rs(s,t))})}function gl(e,t){return rs(ts.statSync(e),t)}function rs(e,t){return e.isFile()&&yl(e,t)}function yl(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 as=J((my,is)=>{var dy=me("fs"),Ft;process.platform==="win32"||global.TESTING_WINDOWS?Ft=es():Ft=os();is.exports=wn;wn.sync=kl;function wn(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){wn(e,t||{},function(o,i){o?s(o):r(i)})})}Ft(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function kl(e,t){try{return Ft.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var ps=J((py,ms)=>{var Je=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",ls=me("path"),bl=Je?";":":",cs=as(),us=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),fs=(e,t)=>{let n=t.colon||bl,r=e.match(/\//)||Je&&e.match(/\\/)?[""]:[...Je?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Je?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Je?s.split(n):[""];return Je&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ds=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=fs(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(us(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,h=ls.join(m,e),_=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(l(_,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let h=s[f];cs(c+h,{pathExt:o},(_,g)=>{if(!_&&g)if(t.all)i.push(c+h);else return d(c+h);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},_l=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=fs(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=ls.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(cs.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 us(e)};ms.exports=ds;ds.sync=_l});var gs=J((hy,vn)=>{"use strict";var hs=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};vn.exports=hs;vn.exports.default=hs});var _s=J((gy,bs)=>{"use strict";var ys=me("path"),xl=ps(),wl=gs();function ks(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=xl.sync(e.command,{path:n[wl({env:n})],pathExt:t?ys.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=ys.resolve(s?e.options.cwd:"",i)),i}function vl(e){return ks(e)||ks(e,!0)}bs.exports=vl});var xs=J((yy,En)=>{"use strict";var Sn=/([()\][%!^"`<>&|;, *?])/g;function Sl(e){return e=e.replace(Sn,"^$1"),e}function El(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Sn,"^$1"),t&&(e=e.replace(Sn,"^$1")),e}En.exports.command=Sl;En.exports.argument=El});var vs=J((ky,ws)=>{"use strict";ws.exports=/^#!(.*)/});var Es=J((by,Ss)=>{"use strict";var Tl=vs();Ss.exports=(e="")=>{let t=e.match(Tl);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var $s=J((_y,Ts)=>{"use strict";var Tn=me("fs"),$l=Es();function Rl(e){let n=Buffer.alloc(150),r;try{r=Tn.openSync(e,"r"),Tn.readSync(r,n,0,150,0),Tn.closeSync(r)}catch{}return $l(n.toString())}Ts.exports=Rl});var Is=J((xy,Cs)=>{"use strict";var Al=me("path"),Rs=_s(),As=xs(),Cl=$s(),Il=process.platform==="win32",Ol=/\.(?:com|exe)$/i,Pl=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Nl(e){e.file=Rs(e);let t=e.file&&Cl(e.file);return t?(e.args.unshift(e.file),e.command=t,Rs(e)):e.file}function Dl(e){if(!Il)return e;let t=Nl(e),n=!Ol.test(t);if(e.options.forceShell||n){let r=Pl.test(t);e.command=Al.normalize(e.command),e.command=As.command(e.command),e.args=e.args.map(o=>As.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 Ml(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:Dl(r)}Cs.exports=Ml});var Ns=J((wy,Ps)=>{"use strict";var $n=process.platform==="win32";function Rn(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 Fl(e,t){if(!$n)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Os(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Os(e,t){return $n&&e===1&&!t.file?Rn(t.original,"spawn"):null}function Ll(e,t){return $n&&e===1&&!t.file?Rn(t.original,"spawnSync"):null}Ps.exports={hookChildProcess:Fl,verifyENOENT:Os,verifyENOENTSync:Ll,notFoundError:Rn}});var In=J((vy,Ke)=>{"use strict";var Ds=me("child_process"),An=Is(),Cn=Ns();function Ms(e,t,n){let r=An(e,t,n),s=Ds.spawn(r.command,r.args,r.options);return Cn.hookChildProcess(s,r),s}function jl(e,t,n){let r=An(e,t,n),s=Ds.spawnSync(r.command,r.args,r.options);return s.error=s.error||Cn.verifyENOENTSync(s.status,r),s}Ke.exports=Ms;Ke.exports.spawn=Ms;Ke.exports.sync=jl;Ke.exports._parse=An;Ke.exports._enoent=Cn});function qc(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function Yc(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+=`
4
+ `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
5
+ `))}return s}var v,He=ae(()=>{v=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=qc(n.toml,n.ptr),o=Yc(n.toml,r,s);super(`Invalid TOML document: ${t}
6
+
7
+ ${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 Ut(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)v.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 m=e.s.charCodeAt(e.p),h=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;h<0&&v.x("invalid non-hex character in unicode escape",e),u=u<<4|h}(u<0||u>1114111||u>=55296&&u<=57343)&&v.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+=`
8
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":v.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&v.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);v.x("unfinished string",e,t)}var Dn=ae(()=>{He();});var Xc,Be,Mn=ae(()=>{Xc=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Be=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(Xc);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 K(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function Ln(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function gt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||v.x("document contains excessively nested structures. aborting.",e);let s=r===91?qs(e):Ws(e);return e.d++,s}return r===34||r===39?Ut(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&v.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)&&v.x("invalid value",e,n),e.p++,!1):r===43||r===45?Zt(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?Qc(e,r,t):e.s.charCodeAt(e.p+2)===58?eu(e,r,t):Zt(e,e.p,r,0,t)}function Zt(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)&&v.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)&&v.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||Ln(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Fn(e,t,16,s);if(o===98)return Fn(e,t,2,s);if(o===111)return Fn(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:v.x("illegal leading zero",e,t)}else K(o)||v.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!Ln(o,s));)i||(i=1),o===95?(i&1||v.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)||(K(o)?i>9?i-=11:i&1||i++:v.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||v.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):Vs(e,l,10,t)}function Fn(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!Ln(s,r));)s===95?(o&1&&v.x("illegal underscore",e),o=3):K(s,n)?o&1&&o--:v.x("illegal character in numeric literal",e);o&1&&v.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),Vs(e,i,n,t)}function Vs(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;v.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 Qc(e,t,n){let r=e.p++,s;if(!K(t)||!K(e.s.charCodeAt(e.p++))||!K(e.s.charCodeAt(e.p++))||!K(e.s.charCodeAt(e.p++)))return Zt(e,e.p=r,t,0,n);if(e.p+=5,K(e.s.charCodeAt(e.p++))||v.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!K(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return ht(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&v.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(;K(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 ht(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return ht(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return ht(e,o,2,s,r)}function eu(e,t,n){let r=e.p;if(!K(t)||!K(e.s.charCodeAt(++e.p)))return Zt(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;K(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return ht(e,s,4,!1,r)}function ht(e,t,n,r,s,o){if(e.ld){let i=new Be(t,n,r);return i.isValid()||v.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){v.x(i instanceof Error?i.message:""+i,e,s)}}var jn=ae(()=>{Dn();Hn();He();Mn();});function tu(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)&&v.x("control characters are not allowed in comments",e)}}function te(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;tu(e)}}var Bn=ae(()=>{He();});function Gt(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||v.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||v.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)&&v.x("illegal quoted key: multiline strings are not allowed",e),s.push(Ut(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?v.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));v.x("incomplete key-value: cannot find end of key",e,n)}function Ws(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(te(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Gt(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]))&&v.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&v.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&v.x("trying to redefine an already defined value",e,l),te(e,!0,!0);let u=gt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),te(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&v.x("expected comma or end of structure",e,e.p-1)}v.x("unfinished table",e,t)}function qs(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(te(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(gt(e,93)),te(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&v.x("expected comma or end of structure",e,e.p-1)}v.x("unfinished array",e,t)}var Hn=ae(()=>{Dn();jn();Bn();He();});function Ys(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 Xs(e,t,n){(t===null||e.uk===2)&&v.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function zn(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++,te(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=Gt(n,93);c&&(e.charCodeAt(n.p)!==93&&v.x("expected end of table array declaration",n),n.p++);let f=Ys(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Xs(n,f,o),i=!0)}else{o=n.p;let c=Gt(n),u=Ys(n,c,a,l,0);!u&&!i&&Xs(n,u,o),te(n,!0,!0);let f=gt(n,void 0);u&&!i&&(u[1][u[0]]=f)}te(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&v.x("each key-value declaration must be followed by an end-of-line",n),te(n)}return r}var Qs=ae(()=>{Hn();jn();Bn();He();});function yt(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 ru(e){for(let t=0;t<e.length;t++)if(yt(e[t])!=="object")return!1;return e.length!=0}function to(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function su(e){return to(eo?e.toWellFormed():e)}function no(e){if(nu.test(e))return e;if(eo&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return to(e)}function Un(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 su(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return ou(e,n,r,s);case"array":return iu(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 ou(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+=no(a)+" = "+Un(e[a],yt(e[a]),t-1,n,r)}return o+" }"}function iu(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+=Un(e[o],yt(e[o]),t-1,n,r)}return s+" ]"}function au(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&&`
9
+ `}[[${t}]]
10
+ `,o+=Zn(0,e[i],t,n,r,s);return o}function Zn(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=yt(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=no(u);if(f==="array"&&ru(t[u]))a+=(a&&`
11
+ `)+au(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
12
+ `)+Zn(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=Un(t[u],f,r,s,o),i+=`
13
+ `}}return e&&(i||!a)&&(i=i?`[${e}]
14
+ ${i}`:`[${e}]`),i&&a?`${i}
15
+ ${a}`:i||a}function Gn(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(yt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Zn(0,e,"",t,n,r);return s[s.length-1]!==`
16
+ `?s+`
17
+ `:s}var nu,eo,ro=ae(()=>{nu=/^[a-z0-9-_]+$/i,eo=!!"".isWellFormed});var Jn={};Vr(Jn,{TomlDate:()=>Be,TomlError:()=>v,default:()=>lu,parse:()=>zn,stringify:()=>Gn});var lu,Kn=ae(()=>{Qs();ro();Mn();He();lu={parse:zn,stringify:Gn,TomlDate:Be,TomlError:v}});var al=Wr(In(),1);var Zr=Wr(In(),1);import{existsSync as Wg,readFileSync as qg,writeFileSync as Yg,mkdirSync as Xg}from"node:fs";import{join as Qg}from"node:path";import{fileURLToPath as ey}from"node:url";import{StringDecoder as ty}from"node:string_decoder";import{readdir as cu,readFile as uu}from"node:fs/promises";import{join as oo,dirname as fu}from"node:path";import{fileURLToPath as du}from"node:url";var y={};Vr(y,{BRAND:()=>fc,DIRTY:()=>Se,EMPTY_PATH:()=>Ul,INVALID:()=>w,NEVER:()=>Wc,OK:()=>j,ParseStatus:()=>L,Schema:()=>A,ZodAny:()=>ge,ZodArray:()=>fe,ZodBigInt:()=>Te,ZodBoolean:()=>$e,ZodBranded:()=>mt,ZodCatch:()=>Le,ZodDate:()=>Re,ZodDefault:()=>Fe,ZodDiscriminatedUnion:()=>Ht,ZodEffects:()=>Y,ZodEnum:()=>De,ZodError:()=>z,ZodFirstPartyTypeKind:()=>S,ZodFunction:()=>zt,ZodIntersection:()=>Oe,ZodIssueCode:()=>p,ZodLazy:()=>Pe,ZodLiteral:()=>Ne,ZodMap:()=>Qe,ZodNaN:()=>tt,ZodNativeEnum:()=>Me,ZodNever:()=>ee,ZodNull:()=>Ce,ZodNullable:()=>se,ZodNumber:()=>Ee,ZodObject:()=>U,ZodOptional:()=>W,ZodParsedType:()=>b,ZodPipeline:()=>pt,ZodPromise:()=>ye,ZodReadonly:()=>je,ZodRecord:()=>Bt,ZodSchema:()=>A,ZodSet:()=>et,ZodString:()=>he,ZodSymbol:()=>Ye,ZodTransformer:()=>Y,ZodTuple:()=>re,ZodType:()=>A,ZodUndefined:()=>Ae,ZodUnion:()=>Ie,ZodUnknown:()=>ue,ZodVoid:()=>Xe,addIssueToContext:()=>k,any:()=>_c,array:()=>Sc,bigint:()=>hc,boolean:()=>Ks,coerce:()=>Vc,custom:()=>Zs,date:()=>gc,datetimeRegex:()=>zs,defaultErrorMap:()=>le,discriminatedUnion:()=>Rc,effect:()=>Hc,enum:()=>Fc,function:()=>Nc,getErrorMap:()=>Ve,getParsedType:()=>ne,instanceof:()=>mc,intersection:()=>Ac,isAborted:()=>Lt,isAsync:()=>We,isDirty:()=>jt,isValid:()=>pe,late:()=>dc,lazy:()=>Dc,literal:()=>Mc,makeIssue:()=>dt,map:()=>Oc,nan:()=>pc,nativeEnum:()=>Lc,never:()=>wc,null:()=>bc,nullable:()=>zc,number:()=>Js,object:()=>Ec,objectUtil:()=>On,oboolean:()=>Kc,onumber:()=>Jc,optional:()=>Bc,ostring:()=>Gc,pipeline:()=>Zc,preprocess:()=>Uc,promise:()=>jc,quotelessJson:()=>Hl,record:()=>Ic,set:()=>Pc,setErrorMap:()=>zl,strictObject:()=>Tc,string:()=>Gs,symbol:()=>yc,transformer:()=>Hc,tuple:()=>Cc,undefined:()=>kc,union:()=>$c,unknown:()=>xc,util:()=>I,void:()=>vc});var I;(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})(I||(I={}));var On;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(On||(On={}));var b=I.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ne=e=>{switch(typeof e){case"undefined":return b.undefined;case"string":return b.string;case"number":return Number.isNaN(e)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(e)?b.array:e===null?b.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?b.promise:typeof Map<"u"&&e instanceof Map?b.map:typeof Set<"u"&&e instanceof Set?b.set:typeof Date<"u"&&e instanceof Date?b.date:b.object;default:return b.unknown}};var p=I.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"]),Hl=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),z=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,I.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()}};z.create=e=>new z(e);var Bl=(e,t)=>{let n;switch(e.code){case p.invalid_type:e.received===b.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,I.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:n=`Unrecognized key(s) in object: ${I.joinValues(e.keys,", ")}`;break;case p.invalid_union:n="Invalid input";break;case p.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${I.joinValues(e.options)}`;break;case p.invalid_enum_value:n=`Invalid enum value. Expected ${I.joinValues(e.options)}, received '${e.received}'`;break;case p.invalid_arguments:n="Invalid function arguments";break;case p.invalid_return_type:n="Invalid function return type";break;case p.invalid_date:n="Invalid date";break;case p.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}"`:I.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case p.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 p.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 p.custom:n="Invalid input";break;case p.invalid_intersection_types:n="Intersection results could not be merged";break;case p.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case p.not_finite:n="Number must be finite";break;default:n=t.defaultError,I.assertNever(e)}return{message:n}},le=Bl;var Fs=le;function zl(e){Fs=e}function Ve(){return Fs}var dt=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}},Ul=[];function k(e,t){let n=Ve(),r=dt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===le?void 0:le].filter(s=>!!s)});e.common.issues.push(r)}var L=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 w;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 w;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}}},w=Object.freeze({status:"aborted"}),Se=e=>({status:"dirty",value:e}),j=e=>({status:"valid",value:e}),Lt=e=>e.status==="aborted",jt=e=>e.status==="dirty",pe=e=>e.status==="valid",We=e=>typeof Promise<"u"&&e instanceof Promise;var x;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(x||(x={}));var q=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}},Ls=(e,t)=>{if(pe(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 z(e.common.issues);return this._error=n,this._error}}};function $(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}}var A=class{get description(){return this._def.description}_getType(t){return ne(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ne(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new L,ctx:{common:t.parent.common,data:t.data,parsedType:ne(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(We(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:ne(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Ls(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ne(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return pe(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=>pe(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:ne(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(We(s)?s:Promise.resolve(s));return Ls(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:p.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 Y({schema:this,typeName:S.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 W.create(this,this._def)}nullable(){return se.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return fe.create(this)}promise(){return ye.create(this,this._def)}or(t){return Ie.create([this,t],this._def)}and(t){return Oe.create(this,t,this._def)}transform(t){return new Y({...$(this._def),schema:this,typeName:S.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Fe({...$(this._def),innerType:this,defaultValue:n,typeName:S.ZodDefault})}brand(){return new mt({typeName:S.ZodBranded,type:this,...$(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Le({...$(this._def),innerType:this,catchValue:n,typeName:S.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return pt.create(this,t)}readonly(){return je.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Zl=/^c[^\s-]{8,}$/i,Gl=/^[0-9a-z]+$/,Jl=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Kl=/^[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,Vl=/^[a-z0-9_-]{21}$/i,Wl=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ql=/^[-+]?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)?)??$/,Yl=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Xl="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Pn,Ql=/^(?:(?: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])$/,ec=/^(?:(?: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])$/,tc=/^(([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]))$/,nc=/^(([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])$/,rc=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,sc=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hs="((\\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])))",oc=new RegExp(`^${Hs}$`);function Bs(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 ic(e){return new RegExp(`^${Bs(e)}$`)}function zs(e){let t=`${Hs}T${Bs(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 ac(e,t){return!!((t==="v4"||!t)&&Ql.test(e)||(t==="v6"||!t)&&tc.test(e))}function lc(e,t){if(!Wl.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 cc(e,t){return!!((t==="v4"||!t)&&ec.test(e)||(t==="v6"||!t)&&nc.test(e))}var he=class e extends A{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==b.string){let o=this._getOrReturnCtx(t);return k(o,{code:p.invalid_type,expected:b.string,received:o.parsedType}),w}let r=new L,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),k(s,{code:p.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),k(s,{code:p.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?k(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&k(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Yl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"email",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Pn||(Pn=new RegExp(Xl,"u")),Pn.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"emoji",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Kl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"uuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")Vl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Zl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"cuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Gl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Jl.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"ulid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),k(s,{validation:"url",code:p.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),k(s,{validation:"regex",code:p.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),k(s,{code:p.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),k(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),k(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?zs(o).test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{code:p.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?oc.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{code:p.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?ic(o).test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{code:p.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?ql.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"duration",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?ac(t.data,o.version)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"ip",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?lc(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"jwt",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?cc(t.data,o.version)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"cidr",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?rc.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"base64",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?sc.test(t.data)||(s=this._getOrReturnCtx(t,s),k(s,{validation:"base64url",code:p.invalid_string,message:o.message}),r.dirty()):I.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:p.invalid_string,...x.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...x.errToObj(t)})}url(t){return this._addCheck({kind:"url",...x.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...x.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...x.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...x.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...x.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...x.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...x.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...x.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...x.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...x.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...x.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...x.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,...x.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,...x.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...x.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...x.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...x.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...x.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...x.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...x.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...x.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...x.errToObj(n)})}nonempty(t){return this.min(1,x.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}};he.create=e=>new he({checks:[],typeName:S.ZodString,coerce:e?.coerce??!1,...$(e)});function uc(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}var Ee=class e extends A{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)!==b.number){let o=this._getOrReturnCtx(t);return k(o,{code:p.invalid_type,expected:b.number,received:o.parsedType}),w}let r,s=new L;for(let o of this._def.checks)o.kind==="int"?I.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),k(r,{code:p.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),k(r,{code:p.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),k(r,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?uc(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),k(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),k(r,{code:p.not_finite,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:x.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:x.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:x.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:x.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"&&I.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)}};Ee.create=e=>new Ee({checks:[],typeName:S.ZodNumber,coerce:e?.coerce||!1,...$(e)});var Te=class e extends A{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)!==b.bigint)return this._getInvalidInput(t);let r,s=new L;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),k(r,{code:p.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),k(r,{code:p.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),k(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):I.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return k(n,{code:p.invalid_type,expected:b.bigint,received:n.parsedType}),w}gte(t,n){return this.setLimit("min",t,!0,x.toString(n))}gt(t,n){return this.setLimit("min",t,!1,x.toString(n))}lte(t,n){return this.setLimit("max",t,!0,x.toString(n))}lt(t,n){return this.setLimit("max",t,!1,x.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:x.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:x.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:x.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:x.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:x.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:x.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}};Te.create=e=>new Te({checks:[],typeName:S.ZodBigInt,coerce:e?.coerce??!1,...$(e)});var $e=class extends A{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==b.boolean){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.boolean,received:r.parsedType}),w}return j(t.data)}};$e.create=e=>new $e({typeName:S.ZodBoolean,coerce:e?.coerce||!1,...$(e)});var Re=class e extends A{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==b.date){let o=this._getOrReturnCtx(t);return k(o,{code:p.invalid_type,expected:b.date,received:o.parsedType}),w}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return k(o,{code:p.invalid_date}),w}let r=new L,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),k(s,{code:p.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),k(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):I.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:x.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:x.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}};Re.create=e=>new Re({checks:[],coerce:e?.coerce||!1,typeName:S.ZodDate,...$(e)});var Ye=class extends A{_parse(t){if(this._getType(t)!==b.symbol){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.symbol,received:r.parsedType}),w}return j(t.data)}};Ye.create=e=>new Ye({typeName:S.ZodSymbol,...$(e)});var Ae=class extends A{_parse(t){if(this._getType(t)!==b.undefined){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.undefined,received:r.parsedType}),w}return j(t.data)}};Ae.create=e=>new Ae({typeName:S.ZodUndefined,...$(e)});var Ce=class extends A{_parse(t){if(this._getType(t)!==b.null){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.null,received:r.parsedType}),w}return j(t.data)}};Ce.create=e=>new Ce({typeName:S.ZodNull,...$(e)});var ge=class extends A{constructor(){super(...arguments),this._any=!0}_parse(t){return j(t.data)}};ge.create=e=>new ge({typeName:S.ZodAny,...$(e)});var ue=class extends A{constructor(){super(...arguments),this._unknown=!0}_parse(t){return j(t.data)}};ue.create=e=>new ue({typeName:S.ZodUnknown,...$(e)});var ee=class extends A{_parse(t){let n=this._getOrReturnCtx(t);return k(n,{code:p.invalid_type,expected:b.never,received:n.parsedType}),w}};ee.create=e=>new ee({typeName:S.ZodNever,...$(e)});var Xe=class extends A{_parse(t){if(this._getType(t)!==b.undefined){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.void,received:r.parsedType}),w}return j(t.data)}};Xe.create=e=>new Xe({typeName:S.ZodVoid,...$(e)});var fe=class e extends A{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==b.array)return k(n,{code:p.invalid_type,expected:b.array,received:n.parsedType}),w;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(k(n,{code:i?p.too_big:p.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&&(k(n,{code:p.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&&(k(n,{code:p.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 q(n,i,n.path,a)))).then(i=>L.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new q(n,i,n.path,a)));return L.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:x.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:x.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:x.toString(n)}})}nonempty(t){return this.min(1,t)}};fe.create=(e,t)=>new fe({type:e,minLength:null,maxLength:null,exactLength:null,typeName:S.ZodArray,...$(t)});function qe(e){if(e instanceof U){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=W.create(qe(r))}return new U({...e._def,shape:()=>t})}else return e instanceof fe?new fe({...e._def,type:qe(e.element)}):e instanceof W?W.create(qe(e.unwrap())):e instanceof se?se.create(qe(e.unwrap())):e instanceof re?re.create(e.items.map(t=>qe(t))):e}var U=class e extends A{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=I.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==b.object){let c=this._getOrReturnCtx(t);return k(c,{code:p.invalid_type,expected:b.object,received:c.parsedType}),w}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof ee&&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 q(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof ee){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&&(k(s,{code:p.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 q(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=>L.mergeObjectSync(r,c)):L.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return x.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:x.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:S.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 I.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 I.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return qe(this)}partial(t){let n={};for(let r of I.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 I.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof W;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Us(I.objectKeys(this.shape))}};U.create=(e,t)=>new U({shape:()=>e,unknownKeys:"strip",catchall:ee.create(),typeName:S.ZodObject,...$(t)});U.strictCreate=(e,t)=>new U({shape:()=>e,unknownKeys:"strict",catchall:ee.create(),typeName:S.ZodObject,...$(t)});U.lazycreate=(e,t)=>new U({shape:e,unknownKeys:"strip",catchall:ee.create(),typeName:S.ZodObject,...$(t)});var Ie=class extends A{_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 z(a.ctx.common.issues));return k(n,{code:p.invalid_union,unionErrors:i}),w}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 z(l));return k(n,{code:p.invalid_union,unionErrors:a}),w}}get options(){return this._def.options}};Ie.create=(e,t)=>new Ie({options:e,typeName:S.ZodUnion,...$(t)});var ce=e=>e instanceof Pe?ce(e.schema):e instanceof Y?ce(e.innerType()):e instanceof Ne?[e.value]:e instanceof De?e.options:e instanceof Me?I.objectValues(e.enum):e instanceof Fe?ce(e._def.innerType):e instanceof Ae?[void 0]:e instanceof Ce?[null]:e instanceof W?[void 0,...ce(e.unwrap())]:e instanceof se?[null,...ce(e.unwrap())]:e instanceof mt||e instanceof je?ce(e.unwrap()):e instanceof Le?ce(e._def.innerType):[],Ht=class e extends A{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.object)return k(n,{code:p.invalid_type,expected:b.object,received:n.parsedType}),w;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}):(k(n,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),w)}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=ce(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:S.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...$(r)})}};function Nn(e,t){let n=ne(e),r=ne(t);if(e===t)return{valid:!0,data:e};if(n===b.object&&r===b.object){let s=I.objectKeys(t),o=I.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Nn(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===b.array&&r===b.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=Nn(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===b.date&&r===b.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var Oe=class extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Lt(o)||Lt(i))return w;let a=Nn(o.value,i.value);return a.valid?((jt(o)||jt(i))&&n.dirty(),{status:n.value,value:a.data}):(k(r,{code:p.invalid_intersection_types}),w)};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}))}};Oe.create=(e,t,n)=>new Oe({left:e,right:t,typeName:S.ZodIntersection,...$(n)});var re=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==b.array)return k(r,{code:p.invalid_type,expected:b.array,received:r.parsedType}),w;if(r.data.length<this._def.items.length)return k(r,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),w;!this._def.rest&&r.data.length>this._def.items.length&&(k(r,{code:p.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 q(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>L.mergeArray(n,i)):L.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};re.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new re({items:e,typeName:S.ZodTuple,rest:null,...$(t)})};var Bt=class e extends A{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!==b.object)return k(r,{code:p.invalid_type,expected:b.object,received:r.parsedType}),w;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new q(r,a,r.path,a)),value:i._parse(new q(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?L.mergeObjectAsync(n,s):L.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof A?new e({keyType:t,valueType:n,typeName:S.ZodRecord,...$(r)}):new e({keyType:he.create(),valueType:t,typeName:S.ZodRecord,...$(n)})}},Qe=class extends A{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!==b.map)return k(r,{code:p.invalid_type,expected:b.map,received:r.parsedType}),w;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new q(r,a,r.path,[c,"key"])),value:o._parse(new q(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 w;(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 w;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Qe.create=(e,t,n)=>new Qe({valueType:t,keyType:e,typeName:S.ZodMap,...$(n)});var et=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==b.set)return k(r,{code:p.invalid_type,expected:b.set,received:r.parsedType}),w;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(k(r,{code:p.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&&(k(r,{code:p.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 w;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 q(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:x.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:x.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};et.create=(e,t)=>new et({valueType:e,minSize:null,maxSize:null,typeName:S.ZodSet,...$(t)});var zt=class e extends A{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.function)return k(n,{code:p.invalid_type,expected:b.function,received:n.parsedType}),w;function r(a,l){return dt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ve(),le].filter(c=>!!c),issueData:{code:p.invalid_arguments,argumentsError:l}})}function s(a,l){return dt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ve(),le].filter(c=>!!c),issueData:{code:p.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof ye){let a=this;return j(async function(...l){let c=new z([]),u=await a._def.args.parseAsync(l,o).catch(m=>{throw c.addIssue(r(l,m)),c}),f=await Reflect.apply(i,this,u);return await a._def.returns._def.type.parseAsync(f,o).catch(m=>{throw c.addIssue(s(f,m)),c})})}else{let a=this;return j(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new z([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new z([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:re.create(t).rest(ue.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||re.create([]).rest(ue.create()),returns:n||ue.create(),typeName:S.ZodFunction,...$(r)})}},Pe=class extends A{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})}};Pe.create=(e,t)=>new Pe({getter:e,typeName:S.ZodLazy,...$(t)});var Ne=class extends A{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return k(n,{received:n.data,code:p.invalid_literal,expected:this._def.value}),w}return{status:"valid",value:t.data}}get value(){return this._def.value}};Ne.create=(e,t)=>new Ne({value:e,typeName:S.ZodLiteral,...$(t)});function Us(e,t){return new De({values:e,typeName:S.ZodEnum,...$(t)})}var De=class e extends A{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return k(n,{expected:I.joinValues(r),received:n.parsedType,code:p.invalid_type}),w}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 k(n,{received:n.data,code:p.invalid_enum_value,options:r}),w}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})}};De.create=Us;var Me=class extends A{_parse(t){let n=I.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==b.string&&r.parsedType!==b.number){let s=I.objectValues(n);return k(r,{expected:I.joinValues(s),received:r.parsedType,code:p.invalid_type}),w}if(this._cache||(this._cache=new Set(I.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=I.objectValues(n);return k(r,{received:r.data,code:p.invalid_enum_value,options:s}),w}return j(t.data)}get enum(){return this._def.values}};Me.create=(e,t)=>new Me({values:e,typeName:S.ZodNativeEnum,...$(t)});var ye=class extends A{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==b.promise&&n.common.async===!1)return k(n,{code:p.invalid_type,expected:b.promise,received:n.parsedType}),w;let r=n.parsedType===b.promise?n.data:Promise.resolve(n.data);return j(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};ye.create=(e,t)=>new ye({type:e,typeName:S.ZodPromise,...$(t)});var Y=class extends A{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===S.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=>{k(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 w;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?w:l.status==="dirty"?Se(l.value):n.value==="dirty"?Se(l.value):l});{if(n.value==="aborted")return w;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?w:a.status==="dirty"?Se(a.value):n.value==="dirty"?Se(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"?w:(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"?w:(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(!pe(i))return w;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=>pe(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):w);I.assertNever(s)}};Y.create=(e,t,n)=>new Y({schema:e,typeName:S.ZodEffects,effect:t,...$(n)});Y.createWithPreprocess=(e,t,n)=>new Y({schema:t,effect:{type:"preprocess",transform:e},typeName:S.ZodEffects,...$(n)});var W=class extends A{_parse(t){return this._getType(t)===b.undefined?j(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};W.create=(e,t)=>new W({innerType:e,typeName:S.ZodOptional,...$(t)});var se=class extends A{_parse(t){return this._getType(t)===b.null?j(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};se.create=(e,t)=>new se({innerType:e,typeName:S.ZodNullable,...$(t)});var Fe=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===b.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Fe.create=(e,t)=>new Fe({innerType:e,typeName:S.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$(t)});var Le=class extends A{_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 We(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new z(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new z(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Le.create=(e,t)=>new Le({innerType:e,typeName:S.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$(t)});var tt=class extends A{_parse(t){if(this._getType(t)!==b.nan){let r=this._getOrReturnCtx(t);return k(r,{code:p.invalid_type,expected:b.nan,received:r.parsedType}),w}return{status:"valid",value:t.data}}};tt.create=e=>new tt({typeName:S.ZodNaN,...$(e)});var fc=Symbol("zod_brand"),mt=class extends A{_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}},pt=class e extends A{_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"?w:o.status==="dirty"?(n.dirty(),Se(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"?w: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:S.ZodPipeline})}},je=class extends A{_parse(t){let n=this._def.innerType._parse(t),r=s=>(pe(s)&&(s.value=Object.freeze(s.value)),s);return We(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};je.create=(e,t)=>new je({innerType:e,typeName:S.ZodReadonly,...$(t)});function js(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Zs(e,t={},n){return e?ge.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=js(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=js(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):ge.create()}var dc={object:U.lazycreate},S;(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"})(S||(S={}));var mc=(e,t={message:`Input not instance of ${e.name}`})=>Zs(n=>n instanceof e,t),Gs=he.create,Js=Ee.create,pc=tt.create,hc=Te.create,Ks=$e.create,gc=Re.create,yc=Ye.create,kc=Ae.create,bc=Ce.create,_c=ge.create,xc=ue.create,wc=ee.create,vc=Xe.create,Sc=fe.create,Ec=U.create,Tc=U.strictCreate,$c=Ie.create,Rc=Ht.create,Ac=Oe.create,Cc=re.create,Ic=Bt.create,Oc=Qe.create,Pc=et.create,Nc=zt.create,Dc=Pe.create,Mc=Ne.create,Fc=De.create,Lc=Me.create,jc=ye.create,Hc=Y.create,Bc=W.create,zc=se.create,Uc=Y.createWithPreprocess,Zc=pt.create,Gc=()=>Gs().optional(),Jc=()=>Js().optional(),Kc=()=>Ks().optional(),Vc={string:(e=>he.create({...e,coerce:!0})),number:(e=>Ee.create({...e,coerce:!0})),boolean:(e=>$e.create({...e,coerce:!0})),bigint:(e=>Te.create({...e,coerce:!0})),date:(e=>Re.create({...e,coerce:!0}))};var Wc=w;var ke=y.object({slug:y.string().min(1).max(64),description:y.string().max(255).optional(),match_command:y.string().min(1),priority:y.number().int().default(50),strip_ansi:y.boolean().default(!1),strip_lines_matching:y.array(y.string()).default([]),keep_failures:y.boolean().default(!1),strip_on_failure:y.boolean().default(!1),fold_passing:y.boolean().default(!1),fold_passing_threshold:y.number().int().positive().max(1e3).optional(),mask_abs_paths:y.boolean().default(!1),preserve_exact:y.boolean().default(!1),truncate_lines_at:y.number().int().positive().max(1e4).optional(),max_lines:y.number().int().positive().max(1e5).optional(),scale_with_level:y.boolean().default(!0),transform:y.string().max(64).optional(),on_empty:y.string().max(255).optional()});var mu=fu(du(import.meta.url)),pu=process.env.TOKMIZER_FILTERS_DIR||oo(mu,"..","..","filters"),nt=null,so=!1;function hu(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function io(){return nt||(hu()?(nt=await gu(pu),nt):(!so&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
18
+ `),so=!0),nt=new Map,nt))}async function gu(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Kn(),Jn))).parse,r=(await cu(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await uu(oo(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ke.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as yu}from"node:crypto";var ku=y.enum(["normal","compact","minimal"]),bu=y.enum(["off","light","balanced","max"]),kt=y.object({enabled:y.boolean().default(!0),telemetryOptIn:y.boolean().default(!0),outputVerbosity:ku.default("compact"),reducer:bu.default("off"),filters:y.object({enableAll:y.boolean().default(!0),disabled:y.array(y.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),ao=new Map;function X(e){let t=ao.get(e);return t||(t=yu("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),ao.set(e,t)),t}var lo=new WeakMap,_u=256;function rt(e,t,n,r=t){let s=lo.get(r);s||(s=new Map,lo.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(X(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=_u){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as _f,readFile as Lo,writeFile as Sb,mkdir as Eb,rename as Tb}from"node:fs/promises";import{readdirSync as xf,statSync as Do}from"node:fs";import{createHash as wf}from"node:crypto";import{basename as Cb,join as Xt}from"node:path";var xu=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,wu=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function oe(e){return e.replace(xu,"").replace(wu,"")}function co(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function uo(e,t){return e.map(n=>{if(n.length<=t)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`})}function st(e){return`\u2026 (${e} more lines omitted)`}function fo(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),st(s.length),...e.slice(e.length-r)],dropped:s}}var vu=/^\s*(?:[✓✔√]|ok )/,be=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function mo(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)vu.test(a)&&!be.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Su=/(?:\/[\w.@+-]+){3,}/g;function po(e){return e.map(t=>t.replace(Su,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Eu=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Tu=/\{\s*$/;var $u=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Ru=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function Au(e){let t=$u.exec(e);return!t||Ru.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var Cu=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Iu(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 Ou(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==="&"))&&Iu(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var ho=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Pu=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function Nu(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 Vn(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Pu.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 bt(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Eu.test(o)&&Tu.test(o)||Au(o)||Cu.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Ou(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(Nu(d,f,n?s+2:null));for(let m=0;m<f-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}var Du=/\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 Jt(e){let t=e.slice(0,4096);return!(!Du.test(t)||t.split(`
19
+ `).length<6)}var bo=/^\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*/,_o=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,xo=new RegExp(be.source,"i"),wo=/\bWARN(?:ING)?\b/i;function vo(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(_o.test(s.replace(bo,""))&&!xo.test(s)&&!wo.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var Mu=/^(?:DEBUG|INFO):[\w.-]+:/,Fu=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Lu=8,go=1,yo=2;function ko(e){if(e.trim()===""||/^\s/.test(e)||xo.test(e)||wo.test(e)||Fu.test(e))return null;let t=e.replace(bo,"");return _o.test(t)||Mu.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function So(e){let t=[],n=0;for(;n<e.length;){let r=ko(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ko(e[s])===r;)s+=1;let o=s-n;r===null||o<Lu?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+go)),t.push(`\u2026 ${o-go-yo} similar log lines dropped \u2026`),t.push(...e.slice(s-yo,s))),n=s}return t}function Kt(e){if(e.length===0)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} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1?`${r} \xD7${n}`:r),t}function Eo(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 To=new Map;function Z(e,t){To.set(e,t)}function $o(e){return To.get(e)}var ju=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Hu=/^[./~][^\s]*:$/,Bu=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})?`,zu=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Bu})\s+(.+)$`),Uu={k:1,m:2,g:3,t:4,p:5},Wn=1e3;function Zu(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 Gu(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Uu[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Ju(e){let t=zu.exec(e);if(!t)return null;let n=t[2].trim();if(n===""||n==="."||n==="..")return null;let r=t[1],s=/^\d+$/.test(r)?Zu(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Gu(r),isDir:o}}function Ku(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 Vu(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(Hu.test(f.trim())||!ju.test(f))return e;let d=Ju(f);if(!d){if(/\s\.\.?$/.test(f))continue;return e}r=!0,(d.isDir?t:n).push(d)}if(!r)return e;let s=(f,d)=>f.name.localeCompare(d.name);t.sort(s),n.sort((f,d)=>d.sizeKey-f.sizeKey||s(f,d));let o=[...t,...n],i=[];for(let f of o){let d=f.isDir?`${f.name}/`:f.name;i.push(f.isDir?d:`${d} ${f.size}`)}if(i.length>Wn){let f=i.length-Wn;i=[...i.slice(0,Wn),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=Ku(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}Z("smart-ls",Vu);Z("smart-read",e=>bt(e));var Ro=1e3;function Wu(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 qu(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 Yu(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("/"),m=d>=0?f.slice(0,d):"",h=d>=0?f.slice(d+1):f;if(!h)continue;let _=r.get(m)??[];_.push(/\s/.test(h)?`"${h}"`:h),r.set(m,_),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?Wu(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=qu(f),m=d?f.map(h=>h.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>Ro){let c=Math.max(0,Ro-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}Z("smart-find",Yu);var qn=1e3,Ao=200,Xu=60,Qu=190,ef=/^([^\s:]+):(\d+):(.*)$/,tf=/^([^:]+?)-(\d+)-(.*)$/,nf=/^([^\s:]+):(.*)$/,Co=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function Io(e){let t=e.trim();return t.length>Ao?`${t.slice(0,Ao)}\u2026`:t}function rf(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Qu&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function sf(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 of(e){let t=e.filter(m=>m.trim()!=="");if(t.length===0)return e;let n=new Map,r=new Map,s=null,o=0,i=0;for(let m of t){if(m==="--"){s&&n.get(s).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(m))return e;let h=ef.exec(m),_=tf.exec(m);if(h&&_)return e;let g=h||_?null:nf.exec(m),R=(h??_??g)?.[1];if(!R)return e;let E=h?{line:h[2],content:h[3],context:!1}:_?{line:_[2],content:_[3],context:!0}:{line:"",content:g[2],context:!1},O=n.get(R)??[];O.push(E),n.set(R,O),E.context||(o+=1,r.set(R,(r.get(R)??0)+1)),i+=1,s=R}if(n.size===i)return e;let a=[...n.keys()].sort((m,h)=>{let _=Co.test(m)?1:0,g=Co.test(h)?1:0;return _-g||(m<h?-1:m>h?1:0)}),l=a.length>1?sf(a):"",c=m=>l?m.slice(l.length+1):m,u=[];for(let m of a){u.push(`${c(m)} (${r.get(m)??0}):`);for(let h of n.get(m))"separator"in h?u.push(" --"):h.line?u.push(` ${h.line}${h.context?"-":":"} ${Io(h.content)}`):u.push(` ${Io(h.content)}`)}let f=a.length>1&&u.length>Xu?rf(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>qn){let m=d.length-qn;return[...d.slice(0,qn),`\u2026 ${m} more lines omitted`]}return d}Z("smart-grep",of);var Oo=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,af=/^[|\\/* ._-]*$/,lf=/^ {4}/,cf=2;function uf(e){if(!e.some(c=>Oo.test(c)))return e;let t=[],n=0,r=0,s=0,o="",i=!1,a=!1,l=()=>{r>0&&t.push(`${o} \u2026 ${r} ${r===1?"line":"lines"} folded \u2026`),r=0};for(let c of e){let u=c.slice(0,s),f=af.test(u),d=f?c.slice(s):c,m=lf.test(d),h=i&&m?null:Oo.exec(c);if(h){l(),n=0,s=h[1]?.length??0,i=!0,a=!1,t.push(c);continue}if(/^diff --(?:git|cc|combined) /.test(d)&&(a=!0),m&&!a&&!(s>0&&d.trim().length===0)){n+=1,n<=cf?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}Z("smart-log",uf);var ff=/^[\s=]+$/,df=/^\s*=+\s+(.*?)\s+=+\s*$/,mf=512;Z("strip-banners",e=>{let t=[];for(let n of e){if(ff.test(n))continue;let r=n.length<=mf?df.exec(n):null;t.push(r?r[1]:n)}return t});function pf(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}Z("squeeze-output",pf);function hf(e){return e==="compact"?.6:e==="minimal"?.3:1}var gf=20;function yf(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}var Po=new WeakMap;function kf(e){let t=Po.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Po.set(e,r),r}function Vt(e,t,n={}){return Yn(e,t,n).text}function Yn(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_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=kf(t),o=e;t.strip_ansi&&(o=oe(o));let i=o.endsWith(`
20
+ `),a=(i?o.slice(0,-1):o).split(`
21
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>be.test(d)||!s.stripRegexes.some(m=>m.test(d))):co(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=Kt(a),a=Eo(a)),r==="minimal"&&!t.preserve_exact&&(a=vo(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=yf(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;if(!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&Jt(o))&&(a=bt(a,l)),t.transform){let d=$o(t.transform);t.transform==="smart-read"?a=bt(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Vn(a);d.some(Boolean)&&(a=a.filter((m,h)=>!d[h]))}t.mask_abs_paths&&(a=po(a)),t.fold_passing&&(a=mo(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=uo(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?hf(n.verbosity):1,m=Math.min(t.max_lines,Math.max(gf,Math.round(t.max_lines*d))),h=c?Vn(a):null,_=h?h.filter(g=>!g).length:a.length;if(_>m){let g=m;if(h){let E=0;for(g=0;g<a.length&&E<m;)h[g]||(E+=1),g+=1}let R=_-m;if(t.keep_failures){let E=a.slice(g),O=E.filter(N=>!be.test(N)),C=E.reduce((N,D,F)=>N+(!be.test(D)&&!h?.[g+F]?1:0),0);u=O.length>0?O.join(`
22
+ `):null,a=[...a.slice(0,g),...C>0?[st(C)]:[],...E.filter(N=>be.test(N))]}else if(c)u=a.slice(g).join(`
23
+ `),a=[...a.slice(0,g),st(R)];else{let{kept:E,dropped:O}=fo(a,m);u=O.length>0?O.join(`
24
+ `):null,a=E}}}let f=a.join(`
25
+ `);return i&&f.length>0&&(f+=`
26
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}import bf from"node:os";import{join as _t}from"node:path";function T(){return process.env.TOKMIZER_HOME||_t(bf.homedir(),".tokmizer")}function xt(){return _t(T(),"install-id")}function Xn(){return _t(T(),"content-cache")}function No(){return _t(T(),"restore.json")}function Qn(e){return _t(Xn(),e)}var jo="user/",Wt=1,qt=null,Mo="",Fo=0,vf=1e3;function Yt(){return Xt(T(),"filters")}function Ho(){return Xt(T(),"filters-trust.json")}function Bo(e){return typeof e=="string"&&e.startsWith(jo)}function Sf(e){return wf("sha256").update(e).digest("hex")}async function Ef(){try{let e=JSON.parse(await Lo(Ho(),"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 Tf(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 $f(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Tf(e,r);if("message"in o)return o;let i=ke.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:`${jo}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Rf(e){return e===void 0||e===Wt?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${Wt}. Update tkr, or write the file for version ${Wt}`:`schema_version must be the number ${Wt}`}async function Af(e){try{return(await _f(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Cf(e={}){let t=e.requireTrust!==!1,n=Yt(),r=new Map,s=new Map,o=[],i=await Af(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Ef():null;for(let l of i){let c;try{c=await Lo(Xt(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!==Sf(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await If(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 If(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Kn(),Jn)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
27
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Rf(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=$f(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 Of(){let e=[];for(let t of[Ho(),Yt()])try{let n=Do(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of xf(Yt()).filter(n=>n.endsWith(".toml")).sort()){let n=Do(Xt(Yt(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Pf(){let e=Date.now();if(!qt||e-Fo>=vf){Fo=e;let t=Of();(!qt||t!==Mo)&&(Mo=t,qt=Cf())}return qt}async function Nf(e){let{filters:t}=await Pf();return t.size===0?null:rt(e,t.values(),null,t)}function zo(e){return async(t,n)=>await Nf(t)??e(t,n)}var Df=[/\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 Uo(e){if(!e)return!1;for(let t of oe(e).split(`
28
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Df.some(n=>n.test(t)))return!0;return!1}var Mf=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Ff=/^[A-Za-z_][A-Za-z0-9_]*=/,er=/^([a-z]+)-tool(?::\s|$)/;function ze(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(Ff.test(a)){r++;continue}if(Mf.has(a)){for(r++,a==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(a==="stdbuf"||a==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.includes("/")?s.slice(s.lastIndexOf("/")+1):s,i=n.slice(r+1);return i.length?`${o} ${i.join(" ")}`:o}var Lf=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Zo(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 jf(e){let t=Zo(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function tr(e){let t=Zo(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=ze(n).split(/\s+/)[0]??"";if(!Lf.has(r))return null}return jf(t[t.length-1])}function Go(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()}var Hf=/^(?: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 nr(e){let t=Hf.exec(e);return t?ze(e.slice(t[0].length)):null}function Jo(e){let t=er.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=tr(n),s=r?ze(r):null,i=[s?nr(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Ko=`
14
29
  [YOLO: omitted]
15
- `;function jt(t){let e=Buffer.from(t,"utf8");if(e.length<=256)return t;let r=256-Buffer.byteLength(Zn,"utf8"),n=Math.floor(r/2);for(;(e[n]&192)===128;)n-=1;let s=e.length-(r-n);for(;(e[s]&192)===128;)s+=1;return e.subarray(0,n).toString("utf8")+Zn+e.subarray(s).toString("utf8")}var Wa=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,qa=/^… \([1-9]\d* more lines omitted\)$/,zt=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function Ya(t,e){if(!e)return t.split(`
16
- `).map(i=>i.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
17
- `);let r="",n=!1,s=!1;for(let i of t)n?(r+=i,s?s=!1:i==="\\"?s=!0:i==='"'&&(n=!1)):i==='"'?(n=!0,r+=i):i!==" "&&i!==" "&&i!=="\r"&&i!==`
18
- `&&(r+=i);return r+(t.endsWith(`
30
+ `;function rr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(Ko,"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")+Ko+t.subarray(s).toString("utf8")}var Bf=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,zf=/^… \([1-9]\d* more lines omitted\)$/,sr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function Uf(e,t){if(!t)return e.split(`
31
+ `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
32
+ `);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!==`
33
+ `&&(n+=o);return n+(e.endsWith(`
19
34
  `)?`
20
- `:"")}function Ja(t,e){if(/@(?:p)?\d|\r/.test(t))return t;let r=t.endsWith(`
35
+ `:"")}function Zf(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
21
36
  `)?`
22
- `:"",n=(r?t.slice(0,-1):t).split(`
23
- `),s=n.findIndex(_=>Wa.test(_));if(s>=0&&n.slice(0,s).some(_=>_!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(_)))return t;let i=s>=0?[...n[s].matchAll(/\S+/g)].map(_=>_.index):[],o=[];for(let _=s+1;_<n.length;_+=1){let I=n[_];if(qa.test(I))continue;if(/…|\.\.\./.test(I))return t;let k;if(s>=0){if(/[^\x20-\x7e]/.test(I))return t;let P=i.map((A,O)=>I.slice(A,i[O+1]));if(P.slice(0,-1).some(A=>A[0]===" "||!A.endsWith(" "))||(k=P.map(A=>A.replace(/ +$/,"")),!/^#\d+$/.test(k[0])||!/^\S+$/.test(k[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(k[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(k[4])))return t}else if(k=I.split(" "),k.length!==5||!/^\d+$/.test(k[0])||!k[1]||!k[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(k[3])||!zt.test(k[4])||!Number.isFinite(Date.parse(k[4])))return t;if(k.some(P=>/[\u0000-\u001f\u007f]/.test(P)))return t;o.push({index:_,cells:k})}if(o.length===0)return t;s>=0&&(n[s]="ID TITLE BRANCH STATE CREATED");for(let _ of o)n[_.index]=_.cells.join(" ");let a=n.join(`
24
- `)+r;if(!e)return a;let c=new Map;for(let{cells:_}of o)c.set(_[1],(c.get(_[1])??0)+1);let u=new Map,l=[];for(let[_,I]of c){if(_.length<40||I<3||_.trim().split(/\s+/).length<8)continue;let k=`@${u.size+1}`,P=JSON.stringify(_).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),A=`TITLE ${k} = ${P}`;I*(Buffer.byteLength(_)-Buffer.byteLength(k))<=Buffer.byteLength(A)+1||(u.set(_,k),l.push(A))}let f=new Map;for(let{cells:_}of o){if(u.has(_[1]))continue;let I=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1];I&&I.length>=24&&f.set(I,(f.get(I)??0)+1)}let d=new Map;for(let[_,I]of f){if(I<3)continue;let k=`@p${d.size+1}`,P=`TITLE prefix ${k} = ${JSON.stringify(_).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;I*(Buffer.byteLength(_)-Buffer.byteLength(k)-1)<=Buffer.byteLength(P)+1||(d.set(_,k),l.push(P))}let m=o[0].cells[4].slice(10),v=o.length>=3&&zt.test(o[0].cells[4])&&o.every(({cells:_})=>zt.test(_[4])&&_[4].slice(10)===m)&&o.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(v&&l.push(`CREATED suffix = ${JSON.stringify(m)}`),l.length===0)return a;for(let{index:_,cells:I}of o){let k=u.get(I[1]),P=/^((?:\S+\s+){4})\S/.exec(I[1])?.[1],A=P?d.get(P):void 0;n[_]=I.map((O,C)=>C===1?k??(A?`${A}:${O.slice(P.length)}`:O):C===4&&v?O.slice(0,10):O).join(" ")}let w=[...n,"",...l].join(`
25
- `)+r;return Buffer.byteLength(w)<Buffer.byteLength(a)?w:a}function Zt(t,e,r){if(e!=="compact"&&e!=="minimal")return t;let n=t;if(/^[ \t\r\n]*[\[{]/.test(t)){try{JSON.parse(t)}catch{return t}n=Ya(t,e==="minimal")}else r==="gh"&&(n=Ja(t,e==="minimal"));return Buffer.byteLength(n)<Buffer.byteLength(t)?n:t}var Xa=/^(?:\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|$)/,Qa=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Un(t){if(Buffer.byteLength(t)<2048||ft(t)||Qa.test(t))return t;let e=t.split(`
26
- `),r=[];for(let n=0;n<e.length;){let s=e[n],i=n+1;if(Xa.test(s))for(;i<e.length&&e[i]===s;)i+=1;let o=i-n,a=`[tkr: previous log line repeated ${o-1} additional times]`;if(o>=3&&Buffer.byteLength(a)+1<(o-1)*(Buffer.byteLength(s)+1))r.push(s,a);else for(let c=n;c<i;c+=1)r.push(s);n=i}return r.join(`
27
- `)}var Hn=null;function Ut(t){Hn=t}async function ec(t,e){let r=await gn();return lt(t,r.values(),e,r)}var tc=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,rc=2048;async function Ht(t,e,r,n={}){let s=Buffer.byteLength(e,"utf8"),{exitCode:i,yolo:o=!1,resolver:a,...c}=n,u=Fe(jn(t.startsWith("bash-tool: ")?t.slice(11):t)),l=i!=null&&i!==0&&!(i===1&&tc.test(u)),f=a??Hn??ec,d=null;for(let D of zn(t))if(d=await f(D,r),d)break;!d&&s>=rc&&!Ft.test(t)&&(d=await f(`bash-tool: ${t}`,r));let m=Bt(t.startsWith("bash-tool: ")?t.slice(11):t),v=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(Fe(m)),w=i==null&&(v?/^(?:fatal|error):/im.test(ke(e)):Fn(e)),_=d?.transform==="smart-read"&&s<=2048&&(e.endsWith(`
28
- `)?e.slice(0,-1):e).split(`
29
- `).length<=60,I=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(Fe(m)),k=d?.transform==="smart-read"&&s<=16384&&(c.verbosity??"normal")==="normal"&&c.smartCode!==!0;if(!o&&(k||I||_&&c.smartCode!==!0))return{output:e,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:l||w,droppedTail:null};if(!d||(l||w)&&d.preserve_exact&&!o)return{output:e,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:l||w,...o?{droppedTail:null}:{}};let P=D=>{if(!o)return D;let Se=D.filteredBytes>s||s>0&&D.output.length===0?e:D.output,Te=!D.debugBypass&&!d?.preserve_exact?Zt(Se,"minimal",D.filterId??""):Se,Ze=jt(Te)===Te?Te:jt(Se);return{...D,output:Ze,filteredBytes:Buffer.byteLength(Ze,"utf8"),droppedTail:null}};if(l||w){let D=o?Ln(e,{...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_ansi&&!d.preserve_exact?ke(e):e;return!o&&c.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=Un(D)),!o&&d.slug==="pytest"&&(c.verbosity==="compact"||c.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(D)&&/^={3,} FAILURES ={3,}\r?$/m.test(D)&&(D=D.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3")),P({output:D,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(D,"utf8"),debugBypass:!0})}let{text:A,droppedTail:O}=Lt(e,d,o?{...c,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:c),C=!o&&!d.preserve_exact?Zt(A,c.verbosity,d.slug):A,G=Buffer.byteLength(C,"utf8");return e.trim().length>0&&G>=s?P({output:e,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):P({output:C,filterId:d.slug,rawBytes:s,filteredBytes:G,debugBypass:!1,droppedTail:O})}import{join as sc}from"node:path";import{mkdir as Vf,readFile as ic,writeFile as Gf,unlink as Kf,rename as Wf}from"node:fs/promises";import nc from"node:os";import{join as pt}from"node:path";function $(){return process.env.TOKMIZER_HOME||pt(nc.homedir(),".tokmizer")}function Ye(){return pt($(),"install-id")}function Vt(){return pt($(),"content-cache")}function Vn(t){return pt(Vt(),t)}var oc="state.json";function ac(){try{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;return t&&t.length>0?t:"Etc/UTC"}catch{return"Etc/UTC"}}function cc(t){return t?.dir??$()}async function Je(t){let e=cc(t);try{let r=await ic(sc(e,oc),"utf8"),n=JSON.parse(r),s=n.timeZone;return{...n,lastSettingsRevision:n.lastSettingsRevision??0,get timeZone(){return s??=ac()},bonusActive:n.bonusActive??!1,...n.bonusResetAt!==void 0?{bonusResetAt:n.bonusResetAt}:{}}}catch{return null}}function uc(){let t=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(t)&&t>0?t:6048e5}function Gn(t,e=Date.now()){let r=t.lastHeartbeatOkAt;if(typeof r=="number"&&e-r>uc())return!0;if(t.subEndsAt){let n=Date.parse(t.subEndsAt);if(Number.isFinite(n)&&e>n)return!0}return!1}function Kn(t,e=Date.now()){return t.plan}var lc=[[/(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]"]];function Xe(t){let e=t;for(let[r,n]of lc)e=e.replace(r,n);return e}import{join as es}from"node:path";import{appendFileSync as vc,chmodSync as xc,existsSync as Ec,mkdirSync as wc,readFileSync as Tp,renameSync as Rp,rmdirSync as Ap,statSync as kc,unlinkSync as Cp,utimesSync as Ip,writeFileSync as $p}from"node:fs";import{createHash as ep,randomUUID as dc}from"node:crypto";import{readFile as Wn,writeFile as qn,mkdir as fc}from"node:fs/promises";async function Gt(){try{let r=(await Wn(Ye(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(r))return r}catch{}await fc($(),{recursive:!0});let t=dc();try{return await qn(Ye(),t,{mode:384,flag:"wx"}),t}catch{try{let e=(await Wn(Ye(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(e))return e}catch{}return await qn(Ye(),t,{mode:384}),t}}import{createRequire as pc}from"node:module";var mc=pc(import.meta.url);function hc(){for(let t of["../package.json","../../package.json"])try{let e=mc(t).version;if(typeof e=="string"&&e)return e}catch{}return"0.0.0"}var mt=hc();function Yn(t,e){if(!t||!e)return!1;let r=t.split(".").map(s=>parseInt(s,10)),n=e.split(".").map(s=>parseInt(s,10));for(let s=0;s<3;s+=1){let i=r[s]??0,o=n[s]??0;if(Number.isNaN(i)||Number.isNaN(o))return!1;if(i<o)return!0;if(i>o)return!1}return!1}var Jn=`-----BEGIN PUBLIC KEY-----
37
+ `:"",r=(n?e.slice(0,-1):e).split(`
38
+ `),s=r.findIndex(g=>Bf.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let R=r[g];if(zf.test(R))continue;if(/…|\.\.\./.test(R))return e;let E;if(s>=0){if(/[^\x20-\x7e]/.test(R))return e;let O=o.map((C,N)=>R.slice(C,o[N+1]));if(O.slice(0,-1).some(C=>C[0]===" "||!C.endsWith(" "))||(E=O.map(C=>C.replace(/ +$/,"")),!/^#\d+$/.test(E[0])||!/^\S+$/.test(E[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(E[4])))return e}else if(E=R.split(" "),E.length!==5||!/^\d+$/.test(E[0])||!E[1]||!E[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(E[3])||!sr.test(E[4])||!Number.isFinite(Date.parse(E[4])))return e;if(E.some(O=>/[\u0000-\u001f\u007f]/.test(O)))return e;i.push({index:g,cells:E})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
39
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let c=new Map,u=[];for(let[g,R]of l){if(g.length<40||R<3||g.trim().split(/\s+/).length<8)continue;let E=`@${c.size+1}`,O=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),C=`TITLE ${E} = ${O}`;R*(Buffer.byteLength(g)-Buffer.byteLength(E))<=Buffer.byteLength(C)+1||(c.set(g,E),u.push(C))}let f=new Map;for(let{cells:g}of i){if(c.has(g[1]))continue;let R=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];R&&R.length>=24&&f.set(R,(f.get(R)??0)+1)}let d=new Map;for(let[g,R]of f){if(R<3)continue;let E=`@p${d.size+1}`,O=`TITLE prefix ${E} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;R*(Buffer.byteLength(g)-Buffer.byteLength(E)-1)<=Buffer.byteLength(O)+1||(d.set(g,E),u.push(O))}let m=i[0].cells[4].slice(10),h=i.length>=3&&sr.test(i[0].cells[4])&&i.every(({cells:g})=>sr.test(g[4])&&g[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(h&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:g,cells:R}of i){let E=c.get(R[1]),O=/^((?:\S+\s+){4})\S/.exec(R[1])?.[1],C=O?d.get(O):void 0;r[g]=R.map((N,D)=>D===1?E??(C?`${C}:${N.slice(O.length)}`:N):D===4&&h?N.slice(0,10):N).join(" ")}let _=[...r,"",...u].join(`
40
+ `)+n;return Buffer.byteLength(_)<Buffer.byteLength(a)?_:a}var Vo={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Gf={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Jf=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Kf=/^On branch (\S+)$/,Vf=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function Wf(e){let t=Kf.exec(e[0]??"");if(!t)return e;let n=Vf.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 qf(e){let t=e.endsWith(`
41
+ `)?`
42
+ `:"",n=Wf((t?e.slice(0,-1):e).split(`
43
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(Vo,o)){r=Vo[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Jf.exec(o):null;if(!i)return e;let a=Gf[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
44
+ `)+t}var Wo=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Yf=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function Xf(e){let t=e.split(`
45
+ `);for(let n=0;n<t.length;n+=1){if(!Yf.test(t[n]))continue;let r=n;for(;r>0&&Wo.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Wo," $1 | $2")}return t.join(`
46
+ `)}var Qf=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,qo=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Yo=/^… \(\d+ more lines omitted\)$/;function ed(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 td(e){let t=e.endsWith(`
47
+ `)?`
48
+ `:"",n=(t?e.slice(0,-1):e).split(`
49
+ `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>qo.test(c));if(o<0)return[...r,...s].join(`
50
+ `)+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(Yo.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:ed(c,a);if(!u)return[...r,...s].join(`
51
+ `)+t;l.push(u.join(" "))}return l.join(`
52
+ `)+t}function nd(e){let t=e.endsWith(`
53
+ `)?`
54
+ `:"",n=(t?e.slice(0,-1):e).split(`
55
+ `),r=n.findIndex(i=>qo.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(Yo.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(`
56
+ `)+t}function or(e,t,n){if(t!=="compact"&&t!=="minimal")return e;let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=Uf(e,t==="minimal")}else n==="gh"?r=Zf(e,t==="minimal"):n==="git-status"?r=qf(e):n==="gcloud"?r=td(e):n==="oc"?r=nd(e):n==="git-diff"?r=Xf(e):n==="tofu-plan"&&(r=e.replace(Qf,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var rd=/^(?:\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|$)/,sd=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Xo(e){if(Buffer.byteLength(e)<2048||Jt(e)||sd.test(e))return e;let t=e.split(`
57
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(rd.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(`
58
+ `)}var od=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,id=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Qo(e){return id.test(e)}function ei(e){let t=e.endsWith(`
59
+ `),n=(t?e.slice(0,-1):e).split(`
60
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!od.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
61
+ `:""}`}var si=/^(?:(?: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|$)/,oi={normal:{msg:40,diff:60,frames:6,code:!0,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,code:!1,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,code:!1,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},ad=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,ld=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,cd=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,ud=/^\s*(>)?\s*(\d+)\s*\|/,fd=/^\s*\|\s*[\^~]+\s*$/,dd=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function ot(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 Qt(e){return ad.test(e)}function en(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 ir(e,t=()=>!1){let n=[],r=null,s=-1,o=!1;for(let f of e){let d=f.trimEnd(),m=d.trim();if(!m||fd.test(d)||/^─+$/.test(m))continue;if(t(m)){o=!0,n.push({kind:"out",text:m.replace(/\s*─+$/,"")});continue}if(o){n.push({kind:"out",text:m});continue}let h=ld.exec(d)??cd.exec(d);if(h){s=-1;let g=h[1].replace(/^file:\/\//,"");Qt(g)||(r=en(n,`${g}:${h[2]}${h[3]?`:${h[3]}`:""}`,r));continue}let _=ud.exec(d);if(_){s=-1,n.push({kind:"code",text:m,num:Number(_[2]),pointed:_[1]===">"});continue}if(dd.test(m)){s=n.length,n.push({kind:"legend",text:m});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:m})}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.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function G(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function md(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=ot(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(G(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(G(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=ir(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(g=>g.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),h=d.split(" > "),_=m?{file:m[1],name:"(suite)",loc:null,body:[]}:h.length>1?{file:h[0],name:h.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(_),o.push(_);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 pd(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=ot(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(G(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(G(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}=ir(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 ii(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}=ir(i.get(l.name),s);l.body=c,l.loc=u}return o}function hd(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=>G(o.replace(/ \(\S+\)\s*$/,""))),s=ii(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 gd(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=ot(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=>G(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=ii(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 yd(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=ot(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(G(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(G(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 m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let h=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);h&&!Qt(h[1])&&(i.loc=en(i.body,`${h[1]}:${h[2]}:${h[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 kd(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(G(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(G(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(G(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){Qt(u[1])||(a.loc=en(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}}var ti=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function ni(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(!Qt(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=en(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}continue}/^>\s/.test(c)&&!o&&(o=!0,n.push({kind:"code",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 ri(e,t){return t.push(G(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(ot([e],/(\d+) failed/)??0)+(ot([e],/(\d+) errors?\b/)??0)}function bd(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||ti.test(f)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null;for(let f of e){let d=/^={3,} (.+?) ={3,}$/.exec(f);if(d){s=d[1],o=null,i=null,!/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/.test(s)&&/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/.test(s)&&(a=ri(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=ri(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(G(f.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(f);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let h=ti.exec(f);if(h&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let _={kind:h[1],id:h[2],msg:h[3]??null,inline:[]};n.push(_),i=_;continue}if(o){o.push(f);continue}i&&/^E(?:\s|$)/.test(f)?i.inline.push(f):i&&f.trim()&&(i=null)}let l=new Set,c=[],u=new Set;for(let f of n){if(u.has(f.id))continue;u.add(f.id);let[d,...m]=f.id.split("::"),h=m.join("."),_=[h,`ERROR collecting ${f.id}`,`ERROR at setup of ${h}`,`ERROR at teardown of ${h}`].find(O=>O&&t.has(O)&&!l.has(O));_&&l.add(_);let{body:g,loc:R}=ni(_?t.get(_):f.inline,f.msg),E=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${E} [error]`:E,loc:R,body:g})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:h}=ni(d,null);c.push({file:h?h.replace(/:\d+$/,""):null,name:f,loc:h,body:m})}if(c.length===0)for(let f of e){let d=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(f);d&&c.push({file:d[1],name:d[3]==="ERROR"?`${d[2]} [error]`:d[2],loc:null,body:[]})}return{failures:c,summary:r,reported:a,counted:c.length}}var _d=[yd,kd,bd,pd,md,hd,gd];function xd(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 wd(e,t,n){let r=oi[n],s=e.body.filter(d=>d.kind==="msg");if(!t)return s.length?[` ${s[0].text}`]:[];let o=e.body.filter(d=>d.kind==="diff"),i=r.trimDiff&&xd(o,s.map(d=>d.text).join(`
62
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:r.frames,code:r.code?1:0,out:r.out},u=[];for(let d of e.body){if((d.kind==="diff"||d.kind==="legend")&&i||d.kind==="diff"&&r.changedOnly&&!/^[-+]/.test(d.text.trim()))continue;let m=d.kind==="legend"?"diff":d.kind;if(a[m]>=c[m]&&d.kind!=="legend"){l[m]+=1;continue}d.kind!=="legend"&&(a[m]+=1),u.push(d.kind==="frame"?` at ${d.text}`:` ${d.text}`)}let f=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return f>0&&u.push(` ${st(f)}`),u}function vd(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 Sd(e){if(!e.loc)return`\xD7 ${e.name}`;let t=e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function Ed(e,t){let n=oi[t],r=new Map,s=e.failures.length>n.bulk,o=e.failures.map(c=>{let u=c.body.find(m=>m.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:wd(c,d,t).join(`
63
+ `)}}),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 m=o[f+1];if(m.full||m.f.loc!==null||m.f.file!==u.f.file||m.body!==u.body)break;f+=1}i.push(f>c?`\xD7 ${vd(o.slice(c,f+1).map(m=>m.f.name))}`:Sd(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(`
64
+ `)}
65
+ `}function ai(e,t="normal"){let n=oe(e).split(`
66
+ `).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 _d){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Ed(s,t)}return null}import{createCipheriv as Vb,createDecipheriv as Td,hkdfSync as $d,randomBytes as Wb}from"node:crypto";var Rd=Buffer.from("tokmizer-bundle-enc-v1"),Ad=Buffer.from("rules-bundle");function Cd(e){return Buffer.from($d("sha256",Buffer.from(e,"utf8"),Rd,Ad,32))}function tn(e,t){let n=Cd(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Td("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as Wd,verify as qd}from"node:crypto";import{join as Id}from"node:path";import{mkdir as Qb,readFile as Od,writeFile as e0,unlink as t0,rename as n0}from"node:fs/promises";var Pd="state.json";function Nd(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Dd(e){return e?.dir??T()}async function wt(e){let t=Dd(e);try{let n=await Od(Id(t,Pd),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Nd()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}import{createRequire as Md}from"node:module";var Fd=Md(import.meta.url);function Ld(){let e="0.9.59";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Fd(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var vt=Ld();function li(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 ci=`-----BEGIN PUBLIC KEY-----
30
67
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
31
68
  -----END PUBLIC KEY-----
32
- `;var up=300*1e3;function Xn(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??Jn).replace(/\\n/g,`
33
- `)}import{readFile as gc,writeFile as fp,mkdir as pp,chmod as mp,rm as hp,rename as gp,readdir as yp}from"node:fs/promises";import{join as yc}from"node:path";var _c="settings-cache.json",Qn=We.parse({}),xp=We.partial().extend({filters:We.shape.filters.removeDefault().partial().optional()});async function Be(){try{let t=await gc(yc($(),_c),"utf8"),e=JSON.parse(t);return We.parse({...Qn,...e})}catch{return Qn}}var Sc=512*1024;function ts(){return es($(),"spool")}function Tc(t){return es(ts(),`${t}.jsonl`)}function ht(t,e){try{wc(ts(),{recursive:!0,mode:448});let r=Tc(t);if(Ec(r)&&kc(r).size>=Sc)return;vc(r,JSON.stringify(e)+`
34
- `,{mode:384}),xc(r,384)}catch{return}}var Ac=/^[a-z0-9][a-z0-9._-]*$/i,Cc=/^[a-z][a-z-]+$/,Ic=/^[A-Za-z_][A-Za-z0-9_]*=/,$c=new Set(["gh","glab","gup","hub","gist"]),Oc=/^(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,Pc=24,Dc=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"]);function rs(t){let e=t.toLowerCase();return e.startsWith("git")||$c.has(e)}function Kt(t){let e=t.trim().split(/\s+/).filter(a=>a.length>0),r=0;for(;r<e.length&&Ic.test(e[r]??"");)r+=1;let n=e[r];if(!n||!Ac.test(n)||n.length>Pc||rs(n)||Oc.test(n)||Xe(n)!==n)return"";let s=e[r+1];return s&&rs(s)?"":(s&&Dc.has(n.toLowerCase())&&Cc.test(s)?`${n} ${s}`:n).slice(0,64)}async function ns(t){if(!t.telemetryOptIn)return;let e=Kt(t.cmd),r=e&&Xe(e)===e?e:"other",n=t.sessionId?t.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";ht("telemetry",{cmd:r,tokensSaved:Math.max(0,Math.round(t.tokensSaved)),...t.tokensRestored?{tokensRestored:Math.max(0,Math.round(t.tokensRestored))}:{},...t.rawTokens!=null?{rawTokens:Math.max(0,Math.round(t.rawTokens))}:{},optimized:t.optimized,...n?{sessionId:n}:{},...t.host?{host:t.host}:{}})}async function ss(t){if(t.plan!=="pro"||!(await Be()).telemetryOptIn)return;let e=Kt(t.cmd);!e||Xe(e)!==e||ht("learn",{cmd:e,filterId:t.filterId==null?null:V(t.filterId),rawBytes:t.rawBytes,filteredBytes:t.filteredBytes})}import{appendFileSync as Mc,chmodSync as Lc,mkdirSync as Fc,readFileSync as us,renameSync as ls,rmSync as ds,statSync as fs,writeFileSync as Wt}from"node:fs";import{dirname as Bc,join as ps}from"node:path";var Nc={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function is(t){return t?Nc[t]??"anthropic":"anthropic"}var jc="stats.jsonl",zc="stats-ledger.json",os=2*1024*1024,Zc=3e4;function ms(){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,t0:null,t1:null,cmds:{},prov:{}}}function Uc(t){let e=t.trim();if(!e)return null;try{let r=JSON.parse(e);return typeof r.t!="number"||!Number.isFinite(r.t)||r.t<0||r.t>864e10||typeof r.r!="number"||!Number.isSafeInteger(r.r)||r.r<0||typeof r.f!="number"||!Number.isSafeInteger(r.f)||r.f<0||r.r+r.f===0?null:{t:r.t,r:r.r,f:r.f,m:r.m===1,...typeof r.h=="string"?{h:r.h}:{},...typeof r.k=="string"?{k:r.k}:{},...typeof r.c=="string"&&r.c?{c:r.c}:{}}}catch{return null}}function Hc(t,e){if(e.m){t.mr+=e.r,t.mf+=e.f;return}if(e.k==="restore"&&(t.rn+=1,t.rb+=e.f),t.n+=1,t.or+=e.r,t.of+=e.f,e.f>e.r&&(t.x+=1),e.h==="shell"&&(t.tn+=1,t.tr+=e.r,t.tf+=e.f),t.t0=t.t0==null?e.t:Math.min(t.t0,e.t),t.t1=t.t1==null?e.t:Math.max(t.t1,e.t),e.c){let r=t.cmds[e.c]??{n:0,nc:0,r:0,f:0,sh:!1};r.n+=1,e.f<e.r&&(r.nc+=1,r.rr=(r.rr??0)+e.r,r.rf=(r.rf??0)+e.f),(e.k==="sh"||e.k==="restore")&&(r.sh=!0),r.r+=e.r,r.f+=e.f,t.cmds[e.c]=r}if(e.f<e.r){t.nc+=1,t.r+=e.r,t.f+=e.f,e.k==="sh"&&(t.sn+=1,t.sr+=e.r,t.sf+=e.f);let r=is(e.h),n=t.prov[r]??{r:0,f:0};n.r+=e.r,n.f+=e.f,t.prov[r]=n}}function Vc(t){let e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function hs(t){return ps(Bc(t),zc)}function Gc(t){let e=hs(t),r;try{r=us(e,"utf8")}catch{return{}}try{let n=JSON.parse(r);if(!n.days||typeof n.days!="object")throw new Error("invalid ledger");let s={};for(let[i,o]of Object.entries(n.days))!/^\d{4}-\d{2}-\d{2}$/.test(i)||!o||typeof o!="object"||(s[i]={...ms(),...o});return s}catch{try{ls(e,`${e}.corrupt-${Date.now()}`)}catch{}return{}}}function as(t,e){let r=`${t}.tmp-${process.pid}`;Wt(r,e,{mode:384}),ls(r,t)}function Kc(t){try{return Wt(t,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-fs(t).mtimeMs<Zc?!1:(ds(t,{force:!0}),Wt(t,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function Wc(t,e=os,r=os/2){try{if(fs(t).size<=e)return}catch{return}let n=`${t}.lock`;if(Kc(n))try{let s=us(t,"utf8").split(`
35
- `).filter(u=>u.trim()!==""),i=s.length,o=0;for(;i>0;){let u=Buffer.byteLength(s[i-1])+1;if(o+u>r)break;o+=u,i-=1}let a=Gc(t);for(let u of s.slice(0,i)){let l=Uc(u);if(!l)continue;let f=Vc(l.t),d=a[f]??ms();Hc(d,l),a[f]=d}let c=s.slice(i);as(t,c.length?`${c.join(`
69
+ `;import{existsSync as jd,mkdirSync as c0,rmSync as u0,writeFileSync as f0}from"node:fs";import{join as Hd}from"node:path";var Bd=new Set(["0","off","false","no"]);var p0=["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(`
70
+ `);function zd(){return Hd(T(),"network-off")}function Ud(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Bd.has(e.trim().toLowerCase())}function St(){return Ud()?!1:!jd(zd())}var _0=300*1e3;function ui(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??ci).replace(/\\n/g,`
71
+ `)}import{chmodSync as v0,readFileSync as Zd,writeFileSync as S0,mkdirSync as E0,renameSync as T0}from"node:fs";import{join as Gd}from"node:path";var Jd=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1"),fetchedAt:y.number().int().nonnegative()});function Kd(){return Gd(T(),"bundle-cache.json")}function fi(){try{let e=Zd(Kd(),"utf8"),t=Jd.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var ar=y.object({bundleVersion:y.number().int().nonnegative(),signedAt:y.number().int(),filters:y.array(ke)}),H0=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1")}),Yd=10080*60*1e3;function Xd(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Yd}function Qd(e,t){let n=ui();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=Wd({key:n,format:"pem"});if(!qd(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(tn(e.payload,t))}function em(e,t){let n=Qd(e,t),r=ar.parse(n);if(Date.now()-r.signedAt>Xd())throw new Error("tkr-daemon: rules bundle is stale");return lr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function lr(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)=>rt(r,n.values(),o?new Set(o):null,n)}}async function di(){try{let e=fi();if(!e)return null;let t=await wt();return t?.signingSecret?em(e,t.signingSecret):null}catch{return null}}var tm="tokmizer-default-rules-v1",nm=/^[0-9a-f]{16}$/,Et=null;function mi(){let e="2DlNe3IoL_nqC-B3EtLBsvf7_ZOoPq_4AnVBH4KYFlIZqTz8RA-ClUHaatjbGGVbTKJZ78v364A87lhATRYVTRlrlT2_4LkDPtAfc_DdPoxOItN83C29geHyySG4JIApEsLQ4wpWhVDeSbZmgswd9HMgLNU8iM2fz_09KM_bITXWe4eJT5d46EgVk3g2JzwW8gMp6rbkzeo7Hf4MyXh_d0y5ZYYgfIL6Ea_pMoaj1l2S4B3zVFuHMarOm2rwGBly0WXRvMjkSZU7gN79yZ_a02QlYvz3IVPT8rwWSxHYJA87uUJL11UgCpmRMjHaFk9dXS9f3MVG2ljmVLp7qBVYgs3E17_NVb2U8pFPaFBUO_9LiYcs3Jfpg-sLy2vwvpnxcmQ-FAoYmlrv2tvKBBgHhVbFMqgfobEek331oWIKRALFg56es_SruASFEtP_IWfoyA1P9F_vsmGHjT_nxHMW8lUvva5afHDghQY_kqSWLCLUMwakt5fx4efdvpUr4i76jOVRCWIfnQfwqsp9UQqOvYQHoLk98dSme4S7A47pfWK-Bu11nJxVqZl4hKWtGwD3ZogFmY7v5iBhTH6Fx5Uja5ftt-BN_FRLvS5vMzgVhi2SZ-JVwxFPQNHl7s-7cKxyeOHpGVy-SfMGMolwLZSG-usn7PTHZlN32aaBidaNKXfKf7D1x4_FpdLBcKxGMguUrN5oGsfa9X-Lxm5lZ8vty0X-t9nMwsb-P2cDplQXdzsphoEroOwgBSVGVjbqM6IqRG7ObjKww7UmRcMzEfipcIRboSHaKySHazhva3zyqE-oqIKAGeas188tv7XiVEHKWNTTuKZ8GdvhrZUfAfij0QR4y4a5GoD2g0lASo50oukh4TnpaF1w_cHze7hTjZZnnxu0QIpuyuUokLiMQ5f7qZxhfr3fC1JF75eCfRvCDQXtOpq2GHphirg1lsXrTVWv8QF5Ju1hB4Tv7c3BVxjP7VRIjeD4Vk9OHEj-i1CWv8AYWoSvUwhhbwzIrXbdWGictV0d0mCZFtePSmJTQ9g5_DFn1mKVyvZioETlfratzyFc0e5cG7TO7TWxiEqJVb2YMJsnzzNoPIaGjHpd3D_DpWjr3Ja1EwhV-PbxI8VXkIHTVAYBBPos5-qlhmDluOxrcrcFDQufwHsXI_cHcgkjsiV2a6aB4mlHHzLIeu-T4AZTgiov8yj9G_ZhP3UVxLMOYBfPcY2tHdHfiG4WY82n9FmZ48B2nVGDCQQFqROC0_5tuvS4fsWwy9dU383VWI67K9jfLLa0yLc8RYG_8oSwQrB4viX62SX61up7yIo-AEe1qUbaGh3jZRWkRTkDikzQv9_-vH9G_nIeoGxtFRA-fNryDW6-m5iMXsgwbYwXdBFV8G0hAA09xf9v8k_SwRS-SOtY08zoqzL1WJV8DIF5wYwgdzPYN06NAsA91OfY5-ioAtxnKGhESnMPdmyhmn0KQfuVt5XG816m524MNr2h5iEfHVKoXBbN51Q3wNfAcA4UhTty2jdqcbvTAxskYuwYKAKphRKj-NpcyZyO9zXiN-vpoq56Xod9A2izjmpDlvzF597qDGAWTEggUpESQHY3lwOw082EHDmFfZCvEA9DDRjoZ4q7OopkdUMmhZ2b7SNMKigNaJUxdjZ8jiWVfEgFbhz90I4hp6t-qVrhrtmJgddxDxseOaw08aAmIKmDPo3EhQKr-g6EKdmfbpTEm4qiTPB3QSMLmcd_xZugadjtIJIier67lkldxIaQiyQYHHr-XI2lJVp298_KMMlVQ5yh1b4E-sis_DQCugwNkVIPkayKULTz2oJBAkOpe9DJifldkPpikQjoiSBDidC4BChmcM8cQarHr_vBQRWL7by_xIXUq-MTj6XWp8gMPuCSbUwl_d16kpa6fzWAASkHCbWsOVinuL3IGZSDfF-ch4XdcBkLBUMARxWNOMPKCWc3GYlf-8VXpIzxQrbST1EC8IcTHsTmerWS2gvR5gbIJHh0c-sa1OQqMQ7thaNRsbdhc1WkE5NjOyXAczDiQQNn9uIl-3XQQQ0-NBVsK5qseprbbMCnkyE45BIDFUSqb5wjyeT5HLD9RVp-ksin3j7xjLLLHURa1rDzQDevPaAyJ5OTG7amiLiNztpLsPBtMmAL37xNbwQT4o8xNrFvDWg8NtwXGjAIYbd29chaqgDcQ213lnkdJ-kjUuB4ABuj1-iit9ojETk5RGyvhuOYpWd2xPdXVd5af8XY7V90ELxMO3IQli20FMijo1ESEfjmSGabvxiXkZgX91JNvdPY_ubRJhbMA0qer0dzMMgsLARquI2YqcwNyKOXz49KHtIWOjc_T7xS3fkvVh1G71gAtc_IiaVIACgeNO0JWgPd3kNzxuIPQ78UqyqlwXS0PgIvcubK-5tFjRYpqsPg8CCgqCRmOtO013EJETGkQUfrOojlTvCgxz10qPcdYFiE7kHUracs8vCx_tEUmTuU8ubUfpsvPsSgUm7A1lubxIXPYHvORPkqFmrUUVF5iAdvOixbiUT6_QGxHOWX-MmJ8m6WvD-03UlNcvLysrza1cdzkl3uhgtgv0NtrH84PdvRrs2ExJlyZYnniAFu0r8gHw2UeaK698PgNrKPuEioUl_xViXwe9iamc-6j7P9r7uuAICTe-vabTz-8hrymUknrVxdH7luUkX3ul0IGGRhvQ_HBIAg9SoW8DlsR7j0ZsSUrOZa_DkJkQYSfifbKOJf_3882StJOJsT8G2NyvrkcQW8sVkkLnyXI6idY8fLr1YGlZaSzwIXrK-u5b6mRUC2kjRWANXgXuKmnT3oQk2jUyzw3dRMcvhf9OqlbOagbE0n-JCgeu_Vp8QxUd1DrN9g7vjFo-kf_RqCUn1MphpZ_SvGl7Ypt_Ml2sVyHiHFHCXi3y5synGOx14Za-pdJG-mn-kT6RQ2SOJNvYQHLr5RBsaYY7UA9ocqd4XWu2swo_uv4Re7beyZnStrW2Ieu_K-ukOcHZ6Dl1DzoTEDnOrxR1YaFlUur15LKNgGOh3Rkw5BTtUjYbRQUvvdnm2SActQaV4wC8ppKaOoDt421v5DwrOtOmATIOjAw-EVW0_13gAgf2MhCVUKYm8TNYccX5Eu7oYlQduoRarhSd5htZXB00znFbDPSMQ7e4IDFE_z4hrwPpqHAN_YJsZ7ZYcN_rTJME-bpPrbM4B7Wp5L7p3YMN_RaGkrnH5s7J8sEnJ5vAZISHmFgoeCq356QUrj5NIYjO_JqSzPgYYoA4zDxvXF26zm9WRKNUYFEcxAIVCiFGIznu6hesl09UrVQNlFuwv2p1uq8JJemKcu7k8H4E7K3pAQ_ZXWdQ1WyV3oRA8c9KMX2Bu_HSkepC30JdlPMLieQWD8Fgi4isEzJ5axxpWInRB4O-i43xmmQQ-H28KJ13B7ohLfeLQvCauMH-5NSAdTYTgEM8vuyugm-q2yjgkpSe8CEgdRkygeE37FQqgiTQVmyeqEv7sZfW3c523yTFdbUgmgJaGW1kUvJ2yWkbV8_LIzOyohfVJ30ALx-T2KPmB7AFKHUiYCyT3fJbVWvzbla9HFYtsKss1NWAGSYPDeA7a6PkMpFv6nbeX_HQlMVcujuci9c11MxZTOEaDrQ5Sc4GsDqBEdEsf6FX8kpONCiSF_XZSqJ_roN4aYRVMPoHw1I28_AbrCA2Kv8HVd2YkIQm-iufHUkA3sq-W8FTVPJV8rgDZf8D0pjmhHnZov-7dy-uLCTvxDRu8Ymaix8cI4l5peICeTDNNWXZ8lPCMLCT_3qy0_vLtm4EuRpyVmeDvJqxMuSyn8cKbM4Jz_Fneu0n6YTsq01DYr8eTcrphkYg7lIUSobi7TvTdykE0py4-ns2DHcz90bmKpEoAEhnrk7Jq6aCUt3nE29HeFL_a3bp7pyUz0kxtXbMvYABpqEEgdl7BobiBZrokKyR5BgopSmp0gvMDAdsbUc6Tsby84yxGyyyuJtnAtKV7-4vuQAGmZp-p7E1hc1HHg3rLlIIBX2wrnppmJYe50Sot7EzpDWRWJK06qnUm0c9fUhSIWkgg-LPPugSqlFytTdAOnJjWCcnhl8f8xy6heASGVIRWoUQolqvlu5o9LRiB9lxkULFJRkC1yztZTQOB4Zf9UHqQUt4uYvUV4kUGAHlbnnZ2yaaCG9M0uQRyFrWg_AvSht0MGHzg9Dgmx5PdsSImh8EMuElwvMqX1cay5pc-P0pqAa5qufM3otX9RlnsEbGMC2N6ISqL4O7R2AoGzQsNJ-jfFe59k_HEqdqI0cJUiUW0y-agR_m5GxNaGb6BnYjh3G3PBg4nlfdwfYx7a7Eo3WL2Om-Cu0RoXTUqBtWxUCb28Hb4L-czEjOJX9hQpSJ4u_oKvYWp1IGAYI8ydXFm38WTHauVthEAYx4q-LBPRMpsS8OguS5H5pK1AE9UNxrDW0gvwWnDUJxwIzT4MVDKy7OvStwU6HIGTVHuq_U58nWbvFQhv5M7XqifWmWzfjnBCs2c-YElzQWzXDgvQoPuzXAfMAwtNCMj5ed-WPvxZPoHKBfBKIpKQ7_InS3KhXJOSkwV4-hGTpz2WLpsjq-za5S4EL7JeZi9vH3_O0hFXOH6Zag0bObuDQAjBjMKp2F8J4vO4g7h6pn-AcsCYM-6MI2lzO7rVHH_lqSYxVzBKGd_3kGKz-B1mnI_Ag4wYPoO12EyyIEi8_csL626ZvjlTHQUAR-u6sJsENfnc6x7kjCK5mRX0dGPxhGZvFBfm7bZTXhU1CbfdkaqOFZLdopyPlaeQRjmXykhOg_trC1jgwQAYJ1GcihBBN-fWi9rx51inW9RdKLQZfBYhGEIqs7b-Fr3D383HlCi9zZdqSSjP4NxKEw9J5TwH415Jrg-Cw0Bb0SPuOIgYceXvNkhUCyKVfjQu5oyrgsdaSPj3tUirYEXeFRdJP9_p3vNAn8oh6_bi4wLumTu4Lv7J44E2Nk9BkZEKKPIRKmOqLmnUb3OzqEh31L_3Z8eIBNOssYgRRSJ3eCmP-w564InhIKL_fh2BkG9GXBrx2_oJkv2sNo0LMN3aFsaeytfCI27KHwWhqY45WpZFUHYtNVzuLsrJh0kBtlrKtbKJWKMTsuwjwUkP74O7-5PMogxT0CHAD2uJ235T_zICJXvJYK1f1UAWDaWZuJXYMaxToJ9PqPzAaxaJ0ejItyPVSDGxyH71Deb1p5tVGvsXe92HTS_AucjmC4n7rwfTqJcvOYD4UsEdxO_kOVQuLHwzBZnJ7lRF6ZAhAdn_ZCNREIfv-CLVNhojuwvPeZ8iFvvvdzT_zBQanw6FmW9al456mQJRU4MB6HMSTqslbPQB65zm_6rtuPSCQ4scQx-DcZdgmOHLEUqzfOcqeEe_GC9xJrIq_JKs9tlqU-GYZkfUhAPaK6BXJ-53ic5JUJUReTgK9Hzk-ePsQfTg6WJDoYn2Dp2qAT_Nu2A5DqVEo5K37dGj00yVWfa_X_UklBLrh4zW14wVVKJ4OvMn7FhU3ckb_5X49Z2tRmj-RgzxhVTjc9Q9lGZK_ZlRzy6NZt6BhQ-6NDA1BWiaplBkzQsMERUPNHC1tuedhltc5rTJVm72hkezySx4YR45ANSWp1dq0i-8i_67aFaw0DSmEf3EZkfzr_KsItt3PMbRedPmPkCQ5bTMy0Hw7r7sw8zJeBp9Qj54ZiGERG3fAP12yXLbpLuS_3dtDFwfJum49rJrzg2H8ZdJxpb-QJQYdQQb4G-TWoID2C9HcQjBDoFwbEGmwKLpvFmH8Dz_KcQO2VestdTCNxvMPWbAEG2r2JHmwwLOWOzq6V4O8bC36MnSB8ONXVDeKIT7hcVsmziVv00Qd14NKD0pC8HhAhrtdXYtHDiTRqzdQG90QroCJ9lQZ0bl31RdDyf9EusjLU88DYfy9Cq95eOmF81c4OWnS_BpugdzYxt7a-M55BNCyRJi0Vt8k32A1CYPs7AMa0f8eY19nCUiA6F-EQsgw2nPLCKal3wO21YOacb09396hrnwnL8quqYLuCA0wpdhXd1Q273S_d9oTquUQz5pGJoLhUFJgYu5--ztJfofVGOBSNdZ-mRSPbol7pYzCvekZthTagVRBIAKl8hPXqq8lkTdWPuTTRSnpek8eA3UWFNBjWwmnwZpdHtbFRrgDNupCKSMnFA-I-MeUa-f058GwzNkBj6msODbY44xmI1kkG4jkCioTv6Kwlh_cw86vWPZJaxAEDqIPWuTtjPLPmoBOeqQlZbumcTOnJgCKAxX0JHtFiiH058RH6boUS0vVxyeYIw6J32NUX_7Q3TJrb9dWc7At0_ne9cGNxx7FJrELyzOAhG6jy0QBWsXTs_2L9yo7EKPv68iKy23v9C0Ipi_t_PCU6tUYm4ZTiEjwVlayETFTL89bOZvTtfevgZUR4MhUywcpgwkeUGORtiAB5LwNjmwHtV7IIXcucA5xXV8QmZ-XPrnpVd_0r5pQ4bA_rOUPwLISfalRJA_QIIB2YcdiH-0IIEvjQWIf2WB55I-W3raNm9Yk_va8PCbuTg97JvkoVgqG46lbTO4ZorWC3Q8Hzfi0zK1N67OBseQsopVQh22UDWeGW-Rdxn2H_7BnuKkmCJQjaJmXlkyzO-937BlEsSVkhOX7NfOBXpgZ2szVlnZi7ZJMjIzMzK6-sdEOOKXNnXSVTbwoVZk3wgg1qAuRubehaBokHjyRl2crhSVHuZMS7Nd4wN84e3g7-WLHFB1Ti0qE_he4oi4WpTInQI38FrBeJTdmWCzeOm47-3bYSVXvgBdwKqLsGqQCIYVI7a-jYo8EvkE3GOEoaLVkvM6cur95rDm2NDPkQyjXKK1v_jQopVcTJFmd1j2CYkFDF0TdZmrNSuOWHJ7sxlGmaFJTylQKYqYN9CyMsZFp8MPSNE963y2jYtEXTYvVUiwkHEoUPMNXuMfgKlYBCXVIbnY1BOyoJBAMwiO83tSgyKJWBFKhDsva3lKEnUE1ORAjgTq0Ka1ZXy9x6iUKV2rXBGX-8NztUiYO-d4lgi3Gci5NY3CSrXfyriRRmnCfU18kXSfKuoSPE4GwoUcAh4QquLaI8ojk-XuUtqti4ST-Pz1RFK3SZSFiMRJMAkTbD16-YdOd9H96uN23n5Uiy6SV1M0iOFsQv3GGAl6kYePfEZ9qfwudGDPZdCzSIwdjXqYtyfwxf9-KiiZeZxNMgdowtZDpC4lI9InjlzyPMbYoNNNzE587NlHDcIPbGudgpOpy7O_cfp_zQsnA6vz5-SxasBeMSYfX9a1RN5cY1zxqKjDPYMNYHNJIr9iyDteTx-ONO0TN5zUYWlM0ydqe_4xi0-BzuovSPALNHDInXyxhjerUZD9E9YpVW-Qg7YpFfJ5v_SE7ssl-VoywkqqRGVNay3zYCniRxujhqh-llr9TfAeViUdhRuq1jg_P-Je763UH7aUW5pRB2Vn2F_-vW8lddp70YrN-c-l8xlYEiwZEInTz94ELDPqfjjq5zNbv2XBaq0x6a4snL6-W88MILiprnVfs2DOmsOJNEuKYd3ORtcxiABq4xa8UVr4vkMKlwJT18vUH-eP_l4NzTicmUYFXrx8csexLWDh_mBiJeMw4kmJyISaErcqplf4KI9iW9qlF-R8i3JgurVXoz0IQ6b_HI0_aRNDHXYCqj-tw2BotBM8RmwlwjRjwveirrb4bLzqyNJ6110Qp_AlG8wzH_jYZDenwoNTjO-EkO5eSMbUwoKjQtnF_R7afnzOy9LJ_FdFp2dtiIdHFTYH1fYoUI7cMS2GEgnf3g4X0QkMDnRHMBpQ-ne_zHyg6TBerhQrb_LfrCG_zh5-OKuc1OkUKSdDaIL8VqSS1NVXuWjbEwjtKoOc30IsDrYiuv-COoYxkBhy3H1MW-_-d3bkFtCkQC4dw1kds2xSB4ctjsKujG0c-xp1UBM3ra02XquK7eSQaY5h9sp-TMNfOmJD3RQeWxjVU1Jsd3ZBL2QJLQe5cZMPydSWeLXlWSEuGj2dDMPYYXdBdYrDUoCmjtEIByPFlbcayrlAuVU1yUv8leODBhoGD_ixGfSf3DQ-QXIPUNUrTjMs-Z2GcHfZW0xipUSoNCll6Y1T1ZHqoIFwXOEIpuAfN-3X9sWHI9yVUy8M5dAYWGcIRowPyQHkMiwqztyoud8DDPaqIZ5xX1BGJprbaavGql1n0fl_GR85SqDE7-IQvAPD6walSpZeMwWPx9hGVpRIN5c2b1DS6Rm3ncITDTQchFt3XTux9AGwbad7cH1RO8cNg1wuQ6yfV9yF_HDpwNxEXztkw2MeLiL87oKOMzWgvsSdZTAad_FHLJxmf0v7WIubj4Hpd1wkY_xsbHc4AU4rkddgnzjM5XYb6NSb0cxqk57gKvwQO-yw19ib6Nqt44NFR-TRlLsl9VqkyRMbweshZYUQJuv-rV124zyFUq5UVzjYfuCCrCLb3sawhtG69fUJPTvajlApq_200DuXZtzPLzLdIxlH_kCAeXm5q0FljbTWA3Vy8djME5erIif1XIO67BLQui0zMgqsRvZtTq2wfE9gGqT3EdSdwvzghjdd6xcLX1bPz8miM5faX1iNdZgaMflIWnknORPSXo-XXJXmu5UdZAFvSPx8DZPfYSMa96eGMS6aKiOcgDXiEmQx6XDzJIIYr8iln8TbEOe02pQE2pScMR5Xbc_DwFq094sPbShE6wMsFyYxNPoTcpue1z0D3hlplNFHy_dNFGV-6BahVWgLhM9VdZWPIHZwqmMlOipYY_Gm966Q-tAHDtM5AICCSR7uBNwo-pwqeYdJPy-i4CW_uxzFGvxJUqxNe0xir9u9oyj-nQ-7oHRx_LzYaGYq44qfeRsDatDSdJG2eQwMd8DOpGTIUAxzWrN9KhX4gJ_HHLviUqrUhzIt4m1d8TjOtFuNCiAF-F_2tDEh7c8s3renSwS-JYPVUqbm5lLivA4Imu7ew7a8lb4s_gJ0hGe5ZjBA8lF3sOIwtsln6wAdg8vUR7jBTz8sQBBc7sYmnIcHggeg87dZ7Goti2CEYzmWHipzN_S30jTI9Kn3ENuLBPysNguM5VAJzCHUgQrLEKOAFGv6jEtHPF6C_EM_WGvJIefuWKcsEnx8ZG7CyzIWJv6GJRahJbBFyPlDdKWhpWPL9CnHLbRYDhrVSJHcESkCZMQIbJerf-FgyAEaOrMNBNERSh90UIKlvnSKRqTx2vsUdvPIaDwQYGNygrbuuxnoup-pnLVkGVnXPA8bS0QMYZkndo6AEBdbcuTJp3jQKyl2AZQeQ-QNnO3D8NZStqG04BBXnKSUK7pthEO0GFTk1J_rk-K_5s9jCxmuUZFb2ghRBYf2sA-G3x4TslKg5CmxE3XH5rvvRhmrwVyFOiGEkMnC2z2jm-Y6_DluNQBVlSzeN1yFZ9eTfEXTNIzkDxmj5gA6C0s5kKQljUOrS2ZBv9_Oa9EssChglz1AOnK-b7cY2DpnpgN-Wu1EC6Q7hXyNH-rSmD9OuhcPGQ97vbGHAjcXzj4LRL-X-8KtWO9XUGM3EwJDj7-YJAFALJ3QrbIIawiTbHT5MFCu2aiayQmTauJQ3B7aWHf9AE6Sb89u-hPenlHIpDIXrPsaNcPPnOQeKaBlgEe7vfguofKAT4vZt67rnDOxnZBkAk8xEUUp0PLRxyXTp8KjrAqBPToypii1LIKTFOqx6sExP6Ij1Mz7nZ1wjp9Pt0FQ9wU-_T6iU79m5xpZxT8D6_gdeZ3TLBFZSLS8AhgJbBY82kqUKfs-ou_3XZk0dqB73UKHLkWebZhEpO92s-iCoh0OXI_gSRCftsGD0oK_uPLQrw4e4MV5CEiGgVcBGYyCTCTPl_LbEzEGygad2kimtRTJBUiDbp0evSnVK6DFprRknYCobLlnVj6ZcHkvnYmAG82WRavMByImCYlAfrl26bE3QoklzuNX526kByHKPtIR-k3UF_HyO8gLUWsVpxZYxP1NmSyEOuJUWskWzg7spfA1M8VuKbImjoM3syNaYm6I4No2nYNxmZcpLvdnDTzpV1VvLGkwJH4YI40jDj9ydusf93Y9cKrjgh0E_65_9i1ofs1T5CGg2K-8l1XEGcAMHGpE-WYfM_Sso5ZQH39bZ59wukm3i3qWSJW69cud2hmd6jESsF466tujBtwJdoTTobYH4nrCDfIOgFjFhk0eqTQJNAdvU7sx748W58sS3YyVNPhJ-sMLAu9K7jCvWcuBbMcJYkiHcwgQFOGFc4mh07SOgW1RDUEiIKnbxobFL5sGQNr_tpQZNC8I8gWpKCJab-dBGoszbsfNTar8N8dLeDyQ9ELxzYcs8ZUWLYvM51x660bdA6TzQmh6yttxE5xWCu9aVL5n7aXUxbne4Vay1cgMbs9EJiqpgEb5KI4FFndcs3SOglHC4rdgffh79eDUgatqXJdKjJfSKpsFcHxZaYFFfKyk-SbR0XL3eREYKErectWssBPwskjlAcFUFgSyARBvGiVJZnrjn4kqMQBnVmoLooFK5KLbkXmTniNBSJXW6mJErYnrKfA9pjH1uRfGYjIbTdMQhMIvbfzOIhoz4mdYcuTbnU2DYxiFDPaMY9ib8eYvtG1YU9ChU4psbC3yy8TjXKx-EGJwpn8QaiilgMiMC1hGL0CHVCp2pIWgBTGd6nCPkrqQf2L5KM2z7I4cYuWF9rogs3sjlQXKPx7Je5inlKzDvdvHdxrwCfmaC-XgOZA3f2CudVphincVIeS88wJ6g_kHBmwUb3Ijy6DCpG_I3LLCecQhOZqvYdAbThAJ66ZULAsWSSX_HatdZ6kwRX3OUyBVj0ZEVhVycrRYX5K0Ot1Q_GlYf7ZBd1IcbMob-yQjIhMzntTl3vAnY3rpwfeq-sdoP1XHb97RIcjtubrIMLKiM0Tnuj1504VbWNHxS041r3kqpPNl3FIbGJDRDhmTgM0LYwBbNIRN8qP-5KWhI7Xulf3yoSp3jsdxfKu9meOuYXurjSl4hqeJ2DWS7euzaB2pbc9vYBHjJiNzsMTDAdZmpaNbTk7baWf-NIntf-_HOiE913Dy4Ah5X2bNjaBU5bfSapLw3ZVzsRAiKBC_PD9ldFGfJg96Fysv5Uxs5sB0KnKvPStK_OSWinMgA7cC0Z_XLGuTfG7T6jXl4zyKFzZOuGZiZRYULbTMGoAEwaYHS_4cJy_pWdgYwCimhV_D2_FzZC_dRRoEnYjsRiE2-JFRlDbaYcDnsmO4YP0ZBloxuuz3ecfp6JTrkRvTbQiAATaKkxsP1uAs0OayY4yvN6aI-jYXZvEbpf6LWMDe3ATMEPIkVckq9Iz9vJlM7dy2hbjxWHbsAoeucaW4XlKBZ7OL4Cp9OKdu0nbK4UHd0l-n8Hp2svZssBUm1dWLzTgt8GrxCNw0qBOPH0Y5nA3Urr8HO6DF4GGMr_P7H8qCp-L79nhYz9dg0ZtxMYpVhEj-R9_l0ciQxP3Ot7cKlS6131npYebnfnLq59juZycqB8MlICLVNhJbYIkP2K8VevSt9KPLD6fxMuChEPgW31HTRigkbV_uXf8lOK2oeMcAN-3BcBKbvF-QoHn5K5oxZma4MJoPzrm6IR8fLMQ4bqAYRFD-JPCJD2MiRA-JlFklo-r6I71J8VrPHMNhJIrjDbWlmx8aalo5y010QImD45-V9OGeBjWrcPgPM5tBxMkUBJPJoElnoJsi-y4H1jGay4WeiPpPpjSfW7Ipr9pQ-r_CWpCZB7s2Qwa2RMvUV0o_a4Rdd1H2gpQplOFW4NbRVKI4MSxPvfEazI8z3LeFpGR1FIn7Txl3P8_C1AHTV8iZI0dMHq90S8NFTIh2fdx_3y7ypgf-AvS6tOI1UPIhk4OqPCLa8oQvqyc-1OQutMMMz-G_qIqN53OF_7C-L7tvnnIEWtL-pVUrouLtk92H5auTPkKeGYByt6Cu7jroJSfoDTJPlK3OEbm75aq_TEyVpqSh7vdsx-o171g0LXRku5fY30juuKMej2rkoG_vc0KviVGqMN-vK9pWSY8gmcmlkB2nc9mXU3QbqeDa-2ht4YrwolI71oDQWLscTX0-6aVYepgGggXdPbHIVPG3GE66UNxRDrDc0I_Ck_ICteCu6sDM4X07ydEJ_uBxnetsh7EOvQ-xN66V4yIID_q3rKTz-g9NwRwp2_--nk5KIoZPWMkGg1HFVsFwy6aRIR8XIN5KBJQuurqyvN-acfTd5HdiNHLw1pNk-GqdNctiY-o-WivD6r8nDnBfhECYQ6BPCwZ2OYRK-lJNE5x5Bv6k7XVfB2xzCdsxbjRZRJRH_n0YN12juZ2HcjNucadvbXXoj-lOCjctDSRKmTCqTLpeUs4-WhMKP8hMdrUKHdOY4nvarsQ-4A9ljiv3RMyIFDcZ9bVdBRwMG1L4ku-TLfedygXblamt7nCaV7a_iTQsk43TVQ0bzD1RkcauqfuxdkRleltW-iajX3oOiH8QPRE_RdxFfVPPlqwCX7AC1vsbUO6q9ufHLGTOsmoQogJQDdAg6fds2yKUwuYz2q4kwW9xPmXfG3iH4Xpuqcv1C2kl8dgXqrXCXulTyTP0j5A7B-nHFsUMj1qtFiaJ3Io1HoQhUYGvtS6E4bbXWDGc7MBW21bSNWLpoVhRly7bVNBwPeiAYBJFPxRon2mg2Mw3XKoCa4aYCr3Z4rY53aKijb2JWsPCy5ZKrcsfOObNWlZ5uUMeKcuMVGMtoQbKX0oaMYBFnxaxnz9SI-FG5gvgD-ZXU9Zn2QEYAm_HHaDLN1xai7QKqqVJaepvu1wK7QMUdDx21oH6Do8EzidnS5vndgtMNTPNxnVl4-RhwrJIl09oySTpS-iRr0_-x5Kzz_HLJDYLVe_5aZ0ymzmek5GbOcItWWvOuZIVGuvIP8iyogejk4Jl_z6dkdc9CaMNGVkv4V__waWNPpcGaOPgd47WvvCEjta1TX4Ve78xiZloEaoc0kMdyyNQdwUS7K6HFQBBpP5_9cAOxmi0bMjNrV230cSpEpmy4UvbLYtX8Sh5B45KPZC__9NDdZ0xJAkmHJjvG4Ozzrre3s4IrrmDzV4zAfMwdcdu29r2BcCw24_bRiXAGppkZ_sdUn1l7_6zSr-eJxm2gSDQRqZNQrlxtAigPaH0zRfP2a7TvfAUBuirZsrwCRGeKNqqUEpcOn9_qovuznUJ7j_Ist71cWINHWPvTZr3A24Uz_3wxW-h8SBGla7wjEpRFULUO5v-JT3ZP8M2xu5qlrzD0CGmhtwo7DhjoTnMvEcKXa7DQmj-ZDRZJtpQ23EeoxpmEnCtnfxQ_9_Q9cXWqPeWlJ4Wy1a_ldXSzXtCSAwAVm6f1GjTSRFKO3GQTUELBC3o2Yhu8pxee1PueVZN8bBs2JdvyfhD-b8IsO6Z18Hs9Em0cGuvuiTeX_XE_O7IKHzIQoHJ8wq4hgTCHfy8-qzGzHuV9ThRLud266wU3bbHK7pM81oDZCSjrzTeSV4fEFov1zCi-_fge8DPmEjCP37SfmGksy81X8MZkVCUvXqry8HeIou1dsYmR6Ec5Fu8Gz6yw4gtWX18MXYHXZuroz9O_bwkEFliltRY8ru-Yri1ytrD3BBiOvELpPS5wBiidcVo52WII8GnTx13eZDZshO2eEAOJzeF9pmRMLsyfgWz-Nz9olkmL0fFgqaTdUk8TdEzX0p2_Qrb1mzUASQ8NX5wSkWKieHlu6YPh4qeGVeomQy9ImYSdJXjZ9kDwYwbd0Im3aQPVzL4eTJx-PeeXS7p6KjUd5A3VMrCneeaYfzMQ0yp9TfQnB7sZHKviL-KVSfw9_XL3JNWs2wg-5fC4DUrrOmdxzySj5CED1R7-cBf9tV1XV36rqcw0IqPyI2aZqGoDCLVeHVi8DOiAYOdMygoR5r-B0v9xO-aDMCTrra0ihJG1Mgu4JEsIjxRKtcTfivfqd_etLp74s4UQcvvWov8Dm_8TaqCfUZJpS30YdXHvNp-fg-EOvx1-5qLLTIc31IDE-ZxokejwJ91TPuGmrBeA2_aiNpLkjLtNBrMbeUlA75RRbwM1WeLdEuAzOcahboo88ESy6SU8I_JGwTeW4iuV4W5zND4-VO_LPLmkjDkTBR42-vPETk9WCLAOOPkzJos4Y6Qc5r_1gxiJ0zhSutyw5FNgdnhwOccMFXUcrW998mDrYTXXqQKnkxaLE-grHEUkthTi84YfPe9R2Z_U0_kwH-TKlK0RrZ0-kjo-gFabuuSBwvKp3gHhABcf6xGWvmpXM7VMOHdsXjQ_WUjMhixL1z_VoiXb9X3lfOJQ1OsQyB3hloLiO9XjB2_Dd8VVN6L8FT95b4snGJoZ7lSnRbhNqwQz5V1N667okChJTB9Edy-3-y1drh_vPSXURFeLsm55yVgyy0aC-lSVivxQ986cy7-HlK-Jz1IO7qAOUoRkATziPk03nhcjdiIJv4AuHslLm7ScGl8dC4EApz1uzvsAWCW6fLVq0JKHSp-gTm2j1pZv_hefMpFnQhOcDiJ74bL7oWuQ0H9hSLJDSo0xXqY_vhkz96V4emzjcQ5FnMHxNZIsHcuBFmzo_pbUhdQOh2N-rSb5QDDKzXi9WDQkE3rrHmYxfaNvsoXxIzPXLyvfWGqrC2RBnL652OaoR8jXQOdkY_2SDJq7P6h_YhJVsFAD2c1HOu_c3CvPTtj6GCdkxbWGsf8KgJGOlRwmAuRhkQ6Yqq2I9T4G9GNY6h6g--MBFT4vZb0y1tYR-JaJZBfW_WzU_kGydzsOGt1itxrQRBMg3D716_1eKjyISxOBVo90HGp2Uz4w1coHSj0j4sWQutVL3Ni73vco4YzpSaNTDocJjUHaTMVJwq8nljp0OxF0rd3rs0wgUVg4dWBvWY9OhddADwz9d1AkIMBGR5BX71JYUDvd73_s1xY6VwDZfUym-2z_VEccHrTb27QMzraTksMNSZ1uJEGJiEQOlgkxBYVOTSBD_qqxXxQDgFa7cK8CW7vTzAEuckB4vnc_NtN_kgQopiKsS3E-UQUbmvQgLu0ADfYnUxxDrrKKRYjfMDhx8RfMFM5ZQ4nJETUtmO6SSH6w0MbAkND-enI7iU7e6sJ_9WxPa-6Xc-SnYS0VBqwoAbTLgJv2if1dPX8IlknAMwcnfC8TumhBZl7N104MwaUU-xe1ID8maowvkW1pl51jOC5Rto-4D0G5WKUhJ9gHzlxIb0gwjfvf4UvFRPzcnTriycDc50WB7gG-RWxk81A6wcTsXGRCnohk0Z9HMKJGdzD0zjpq_HdynBx4YsWAl2kip07Xy_L3uqI_lpX63r9oQCoDDKgMmTOlKhHdPHGoDxI5JCFgooAqywtb16fmvP7L_CnzIAJhpYbb24OxbVupYKsAt-fapF7t9oTN67VzOvHeK152jYEkAUNiHhnOMii5uLN0SLFDTJ-uzS2g8gvQFNi-geb4edkoAtpzN-31YmLCf5v-QBs7Gtx9e4qjSYS7vIVCw_MtRbWu0c_f_XV6Jv2mXnNhS9nWN602nTFl-B-CiGPan49lp0XBpcm1Yq62_NQs6-8b6So7j62bt_ro3AhXI7fgZXPQC4vkyrn4yxnUI8YIKkeAQ7KyjGcr_o1SqPYsuG8laOdpUiadg0hl81VpUIX_IUDSJFLW8VDUvcHxl6cL3PMM4aBlTkKDmxeH9mGD_PzFssuJP2IE5TWW-i-6HVQ0-gc2_S0XevqFMg8WnlVNMWADENg-a0_9BGiYpWO4VFE73hYeXvkCUiwj_HUwRveGo9SOK2oax0hvjDUZLRioRA5ONQebMtfyExMeBXZ7VzGuAzAuRWCQSj1oFsKkXbeXyUtNn4kITJtAIQ8jizWtwoDw4GN1POFwautw83rGjrXNyOiuyW84K7Sv2dV7-IdFs4jixptuecIQ44i-yCqN8s1qrMejfORuoNWzioIEWL1EuALW-bs-WfjnTlBtqMdJA35FHN0dwIA5L82GEM_buEuijZY9vPNF1GWnvQTWRNT48B42bnLTwcp8nFQhIdSX1r-H0ObMPboBhoC6DKMaxWYWrorJ70nZZYRhplP_WnGWepvgbWcmBBk-uM5tCDVt7OvRZnwkrC5XxXXS16CuSiWfatPASPotOn3e0gHgwxzwt97lxCRqkfLvrPKDrWMUUo26T-kYOdhMwp4RpDc4IA0OhpHICqyCkEArkGRfnIKWjSSSnnVw9XH2LxR4dDndkaOk4uldmGTswoj3aYLWYJcsVis-Hjev6aHQ3t2aAEh1tXoQPNgaMU2bEy4lfSCxt7mvJLQ3gm1JcuQLCctnvy51ydnwzKzIu9a0yedVfJ4TD4OHSrg4kbHMy2ZRcHyoP3jM97Ik4YTf8Ik-CyLNrItBCEK8XlV_fBXFD65U52QNLQ4sAkTLbymxbeNwbQlzrNX59qUBe1grHVTSpRd1Joz_sfEY0fcybLdydnd37-vjzGN_AAKg5Ic0Ycg42w0hB7BqWeuaDFhi_pL88pyu42o6rEA2U5S48hXfLZaic8wl4527uXFCQt_tMcVbGw2Jb1cxLZWFLVsuRp4WRPlCpukMY8co8hJ2hv3h4GiUYvf04co1qSgIHXQLl8EsUh9rBicUWiQ35KYrP-M2sbNWvDDIRQQ2rSAre2-jmXUCWahp0rF2UOj1sMbLWmKzfUNpXRWLTw12u7NSri7vPv72WqmEMYEet6FolGtanIW4rJFhR7dzZblu5izXNYqVExK0ssqIJR3I2mEuCaFJqDTwesTIcv78m_LYiTZn5KVLgRLkDKBxcTwsNtPGqNUum6fiq7YX44jtzATNEJmG5lXnQAvbqVbUlWJcHZGDVDPU9I1f1liOo2WLJPb6cKDeNcgbUG7xaUXbX3P0BhxKEtUl8sAt_lc_LrrPosuTSDDnZijdj8svxeRtNasULzb48V9FxbeH1jX9MgdDJOPtzyAngLl1ArH7MHZnldh2yE_Cx3ltFE7z3dkplFcoSHujv3ljs9fk4khhKv9oD9UK26tawidNu4OAxMXNDgQfJsn4zqwqMH30SYPCpPYmYuleG3eWazzZrl001QVjoJndVowmukMZw6UI6Vo4ND5Bsrrbv8d5V1AjhlKTK8MRwi6_cgEclqedaEks3U3jh0Z4G167S6Z94nU3UZ3qyGjlFqnlbFsQhA0FPKYFkxQXgCjyCy74ft_MKPl9mTaOOALlsOIrx1sntCeoq-ANJyzzL1GwJsuq62JftS2W9FD6qqR-wpV7NGtwC8nqc252Vm467UlxG_me0ktvOyI0ZmpiV3YCUnHXPwZVzqJ1NWIQr90n5dkY6otFYkPWZ8ZYlCw0Z6k_P3oA8q3CU_JPORv67_wUI19ZRu90HdqZpA3edp0fQLSv__MrtQaU0aQF6uDJABrsJFIjwzHBR9ZY5qZEmM-dphfokhE6vj9d_02_exmbY04jd88RCui-GamsGExXgq7CtLx910Try6zj4hWAaaPgMBs7FQGLYqpdHHtRMUqrBrme2vdwM3VAIUMjB9OEoYblfik2xj-HcaBWNpLNmoIst-yhKRdoZrZ6V7qqoVAMLJb2nw5SyCL4Bleac3PrpleGf1nB9ne9WlEQcGAvi4N74PJqnHs4kvLk8OHloLFf-7OtoH1Tk6HUURKkgKOhN04HJYlZJesWvae_cguSGvVr1zUZGaCZWe7e9kBhVFT9QWT160o2W_ZvEmu2u656TeVnJcEp6AVFdYxS6A4lSCfhFfh0zLYFh82BKMWFHEG7U35yEAxrMTe2p8dHlzsfVjQqzBXBsEpkHbmR49i1ICw-mgj374dQmXtHfgC5jmEYgTgJsSEfYwniI8G08FhBEW6eOLDXgg2hBOQUqEBU-w7pqyyrqREorSPPZgZT8Peoyd6FtuqnYMm31Tfll-BlOXztq9PeJx6xNrm2MgiBFHwJnbJOl61wG__svCREyI5FeNEoJvfocezrhNm7OwhkyZwlgTf51Ghbwvk2SFa_UvKFoln0zCm3jD5Z_FnZzezeFkVZFn5bhj18522QvM_EuDxZ1LIMlobtQZMC3znoF9l5cULQcR7Oc0TXVWqu7jEIBhFJ9OiTtVz13a6Bc17fEd2dH8DXFJRIzNlC7mZyGitQnMo0n38otMsA60Gtf018lfibgT8CXb0PGaSHLqsLsUgJsbmZJg1bekfcXUZiZj2itJDzqyOUaXakKoTwI4G3mI24fTJ11CioQrO9xPbNkSCBEHJv9EHld29Vp0Q_9X0NzeRVmUpO3W-VKPAtkh7BhW3DTVUyLfwM9rZkVsTcL2DaAnPF-vIH6pyq4WwqBpgSWvx1vyx99hx4lNzddY_-L430p-HxQhnJqene3k0MiW2YJfs-_Kqg3NHt60RLqLjdMhgBcBWI2wLRpEyOcptuEhy4NX3IEDWXikFpkVuh5Wa5T-MtquL984aS2Vzkt_3odV4bXvEojm7dE7JUIP4OKHlaVIT0uVZSob1hTxhAtN3btOj57kWTKbz0OoAMNHbG_0jL67pmxywchkr-gQTrAMzy0RqI4GWavFlLRFAdGPDy1nOI6QWcY6352kL9W_jpbJcJCvY9ss7hwTeh01200BJBeBcKNU_qikvQYlXaDmhI10F7xbi2wfbFSPwF0Y7o-jvRUrhwHGunHd-CFCUtpQaCfJKStFs-E3LeuF0uVhgphslgE1fOmeRm1LxZPAMZTusxTW-0i36hmo6bGRgyOrw7KA7D3T3HzPSu2fKGV-erlfgByUv9udUZ72mk-x-P9GJjRrJFRzTVWsU7E3sC9y8fw636YHnwaGqWPEOnuhycWzoAuyRUdeRdBx_uLBlP4nZGHDtVEcSWeen4GSdNPrOeZdJoAMaDRlhXdaaqp7EydcX4ChpoDxIe_AcFWnO5qRRk5O5gvGi9L4w9J8yYxypKfa1TWDWk9QNqBwlgbZpAKcwyVIDFhPM2dsK0IXMDmEk_Gf1Xic5IREJnIJCqJwPGgcfqLLUSUntoPIJQ5TFgS-TVW54Kdox-0O9jQxNdm3g7YVIIdvjTmZhboV-dw-onFzRf9sK_RcHlrMQsfBYIJVBQqspLhi0a7PdVvoJzKT7iL2TBk2H0kdlZUUX178pE9b0UgM0SCx3YwkCI2v8npGUrK4ySMs97fB2f0STMm3CAPa-hMozzoP278_edR7aKJ_dqgkpY36-iZxXT2w-6upL7Rys2QLYevuQixGZKRc_cd4GGRpFv8D_k_9o01I9fdeeQQJ-0lDDXE5wo7zF1Cqwalb8qUlAq5jvFehHcr7KAjbyjy6Tjni_w5K2YFR6Pl7MNDnbdcqtKGgd03SE8f25rX1pOo3JmhPoWIBAKpjXyGer31p9UsnTZO9TDjXGGIxyG7qj5snlMf_nmQgXWnKOmvwbMGvivjFnK-ClKw_2ebanO8KTFbl3tlZwNmYWYCiCNIl3OpUgJeA_97sY_Swv_7ks1R1EmHEALm19cBsbGTxgpwRBAqHn8ATfR_7FpS5FrsDzxcENqKSQQubjEzFKiToXOujVFFFFl-fXnPzQVxshwi9d8O9Z5PiFNMwUI0jrJ8Y0EziIICM40fthlH7jR2Xa3NGFAKEoI7ANZPnoKtRcpjKCFR6aqDVgikFhZUsfpD_FMokD33zQGyzDiWG0hGa09fD_7ewQPH_b8Dg2B2Uk9MHJFZEJ9aQnS2xFEe1oUCx3CEndSQoKQ2Zi6vl_C6uO6nf0O4jnCGtBL0wwlJEtqm5U6JNxeqoZEu-ErmsbqXn5IivDJNSkjOjLSJNFCFDQUWmKscu53wkiKX6oR7HiCPmjzJ3serO0sCg95R18zE_jy-WsoGFPIYvsmt4Lrpn0PFMhKlJTEiC5IGBG5fnBg0w7Kha04AHNRvZMQD9Maee1nHbDHAoSQZsPoWlyl9fjO5zH_NE2UNcxApVziHrl6rkOjvcYazEZutVFWKV1jthICwXT3y86P7AEZe8FaaQBv5M5VT-JNHIc2fE2x4KEUW-28FLsPL8sXEWIOUSvNwhG8Qx-UpFE__tIempuVgnjdqwezXnM4nxEQE7YW9mTrZnAvpkOy98fKQi-x1_dkG3ZDi3WozItbq2BM9wfh9SlNLPx1rzSDLWScuIAFf_uRpvt4cH_a2hTUh5beow4pWfocsIJl5CHAdUO3ZiQFAtk8aTm019vRB1-Ntyn5rdxWIwW9ejbIblYy9FT7EFWYLyhpBSqJ4Te9wi03QT9K0Us6Dhwe4pPCKMLmf7KFr_uvWsk6D5fwu-qucDMBtOeO0XFfJPmSl70OKTr-q20wm4acHsLn35BkDLUHPYBibgpORy1O01McfPeaO356ALfA_UJi9gHmmOsmYV_edG_DNqeDxYhsIV6v4Eow_rfbBAfHGGSEnP32ABuZnV9zChua4boC2sTsLXBMOnU4gi8ugxPwKccT0lRC-sXcIr64NRESTSkJu2qC3ob4ecQJVNU4DvfNnHW716xi2D80tVOu3svUK7mRbaIEc1lqPrbkWOQr2AVUKwJ3IFrlgLUFwk-1mAEux3TRFFDrF-VMfH5lxsgxR1OyM8G1lAPI0i5JHQ5aKxqD8xY9LMaMDUTObfrjaR-k3DOziHOxWofzArszIx-Wx-_c5_T2ruPL2-lRJhj00Qt8sFY48-d0HyH8l3lIjVEnHjycA_bI9-wWZh7y2CXQGUY0G2kJWtKPDY4GCziYxYUlyfdzGRNE7hTOIapFZ38WMc0ttDI8BuomH7T3UWyV1Wh45CpuhHwOkJT40mzjbzyLhU9-G6YU84V3YXN0BBdp5IuJetJCnqV0cSzK3xARrghaNQ-vova3juhfVSnyda8D08J7ZfUi4-8SAZAXkQGhppfxS773E4epFz7Wwd7ltTdgfnBqnn_d8MrEr5f9ENCjLc4EScoji4NBWWGL41klA6-_QUV_1qqZ1KF3DXhvKXSlZaqh72e8T3DF5QxNHQUcLRAQ7liZYnU8rO6HGv0pB44D7-ewrcDTZnYNhV5m4XIRArd2OgwSVNqW09vt7dl3MC8Aj0STscFO0FsJtG_Mmq6H8rfEwEyaitYu4Sk_m-RjDfnsBtX1lGujCqdRHR_ZVL6qlS6u4S5ugx3-ik59I6N_oVzDl2i84Q9uHnPYfr-96enct4-DIaleJCP-i7odewaD6XcfP1NR9gPIAdcMq3viXShNI0dD5ip75qI1CTYGXCT1UmUvbnS6N3BF34jY3Zk8JCvPzvM3_cEDpAOjAmcrWhSIm_gCbVPblRgtGYn6CHmcrBbY4NDjZcZW6ZyfXMH0NgKAiy4mm3w56liT9wxdO8QWZZbUS50As9bQewvBRHhOGuprLzuyC8xIRyVk5a36bFQkWTXl7jmbO4T7lCGt8CD1QceNRioYTvUGgrgOCQqtDTr1-IjuP31x3qDNQCE2odrPR_M8KI8FWTl7mDJVvahbF63T5otKm1Fa0g0-f67oXRcTZKcERSMn9rU_H8pQoZ-ozhNmDsAonyDfkkyBTvmp7jSPc9o_rg0bUjkiI3PD0hbn4ZfHY9WvX7OtDh9JoEAKaajk9Af1mmkpFe2AdFaexawVxLuxHTQZ4o6oV67SwSto5LpmUNfedMtmyUO8yVYrxB4hNMGNhYOyuKPTe2VciNLevI2VyBYVxdtJeXdNj6y0SMaPKJ1-GDB_U5iIrayhUkVDwQcbteKWbRjqQnS8NLkoreN4BFmYocJd6H6fedlRya5YCIB1V9d_sVxy9T71mtfaKNQzT4EU2suy3UNUnQ_lMApHIYgQTHesPLXyGlrOw0eNhCwUzcL6c4XqEO-bmEyHRr3bWLBEfFowZTSPYGMRYnUTJRXOP-OgjFEymv6SnLOqOAGs1EMwTmlO38ToqQQqNL6enQagmIC_pcu1_bcpSnQGqAWHEbRsKAdVbH6h3vbUuuCby8BrqVkwKoR07h14Xnf9fWRVYL7UbX6iBLqvnLg4G0bbPf3sw2QWyltcEXrreOh7Yw8bLNAfsbKLNpXZ5D1-VNQGo8UQEXcwPwzIoAxbb2C6wi5mc0D23LphkToBDhIyLX8Zb7ry39ZrPjouy42eRm9AyhD3eD0gTfyyMS8IJJejqplR34uOkvIz2WgAr35wLbPQxgcuBVk4r_QISWvQDlS86mY5szgeFBU3H9CY6yRmMcBofhoLyPKG3VEokUIipy_o4aw8Jt1MbmVj1V4qLJiYwvWR87T3vbU6JUgBYTmP5oBXFB46GYbB0lVx89GALwCRCnDwp9tIoGExgw-W-m8SUO65OHqBD6-lNP8SO3hxkr7PPKcC1af0y1wX07ALVBMe8DpiAj8hZ61eoiSxB5y0yyMmQ88QVFDuUYX55AvGRliBceFREWq_h3RBB6hK1NjEy5Dubj74P2TmvAdHFBx8P-C8sVwCxizPUWCDQlJ0YIg_5rlbRTsb653WaPusIduW_6lcpNSGz8ZHr3trjI56HOlz00ENlPdfJbHdjQ0OVwDP-rwrNsYnhMmzo4BwkxLPrqgxZ3LmBdj2pH25fXi2i7vm-ut0oZ3bN6TuHe4w1CJtYDG6NCBpzqCCxjN0M3-WDgGX18lvLa61pBgQvvlg2OZ0cFORUxZwtL72Hz5dS4k3TPLgx1KUoRYGrkCTPh9aIDJrE1SEzrd8A_jHcUS115EjAGzhvoUW96KdHl8pRJ8zN0lNqfpX6jDJl1ah5paRg46h1H0SqMVGtqRXmTfAs5MYnjHAMII6B9G5uelaCAOanNpFcWyhiepi9zDx5AsHRaDoQDc6k5807_fxXoELYbvGFPHa4y-3HOO7za7F9SDFT6JsA2K-MGxu94LRI5jJusWD0eVjbySDnOCL76SCGrGHelnHhdRZLMlNoPFJy0C6ncQ4UIQjBn5AZ9Kd8tmlTZzwAs0jJ2VfyKaDg7LZSaXwJ1rmij7plhzil7aCk3fTKB0c72GmgdSNtmlqe0Y7rHm_g_W-NsbUX20o0mOqQVSJuZCSTSa-9PJs2yUGm5bhhT0LwuhAUvc8rg3FwdOuMGuZuHCVCtHnUoC0TKhVjLOWSM4hfBUenOaDlo10TkHu5UinvlRoxxu63UBxksRw8Ms8_VN3h5k5ZOma3jYEHLi3K4NM2FBSbN_tM_JfPe3SUZ2xZ4GL327KmqOc-gDKPOaSxrBV8qt9nL00HMvvCgAR5llnQY1Df6FVCvDpfOdSfCAuSSK_qgq4fCkplC3GljU88ZAosZSTS_kCsYBBgjjw97KMqDWQSxeMTX1WY3XWKhsALb5Cvyyv6HDVzWKLUtdmxe8gXUNGJNcpv0tGHgcNyZIG--9XCD9H1DIjTz6gTmImbNxp0EQ4N9qkQ7_MLe5-P8Kf0ipmV-nnPWlxJ4U21lGJ_PBP5964IigNTlupm-MS-nt6I7tADxTrIx1qhCbmHeuJIjIzjpStjuIljqgwsXdbwmUfqShhonPj3wLqS1AWsfVrUxOoXyF2uaP-b_Ssz_QGfOXnTXhfg5buJCaIluA0rEaj6YFRSaClJ6l_ScEnYfmo9kjN__7qO1ZvKoAEUg3Zbky2htYt4jl1E9mUe1OHnKan3ExsirYYrwOn4dSk7lTmMdRCoYutreqfN_xT-iL-Ikp14I95nMCxWl4ZTqIkQGiFjRv4EZ3gQnEe9WWKnHrun3viNP56SuBDj0WSIwSODjTz3BA7WoKKEKaAF9KeiYgQcnflWzZkdx4XhlVqyo1MzoPTh4aHbvRbkcFo2ttlyyqISjbLeCnSs-WAJk5Tbkm1yE7Fr7qn6xSB0fWHG9g3U5lbWV0zcPZP9A5HggjWF8SVQL2pbNOxeXVWjYQL6CO8NKxqltyrGzMnymJICQVKiGUvtThQY4QyGy-5y11Bw8oK8z04gPi-QPdB918j7Ot94cV5zZDgrgvqiV0iJXUr_YjNJtyJcw2wCcpYO9M6Pnt2L32QYbQvYuz26STeGi1UB3vOZtKeKlORoYfjoMys4kkVi4GnnNdtjTQ6ZAn_t3Os7mm-8Qg-RlhQtvWWmSaux0KMlPz3zkkJynuLwWNiXg5vYf7hCOzyVqoWPRLWaFOjRan-JKfy8wrRuGtuC8TNBWHYhuu1NmVXOmxxstpbnj6n5P2_o7Bm3nR9Fg_nImDWhshA10ENvoENahfFm9UjHp0DmTaXlhHmoNmPsGTslI6UESnY_dbuxYOv8T1gHviVGGcswuy92fvP6QOVUZlMUiE7d4jeBEZH8G-pxebtD89jcN6m4BWLbmyqSIiuC8UjcvjSitZSRgqNXub2E6eHPjuTsGnhNe7lNdEeosGbRY4EKSnZ5pVAodjbcflQhvGTlpWdjnu-_Z4yZiu9ha5JXBYjU-1ehovbYsauVQxcdi2Fhqr9cz4cC4BqWLnkxXfaYLpPEmG6tERAIWNh-yG4lpIQYiFCEcEolu9WrUajjrWgi1aGz_njp7BnVThidjyYoUCLf7nl4AI2dkP338RHybBrr4hhQKiGZowyyVo1E_YPM2q9BCB502cETBzb3LLxEhZ2Lz8tvsc47V99rSfrVxm9CTJ8m2Wo3iPRRKMQFZ2Nbg_-BCLoVLFstiUy7W2fnwODCNSUrafeulSHziy99lS7V4y416S0H0n0Nk2YqUnyFSCJmi8c1tmo8mndwbAmEt0cOUOKvE2DfAjyomFbFYFhVsor0YShDYlN16gNh2VLmQTLYmD4hALe1aZZxEVn0ATtlD2I1Iv3gFNztV5hTOSKH0U2ct6jHmsVhyfvOngxo1h48WK-Ir16tVdOg0UkHztFwAjLuMlzqtRoBFRJkwhvINptZpDt0kmhF8t4JQhCo_cPFKAlcSeBqZlSX7W0yPbKlA-d-eIi9dLZUNgDZ4lY5aufpn5QoaVi0SJPfbE4tCta5XklaTpPRbWp_LwF_aneS3gnhqYI4_6j7tje7LvlnoyPBZVx2JABd8Xn1jLDTfadpfFIuBwa55EvlosRf8zfLZo8rm-BFdFhERfcWN4ldrPSdcclCb8l-dYICX83vYB04KW5BvjNXhwo8N0eR-TuJdFshs1y6e8nIeRbJ9f_eL0DTMkLXA-wNUqcOiPFbBuG1kaKQj_e2bTdyfw4k6djdzAGNjRgGSm_AQQH-aj8Dn7kCUA6Jve8_u0wY738rn5dXDo3YjbGiXnibZezVg4aWZ4G7s5uUJvP0VuqDJYn4E09J7YA97Pstp-3xsFNbzewmQ7EsmlBIKZGv8qqx_xQ9govIemZVeMxZgkGtqWYJ6q9jJpFF7CkoaMt5pil8cPQVO3pmkSgt2nBmpYjxX5qqgm_Ph7b7SQwSllC6HbrMCysFPF_ITpvF8uyb1DdZ-PY5E-c5xZnzr_md-FxGh6akG9eHXIavNlNOhg8BtThgutePhEalaTHUPqIS2jBDYC_4RSfWK3dnnS-f7LgfFrLpvg8nOH0gXmg90VDxlwG670aaQ8bHVs3uniMLjs6AduJrg16vGtg_MJCZS2dXXwzFciIWufzQ4q57Nbq_0A-bUHocmpJqMGQ-CV4mMo5iUVzi2GH5qy3IQ85NK1dEGxgE0hLfoC6NjCIN4oAQyri1pU0VA8rFFVRPk_x3qLjlHklsll5HpnxJyC9sMjdxDKcb-hkwAjqMNZRXmA9aJtxhlbSkPvI7sTSeVhCZRzFQQcY_b82vmGLFexI95wk_gZ1Rga6XKb1JnZphB_1IfFkI5_iTmFMaTZH7i3wcHvV-VMLfZz1_imwzWB0Y13gtbYbVsTV-a0XNLuGSSxQmwlGmma2YSOMjXWcjahqdkj5t5_nI1U3l75r8NOcuMAg_GnmMXHq5f3KEj7gfBRLa9d1tIeK4-VRk6biZ6jnqttLnIYPxwt5EqyLVS_8O1K_Hm46hr-7v8-BpcAlbMyPkSQqaWIuVBSAw5Fm3gmdJElBM75HzAH55DfMW-qsCA97dqp4jWUtuVO3IuSaLQIyLTSWwiOb4VlOO3wBITZPCOpvCy3HKI6ahS9kilSyeuG_CVND2g4v0uRHrtsS71ScyS4-NBtBFPlR3L8qv4YuadA20B9T8Y5ULUyQhtoLvUuPvcetUkIsFR3d255zFet4zhx8KnAmAdVKXAvu0FpDnZwufH8zm1og37tq7AuuwGulIr6Ixp8UFVyJeU5BX7TMCmG4qrauvXi_2r4Px6JmKjjCBQy5YfQpS13b_OnDeGgJW_XPXlBXP3P_S_iQtf11npbf8E3JBk1LEwmD16hZ-ejyqJx4T0shZWBTUMkPsuxWBC_3ggvxRrpplNyBIwUUnbyJ_CM1v2aaqJ2CMTT9bA4o0bnE7qJ4P21JPIFodzk85oi6v5_TRdfin3-gMx2brQCIvrHwgugHyXRMBdxmc2RqomcNrY13KnPmeOIc46c61Hln-1NpJ0V5ZV2vNZbSZWLpZ_RUb4Lv_v6XceVslKPKNjG2X6OECIa814AxRM5v2fF44RXu3BUBfrVGpT-RwKCGdrRnd98ibSyPn-8uQGcP7cVTPO8pwdppxIw11O408M-tezrySyYaRWkMxoniPPoEXoK65xLVLREXtCtpBUJzSsyKYrt-baugwrw_e5aqV4xhVoI4PAJyJvGc92wtkiTUW9PTWdFgpb3He1CLOCFqbTw_nmElIsHUb8r7unzkRe8uZsSKeMgTgo77gmWbHZw9-lCaa24D0JcD--E06nKQiGdNQFqY_Lr-KrK5zT_4pYUkYXiDulOfkWWdKtHx36zTKfa27Aq2c-FbQ8Od8f9kr-D524FQ3OxGyySnQNClc0tDjVrgJ_uxt4EVdH-dwL04zDr_jYWbG2KQfDAB7KTNmxu2RQ3QNOAdye4ChGwwylLv4AYJzyS8XExivty0uEfiYMjhJhonrZRXvmu6dvC0hd1Zij-HSiJkujGf-4mSlhw0xsPGt1V63qhy_GwYHetnbPJp03cnVQZ1c7BxeWa5kWSx6Dji0OLLvtK-7PlRbs4WL3OuNR664Xp__EPmrLib8sPVVNzmsbUlAAOxA13cHUWWsvUF3tmQ2ay3oUNRnKhGW9lEBTt5yVfrW7UnhRLw-AuihSqtOUDL845wc-hCS8kxorYbbXVCX6eE-noHqwaI8kGiTXA82weslPpw5DEC_PzWkel6bQeTH_AtKqYF8dXJqoL5HaJPbhEdjZN15oVVzhwIchjRAnKupAve9UZQwKhhOwB4uO4lz00rteGbNAnsAxCf6ncTDJUB0oBG1v2aRTpD8DBA8cx2TKLVwSDXgJDuO8qSz9Ahuyn1NbvE_KWkQNa9dRtlmFtBGqtjcBSah7tr6459xHQecaoif0wD3I8iXpq8UKuX31K72rbyftQ81zs3irx2vOMqbg7RKLACf4kWzIL4JXK_js0s2Y_DgD4k32jqngNlXXnSlKqJzDkX2-ye6RfDPEu0AN2RpJ4lBleUq9tiHVaCxCLDzDadmqYGX_3SD0X6Alje2XWeKkLtAnyqpeop2ohTT3R2rBPZIHsEFgiwPBsQbVaouq0euTOKR3IX3BVE_aGDPaDqrDZPLeYRQDYAqZhxGWUNuPHBdE4XJQ01Uv-orYAa0PXZG6xSF3lt9sl1Ums_LykENb92Ep5P384WAJfenPqCTDjMKTtqu-7ecPsb1OGLPnhlTXJdNRp_6ldRw8vHgK2PJ-ycoHGhm9zNvklZJUnnlAfWI7wJQlAS3D1G8sheCGFEPvr4MFO2QLLaIys9Gj6HFJ05Zak-lrzJ6C-6brafoLwuA3EN7ODiK4nhRcQttP_klXvPDxJ_d1mY52Fhg3O08m5zb1cSH9yrHC_XOcbZ1Wd9RGkvTOS8Y5YvZbuwybuK8p7egwd28J4rQfkRfbvDItCDFmNjAaBVpIRbrL_ESDxbiTZoClJP5C37rtmGt2QevKp67NYJdwl7n5kx72DwwHfV6GQ9W261yOh4F_1CFZlrlgQ6A8w2YNFl_E95Vlk9pu7JjhnSr0sZD1-MvQCswKgb59WReTXMxi9pK7PCbOUqv4jg2435YW8OeDovKYdjobRPYxP9NWP7C0vYrhGsXFWG0tOaDpA-5QHH6n1SksDJSjvtJfI1kySGW2jODUNAls9GbOZ6T6ZQfTho9QOxulCd52zwZsm0ubW7STZBBw16BIFmkm6XsVgJ9_z918yhNbjBei4dC-MCukv048iZGvoWwD05tLvSeCUKyS8JvB0wzM1S4ovofg8-FkSux9RI4OSgmCXldxlpOSO_lIvZ3MxeyTyQt_PVd9mQksNUM9CF_acTOBonBpCMK2JSrEUnruoZbzQqYqaj4cDB8vO5ULn0LM9H03LzwWftay8S8BAppqzOcmzga89qzAh28OfdY4Ry5LRPUb7qGrD8FEq9w8ozvF8kzipTDVJoUU9zTcjWD3YGYr4bm4p5D9G7HAXhN583pSGaK3x-TiG-IZpf3PNVCCPis-yFKxeWotIRKVXkqi36UwoTU8AfBLlIZPdqhn2ZsroKRMj-YW3YTQjfwhG72e8ghcWazXPRhqM0ZJR_vg5XBDY66uyaFzIrUYOjNnlLqVnzq-67IEPlA4J5nW-hea109T43F-UqtkqI9Bl4bdt98cl3g3IY229-luBxMm_yz464yIaGAZHh0Es4QJ0uN7GXm9tTl9GzgPTMKVdCAUMjU7-Ed1XScFBpPA6lfrAvm7Ma4OyqVOatKHyFZH05_SLb3l7z_C4gGUYeUYxlRQYxialWW89tQ49nZ0nG93VCP_rVo13Oe73aapBh4aMFQonzrfFc-f5YhfWcxTLkAEXYjqgkjLL9Sdg2qp4MGjuiWAf-c83YB2srXX_YrIdVe0l4palXo6tl0ls4w5aQ4x91-EP8HY3WFK8yzqGDRzNyDjsHd99iPT0kUmURYD_Azlwy6KSIFTicym-lo8JhP_tD8N6kfJWKpr8M53AwjoUe7aTSqfCZqCxPStHwK0hX9OTInqQ4SIfhvPXDx4dk-Yc2O2bwEpPqBtT7znwDt_Z0BJOq4mvUnZHPu9Lnf1OJvG9fHuWLR4ZI9LmPlV7UEGN9yzrjUZ1wxLLC3QjZaHAQfzGMPIR61Sgcie6WdRISE3lpzYYrX2FR5tTYZASJ-hx0dspDF3udkfWOxVKA3mwztcm955xpBzSfKWj_rZRkDwsovAOKsdIjq-H06rc2ET3VgC5UdkWvxYU9-DsqkEvr-4m5LyQJax00gDSIBuzcpnM49QN0GErKFPGMyK0USqA5PVpt9p_qWU2lFYlgOnjovRI3s-daNAnir5X6JfFcEFBu7WoBRJhOudFceN30AJDzc9kujF6wJ_NPssHRjc-O6FvVQ7CSUoLmtEzo8q1I7yqO_NjrT9oqDlaLC9xGerwNBKU1-A7Xch_C3D70pxtPMfeBfi4xHJl-h5cwAV3US0UX6TJDpv8MB4z88TIyd4OREokTBi-bc_KlUuYvvfIPTDitsFFFbZdRbM1XRSMqC6R1HhpXa81Xc5gG5rtP_i5zx7KrUmshIuO-ENbWKZaGvSB3pmjpjMgP0HClBg_ST9Kv9trcY8hVnsKL2yt1LQ3IzBRKEBvL5L1YsXWifd6mYIBHeoXozRK0TblZSnM87BamLxteFQZaHhsVsGYL_OquY8-0YTtvSRa769L9xhCk1F9jtYsAYX5C0aZh6KnWrgMKaSh0yb7BRbCdlmUMdYJ2zZOYOgZl6CuxFBzKGnB12mLxTXHjy4WM9yDiZm9EH2qlN4L3MPtBETJda8pmkN2RaiA3-rBwIIseMB4CpdRKPOWsvHEIjfrZtG3Mr1DzstpXX4qMkHnifBQG2Xcznjj91kbNEuA4lxdh_LSEgnVGsNzAtyBBjUxbncOAkuhrVZCGeEC8OI9FGczPJb9phhniEexRXrS2X2tjAxuHnfTyGz61BKpdePf3-8o1vJ5pZTStftTy0-r6iubWLxconK7jaAx8hsgLoOpDI3-FQkSwNqxLUaHK3Fuwz1bnez-fFpF9e6ShKpJi2TVG7aFSrY31Uj7E6KLjVV07_3WOyLTVImTHKrq-KzCL-lXXSG3rSWM7yHa9QsoCyoXmGmUkgYBc-dbMb1ccrnfZkq29Oh9cQrsaR23sLiN9AMavsCsoRLRuXrPMjXKMvPAPLCsabDH0z1P9InqX4VSwwVGXY8MKtvzft8azo0tEceUmf1TE_jkMs7hbkWTP8VaUXuOL29BXfWP0IDz1F6jj7gskM7_UaW0uPGLLAwUrJgdt4niJt5OYi6TGva4zzULqfWB5RUM92fIxU9-cJFbyH-_II4V-GCCxxou6WeH6uAC25vzErK3suPAa55RXNN7fED1miGvGh76c4vPE9oNC0L8ZKFgmdO2rymVBMSGFumHtVjNrRvLI7gHtQMgxdYFbDAL92JFy7oHFn_hlHs6hS4-56GZVd3VIy47HBSGEDSG3uq6LVyoyuEyx7RRrBerJOl5_tG9U05pjornPHNkZsH-ovOWA___YuwTePlOBgOPoWsNDhMFBfwnCL8u2GxwVY2KlWqiCLjDZ2Qw2TK9P-X8x6P77gBzBpsajfAIXiTvDsBuYlgZ79128FNTGFd7KdgTdLX2mE6iiW_c_78WXHwfpjkTnWqK6XHvy-Tahz0VYn0lDa6RsIYVsltMMkciOYMHV4_2H8OEwSUxSu69iU5ZpamW8zebZYEfDfAagRZAy46xTeIZ7ol_W8ViO8OQ4KVFKQJLjzjxIDc17YCQFzppg5MaKsHGKy3yw2UTQ01GsEitmNarQViVeMO8IPIcb-1fz7JkQBuKMKQLCwnPH644lD3JX1ViV4TbzpoHQuOicrWkMPoUrLgUBasueJ3X9xATAwehzzFE8G2rSbJ6HaTim5GQ42E5bM-VFv0xZMmDmg4ZVKmHxCgm-c8eoMn3jrtvkhSl_lsTQj15jk-fzxMYkwd9ExacNDC_x4sc5px_zNnTNeVQwzBGUzA3ftRVq2KqbHMsWuEDW4ZbcIITWXqDoBWt_02y58b2vMbFkTkfRuqTh2TF70mM_qpfxkjyxNFIQhxOnHFLNbvERpvI9jQRvzlIZqw-XYOUGzUo1XvkypZ84L8Cvg_V25M_5vxm2icPDZTrgtPp739nygrJdG9cESztA7TayrlREthg7jQzG_X3Ez2KMSi-tZYBz9UCgevnUeQePWxHNb2HmphyvJRJLSVuZ_PY8FaZzVIim7cZixBijZg0G1AOEWLfkUHMjFlr3As3L0HoExt7SbXEVG7hy1qO28vGYs6eUN8sNAzHzmQ3tL0TneGqHJMqiURISHFgjr5pzIgYymtwB0MuZoFny0xSu9PKCsVhW9Ej5jUPdFCV4eOpi5u96xup_BdnlwQYUrOZUKjnR8jQmuOukNtFG0oLjx5J13TZxhHz_EmZYt1E_O8P20V1uKr4VcBQKwtFd_4FkuhkUFUqMgn7CMD0AHSogh-f715F0rbzKP2XotdPLJ1OlmsDHz4M2sKCSBY6rPkBXdAmiwOs_FzYEgcXPU2y3Cc7xaV4kySwF8TRS4APjsDhThjZUyy8f6HGBqBICUeR8TBkpZ5hDRms1shTPwdLyzK6iQrcyvIRQIcUp14FSHPoPX2Fbgxd3OCtn0MZnf9u8LBTdUAjFB_CHZJ25o9FMca6CpwB2Q5-sulg4jitBwoqUfVGkVbeeUws058ge2-m4je9ot-xNO8S_VR9Z5YDBpG5zJcXV_gLr98UEmUwNELFADzDX6SjIM-TWIlqdkBqmgfCLRf1IJ4EwXT1QgHnJhxS_sVgq-D8bJdbj9yrxoFDn41b55b4KqMqselcEfMcy5Hi5ugUH88I1u6muwhTXPSavbsgKkenHuP3xxDd2Fp8S1m2bUubGWH0RjaIe-oyBQDXVNU-r87lFJkzfzuEC33uTUqN6STX1i59r-w87hxQZutLSnNlSzsZhP3a6rUkhdVNo9KsAtmv6vCHK_sQ6EAzIYz0NtHngZ6ZcDWzemuimjNxIvNRcxlqWREkmBmUYRiicRpamOqaSw9REKLM5lA-mslYNTgunUwB4Fvtfz4OKWzjLAbNoZnE4b7LppFytL2GE5w9aGQPW5mcW-vyHA4XPz0wsxrOrVyb-NcRXFO_D8Jda3Dj8EWeMXEzkjlqHw_8p3Tw9e7fj3QScoiFrL6h82VXs49sT6nITgYuqunyDi6qBFjfXXoaHrqUblCK7LzoAVCCDlT-GciAbAE4MbKG5q-JXdtZPmnQUYIKMhclPjespVbI1sfPzBHVXLvAxGSpmy3LjGfLyXBa4Rh5xrWm8r03utA0Ap87AifB6kXUDstYXu7ZvjSVGVjfuXDnZraYXk84yOrOHOmWvjTdyDG6RU7qnoU0MlHC4DVhkfROZn8jT1IWUrjjvF2Bj81lLPvyanCqI2Xq4biCIfgZwUTW7qAKCv0HHlICEK9MOhcJ47Bl4MR8qDwClyjZd6l-VxRLMgkrRaONGPOdQk_R-hf39T0WdFeILcmzzTyfP9U-3xM02ku_belkeguj_k0n7lfKKclR6cwSCiKgIrCPSvzKemi4Iml-GCLNDygXX3lx0Nb-XIf-t1amalzB7-8uhji5IiLHEMpFrnGDeyRE0w31sIJi21FcAJxOf8mGFnwfDrHOrqMF_eAEbc81E2PR1z4qGlykwfBAQ4m3g0XLtHX7wdJMnbm93KWh0cItTrxy7V6YpdVHIwP4uVHnH4kNqSCaABlkadZJRA87lRyoj-zU7Z_01BoroQ-3CsNP67Ly5zq4XRLiLlbSdg-0fr0jHqRT9_cB1MDaslwSqOfZ2yQeSo_GmRAkA2RhGEb4zKDO4XmSM5lhLdU32Hpq1KUtv9UNbdxxK2kz34gyuEqTCO2-Zbh6iQA3LL7Y9RPRogQEBcqYpKE9ev4PO-VXOBcNlzV-rR24sPkFpMuP5_6WBJHX__6KiKuKFdCCWAwBqpV-Ps_0t_L_czpuQu1pd18T4S8Jty-q-_eCv12hDKLe9kXe3xCzC8A_md1hCMq-ub9XEX94mu2z3iOzZTTVwBJERdQraRGDJOIjbSPR6OUKQO4gydmnIGGLryGtWol9zybCCbfYoN2g3qocq5V5Dm4SJ4wGdPlGvKqMQ13EJDTar6Hy_AEW0ha0WzVGYi4plWuyLCqe33VAaVOGI_IJmDTXjlvgbLOs7yepievHBBcv5aKYN8uyPETGA1vGpz7Dq0Q9_uNzJnyM1tWbMQbFuRppW7m7wO4r9mw2_SUX2Hhe8gJJM0Aoe-W3oSQChdiIRzWDWGQ4fKbDfpehBKNtNO87u90DXvcVAozHqV7vFCJr-kSqErdO2jMFFQY9ymzGdrNl6AbKt32pKdJLHrB4zWnyQEJJjnmHsmUQ839Dl0YKq9a25dzdUqRR_ZHut_t5QdP6JSNvx7AdJv-5En5BKuvQdd9yt0J77EW7g5TON_J87A0OlbYY5Kgdx2rjldboM66OkdsOd6iYp-JlHA6g5pSvIF7RU-MZOKDfS2B9c5BC2WRxvU0u0jFN4MfyE4P0oOeO6rL9JPKjdP2xecKumZeWx_AnXHg0NrkI4uwNsC8zUyaP8qAm-j8BXLrt0BJNdI1_KwT-Z_c0th03R0LySZcxwDYxWUDJCCMUiwFHeoc7xptln3I5oM-JYzN3XQ5iEwXy1RsIEmiEsPicbsY2eXPQfqOkB73Bl7VRL0dTjgeIiabE5bUIy-c-d_ydrxZLmYzFCeL7ZGPhJ-xFMNAhcqXL_5rdj_6-tIyEnBrZtxU9QNwb_z6UWYT2prJJE6OpCvy8X74527iXGLSbL-gN56a-3rtXZ1IoH7m6lDsL8ZdD9_6Wl3NryR8O6FIOD9y8TNh2r2Qzho61eU-QYPm3WX-WDIsGKjdwANh1wtY8XU1lWB_C-kYlUflo7Cb50k_9LP8Euz5yssNPbZIS2kVkQGc60xBKuEBg0KFZzRXI5oRR6o1SsFPAugXRAKJRHR1enSYeIOzbRIA0073qbO2uT_-gH7fjv9AuDN5VnuTFVD12Qi4hMQvhaq_A7Y5PNI6KiFYHwSudweN_93txv5IeR--CHc4zrcNRoz8YVUKLxjkS3nhtvS-CLjV33aw1qP2AOBXX6cRpVvymD4X0RvpVLGye1nbFMtz7yis_YF4YVevrXp6c92KsDFs4BhSPmq4s2yoxjSHEjMjkyOymZ8W4v3m7dhsbZX-l8j840ehxZ1r7tdyFjD7UFP02jYE8Sh1iZFHekUHvMHgRsJZ_tDAe9f_vHtSzT-r8JJITvn7e_l_D9kiJV311TxgjNdC5OsBaNX1GrLUMNzkxVbv3V5NTIJ0kvJy4kbkERRgnEs_X08XRUTDH5smW6qngu8i_lLzsT4h1v5ogsN4Nh-gUuBTWMWsUWa4-3xrULzWHOjRlQDKWPpyxIzcrbIXjTe-swZYEmIWGxevFlXUM0hgtqCMDMzKAvBSMgXg_WtcMKGsqYHfN4oIWsRv1mfrYVYbTbLk64be23TBte_Fo76FSq978Q32Z5Rxr67AwJTSuOX5m2TyJ0h5qCu761m2ZvjYzicwkp9do2zKau4ms-nnij74DbrNMHEigK_xF4FjFGJyFOA8iPkYiQq4gEcfXvBHRKgN92QhfUNdWpg3j74eIR30jGOFE0C1ZLyc6ehTc8Hrch53dPywdFB3-XGeidxdin67QN6tkC9s3xwZet8nBB610YTQJg5uLf3elwVCdXAze-L9fAM30Lhv-T6L71Eii6RiH46R-vksUmB08ombQv2LLrm3IqJqU3vuVioaXqlDGn02_uEqzeuaibKyod2T5IwSBkPG_iAvx5sfNUOd5NQfYajRc_wHpr8147sXtRP23A0IkfcPWvfXqHWFFI_cdGcS9eKc42pasE6je3QwMFvA8JLKmMJ6tf-nG0wVZf9ByPxtUbXixmAIBrxUAqnL4jXGVmqC4KN4FJnbDweWMClDxhtIBAhJWrHH9twc_g4Mh4ucvFNkOmKxKySIOabwSiOAQtwckAwpYLZ0EpXYBRat2YZi8kN02ELH8KWn6Kn6UC520z27_pkAtbgE2vMBxvOJey8RWw127cbcVgP54Lr4h-N_XNWZ6oDmE7L8391kfSdaOv3h6kh34c7TQxtRDF4fZnHwa_XMfKAUHD7eDeKXzXejBRplPg47hFJowEP8mPKRuQph1YwX3maGMHOivXPUPix_0Wc0l_e7821piC4Omd6x5_cqciJdG3mqQJVmujVRt-KIPA_YPUywXJs9hBEyj5xQGZlwQ92Ny_v1219bVk8Psf02piMuykrG6v-tM9_eShMYnV0qg-YSHeTdHw49SvCV_h563nogr8aYPebnn9c1J_DglkNYL_gAsTcutkwblePO2u_kHFpIKeLu21kAh7AP1i3j5_HFCxfAD6R6ahSDWjpZrdsIP4n4YoY-qSV3EXr27VSC3PbJdspLKzDoKeyApscBX22HVpzwitET7sS-auyGB3IN_xOMKeX2TXjPa3jt-Ho-AZOuId3FwNHXUeJQ6c74_6Y9pekUPhavhH6NdBneCG9EbeS_P-rYny8jvfHqCZZy1veiCpNpDQXxNOz7cd0qbSQjAVGk9jpt2gBERmGb7VUqL7mcNaXq9ghoohvHRU9VejGRqhEQHKGHv9APkMaK7x1iz3ZbwLCRfGF6KV3fJ5gYUgg-OG0IQJLwGihMfRbfDHppvevufXypQYW4G4aU-JH77GrRApvfLjRPyt7u1W364iEzMy8WxVhbKMHaCCTlGXn6wvpjRzWXPUFoz8RGSFJp9XxPHsOkXZRRJUz2lli5yj4xy7EWCp7NIh2XC8Ya-po8t0VXxk65kcxftcn43gOv62409AorJEG8d4ZGpyQZFwUJa1b7uludQuGV2l1uVWCTbe7-Fbzl2d3pPVQdZkEx-nZiBvgemevXA_aXGQsmN9F78CcMzebBaMgqSJ-1FQm-BjkDdzdRmXnG5wlo_VX1dJPL5dp_f1AqY8Dahc049-jbQyYQ7XnAWNs3xAt3nxi0m1spzeUTtWrUYMbeJjb7FYFVQYBKS--MrC7lUdEYVguoTey0Nyo5dr-DM2TmsoByrH_uhQg0NToABF7D4vdSP2kvqKx4q9fxb2Nas3kk5VrMZityS1kGHaJNSPh7NHQ2BHP-guW54yFHFBDRwTDe-kJR_3peG3wpmJwTbVROq3iY4ckpeDgE0FlHpKZ_282NPmGm4FiTYg3xOGcDXf1ay2ASAO4jEXzd5FNnVdsx17DZvbXpYtjNDb0VeMn4Y07dKieK-CnS5h2nRU37sYbclAU5tn3liO6y9_YjLIY9ojDN1tZbPJOnuxfoEdWKwr_77DS6k-4w0ncSYJjm2tbe-zFzMlqKLt41oVSsOQbn961Jzs2QUB2JzTQWWqtouKHa-veK7McfYCDxFVmsz_3_O-UgyzChNJccPomGkPkDAL30Pn0ai_3sfBBNXveU6obs1TxvlXWbOXaHY3iOvm834Ukyh4hYY-knqUixOIdRSH6wm4AmJl542VA4yNUzOv4tAJ9HUjlA55IlmKrHKCyE5BlqK-GtvvUE5jYQ3-gG983QbjV7l-10wtUT6Q5AVVmuIkTBQd0Xefb5Y-jfUvPeNjAA6_aHK_j9wdgmk0MPZCksYNYFPaIZzvJOX0wejeJv-usT5PTgNo7YjgSgFmevUyaeAbYAIPj1j4AYlT49tGLPZm0ygIB5eLPxRs8xjyFvnWSfh6FQSPoaA32vhQPqvV-zqClVIwWPSmF50czo8ooYdjFXy0Bb047CMZU9A687bn9kj4biUOo1-IaHrC9OQV3EK55r4azktKbPrC1Bhj8Zwa0vAsU1fPj-LnNrejviFEWwu882ij7B0RkvwYNl_NAcIqwaFmSrbPApaJiP-qYKKxqpnP-GHO5VqPOjyJbHfvXHYIIKLoXPtk5gYTxKaazulc7mYtP0c-R3SxVZ_Soi_iFadH8-lennJibMyRQ8aK4XKPS5J_6YApLnaNhUGSeXZhmmlRyMLftr0QbUlbFg08uZeWWw0_i6P8ZFQa90h8fMKepC_zgm7pfYCvKgzxk4CLrvwEiOH2imh77HPfZYaxUNiRE6As31teSRjFgdQto7iZMq7W2jG6IRCQj0QDNnyySNQFiXeec5-oOfRHhXktImoDyQrlilJ3r0AGeqVd05iv67yyiTJZTEbtAWtn9O87wSocNO18gk0y1l7Ch-U7HQkIT6XrpkzxSG4pXil59eiMasq9ccHdN3IYO_oSKtF7oM9bv3UbUEQ4l8hvIanenRlzt9JqnbOHzNfvs21kDfc4pAM0b6UYeS1x8hQrbj_LY-NuLM0zZGWebbbmpaOrVNwvx1thy5TY5obqbb70laoR7gxxMWleNyizQxPOkvRKZoFwIEGrT0n5fYjh6oRt5TJEKcqBWFh3cQ0fIJdm5Pa_NdN-0cssbULOYI1xbirNO3O_mm1Q-pEh-HvrXmSJ-55fYiLJmygICPTszmnK8lTSrooIsMlzIb5rebummaiXIYn0kqsBhC_FnYcs2BjoufZogPGzfI-JSdCP7AwkykH6l27XjSH6aHHuMrZ-Uq9nGMEv5QO1ctCE4JJQltLppdf1tjkjJY0RHaZnWFM5iJyubQgnUOZb407SZ6sS7juipuz281V3gywK-D4d5FUhHUNbTg0U3vYtbhZGMIF_jLu_kfD-nPXrXw6PdB1jln0VfMjQ4aIEiHsLi_vcX3x6Gj05IHQjNyfFfSy-E7BRvICGg23UOKjh5nWWqE6Tn6QJ9BPQAzQGtIHH0q8YdfW7OFYnY7bBsUQHg3gvkcVccIHatT672TPFZryAxOjjHscgNC-IEJk39Rf11TbOlt5WnwXJqkV3iAThgNdu-y69PR72aiyw5KoW5UnGB5aNHkFg8TRGymAq4JrKYRBPqF6UpCaQdKdcUSN6hQW59S79DQ1jZrYFWB42Q900pD_vfUvS5tdBwNuUMXjzNJA0bs45PV_VOTQuUnvxmgggzay22Edbttoabh5ee6A9dZ0onVSH9dFMmQ-WeHrsdzutjjA9z_gDfS01eXktID0yUeOpJhaXwjFCUA7Z7tRNA7W8qV4lnehoQSl0bu8PkFSfnzuNaSAm0wyVDcUdJUADeaThD0cnAn68SCwKy-BQ8Vs4tHdL7h-Fd72MK9lvX0GyMntELm2ppcsd9cF2efehawZ-Ad7IPah7kds_S1tOvv_qupqjBu530Mo5kVTgUVq6zp6khcJ6i1R6Ly8AZJn-Xb_7hGoBLRG-pu2NB9vu081q0caQybXx9Dvv-8__10dVrlAvum4fSSUqM_3hWBtsHtPa1xXqfAJnRcbV6aLkW68PwvQS9YQWMXTZH_q9SLLuvjFdBd1_VHKdULuYfUs2dwdN8eNlMvvWM6rtlgPFtte9O34qEfICNoKPTTawn22BBtHo7X1jUhe0La3Y90t3E8xEIAzgvh4poQERPgo52hRiJ5tYwCm1EN6PjhT3nFoNVo9OA7bhi8B_s2ocQNChurLUkV7-rvCaqekMpYqQQu3v2VnLnfB2YgsxayiqxjUXhboGELpW0jDsGDP19rYNYZHhE6aHJrRPXEPKsG-uvrgAGsxwUOvEXeaZwxFag8oWgmX_RfR-4cwpJvFVQBhCr988bNuDLVAqfYoby9hRm7gbMZOWXn51vaKzY9a4I0e4vwa2OPGPziuNpokOqc-SCMSZ9j2V6q9H8YBw7RlCCh2GRWomyxaWBQZPIqmuHFTJvlgEYTbmuE6YUx4aeoYeGwCbeBHJIN_o0j9fkdMnMzk_ineDYUEQhtseqmlxeWFhJllCLJo_3ijC9hI7frIHFJS8-H1pkevCMrHT7pVoRyt6BBD8C9W_KTdZvT2IyHzu0ldFz3RQEG0_Nyz2MFrbdcwkZyTaLmeWagdwmIOMIOn4fCxkL6w40v1WFEJ7o_YeluFn-TI1lPgoKxuNVZ7TAHmIlQ1ZmUxy0Ab8EfDa2HDeaULrcqejrSvQzrc51fgoQsUprQgFWaTxeL7EDPMd1R3Ooq4tJwlgCPMzQwZyQQUWNEMDq4zMEU20Q8rjMZ6WspSvP5BkX6zcmro_VBo0W4oRrPp4juKSJ5RZ7_imiPmfA05q1nJEtw-40OzVexQgNRJWj3F2vkCyEc62Bss01Heon0fQvBKaOrag1iysj3UtHAm2w_dBXNlL3_8VnSdy91p_gW0n58Dew907hIVGUnoh-B179FuoZB29I1odf8xNMYwmxUZ7fk-qCw-S8vlbS4gPmcNzgkJveHp3JPne6slQ1Sipurw5atxEJB7ydcIIIjad-vDV9eNTXTDTdynBbrIWgqMUOJGFtAESL8EUNkJqQ0B6K92Eu7MIrH6aYi9lar_h3Tf0kJ5Irb0I7e3xhsUYsAGfXC1s0-sKEUcIYLGaZ2s0SGnmx8rjZpQPK5nYMV0WpvV1zZlt9jDtghDdF83UB-ZixG-XM6z-kqp6v1O-8mOTKCT9VEqmsPD4Sd5JsQ1UmeZo9R2pGNwnIadFi6TLa2PEPr2-a2ySNnMBQC3ydhv7DQEmi8nXcApV53wXyiUZNW_lZC_lth-NMDNr_lavAT07TFzG9rNQwhH1WmN8S9ZA6Y5n6DCx8BN2zavnDIMw2nURHNyJzeffcwg7CxYh8FcTCKpX2tYJsBuGWRttw3iuODktSkU25OixTYs961gRy-IwZY58qs5wjcNcJnIlDFzZtA7-YfmATOGm-sPUOs2gRjcmgQs1ZubmFlO1ReVndZa9KDmtlpiu-I0LCEfaOsgDMv6WcfZ1EVLwAyr6rqrYE5SPFBkGL3-s1X55tjTpefWMgDJBk0eE1vM67sHz8jpoSYhwMBfF9B_Vg4pR2yeueh_O2jYPwBZxuG_tOZL0z5e23aJELI7m9W7IrSoT4ClWrJFhcg2yfDJV9Aa1FkQIKHubX1n0avBu9vngKguGBMmVi9w66EV1hfZjDhssAOZYwxvg5Umr1lNYRD6D4T4iUOGee4nA8yXUacC85N6IJuqS7k_LbKG2yserJO8izRoErELBPtcDehTftrT_gwNYgLReg5TSEvumYFTT-kMhi1oAFe48noAAwJZolNvmG8xZbXkCkkMK-x-KD-8Jc2zwdrRc05D63ZOTu7UBYGEAfqko27-5IXAXTZ9NiomBYYzGOX-VLNpamSf4YVlJB1MXPEPG7qApFbShgW9DDnP7aBdjgORuWZGog0AUHYFFwqGDd4yZMfw5xECf3tRWQt8es282dtnBfwKFJ08rV8z2K41s72h7Hnl72qGnvnmR2cldRYQeudld_eybeWX0CHXyPKFjK4pPPabktQUol29WMEzLxgDI6R464i6QkL79bq-JZbmSrL_C-hOUr4RrJUN0jquKIwzHWAk3DO8kF7NfwHCoQix7IQd3m2YhJGCe6dF8zr4AweW812wLNmd15QBZVSf6V0oQOWGos3sKPi1XJEQnluiYt8_rFJoe7J2OBhyj0lxdM8ljK8-xKw5ssuXKL-9Gweg_893YgEOafNEXbXvyWkt_pk-ABL8oPOXeHAIsSv8bg1tw-N2ydTvDxsm5fh-pinDIpqXl_Z0nhRtwEGJH4kY3Yl_XB8mKAjngMT1QCw2wIryL4nwfxRaKsfOOrYb4A0UiqQS42HaedCn62y6gopHartRgSSACOIjXvkk58I4YvGGzXdPgPQP-EU8tD-mANMW2F02ZvMqlYMpigRxYBqczxF2huz91CqwoV2Q2J0gpdwe-bfPCM05sjzhrCCvJA757aEV8u1oSx37YyZPlyjXNh8J30hIcOWhtYGKojyvwSp3RTRJMQ8R4owEOKxdxObrfCkjOtH7UkFyKoew8BQkrflAoo-0AKVoWkWvRdjIS0hB_7CMAQkMFhatvYyDXDSVvTsiafVzMqTCr4C6yVhrNApWNHPbFDshX6IbjPEUMGILDQ246NhwjyFnYy4Usb6JWdYkZ9GksFIU8sFUqmWRJc_XGMJVPrSRSWW0nhNSQqzkqp6XFSB_koCXZCDZDdfDn6gtKWgY0QRTLuzuJALSTIUDR9dhu3fxged8WI12pm7V48uWkGaRQa1YPoj6KWxG31zTMqWwysbKuSWduQJ5B50xLPq-Ui0clCY2Z-m5cejqx2V7-9NsISnWgQ_zgr1DSqAZpEvGUaiWSlcZN5RhYGlKcTkmgus5W77bVxlM_ZagD-jxr3fQSbWx9uQltI6rXAJBtJepa-9uDSHFnKxOYYE9KMkhMnBH08lfIi4A451Ggeq3HQeBWbHoorsZnJWmT4rHZGK1ap9HwaHUs4HtOzzmf9018Y0230awzS_bk5_IncMbUN2fdcjgGMfuv1TLoPlRmQBAHWsfeUnBwuq43vXau7tEdwjrbNhlPGnNMx4yi-31PtcJSwk0DjG9aMw31U29VWHDH4Ut8tgUwNT3EPMApfL-q09qZNlTVA-5BCnJVcklHejPV3K76-lmd-fO6C8EnTLnn_NDdACHG2xYUrwnieYrJVl_VB4helizbWhFEWLkrMwVoGad3nAxMk-xd4iLVethD11E-S8EbaIFmOGcbfp3JhjC_SnM99HtlACdn-MYvoH5LJGM0c6CkDc-FrfQ372ZpkGOfhLPsTDQQacWjDjGn7FmiegPW-jyUqM_81FUFlG-ChjHSiz82tcdGeoJBBMmjxiJFWABV9sdEXyaf4bqtbmdCGRs-IVsH2QJVSTojJrIygVutfh-qzDIQXxZ6dH8cBqCWt8OTw82d0AvUz-YaKOeVUURFGeL4_XKJqkjH2ptQarykS8eHrRS0tB_g8YMCDNVLRJwvBUEgT2jRBJoODVQHdlknk7_TIid3PwRDbE7wd6GwVukSNqnY53Ro7GYNpQkT2yNDl_wg5T9ZOz2rtFc02zmzRb16vLIoisngLC7kH84mg9UuKZpSiLOoQyFRDDrsUwUMXwL16CShu8c_GOgz45mHCHYKg_q9hppW-xC0e3OnTrSIHlCnEFDalz4P-r6XmM8AQOl_ffbcwH9T2Ey-Lm6BTK_MyIjHLjoKHfDpTpcA_7Jp5JxLSc0ZP7udWwj6IlDRynn4uqGuDC423TgmMmRcMwLAnE53w8wnia44AKo8wuj5KphHTIJkJ29OnaBFAWEdeIWOy7LmXfcQof2bFU5e-xI-9OHUMbw0Da-IuuQoYtn1bioZLqLquXzR6ZrdaPAnsVV7-0Go3kztn51qQgeXNJ1hA9fxBNSlBlfviEb_SUdV10xusq_w2UBXnr2nJp9unHLL8W_RAqSfMgXkpSuArL9oNv7q7gDJAd-smJhMVdSZpZzrk2BHi20A2gn9ptBUkuv0CpB7s7Ag3HlqrKUmY_nE599yfOBwsBPgZgB1UM3s42e5qNl_9LCslBcjywpvcWjIzlYFzgTSiR-3VvyzsSMkFOom5aj24mAlbPjpXp8MOf8K6IpWn8Pp2KCR0nJYzpqQoha_aCN4ryDmPknOklWWap1NWEsJjM-s-nQ6wq-y1D-HAkHdT2wH4KX55ekESAsipD7RjGPiYINGm9ej5xY49a2Be7U5gpZW-cI9u2VhAxmp9o9iaBDdy8f8sGwFUiAjrEQ2T50Ge6J6CQYK18TbBAGtITK5TsuE69D172h21piNs3clcjNJbjqvUHkMKQd-jmNVoho5shbLygKR31jimWqybeA9-jEnXcThdFaFXfnRky0g9P9VtrNmnhkNkTc2xFTiFZWl-Oawhn2l1Rfy2ddqkveZ6REPf_wIaM94ap6CWfPyOaAvDUUhwn2AEfXU_LtxJvtMZujH20h1dPDV5GK9zfbjUsr9jOND-sSFCYE32hXXo2WbqcgwM7EbmwfIfF15cIxSrySr-EESs_6sjF3AKlCxp5PQPaW9FA8aTmLFA_BbY-l8kqqiS5BObz5KHzyoybhDs5nR3HV3v3xvnOCCy_0YW0eyB9IiO0GLHYl4Ro16bYRJiozGq-WLbr-7iCNo3PW2vK5AvPo0EovVTfBNaUwYc02xbC4ZR77u8S7q4G92ujGvvRHCTaRY1pmy5O6MAu71uGcA0-24PWZP81RHkh-2f-6A0ZZ1vtcvZ73btRG0jMNlXBcI8Ilv4Z0xbUvSO8DFUVegty9kiHv23Xl2bH01uJd__9uhoTYcqMb-YbTa_3mHhIyjjauT8mp-YZtTbb5DuK1BD1FfjP8zGqL0V4rzDdn11IXE_pRrkFsDXX_LBu06xHLIgY6sUU8naeIIPPbz3yP3J5w_lox6gUUPQ9NAINHwLzNpgRcB8pMWF3OVaK8mSOJbYFMzjQdxpbgj-EPXz66tkqGWX-X5Tf3E7Q7WUDbT2Lt9iTeDdMLJB91PmithjM3O9BJ8WU35Y8RYorwGLURjZxJksZ7cMJNwWef5dcpMFq8noXPh7NFtVt6LMPVQMK7PBv9NaZEYSJth5WYG5_Vw_JqhNwf8qdW0bmAB8LIo0N7K2uYFRf7dTv9qlmgA15vfPlLpDguoQRL9nyidvlsM7b8fA7m71rxb0PE662vWl28dfIUBp8ejyclRaGhPkq40nI0EWoXW6VFRuX_BGnJ9y6JfD_6sf_z8KTOJjk8l2hpvKWJMjPNL9SNNAesuuxqMrpvSGMDXziix_d5DmMsY5_eM2tX7nM5LSm6QFSyKCJ9J0gG5oBHzvZceZ9oOV2MHtryPH65_t5p0H94KRTRbg_7Ca6HRPlsyRdSI-VxZn5qRrH5bWS-is7FROIfeK6VZ1LIUosYJFX8dFy2xvzukiPzs3eYmh3qNGejHDffevIM_3ORKyC-__C6iEgI-DGKxEkXivAOHNj-64HbaJpxau5mB2CmfPJneOcYm4KWzJYlZxPwOpBwTtkiYe946DPFO0IHgKT5Rr3H1Zp3YYY5PwBXEVzeLSjqPB1FqskkA2yJkvd075DR1ixez7PrbE-APIU6Sid18tJdgVbyKJkLN6jyM59pLZfyG0MkypI_QoYaEjyD_RrKZhR1IIoYZR0H2sT5oas2TuLJ8JK1cuaYwtyOneLsmSj0WsxGKGZ6dFqfNqum9OfHmdOx0SoMTpaL7cZDEhEV3tprXD-EI7hg3sKmAUfBZABPdVksSOFAoFym_AwwA45hEX6mXILBs1bwcyZpRG5EnQ1tDa3JfNYCMaJrHCb6xO2NmuWyPf2GiMrIQ0caTiDsopH3hhGMV-G5V2X2rv7O1CeGAsktmCMdhM8dkJJ_xt4y4QtxRUCyvgvMuf43cdMJctbn3CBIRU_6I7AlMPlcNP7xjjSkqQLPXblVGrmNR4qetHD_IxWIAWtwkXAszTHfHHYFPL0LIzO3ejYzgvKQb8mqMawsLXIdOT1YIfVIxdHN7T2Aydom98yfXTOOEY9u67s1fM60goqv3XhpsRqZmAXkHDI65ofBH4gaXygN0RB6u1gfOpIaAinISIe2InHE-m8--vukV0fs_DJ9FjMcDlBkP-FvbPrjYutUE1FRh01m0y7AeWZf9mcaZVM3su1x_GNMoKo_EizH6oU2QAv7MRFseVSCc6w2M-XFh5sZFfvpQaw1DmNnXFnqLgTB5zwwY45EkR_QJbiW_r7SWBIBVphApikQFn9TSC-_MnCTYWUwrb2mGD8wMWMLeChOB1lCqnbNqk0QIqV4Bqmit6pXb3IutmP_1NZBeNqAChjztN6iZ9Wl1JSfAPu-ruGmW90C53Al3I2Qv_cZLjamfuoYmvvHupkhdo0TbuMCzTk3HtKM7HDwRP3EMzKJmVHWa92TxCDYzNbRbj8J_3ZZu-xT8TE5-zm2l4vaukDqsheFJDVWzJdFlQ_c_c6xSAEzIdhNfTdI0EVnNyQtaC4yIpTtVMmBURJU0z1CBk6-3UF6cO0_kEgiDCE0PtE6_-1ApJhQD3gmdgsyl5fVdwA6KyfVJn9BJ5LmPulQvfC4T3EtVgjdfCoo9hOxrJ3R6RzzBc4u1AbPK7pkCOXIUWEizztIZHOyBUOshuW-NSH4ZQQUY_UcBR8lXPOPHR0ol1w5NXiezUpQ7TrEvb223zlJWs3CvndfOR6n2MHTNB2jD8L8YBR33eGMOJQmsNdeWQ53dVsKvzAWwjYQ9Oa5ZvtqktLtlYgFQiJEnpjmCaXzsu6pu35jTAUemYR4IFtYnPoRb4JzzgIsf3rx3CQDkDey9mzpg35W7Mv4alEsypex5E2hCQYfVIEZDLZk3muIPn-x4rxbiTWKnxiS85t-ipAq8l3XDPgLKujjK6F8ZvEBNccxCfE-Q1aRRN77vhTNV7so6NLqlhzi9KloKC_CBuZmoYCA0tZX-w0WZlb5RBTtyUeSb_3-SZTGK5xMfBgDTI3VKlXCsh053YqOjz28SJcNCvvdnE0pMON_I4ALXL-RPJOKhn1ZxuIS6jS85VTp-b_cqjgIageqg3Bkgsw9LYUXbSWVQhn9-sLXw4EfVO10B-6NXU-FFT2KiLzxK4hZ0QrmmEl04GENrPbIduz0DLpWIYA_tdK2rRFvuEXu3Ov6uLYBZ3Q6b9NKKfxuGcZ5ZvcEs2F9iBg9w3MEy4gQDNIWTLz0a4WaUX5TeV2WvqsjXWRb69TkvKNnOLJgh6syPTqvFsVRUrHud0ODvEOh54ZDFWeiXfcd-qp7HplXR4wE-qzdu-1URriDN-5QKGm3AWRCYXED7M58GIdvpXg2PdzdkZLxdQT_tD94_CphTR_mzEUi0SxlN2_GYVtH-sin4M9osrXyGdqHYu9-g8MA1Gn9PZqSLIDcXvXu7EGInVEkqN0A_h5xYPZX8q4MMkbwTci0d2cAnxsgrvhbX1PpIvtLRZUHuFkd7Z-a_pH7D37sum0aH1QW70siU2Zzs7MM1MLLarb6nS9Ki1hmyJ2vHIGWsVtQg55AHscTh_Mx9wTQL2xZ1mmGEk706ykmALfZA6UDs6p5Lvhb3xa3AcjeY8mKETwGzOnoWhd7iQP5uil4ncfcawsC5FLO1cHGyU7GAA2O2nXnvyydkiAtaZusjn_9XPJrEEZnBgCwTHh2cWL4m6dXWSJTvgOPLVR27ducVzy2nA_yykvOdd5bmdOzYY_LyfMBCDbF3bpbuLUb2IPiWPMA51Rk5CJDseAgmoaG37pNXrjWsC1GLt3--na-g0jT7Fm71t-Tr2IPSUBwgi7-nZz-5ZE_GPgPu_fmnNxDlKP64ABazSihtWZf763zPa9d11l0l_ud06nLXQECTgm3gTJacSw0-en23tLUWhxB5IQyO9hIICm0PWqjVeAc2lDobouMAsCt6YBdG4Y5ke-4_lY50-ModZZeiHsI0eZdgLpDvbSzz3IlSfK2LhKGsGpYLu5HjmyY9AUgk7ZV6C-ar2OPglFpj9lvp91do4KbQcyU5snTymtzbqeepx2XiBOJn75DJK09QkVYbKP95X1fTtVt6xVOI4QU8gEjOeVi-u2iZvs4rXX4rjmfRo1oPEB_yTUpiSeiXcUZFybPv6kRDBiUZ6j2INqrQtTlKEB__Kug8TR0NI2kU05mxYgCv7XM4xMyvq2tBS4r3DaQTMHLV4y0qq0-nsN16dJHhywv64M_Qb2rNJ1nPz0g5RL61oqH6AGEHTwTb0OkzG9sXpH6kulrv9PQi1Nkhp8YDktibQGPUxumBGKx96h-4RX2XjkmYpDvpOhcZSabc0oTMFFhKYTMFB8vGVwuERQPvgPchu8wAPT7xW1zsmO_jgS2XIklloXl2VYMijwHukCn-RN-JzUlM6Iq6KC_DXBAmR1tWNopNVZcK5giKfgZLB_hqxjNzIVctks2Syf-hVU5T6rwio54JymwDfnPD2GKZNhZdaDQk8YBFI-DRw-WjbRam-x1ZRREznZxIQimeE2ukra6fyZJzJGf36tCL9pXorgdOKMj09i_yQmnhm1D2wOcYKXj06T-wzY5sRBSSo34wENfjpC2tA8a8LHpBOTJTo1ByKM-BKE79xLE5ztdr4UX7ryk8x3rLt10A8QcllD-etOSanYdHf14kAOwHleQmajUn28adCEayNhqwH0C4RxRn19Y3np--BzjZV6P6y-FN8k7bHKMkG9p0GbKBhTpn9vSimniSD5XKIMVbfAXblwgKT7pscurJZj9EtZpAsWkZngAXFZXnD5xw1Gs0Otah_cJf49Ib3sRToacZ3kWTKY9eqaq1z4hPpurrutA5t8AqDjMSpRVR609CmExil12IOgLhrehLGIfGO1zzaexEJCs4CFQkG1dl9QRsKCFcNyKEXivC99afmgqi0Xarg7r6JHrlmL-M8kZjhr4-VeA7pLBVy7HwtZi5U5syutkroqwybgTPAmI7cWX_lbM8DClccO2O-Ee3JxVSKXMEA2yn5SBK6NqnsMGHLKl6rOlw7UqodKsvXZWfbhnWqYgiWvXoPscCuQ_AJ8u8lRIuhyRA4uuK7bZaR_Xz3wH-B2q01YdCpBe_pMYwS05C3Xdf5pnucGUQPIOERL3HP2bLB0D8ugEQy6KZL9Kz_wTXmbboZAeNXFJw27B72YD92SDMmvbdm0Yyh-4ZXDQ_L5HzsYz3SGYrAGTnX_uhwSGeoixqAMut0NWo6yiKpHUtON2zzfoY-wm1GqinOCj-bNtb-ouBLRYzFQ_CiiUIPuYm2o_V1rtBwq7CCqa4pO_L8RMmomXfCTbDa6Hk6NF84BvQYijHGzT0c3HFAmX0DWrv6M7FSh2EHaeuKvZKyDtx9TYASNbXrzEQhvWPJxKjBGjREJyNT9k3xJ3qUJHdwfJoEt-g3OPPkLjH0YAp4dOfv9FmtGADTg-tfPw_9roKAd78fcu_1ZRgJzeLWSrZp17t5jrecEQiDnOMB0SBteULdQQYa95bcWytWd33r_bTbDq5hOeYr6U2jxYbxj6DYuSRRPSRWvFvI1Os3U8nvQgnmoTm7G1nP1PjLl54-k5iDo5x-abuPpzaqRgPLq2h8bJ1UvG8jkXm9j0JoW7rfAqEiesPxydBUVjPk9Pv_p6EbKyk6KEt8d9hKCelyaxjOQA1D5m6YacKfat4ZQb7cf2pl1q1HqbztJHu33i_TG6a3o2ksbNk9LNA6kQd3PYkrGcjtXfxq20K9DPzWah3sY7ozwlp7kgWto3oF40w-4REgZSpziq8gcUtb2B99OongPZT1gQAVRTdDZ-v8Pk7BA2_1bXIhCCm_JjA7g6y43eFR6uC8cslzMSmX9siyTuwBZQlxmXnEggLb6-GxhgFZzxGtUz1zzZx9WUQDMxlhpA_AwrtzWYpg0Y1xhY2FbfCsNcCe7Cmw_D__MFkataNS1n63NZECxNTHyrxj5yuqgtIjP21wslxxFVl2r3gtAYPDrQ4c0yVLBN0_H2YQpnBpb87stUWSVMQ9-FLkKjpCtJPzTG4uykWvo-6nUpXSLb-d99-IxADbcGyw1VK7e1K_doNvjfADSv3xxGJv5gQ2B-hMFQ1NNjCRte7GsFPA_VVLqnrbAHLhtr1pO1FGXVbF1WSesINuBVPhQyXI7eqwPiMr1iXRSBxh7zRaNynuhsSianwShPlcXm71RKzY-oY1mQZAg0onbtKRSPPcIRX3iasd4l0lYHZWxHrNQ85YUZcBHpYFDZ5O_N13eitAB7vJ-oX5z8-mTp0ev6-HRGO-6dIFiBHQzoZCVpemyBOJy1DQYkxI5XyhZa8MHyTW8blAy1suYiTZXFtlQixgOd1_Vg1eeCHUSHE-FQmOo_YzqhUU5T4U32v6PeYjkIEOjA3rMh02BURyJfG0Fu7zV2M6tiv_JVkMmj9ts7vie0JgiftPaTAjC1HZx8VTqnF31VagUy9HcjfD_O0jKIQjx50vl-WeJxU_NLOJvekGLosiBFpiLqY4bNfMg4Zw9lL6sOvy524FgIyFnoKZwWP-ony-B5gFvBw8ossZrF8GJlEcOnrY7vA2k8KS-PR2fjEbJJSnul1HXzddQT_t6wvEQcHdVmMkvgowMQR0robALjM6HcaXJG0b3o12yVnqBdTymcm6vG3dYFO7cRncHlXf3FVckPsDX19vGiVmBXFCTDYwRLl5sG9X0rli3KMoF4zjWE5730wEqoLlGYeP4HJK36WSKTHZcJHkhQqCTbRjPq-SGad6EVGcmNl8CcOW6tomsTgGFhTO08N6DYGxw1Q5SzX1ZzoOfmT5qLTBYCEsr4hC4748gb2maskl3DEC4KMa4SOl995jqjGmQPxyDuPIDkxdZoCAp1F403LVZbJb5NyQrK77R397etWaRkeCFkbwuksZzWePQEGZA09_1ksdO2hJ6zCzngUhHomJrObvKaXwKrA_TLOqvDMr8nPlUPhymtbyRC9G8P90jBRQC6aoG8HQM7wn5AM7H9fD-zPy5oQ_WGlmCWOxcJOyO_-VC0VFmgVS9ZYyyvHDwyAAdhUp-cjihCMWvCj8amHdhkE2ZJouGd8_-9xF5tWjwfkBDEp8ZxoeIlNOg5D9pVjHrt8xkwSIR6Lk6PaPcqNibkM7TFX5dVPrIoLFAqbkaeS9_9x_0v-SEeTdaLrTpTvBMyFM7aH-fzR9HciOv2tSjGs8AlfhvJC_49NtWc-bfM7j2y2BojsWqp51S029u9oO-qxtH1HlMKeW1gfyR3i28eXGzamdrde4enbVfY6Y983XjyKew7bQAAOUNna7tTtDxUNQJWblrkeoUs1VHqNCoVhbHzkodnCZheV3UzbexHi3Oq6QtYcf6zrkgHLT6ibMVh3OpvMXgEkUXBUXdF4aBy_SvLZ_Pgndrv02UG1deX0--8jxA6kbApFMN4hU601Zhww9LxXH_mTlYQvjsC7awyYcmK3N9NIcfBPFpjc6B5ZIrKofJ40do_OgiLKYCCRy9C7SlM8-c4QnqeMRAPPRVlEc7QJPvGLfIzwFd7VjzcGNBhsxgOEK_jZbIUsW2Hnyo0XsV1HSXiDq9nVFeBQkK-e218SzSq0MW-ZuhTgNyk6CFYZQBT_WsBK4uBFfAw7HbDDB0ohbl6gdkdwq-3Fjv-VFOMauWSFbams4RwWbBPTQeSY7nQ96xOTYghpYeQYyUtukr3ungEGl9VL_3DBP6vBRJOvRl3SRflEXmwcLMzE_uVQdwhri4Nlejsb_kKnu1bHttRnLwJmq9W5U7ZwETSvqEQKsjyxSK1ad5SFxnEIFFvEfcI4XD1Jrz4XXGslOGfnx1iirdVZUthjpaD2k-6HqgPUk2eZoDWWB92NDnyW8xSCK2dnbuike0RS8fkVbXlcsvIJgd8e0mHB7IGTJA5vhNj3GEEzqeYe07T7DePzlZ3FCzSWy58zIrZtwFkovtl7zYrM33zL6muwkO-4WjUrlCaXQzBcHJVPn7xCgQTlFbwZRkM748lS8dpRx8GZo1LzWlQFwMUexUTBwpqOrepNi94L6pMGkzON_x-Nrj4mxQFcZZSliMD775x1lOXucOPSrFCgGmfMCcaFJOwTmpoYCStmx4y5pMohyw88HnkQLJaFfgO3jCumtesuDGEzCi2ulD0O7FYXwK2u-U43-j_Tpe35StkpOP-FMyMwJAklHaLYvoE3VwpQfh6wzne88_IwynN9Q9zclQGD94LErWiX6WNNs8nJ5l6l7RNaler-koU0-lQHDxkZGdHWaddkCWfLOcJZ1YDFzfzsDmGNCvxdYcgiWUoInDXBeyUoz6p3ogR7_SJsF4j6ZoAl2CbWpsdtSkCJzcBWmebL1lRoOjFtsLEyDloOmhepwsHknF_g1KiJD9q9tNpnLclwnMbEbE7Gcfhfrkf8eUS--tUFY-jMF4kEkdqE0x9PNcMwMsIphmAAURO5opeQJZ8bJVxOcLIwVPAnMX6mQ8IFHWjBwePjdLM3arUua7-l6tsENrWoJQVhgntrJJFdDC-C_-m7apCspUh_Pg7Y-I08yliXEzuFis_OkwM_RjcMv47_LTY2Un1BSqbJh02fFLJR2c66uCFOxUhFBFiXs-eDkYz9aqj8nmr8UwWGC5WKQY4-DJEfbToEvpp2xVX-eJlflfBfQQ9lRR8NMEsOz-8ZA_2AAKeJAYT8JGhFCziNsljrN5PQk7mq0g2UrKXgtQqf9L1aqeukm2qCTsAu16IWHXkeijX50YvKg7AXJVFazEITcpiAlhYW5nKjiZYIsN2Jw748_RHlhWRsJ_K35tfctR-9JBMMM4QslSCTTCHnfplsm4mKK-nG_JgDgJ_sV-Eh-P7ziI-ylhs-5BbVxzPUD-_vm2dien9gCqCPPMm2cD-vp--rRnzQQyt_C67GUL6An3LkGdaPecWzOZrVsZYVDzeU9vhDGZU2XZKK3fmbhm6UBBbUQ6577OcepOFJ4UnpEimBrJp6Jekm2IGDK41z03Ayi8MhCQLSUMGGat-oCHRWRPLrYEDMMavMF0kky5AUVkbVoGue7WRyUGnEDJe8rEXVLiKMFKNmK8QlsENEyHH_WXXTZbY4pZS3CVRqD86FgVy2UEC9QnCHvCrUkD0UH6Fz_jl6geVTcVYTe_iqLBoceenWVVoHLjUARmeX5xt6OF-vvtgvtbsdzwJ_AqaUwbqqrkK0KOJw4uMbOgsfdbT08gJPLa7H8cygSqdGbiKdONUKO2oYfcMg8QqksEcoVOsSeJDfB8vuqSgRZ_ATz_dt3EWvszA29ndYbU9rmfLVCElj-CzqIV8Pxgsx87cCOjIuKvNVVqzLuLGwpr7Ccyq1bNGKNAvmz3kIa8lqbbeiEl5efrc783KOWbQIkKDIcfk_FYap8njU0r15ZW3S9TM8oq35zFRjHF1hsP8l8AxQ9DxD8L1CR_m9nleX_qkm0TWDNxaoVXI2Ww0qkl90YWGqlFBpIsTZ2ZcauNJVc8MQK7IyFMVS4Gw7-Z_nLm-m966MDEp_9Yjz5o-OrDIeXiZt6XKl4W5BEHjPDmy5mWD8OEGaWESEGoZhiuy-PUScJr7Ha5-hIRT2isGOYQYCeHgNaaSsBQ06rNwREFoDWoJUHEJDrNPjvhnNlmJibbhjhVWtgyS3DUuHaR4CxjdYAsBhkMOkkJ1FzLbf_aoP11Qy-hloeBNzGRN1uTvDuo2mPDfcX8wFpzEVp6mNN9bGFehDQe7UgGNDOE8kTY2prOaYIZ0gOFdWJ-LjIQPrOU4YDSOXyypV0JDWFTZBjcJ2LUehI3WcBM8hhV97QRi1VVTx8QoG5o_r4SGyJPNhVTx-aFDxfIltm46aKeaFVbB_zW_CDeMDlr_9KBHrwyAGb8Gf79W7_cMhgLEKchDqk79zr1J08byiraHUBhfhywBCxIgnti6NwMRN7CaqTw8j2YPd0p1FR8vqlXxC3TnMthFvW22ovQycXvkK9TUOVSktMHiERRIS1it0tBZPgwneGK9WJVDCdFh-FWuTonWDAC7m_lfT6eS7y9WIOD7Q2Lk6YWG-opTnR72-kkDk3WN22ve7f8GotLwhWvLsXxVdYQzJa3VLPRQ032ca4UZFn2NmRGRqIkSi9bm4lB598JbmaOz4dS06ftScZmBuhJdPHz98rfLGhD-cEMM0NukRIZU9iT7u8PweNNbWqsyRV7rcbugHCTNGvzOaEweRqgeOG_nRMtkWF-G2hbrd2I1i1yBnk63kQB8GiNRVmMT2JonQU4kmrQa0uvqSt4ipwxEZBMoLwmseM42UO2hcJJpmHjzOWHy5NjOc6TYN3Eaag_L2NeJBc8_I-QMXlxO6Cy21nEfFBi6HwA11C3hzH69SuThBuSBB-W_1UzFkDT2y8XTyOgS-6rJjZw9ULsoUM_mQqwS6J6KDg1pZTc9-T_8caXFtxB12_S2a3V4P0vhqpe8NzNqtEHtAxz9BYQFa0Zo_SaNOa1jfDaEshrhnzKX1d4WTg5uJGwUcK-m8FAY2e1OJP7Ou9PwBjO8femdG9xYfLtFxtDMi8kx9SYY4IxXUcYszj902llRokCSvgSVt01xvZE05FAG0zL6Wd7Ivk56ehNeHDPKpSk7rga-SPFVE9VIQnkmKSSXPvxbSp0IYjsD0-ol8M-vn6rZ4D1MQ6a3v_ZGH5v4OGm_0s9FBgiTi2tBgDiTyt1_0QGXwzlirgy5dX7tRiBh2jRf25e6WhkFTbxrGg8eRfzOnXvL1zsIlCF8pWq4FMYhVQ-n3jKCKoWboywKbrWs2mUhx4cEhF7B7ORcrMJpSLz7maQ5EBsRRt9UzRoRzpkGAm6eqjizhQXYOcU0Mf3f_aDPDBZdoMeuTYGjCWI2iwhnotm97xktuAG47d1YT9rt-3T6UFbIT6W66589GPAQ99wu4LeStyGNwEoHaLZMR-sa0p86E9M2fqiw3XshLMXpD4ZRt2nYajA-UjErwyIKiRwKaqSVqa0ElEjjHXtebwJ1OMuH-I7QT5NBDqsyFDMe3L9FfsqxGCA7qka7qIAWBIFA4a5BkV0g-9X8O9tpd-tDNYmkKf7c5VBV5dLAQVt2erkOQcEGqLW-XUaZMVck8ycphW42PdbjGBjRLRRDdNDswZdiXcdr1H9pCnwlSMA9gwdQdkuTmEssy3RTSEdP4jBqrLaZGJuoYFIWkhrdFRKfdVNKfpZ4QndcnhL4B3jAUEOXUMIGSzraI6NbQw4953tqGOjxlCuyKPfyKqa0vqaRmZ-t7CHmyOOymVpXR1FY5QyDq4NZ05iiRSeVQwuNSHWApUjuLaA3uUthvb4rL3v90uj1RlpSX9YbVw_LCUeuLbaNlkn7g87E6Q3qr5JKdVy9G4S18_nGZXYoctUGv_TOFasOm3-fihNHtpmnb4KClSYAKzTHMjig6MR4FOe-vgAGSgvL5l7fOINJPNIDGhdoCqMu-LxVOvCpx7cgnaWY0QuFOObDGlmKTJ1IvUZD6-xsNF_d4FQ6hEaQoI_DjBhlndOwrgpmYGH2pVpXzEmE0Qqkmgnk56OAYD4BNTxjU2jVz6-va_NPjt6XdJjcYAgxRkhduRsiBGwFS41I6nem_fw6Fzj0GUHOLMlTA_9nsQ9xYu9pOL6ODu3Ff5OCBTMQ-fMYRdYpeGsRSDPZLPJRSloKOHT9kbfuZNxH3DuHT09pUzczhnjsBKtn4wZJl7EIjZEr5PnYujp5WpT4IHTdNlMu0yU85_TQepgIcEX_OWpJ-eDOwu1uJt_0-wyepcHFc9fLl4vbblSgFl84fzFtbU4hFxbl8KZ78poUe8FZZL8jSMb9WAE_Epxaj8Ge22qXP0ZAkIsel1en_goxA-eZEItUDUXBvmekv1_b1uwnetx1vkyAhlNm_-W4RNN1lgPkVfaJBJN8NgNlm4jiDVHnnqD9EQY1JLWUDnZgMz6LmkUTcBoNvYBil-VKS2EvRAem-HFfBgsrNMAD8uNQug9F1WKVqHcvPiN9_KjGzBasuLMie_8HtLaNkq7v3di01vTpa6yFG5hQuvqgg5WbkyQ_Z7N-DxCEPtMKoHgFB1p7hoHdqByIUrDcRmHt1nh8tzXDDtKScsal9lozYlTkBHLWrcHW2ak5yb-bONyHfa0fbN0cJ4yb6rC2Ph7ixcwdT-Kd1tqbolllERuqcshGLuV4_uaGg65GAqlfzc_QxMpjAtuXKZNj3tiOeL2G2bIIbRHvvrl8Al3WnUM7c-smU4fWl0eJivRVwkhIHZdnqGIbFruiwzhyO49EhvjDqieXvBZLqSbZLCyDUakIJ_Ej_56JTr4kpSuWKxMPNLquRbbEP0_IlvneAbJdZYBftjlNRV3QI_-E3S_G26TXYAAOdtW-9nryrSU9Hc1-5WX8207bJbG5ncwwPEtPdMQepbPZsn7V9280cXRdfEAj83GOyPzKGGfMtJp7gVEdczJK3FwGN_ZkRwhvRGf7CAHi7IYzgoecwyojHQUFmvotYiYcLBUuP8LwfbcULbMDnH-W1z0pazM1XZ5i6DXsSbDFm-nTvMxNjNCH_BSE2spGEnrw3vebSD-pCAghyneGLzOOAGAXOodjyNa40Ie7QQTNsyFvcDKzclxwYyF474pUdOqjsLjdxvZRn8oZZkrekxpTV2_xauQW7UzNDv2DQ7uhmQjBV9pQZqKx8vxb-p-0jkSQBhkUwUbJQ9dPPQYh0add7_N7JMhDtIleNA-DLM6v7AZsbitpQ-wHELVXJ4BICcjQ4VMnNc9yFFsCvuFOdpKhLFRLYCn-NL68kpMWuuNW8pmlxEErLTlZh3OjtufBJLVCDJwNioiqbPqYWAVpJbs1NdhwLzgXZ4UtiiXwOOnwuxgvHxwb2No61ifSvq7C3K7Ei5zAoEZgidnQEMVeSq9UQlNkeUrw3k8ln-bJQkBuSvvk7zl58eSVRO91vRSoIP49lZIOGXhfnp1haDLRgi6pA7FGF8mXmXHVoERlBjCp59UtJeufk9QjKOyvDyiMLS1injCuetB0XnajjtELvLDa-J6HjM6hgM2o7xcvyLApanvJo-O50rbcLR1b0sXK4tXA00J12ZFej7OLFXcZg3TUP2XFT6bZdxtvK1_2-g9XsR7ymfnXN4PnNbmxTcwWeGrQwMFy0lwRZk6Cx6ivmRhdV6WEzuIYx2ckGdx4NucxfqY67T1mAbU6ilJH7_TFEXoFDPyrBfaIh0CXorxBCi-Iq11WfseFlmHXnOj5KKCD4XXG7G_2qwpEanLiX-Zyyx93_-7Gt_Oi6siwHdc0A8KSj4tNVtdpqcGkcMdJUYT6OLpoS7aLLR6rXIM5g642g-hverXBO3gx979BS2SeorR_aWLPuxScpjoFGkXeTSYpOW28VfLYaEvliUU50NRJGOqy6ak9rOJnHGpJzEd9HMB5OLOxkWLLE9MThKZbnRBXWt6dRuqR3mQTVkFkN-XWjVYdMFh-mhNN-3A3OtlSDx5Dq7uOjWiexOqu-5LM-9YCkeZYhDBYBczIIk163lE-biNter54eDSQ-5Lkl3OzQLfqLpKzqNGmk493YqetnrETVX0-cAO6I3oqiRhwQWAZTZTtAl2K40CK52WsSLSZoBPfHL36eF22dmdXD0fL7I9QmQhY32dxr9GZGXNcKliJUaJfUadp1QocZB_M-VYwcERMaGJf5JBTKR4u23BbVkD-_cnCz2v_Vo2F8iGiAYd-XwA0X5NMBFp1_hb_qxQuVxSRhF1R32whPVgOBfQl-cTnSQzH-3IEcMqZErpYdPCpgiZ8M7rPoTVWrHXXgGAaD4ltjUjeVHjg3lKhb-ibb2rrW4GDJHTUH10Bmc5ooAqb6qSYzakqsvyXuhook2MgDBq7hVgXwxU_f_ghbFcDvAXtFguBbT7xIJDIuHz__QA3TnrihUjH8Z49G21xS4m4yaWPk0un-lJaAn3RmZ70knOcu23PLgjuI440GwXE_WY0IXR6hNTxi2jysBSGQFKB5VErKV3LFh9ldrPrMAqNGzg5yU9CjtfAHr4DBtIfvm0Y_EbYl5WkXP5qcXJSu87ZxUulFwiZav5orypliWniAzDYIGjbE1yCDEGGVQb_WkG_m-hkUdNTVQKCnlfV0d4nsGWjAkPse830ltPVdOPrKVkAZgabZF6pIf-_LQL349I9uNHDVoCvk09-U8mDoEQ72uOgfJcuN0GmscAvUEl8lnJyAnq15WBFf3zrRK_8UHRdAYt-RLFMWR7uAihCkr-GKMTkXUiCfNd8W2hocgwYl2NBL3mg5byuSuqN3I89fDicTV34JJ61-wNNxFKJwdV3qXhjFrxG3bfwz-yPmd6zLFpj1wmV9or8YkbMb7hUvKzgbTololzaIpcvUOJ7WJj6wvq6IX_v1yDVnPiajoONWXyNMDUxHUHJ_avGnSmnpDHa2PVbfRb0nrPLIMkZLOarl9GiXl4iC-eIDgEqK8GoKUhK-j6562Yzn5JMvg35VE7qBLdVU-vdsHBp3BHA9dZ6LYzshuC8AJ_eNl6p6TdUJ2WQZaUe3FYi4l4g0cBw_AuBuBN_ZyO0tu1wU7woSLipE-zz5tB4TD8UK1Db13f7duB1MLzgrOInsvQhBwUbmtZfTpQVIm7pDl5Q8NOq29LaG3B8WoBdYg-VovrNR4zOSEdHwSYAgs7xaOnQCt7cS_dG0M7GvtLMBqzrgLLPLAm_dKhDz3xv8T3TGr-zJQQ6-FvtiNfmppEhtKxhAJMsZLBVH3MlRhI37OncpOY0cS-5M1XR-QHa-NBttujSW2Y8W7fCse_aVnZ20tZFMuF2yKRMjVafdDcFARANBQA4J5bF8au5aNdyy2L4B9nOAYwEVb-UiOobjGkzGD73bjMdjRtN8Mxm0aaRAcHzcL13o6z6T1cighWID2V-bGqgH2lrg7V0JilCYhLdHGOzeXXpz6YTuaiXMAw-HMj3M30_Qi1GsChJSikcvwV7n7QiI126MXb-DuNIINRCXy-Auqxg4aLLoHZp_XT6OfQrLRjN5VkJOjfa-v-9ISVsFfeRC9gHOOfqfZ9ox0P1cmcmyhXtWUiyftcm90OP9TRExoSsf6tblPYPWXmAwN0tOk0occhcUh0fwwSK1i5166U57BX-Has33J6h9nVD7lOkc0yvYYBweVRy639fc7vLLSQNGluo71Q5sJIo3n0pdsvIl8_D8acmGEKJyZZYaC3P7Vmhzk-kfyRM-oZ_8u9nrlyX8MGK1H0U3GVJf5uxkQrlYi4LRqhVWfYsBSQOz4d2VS7MYt9lNcQqFG-zDlJXB2RpDg78OMjhoWsIFXmH5LK4F2FgSujmHf4kv6vg60VYsMj-3skXqeZlNJX4RsHN1KYe-4gcDOSW23ZSRbBMbiJ_RoVjxf2LqoJWaP2j5-bSp7TyaU_j1aJVqaTHW1YblEmGAdijrXhzsSL9Fbl51Y-2It71dWHLw5daW0cUcuu5LMvmEQiCNpyVeBdoqsylcxpmZrRIrxNYeT0b7o-esjog7jAfPPYr1tin7ZMdTibGXsu9ztCyN-vVfDSM9XA7KsIh0IiqyxfSf-mz-NZi5AfXxyybMYaNWexyxrLTpD8mG-GqAvCjyUcRDB355vcryCEZiP5uxGm8Yu5QrhvTQYAvbh9h9VY4uxtGkKuJBWV2owhVgCI-nza56ZXeBaLguM-LnNeBtnExMomajby5X3fPrcNnrehFMh6vKoI6og7HRo75ejFXA4st55y5tbNoD2YOCN6C_YZWMHgwuQpZtR0THikHLRH5aZDCy4iA2WM7I4CM6CY48Zz49phPWAApZnvPGNngbybQ8Mq_7ddwX1ExXPx0Q7Dn68Lg1_S1yN1jsV1W68nvIy28XxHNTUmOgWhRWKK6e-8A9sEhZ3m-iXexceZV6YiXstdGge4rJGXvtfGqz3aRI9DSmVMjMkWt5usLjo1S-eTQpSrPUBWJe0-Nnr_SpBtTlH4AmWtwaCbwDv1g3V8e_MLKZXELLs0l3LaH0tt4btf2w-vz9jKgPEUuCyLskP9Z08JtOyBjtKSkLOVv2rTDfchk88KNCHvXKAgaqkw7d7nhslcK527AspOyyvvwH_W2xRkBQp15Mwojx5r7XIuhT2Q6NU42jeaXTOLU5rY44OkhsKYJ_zxFUt2yoW_OUvBJsFDzM31ZtRsQa7kmOzJ_3LrjzL9KPPPCDSR8vplnqZNXmscqEO1-WZpCwT3Erz6yachwC6xe75s3I65R4Ins9nYHq7y8-bcRD9kdib0-zHUSkX3WGbCms0cYvJ0Qzum0WUkcm7x21SS4v-H4b7tczilQzQ5KhIDveeedSG1s48qvKHF6vALY6wGiGoX3GXPiWebKyhmZpYDhfY7jFCThGpCK8eYvoqzGl9H1k-tp3EJQWG7GpuZz7d8rG-R6wStcrtBQWrWkQ54zRl1v03slkJpzSGU9Yf9moPxQ21qPMgNOkfziqFnqL86UslFOT553Yz6zKtmXGGwyVsztBfHEyz8CEXHxxiZp5RRcakwqjxXYXlUDenOjNNP8SNkw9Qv6GT53cBQFraMws99yuddeU-mXzdT31M3KYiKpeNa4lvAgKrGaDDExrDA3JXUf2iPyBwpijYi7s8tWo4BymrlMrBDg6VB3DqDTPX5F58RpNS217-IRYBHfFbw1Zn9uClMOfn2xS_pqU5F3TDEqxXo3yA06B6TZF2D8zI61Q0uCzm4cB458f0-3iDn6D4r2u2_8ZXOeHG5uqs3YNMiLFvKNi-KnUCHjqMdViIytsJRpYM-gl97h6jfm0RNVc9ggKPPsibP7ZuRzWLyavNy1ywzWLRpwoGxY4Ktsp7fbUGKRB2b31T5OIodTwCtY1p2PV0lqt4H3OYYx6-EbORDT9fq5oiUHVW9MIYgBO6uKe7tECQUKbq_y8sgIdf4jYNFb1vKKbRKSendzjxaVYh_NbHzMJTYC8Rpmu949ij6aeKEF91eP5bHDKcPbZiB5YWwrEMta10U3qIpSCEPSEbzkWTOJMfQazVto4R9pFfbvLNXKBymTiljCT6kfYCapnmutsFsCIxyqq0AlvkogFYizUwA2FPuRUrJ3an5EzD1Yq8r8YLCpPIcUSJ9EFQ5IGfhelTtcNpLw3n8SIaLbEx23GiRJ2-mHxu-lR-QxxLYvkMcYZ6Q7xagr_dzuoOyjTqWuPzSHKF7nfsKcsBFpOhYCgd3qI9e4sRHTg7UUv894IqgkSlzdo7BBPf1ZO7bhGK3Zniilbci7sIj7ZE-63Be57TpD-lG5TnKCFYx_sRmQNxw3CwLKIdKxPzINbc9W-QnVta_2Z0WiLwTm5eTC74AyQWWYb0gC5w8a-g3kEdjSgB7JOC8Pj-umt9uXb8_p8UnNF2HjEN5G95Se_Gc539YkiHvQUsTCho7hd4F_9OcubkZWpzKp3rRj5_w37DGOtsSGy4nAf76P2jmqi0bzDGMsqI3rUyZ_RLM9mGwoMDSSK8bS234tL0wfy3TDYpeFlxb_UzITjdmkTznrPpbu3-zcNb_i9gIMlNQZ5t7WijaXzoxF52_-9z946jUj4UByHoAlBJpm-RfjgIeehQeO8B5WB18y6uQ2lHDMnuXCfha9Ip8rXp8JTYOnsYUgV73lOPURQp_wkc-2815RtuXM8y1vqSXjEcGIJr5XEcC1ggIK6vK75MZoCY1N2Ek1JuHoFcRStROBKz5MqaRWQyd8GrM4CEURj_HZuR3LliOf905bsL6wViFYRUQLTYFc99PxKndyKN_T8yykFA-qylxtFIh__luTGxaKwNldMhSxXOG3LBzCJdrLsP67l8GD9WrYapFQ1BnSzAPOX35crIDhEOHejp_jmqBtv87zJ-in4lMKPxV7cM8pHNNq29Oq2e0wWa-XdDnFr6qTgicj42QwVuKRTOeKTsTfD9wb_SU5CKtTqxYD1envl6L6mjLj1dz8BmB_UEmSC5OzlKuL2Qvo11SaI3mfr1XPIjhIV6N5ZMxdbRTD_oEKMgugwvbZgvUWXN_dIGW9C7a2o-81CfuRreXtSv-PI7RqG1SK-1ehiBdRTSxqJbd0iTDSCBOUUoGy_Ts8VlBRpBB9fplOjZcyv7Flf9HBVJGNhe4oTg7Vz48WhHdsX-dm7_5tALzr9Gd12gRYnsPxdbvqxDxqKm6Thwj-m2Gw00zi85wMdgJRzGdwV7MI62xyw_pypegmRnOUapvXt3kT9ZR6fCuYq7JayqmV0D_X4ggcoE6ZncGgsrzxMumunHWiSCtR3WC2RVS_L-BCjNWDlw1hF4rSM4s9QzP2XAZQWuNgrFWYVDX3sLVYehRTDIUbSgeXu3GFWM8Gjas9w-sl3q16zYUwWmriAWC2AiUxRuJR5slUHcMks8Dy4MfxF80hZ8-41vx3GLwoFNVaf1cztSfZEdhTpIrSq8k4BRgCtJg2u9QKI9d022Zodtagc2q6Q1HKhbz2arYEf5rblrcGMpCnii9xs-GVipbFePlUTF36rW-VFeE62PujJ2l_ZfzsRImVgu4nd282RNn8F2NuX19zHm0F1vsCQfYDBrxfXr4IBTPN5iQuJuEzwM59zFfqjnJKcAWnMotfdToPnxVvH73OPLzhYk0qUUtiYnwESxF8N2c6eyRnCxFHse2wjp8Zd2OT3XX5HqmreJSRmvtt2i1QaniWcZPMxaJVHUbXj-TBzyhUoqRVc6thRlYwlb1R1hCSILfy0wOoe51s2MnTgTQi7aF8JHHKruoqvnjgNL7kqPEJOmDPfYCF3lhjaOQ_9XZBgFffP6xQ4xQel7iNaECtVka7MlQdXbEoUhEwXfC44DOonxivbtrGGHueUxodUtvONQ1-M9P_GGnxSiJpPOdMHUckJnkx3_Cl-qb6XjfTVhpG5EqsXWCURlyDTOy3WlZigfrIRrH8HLGaGgaJi40U8gXkqDhrMgwi1_9fwYfkqUo9i5RDIbVkReEkvPNajEPPmRbnVA9P-qxgM2SpY-RFyTYVrqQAWNhHb-ID4X6vjxZgyGBIU5qBIeCYRm_KR1GGqumwMjKw4n-6F8ORpot-BOntReLCOlcHpsLvzqSUiwri7QfutdEewgK1yNXKI15es4IupgTVDRO7ctgWXSd6nLTA9xjHSdHBkww2JXPgsUReZW6AdZxD8fACKbcmRe35DoSNuBrkcnXMsv-aeLIHoo7wpCh-BX1F4aHyflj82kp7t6L9MLh4I-EycKInuRtbkLvvklqnPMUC_pm61SHiWk99NWnK9aSrpH0-qOyvxOfKcUEgqA2L0nE38VqyViZUzwt8eFoIM_sKk193liBQ3w2tjIdMAvJx3VMYZ25c9y8VKpxF7ra_gsx6zkfFric3X52fPg5Xpu5FeEy_3BY2I2YOpKeJUnosepAyWlI002JgRUIBqqwv3gZMnW2bAGk5uN2zHervSmc8p9zq2p_QtvYAAYUNMDEc3l-IkGyJ5qVa1o8AI5KnhikyFxyvHAm-uUVXadw4fgIHoXWgj2w5SRTojK8Yx2uEsHDLN5PagmFb54zxwKKwcZD9USM0I4DXsbqIFgf1XzzyZX9U_EcOJsAOlnbneuEFghphIORf8enG-ar4qeeP4w_FR4kIhgA836zk9wX7VEOKHcOARVXQiBwHQ5JbNTMGpdWEO8HDRNDywh0HmafZ6d0-EIaV84PEF62uHCQAQceCHZG2gvaIfiIUaKgjEGDdOKR1-FtJI4ZzrtRvHI5HO3o1b2gReqBdcSyPm-9_sxPwb0CxXM_PuXd6JzRYo_5_NHWrmD6P604HATdDqL0a_1fKWOb80YpC6ZRbLyF0qKZDSy7-mhQY6fwV-cvzjdZW8HnkIBYosqGfhkUccP8WLAtcmD1mPJuK7Ew2kn1FE2zUZGLcJwAOzQex1cNvMVEZ4wjCOn3uRaW2ir6LHoccvk55zRbEsvfS0CrjdF4l4GlaCnGbe2XJm1mc5XbWMPlIerrMlZP3eaijdmFbhlkP3ldjjcmDUbBIXuboXZj70VLvnJirCArItLDBeLSiz35kNGsSIFJ-0Ge_XGXGo0VeKKlEe2NdjsrkIA7zmaMVZUEH6uTRlz6zTMDTlmQonJE-ZgWT0cnMNPaYH4FYwJnWQyr5VXPgSIikb57e2gRLpZbN8bsfDj_AvBocUpFHr6LOIgLelkQWn27TPEnliCpIOTrP58ys3Zd9_49xAUpOvnM9I5-duYvFqi8B4rGhaOUkkZsnd2JOpppLqL4907Hh8A3bbzl0lL2-pNHQSPYafnoOx5PgRhDKvHnT_VcbRSfT9wNMoTE9yjfBrCswqvkS07YqV98LwA1M_7ON4dYJC_HQuWeCzx8RdheFlJJUJlUhwGFV-ZAQwAWSt3PllGgYNLJ1XtqANwgI4sYJJ8zrJSdcw3QDViMqJPPJkwBcPjoJzAh_E7xcUVAOQKwo_LpjYSMy3uD_XaJpxX06omRn3R9VbA9gBTo8sSZ4DfdAUEQ6otu0hrA1NaD-I2Rukq7hVbLEogEFznaHdgfz1nlebJcqsgFhHYRQ6jOTWHAYm56P_XpWa6raShBJq3cmAT6xGNICUjPKC187BC7wqqjvirPrL7C6QDR3XwODXM8W8nBqO9x8cu9Z-jtYST2wJH1pp78tpE4lnDKXNdf8UIRRoy5gorxPKWC68CFuMxtEoBId7WEiA_R6tQynr7GFym3iYlQS4vuT9bH6wTL9zNgz5kA30Yogtw2vT4B--6zq3IrImhX35lbpYQcaeWCMRfV6K2g1QgiJRxLXO_yLeTnTnCSlwjAZdCGr3FcsMjbskMkWEi5ZFa6vAcA_TyUPm6iwBLvU4QJIEs-8C_oqevSc1ax0MN_mjkZeqqi2MFnXuCY4Vsiz4QAD_PIB3xWbD5fL3-hqkMxFAOu7BsyAPssFfd8BrdYA-dceHd102JomY0zR93OH66i1toYVgQ0DRaxbqaCRIjC2gLYNCqMq0kNoabgfmJnMm07n5R44FKFuyOlN8PuNHn8I1lxc5oOOqC0vB6K9bX7IaBCgkVG8d7kEiz1JVlYiQ7UV4dyLHCrs16eJMiD86YKE148KFTzLo0FO2RBrR01HDwd5uzgRNb5CGnJcZRXcFGhCPAaz8d4txjoC1DT7Jo1731rcYbSr94SIGJEaB_JT9lf0fGCiYrFxg7qQlipNcLmBFXU7kva6t90xcw_NCXoeTSYJJOyzg4VloxwVfK7UMLVcpD8c_3VPv6ukfvCbTWldnm7kzDr3E65QvC3ndzUYSc0YYYJEWn5cDRrntgEKuN776SdSLxc4Y1-fvl4m12pkC1gVkGK-mpwccYkITX84xIpI1AC2rI-sYMdubanM-HkOY6T5Zh2hvQPFQ7RvyeA9nfdYzmu03v5_d3EvlWosvUsRijBjObu-bXO6OD5H0A_AaEhzwlzrKSl5bySkH8HUOzfZv_KIBYeaDWnhWYsNejP74rkih2XvfjCueEghZk5W9UWPLk-7ZSSurPYYH1PQkPUvh3LBGpZRPmmt-e3d-PJSeakD2-kqOseYfh6bBiWJD6ttIhxnIV5n6GJoJLxxM1JXQETvSPk5vIu-4XYwVN-kGP0cKDsyzX-1FrlmaWYXAL4BVEsGLQfGJDxArn1ujUF0DVZjI-JHaJe5ENVxch6jAi_aDAslEtHBaL9eLxCcj5YjoFI3ZUJ5J3-YQXNJChlH_TDtcrMSUQpWYdpLumxkgq9koAMdW8vYadxBdXiE-huY-J6CNdr3qBpHIaqEAd5khe1BpzVUe06YAYY1q4cAd6hhH2sN6NahDC0viVdeSCCsKdV39QHWSPgwRdvbncPU5hGzEEtDn_M56uMVAA_XB1ifft3gGWPV8NhZshCQ4LLRMZGBFmrj5q6vUHxEXQQBQ8J8BBEeicL01zM2eIK2e7Gh4XtVrnLd02fhROEgHhVviTUOcraxTDoY2-Mefzq1suebWG9K16LKCW12b6Cc4qSvKbmGMWDjL1IG8iPvEANvR4sp9XCAXiUr_eC09AhQQh8HePUdknU195PqWmOaRUH8tzIXC5OzHRNkrfxKtN4PDfE5RyQse-dA41ReCmB0_sKtWjM87pooOlhiR5BPv1rj6_9hytIdiQLQ_c0Bd0JAKpgN9ELuErAyIjG4d5xuVNNbKtKwTyTe7eQlx8yAmOwly2ScF1yQMrBW4E564u1sXmhUTjJsMrL2DdUTuv1_xafCX9vVHYiaQsJ7DJNQT16Ni7ZNHy_o9RS0hVBA5dBI99o8fOQ_grLxcFgCDPYWM6AoEcDcHwluBRmKS7LM64ffoNJ_ErOvkvW9WfPYTWDGPrmi092jOSrrcCvlNFYkkj9FZ5SOiCEV7Uxsgl3dmiYyBwsQv_Kg3U9PNChUpQPhBPJcnxhXgjUKFkT7Z4C3um3QW6COzAS13o-FY2jD70mYWj6yKFawBo0WsCW3m0gjt-DN1I4tQvZC9SZDskaaoraQ481DkjoeudtjiwA2txmXVdFX2Zz7j4z_NfPN37pBk4bWzu6EdWTegYFOJe3PSDpujYBkVzjufhGCBsncnDDyRXfq9FJRXVpvggIm6nR5K-Lb80jHFKx16K8_egUhXYu7yYtc6mGzqG5o4klAd8ex48sYfUnOQDS53aMIxu6ouXhYgvoM6Tu7-UPGxSuQr85LQmQqhL9ZjYyPUvcboELTPtopDRF6A8pmbllfyonu-eejqDWvVyeo6lCtMQE2Anl2pklXtgapJ8heYz09hNpON1MpD2bCvYitqugwG6LUmii5A1Wz7y23M16-8zorKnpr2ZaA5nVWUqDUlv-gnTaZhu21nsdtV_w0aCZDD_oCf1MoOguKnhYNW0HUtnqdO1P19k52FHuxoF_PFiLWm2n4kToU_IImiDFnmV3vVPA37put0ra27hYKyuNqtBwkPZxH8xDPJoxq8SOfnIY-ln_q5FD1BMLCSUYRppI0iMzWAm6g-tPy7x4zk1zwBaH0Mbwd10DbQjJWKZnTiDmKSvPs3dZWLmFib57yTeTK7l4Sc1DIL2J5RE9WI0EmxGroV7UqKaHpGQfUMUrArgnZUG9fJhR3OjLy0wioQ8gVOflaADYWnynBhprUY3qAFOKYIar9VWviPxfwJC32BBIxQ-r6pmRlhuM3uTTUcQJEWo0kjsDqP2waWjHoKHuy3l_GswCpu4qd6U8iPQjRBwNRpx5Kh07zxDYLrWyH3tzx3ysyznQLZcDt5Vz7JCFtZTflV1-aQ_VfGCIicbtGZCFKg9golTffhLo_68yILoOrw2Cv6jcBzTH3FUJvIcsNFY4BTBJB_PSsrIzVaNlgRo8w2EOkYkp2zQIcfN7H2yVDsfvdOVZkPgv5PGR3ez1OVffs83xXalGk__W3U8gxM9JNFLlHZV_Pd4RMzEXKqr8vtLhVwVVXOox5Q_hd1aG93BVrPeSXpqOhxCFq9W7ts23W7VcwtquF9ruH7FHiWW8YGqyP3p3ADQpUPuAcLv_4aQbteoXH2n7u5mWZoQSNDuz567i0OpmH4iv4tnN_YRmkxFXb340A-P5G9EqDM0MW9eDpd0wDhRVNnVMsg4E5BF0TGDAUmQOD9qoAHOhBKiKVMykiQoyZeDiWTw0MPZCVzFI0chlCJUyxI3rtsMdsfum0Nqf8cI_clwnuMmefx21Ui0Sc8wcCtQuEgeTMVOldNAEo1a3vTysg4bG5Cgn7LIHVTVviqwCMzIyDIDWWfpcGFuLfcrT3Q5FznThtQzh1EaQwjOPeSP7y9yZDwBQBEgdN-V2xbplLmUWozzvz4zjSUC_-FcMBBFob9vq5DATGQSU405PbbwgbnyDDT7B9r7L5igZdNzQbBpk5i0nvpnel2d31fxaTNxTEq5KsMaY2RHj_Ix7KZJfcnZQ8gaksLTTf8SuOiFvvusdyMreWcPwKgcrCPwWxtsYJ-GHXmUQdvqnjUlPJxfhQ6HV3h9tJT8Qn--WF6Fis2MUSNDPrzcq0AVitgkpr0jmi0niziOn4Swt4FmO5NOUlN1K0cIn_IKv13s7jxs5bvCmoSmddkvUoaoUqQfuk8a0NrBHdyZqAt_JiwLvcMr5XkbM-YHcJfonVpOVx4TqRF2kc-VJ5Ykx-6vYuEP54ojRmHEHqqVFKlveoTLfFbYQDD0-wJp_UwDoNkOem04yVFjQd8inWK2vs2PgneG0izh3TDL03oAFgA8fTJEQeuPhBm5ToDYwHvn4axRPkYJ5SFAPLBDTH763YW75ibxNP0PcwqGOHbXr6V5yre93y-2nNirlKm7GKE-sL_YeGE-LEg7Ci37b9eCFSUodPp7qQ48jjOKtXwLXfpBOLsP6cn9RDYlgXDkg1fuhy-LXCifRq0R3fyhdyMnVzUQt6PP3Z4vj1VGvLl2kJw3wjOg1E36TBVyrlxuoNgiczoCCiwLRIUN2g9ZEmaGyIMqY6QSlSSbujPpv9l6sNzg9r29Vwz8kXyb0bCRqX5p5MTa9Tp0zo7vrSfB6_zPanw2H9-UH3UObBJd-_Wc4j5hDyCGVoHO98xw2EaX5_LCGYh7iqYKYH-G0DcaimIFeeevNVtfndfow9bl16JjdCErm5Qj1sj4VXdUq0eiMZsv80GBncggQeIzV8C6BghP-zJWJ-CDQvWXJMzzO-mqVe-WgCH4nxjBICXHA2D-2KwQG_9lW51CkbAWHrPzN2SxZ3Kk60vssrmcXEVRyvMkQ8TZE2Tb2DuIeGW9lH169lxNiQmM1KAK07ywwttHY6N02jjkYJPUErDcTXaW2vmOXOfNcImNFmsBUMoU00nv7rX2n7NbG5OIuY7PZLaGTmmYJfizYXsiEsrI_GrbdkbnngyBFp4m5ZWAPgjoEff3HMWMRLkKRgDNILnyWQCctLobEze1VTXrw4ufBJG2RqJqWbnEN4H3kC0Mv300bubZH9b8wAQCtagxDXUBvUNo6hQmoTeZbR3j9lMxSQaD_BurlEo9wM10XjY1mb2uMEVzDAcTWm-Y0-9-ftULKPgDqUxdHoPxBRMYKCIhCRdYG7KFbmC8wzzrepoqBZP4Oor74O18tki3pvXj8sWP4e1ikka_AFDw7XxFher67ohxxlF8q-LbQ8yT77TwF9qb7sqg-PB6SLjjz4o1S6neGOX-dW-Vc_9sFlxRYxoKgVi1fAOBQmNttFOQ4ahgj3KbqGxyFmfmcljJHqACJ2NXJSIqJfbORjyM1Rycef6FK0Zji3h3XkEzQ6fQpznUrDV_Jldy-ImRa6y5M3wLAN4mfWb8HpPmaSYfIKX5Dg6oMpY0Em14tqFkvmMSp2zDV0-3OsKUkkcEbLVhWruxh7uhJsoRTk1gJI-rkNQQqoTEoyxQkIwlxrk6vd5eArPNwd08rAuNd_nf1RvdbrZoSrFabyqnMFEe81YuyTGqd8lg2_CW1grp7qFC4f6wvOyT_HwOE5lI9GOEl1tT5qMcA0xUnbMCsFyR2rjBPoIBzbdxFyVA-CNneHmoTBLC5H5iYQ2fnPx0pvQCS1tMtN3lgOnAtaNchdTjOjlN-abrkgUH6sSZ8jXJemjTRGeg-KFfas4TH1DWRzmVaAoqqlfSIIb4Z3ycVUaFsNy2lTPv6XjxRLaCX6XqsAB_N1PQsUaGeylZn-_KArobf2d0ZBKy2NNyTKfD9y7vOfCLeegktrUBcJXT6A9ZDkadt7Qo7mIxXujWUO_qPbGZaI61lOc5wgR6iot2heekBM4z1wepaZQW9Qucd3tfnDGNpYpeEGRQyfzFqJ2uNSpXRcsYtMK8KWZTqP9YvCMkDnYMhukYdeH6GUyXPDHCmrwmnS-MIND-wrXaFG_qMBTwCc2SGaAxl_L4tCo5rjW90y6cgvemH8CIvIhdu1ZlB0Yc2K8uMdVlS2s49yiFplAUqOKUwDZUiX9lrroqF8nctL07nnl0voV7Ido8h-7qdLTzetzMNelBYq2-bUqbMkKnlmFjIwSf2ZEQvSHc3wHyeCamdBygjBEdgWR7kK7U63PydJE9HH6PCgS7NaMLVomz8onoJpEyPFsj74NtiddM_NntQZPCHYp-FpXkzg4zv_1bReaqE782RHluDKZbQgb8ejaUvqCPzZd1f0DlBzx2-J3zv_CfUOzrN-ao9M2CWV5k9cy-oOFRZJD5j1DkooHe00nLcGOZumycmthI-DpGXl92BoGlknFJTAlbwGhwm8rMA9u12v8vE26KoFVFGbUcfhE82MSMQ4rn5vxoMNeODp_eY8DtY0jJ_-mOZQy93gay9tpFcdrPaS9tXsG0FSl5uuGFlJnkh73pyM_ms4oLRJZl-p5fcAihRbiWaq4w2VPzVg7a0SfqULqY9BjQHFyYx55PImW1PhUz2Phd9-cl_8r9Jv6BQ1QiAj9b2wmlBlEJGhJnaWZOoauVroONwGhIj6dclBwRmLklgB-_7UeUzvMp00y71Fh4AQZU1Yov82-BmTBIhSSc5S4xxDogcQvkXUOhlw4M67sH6ym7AWjNdY_RNljToAU_UdHHmgQlAptRb27hZvUkpK3bsHD9uTlQ32oiea6Y-LcdPnowz4fdqEQUqkuvFdO_dB4aECbzeHk9VNxXYIyiuMFO-EVkheB2qRjZYqaldXX_MpkPtJhsdyV80FON8QZKcdJNcioWizdmftZRcmngi0zzBLPcozBmt84injamCOLXai4OzhpvscW6GKLFzovhlyvNzZn1fAMYCFFGWXA_yvfuTdt-8LCMRxQXA70lOHF8LsTTJMD8V5iPR2H3MuurRBzTh09jDF9NSFYAsaJZlGOmjL7sm3z9r6dlN1b2ZwCUcfT7yeNBFAqiEf_Okn-tTymqTMdi21a5gSD8w64R2TwfvVM0gI2Tuvsgw0dk6z9xYwbuqUbVI6oLxmX-QxAmD5O35nisOPUIWvg8piqoHRuGr2TBHHz6-WMlv947S_MHkDa57VHnC6qHDnKZh2Au4U3PJhaTMO-6NpkF7ott5PLCmkNzHUzl0a92zOaDwL_gZMvRH2AF3RegVwzS2AhI1iDHyTk2iXG1Cl3aZCAj_i9lZ0s4BhH5j0wNJAvPF03zEsUfBCknGT_jdJgvat5TFWKOOtKC_7-MVc9toslMxa6IAVWIxjS6qlRYs5NSDTeZUItPOWvSWCS_ttwCmsDK48MWAiBX43FcweOyhHEuqgDJbOMzhpHqTzNRtWusBlLU_-TO4bhZybf2Iti5kZpocIBw9oDP0dqpStTYVv_LshUkI2Z6C8DquwkjK5ojh6lFnpCSwXpekgbatBnxCWlvqjMwINvXITf5ZdyYgURfaGc6uTycWLRTfOmspa46KGRJEKvMafCWUC1SqYkfMzg4xa_T7TaArEv7hkeKG_itXekZsa8XBG_EtiRKNB60KwKn-2B0q8EyMwW6M77rVn6VdQw2aw-fmtlVhb17z87ouD3X9m3QMEMW1zMqruFSINRm_X1KiTF1DYXMJOlwLcoWNxJvK8X9Rm2W2TyuDwLEVI5zW0JoWEUB0XgTod1CZP7VFOBUkYUAnK2AdAVX4MuxEKgpxsqv_Ao3uwAon2p0sKCiPoDW_nyGW-mL2UvZr_XY2zBtfsfoxS_c-4TJYZjZ7DvJ1k92ZoX2vZG6syDLTMrsGhRcARnThL40hUVzBBOEwTX621Qg5uehW9KSCEz0jQnaimSXb-0taZA6_y8A15rH7zm4z7mN7FoVyxBLAYyJ3tILIdQRC0nwrSfxNWdU7WrI_j7fTwCaVMszmxsADwda-GKTeyOX96pUhOT26w9Pvmppm_BJ_7VPmPsiU1TAZRHJ6yFcV_STotEI_quCOgh1hHyg2O4cDb1TXjHp6gpiFhOfCWOBcfW0bT5_6AyaRmOucp8cyqX1x2hpCcKwmNv9M3yVXNllNY7smh2mv7qCGQz24G9fARE7LeTfP61V_quHBcTDAOdXja_LGSDLZKIHWzKi5d0YKPvbebWogbyl3d6I6lJ34BtPDik1dr6oFRAJ16I9Vu9izYtXBURTZ5UfbuSHp_y4zSyDgcteVOHekbqjPlMFJ21kuwY0DgvZtrKOnt2CNPQBgLUH9KEuQ9lQpTUMd06rgh0x9n_Ny6EiKZ6-tG-g6SkaPmAt63k0rZHNZ30qQs00-2Rf1y8PAyjSvCpny1p6GWUTKy1FYPfsTh52opV6GieDJhdD__4UUUPPE_Swg1FjbFLBe-G1jieWKduiJsugtXWRel_n2JwemNFWf-Y2KKnSkko-BoYAw1oUCLhQqeIh_8-w8vI4Jw66u2OicSrcJh0u2co_bfyREFdvgOTkrI77d0lhMtbfZ_G2i_hQ7DOMuDhuWdCdKYPNszgjW_h0Y5ZPwXhB0U5JAdtpaBBQ-GGRxJ1Upi5XBbOkQf0BvfkcnNnW4mkMwkSvCQ-XDfwANCJTrR-r7sMblAGy_-7jtIljyHQtyC_a6E0g_qurNna5ok1a9CyiWYj4ai5F_yV2epFKNR-yrNaDlmcSne1uK9S6O3DJjqJgoCCt6o0lVVNWayRZG7CR43bjeRm1UvVf9c9NoDKu759u2FO7KEDZx6Eh9k4IB8tKAhmcgafjJpP8MV8LbFUQpu6iPTLhjs71GTKHZlJRobc4iA8cTQ8aqiz_Ke8sQaaW_l3VAEadBxH4Rl6HpN3kQ4AyYG-opfUzn8wAhRW25ai6NWiTEBDWywipxdCVFLT72Hn7zoe_6TlVO-pO9W0EU92xHsuKmeUgb1jgzASqjv9qyPiGMz8REpE9I-241QEgktiTsWwJ6jyU1yGkF6dHncbOmUvaHg5UJRTnbx___WJB1NPyBv1erEla8v0x0it6Iz-ODYn5VT969tBZQveZsFZkzyzes8NI77Sa9uq3BLYNodyUpr477SFi5oU4f5Zr8XtofGXziDHtIXktd-jDYcO2TI_Jz16gbJUzHUSOQ69599u4jChCh81OxhuToOIb_2MLs2ycbfecLzZo6A5nGKH1FP-99kFKFMJM2dff92x8PHJXVChN-BLFHz5gZvYkPJfzRaXPxVafcyBliCE7RvBN9Vh9bSIdw3Qa9AfzcViBI7zrJuuy30P7jMCqQXXovxz0lLRfbjoOQ6qC-VlhaFqx78v7yi4sfP-Nop0ZLlij4ffjPhp5iUkXsG5GnI57L0TouOmXULBcbpcVClBSd2qnRDndzeobpjQglzqRiCehCayY_XnTv04edAjkw2klNld0pRo_mHOaK2qy2yi_m5EiZyUD4L0CdvK3un9eaith2IyLAAiLRuLu9Gk0VsGpIsV4oogHNI__ax-rat3JQiUig0ZH2NIauVJtv1Po8QcYI8GX7FiZEpfu0mk0aM-FKGr5w0iIuC_TVT_iaMLpMKobCVR2kjAhbtgCf7X8_4dz4S-G8zYhmOy-_gQUkydE7SeJqNyZ2B4kf11TvdDm7La1wO_p8a7cZQgQP3Wdbe1mFVHfBzm_mkvZK8vGE8SeYrw4S2iXAL1FkFC4nIneBF0y0DB6e1cjOsTDAxEny30alNOmiZmdFjOtlzLoXbF7e93Br-XW3BeJV04p2AnucsZR0XiHhHzVKxWso8-VNxfUxKD4oXK1Btid93nAC55YDMZ4evr88ucH_BS9SSKl_tFhO2TtRv1UDK8S3Ep5mly5k4D17drzSJHGUF47INhtBpxtZJZF2Rrq2wtZ-tnCga8u19vXj0RfVorygQW2yGncobWOTFZ6rPBHhI78r-kG2sQDJ9MnJGUOBd8sPd9FlvqAVqxvbjP0VlrX2z4prHH7C0F9LW_9d8a7YDSs45I9N9kSLGiSmCGj4JCXaNxLvZByLSCBpDFCfBc-Yo9MOXtw08GcapfSzbmN6w1wzatdxmk_D0IGpk1eJYYtIKZ7gR6Ca4YCXUdLwLv83MJvDotQQaAgcpEOEkTDJiivlIVXTUonGglfSGI5ZRPeLCUM00WpqOp2dhaa9Jw0sI1rD-kpRQh3UL2sTumaQsXTlLkJW8jlmGG09gF1t_9nP155VwpERIww8ZjFy0nsMu2_lPuz_1Pej7U4etpfuE9SQb6JpwguDw6fvX3H47BKa08kzjpGEHIH3Pdi4qRo6CSzQ9kYJAgQq-n0zQFgkVESglDLHSFVEFjRFbJZMltkXm-nFPSKkLNQd7f0diMbZe_0ZD1JvRv1Gbqf0cVLue8ktU5p9xuB-C5qpVwIqYqPXbkV-1Y8lh1jThls4o9X6lV34cGgmBaSoNPOqrm_qO80T8fldS8X5pn21KFf6wtbeM79uCrbbK4kAHOOIkDV6yJT59QergxzIaHsLCJg-74njbqx8u3C4lCz1vkr-qumrrclZtGxObE-Qhz5dhMZuMS-ByElUG0NovNSKVJPITnY64dkc3zxoy0xqaX6ySziuRNFJPpi-CLMFxBqz7XDEA6u-vGVj-w04Fp3HeTzal9v9D_WfuCasUxmSxk13Tmbw8fbd7gPbfR5O1rJE1a0dZVvluikINS4TUMh5EQfMcM9rHwbMzLaKp7mSOd8V31qltAFir-J-firjE4hWfcC9XQw0qIexOB06Sy5h_pu3p5u7TJaZWrppeF-STRykWEbZvTBHWxAEA42GXnoJekOZY9GzTN0brFvhaWVlQJtoIKZDIJYqQke07OrexLo-6ly52zTNbZLrwMCnTCMWdrHmTaXOZs4m55fga_kpdmtJKzPP6Vq3IGEd8msEdUuMwAWfawXHb-UsnnEwkDK-FfpsUjajqxJi460aZzdr0y2F1LUPMmq_lpLE4YkuScXuoVvM3qDgG_F_erNt8_kiEBU8Srru2Af2qu_ZqD25NMlwRRdz4HqKt7pGCwcIDGPB1oK8EbfTaWsJQAMhhY8h6vpbBp9BTfEDWXVI6st3y3DDfwgdiDQAnVstt5D5ZGamZwtvPiPMEy0cJ8b_7Lmn7OqROb8-r7ItvyLx5nPZE_rSz8GEclKillokiLPmKY-v4b1ITWovSKF23MN1emi-u5Ig4NPMulbfzLW-fUHESciwLlnrwleYpDDbwvffxn2u2_O5dzPjNVCgyc-ngEwYV1m5diwd10i5WPYBZRVixSP4rHqt3wYxKrprqE7JflkIYY7LX3gjB1l4yS6DpVBKC_tv8SyJmwo7BPGC34n-Hx1Q5LGaMzo96amc3niw0Ww-i2i5wINLL6r_HfGRhCmQL15v2qUNw_9c_10UGsHd-HJkiglaH5XoJ6jOMDvfcfQDCPbDutaI0kRbIhLGTt0wK_qQJorWjhqyLdTo_xk1npTeSV-skdMYJLZ1zTN50Kjq7OXmHQj14QTy-e62srhbtFxIJDoQA0SMwdzGYaUpZffjMeuJpf1wY0mxN10VaPwgmaRnbV4uQWVhmeA7yglbdxbXUXTFOGhpNqDdNqViuUHjmLj0kOlO6BO8FCt4PtKd3Z4OtORgpm-5K7A6cAy4wwC6FpewIP9BUO0CoszPT6xrr0tY7Gwm1ZT1M3uwTw2vB730BHoyUfkYoBYP_Hgswe2ses7xC8pY5FGZaIEXQFNKE3mromaRWtyVoyqVixEKR-KJjkOjYWBUFu6KRGpnoVuRR0hayK9s1vmMs0AW8xQrINdlWR8-VaLHBGvio-M74akfBhmiwC7PxxOZ2zPYF6zj_ElmYKKmE4rHJJEbN2IxRE1vzpdBg8JcxRkbkR-VNuexsOcCQihyyf9h76NXZj3m2ir4g_6e3fQGga7L-R7Zkp4caH71eZ0vgpGyV65KrDNCccczQAxvUqVzQmVTAQwogCdnjZ3J1V2jJBnBiY2Z7FvjTCKpP-t6G8_u4wJW-V1r7weEKSLy36c8ZXm-iPVPNDS1x2kKGfKl2qWQGd_mrNFGxRbkJitFLX448MxGiUiUCQj0gWYACpSP9W0j1s3JyXFmNA-9W78AhXTIOOM8XSeFKhaLoyzQhnh2g3rXVvuTx7HQgffolvHlOmCTUCju-aNcZiCDU29t7IEfoxkWFlPeD0jqJ1HGxjpz6CMtL4ch8Bz8Qpj1jq3DIlFcV45MSr3mXbumygBNgBo_ZxyOOJ8P7sN7AHqMzvIuLR5SWRlevYN7i18uZeVc1cpipCxEgdEzIsfdC-_BhppXv_KwsW4QZOrvS5fwk_tW3NhcQMWd7O1wfJjTMrHiHIyvLrD0c8FzP3msVbYVtmvQqy8hE2a2_tIqa5bNx90tWOIHI-D7xEL-nQKBcTJbEHyhD0N201P9mQY80mKFHXjEUYo1i8tHGo2GZECLm2sDIFigS0g5JCq3LBcpl-7E4-cQYVfGQGhr511kIzpoDiAMcvNcE8aA5uxkQzh2qF0J3dritZaT91R1Ru_9d2KI7t0HS7k5J3wB2ma2pQTOhLzPmwG_sYSd5Yb23euAI5IG_AavkRJAzjLfFnEn7D0deZNO1cgNhY6oxt1o-BFCd6YLdMhntBRaC7nqFzN8miLvTWtAi2diibOkXtXYfIHw_exry2OceXOve7iQrZ4e04JRfAaeoQa-xkmIxZRjvtvwG1yNNuGqPwfsyln39tHLwLg5loE-4dTVJ7jspBXh4_Oi1InMZOoDZwVko5KLBEpuqkeli1LkSn3TkE5uQURxzW8tVAlVcIQfU13XMmlAWUmygNzGW8ZSIWd0NCbG4uOOCBFxLQGh6se5VzDZ8vJVsTKfplpHrXq3GRCiavETWhCW-VObFkQPfT6sW-NXQiLNGBnr7tZTIiT-b1pNrDnJaoCO6L-24WfuQDlZueP6tCHmF5sUpqxFHYv1-z42kMTs8ue8Tq3KdYC4i80MmiHtX01JROJSWf00ACDDgjUIuBpT2uMc-iJg2OQq-szO8lTA12SMH3pecx_3Nht1RObDSlungK0Hhu5HfNBCqhhbfYY0yn5pTGTb6YkbVrs2-JYADvxmJxWUZeB5PQEUYLfh6zpFFWCe6_-Trizx8ne8arTbUEpcwiM4jxFjcFW1-lbQWO-hla3DBLfu_cm46m6YezAn-ZRKSaASNB7VKSbyal8rBcxBFDyPM9jONKUYtT0dUS-tqiSJu2lnC0ws8u71qQRTQvVSXyF724KuMyt5XaYLPF6YbjCxJ4h_3hVo-jIZ9LsHz9kYhybUjwyV5SR_knovryfFQ0ugE1necz1kYK4Y7axmt0CTIkhl-9kFavQXvUHotUxq5eojfqXck2opssZL72wqOsL-U2DazIGpocMcozNJU7SO69qabgT6VreuuWA0eQyUO8QTJzQPLXoHYqyUGQGCFStoFinoKI-QJt21kh4KQGzKNi3j9oQBlfo707gO2Xu_-RKc9WsdjV0O3Ei_-YalEinM9qmxVxjTrRD90FLuinY0obPwa7pxizI0sprHl3vG8CU69QM3w9ZYNk5i-_JB8Mb5Zeiu135TjKGXXMqv7o2OvDoCz8mHtXGGgiqx0NTQ0fu93CEaxf0FEOKEWnsE7l-sfLo58vIMBQmztbTOFpYTCa9UvmCHV670vd10j_qxN_jB_GudpyfV4p4dKhvT8f3Ddu_WK0Q359ZQ3qDa3M6eqitlkk77UrUxjyI7-0X7HJWsQGJJLZ1-FRlWnNhqUC8Hc_X9Gn58a-12CDJ3daZlrdunEgWgNhapzSYeBR9BnmNC9eCK2YZP_SDpE65zvLJCiPa9KAGceonzYjWfY9f_duIiWy97AopzKcRVUKGbEHlfVqljwEmB6Xfmv0uC4SGKkRN43MaPlV01vvkd6Jg8BjjcO1pJ9FTxa_-XUQ5UccOe0af9wMBh1KQJBpfIgSEtPkxnfeWs6NDf1JbxI4GL2WW_IdlIqvvU-pqNDxlPihGqJcalVJhpAv73JKIBis8BTVi_uAjGm0WvVCeOx1CEbBxhSidxXs5zbx6-zSeKPs1Tw_EobtcjKjsuap12geNfJa0TEPN0P1fmLKjYRv0fuNleo12rf14YbIlFXl_BiVFhoEuGu6PrbkCC8IbgzfjS6RUey2uc2QQRqsco6OReqAKmZ9jATZg3OYiRX93iSy8b0u-jkWfBEE1hySeGz4bssKZ4lKJsjQDkW0Y4Xi413tm2imW3_EOtpeDUWZp6ODkx2ahG9LDHVpq-_eFJuGLaiIJrnbCnrcwoQ9-RP6EvowsRzzXOY5yWpX2gBUvmj3C-n-O66tNiUDrSr-MYLonT3rKec0zqriEL1AL0Nm7_fsuNU_P50sWKqoW1tM4Ju7cBlhi7KbAYlSQ4Xcy7R1ZBk-ejMuJqIXVc4xqcLAHpxZmTeatQfMoUZ-O7nCBDd8LkC9fkpCQ26iUjV7hnJVDE2zzcXasEhB_X_NkPwS7fszC0qOY-2YyTp-OQkUaz9P4oqwG10YqbhxFx9g26mjn8BK4TqkoeRU8e9JknOLUEIVhV_IvxXT-p6CcWGS31Vi767Y4zDlHHNOTUgbE0dvy7WWDfGMb8mV6bfMDlKNCY7T_1HFLG4ufmBfoc9k1v_8EnvAnjdchGUfpRkxShNX-a9PCUd3-keLYhd3OMG8WKZTOPJzgQHPGawYZBvlKOqGO4W55rMT48WQDmUMFXd8y-B1XYzVZ9jNlccw6PMHp7O5hUGxsuXN513JK0dnzV8X0RoiqlQl3fpI4Kn8NdB8PCHlkxI96OiIc8ijEfqbQyEFw49lbWVs79Z0wsEGz4pByDnNZcVc1eSM2gYb4HmPFgQHrILUMl9Uv7jxkNiM8ap4SlvhU7RHVDxfMch689eZ8WXuQXWUVWosqZ4tAgm1hk12P97lIiujW9AjfQdw-vm9RyQv8YH2yU74xLUW4UV5RpobMefcvpvB44QcQ7PRg9AWPyqlj9tGptkbvfy_By_6Tmwn8LcEusv8K1sKQaGR5B76l9Gm0cY6AP7yFO6oHvvPIkwk5j4YKrNJdYIqkE_vXVGiJRmNtlWknKhWR89DRW5s4P_0jEsnzWs1-SIuzc1XP0WgTfCnQM-imiqRXNO1U-xMu7hQDCo9sqIJtRWxckWdW_S0fesSCSHr6y9ACdkvUxd8qfClRnw01n6z_S62tGVzFDAyroGO1N4yUiRpvyhz9Q-Do0ymZ95yhaKB5q8QdzUEB9J9VL2d3n-87EoNttgNxMXZyAOrOO1paoaBHVpz4HGWqzsqHYoja6JCTZwFzBZw3EJN8AERHVHIxEeLe-0yNE8oqIq64vtkQlxUiybszVtYHYC2GWSna2r1O6LgBEu5je6OpR6LvbIhuGtcOQG42u6vQ2sSAu7RF2uka-Q7DDAejPsMS8ut2EdI6nmQl3xOa5TxVTf6r_63b-bj29Bezj09XEmaiX9tzZzqWAcrCQO1sUGkuyRV9NK1LnOpQaEUVQjxcYJNvYuQlQw_7GV6JSGtQNLSUD_uT8VAX-4ff_02FayEKBZ8fJeCI7MJ_mT7BBffZ8z-3VAT4EVfJJe3gX166CjAJTA2lvOJosYn4wiQO_-ZPYCl4U9Mm19Se0wIBZBbwn-rBGQb_Q97BewmVv_a9UEJsu0tA4l70qyAs7H1s7ear7B-wKT1TpzgoL31blMOIvo2f3BL32cKiIy8QyGLadBGXKMB9CTZK1mJrgTUsilD3QG-FcgwakweMmn7gcmNbPvZKrdmrzpu7lpC-ORpHwhz73fLJd9T1k0Db5QmiQzwZQj71UZS4TR40SvJZtM26CzIDp-ZgqD1FL8--WTHUEToxlEfrVqxxFwJ9rHQs0oLtEuijLePqDTkkAetoG_-EQXSyl1e0MNIwOeKMgx2WFFwirHFjAzMaOqHzSSMHKlZgTrBGKJ6NmnzgL4NUWBElzcfjiy2HoDrlFP3X_Ilq6CzTgjNI3NgdcJXOV31ePxRvd8nuWPrYyu9U3d9P5Tq5WnIxNcPDtYBdHhksNS72mJEmsVPqI93gZzDhpDFw8EIZjscyumgbBl0b22CBOslqSkTR17skxXgGNRR_3AlhoDIg_UsYP4AZwoAwurgbt6Fzk6Ro_dg2ZixkYmwEKfQTHgXLZs3LMO1FDxvuDwF-sRZer7GUacWahAw8r0YQg0RIOwU5UYV2tYKU_5H_Db_xA56SJ7pNc8lGLQnxawuAidYwOjjqMwhO63_vF_mm6lgzpCn1pANtpVEqN6oEj2F1aMaLUcpoXGWXffixjRZeJzgLKjpeNkFCv7A1X9nwe8utuJDUo437YlDJ-JRDmCZBs1N9TcFMketbx00T-sBIMeQHqpujGPd7UuDgRrfAMCSB84QWZDaGi9sn0oOvWGpkzhERkJ4FHSQ9GB0rbS--aEtZdjlBsmU-8PaquwdIUQ8Sr9vI4hEY-Q9116o4F5fcTxB7KkcgwUAPvbMdfmSyx2hyvuHIQBe1cUHGZDhof1kZ47Wtmx9MeuJnkdlf8fEKiDKS-TAaZjY03kDFTqBf6WnYn7DA2N_ysCE_GODM0wuRlG_6xsiqNs6WPPq2jZR84AahIJi5nhJI7i4FsWWlYHq_E-ojeCerP9TX-33yx2feKThWXrmFfPA2xAfxHX_Jf2YseJXvv3Nlj4WYx2bpfF6n-R2Ybc4HMfYjEwhpLdvBrO1z_8t-6PddEsB4Ymb34x06cpNTu2iXYeNJjlP3UWSvi3oAgQRSEA1F0yvUrdeiiDWgJGTElZriH3aXv-sHWmP4S_hktv4UZ8F8Q5lfJRltBt65oy2j7ihzDI0Wy2jnBMCRSMse7UZYvQqr7-Mro8ubcGUzMnq4E-f9r5XLucKgtSYV2BbiMOPd7QZWojg0Cbgs2mrvp3N4fyF4Jf4ACo-psZMXL83g3JT-9KZsXGTjKvmDbmKpN8dIE9ow-oHpoZM4SxRCy2p-ddkeA-VDFwcmSoLwmAwAJBkbfXe_aUoShbwVTBfMunokjigziSbY5xoLjmtnptCD7i-HQ39OivN13bjIf3XbeBvMUOd_7KjzZ0peuPRDLEBz6Hod2m709cLcB3o7scXuwCO_6BnIVu56EYdyvJX-rr1rVQ6ttS_TcfrLejlMgbCbuIWIaYCXOsz6HSZ4Gg3uX64behlf7y6P_wXprXep6PTQRcWX5G9ylp8xAzboswcXFe5dD_2twymiR4I1IiH7u7ZNv82ZptHjDPOLCdEgSYai4yVxZ41I68ZUmP7YsluMfSEnejQl0TdvoR20EU_8jiO2OfJt9es1_VpsN6hVE_n4KuK75_Lt-8wWoDHcN0OKAPV9GVMuGPIOlSDctUsKL1YMBceKELejBuQiK-djMB4Vvi_McYV4DcDCnZhKka_SK0cahT8AlhjKMQupcF2ShCAGnyMC2k9Bo4V1wV2Iet4dxKwLyAzwjybXf2dZe3EH56IUt7E7n5YsxbDLkH6sE6j1jg3ClhNdIP_JlEhQsrqX9x9otwHaNEkVIx4_ovwzR7q6GFNDf75xxMy8O2u7t771cKe5hNsSQ3ojxCoA9LQubo1rra20HkJ0fm1-HzseZuyXUW-hle_ZsJCSs92rjTckks3qL_v4g7gTJBWRk_e5f7xGdtARqFpGB5Oc9mfPXNxUVTt-z7pwexBVTvqK-jYPekSt53YIDxW9oMorjU9x8v-LQbIJ0UXKHR8N2N4fnA-gvp3rlrhcFgdOO6JiWH1RsBKv4HNc8tbEWkPbsACSx0Ch0MSV3vcwajuXxiDD6A_4wcKCNwMBV4Kjy2RmZSd3glm_9Jr2dlQtn6F_vOSMfT4Gq8WLn9XaVE6WlZ_vZ2AI_6f3t6tVuUDPaly4D_-TI0iBmykrzq7hMAg8R5mZjglKtBw1Nmzzg4O6LnoYcMNVA45DWbVeeQ4nC2QpSfyLc2dBvvQoNt82HkpHYrpg3rFt-d_Qqj3R9KV_FOyPpn88RAnYtxZ0vt2iWogqHaHNeU336HkdlcxLTRHQk65_69cZh-nXzs0MXyWRS0IhHq-jUe2hOd0TBWoBcYo1-YwW0-H5iy3moCBu2soQWPLcS8qVs_LhS1fcwk_Tx4ItUSe5X6ND6ZonZpFWCz5tYV42KdQybbiaiqdYBCXMg9uCFAMZBKihuJ0lkqSFO8J7yKywNB9snPXYO7yWpINYI4Nu44iGTkeLVoKbNq30kjlQSwlZ9paYjka-qtj-1YX77PU3XnGCw-YoGzNdGHWQBsPCK0a4V_uld8LcginDcbYkIVBvUpFEPCiP-Um0Gh_4l4_rjlxReRfaQh4c6oh5mRYVkXFcac5SfefXqtcDMNbVAhkCVRw4VVXTP_mIgLuw0LC_zu8FHA6g12m_13WyZ4G3mE2K3L8jSiN_0PG0hQ0Jk2QTf00dA2ass5pMuiNgdnLTcMikqhj_adqkDpNOp_mjNFZ3KXWNrlIJUpSC2kSSngeWdsWT3yeezW0GBBu5cPgqvZI-ESOqBDAm_S9Sd91wp7fubCtBbxPng059ta_LQFZsSJoRaDPOnNJ3_Y-gYTtyoWwaZ0-20ZyOtr4wNSI0y9L9norlATN7Q4dxFECuJiKy4ld_K6mz6orlH_AG3ZmgPFLtwHC3ihomS72hZwsKt6hZ9PLNbKLbcApJLaNKZ-WSTG2jUeneCHousGjeOptr47UUReuMFZtD0XsbjiqsgKDNvFyuQinoUM3Tgn3NObbvkpsebb_tpJBp9i3H60pn8oq5srNydjueXcBqFOiuqKBFucIhXHPjpAfxTx2jm1t76X8D_F4IhKueNCS16ozobs0kvQb8KpALCp4bCTTBPuvOJZ_1S1y-0hMfCc3bK5FUHVQh5WG7khz2s1NoWOiCaHvGK9dZzyLgFclrhMCocN6QmgKx791THAaXa0RR5IS-h5aozrFdcwjAL9yki2tX0VIeByev93FMhaRrWury28DuE_jH-f5cGLgS0_H9yNZAWLcCJNz9jWZZPv8dyKgjxja-bWGwJtkytMUSHgRfIcjPRWX2SqLSyEqmh97TtrjTzVuNAzP9jhK2cU27T8XGCUY0mAorMsPqXz47IfcPyT7x45yQqp5zIp58vgNLPTZ_6QmN0Xh19-FHs0TsmlAzFheIgidDXPUoOg_DIEO9BQCoUTqQWmayCe2PNQwcg89gKz_V2AkccowUVpp0OOeHhcWzw_c_QDstRq436GLvo8uqAH2-YYof0UsQETSJyWOgdXKI8mhzeesirxw39gHlDt9wCoVVpifhX-hQbU2Z-qZL8hM3vVaxvFOktiwDiXJbyC1HQzUhZTGZ3XJFGkq8jBXzb5BifzKHhAIMPwyYU5FSSf9dICYBogLwZjcpTOXldYVqUgvrxQNtyUPp7GFnKbM2YY5Z8KF0Ty7sQfcfcoCWL07xy9VOeN0SwUXB7PQ8nI3y1QSww_bk0FvHOJQUIyjakg96GQ7ZFdV4F3WmvB1utcCURtAHdUiTm4Aj3_WcoAMCQWEAHPYgaV-INykQSKP0mFzWk7GOqAm_5qo-hOs4-14KfIC0JNOBLIpXu8vyQMARQ5B2WJgvG_Yt2mpfX1JkfFcKCdQYlUlxZJVN6vB20W7CsVBqHOeVo6mjrulHD9yjJooNmlnaZPY5sE--iswxU1SY7eWj9jECwI8J_s2GNEy9CBTzpwqFIYZQBTFGA5FmD2VrhXJlOvO7vuDsSIVhBQG1SSO9485Sj2Q6xKfPcB5YAUcICC5mUb4aGqSQqJFTgmdsXIre7Y2Uu478SCG3vBAECb37GO_gKGhf8bLIFGbbR23h_obyJEJaE3XWakiEh5Tj54NGg";if(!e)return null;if(Et&&Et.sealed===e)return Et;let t=null;try{t=ar.parse(JSON.parse(tn(e,tm)))}catch{t=null}return Et={sealed:e,bundle:t},Et}function nn(){let e=mi();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=lr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function rm(){let e=mi();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>X(t.slug))),e.keys):null}function rn(e,t=!1){if(t||!e||e.length===0){let n=rm();return n?new Set(n):null}return new Set(e.map(n=>nm.test(n)?n:X(n)))}var pi=null;function cr(e){pi=e}async function sm(e,t){let n=await io();if(n.size>0)return rt(e,n.values(),t,n);let r=nn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var om=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,im=2048,am=8192,lm=32*1024;function cm(e,t,n){let r=Vt(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 oe(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
+ `)?`
73
+ `:"";return Kt((s?r.slice(0,-1):r).split(`
74
+ `)).join(`
75
+ `)+s}async function sn(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=ze(Go(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&om.test(nr(c)??c)),f=zo(a??pi??sm),d=null;for(let P of Jo(e))if(d=await f(P,n),d)break;!d&&s>=im&&!er.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=tr(e.startsWith("bash-tool: ")?e.slice(11):e),h=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(ze(m)),_=o==null&&(h?/^(?:fatal|error):/im.test(oe(t)):Uo(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
+ `)?t.slice(0,-1):t).split(`
77
+ `).length<=60,R=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(ze(m)),E=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,O=d?.slug==="read-tool"&&s<lm;if(!i&&(E||O||R||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||_,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||_)&&si.test(c)){let P=ai(t,l.verbosity??"normal"),B=P===null?s:Buffer.byteLength(P,"utf8");if(P!==null&&B<s)return{output:P,filterId:d.slug,rawBytes:s,filteredBytes:B,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||_)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||_,...i?{droppedTail:null}:{}};let C=P=>{if(!i)return P;let B=P.filteredBytes>s||s>0&&P.output.length===0?t:P.output,de=!P.debugBypass&&!d?.preserve_exact?or(B,"minimal",P.filterId??""):B,ut=rr(de)===de?de:rr(B);return{...P,output:ut,filteredBytes:Buffer.byteLength(ut,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!_&&!Qo(e)){let P=ei(t);if(P!==null)return C({output:P,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(P,"utf8"),debugBypass:!1,droppedTail:null})}if(u||_){let P=i?Vt(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?cm(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?oe(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(P=Xo(P)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(P)&&/^={3,} FAILURES ={3,}\r?$/m.test(P)&&(P=P.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let B=!i&&!d.preserve_exact&&s>=am?So(P.split(`
78
+ `)).join(`
79
+ `):P,de=B.length<P.length;return C({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(B,"utf8"),debugBypass:!0,...de?{droppedTail:t}:{}})}let{text:N,droppedTail:D}=Yn(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),F=!i&&!d.preserve_exact?or(N,l.verbosity,d.slug):N,ve=Buffer.byteLength(F,"utf8");return t.trim().length>0&&ve>=s?C({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):C({output:F,filterId:d.slug,rawBytes:s,filteredBytes:ve,debugBypass:!1,droppedTail:D})}function um(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function hi(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>um())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function gi(e,t=Date.now()){return e.plan}var fm=[[/(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]"]];function Tt(e){let t=e;for(let[n,r]of fm)t=t.replace(n,r);return t}import{join as _i}from"node:path";import{appendFileSync as ym,chmodSync as km,existsSync as bm,mkdirSync as _m,readFileSync as M_,renameSync as F_,rmdirSync as L_,statSync as xm,unlinkSync as j_,utimesSync as H_,writeFileSync as B_}from"node:fs";import{createHash as f_,randomUUID as dm}from"node:crypto";import{readFile as yi,writeFile as ki,mkdir as mm}from"node:fs/promises";async function ur(){try{let n=(await yi(xt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await mm(T(),{recursive:!0});let e=dm();try{return await ki(xt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await yi(xt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await ki(xt(),e,{mode:384}),e}}import{readFile as pm,writeFile as g_,mkdir as y_,chmod as k_,rm as b_,rename as __,readdir as x_}from"node:fs/promises";import{join as hm}from"node:path";var gm="settings-cache.json",bi=kt.parse({}),E_=kt.partial().extend({filters:kt.shape.filters.removeDefault().partial().optional()});async function Ue(){let e=null;try{let t=JSON.parse(await pm(hm(T(),gm),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?kt.parse({...bi,...e}):bi}var wm=512*1024;function xi(){return _i(T(),"spool")}function vm(e){return _i(xi(),`${e}.jsonl`)}function on(e,t){if(St())try{_m(xi(),{recursive:!0,mode:448});let n=vm(e);if(bm(n)&&xm(n).size>=wm)return;ym(n,JSON.stringify(t)+`
80
+ `,{mode:384}),km(n,384)}catch{return}}var Em=/^[a-z0-9][a-z0-9._-]*$/i,Tm=/^[a-z][a-z-]+$/,$m=/^[A-Za-z_][A-Za-z0-9_]*=/,Rm=new Set(["gh","glab","gup","hub","gist"]),Am=/^(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,Cm=24,vi=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"]),Im=new Set([...vi,"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"]),Om=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"])]]),Pm=new Set(["-C","-c"]);function Nm(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 Im.has(n.toLowerCase())?n:""}function Dm(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Pm.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function wi(e){let t=e.toLowerCase();return t.startsWith("git")||Rm.has(t)}function fr(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&$m.test(t[n]??"");)n+=1;let r=Nm(t[n]??"");if(!r||!Em.test(r)||r.length>Cm)return"";let s=Om.get(r.toLowerCase());if(s)return Dm(r.toLowerCase(),s,t.slice(n+1));if(wi(r)||Am.test(r)||Tt(r)!==r)return"";let o=t[n+1];return o&&wi(o)?"":(o&&vi.has(r.toLowerCase())&&Tm.test(o)?`${r} ${o}`:r).slice(0,64)}async function Si(e){if(!e.telemetryOptIn)return;let t=fr(e.cmd),n=t&&Tt(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";on("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}:{}})}async function Ei(e){if(e.plan!=="pro"||Bo(e.filterId)||!(await Ue()).telemetryOptIn)return;let t=fr(e.cmd);!t||Tt(t)!==t||on("learn",{cmd:t,filterId:e.filterId==null?null:X(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as Fm,chmodSync as Lm,mkdirSync as jm,readFileSync as Ii,realpathSync as Hm,renameSync as Oi,rmSync as Pi,statSync as Ni,writeFileSync as dr}from"node:fs";import{basename as $i,dirname as Di,join as an,resolve as Bm,sep as cx}from"node:path";var Mm={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function Ti(e){return e?Mm[e]??"anthropic":"anthropic"}var zm="stats.jsonl",Um="stats-ledger.json",Ri=2*1024*1024,Zm=3e4,Gm=3e4,Jm=new Set(["n","g","e"]),Km=256;function Mi(){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 Vm(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"&&Jm.has(n.o)?{o:n.o}:{}}}catch{return null}}function Wm(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),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function qm(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Ym(e,t){let n=qm(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 Xm(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>Gm){e.ox+=1;return}if(Wm(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Ym(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=Ti(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Qm(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Fi(e){return an(Di(e),Um)}function ep(e){let t=Fi(e),n;try{n=Ii(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]={...Mi(),...i});return s}catch{try{Oi(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Ai(e,t){let n=`${e}.tmp-${process.pid}`;dr(n,t,{mode:384}),Oi(n,e)}function tp(e){try{return dr(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Ni(e).mtimeMs<Zm?!1:(Pi(e,{force:!0}),dr(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function np(e,t=Ri,n=Ri/2){try{if(Ni(e).size<=t)return}catch{return}let r=`${e}.lock`;if(tp(r))try{let s=Ii(e,"utf8").split(`
81
+ `).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=ep(e);for(let c of s.slice(0,o)){let u=Vm(c);if(!u)continue;let f=Qm(u.t),d=a[f]??Mi();Xm(d,u),a[f]=d}let l=s.slice(o);Ai(e,l.length?`${l.join(`
36
82
  `)}
37
- `:""),as(hs(t),JSON.stringify({v:1,days:a}))}catch{return}finally{ds(n,{force:!0})}}var qc=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Yc=new Set(["-u","-g","-n","-s","-k"]),Jc=/^[a-z0-9][a-z0-9._-]*$/i,Xc=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"]),gs=/^[A-Za-z_][A-Za-z0-9_]*=/;function cs(t){return t.length===0||t[0]==="cd"||t.every(e=>gs.test(e))}function Qc(t){let e=[],r="",n=!1,s=null,i=()=>{n&&e.push(r),r="",n=!1};for(let o of t){if(s){o===s?s=null:r+=o;continue}if(o==="'"||o==='"'){s=o,n=!0;continue}if(o===" "||o===" "){i();continue}if(`|;&<>
38
- `.includes(o)){if(i(),cs(e)){e=[];continue}return e}r+=o,n=!0}return i(),cs(e)?[]:e}function ys(t){let e=Qc(t).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),r=0;for(;r<e.length;){let a=e[r];if(gs.test(a)){r+=1;continue}if(qc.has(a)){for(r+=1;r<e.length;){let c=e[r];if(c.startsWith("-")){r+=Yc.has(c)?2:1;continue}if(/^\d+(?:\.\d+)?[smhd]?$/.test(c)){r+=1;continue}break}continue}break}if(r>=e.length)return"";let n=e[r],s=n.includes("/")?n.slice(n.lastIndexOf("/")+1):n,i=e[r+1];return(i&&!i.startsWith("-")&&Jc.test(i)&&Xc.has(s.toLowerCase())?`${s} ${i}`:s).slice(0,24)}function eu(){return ps($(),jc)}function _s(t,e,r=eu(),n=!1,s,i,o){if(!Number.isSafeInteger(t)||!Number.isSafeInteger(e)||t<0||e<0||t+e===0)return;let a=s?`,"h":${JSON.stringify(s)}`:"",c=i?`,"k":${JSON.stringify(i)}`:"",u=o?`,"c":${JSON.stringify(o.slice(0,24))}`:"",l=`{"t":${Math.floor(Date.now()/1e3)},"r":${t},"f":${e}${n?',"m":1':""}${a}${c}${u}}
39
- `;try{Fc($(),{recursive:!0,mode:448}),Mc(r,l,{mode:384}),Lc(r,384),Wc(r)}catch{return}}function bs(t,e,r){let n=r!=null?Math.min(t,r):t,s=r!=null?Math.min(e,r):e;return{raw:n,filtered:s}}import{appendFileSync as tu,mkdirSync as ru,readFileSync as nu,writeFileSync as su,renameSync as iu,statSync as ou,readdirSync as em,rmSync as tm,chmodSync as au}from"node:fs";import{join as vs}from"node:path";var cu=96*1024,uu=500,sm=168*3600*1e3,lu=120;function xs(){return vs($(),"sessions")}function du(t){let e=t.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return vs(xs(),`${e}.jsonl`)}function Es(t,e){try{let r=du(t);ru(xs(),{recursive:!0,mode:448});let n=JSON.stringify({t:e.t??Math.floor(Date.now()/1e3),tool:e.tool,target:e.target.slice(0,lu),...e.fail?{fail:1}:{}});if(tu(r,`${n}
40
- `,{mode:384}),au(r,384),ou(r).size>cu){let s=nu(r,"utf8").split(`
41
- `).filter(a=>a.trim()!==""),i=s.slice(s.length-uu),o=`${r}.tmp-${process.pid}`;su(o,`${i.join(`
83
+ `:""),Ai(Fi(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Pi(r,{force:!0})}}function rp(e){let t=Bm(e),n=t,r="";for(;;){try{return an(Hm(n),r)}catch{}let s=Di(n);if(s===n)return t;r=r?an($i(n),r):$i(n),n=s}}var sp=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),op=new Set(["-u","-g","-n","-s","-k"]),ip=/^[a-z0-9][a-z0-9._-]*$/i,ap=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"]),Li=/^[A-Za-z_][A-Za-z0-9_]*=/;function Ci(e){return e.length===0||e[0]==="cd"||e.every(t=>Li.test(t))}function lp(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(`|;&<>
84
+ `.includes(i)){if(o(),Ci(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ci(t)?[]:t}function ln(e){let t=lp(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Li.test(a)){n+=1;continue}if(sp.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=op.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("-")&&ip.test(o)&&ap.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function cp(){return an(T(),zm)}function ji(e,t,n=cp(),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?rp(a):"",m=d&&d.length<=Km?`,"p":${JSON.stringify(d)}`:"",h=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",_=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${h}${_}}
85
+ `;try{jm(T(),{recursive:!0,mode:448}),Fm(n,g,{mode:384}),Lm(n,384),np(n)}catch{return}}function Hi(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 Bi(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}}import{appendFileSync as up,mkdirSync as fp,readFileSync as dp,writeFileSync as mp,renameSync as pp,statSync as hp,readdirSync as px,rmSync as hx,chmodSync as gp}from"node:fs";import{join as zi}from"node:path";var yp=96*1024,kp=500,kx=168*3600*1e3,bp=120;function Ui(){return zi(T(),"sessions")}function _p(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return zi(Ui(),`${t}.jsonl`)}function Zi(e,t){try{let n=_p(e);fp(Ui(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,bp),...t.fail?{fail:1}:{}});if(up(n,`${r}
86
+ `,{mode:384}),gp(n,384),hp(n).size>yp){let s=dp(n,"utf8").split(`
87
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-kp),i=`${n}.tmp-${process.pid}`;mp(i,`${o.join(`
42
88
  `)}
43
- `,{mode:384}),iu(o,r)}}catch{}}var ws=[{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_VERSION","CURSOR_TRACE_ID"]},{host:"cline",vars:["CLINE_VERSION","CLINE_API_KEY"]},{host:"aider",vars:["AIDER_VERSION","AIDER_MODEL"]},{host:"gemini-cli",vars:["GEMINI_CLI_VERSION","GEMINI_API_KEY"]},{host:"windsurf",vars:["WINDSURF_VERSION","WINDSURF_USER"]},{host:"copilot",vars:["GITHUB_COPILOT_VERSION","COPILOT_INTEGRATION_ID"]}],om=[...ws.map(t=>t.host),"shell"],fu=new Set(["claude-code","codex"]);function ks(t){return null}function Ss(t=process.env){let e=process.platform,r=e==="darwin"||e==="linux"||e==="win32"?e:"other",n=process.arch;for(let s of ws)if(s.vars.some(i=>t[i]))return{host:s.host,source:"env",os:r,arch:n,shimRecommended:!fu.has(s.host)};return{host:"shell",source:"fallback",os:r,arch:n,shimRecommended:!0}}import{delimiter as Ts,join as pu,dirname as lm}from"node:path";function mu(){return pu($(),"shims")}function Rs(){let t=mu(),e={...process.env},r=process.platform==="win32"?"Path":"PATH",s=(e[r]??e.PATH??"").split(Ts).filter(i=>i&&i!==t);return e[r]=s.join(Ts),r==="Path"&&(e.PATH=e[r]),e}import{createConnection as Au}from"node:net";import{spawn as Cu}from"node:child_process";import{existsSync as Ds,openSync as Xt,closeSync as Os,unlinkSync as er,writeFileSync as tr,mkdirSync as rr,readFileSync as Iu,appendFileSync as $u,rmSync as Ou,statSync as Pu}from"node:fs";import{dirname as Du,join as nr}from"node:path";import{fileURLToPath as Nu}from"node:url";var hu=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),gu=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),yu=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),_u=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),gm=h.discriminatedUnion("op",[hu,gu,yu,_u]),ym=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),_m=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),As=h.object({filter:Le.nullable(),cacheHit:h.boolean().optional()}),gt=`
44
- `,bm=64*1024;function qt(t){return JSON.stringify(t)+gt}function*Cs(t){let e=0;for(;;){let r=t.indexOf(gt,e);if(r<0)return;yield t.slice(e,r),e=r+1}}function Qe(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import bu from"node:os";import{join as et}from"node:path";import{existsSync as vu,statSync as xu,lstatSync as Is,unlinkSync as Eu,mkdirSync as wu,chmodSync as ku}from"node:fs";import{createHash as Su}from"node:crypto";var Yt=100;function Tu(t){let e=Su("sha256").update($()).digest("hex").slice(0,8),r=et(bu.tmpdir(),`tkr-${t}-${e}`),n=et(r,"d.sock");if(Buffer.byteLength(n)>Yt)throw new Error("Temporary directory path is too long for IPC");return $s(r,t),n}function Ru(t,e){try{let r=Is(t);return r.isDirectory()&&r.uid===e&&(r.mode&63)===0}catch{return!1}}function $s(t,e){wu(t,{recursive:!0,mode:448});let r=Is(t);if(!r.isDirectory()||r.uid!==e)throw new Error("Unsafe IPC directory");ku(t,448)}function tt(){if(process.platform==="win32")return{path:`\\\\.\\pipe\\tokmizer-${process.env.USERNAME??"tokmizer"}`,isPipe:!0};let t=typeof process.getuid=="function"?process.getuid():0,e=process.env.XDG_RUNTIME_DIR;if(e&&Ru(e,t)){let s=et(e,`tokmizer-${t}.sock`);if(Buffer.byteLength(s)<=Yt)return{path:s,isPipe:!1}}let r=et($(),"run"),n=et(r,"daemon.sock");return Buffer.byteLength(n)>Yt?{path:Tu(t),isPipe:!1}:($s(r,t),{path:n,isPipe:!1})}async function Jt(){let{path:t,isPipe:e}=tt();if(e||!vu(t))return;try{if(!xu(t).isSocket())return}catch{return}let r=await import("node:net");if(!await new Promise(s=>{let i=r.createConnection(t),o=a=>{i.removeAllListeners();try{i.destroy()}catch{}s(a)};i.once("connect",()=>o(!0)),i.once("error",a=>{let c=a.code;o(c!=="ECONNREFUSED"&&c!=="ENOENT")}),setTimeout(()=>o(!0),250)}))try{Eu(t)}catch{}}var Tm=5*6e4;var Ns=500,Mu=3e3,Ps=1,Lu=6e4,Fu=256*1024;function sr(){return nr($(),"daemon.spawn.fail")}function ir(){return nr($(),"daemon.log")}function Bu(){try{let t=Number(Iu(sr(),"utf8"));return Number.isFinite(t)&&Date.now()-t<Lu}catch{return!1}}function ju(t){try{rr($(),{recursive:!0});let e=ir();try{Pu(e).size>Fu&&er(e)}catch{}$u(e,`${new Date().toISOString()} ${t}
45
- `)}catch{}}function zu(t){try{rr($(),{recursive:!0}),tr(sr(),String(Date.now()))}catch{}ju(`spawn failed: ${t.message}`)}function Zu(){try{Ou(sr(),{force:!0})}catch{}}async function yt(t,e){return new Promise((r,n)=>{let s=Au(t),i=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(o),a){try{s.destroy()}catch{}n(a)}else r(s)},o=setTimeout(()=>i(new Error("connect timeout")),e);s.once("connect",()=>i(null)),s.once("error",a=>i(a))})}function Uu(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:Nu(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Qt(t,e=3e3){let r=Math.ceil(e/75),n=process.platform==="win32";for(let s=0;s<r;s++){if(n)try{return(await yt(t,75)).destroy(),!0}catch{}else if(Ds(t))return!0;await new Promise(i=>setTimeout(i,75))}return!1}async function Hu(t){let e=Uu();if(!Ds(e))throw new Error(`tkr-daemon binary not found at ${e}`);let{path:r}=tt(),n=process.platform==="win32"?$():Du(r);try{rr(n,{recursive:!0})}catch{}let s=nr(n,"daemon.spawn.lock"),i=null;try{i=Xt(s,"wx"),tr(i,String(process.pid))}catch(o){if(o.code==="EEXIST"){if(await Qt(r,5e3))return;try{er(s)}catch{}try{i=Xt(s,"wx"),tr(i,String(process.pid))}catch(c){if(c.code==="EEXIST"){await Qt(r,5e3);return}throw c}}else throw o}try{let o=null;try{o=Xt(ir(),"a")}catch{}if(Cu(process.execPath,[e],{detached:!0,stdio:["ignore","ignore",o??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:t}}).unref(),o!==null)try{Os(o)}catch{}if(!await Qt(r,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(i!==null){try{Os(i)}catch{}try{er(s)}catch{}}}}async function Vu(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:tt(),r=await Gt();try{let n=await yt(e,Ns);n.write(qt({id:Qe(),op:"shutdown",installId:r})),await new Promise(s=>setTimeout(s,150));try{n.destroy()}catch{}return!0}catch{return!1}}async function Gu(t,e){let r=Date.now()+e;for(;Date.now()<r;){try{(await yt(t,250)).destroy()}catch{return!0}await new Promise(n=>setTimeout(n,100))}return!1}async function or(t={}){let{path:e}=t.socketPath?{path:t.socketPath}:tt(),r=await Gt(),n=null,s=0,i=!1;for(;s<=Ps;)try{n=await yt(e,Ns),Zu();break}catch{if(s+=1,s>Ps)throw new Error(`tkr-daemon unreachable at ${e}`);if(Bu())throw new Error(`tkr-daemon spawn on cooldown (see ${ir()})`);await Jt();try{await Hu(r),i=!0}catch(l){throw zu(l),l}}if(!n)throw new Error("tkr-daemon: socket setup failed");let o=new Map,a="";n.setEncoding("utf8"),n.on("data",l=>{a+=l;let f=-1;for(let m=0;m<a.length;m++)a[m]===gt&&(f=m);if(f<0)return;let d=[];for(let m of Cs(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let v=JSON.parse(m),w=o.get(v.id);if(!w)continue;clearTimeout(w.timer),o.delete(v.id),w.resolve(v)}catch{}}),n.on("close",()=>{for(let l of o.values())clearTimeout(l.timer),l.reject(new Error("daemon socket closed"));o.clear()}),n.on("error",()=>{});function c(l){return new Promise((f,d)=>{if(n.destroyed||!n.writable){d(new Error("daemon socket closed"));return}let m=setTimeout(()=>{o.delete(l.id),d(new Error(`daemon request timeout (${l.op})`))},Mu);o.set(l.id,{resolve:f,reject:d,timer:m}),n.write(qt(l))})}let u={filter:async(l,f,d)=>{let m=await c({id:Qe(),op:"filter",cmd:l.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:r});if(!m.ok)return null;let v=As.safeParse(m.data);return v.success?v.data.filter:null},ping:async()=>{let l=await c({id:Qe(),op:"ping"});if(!l.ok)throw new Error(l.err);return l.data},reload:async()=>{let l=await c({id:Qe(),op:"reload",installId:r});if(!l.ok)throw new Error(l.err);return l.data},close:()=>{try{n.destroy()}catch{}}};if(!t.skipVersionCheck&&!i){let l=!1;try{let f=await u.ping();if(f.version&&Yn(mt,f.version))throw new Error(`newer daemon ${f.version} already running`);l=f.version!==mt}catch(f){throw u.close(),f}if(l){try{await Vu(t.socketPath?{socketPath:t.socketPath}:{})}catch{}u.close();let f=await Gu(e,2e3);if(await Jt(),!f)throw new Error("stale daemon still running after shutdown request");return or({...t,skipVersionCheck:!0})}}return u}import{createPublicKey as rl,verify as nl}from"node:crypto";import{createCipheriv as zm,createDecipheriv as Ku,hkdfSync as Wu,randomBytes as Zm}from"node:crypto";var qu=Buffer.from("tokmizer-bundle-enc-v1"),Yu=Buffer.from("rules-bundle");function Ju(t){return Buffer.from(Wu("sha256",Buffer.from(t,"utf8"),qu,Yu,32))}function Ms(t,e){let r=Ju(e),n=Buffer.from(t,"base64url"),s=n.subarray(0,12),i=n.subarray(12,28),o=n.subarray(28),a=Ku("aes-256-gcm",r,s);return a.setAuthTag(i),Buffer.concat([a.update(o),a.final()]).toString("utf8")}import{chmodSync as Vm,readFileSync as Xu,writeFileSync as Gm,mkdirSync as Km,renameSync as Wm}from"node:fs";import{join as Qu}from"node:path";var el=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()});function tl(){return Qu($(),"bundle-cache.json")}function Ls(){try{let t=Xu(tl(),"utf8"),e=el.safeParse(JSON.parse(t));return e.success?e.data:null}catch{return null}}var sl=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Le)}),ch=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),il=10080*60*1e3;function ol(){let t=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(t)&&t>0?t:il}function al(t,e){let r=Xn();if(!r||!r.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 n=rl({key:r,format:"pem"});if(!nl(null,Buffer.from(t.payload,"utf8"),n,Buffer.from(t.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(Ms(t.payload,e))}function cl(t,e){let r=al(t,e),n=sl.parse(r);if(Date.now()-n.signedAt>ol())throw new Error("tkr-daemon: rules bundle is stale");let s=new Map;for(let i of n.filters)s.set(i.slug,{...i,matchRegex:new RegExp(i.match_command)});return{bundleVersion:n.bundleVersion,signedAt:n.signedAt,ruleCount:s.size,startedAt:Date.now(),fetchedAt:Date.now(),selectFor:(i,o,a)=>lt(i,s.values(),a?new Set(a):null,s)}}async function Fs(){try{let t=Ls();if(!t)return null;let e=await Je();return e?.signingSecret?cl(t,e.signingSecret):null}catch{return null}}var je=null,rt=null;async function ul(){if(je)return je;if(rt)return rt;let t=or().then(e=>{if(rt===t)return je=e,e;try{e.close()}catch{}return null}).catch(()=>null);return rt=t,t}var ar=null,cr=!1;async function ll(){return cr||(cr=!0,ar=await Fs()),ar}async function Bs(t,e,r){let n=await ll();if(!n)return null;let s=n.selectFor(t,e,[...r]);return!s||!r.has(V(s.slug))?null:s}function dl(t){return t?{...t,matchRegex:new RegExp(t.match_command)}:null}function js(t){Ut(async(e,r)=>{let n=t==="free"?"trial":t,s=r??ut(void 0),i=await ul();if(!i)return Bs(e,n,s);try{let o=await i.filter(e,n,[...s]);return!o||!s.has(V(o.slug))?null:dl(o)}catch{return Bs(e,n,s)}})}function zs(){if(Ut(null),je)try{je.close()}catch{}je=null,rt=null,ar=null,cr=!1}import{chmod as ml,mkdir as hl,readFile as vh,writeFile as gl,stat as xh,readdir as Eh,rm as Zs,rename as yl}from"node:fs/promises";import{createHash as Us}from"node:crypto";import{readFileSync as fl}from"node:fs";import{join as pl}from"node:path";function ae(){try{return fl(pl($(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Th=10080*60*1e3,Rh=100*1024*1024,_l=2*1024*1024,bl=/^[0-9a-f]{8,64}$/i;function vl(t,e,r=process.env){let n=Number(r[t]);return Number.isFinite(n)&&n>0?n:e}async function Hs(t,e,r=process.env){if(ae()||!bl.test(t)||Buffer.byteLength(e,"utf8")>vl("TOKMIZER_CCR_ENTRY_MAX_BYTES",_l,r))return!1;let n=Vn(t),s=`${n}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{return await hl(Vt(),{recursive:!0}),ae()?!1:(await gl(s,e,{mode:384}),await ml(s,384),ae()?(await Zs(s,{force:!0}),!1):(await yl(s,n),!0))}catch{try{await Zs(s)}catch{}return!1}}async function Vs(t,e,r=process.env){let n=r.TOKMIZER_CCR_DISABLED;if(n==="1"||n==="true"||ae()||!t)return e;let s=Us("sha256").update(t).digest("hex").slice(0,16),i=`
46
- [tkr restore ${s}]`;return Buffer.byteLength(t,"utf8")<=Buffer.byteLength(i,"utf8")||!await Hs(s,t,r)?e:`${e}${i}`}async function Gs(t,e,r=process.env){let n=r.TOKMIZER_CCR_DISABLED;if(n==="1"||n==="true"||ae()||!t)return e;let s=Us("sha256").update(t).digest("hex").slice(0,16);return await Hs(s,t,r)?`${e}
47
- [tkr restore ${s}]`:e}var ze=10*1024*1024,Al=1024,Cl=6e4;function Ks(t,e){let r=new Rl("utf8"),n=r.write(Buffer.concat(t));return e?n:n+r.end()}function Il(){try{let t=process.env.TOKMIZER_TKR_BIN||Tl(new URL("../bin/tkr.js",import.meta.url));if(!xl(t))return;let e=Sl($(),"enroll-kick");try{let n=Number(El(e,"utf8"));if(Number.isFinite(n)&&Date.now()-n<Cl)return}catch{}kl($(),{recursive:!0}),wl(e,String(Date.now())),(0,ur.default)(process.execPath,[t,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function $l(t){let e=Number(t.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(e)&&e>0)return e;let r=Number(t.BASH_MAX_TIMEOUT_MS);return Number.isFinite(r)&&r>6e5?r:6e5}var Ol=$l(process.env),Pl={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};function lr(t){return Pl[t]??15}async function Ws(t){let[e,...r]=t;if(!e)throw new Error("tkr-exec: missing command");let n=ae(),s=(0,ur.default)(e,r,{stdio:["inherit","pipe","pipe"],env:Rs()}),i=!1;s.on("spawn",()=>{i=!0});let o=A=>{try{s.kill(A)}catch{}},a=()=>o("SIGINT"),c=()=>o("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",c);let u=[],l=[],f=0,d=0,m=!1,v=!1;s.stdout?.on("data",A=>{if(f>=ze){m=!0;return}let O=ze-f,C=A.length>O?A.subarray(0,O):A;u.push(C),f+=C.length,A.length>O&&(m=!0)}),s.stderr?.on("data",A=>{if(d>=ze){v=!0;return}let O=ze-d,C=A.length>O?A.subarray(0,O):A;l.push(C),d+=C.length,A.length>O&&(v=!0)});let w,_,I;try{I=await new Promise((A,O)=>{s.on("error",C=>{w&&clearTimeout(w),i?A(1):O(C)}),s.on("close",(C,G)=>{w&&clearTimeout(w),A(C??(G?128+lr(G):0))}),w=setTimeout(()=>{s.kill("SIGTERM"),_=setTimeout(()=>s.kill("SIGKILL"),2e3)},Ol),w.unref?.()})}finally{w&&clearTimeout(w),_&&clearTimeout(_),process.off("SIGINT",a),process.off("SIGTERM",c)}let k=Ks(u,m),P=Ks(l,v);return Dl({argv:t,stdout:k,stderr:P,exitCode:I,truncated:m,stderrTruncated:v},{yolo:n,env:process.env,onMissingState:Il})}async function Dl({argv:t,stdout:e,stderr:r,exitCode:n,truncated:s,stderrTruncated:i},{yolo:o,env:a,resolver:c,onMissingState:u,deferAccounting:l}){let f=s?`
48
- \u2026 (output truncated at ${ze/1048576}MB)`:"",d=i?`
49
- \u2026 (stderr truncated at ${ze/(1024*1024)}MB)`:"",m=()=>{let v=e+f,w=Buffer.byteLength(v,"utf8");return{stdout:v,stderr:r+d,code:n,filterId:null,rawBytes:w,filteredBytes:w,truncated:s}};try{let v=await Je();v||u?.();let w=await Be();if(!w.enabled)return m();let _=a.CLAUDE_CODE_SESSION_ID;_&&v?.token&&Es(_,{tool:"Bash",target:t.join(" "),...n!==0?{fail:1}:{}});let I=v?Kn(v):null,k=v?ut(v.allowedFilters,Gn(v)):null,P=new Set(w.filters.disabled.map(V)),A=k&&P.size>0?new Set([...k].filter(He=>!P.has(He))):k,O=t.join(" ");v&&!c&&js(I);let C=await Ht(O,e,A,{verbosity:w.outputVerbosity,resolver:c,yolo:o,exitCode:n}),G=r,D=0,Se=0;if((o||n===0)&&Buffer.byteLength(r,"utf8")>=(o?1:Al)){let He=await Ht(O,r,A,{verbosity:w.outputVerbosity,resolver:c,yolo:o,exitCode:n});G=He.output,D=He.rawBytes,Se=He.filteredBytes}let Te=C.output;if(!o&&C.filteredBytes<C.rawBytes)try{Te=new RegExp(Sn.source,"m").test(C.output)?await Gs(e,C.output,a):await Vs(C.droppedTail??null,C.output,a)}catch{}let _t=Te+f,Ze=G+d,bt=Ss(a).host,Ue=bs(C.rawBytes+Buffer.byteLength(r,"utf8"),Buffer.byteLength(_t,"utf8")+Buffer.byteLength(Ze,"utf8"),ks(bt)),dr=!1,fr=async()=>{if(!dr){dr=!0;try{_s(Ue.raw,Ue.filtered,void 0,!1,bt,"sh",ys(O)),await ss({cmd:O,filterId:C.filterId,rawBytes:C.rawBytes,filteredBytes:C.filteredBytes,plan:I}),await ns({cmd:O,tokensSaved:Math.max(0,Math.round((Ue.raw-Ue.filtered)/4)),rawTokens:Math.round(Ue.raw/4),optimized:C.filterId!=null,telemetryOptIn:w.telemetryOptIn&&(!l||(await Be()).telemetryOptIn),sessionId:_,host:bt})}catch{}}};return l?l(fr):await fr(),{stdout:_t,stderr:Ze,code:n,filterId:C.filterId,rawBytes:C.rawBytes+D,filteredBytes:C.filteredBytes+Se,truncated:s}}catch{return m()}finally{c||zs()}}function qs(t=process.stdout,e=r=>process.exit(r)){t.on("error",r=>{if(r.code==="EPIPE"){e(141);return}throw r})}qs();async function Nl(t){let[e,...r]=t;e||process.exit(2);let n=(0,Ys.default)(e,r,{stdio:"inherit"}),s=await new Promise(i=>{n.on("error",()=>i(127)),n.on("close",(o,a)=>i(o??(a?128+lr(a):0)))});process.exit(s)}async function Ml(){let t=process.argv.slice(2);t.length===0&&(process.stderr.write(`tkr-exec: missing command
50
- `),process.exit(2));let e;try{e=await Ws(t)}catch(r){return process.stderr.write(`tkr-exec: ${r.message??r}
51
- `),Nl(t)}e.stdout&&process.stdout.write(e.stdout),e.stderr&&process.stderr.write(e.stderr),process.exitCode=e.code}Ml().catch(t=>{process.stderr.write(`${t.message??t}
89
+ `,{mode:384}),pp(i,n)}}catch{}}import{existsSync as Qx,readFileSync as Xp}from"node:fs";import{join as Qp}from"node:path";import eh from"node:os";import{readFile as Hp,writeFile as Bp,rename as zp,mkdir as sa,chmod as Up,stat as Zp,unlink as Gp}from"node:fs/promises";import{existsSync as Jp,lstatSync as Kp,readlinkSync as Vp,realpathSync as na}from"node:fs";import{basename as Wp,dirname as dn,join as qp,resolve as ra}from"node:path";import{basename as xp}from"node:path";var wp={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},vp={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"};function it(e){let t=xp(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(wp))if(r===t)return[n];for(let[n,r]of Object.entries(vp))if(r===t)return["hook",n];return null}function _e(){return!1}function $t(e,t=process.execPath){let n=_e()?it(e):null;return n?[process.execPath,...n]:[t,e]}import{rmSync as Sp,statSync as Ep}from"node:fs";import{join as Gi}from"node:path";function cn(){return Gi(T(),"shims")}function mr(){return Gi(T(),"fail-open")}var Tp=24*36e5;function Ji(e=Date.now()){try{if(e-Ep(mr()).mtimeMs<Tp)return!0;Sp(mr(),{force:!0})}catch{}return!1}import{chmod as Ip,lstat as Vi,mkdir as Op,readFile as hr,rename as Pp,rm as Mx,unlink as Wi,writeFile as Np}from"node:fs/promises";import{createHash as qi}from"node:crypto";import{basename as Dp,join as Yi}from"node:path";var Mp=".tkr-bak";function Xi(){return Yi(T(),"backup","config")}function pr(e){let t=yr(e),n=qi("sha256").update(t).digest("hex").slice(0,16),r=Dp(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Yi(Xi(),`${n}-${r}`)}function Qi(e){return`${pr(e)}.written`}function ea(e){return qi("sha256").update(e).digest("hex")}async function Fp(e){try{return await Vi(e),!0}catch{return!1}}async function gr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Op(Xi(),{recursive:!0,mode:448}),await Np(n,t,{mode:384}),await Ip(n,384),await Pp(n,e),!0}catch{return await Wi(n).catch(()=>{}),!1}}async function Lp(e,t){let n=`${e}${Mp}`;try{if(!(await Vi(n)).isFile())return!1}catch{return!1}let r=!await Fp(t);if(r&&!await gr(t,await hr(n,"utf8")))throw new Error("backup");return await Wi(n).catch(()=>{}),r}async function jp(e,t){try{return(await hr(Qi(e),"utf8")).trim()===ea(t)}catch{return!1}}async function ta(e,t){let n=t;try{n===void 0&&(n=await hr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Lp(e,pr(e)))return!0}catch{return!1}return await jp(e,n)?!0:gr(pr(e),n)}async function un(e,t,n){return!await ta(e,n)||!await fn(e,t)?!1:(await gr(Qi(e),`${ea(t)}
90
+ `),!0)}function M(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function xe(e){if(!Jp(e))return{};try{let t=JSON.parse(await Hp(e,"utf8"));return M(t)?t:null}catch{return null}}function yr(e){let t=ra(e);for(let n=0;n<32;n++){try{return na(t)}catch{}try{if(!Kp(t).isSymbolicLink())break;t=ra(dn(t),Vp(t))}catch{break}}try{return qp(na(dn(t)),Wp(t))}catch{return t}}async function fn(e,t){let n=yr(e),r=`${n}.tmp-${process.pid}`;try{await sa(dn(n),{recursive:!0});let s=384;try{s=(await Zp(n)).mode&511}catch{}return await Bp(r,t,{mode:s}),await Up(r,s),await zp(r,n),!0}catch{try{await Gp(r)}catch{}return!1}}async function we(e,t){try{await sa(dn(e),{recursive:!0})}catch{return!1}return un(e,`${JSON.stringify(t,null,2)}
91
+ `)}var Yp=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`;function at(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=it(t);return n?.length?new RegExp(`^\\s*${Yp}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function mn(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(!M(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 th="tkr-cursor-hook",oa="preToolUse";function nh(){return Qp(eh.homedir(),".cursor","hooks.json")}function rh(e){return M(e)&&at(e.command,th)}function sh(e){let t=M(e.hooks)?e.hooks:{},n=Array.isArray(t[oa])?t[oa]:[];return{hooks:t,entries:n}}function ia(){try{let e=JSON.parse(Xp(nh(),"utf8"));return sh(e).entries.some(rh)}catch{return!1}}import{existsSync as ow,readFileSync as oh}from"node:fs";import{join as ih}from"node:path";import ah from"node:os";var lh="tkr-gemini-hook",aa="BeforeTool";function ch(){return ih(process.env.GEMINI_CLI_HOME||ah.homedir(),".gemini","settings.json")}function uh(e){return M(e)&&at(e.command,lh)}function fh(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(uh)}function dh(e){let t=M(e.hooks)?e.hooks:{},n=Array.isArray(t[aa])?t[aa]:[];return{hooks:t,groups:n}}function la(){try{let e=JSON.parse(oh(ch(),"utf8"));return dh(e).groups.some(t=>fh(t)!=null)}catch{return!1}}import{dirname as Ow,join as Q}from"node:path";import _h from"node:os";import{existsSync as dw,accessSync as mw,constants as pw,readFileSync as mh}from"node:fs";var ph='"rewrite", "--host"';function hh(e){return e.includes(ph)}function ca(e){try{return hh(mh(e,"utf8"))}catch{return!1}}import{readFile as fa,mkdir as gh}from"node:fs/promises";import{existsSync as _r,readFileSync as da}from"node:fs";import{dirname as yh,join as br}from"node:path";import ma from"node:os";var pa="tokmizer-rewrite",Rt="tokmizer-rewrite";function Ct(){return br(process.env.VIBE_HOME||br(ma.homedir(),".vibe"),"hooks.toml")}function ua(e){return JSON.stringify(e)}function kh(e){return["[[hooks]]",`name = ${ua(pa)}`,'type = "pre_tool"','match = "bash"',`command = ${ua(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
92
+ `)}function xr(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 At(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${pa}"\\s*$`,"m").test(e)}async function ha(e,t){try{await gh(yh(e),{recursive:!0})}catch{return!1}return un(e,t)}function ga(){try{return xr(da(Ct(),"utf8")).some(At)}catch{return!1}}async function ya(e){let t=Ct(),n="";try{_r(t)&&(n=await fa(t,"utf8"))}catch{return"error"}let r=kh(e),s=xr(n),o=s.filter(At);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!At(l)).join("").trimEnd(),a=i?`${i}
93
+
94
+ ${r}`:r;return await ha(t,a)?o.length?"updated":"added":"error"}async function ka(){let e=Ct();if(!_r(e))return"absent";let t;try{t=await fa(e,"utf8")}catch{return"error"}let n=xr(t);if(!n.some(At))return"absent";let r=n.filter(o=>!At(o)).join("").trimEnd(),s=r?`${r}
95
+ `:"";return await ha(e,s)?"removed":"error"}function It(){return br(ma.homedir(),".gemini","config","hooks.json")}function bh(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ba(){try{let e=JSON.parse(da(It(),"utf8"));return M(e)&&M(e[Rt])}catch{return!1}}async function _a(e){let t=It(),n=await xe(t);if(!n)return"error";let r=bh(e),s=n[Rt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Rt]=r,await we(t,n)?s===void 0?"added":"updated":"error")}async function xa(){let e=It();if(!_r(e))return"absent";let t=await xe(e);return t?Rt in t?(delete t[Rt],await we(e,t)?"removed":"error"):"absent":"error"}var Ot=()=>_h.homedir(),wr=()=>process.env.XDG_CONFIG_HOME||Q(Ot(),".config"),wa=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:Q(wr(),"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:Q(wr(),"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:Q(wr(),"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:Ct,installed:ga,ensure:ya,remove:ka,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:It,installed:ba,ensure:_a,remove:xa,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=Q(Ot(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:Q(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:Q(process.env.PI_CODING_AGENT_DIR||Q(Ot(),".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:Q(Ot(),".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=Q(process.env.HERMES_HOME||Q(Ot(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:Q(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function va(e){return e.kind==="hook"?e.installed():ca(e.files()[0].target)}import{existsSync as Tr,readFileSync as Th}from"node:fs";import{join as H}from"node:path";import $h from"node:os";import{existsSync as xh,readFileSync as wh}from"node:fs";function pn(e,t){return M(e)&&at(e.command,t)}function Sa(e){return e.path??(e.nested?["hooks"]:[])}function Ea(e,t){let n=e;for(let r of Sa(t))M(n[r])||(n[r]={}),n=n[r];return n}function Ta(e,t){let n=e;for(let s of Sa(t))n=M(n)?n[s]:void 0;if(!M(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function vh(e){return M(e)&&Array.isArray(e.hooks)?e.hooks:[]}function $a(e,t){return(t.matcher===void 0?e:e.flatMap(vh)).filter(r=>pn(r,t.mark))}function Ra(e,t){return $a(Ta(e,t),t).length>0}function vr(e,t){try{let n=JSON.parse(wh(e,"utf8"));return M(n)&&Ra(n,t)}catch{return!1}}function Sh(e,t,n){let r=Ea(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=$a(s,t)[0],i=t.entry(n);if(o){let a=mn(s,c=>pn(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 Eh(e,t){if(!Ra(e,t))return!1;let n=Ea(e,t),r=Ta(e,t),s=t.matcher===void 0?r.filter(o=>!pn(o,t.mark)):r.map(o=>M(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!pn(i,t.mark))}:o).filter(o=>!M(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Sr(e,t,n){let r=await xe(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Sh(r,t,n);return s==="present"||await we(e,r)?s:"error"}async function hn(e,t){if(!xh(e))return"absent";let n=await xe(e);return n?Eh(n,t)?await we(e,n)?"removed":"error":"absent":"error"}function ie(){return $h.homedir()}function Oa(e){return e.version===void 0&&(e.version=1),e.version===1}function Rh(e,t,n){return Promise.all(e.map(r=>Sr(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Ah(e,t){return Promise.all(e.map(n=>hn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Ze(e,t){return{...e,installed:()=>e.files().some(n=>vr(n,t)),ensure:n=>Rh(e.files(),t,n),remove:()=>Ah(e.files(),t)}}var Ch={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Oa};function Ih(){return H(process.env.COPILOT_HOME||H(ie(),".copilot"),"hooks","tokmizer.json")}var Oh={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Oa};function Ph(){let e=[H(ie(),".trae","hooks.json")];return Tr(H(ie(),".trae-cn"))&&e.push(H(ie(),".trae-cn","hooks.json")),e}var Nh={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function Dh(){return H(process.env.QWEN_HOME||H(ie(),".qwen"),"settings.json")}var Mh={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function Fh(){return H(process.env.XDG_CONFIG_HOME||H(ie(),".config"),"crush","crush.json")}var Lh={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function jh(){return H(ie(),".junie","config.json")}function Hh(e){return e.hooks===void 0&&(e.hooks={}),M(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||M(e.hooks.events)):!1}var Bh={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Hh};function zh(){return H(ie(),".zcode","cli","config.json")}var Uh={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function Zh(){return H(ie(),".grok","hooks","tokmizer.json")}var Gh="tkr-droid-hook",$r={mark:Gh,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Jh={...$r,nested:!0};function Er(){return H(ie(),".factory")}function gn(){return[{file:H(Er(),"hooks.json"),spec:$r},{file:H(Er(),"hooks","hooks.json"),spec:$r},{file:H(Er(),"settings.json"),spec:Jh}]}function Aa(e){try{let t=JSON.parse(Th(e,"utf8"));return M(t)?t:null}catch{return null}}function Ca(e,t){let n=t?e?.hooks:e;return M(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Ia(){let[e,t,n]=gn(),r=Tr(e.file)?e:Tr(t.file)?t:null;return r&&Ca(Aa(r.file),!1)?r:Ca(Aa(n.file),!0)?n:r??e}var Kh={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Ia().file],installed:()=>gn().some(e=>vr(e.file,e.spec)),ensure:async e=>{let t=Ia(),n=await Sr(t.file,t.spec,e);return n==="error"||await Promise.all(gn().filter(r=>r.file!==t.file).map(r=>hn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(gn().map(t=>hn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Pa=[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:()=>[Ih()]},Ch),Kh,Ze({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Ph},Oh),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:()=>[Dh()]},Nh),Ze({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Fh()]},Mh),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:()=>[jh()]},Lh),Ze({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[zh()]},Bh),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:()=>[Zh()]},Uh)];var Da=[{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:[]}],Vh=[...Da.map(e=>e.host),"shell"],Wh=new Set(["claude-code","codex"]),qh={cursor:{installed:ia,setup:"tkr setup-cursor"},"gemini-cli":{installed:la,setup:"tkr setup-gemini"},...Object.fromEntries(wa.map(e=>[e.host,{installed:()=>va(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Pa.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function Na(e){return Wh.has(e)||(qh[e]?.installed()??!1)}function Ma(e){return null}function Fa(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&&Vh.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Na(o)}}for(let o of Da)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Na(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}import{existsSync as sv,realpathSync as Yh}from"node:fs";import{basename as iv,delimiter as La,join as av,dirname as lv}from"node:path";function ja(e){try{return Yh(e)}catch{return e}}function Ha(){let e=cn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=ja(e),o=r.split(La).filter(i=>i&&i!==e&&ja(i)!==s);return t[n]=o.join(La),n==="Path"&&(t.PATH=t[n]),t}import{createConnection as fg}from"node:net";import{spawn as dg}from"node:child_process";import{existsSync as Ka,openSync as Ir,closeSync as Ga,unlinkSync as Pr,writeFileSync as Nr,mkdirSync as Dr,readFileSync as mg,appendFileSync as pg,rmSync as hg,statSync as gg}from"node:fs";import{dirname as yg,join as Mr}from"node:path";import{fileURLToPath as kg}from"node:url";var Xh=y.object({id:y.string().min(1).max(64),op:y.literal("filter"),cmd:y.string().min(1).max(2048),plan:y.enum(["trial","smart","pro"]),allowed:y.array(y.string().min(1).max(64)).max(512).optional(),installId:y.string().min(1).max(64).optional()}),Qh=y.object({id:y.string().min(1).max(64),op:y.literal("ping")}),eg=y.object({id:y.string().min(1).max(64),op:y.literal("shutdown"),installId:y.string().min(1).max(64)}),tg=y.object({id:y.string().min(1).max(64),op:y.literal("reload"),installId:y.string().min(1).max(64).optional()}),bv=y.discriminatedUnion("op",[Xh,Qh,eg,tg]),_v=y.object({id:y.string(),ok:y.literal(!0),data:y.unknown()}),xv=y.object({id:y.string(),ok:y.literal(!1),err:y.string(),retryAfterMs:y.number().int().nonnegative().optional()}),Ba=y.object({filter:ke.nullable(),cacheHit:y.boolean().optional()}),yn=`
96
+ `,wv=64*1024;function Rr(e){return JSON.stringify(e)+yn}function*za(e){let t=0;for(;;){let n=e.indexOf(yn,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Pt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import ng from"node:os";import{join as Nt}from"node:path";import{existsSync as rg,statSync as sg,lstatSync as Ua,unlinkSync as og,mkdirSync as ig,chmodSync as ag}from"node:fs";import{createHash as lg}from"node:crypto";var Ar=100;function cg(e){let t=lg("sha256").update(T()).digest("hex").slice(0,8),n=Nt(ng.tmpdir(),`tkr-${e}-${t}`),r=Nt(n,"d.sock");if(Buffer.byteLength(r)>Ar)throw new Error("Temporary directory path is too long for IPC");return Za(n,e),r}function ug(e,t){try{let n=Ua(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Za(e,t){ig(e,{recursive:!0,mode:448});let n=Ua(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");ag(e,448)}function Dt(){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&&ug(t,e)){let s=Nt(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ar)return{path:s,isPipe:!1}}let n=Nt(T(),"run"),r=Nt(n,"daemon.sock");return Buffer.byteLength(r)>Ar?{path:cg(e),isPipe:!1}:(Za(n,e),{path:r,isPipe:!1})}async function Cr(){let{path:e,isPipe:t}=Dt();if(t||!rg(e))return;try{if(!sg(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{og(e)}catch{}}var Av=5*6e4;var Va=500,bg=3e3,Ja=1,_g=6e4,xg=256*1024;function Fr(){return Mr(T(),"daemon.spawn.fail")}function Lr(){return Mr(T(),"daemon.log")}function wg(){try{let e=Number(mg(Fr(),"utf8"));return Number.isFinite(e)&&Date.now()-e<_g}catch{return!1}}function vg(e){try{Dr(T(),{recursive:!0});let t=Lr();try{gg(t).size>xg&&Pr(t)}catch{}pg(t,`${new Date().toISOString()} ${e}
97
+ `)}catch{}}function Sg(e){try{Dr(T(),{recursive:!0}),Nr(Fr(),String(Date.now()))}catch{}vg(`spawn failed: ${e.message}`)}function Eg(){try{hg(Fr(),{force:!0})}catch{}}async function kn(e,t){return new Promise((n,r)=>{let s=fg(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 Tg(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:kg(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Or(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 kn(e,75)).destroy(),!0}catch{}else if(Ka(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function $g(e){let t=Tg();if(!_e()&&!Ka(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Dt(),r=process.platform==="win32"?T():yg(n);try{Dr(r,{recursive:!0})}catch{}let s=Mr(r,"daemon.spawn.lock"),o=null;try{o=Ir(s,"wx"),Nr(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Or(n,5e3))return;try{Pr(s)}catch{}try{o=Ir(s,"wx"),Nr(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Or(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Ir(Lr(),"a")}catch{}let[a,...l]=$t(t);if(dg(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Ga(i)}catch{}if(!await Or(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Ga(o)}catch{}try{Pr(s)}catch{}}}}async function Rg(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Dt(),n=await ur();try{let r=await kn(t,Va);r.write(Rr({id:Pt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function Ag(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await kn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function jr(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Dt(),n=await ur(),r=null,s=0,o=!1;for(;s<=Ja;)try{r=await kn(t,Va),Eg();break}catch{if(s+=1,s>Ja)throw new Error(`tkr-daemon unreachable at ${t}`);if(wg())throw new Error(`tkr-daemon spawn on cooldown (see ${Lr()})`);await Cr();try{await $g(n),o=!0}catch(u){throw Sg(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 m=0;m<a.length;m++)a[m]===yn&&(f=m);if(f<0)return;let d=[];for(let m of za(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let h=JSON.parse(m),_=i.get(h.id);if(!_)continue;clearTimeout(_.timer),i.delete(h.id),_.resolve(h)}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 m=setTimeout(()=>{i.delete(u.id),d(new Error(`daemon request timeout (${u.op})`))},bg);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Rr(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Pt(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!m.ok)return null;let h=Ba.safeParse(m.data);return h.success?h.data.filter:null},ping:async()=>{let u=await l({id:Pt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Pt(),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&&li(vt,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==vt}catch(f){throw c.close(),f}if(u){try{await Rg(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await Ag(t,2e3);if(await Cr(),!f)throw new Error("stale daemon still running after shutdown request");return jr({...e,skipVersionCheck:!0})}}return c}var lt=null,Mt=null;async function Cg(){if(lt)return lt;if(Mt)return Mt;let e=jr().then(t=>{if(Mt===e)return lt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Mt=e,e}var Hr=null,Br=!1;async function Ig(){return Br||(Br=!0,Hr=await di()??nn()),Hr}async function Wa(e,t,n){let r=await Ig();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(X(s.slug))?null:s}function Og(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function qa(e){cr(async(t,n)=>{let r=e==="free"?"trial":e,s=n??rn(void 0),o=await Cg();if(!o)return Wa(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(X(i.slug))?null:Og(i)}catch{return Wa(t,r,s)}})}function Ya(){if(cr(null),lt)try{lt.close()}catch{}lt=null,Mt=null,Hr=null,Br=!1}import{chmod as Dg,mkdir as Mg,readFile as tS,writeFile as Xa,stat as nS,readdir as rS,rm as Qa,rename as Fg}from"node:fs/promises";import{readFileSync as Lg}from"node:fs";import{createHash as jg}from"node:crypto";import{readFileSync as Pg}from"node:fs";import{join as Ng}from"node:path";function Ge(){try{return Pg(Ng(T(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Hg=1440*60*1e3,lS=30*Hg,cS=200*1024*1024,Bg=8*1024*1024,zg=/^[0-9a-f]{8,64}$/i;var Ug=".meta";var uS=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
98
+ `);function Zg(){try{let e=JSON.parse(Lg(No(),"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 Gg(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Jg(e){return`${Qn(e)}${Ug}`}function Kg(e){return e===""?[]:(e.endsWith(`
99
+ `)?e.slice(0,-1):e).split(`
100
+ `)}async function Vg(e,t,n=process.env,r={}){if(Ge()||!zg.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>Gg("TOKMIZER_CCR_ENTRY_MAX_BYTES",Bg,n))return!1;let o=Qn(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Mg(Xn(),{recursive:!0}),Ge())return!1;if(await Xa(i,t,{mode:384}),await Dg(i,384),Ge())return await Qa(i,{force:!0}),!1;await Fg(i,o)}catch{try{await Qa(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Kg(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Xa(Jg(e),JSON.stringify(a),{mode:384})}catch{}return!0}function el(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Ge()||Zg().disabled===!0}async function zr(e,t,n,r){let s=jg("sha256").update(e).digest("hex").slice(0,16);return await Vg(s,e,r,{partial:t,label:n})?s:null}async function Ur(e,t,n=process.env,r={}){if(el(n)||!e)return t;let s=i=>`
101
+ [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await zr(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await zr(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function tl(e,t,n=process.env,r={}){if(el(n)||!e)return t;let s=await zr(e,!1,r.label,n);return s?`${t}
102
+ [tkr restore ${s}]`:t}var ct=10*1024*1024,nl=1024,ny=6e4;function rl(e,t){let n=new ty("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function ry(){try{if(!St())return;let e=process.env.TOKMIZER_TKR_BIN||ey(new URL("../bin/tkr.js",import.meta.url));if(!_e()&&!Wg(e))return;let t=Qg(T(),"enroll-kick");try{let o=Number(qg(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<ny)return}catch{}Xg(T(),{recursive:!0}),Yg(t,String(Date.now()));let[n,...r]=$t(e);(0,Zr.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function sy(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}var oy=sy(process.env),iy={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};function Gr(e){return iy[e]??15}async function sl(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=Ge(),s=(0,Zr.default)(t,n,{stdio:["inherit","pipe","pipe"],env:Ha()}),o=!1;s.on("spawn",()=>{o=!0});let i=C=>{try{s.kill(C)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,m=!1,h=!1;s.stdout?.on("data",C=>{if(f>=ct){m=!0;return}let N=ct-f,D=C.length>N?C.subarray(0,N):C;c.push(D),f+=D.length,C.length>N&&(m=!0)}),s.stderr?.on("data",C=>{if(d>=ct){h=!0;return}let N=ct-d,D=C.length>N?C.subarray(0,N):C;u.push(D),d+=D.length,C.length>N&&(h=!0)});let _,g,R;try{R=await new Promise((C,N)=>{s.on("error",D=>{_&&clearTimeout(_),o?C(1):N(D)}),s.on("close",(D,F)=>{_&&clearTimeout(_),C(D??(F?128+Gr(F):0))}),_=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},oy),_.unref?.()})}finally{_&&clearTimeout(_),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let E=rl(c,m),O=rl(u,h);return ay({argv:e,stdout:E,stderr:O,exitCode:R,truncated:m,stderrTruncated:h},{yolo:r,env:process.env,onMissingState:ry})}async function ay({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?`
103
+ \u2026 (output truncated at ${ct/1048576}MB)`:"",m=o?`
104
+ \u2026 (stderr truncated at ${ct/(1024*1024)}MB)`:"",h=()=>{let _=t+d,g=Buffer.byteLength(_,"utf8");return{stdout:_,stderr:n+m,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let _=await wt();_||c?.();let g=await Ue();if(!g.enabled)return h();let R=a.CLAUDE_CODE_SESSION_ID;R&&_?.token&&Zi(R,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let E=_?gi(_):null,O=_?rn(_.allowedFilters,hi(_)):null,C=new Set(g.filters.disabled.map(X)),N=O&&C.size>0?new Set([...O].filter(V=>!C.has(V))):O,D=e.join(" ");_&&!l&&qa(E);let F=await sn(D,t,N,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),ve=n,P=0,B=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:nl)){let V=await sn(D,n,N,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});ve=V.output,P=V.rawBytes,B=V.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=nl){let V=await sn(D,n,N,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(V.failureSummary){try{ve=await Ur(V.droppedTail??null,V.output,a)}catch{ve=V.output}P=V.rawBytes,B=V.filteredBytes}}let de=F.output;if(!i&&F.filteredBytes<F.rawBytes)try{de=new RegExp(ho.source,"m").test(F.output)?await tl(t,F.output,a,{label:ln(D)}):await Ur(F.droppedTail??null,F.output,a,{raw:s?null:t,label:ln(D)})}catch{}let bn=de+d,ut=ve+m,_n=Fa(a).host,ft=Bi(F.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(bn,"utf8")+Buffer.byteLength(ut,"utf8"),Ma(_n)),Jr=!1,Kr=async()=>{if(!Jr){Jr=!0;try{ji(ft.raw,ft.filtered,void 0,!1,_n,"sh",ln(D),"cwd"in f?f.cwd:process.cwd(),Hi(F)),await Ei({cmd:D,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:E}),await Si({cmd:D,tokensSaved:Math.max(0,Math.round((ft.raw-ft.filtered)/4)),rawTokens:Math.round(ft.raw/4),optimized:F.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Ue()).telemetryOptIn),sessionId:R,host:_n})}catch{}}};return u?u(Kr):await Kr(),{stdout:bn,stderr:ut,code:r,filterId:F.filterId,rawBytes:F.rawBytes+P,filteredBytes:F.filteredBytes+B,truncated:s}}catch{return h()}finally{l||Ya()}}function ol(e=process.stdout,t=n=>process.exit(n)){e.on("error",n=>{if(n.code==="EPIPE"){t(141);return}throw n})}ol();async function il(e){let[t,...n]=e;t||process.exit(2);let r=(0,al.default)(t,n,{stdio:"inherit"}),s=await new Promise(o=>{r.on("error",()=>o(127)),r.on("close",(i,a)=>o(i??(a?128+Gr(a):0)))});process.exit(s)}async function ly(){let e=process.argv.slice(2);if(e.length===0&&(process.stderr.write(`tkr-exec: missing command
105
+ `),process.exit(2)),Ji())return il(e);let t;try{t=await sl(e)}catch(n){return process.stderr.write(`tkr-exec: ${n.message??n}
106
+ `),il(e)}t.stdout&&process.stdout.write(t.stdout),t.stderr&&process.stderr.write(t.stderr),process.exitCode=t.code}ly().catch(e=>{process.stderr.write(`${e.message??e}
52
107
  `),process.exit(1)});
108
+ /*! Bundled license information:
109
+
110
+ smol-toml/dist/error.js:
111
+ smol-toml/dist/primitive.js:
112
+ smol-toml/dist/date.js:
113
+ smol-toml/dist/extract.js:
114
+ smol-toml/dist/util.js:
115
+ smol-toml/dist/struct.js:
116
+ smol-toml/dist/parse.js:
117
+ smol-toml/dist/stringify.js:
118
+ smol-toml/dist/index.js:
119
+ (*!
120
+ * Copyright (c) Squirrel Chat et al., All rights reserved.
121
+ * SPDX-License-Identifier: BSD-3-Clause
122
+ *
123
+ * Redistribution and use in source and binary forms, with or without
124
+ * modification, are permitted provided that the following conditions are met:
125
+ *
126
+ * 1. Redistributions of source code must retain the above copyright notice, this
127
+ * list of conditions and the following disclaimer.
128
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
129
+ * this list of conditions and the following disclaimer in the
130
+ * documentation and/or other materials provided with the distribution.
131
+ * 3. Neither the name of the copyright holder nor the names of its contributors
132
+ * may be used to endorse or promote products derived from this software without
133
+ * specific prior written permission.
134
+ *
135
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
136
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
137
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
138
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
139
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
140
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
141
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
142
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
143
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
144
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
145
+ *)
146
+ */