@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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +11 -0
- package/README.md +214 -8
- package/agent-plugins/amp.js +38 -0
- package/agent-plugins/hermes/__init__.py +53 -0
- package/agent-plugins/hermes/plugin.yaml +5 -0
- package/agent-plugins/kilo.js +72 -0
- package/agent-plugins/omp.js +32 -0
- package/agent-plugins/openclaw/index.js +58 -0
- package/agent-plugins/openclaw/openclaw.plugin.json +12 -0
- package/agent-plugins/openclaw/package.json +11 -0
- package/agent-plugins/opencode.js +72 -0
- package/agent-plugins/pi.js +30 -0
- package/codex-hooks/hooks.json +16 -0
- package/command-templates/tkr-gain.md +7 -2
- package/command-templates/tkr-status.md +5 -1
- package/command-templates/tkr-telemetry.md +3 -3
- package/command-templates/tkr-unlink.md +2 -2
- package/dist/bin/tkr-agent-hook.js +13 -0
- package/dist/bin/tkr-codex-hook.js +134 -40
- package/dist/bin/tkr-context-hook.js +4 -0
- package/dist/bin/tkr-copilot-hook.js +13 -0
- package/dist/bin/tkr-crush-hook.js +13 -0
- package/dist/bin/tkr-cursor-hook.js +13 -0
- package/dist/bin/tkr-daemon.js +194 -56
- package/dist/bin/tkr-droid-hook.js +13 -0
- package/dist/bin/tkr-exec +136 -42
- package/dist/bin/tkr-exec.js +136 -42
- package/dist/bin/tkr-gemini-hook.js +13 -0
- package/dist/bin/tkr-grok-hook.js +13 -0
- package/dist/bin/tkr-junie-hook.js +13 -0
- package/dist/bin/tkr-processor.js +166 -0
- package/dist/bin/tkr-qwen-hook.js +13 -0
- package/dist/bin/tkr-shim.js +138 -37
- package/dist/bin/tkr-shim.stable +1 -0
- package/dist/bin/tkr-trae-hook.js +13 -0
- package/dist/bin/tkr-zcode-hook.js +13 -0
- package/dist/bin/tkr.js +425 -157
- package/dist/hooks-host/post-tool-use.js +150 -49
- package/dist/hooks-host/pre-tool-use.js +10 -7
- package/dist/hooks-host/reducer-prompt-submit.js +2 -1
- package/dist/hooks-host/reducer-session-start.js +2 -1
- package/dist/hooks-host/reducer-stop.js +25 -16
- package/dist/hooks-host/session-recap.js +4 -3
- package/dist/index.js +160 -41
- package/dist/native/manifest.json +18 -8
- package/dist/native/single.json +38 -0
- package/dist/native/tkr-exec-darwin-arm64 +0 -0
- package/dist/native/tkr-exec-darwin-x64 +0 -0
- package/dist/native/tkr-exec-linux-arm64 +0 -0
- package/dist/native/tkr-exec-linux-x64 +0 -0
- package/dist/native/tkr-exec-win32-arm64.exe +0 -0
- package/dist/native/tkr-exec-win32-x64.exe +0 -0
- package/hooks/on-session-start.d.mts +1 -0
- package/hooks/on-session-start.mjs +37 -34
- package/package.json +26 -3
- package/scripts/README-INSTALL.md +50 -14
- package/scripts/install-mac-linux.sh +77 -7
- package/scripts/install-native.mjs +177 -25
- package/codex-plugin/plugin.json +0 -7
package/dist/bin/tkr-shim.js
CHANGED
|
@@ -1,47 +1,148 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
|
|
3
|
-
var bi=Object.create;var $t=Object.defineProperty;var vi=Object.getOwnPropertyDescriptor;var xi=Object.getOwnPropertyNames;var wi=Object.getPrototypeOf,Ei=Object.prototype.hasOwnProperty;var se=(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 Z=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},ki=(t,e)=>{for(var r in e)$t(t,r,{get:e[r],enumerable:!0})},Si=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of xi(e))!Ei.call(t,s)&&s!==r&&$t(t,s,{get:()=>e[s],enumerable:!(n=vi(e,s))||n.enumerable});return t};var Ti=(t,e,r)=>(r=t!=null?bi(wi(t)):{},Si(e||!t||!t.__esModule?$t(r,"default",{value:t,enumerable:!0}):r,t));var Nr=Z((Vl,Or)=>{Or.exports=$r;$r.sync=Ai;var Cr=se("fs");function Ri(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 Ir(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:Ri(e,r)}function $r(t,e,r){Cr.stat(t,function(n,s){r(n,n?!1:Ir(s,t,e))})}function Ai(t,e){return Ir(Cr.statSync(t),t,e)}});var Fr=Z((Kl,Lr)=>{Lr.exports=Pr;Pr.sync=Ci;var Dr=se("fs");function Pr(t,e,r){Dr.stat(t,function(n,s){r(n,n?!1:Mr(s,e))})}function Ci(t,e){return Mr(Dr.statSync(t),e)}function Mr(t,e){return t.isFile()&&Ii(t,e)}function Ii(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 jr=Z((Wl,Br)=>{var Gl=se("fs"),pt;process.platform==="win32"||global.TESTING_WINDOWS?pt=Nr():pt=Fr();Br.exports=Ot;Ot.sync=$i;function Ot(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){Ot(t,e||{},function(i,o){i?s(i):n(o)})})}pt(t,e||{},function(n,s){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,s=!1),r(n,s)})}function $i(t,e){try{return pt.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var Gr=Z((ql,Kr)=>{var De=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zr=se("path"),Oi=De?";":":",Zr=jr(),Ur=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),Hr=(t,e)=>{let r=e.colon||Oi,n=t.match(/\//)||De&&t.match(/\\/)?[""]:[...De?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],s=De?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",i=De?s.split(r):[""];return De&&t.indexOf(".")!==-1&&i[0]!==""&&i.unshift(""),{pathEnv:n,pathExt:i,pathExtExe:s}},Vr=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:s,pathExtExe:i}=Hr(t,e),o=[],a=u=>new Promise((l,f)=>{if(u===n.length)return e.all&&o.length?l(o):f(Ur(t));let d=n[u],m=/^".*"$/.test(d)?d.slice(1,-1):d,w=zr.join(m,t),R=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+w:w;l(c(R,u,0))}),c=(u,l,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(l+1));let w=s[f];Zr(u+w,{pathExt:i},(R,_)=>{if(!R&&_)if(e.all)o.push(u+w);else return d(u+w);return d(c(u,l,f+1))})});return r?a(0).then(u=>r(null,u),r):a(0)},Ni=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:s}=Hr(t,e),i=[];for(let o=0;o<r.length;o++){let a=r[o],c=/^".*"$/.test(a)?a.slice(1,-1):a,u=zr.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(Zr.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 Ur(t)};Kr.exports=Vr;Vr.sync=Ni});var qr=Z((Yl,Nt)=>{"use strict";var Wr=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Nt.exports=Wr;Nt.exports.default=Wr});var Qr=Z((Jl,Xr)=>{"use strict";var Yr=se("path"),Di=Gr(),Pi=qr();function Jr(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[Pi({env:r})],pathExt:e?Yr.delimiter:void 0})}catch{}finally{i&&process.chdir(n)}return o&&(o=Yr.resolve(s?t.options.cwd:"",o)),o}function Mi(t){return Jr(t)||Jr(t,!0)}Xr.exports=Mi});var en=Z((Xl,Pt)=>{"use strict";var Dt=/([()\][%!^"`<>&|;, *?])/g;function Li(t){return t=t.replace(Dt,"^$1"),t}function Fi(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(Dt,"^$1"),e&&(t=t.replace(Dt,"^$1")),t}Pt.exports.command=Li;Pt.exports.argument=Fi});var rn=Z((Ql,tn)=>{"use strict";tn.exports=/^#!(.*)/});var sn=Z((ed,nn)=>{"use strict";var Bi=rn();nn.exports=(t="")=>{let e=t.match(Bi);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),s=r.split("/").pop();return s==="env"?n:n?`${s} ${n}`:s}});var an=Z((td,on)=>{"use strict";var Mt=se("fs"),ji=sn();function zi(t){let r=Buffer.alloc(150),n;try{n=Mt.openSync(t,"r"),Mt.readSync(n,r,0,150,0),Mt.closeSync(n)}catch{}return ji(r.toString())}on.exports=zi});var dn=Z((rd,ln)=>{"use strict";var Zi=se("path"),cn=Qr(),un=en(),Ui=an(),Hi=process.platform==="win32",Vi=/\.(?:com|exe)$/i,Ki=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Gi(t){t.file=cn(t);let e=t.file&&Ui(t.file);return e?(t.args.unshift(t.file),t.command=e,cn(t)):t.file}function Wi(t){if(!Hi)return t;let e=Gi(t),r=!Vi.test(e);if(t.options.forceShell||r){let n=Ki.test(e);t.command=Zi.normalize(t.command),t.command=un.command(t.command),t.args=t.args.map(i=>un.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 qi(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:Wi(n)}ln.exports=qi});var mn=Z((nd,pn)=>{"use strict";var Lt=process.platform==="win32";function Ft(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 Yi(t,e){if(!Lt)return;let r=t.emit;t.emit=function(n,s){if(n==="exit"){let i=fn(s,e);if(i)return r.call(t,"error",i)}return r.apply(t,arguments)}}function fn(t,e){return Lt&&t===1&&!e.file?Ft(e.original,"spawn"):null}function Ji(t,e){return Lt&&t===1&&!e.file?Ft(e.original,"spawnSync"):null}pn.exports={hookChildProcess:Yi,verifyENOENT:fn,verifyENOENTSync:Ji,notFoundError:Ft}});var yn=Z((sd,Pe)=>{"use strict";var hn=se("child_process"),Bt=dn(),jt=mn();function gn(t,e,r){let n=Bt(t,e,r),s=hn.spawn(n.command,n.args,n.options);return jt.hookChildProcess(s,n),s}function Xi(t,e,r){let n=Bt(t,e,r),s=hn.spawnSync(n.command,n.args,n.options);return s.error=s.error||jt.verifyENOENTSync(s.status,n),s}Pe.exports=gn;Pe.exports.spawn=gn;Pe.exports.sync=Xi;Pe.exports._parse=Bt;Pe.exports._enoent=jt});var pi=Ti(yn(),1);import{readdir as la,readFile as da}from"node:fs/promises";import{join as $n,dirname as fa}from"node:path";import{fileURLToPath as pa}from"node:url";var h={};ki(h,{BRAND:()=>So,DIRTY:()=>me,EMPTY_PATH:()=>ro,INVALID:()=>v,NEVER:()=>ua,OK:()=>M,ParseStatus:()=>P,Schema:()=>S,ZodAny:()=>ae,ZodArray:()=>ne,ZodBigInt:()=>ge,ZodBoolean:()=>ye,ZodBranded:()=>Je,ZodCatch:()=>Ae,ZodDate:()=>_e,ZodDefault:()=>Re,ZodDiscriminatedUnion:()=>gt,ZodEffects:()=>V,ZodEnum:()=>Se,ZodError:()=>B,ZodFirstPartyTypeKind:()=>x,ZodFunction:()=>_t,ZodIntersection:()=>we,ZodIssueCode:()=>p,ZodLazy:()=>Ee,ZodLiteral:()=>ke,ZodMap:()=>ze,ZodNaN:()=>Ue,ZodNativeEnum:()=>Te,ZodNever:()=>K,ZodNull:()=>ve,ZodNullable:()=>X,ZodNumber:()=>he,ZodObject:()=>j,ZodOptional:()=>U,ZodParsedType:()=>y,ZodPipeline:()=>Xe,ZodPromise:()=>ce,ZodReadonly:()=>Ce,ZodRecord:()=>yt,ZodSchema:()=>S,ZodSet:()=>Ze,ZodString:()=>oe,ZodSymbol:()=>Be,ZodTransformer:()=>V,ZodTuple:()=>J,ZodType:()=>S,ZodUndefined:()=>be,ZodUnion:()=>xe,ZodUnknown:()=>re,ZodVoid:()=>je,addIssueToContext:()=>g,any:()=>Do,array:()=>Fo,bigint:()=>Co,boolean:()=>An,coerce:()=>ca,custom:()=>Sn,date:()=>Io,datetimeRegex:()=>En,defaultErrorMap:()=>ee,discriminatedUnion:()=>Zo,effect:()=>ea,enum:()=>Jo,function:()=>Wo,getErrorMap:()=>Me,getParsedType:()=>Y,instanceof:()=>Ro,intersection:()=>Uo,isAborted:()=>mt,isAsync:()=>Le,isDirty:()=>ht,isValid:()=>ie,late:()=>To,lazy:()=>qo,literal:()=>Yo,makeIssue:()=>Ye,map:()=>Ko,nan:()=>Ao,nativeEnum:()=>Xo,never:()=>Mo,null:()=>No,nullable:()=>ra,number:()=>Rn,object:()=>Bo,objectUtil:()=>zt,oboolean:()=>aa,onumber:()=>oa,optional:()=>ta,ostring:()=>ia,pipeline:()=>sa,preprocess:()=>na,promise:()=>Qo,quotelessJson:()=>Qi,record:()=>Vo,set:()=>Go,setErrorMap:()=>to,strictObject:()=>jo,string:()=>Tn,symbol:()=>$o,transformer:()=>ea,tuple:()=>Ho,undefined:()=>Oo,union:()=>zo,unknown:()=>Po,util:()=>T,void:()=>Lo});var T;(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})(T||(T={}));var zt;(function(t){t.mergeShapes=(e,r)=>({...e,...r})})(zt||(zt={}));var y=T.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Y=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=T.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"]),Qi=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),B=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,T.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()}};B.create=t=>new B(t);var eo=(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,T.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:r=`Unrecognized key(s) in object: ${T.joinValues(t.keys,", ")}`;break;case p.invalid_union:r="Invalid input";break;case p.invalid_union_discriminator:r=`Invalid discriminator value. Expected ${T.joinValues(t.options)}`;break;case p.invalid_enum_value:r=`Invalid enum value. Expected ${T.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}"`:T.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,T.assertNever(t)}return{message:r}},ee=eo;var _n=ee;function to(t){_n=t}function Me(){return _n}var Ye=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}},ro=[];function g(t,e){let r=Me(),n=Ye({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,r,r===ee?void 0:ee].filter(s=>!!s)});t.common.issues.push(n)}var P=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 v;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 v;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}}},v=Object.freeze({status:"aborted"}),me=t=>({status:"dirty",value:t}),M=t=>({status:"valid",value:t}),mt=t=>t.status==="aborted",ht=t=>t.status==="dirty",ie=t=>t.status==="valid",Le=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 H=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}},bn=(t,e)=>{if(ie(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 B(t.common.issues);return this._error=r,this._error}}};function k(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 S=class{get description(){return this._def.description}_getType(e){return Y(e.data)}_getOrReturnCtx(e,r){return r||{common:e.parent.common,data:e.data,parsedType:Y(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new P,ctx:{common:e.parent.common,data:e.data,parsedType:Y(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let r=this._parse(e);if(Le(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:Y(e)},s=this._parseSync({data:e,path:n.path,parent:n});return bn(n,s)}"~validate"(e){let r={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Y(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:r});return ie(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=>ie(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:Y(e)},s=this._parse({data:e,path:n.path,parent:n}),i=await(Le(s)?s:Promise.resolve(s));return bn(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 V({schema:this,typeName:x.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 U.create(this,this._def)}nullable(){return X.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ne.create(this)}promise(){return ce.create(this,this._def)}or(e){return xe.create([this,e],this._def)}and(e){return we.create(this,e,this._def)}transform(e){return new V({...k(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let r=typeof e=="function"?e:()=>e;return new Re({...k(this._def),innerType:this,defaultValue:r,typeName:x.ZodDefault})}brand(){return new Je({typeName:x.ZodBranded,type:this,...k(this._def)})}catch(e){let r=typeof e=="function"?e:()=>e;return new Ae({...k(this._def),innerType:this,catchValue:r,typeName:x.ZodCatch})}describe(e){let r=this.constructor;return new r({...this._def,description:e})}pipe(e){return Xe.create(this,e)}readonly(){return Ce.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},no=/^c[^\s-]{8,}$/i,so=/^[0-9a-z]+$/,io=/^[0-9A-HJKMNP-TV-Z]{26}$/i,oo=/^[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,ao=/^[a-z0-9_-]{21}$/i,co=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,uo=/^[-+]?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)?)??$/,lo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,fo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Zt,po=/^(?:(?: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])$/,mo=/^(?:(?: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])$/,ho=/^(([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]))$/,go=/^(([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])$/,yo=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,_o=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,xn="((\\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])))",bo=new RegExp(`^${xn}$`);function wn(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 vo(t){return new RegExp(`^${wn(t)}$`)}function En(t){let e=`${xn}T${wn(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 xo(t,e){return!!((e==="v4"||!e)&&po.test(t)||(e==="v6"||!e)&&ho.test(t))}function wo(t,e){if(!co.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 Eo(t,e){return!!((e==="v4"||!e)&&mo.test(t)||(e==="v6"||!e)&&go.test(t))}var oe=class t extends S{_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}),v}let n=new P,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")lo.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")Zt||(Zt=new RegExp(fo,"u")),Zt.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")oo.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")ao.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")no.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")so.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")io.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"?En(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"?bo.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{code:p.invalid_string,validation:"date",message:i.message}),n.dirty()):i.kind==="time"?vo(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"?uo.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"duration",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="ip"?xo(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"?wo(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"?Eo(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"?yo.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"base64",code:p.invalid_string,message:i.message}),n.dirty()):i.kind==="base64url"?_o.test(e.data)||(s=this._getOrReturnCtx(e,s),g(s,{validation:"base64url",code:p.invalid_string,message:i.message}),n.dirty()):T.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}};oe.create=t=>new oe({checks:[],typeName:x.ZodString,coerce:t?.coerce??!1,...k(t)});function ko(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 he=class t extends S{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}),v}let n,s=new P;for(let i of this._def.checks)i.kind==="int"?T.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"?ko(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()):T.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"&&T.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)}};he.create=t=>new he({checks:[],typeName:x.ZodNumber,coerce:t?.coerce||!1,...k(t)});var ge=class t extends S{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 P;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()):T.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}),v}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}};ge.create=t=>new ge({checks:[],typeName:x.ZodBigInt,coerce:t?.coerce??!1,...k(t)});var ye=class extends S{_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}),v}return M(e.data)}};ye.create=t=>new ye({typeName:x.ZodBoolean,coerce:t?.coerce||!1,...k(t)});var _e=class t extends S{_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}),v}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return g(i,{code:p.invalid_date}),v}let n=new P,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()):T.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}};_e.create=t=>new _e({checks:[],coerce:t?.coerce||!1,typeName:x.ZodDate,...k(t)});var Be=class extends S{_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}),v}return M(e.data)}};Be.create=t=>new Be({typeName:x.ZodSymbol,...k(t)});var be=class extends S{_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}),v}return M(e.data)}};be.create=t=>new be({typeName:x.ZodUndefined,...k(t)});var ve=class extends S{_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}),v}return M(e.data)}};ve.create=t=>new ve({typeName:x.ZodNull,...k(t)});var ae=class extends S{constructor(){super(...arguments),this._any=!0}_parse(e){return M(e.data)}};ae.create=t=>new ae({typeName:x.ZodAny,...k(t)});var re=class extends S{constructor(){super(...arguments),this._unknown=!0}_parse(e){return M(e.data)}};re.create=t=>new re({typeName:x.ZodUnknown,...k(t)});var K=class extends S{_parse(e){let r=this._getOrReturnCtx(e);return g(r,{code:p.invalid_type,expected:y.never,received:r.parsedType}),v}};K.create=t=>new K({typeName:x.ZodNever,...k(t)});var je=class extends S{_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}),v}return M(e.data)}};je.create=t=>new je({typeName:x.ZodVoid,...k(t)});var ne=class t extends S{_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}),v;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 H(r,o,r.path,a)))).then(o=>P.mergeArray(n,o));let i=[...r.data].map((o,a)=>s.type._parseSync(new H(r,o,r.path,a)));return P.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)}};ne.create=(t,e)=>new ne({type:t,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...k(e)});function Fe(t){if(t instanceof j){let e={};for(let r in t.shape){let n=t.shape[r];e[r]=U.create(Fe(n))}return new j({...t._def,shape:()=>e})}else return t instanceof ne?new ne({...t._def,type:Fe(t.element)}):t instanceof U?U.create(Fe(t.unwrap())):t instanceof X?X.create(Fe(t.unwrap())):t instanceof J?J.create(t.items.map(e=>Fe(e))):t}var j=class t extends S{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=T.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}),v}let{status:n,ctx:s}=this._processInputParams(e),{shape:i,keys:o}=this._getCached(),a=[];if(!(this._def.catchall instanceof K&&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 H(s,f,s.path,u)),alwaysSet:u in s.data})}if(this._def.catchall instanceof K){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 H(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=>P.mergeObjectSync(n,u)):P.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:x.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 T.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 T.objectKeys(this.shape))e[n]||(r[n]=this.shape[n]);return new t({...this._def,shape:()=>r})}deepPartial(){return Fe(this)}partial(e){let r={};for(let n of T.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 T.objectKeys(this.shape))if(e&&!e[n])r[n]=this.shape[n];else{let i=this.shape[n];for(;i instanceof U;)i=i._def.innerType;r[n]=i}return new t({...this._def,shape:()=>r})}keyof(){return kn(T.objectKeys(this.shape))}};j.create=(t,e)=>new j({shape:()=>t,unknownKeys:"strip",catchall:K.create(),typeName:x.ZodObject,...k(e)});j.strictCreate=(t,e)=>new j({shape:()=>t,unknownKeys:"strict",catchall:K.create(),typeName:x.ZodObject,...k(e)});j.lazycreate=(t,e)=>new j({shape:t,unknownKeys:"strip",catchall:K.create(),typeName:x.ZodObject,...k(e)});var xe=class extends S{_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 B(a.ctx.common.issues));return g(r,{code:p.invalid_union,unionErrors:o}),v}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 B(c));return g(r,{code:p.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};xe.create=(t,e)=>new xe({options:t,typeName:x.ZodUnion,...k(e)});var te=t=>t instanceof Ee?te(t.schema):t instanceof V?te(t.innerType()):t instanceof ke?[t.value]:t instanceof Se?t.options:t instanceof Te?T.objectValues(t.enum):t instanceof Re?te(t._def.innerType):t instanceof be?[void 0]:t instanceof ve?[null]:t instanceof U?[void 0,...te(t.unwrap())]:t instanceof X?[null,...te(t.unwrap())]:t instanceof Je||t instanceof Ce?te(t.unwrap()):t instanceof Ae?te(t._def.innerType):[],gt=class t extends S{_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}),v;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]}),v)}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=te(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:x.ZodDiscriminatedUnion,discriminator:e,options:r,optionsMap:s,...k(n)})}};function Ut(t,e){let r=Y(t),n=Y(e);if(t===e)return{valid:!0,data:t};if(r===y.object&&n===y.object){let s=T.objectKeys(e),i=T.objectKeys(t).filter(a=>s.indexOf(a)!==-1),o={...t,...e};for(let a of i){let c=Ut(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=Ut(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 we=class extends S{_parse(e){let{status:r,ctx:n}=this._processInputParams(e),s=(i,o)=>{if(mt(i)||mt(o))return v;let a=Ut(i.value,o.value);return a.valid?((ht(i)||ht(o))&&r.dirty(),{status:r.value,value:a.data}):(g(n,{code:p.invalid_intersection_types}),v)};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}))}};we.create=(t,e,r)=>new we({left:t,right:e,typeName:x.ZodIntersection,...k(r)});var J=class t extends S{_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}),v;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"}),v;!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 H(n,o,n.path,a)):null}).filter(o=>!!o);return n.common.async?Promise.all(i).then(o=>P.mergeArray(r,o)):P.mergeArray(r,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};J.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new J({items:t,typeName:x.ZodTuple,rest:null,...k(e)})};var yt=class t extends S{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}),v;let s=[],i=this._def.keyType,o=this._def.valueType;for(let a in n.data)s.push({key:i._parse(new H(n,a,n.path,a)),value:o._parse(new H(n,n.data[a],n.path,a)),alwaysSet:a in n.data});return n.common.async?P.mergeObjectAsync(r,s):P.mergeObjectSync(r,s)}get element(){return this._def.valueType}static create(e,r,n){return r instanceof S?new t({keyType:e,valueType:r,typeName:x.ZodRecord,...k(n)}):new t({keyType:oe.create(),valueType:e,typeName:x.ZodRecord,...k(r)})}},ze=class extends S{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}),v;let s=this._def.keyType,i=this._def.valueType,o=[...n.data.entries()].map(([a,c],u)=>({key:s._parse(new H(n,a,n.path,[u,"key"])),value:i._parse(new H(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 v;(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 v;(u.status==="dirty"||l.status==="dirty")&&r.dirty(),a.set(u.value,l.value)}return{status:r.value,value:a}}}};ze.create=(t,e,r)=>new ze({valueType:e,keyType:t,typeName:x.ZodMap,...k(r)});var Ze=class t extends S{_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}),v;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 v;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 H(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)}};Ze.create=(t,e)=>new Ze({valueType:t,minSize:null,maxSize:null,typeName:x.ZodSet,...k(e)});var _t=class t extends S{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}),v;function n(a,c){return Ye({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Me(),ee].filter(u=>!!u),issueData:{code:p.invalid_arguments,argumentsError:c}})}function s(a,c){return Ye({data:a,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,Me(),ee].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 ce){let a=this;return M(async function(...c){let u=new B([]),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 B([n(c,u.error)]);let l=Reflect.apply(o,this,u.data),f=a._def.returns.safeParse(l,i);if(!f.success)throw new B([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:J.create(e).rest(re.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||J.create([]).rest(re.create()),returns:r||re.create(),typeName:x.ZodFunction,...k(n)})}},Ee=class extends S{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})}};Ee.create=(t,e)=>new Ee({getter:t,typeName:x.ZodLazy,...k(e)});var ke=class extends S{_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}),v}return{status:"valid",value:e.data}}get value(){return this._def.value}};ke.create=(t,e)=>new ke({value:t,typeName:x.ZodLiteral,...k(e)});function kn(t,e){return new Se({values:t,typeName:x.ZodEnum,...k(e)})}var Se=class t extends S{_parse(e){if(typeof e.data!="string"){let r=this._getOrReturnCtx(e),n=this._def.values;return g(r,{expected:T.joinValues(n),received:r.parsedType,code:p.invalid_type}),v}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}),v}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})}};Se.create=kn;var Te=class extends S{_parse(e){let r=T.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==y.string&&n.parsedType!==y.number){let s=T.objectValues(r);return g(n,{expected:T.joinValues(s),received:n.parsedType,code:p.invalid_type}),v}if(this._cache||(this._cache=new Set(T.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=T.objectValues(r);return g(n,{received:n.data,code:p.invalid_enum_value,options:s}),v}return M(e.data)}get enum(){return this._def.values}};Te.create=(t,e)=>new Te({values:t,typeName:x.ZodNativeEnum,...k(e)});var ce=class extends S{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}),v;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})))}};ce.create=(t,e)=>new ce({type:t,typeName:x.ZodPromise,...k(e)});var V=class extends S{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.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 v;let c=await this._def.schema._parseAsync({data:a,path:n.path,parent:n});return c.status==="aborted"?v:c.status==="dirty"?me(c.value):r.value==="dirty"?me(c.value):c});{if(r.value==="aborted")return v;let a=this._def.schema._parseSync({data:o,path:n.path,parent:n});return a.status==="aborted"?v:a.status==="dirty"?me(a.value):r.value==="dirty"?me(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"?v:(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"?v:(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(!ie(o))return v;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=>ie(o)?Promise.resolve(s.transform(o.value,i)).then(a=>({status:r.value,value:a})):v);T.assertNever(s)}};V.create=(t,e,r)=>new V({schema:t,typeName:x.ZodEffects,effect:e,...k(r)});V.createWithPreprocess=(t,e,r)=>new V({schema:e,effect:{type:"preprocess",transform:t},typeName:x.ZodEffects,...k(r)});var U=class extends S{_parse(e){return this._getType(e)===y.undefined?M(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};U.create=(t,e)=>new U({innerType:t,typeName:x.ZodOptional,...k(e)});var X=class extends S{_parse(e){return this._getType(e)===y.null?M(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};X.create=(t,e)=>new X({innerType:t,typeName:x.ZodNullable,...k(e)});var Re=class extends S{_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}};Re.create=(t,e)=>new Re({innerType:t,typeName:x.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...k(e)});var Ae=class extends S{_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 Le(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new B(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new B(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}};Ae.create=(t,e)=>new Ae({innerType:t,typeName:x.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...k(e)});var Ue=class extends S{_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}),v}return{status:"valid",value:e.data}}};Ue.create=t=>new Ue({typeName:x.ZodNaN,...k(t)});var So=Symbol("zod_brand"),Je=class extends S{_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}},Xe=class t extends S{_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"?v:i.status==="dirty"?(r.dirty(),me(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"?v: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:x.ZodPipeline})}},Ce=class extends S{_parse(e){let r=this._def.innerType._parse(e),n=s=>(ie(s)&&(s.value=Object.freeze(s.value)),s);return Le(r)?r.then(s=>n(s)):n(r)}unwrap(){return this._def.innerType}};Ce.create=(t,e)=>new Ce({innerType:t,typeName:x.ZodReadonly,...k(e)});function vn(t,e){let r=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof r=="string"?{message:r}:r}function Sn(t,e={},r){return t?ae.create().superRefine((n,s)=>{let i=t(n);if(i instanceof Promise)return i.then(o=>{if(!o){let a=vn(e,n),c=a.fatal??r??!0;s.addIssue({code:"custom",...a,fatal:c})}});if(!i){let o=vn(e,n),a=o.fatal??r??!0;s.addIssue({code:"custom",...o,fatal:a})}}):ae.create()}var To={object:j.lazycreate},x;(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"})(x||(x={}));var Ro=(t,e={message:`Input not instance of ${t.name}`})=>Sn(r=>r instanceof t,e),Tn=oe.create,Rn=he.create,Ao=Ue.create,Co=ge.create,An=ye.create,Io=_e.create,$o=Be.create,Oo=be.create,No=ve.create,Do=ae.create,Po=re.create,Mo=K.create,Lo=je.create,Fo=ne.create,Bo=j.create,jo=j.strictCreate,zo=xe.create,Zo=gt.create,Uo=we.create,Ho=J.create,Vo=yt.create,Ko=ze.create,Go=Ze.create,Wo=_t.create,qo=Ee.create,Yo=ke.create,Jo=Se.create,Xo=Te.create,Qo=ce.create,ea=V.create,ta=U.create,ra=X.create,na=V.createWithPreprocess,sa=Xe.create,ia=()=>Tn().optional(),oa=()=>Rn().optional(),aa=()=>An().optional(),ca={string:(t=>oe.create({...t,coerce:!0})),number:(t=>he.create({...t,coerce:!0})),boolean:(t=>ye.create({...t,coerce:!0})),bigint:(t=>ge.create({...t,coerce:!0})),date:(t=>_e.create({...t,coerce:!0}))};var ua=v;var He=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 ma=fa(pa(import.meta.url)),Cn=process.env.TOKMIZER_FILTERS_DIR||$n(ma,"..","..","filters"),ue=null,In=!1;function ha(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function On(){if(ue)return ue;if(!ha())return!In&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
|
|
4
|
-
|
|
5
|
-
`)
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
`):null,a=[...a.slice(0,_),...O>0?[xt(O)]:[],...E.filter(N=>le.test(N))]}else if(u)l=a.slice(_).join(`
|
|
9
|
-
`
|
|
3
|
+
var Sc=Object.create;var Wn=Object.defineProperty;var Ec=Object.getOwnPropertyDescriptor;var Tc=Object.getOwnPropertyNames;var $c=Object.getPrototypeOf,Rc=Object.prototype.hasOwnProperty;var ke=(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 de=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},Hs=(e,t)=>{for(var n in t)Wn(e,n,{get:t[n],enumerable:!0})},Ac=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Tc(t))!Rc.call(e,s)&&s!==n&&Wn(e,s,{get:()=>t[s],enumerable:!(r=Ec(t,s))||r.enumerable});return e};var Cc=(e,t,n)=>(n=e!=null?Sc($c(e)):{},Ac(t||!e||!e.__esModule?Wn(n,"default",{value:e,enumerable:!0}):n,e));var Js=q((Kk,Zs)=>{Zs.exports=Us;Us.sync=Oc;var Bs=ke("fs");function Ic(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 zs(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Ic(t,n)}function Us(e,t,n){Bs.stat(e,function(r,s){n(r,r?!1:zs(s,e,t))})}function Oc(e,t){return zs(Bs.statSync(e),e,t)}});var qs=q((Vk,Ws)=>{Ws.exports=Ks;Ks.sync=Pc;var Gs=ke("fs");function Ks(e,t,n){Gs.stat(e,function(r,s){n(r,r?!1:Vs(s,t))})}function Pc(e,t){return Vs(Gs.statSync(e),t)}function Vs(e,t){return e.isFile()&&Nc(e,t)}function Nc(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 Xs=q((qk,Ys)=>{var Wk=ke("fs"),sn;process.platform==="win32"||global.TESTING_WINDOWS?sn=Js():sn=qs();Ys.exports=qn;qn.sync=Dc;function qn(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){qn(e,t||{},function(o,i){o?s(o):r(i)})})}sn(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Dc(e,t){try{return sn.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var oo=q((Yk,so)=>{var nt=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",Qs=ke("path"),Mc=nt?";":":",eo=Xs(),to=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),no=(e,t)=>{let n=t.colon||Mc,r=e.match(/\//)||nt&&e.match(/\\/)?[""]:[...nt?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=nt?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=nt?s.split(n):[""];return nt&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},ro=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=no(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(to(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,h=Qs.join(m,e),w=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+h:h;u(l(w,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let h=s[f];eo(c+h,{pathExt:o},(w,b)=>{if(!w&&b)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)},Fc=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=no(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=Qs.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(eo.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 to(e)};so.exports=ro;ro.sync=Fc});var ao=q((Xk,Yn)=>{"use strict";var io=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Yn.exports=io;Yn.exports.default=io});var fo=q((Qk,uo)=>{"use strict";var lo=ke("path"),Lc=oo(),jc=ao();function co(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=Lc.sync(e.command,{path:n[jc({env:n})],pathExt:t?lo.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=lo.resolve(s?e.options.cwd:"",i)),i}function Hc(e){return co(e)||co(e,!0)}uo.exports=Hc});var mo=q((eb,Qn)=>{"use strict";var Xn=/([()\][%!^"`<>&|;, *?])/g;function Bc(e){return e=e.replace(Xn,"^$1"),e}function zc(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xn,"^$1"),t&&(e=e.replace(Xn,"^$1")),e}Qn.exports.command=Bc;Qn.exports.argument=zc});var ho=q((tb,po)=>{"use strict";po.exports=/^#!(.*)/});var yo=q((nb,go)=>{"use strict";var Uc=ho();go.exports=(e="")=>{let t=e.match(Uc);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var bo=q((rb,ko)=>{"use strict";var er=ke("fs"),Zc=yo();function Jc(e){let n=Buffer.alloc(150),r;try{r=er.openSync(e,"r"),er.readSync(r,n,0,150,0),er.closeSync(r)}catch{}return Zc(n.toString())}ko.exports=Jc});var vo=q((sb,xo)=>{"use strict";var Gc=ke("path"),_o=fo(),wo=mo(),Kc=bo(),Vc=process.platform==="win32",Wc=/\.(?:com|exe)$/i,qc=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Yc(e){e.file=_o(e);let t=e.file&&Kc(e.file);return t?(e.args.unshift(e.file),e.command=t,_o(e)):e.file}function Xc(e){if(!Vc)return e;let t=Yc(e),n=!Wc.test(t);if(e.options.forceShell||n){let r=qc.test(t);e.command=Gc.normalize(e.command),e.command=wo.command(e.command),e.args=e.args.map(o=>wo.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 Qc(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:Xc(r)}xo.exports=Qc});var To=q((ob,Eo)=>{"use strict";var tr=process.platform==="win32";function nr(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 eu(e,t){if(!tr)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=So(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function So(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawn"):null}function tu(e,t){return tr&&e===1&&!t.file?nr(t.original,"spawnSync"):null}Eo.exports={hookChildProcess:eu,verifyENOENT:So,verifyENOENTSync:tu,notFoundError:nr}});var Ao=q((ib,rt)=>{"use strict";var $o=ke("child_process"),rr=vo(),sr=To();function Ro(e,t,n){let r=rr(e,t,n),s=$o.spawn(r.command,r.args,r.options);return sr.hookChildProcess(s,r),s}function nu(e,t,n){let r=rr(e,t,n),s=$o.spawnSync(r.command,r.args,r.options);return s.error=s.error||sr.verifyENOENTSync(s.status,r),s}rt.exports=Ro;rt.exports.spawn=Ro;rt.exports.sync=nu;rt.exports._parse=rr;rt.exports._enoent=sr});function pf(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function hf(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,Ve=de(()=>{v=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=pf(n.toml,n.ptr),o=hf(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 fn(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 lr=de(()=>{Ve();});var gf,We,cr=de(()=>{gf=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,We=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(gf);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 Y(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function fr(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Nt(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?Uo(e):zo(e);return e.d++,s}return r===34||r===39?fn(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?dn(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?yf(e,r,t):e.s.charCodeAt(e.p+2)===58?kf(e,r,t):dn(e,e.p,r,0,t)}function dn(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||fr(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return ur(e,t,16,s);if(o===98)return ur(e,t,2,s);if(o===111)return ur(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:v.x("illegal leading zero",e,t)}else Y(o)||v.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!fr(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)||(Y(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):Bo(e,l,10,t)}function ur(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!fr(s,r));)s===95?(o&1&&v.x("illegal underscore",e),o=3):Y(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("_","")),Bo(e,i,n,t)}function Bo(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 yf(e,t,n){let r=e.p++,s;if(!Y(t)||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++)))return dn(e,e.p=r,t,0,n);if(e.p+=5,Y(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,!Y(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return Pt(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(;Y(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 Pt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return Pt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return Pt(e,o,2,s,r)}function kf(e,t,n){let r=e.p;if(!Y(t)||!Y(e.s.charCodeAt(++e.p)))return dn(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return Pt(e,s,4,!1,r)}function Pt(e,t,n,r,s,o){if(e.ld){let i=new We(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 dr=de(()=>{lr();mr();Ve();cr();});function bf(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 ie(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;bf(e)}}var pr=de(()=>{Ve();});function mn(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(fn(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 zo(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ie(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=mn(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),ie(e,!0,!0);let u=Nt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ie(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 Uo(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ie(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Nt(e,93)),ie(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 mr=de(()=>{lr();dr();pr();Ve();});function Zo(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 Jo(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 hr(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++,ie(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=mn(n,93);c&&(e.charCodeAt(n.p)!==93&&v.x("expected end of table array declaration",n),n.p++);let f=Zo(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(Jo(n,f,o),i=!0)}else{o=n.p;let c=mn(n),u=Zo(n,c,a,l,0);!u&&!i&&Jo(n,u,o),ie(n,!0,!0);let f=Nt(n,void 0);u&&!i&&(u[1][u[0]]=f)}ie(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),ie(n)}return r}var Go=de(()=>{mr();dr();pr();Ve();});function Dt(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 wf(e){for(let t=0;t<e.length;t++)if(Dt(e[t])!=="object")return!1;return e.length!=0}function Vo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function xf(e){return Vo(Ko?e.toWellFormed():e)}function Wo(e){if(_f.test(e))return e;if(Ko&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Vo(e)}function gr(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 xf(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return vf(e,n,r,s);case"array":return Sf(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 vf(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+=Wo(a)+" = "+gr(e[a],Dt(e[a]),t-1,n,r)}return o+" }"}function Sf(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+=gr(e[o],Dt(e[o]),t-1,n,r)}return s+" ]"}function Ef(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+=yr(0,e[i],t,n,r,s);return o}function yr(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=Dt(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=Wo(u);if(f==="array"&&wf(t[u]))a+=(a&&`
|
|
11
|
+
`)+Ef(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
|
|
12
|
+
`)+yr(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=gr(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 kr(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Dt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=yr(0,e,"",t,n,r);return s[s.length-1]!==`
|
|
16
|
+
`?s+`
|
|
17
|
+
`:s}var _f,Ko,qo=de(()=>{_f=/^[a-z0-9-_]+$/i,Ko=!!"".isWellFormed});var br={};Hs(br,{TomlDate:()=>We,TomlError:()=>v,default:()=>Tf,parse:()=>hr,stringify:()=>kr});var Tf,_r=de(()=>{Go();qo();cr();Ve();Tf={parse:hr,stringify:kr,TomlDate:We,TomlError:v}});var Ps=Cc(Ao(),1);import{readdir as $f,readFile as Rf}from"node:fs/promises";import{join as Xo,dirname as Af}from"node:path";import{fileURLToPath as Cf}from"node:url";var g={};Hs(g,{BRAND:()=>Ru,DIRTY:()=>Oe,EMPTY_PATH:()=>iu,INVALID:()=>x,NEVER:()=>mf,OK:()=>j,ParseStatus:()=>L,Schema:()=>A,ZodAny:()=>we,ZodArray:()=>ge,ZodBigInt:()=>Ne,ZodBoolean:()=>De,ZodBranded:()=>It,ZodCatch:()=>Ge,ZodDate:()=>Me,ZodDefault:()=>Je,ZodDiscriminatedUnion:()=>ln,ZodEffects:()=>ne,ZodEnum:()=>Ue,ZodError:()=>Z,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>un,ZodIntersection:()=>He,ZodIssueCode:()=>p,ZodLazy:()=>Be,ZodLiteral:()=>ze,ZodMap:()=>ct,ZodNaN:()=>ft,ZodNativeEnum:()=>Ze,ZodNever:()=>oe,ZodNull:()=>Le,ZodNullable:()=>ce,ZodNumber:()=>Pe,ZodObject:()=>J,ZodOptional:()=>ee,ZodParsedType:()=>k,ZodPipeline:()=>Ot,ZodPromise:()=>xe,ZodReadonly:()=>Ke,ZodRecord:()=>cn,ZodSchema:()=>A,ZodSet:()=>ut,ZodString:()=>_e,ZodSymbol:()=>at,ZodTransformer:()=>ne,ZodTuple:()=>le,ZodType:()=>A,ZodUndefined:()=>Fe,ZodUnion:()=>je,ZodUnknown:()=>he,ZodVoid:()=>lt,addIssueToContext:()=>y,any:()=>Fu,array:()=>Bu,bigint:()=>Ou,boolean:()=>Ho,coerce:()=>df,custom:()=>Fo,date:()=>Pu,datetimeRegex:()=>Do,defaultErrorMap:()=>me,discriminatedUnion:()=>Ju,effect:()=>rf,enum:()=>ef,function:()=>Yu,getErrorMap:()=>st,getParsedType:()=>ae,instanceof:()=>Cu,intersection:()=>Gu,isAborted:()=>on,isAsync:()=>ot,isDirty:()=>an,isValid:()=>be,late:()=>Au,lazy:()=>Xu,literal:()=>Qu,makeIssue:()=>Ct,map:()=>Wu,nan:()=>Iu,nativeEnum:()=>tf,never:()=>ju,null:()=>Mu,nullable:()=>of,number:()=>jo,object:()=>zu,objectUtil:()=>or,oboolean:()=>ff,onumber:()=>uf,optional:()=>sf,ostring:()=>cf,pipeline:()=>lf,preprocess:()=>af,promise:()=>nf,quotelessJson:()=>ru,record:()=>Vu,set:()=>qu,setErrorMap:()=>ou,strictObject:()=>Uu,string:()=>Lo,symbol:()=>Nu,transformer:()=>rf,tuple:()=>Ku,undefined:()=>Du,union:()=>Zu,unknown:()=>Lu,util:()=>C,void:()=>Hu});var C;(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})(C||(C={}));var or;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(or||(or={}));var k=C.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ae=e=>{switch(typeof e){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(e)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(e)?k.array:e===null?k.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?k.promise:typeof Map<"u"&&e instanceof Map?k.map:typeof Set<"u"&&e instanceof Set?k.set:typeof Date<"u"&&e instanceof Date?k.date:k.object;default:return k.unknown}};var p=C.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"]),ru=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,C.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 su=(e,t)=>{let n;switch(e.code){case p.invalid_type:e.received===k.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case p.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,C.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:n=`Unrecognized key(s) in object: ${C.joinValues(e.keys,", ")}`;break;case p.invalid_union:n="Invalid input";break;case p.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${C.joinValues(e.options)}`;break;case p.invalid_enum_value:n=`Invalid enum value. Expected ${C.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}"`:C.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,C.assertNever(e)}return{message:n}},me=su;var Co=me;function ou(e){Co=e}function st(){return Co}var Ct=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}},iu=[];function y(e,t){let n=st(),r=Ct({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===me?void 0:me].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 x;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 x;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}}},x=Object.freeze({status:"aborted"}),Oe=e=>({status:"dirty",value:e}),j=e=>({status:"valid",value:e}),on=e=>e.status==="aborted",an=e=>e.status==="dirty",be=e=>e.status==="valid",ot=e=>typeof Promise<"u"&&e instanceof Promise;var _;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(_||(_={}));var te=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}},Io=(e,t)=>{if(be(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 ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ae(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:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(ot(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:ae(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Io(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return be(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=>be(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:ae(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(ot(s)?s:Promise.resolve(s));return Io(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 ne({schema:this,typeName:T.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 ee.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ge.create(this)}promise(){return xe.create(this,this._def)}or(t){return je.create([this,t],this._def)}and(t){return He.create(this,t,this._def)}transform(t){return new ne({...$(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Je({...$(this._def),innerType:this,defaultValue:n,typeName:T.ZodDefault})}brand(){return new It({typeName:T.ZodBranded,type:this,...$(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ge({...$(this._def),innerType:this,catchValue:n,typeName:T.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return Ot.create(this,t)}readonly(){return Ke.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},au=/^c[^\s-]{8,}$/i,lu=/^[0-9a-z]+$/,cu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,uu=/^[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,fu=/^[a-z0-9_-]{21}$/i,du=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,mu=/^[-+]?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)?)??$/,pu=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,hu="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",ir,gu=/^(?:(?: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])$/,yu=/^(?:(?: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])$/,ku=/^(([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]))$/,bu=/^(([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])$/,_u=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,wu=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Po="((\\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])))",xu=new RegExp(`^${Po}$`);function No(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 vu(e){return new RegExp(`^${No(e)}$`)}function Do(e){let t=`${Po}T${No(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 Su(e,t){return!!((t==="v4"||!t)&&gu.test(e)||(t==="v6"||!t)&&ku.test(e))}function Eu(e,t){if(!du.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 Tu(e,t){return!!((t==="v4"||!t)&&yu.test(e)||(t==="v6"||!t)&&bu.test(e))}var _e=class e extends A{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==k.string){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.string,received:o.parsedType}),x}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),y(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),y(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?y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")pu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"email",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ir||(ir=new RegExp(hu,"u")),ir.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"emoji",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")uu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"uuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")fu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")au.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")lu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")cu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(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),y(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),y(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),y(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),y(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),y(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Do(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?xu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?vu(o).test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{code:p.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?mu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"duration",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Su(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"ip",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Eu(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"jwt",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Tu(t.data,o.version)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"cidr",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?_u.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64",code:p.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?wu.test(t.data)||(s=this._getOrReturnCtx(t,s),y(s,{validation:"base64url",code:p.invalid_string,message:o.message}),r.dirty()):C.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,..._.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",..._.errToObj(t)})}url(t){return this._addCheck({kind:"url",..._.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",..._.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",..._.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",..._.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",..._.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",..._.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",..._.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",..._.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",..._.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",..._.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",..._.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",..._.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,..._.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,..._.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",..._.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,..._.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,..._.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,..._.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,..._.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,..._.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,..._.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,..._.errToObj(n)})}nonempty(t){return this.min(1,_.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}};_e.create=e=>new _e({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...$(e)});function $u(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 Pe=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)!==k.number){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.number,received:o.parsedType}),x}let r,s=new L;for(let o of this._def.checks)o.kind==="int"?C.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),y(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),y(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),y(r,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?$u(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),y(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),y(r,{code:p.not_finite,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:_.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:_.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:_.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:_.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"&&C.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)}};Pe.create=e=>new Pe({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...$(e)});var Ne=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)!==k.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),y(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),y(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),y(r,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):C.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.bigint,received:n.parsedType}),x}gte(t,n){return this.setLimit("min",t,!0,_.toString(n))}gt(t,n){return this.setLimit("min",t,!1,_.toString(n))}lte(t,n){return this.setLimit("max",t,!0,_.toString(n))}lt(t,n){return this.setLimit("max",t,!1,_.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:_.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:_.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:_.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:_.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:_.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:_.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}};Ne.create=e=>new Ne({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...$(e)});var De=class extends A{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==k.boolean){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.boolean,received:r.parsedType}),x}return j(t.data)}};De.create=e=>new De({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...$(e)});var Me=class e extends A{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==k.date){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_type,expected:k.date,received:o.parsedType}),x}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return y(o,{code:p.invalid_date}),x}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),y(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),y(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):C.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:_.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:_.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}};Me.create=e=>new Me({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...$(e)});var at=class extends A{_parse(t){if(this._getType(t)!==k.symbol){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.symbol,received:r.parsedType}),x}return j(t.data)}};at.create=e=>new at({typeName:T.ZodSymbol,...$(e)});var Fe=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.undefined,received:r.parsedType}),x}return j(t.data)}};Fe.create=e=>new Fe({typeName:T.ZodUndefined,...$(e)});var Le=class extends A{_parse(t){if(this._getType(t)!==k.null){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.null,received:r.parsedType}),x}return j(t.data)}};Le.create=e=>new Le({typeName:T.ZodNull,...$(e)});var we=class extends A{constructor(){super(...arguments),this._any=!0}_parse(t){return j(t.data)}};we.create=e=>new we({typeName:T.ZodAny,...$(e)});var he=class extends A{constructor(){super(...arguments),this._unknown=!0}_parse(t){return j(t.data)}};he.create=e=>new he({typeName:T.ZodUnknown,...$(e)});var oe=class extends A{_parse(t){let n=this._getOrReturnCtx(t);return y(n,{code:p.invalid_type,expected:k.never,received:n.parsedType}),x}};oe.create=e=>new oe({typeName:T.ZodNever,...$(e)});var lt=class extends A{_parse(t){if(this._getType(t)!==k.undefined){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.void,received:r.parsedType}),x}return j(t.data)}};lt.create=e=>new lt({typeName:T.ZodVoid,...$(e)});var ge=class e extends A{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==k.array)return y(n,{code:p.invalid_type,expected:k.array,received:n.parsedType}),x;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(y(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&&(y(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&&(y(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 te(n,i,n.path,a)))).then(i=>L.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new te(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:_.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:_.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:_.toString(n)}})}nonempty(t){return this.min(1,t)}};ge.create=(e,t)=>new ge({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...$(t)});function it(e){if(e instanceof J){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=ee.create(it(r))}return new J({...e._def,shape:()=>t})}else return e instanceof ge?new ge({...e._def,type:it(e.element)}):e instanceof ee?ee.create(it(e.unwrap())):e instanceof ce?ce.create(it(e.unwrap())):e instanceof le?le.create(e.items.map(t=>it(t))):e}var J=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=C.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==k.object){let c=this._getOrReturnCtx(t);return y(c,{code:p.invalid_type,expected:k.object,received:c.parsedType}),x}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof oe&&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 te(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof oe){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&&(y(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 te(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 _.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:_.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:T.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 C.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 C.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return it(this)}partial(t){let n={};for(let r of C.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 C.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof ee;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mo(C.objectKeys(this.shape))}};J.create=(e,t)=>new J({shape:()=>e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.strictCreate=(e,t)=>new J({shape:()=>e,unknownKeys:"strict",catchall:oe.create(),typeName:T.ZodObject,...$(t)});J.lazycreate=(e,t)=>new J({shape:e,unknownKeys:"strip",catchall:oe.create(),typeName:T.ZodObject,...$(t)});var je=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 y(n,{code:p.invalid_union,unionErrors:i}),x}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 y(n,{code:p.invalid_union,unionErrors:a}),x}}get options(){return this._def.options}};je.create=(e,t)=>new je({options:e,typeName:T.ZodUnion,...$(t)});var pe=e=>e instanceof Be?pe(e.schema):e instanceof ne?pe(e.innerType()):e instanceof ze?[e.value]:e instanceof Ue?e.options:e instanceof Ze?C.objectValues(e.enum):e instanceof Je?pe(e._def.innerType):e instanceof Fe?[void 0]:e instanceof Le?[null]:e instanceof ee?[void 0,...pe(e.unwrap())]:e instanceof ce?[null,...pe(e.unwrap())]:e instanceof It||e instanceof Ke?pe(e.unwrap()):e instanceof Ge?pe(e._def.innerType):[],ln=class e extends A{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.object)return y(n,{code:p.invalid_type,expected:k.object,received:n.parsedType}),x;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}):(y(n,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),x)}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=pe(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:T.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...$(r)})}};function ar(e,t){let n=ae(e),r=ae(t);if(e===t)return{valid:!0,data:e};if(n===k.object&&r===k.object){let s=C.objectKeys(t),o=C.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=ar(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===k.array&&r===k.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=ar(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===k.date&&r===k.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var He=class extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(on(o)||on(i))return x;let a=ar(o.value,i.value);return a.valid?((an(o)||an(i))&&n.dirty(),{status:n.value,value:a.data}):(y(r,{code:p.invalid_intersection_types}),x)};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}))}};He.create=(e,t,n)=>new He({left:e,right:t,typeName:T.ZodIntersection,...$(n)});var le=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.array)return y(r,{code:p.invalid_type,expected:k.array,received:r.parsedType}),x;if(r.data.length<this._def.items.length)return y(r,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),x;!this._def.rest&&r.data.length>this._def.items.length&&(y(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 te(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})}};le.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:e,typeName:T.ZodTuple,rest:null,...$(t)})};var cn=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!==k.object)return y(r,{code:p.invalid_type,expected:k.object,received:r.parsedType}),x;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new te(r,a,r.path,a)),value:i._parse(new te(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:T.ZodRecord,...$(r)}):new e({keyType:_e.create(),valueType:t,typeName:T.ZodRecord,...$(n)})}},ct=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!==k.map)return y(r,{code:p.invalid_type,expected:k.map,received:r.parsedType}),x;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new te(r,a,r.path,[c,"key"])),value:o._parse(new te(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 x;(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 x;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};ct.create=(e,t,n)=>new ct({valueType:t,keyType:e,typeName:T.ZodMap,...$(n)});var ut=class e extends A{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==k.set)return y(r,{code:p.invalid_type,expected:k.set,received:r.parsedType}),x;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(y(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&&(y(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 x;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 te(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:_.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:_.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};ut.create=(e,t)=>new ut({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...$(t)});var un=class e extends A{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.function)return y(n,{code:p.invalid_type,expected:k.function,received:n.parsedType}),x;function r(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].filter(c=>!!c),issueData:{code:p.invalid_arguments,argumentsError:l}})}function s(a,l){return Ct({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,st(),me].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 xe){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:le.create(t).rest(he.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||le.create([]).rest(he.create()),returns:n||he.create(),typeName:T.ZodFunction,...$(r)})}},Be=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})}};Be.create=(e,t)=>new Be({getter:e,typeName:T.ZodLazy,...$(t)});var ze=class extends A{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return y(n,{received:n.data,code:p.invalid_literal,expected:this._def.value}),x}return{status:"valid",value:t.data}}get value(){return this._def.value}};ze.create=(e,t)=>new ze({value:e,typeName:T.ZodLiteral,...$(t)});function Mo(e,t){return new Ue({values:e,typeName:T.ZodEnum,...$(t)})}var Ue=class e extends A{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return y(n,{expected:C.joinValues(r),received:n.parsedType,code:p.invalid_type}),x}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 y(n,{received:n.data,code:p.invalid_enum_value,options:r}),x}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})}};Ue.create=Mo;var Ze=class extends A{_parse(t){let n=C.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==k.string&&r.parsedType!==k.number){let s=C.objectValues(n);return y(r,{expected:C.joinValues(s),received:r.parsedType,code:p.invalid_type}),x}if(this._cache||(this._cache=new Set(C.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=C.objectValues(n);return y(r,{received:r.data,code:p.invalid_enum_value,options:s}),x}return j(t.data)}get enum(){return this._def.values}};Ze.create=(e,t)=>new Ze({values:e,typeName:T.ZodNativeEnum,...$(t)});var xe=class extends A{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==k.promise&&n.common.async===!1)return y(n,{code:p.invalid_type,expected:k.promise,received:n.parsedType}),x;let r=n.parsedType===k.promise?n.data:Promise.resolve(n.data);return j(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};xe.create=(e,t)=>new xe({type:e,typeName:T.ZodPromise,...$(t)});var ne=class extends A{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.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=>{y(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 x;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?x:l.status==="dirty"?Oe(l.value):n.value==="dirty"?Oe(l.value):l});{if(n.value==="aborted")return x;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?x:a.status==="dirty"?Oe(a.value):n.value==="dirty"?Oe(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"?x:(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"?x:(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(!be(i))return x;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=>be(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):x);C.assertNever(s)}};ne.create=(e,t,n)=>new ne({schema:e,typeName:T.ZodEffects,effect:t,...$(n)});ne.createWithPreprocess=(e,t,n)=>new ne({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...$(n)});var ee=class extends A{_parse(t){return this._getType(t)===k.undefined?j(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ee.create=(e,t)=>new ee({innerType:e,typeName:T.ZodOptional,...$(t)});var ce=class extends A{_parse(t){return this._getType(t)===k.null?j(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ce.create=(e,t)=>new ce({innerType:e,typeName:T.ZodNullable,...$(t)});var Je=class extends A{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===k.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Je.create=(e,t)=>new Je({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...$(t)});var Ge=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 ot(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}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...$(t)});var ft=class extends A{_parse(t){if(this._getType(t)!==k.nan){let r=this._getOrReturnCtx(t);return y(r,{code:p.invalid_type,expected:k.nan,received:r.parsedType}),x}return{status:"valid",value:t.data}}};ft.create=e=>new ft({typeName:T.ZodNaN,...$(e)});var Ru=Symbol("zod_brand"),It=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}},Ot=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"?x:o.status==="dirty"?(n.dirty(),Oe(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"?x: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:T.ZodPipeline})}},Ke=class extends A{_parse(t){let n=this._def.innerType._parse(t),r=s=>(be(s)&&(s.value=Object.freeze(s.value)),s);return ot(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:T.ZodReadonly,...$(t)});function Oo(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fo(e,t={},n){return e?we.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Oo(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Oo(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):we.create()}var Au={object:J.lazycreate},T;(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"})(T||(T={}));var Cu=(e,t={message:`Input not instance of ${e.name}`})=>Fo(n=>n instanceof e,t),Lo=_e.create,jo=Pe.create,Iu=ft.create,Ou=Ne.create,Ho=De.create,Pu=Me.create,Nu=at.create,Du=Fe.create,Mu=Le.create,Fu=we.create,Lu=he.create,ju=oe.create,Hu=lt.create,Bu=ge.create,zu=J.create,Uu=J.strictCreate,Zu=je.create,Ju=ln.create,Gu=He.create,Ku=le.create,Vu=cn.create,Wu=ct.create,qu=ut.create,Yu=un.create,Xu=Be.create,Qu=ze.create,ef=Ue.create,tf=Ze.create,nf=xe.create,rf=ne.create,sf=ee.create,of=ce.create,af=ne.createWithPreprocess,lf=Ot.create,cf=()=>Lo().optional(),uf=()=>jo().optional(),ff=()=>Ho().optional(),df={string:(e=>_e.create({...e,coerce:!0})),number:(e=>Pe.create({...e,coerce:!0})),boolean:(e=>De.create({...e,coerce:!0})),bigint:(e=>Ne.create({...e,coerce:!0})),date:(e=>Me.create({...e,coerce:!0}))};var mf=x;var ve=g.object({slug:g.string().min(1).max(64),description:g.string().max(255).optional(),match_command:g.string().min(1),priority:g.number().int().default(50),strip_ansi:g.boolean().default(!1),strip_lines_matching:g.array(g.string()).default([]),keep_failures:g.boolean().default(!1),strip_on_failure:g.boolean().default(!1),fold_passing:g.boolean().default(!1),fold_passing_threshold:g.number().int().positive().max(1e3).optional(),mask_abs_paths:g.boolean().default(!1),preserve_exact:g.boolean().default(!1),truncate_lines_at:g.number().int().positive().max(1e4).optional(),max_lines:g.number().int().positive().max(1e5).optional(),scale_with_level:g.boolean().default(!0),transform:g.string().max(64).optional(),on_empty:g.string().max(255).optional()});var If=Af(Cf(import.meta.url)),Of=process.env.TOKMIZER_FILTERS_DIR||Xo(If,"..","..","filters"),dt=null,Yo=!1;function Pf(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function Qo(){return dt||(Pf()?(dt=await Nf(Of),dt):(!Yo&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
|
|
18
|
+
`),Yo=!0),dt=new Map,dt))}async function Nf(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(_r(),br))).parse,r=(await $f(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await Rf(Xo(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ve.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as Df}from"node:crypto";var Mf=g.enum(["normal","compact","minimal"]),Ff=g.enum(["off","light","balanced","max"]),Mt=g.object({enabled:g.boolean().default(!0),telemetryOptIn:g.boolean().default(!0),outputVerbosity:Mf.default("compact"),reducer:Ff.default("off"),filters:g.object({enableAll:g.boolean().default(!0),disabled:g.array(g.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),ei=new Map;function re(e){let t=ei.get(e);return t||(t=Df("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),ei.set(e,t)),t}var ti=new WeakMap,Lf=256;function mt(e,t,n,r=t){let s=ti.get(r);s||(s=new Map,ti.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(re(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Lf){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as Fd,readFile as Ci,writeFile as a_,mkdir as l_,rename as c_}from"node:fs/promises";import{readdirSync as Ld,statSync as $i}from"node:fs";import{createHash as jd}from"node:crypto";import{basename as m_,join as _n}from"node:path";var jf=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Hf=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ue(e){return e.replace(jf,"").replace(Hf,"")}function ni(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function ri(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 pt(e){return`\u2026 (${e} more lines omitted)`}function si(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),pt(s.length),...e.slice(e.length-r)],dropped:s}}var Bf=/^\s*(?:[✓✔√]|ok )/,Se=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function oi(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)Bf.test(a)&&!Se.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var zf=/(?:\/[\w.@+-]+){3,}/g;function ii(e){return e.map(t=>t.replace(zf,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Uf=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Zf=/\{\s*$/;var Jf=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Gf=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function Kf(e){let t=Jf.exec(e);return!t||Gf.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var Vf=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Wf(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 qf(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==="&"))&&Wf(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var ai=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Yf=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function Xf(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 wr(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Yf.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 Ft(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Uf.test(o)&&Zf.test(o)||Kf(o)||Vf.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=qf(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(Xf(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 Qf=/\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 pn(e){let t=e.slice(0,4096);return!(!Qf.test(t)||t.split(`
|
|
19
|
+
`).length<6)}var fi=/^\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*/,di=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,mi=new RegExp(Se.source,"i"),pi=/\bWARN(?:ING)?\b/i;function hi(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(di.test(s.replace(fi,""))&&!mi.test(s)&&!pi.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var ed=/^(?:DEBUG|INFO):[\w.-]+:/,td=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,nd=8,li=1,ci=2;function ui(e){if(e.trim()===""||/^\s/.test(e)||mi.test(e)||pi.test(e)||td.test(e))return null;let t=e.replace(fi,"");return di.test(t)||ed.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function gi(e){let t=[],n=0;for(;n<e.length;){let r=ui(e[n]),s=n+1;if(r!==null)for(;s<e.length&&ui(e[s])===r;)s+=1;let o=s-n;r===null||o<nd?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+li)),t.push(`\u2026 ${o-li-ci} similar log lines dropped \u2026`),t.push(...e.slice(s-ci,s))),n=s}return t}function hn(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 yi(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 ki=new Map;function G(e,t){ki.set(e,t)}function bi(e){return ki.get(e)}var rd=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,sd=/^[./~][^\s]*:$/,od=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})?`,id=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${od})\s+(.+)$`),ad={k:1,m:2,g:3,t:4,p:5},xr=1e3;function ld(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 cd(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?ad[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function ud(e){let t=id.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)?ld(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:cd(r),isDir:o}}function fd(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 dd(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(sd.test(f.trim())||!rd.test(f))return e;let d=ud(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>xr){let f=i.length-xr;i=[...i.slice(0,xr),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=fd(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}G("smart-ls",dd);G("smart-read",e=>Ft(e));var _i=1e3;function md(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 pd(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 hd(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 w=r.get(m)??[];w.push(/\s/.test(h)?`"${h}"`:h),r.set(m,w),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?md(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=pd(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>_i){let c=Math.max(0,_i-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}G("smart-find",hd);var vr=1e3,wi=200,gd=60,yd=190,kd=/^([^\s:]+):(\d+):(.*)$/,bd=/^([^:]+?)-(\d+)-(.*)$/,_d=/^([^\s:]+):(.*)$/,xi=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function vi(e){let t=e.trim();return t.length>wi?`${t.slice(0,wi)}\u2026`:t}function wd(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=yd&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function xd(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 vd(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=kd.exec(m),w=bd.exec(m);if(h&&w)return e;let b=h||w?null:_d.exec(m),R=(h??w??b)?.[1];if(!R)return e;let E=h?{line:h[2],content:h[3],context:!1}:w?{line:w[2],content:w[3],context:!0}:{line:"",content:b[2],context:!1},I=n.get(R)??[];I.push(E),n.set(R,I),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 w=xi.test(m)?1:0,b=xi.test(h)?1:0;return w-b||(m<h?-1:m>h?1:0)}),l=a.length>1?xd(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?"-":":"} ${vi(h.content)}`):u.push(` ${vi(h.content)}`)}let f=a.length>1&&u.length>gd?wd(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>vr){let m=d.length-vr;return[...d.slice(0,vr),`\u2026 ${m} more lines omitted`]}return d}G("smart-grep",vd);var Si=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Sd=/^[|\\/* ._-]*$/,Ed=/^ {4}/,Td=2;function $d(e){if(!e.some(c=>Si.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=Sd.test(u),d=f?c.slice(s):c,m=Ed.test(d),h=i&&m?null:Si.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<=Td?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}G("smart-log",$d);var Rd=/^[\s=]+$/,Ad=/^\s*=+\s+(.*?)\s+=+\s*$/,Cd=512;G("strip-banners",e=>{let t=[];for(let n of e){if(Rd.test(n))continue;let r=n.length<=Cd?Ad.exec(n):null;t.push(r?r[1]:n)}return t});function Id(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}G("squeeze-output",Id);function Od(e){return e==="compact"?.6:e==="minimal"?.3:1}var Pd=20;function Nd(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 Ei=new WeakMap;function Dd(e){let t=Ei.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Ei.set(e,r),r}function gn(e,t,n={}){return Sr(e,t,n).text}function Sr(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=Dd(t),o=e;t.strip_ansi&&(o=ue(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=>Se.test(d)||!s.stripRegexes.some(m=>m.test(d))):ni(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=hn(a),a=yi(a)),r==="minimal"&&!t.preserve_exact&&(a=hi(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=Nd(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"&&pn(o))&&(a=Ft(a,l)),t.transform){let d=bi(t.transform);t.transform==="smart-read"?a=Ft(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=wr(a);d.some(Boolean)&&(a=a.filter((m,h)=>!d[h]))}t.mask_abs_paths&&(a=ii(a)),t.fold_passing&&(a=oi(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ri(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?Od(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Pd,Math.round(t.max_lines*d))),h=c?wr(a):null,w=h?h.filter(b=>!b).length:a.length;if(w>m){let b=m;if(h){let E=0;for(b=0;b<a.length&&E<m;)h[b]||(E+=1),b+=1}let R=w-m;if(t.keep_failures){let E=a.slice(b),I=E.filter(D=>!Se.test(D)),P=E.reduce((D,X,Q)=>D+(!Se.test(X)&&!h?.[b+Q]?1:0),0);u=I.length>0?I.join(`
|
|
22
|
+
`):null,a=[...a.slice(0,b),...P>0?[pt(P)]:[],...E.filter(D=>Se.test(D))]}else if(c)u=a.slice(b).join(`
|
|
23
|
+
`),a=[...a.slice(0,b),pt(R)];else{let{kept:E,dropped:I}=si(a,m);u=I.length>0?I.join(`
|
|
10
24
|
`):null,a=E}}}let f=a.join(`
|
|
11
|
-
`);return
|
|
12
|
-
`),f.trim().length===0&&
|
|
13
|
-
`)
|
|
25
|
+
`);return i&&f.length>0&&(f+=`
|
|
26
|
+
`),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}import Md from"node:os";import{join as Lt}from"node:path";function S(){return process.env.TOKMIZER_HOME||Lt(Md.homedir(),".tokmizer")}function jt(){return Lt(S(),"install-id")}function Er(){return Lt(S(),"content-cache")}function Ti(){return Lt(S(),"restore.json")}function Tr(e){return Lt(Er(),e)}var Ii="user/",yn=1,kn=null,Ri="",Ai=0,Hd=1e3;function bn(){return _n(S(),"filters")}function Oi(){return _n(S(),"filters-trust.json")}function Pi(e){return typeof e=="string"&&e.startsWith(Ii)}function Bd(e){return jd("sha256").update(e).digest("hex")}async function zd(){try{let e=JSON.parse(await Ci(Oi(),"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 Ud(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 Zd(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Ud(e,r);if("message"in o)return o;let i=ve.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:`${Ii}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Jd(e){return e===void 0||e===yn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${yn}. Update tkr, or write the file for version ${yn}`:`schema_version must be the number ${yn}`}async function Gd(e){try{return(await Fd(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Kd(e={}){let t=e.requireTrust!==!1,n=bn(),r=new Map,s=new Map,o=[],i=await Gd(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await zd():null;for(let l of i){let c;try{c=await Ci(_n(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!==Bd(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Vd(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 Vd(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(_r(),br)),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=Jd(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=Zd(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 Wd(){let e=[];for(let t of[Oi(),bn()])try{let n=$i(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Ld(bn()).filter(n=>n.endsWith(".toml")).sort()){let n=$i(_n(bn(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function qd(){let e=Date.now();if(!kn||e-Ai>=Hd){Ai=e;let t=Wd();(!kn||t!==Ri)&&(Ri=t,kn=Kd())}return kn}async function Yd(e){let{filters:t}=await qd();return t.size===0?null:mt(e,t.values(),null,t)}function Ni(e){return async(t,n)=>await Yd(t)??e(t,n)}var Xd=[/\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 Di(e){if(!e)return!1;for(let t of ue(e).split(`
|
|
28
|
+
`))if(!/^\s*[✓✔√]\s/.test(t)&&Xd.some(n=>n.test(t)))return!0;return!1}var Qd=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),em=/^[A-Za-z_][A-Za-z0-9_]*=/,$r=/^([a-z]+)-tool(?::\s|$)/;function qe(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(em.test(a)){r++;continue}if(Qd.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 tm=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Mi(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 nm(e){let t=Mi(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Rr(e){let t=Mi(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=qe(n).split(/\s+/)[0]??"";if(!tm.has(r))return null}return nm(t[t.length-1])}function Fi(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 rm=/^(?: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 Ar(e){let t=rm.exec(e);return t?qe(e.slice(t[0].length)):null}function Li(e){let t=$r.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=Rr(n),s=r?qe(r):null,i=[s?Ar(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var ji=`
|
|
14
29
|
[YOLO: omitted]
|
|
15
|
-
`;function
|
|
16
|
-
`).map(
|
|
17
|
-
`);let
|
|
18
|
-
`&&(
|
|
30
|
+
`;function Cr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(ji,"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")+ji+t.subarray(s).toString("utf8")}var sm=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,om=/^… \([1-9]\d* more lines omitted\)$/,Ir=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function im(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
|
|
35
|
+
`:"")}function am(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
|
|
21
36
|
`)?`
|
|
22
|
-
`:"",
|
|
23
|
-
`),s=
|
|
24
|
-
`)+
|
|
25
|
-
`)+
|
|
26
|
-
`)
|
|
27
|
-
|
|
28
|
-
`)
|
|
29
|
-
`)
|
|
37
|
+
`:"",r=(n?e.slice(0,-1):e).split(`
|
|
38
|
+
`),s=r.findIndex(b=>sm.test(b));if(s>=0&&r.slice(0,s).some(b=>b!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(b)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(b=>b.index):[],i=[];for(let b=s+1;b<r.length;b+=1){let R=r[b];if(om.test(R))continue;if(/…|\.\.\./.test(R))return e;let E;if(s>=0){if(/[^\x20-\x7e]/.test(R))return e;let I=o.map((P,D)=>R.slice(P,o[D+1]));if(I.slice(0,-1).some(P=>P[0]===" "||!P.endsWith(" "))||(E=I.map(P=>P.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])||!Ir.test(E[4])||!Number.isFinite(Date.parse(E[4])))return e;if(E.some(I=>/[\u0000-\u001f\u007f]/.test(I)))return e;i.push({index:b,cells:E})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let b of i)r[b.index]=b.cells.join(" ");let a=r.join(`
|
|
39
|
+
`)+n;if(!t)return a;let l=new Map;for(let{cells:b}of i)l.set(b[1],(l.get(b[1])??0)+1);let c=new Map,u=[];for(let[b,R]of l){if(b.length<40||R<3||b.trim().split(/\s+/).length<8)continue;let E=`@${c.size+1}`,I=JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),P=`TITLE ${E} = ${I}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E))<=Buffer.byteLength(P)+1||(c.set(b,E),u.push(P))}let f=new Map;for(let{cells:b}of i){if(c.has(b[1]))continue;let R=/^((?:\S+\s+){4})\S/.exec(b[1])?.[1];R&&R.length>=24&&f.set(R,(f.get(R)??0)+1)}let d=new Map;for(let[b,R]of f){if(R<3)continue;let E=`@p${d.size+1}`,I=`TITLE prefix ${E} = ${JSON.stringify(b).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;R*(Buffer.byteLength(b)-Buffer.byteLength(E)-1)<=Buffer.byteLength(I)+1||(d.set(b,E),u.push(I))}let m=i[0].cells[4].slice(10),h=i.length>=3&&Ir.test(i[0].cells[4])&&i.every(({cells:b})=>Ir.test(b[4])&&b[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:b,cells:R}of i){let E=c.get(R[1]),I=/^((?:\S+\s+){4})\S/.exec(R[1])?.[1],P=I?d.get(I):void 0;r[b]=R.map((D,X)=>X===1?E??(P?`${P}:${D.slice(I.length)}`:D):X===4&&h?D.slice(0,10):D).join(" ")}let w=[...r,"",...u].join(`
|
|
40
|
+
`)+n;return Buffer.byteLength(w)<Buffer.byteLength(a)?w:a}var Hi={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},lm={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},cm=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,um=/^On branch (\S+)$/,fm=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function dm(e){let t=um.exec(e[0]??"");if(!t)return e;let n=fm.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 mm(e){let t=e.endsWith(`
|
|
41
|
+
`)?`
|
|
42
|
+
`:"",n=dm((t?e.slice(0,-1):e).split(`
|
|
43
|
+
`)),r=null,s=[];for(let o of n){if(Object.hasOwn(Hi,o)){r=Hi[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?cm.exec(o):null;if(!i)return e;let a=lm[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
|
|
44
|
+
`)+t}var Bi=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,pm=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function hm(e){let t=e.split(`
|
|
45
|
+
`);for(let n=0;n<t.length;n+=1){if(!pm.test(t[n]))continue;let r=n;for(;r>0&&Bi.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Bi," $1 | $2")}return t.join(`
|
|
46
|
+
`)}var gm=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,zi=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Ui=/^… \(\d+ more lines omitted\)$/;function ym(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 km(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=>zi.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(Ui.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:ym(c,a);if(!u)return[...r,...s].join(`
|
|
51
|
+
`)+t;l.push(u.join(" "))}return l.join(`
|
|
52
|
+
`)+t}function bm(e){let t=e.endsWith(`
|
|
53
|
+
`)?`
|
|
54
|
+
`:"",n=(t?e.slice(0,-1):e).split(`
|
|
55
|
+
`),r=n.findIndex(i=>zi.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(Ui.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=im(e,t==="minimal")}else n==="gh"?r=am(e,t==="minimal"):n==="git-status"?r=mm(e):n==="gcloud"?r=km(e):n==="oc"?r=bm(e):n==="git-diff"?r=hm(e):n==="tofu-plan"&&(r=e.replace(gm,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var _m=/^(?:\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|$)/,wm=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Zi(e){if(Buffer.byteLength(e)<2048||pn(e)||wm.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(_m.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 xm=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,vm=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Ji(e){return vm.test(e)}function Gi(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(!xm.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
|
|
61
|
+
`:""}`}var qi=/^(?:(?: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|$)/,Yi={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}},Sm=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Em=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,Tm=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,$m=/^\s*(>)?\s*(\d+)\s*\|/,Rm=/^\s*\|\s*[\^~]+\s*$/,Am=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function ht(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 wn(e){return Sm.test(e)}function xn(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 Pr(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||Rm.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=Em.exec(d)??Tm.exec(d);if(h){s=-1;let b=h[1].replace(/^file:\/\//,"");wn(b)||(r=xn(n,`${b}:${h[2]}${h[3]?`:${h[3]}`:""}`,r));continue}let w=$m.exec(d);if(w){s=-1,n.push({kind:"code",text:m,num:Number(w[2]),pointed:w[1]===">"});continue}if(Am.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 K(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function Cm(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=ht(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(K(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(K(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Pr(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(b=>b.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),h=d.split(" > "),w=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(w),o.push(w);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 Im(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=ht(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(K(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(K(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}=Pr(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 Xi(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}=Pr(i.get(l.name),s);l.body=c,l.loc=u}return o}function Om(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=>K(o.replace(/ \(\S+\)\s*$/,""))),s=Xi(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 Pm(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=ht(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=>K(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Xi(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 Nm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=ht(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(K(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&&!wn(h[1])&&(i.loc=xn(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 Dm(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(K(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(K(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(K(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){wn(u[1])||(a.loc=xn(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 Ki=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function Vi(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(!wn(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=xn(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 Wi(e,t){return t.push(K(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(ht([e],/(\d+) failed/)??0)+(ht([e],/(\d+) errors?\b/)??0)}function Mm(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||Ki.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=Wi(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=Wi(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(K(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=Ki.exec(f);if(h&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let w={kind:h[1],id:h[2],msg:h[3]??null,inline:[]};n.push(w),i=w;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("."),w=[h,`ERROR collecting ${f.id}`,`ERROR at setup of ${h}`,`ERROR at teardown of ${h}`].find(I=>I&&t.has(I)&&!l.has(I));w&&l.add(w);let{body:b,loc:R}=Vi(w?t.get(w):f.inline,f.msg),E=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${E} [error]`:E,loc:R,body:b})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:h}=Vi(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 Fm=[Nm,Dm,Mm,Im,Cm,Om,Pm];function Lm(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 jm(e,t,n){let r=Yi[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&&Lm(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(` ${pt(f)}`),u}function Hm(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 Bm(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 zm(e,t){let n=Yi[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:jm(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 ${Hm(o.slice(c,f+1).map(m=>m.f.name))}`:Bm(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 Qi(e,t="normal"){let n=ue(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 Fm){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:zm(s,t)}return null}import{createCipheriv as I_,createDecipheriv as Um,hkdfSync as Zm,randomBytes as O_}from"node:crypto";var Jm=Buffer.from("tokmizer-bundle-enc-v1"),Gm=Buffer.from("rules-bundle");function Km(e){return Buffer.from(Zm("sha256",Buffer.from(e,"utf8"),Jm,Gm,32))}function vn(e,t){let n=Km(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Um("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as dp,verify as mp}from"node:crypto";import{join as Vm}from"node:path";import{mkdir as M_,readFile as Wm,writeFile as F_,unlink as L_,rename as j_}from"node:fs/promises";var qm="state.json";function Ym(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Xm(e){return e?.dir??S()}async function Ht(e){let t=Xm(e);try{let n=await Wm(Vm(t,qm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Ym()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}import{createRequire as Qm}from"node:module";var ep=Qm(import.meta.url);function tp(){let e="0.9.59";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=ep(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var Bt=tp();function ea(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 ta=`-----BEGIN PUBLIC KEY-----
|
|
30
67
|
MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
|
|
31
68
|
-----END PUBLIC KEY-----
|
|
32
|
-
`;var
|
|
33
|
-
`)
|
|
34
|
-
`,{mode:384}),Hc(r,384)}catch{return}}var Jc=/^[a-z0-9][a-z0-9._-]*$/i,Xc=/^[a-z][a-z-]+$/,Qc=/^[A-Za-z_][A-Za-z0-9_]*=/,eu=new Set(["gh","glab","gup","hub","gist"]),tu=/^(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,ru=24,nu=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 _s(t){let e=t.toLowerCase();return e.startsWith("git")||eu.has(e)}function nr(t){let e=t.trim().split(/\s+/).filter(a=>a.length>0),r=0;for(;r<e.length&&Qc.test(e[r]??"");)r+=1;let n=e[r];if(!n||!Jc.test(n)||n.length>ru||_s(n)||tu.test(n)||st(n)!==n)return"";let s=e[r+1];return s&&_s(s)?"":(s&&nu.has(n.toLowerCase())&&Xc.test(s)?`${n} ${s}`:n).slice(0,64)}async function bs(t){if(!t.telemetryOptIn)return;let e=nr(t.cmd),r=e&&st(e)===e?e:"other",n=t.sessionId?t.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";St("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 vs(t){if(t.plan!=="pro"||!(await nt()).telemetryOptIn)return;let e=nr(t.cmd);!e||st(e)!==e||St("learn",{cmd:e,filterId:t.filterId==null?null:G(t.filterId),rawBytes:t.rawBytes,filteredBytes:t.filteredBytes})}import{appendFileSync as iu,chmodSync as ou,mkdirSync as au,readFileSync as Ss,renameSync as Ts,rmSync as Rs,statSync as As,writeFileSync as sr}from"node:fs";import{dirname as cu,join as Cs}from"node:path";var su={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function xs(t){return t?su[t]??"anthropic":"anthropic"}var uu="stats.jsonl",lu="stats-ledger.json",ws=2*1024*1024,du=3e4;function Is(){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 fu(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 pu(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=xs(e.h),n=t.prov[r]??{r:0,f:0};n.r+=e.r,n.f+=e.f,t.prov[r]=n}}function mu(t){let e=new Date(t*1e3);return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`}function $s(t){return Cs(cu(t),lu)}function hu(t){let e=$s(t),r;try{r=Ss(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]={...Is(),...o});return s}catch{try{Ts(e,`${e}.corrupt-${Date.now()}`)}catch{}return{}}}function Es(t,e){let r=`${t}.tmp-${process.pid}`;sr(r,e,{mode:384}),Ts(r,t)}function gu(t){try{return sr(t,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-As(t).mtimeMs<du?!1:(Rs(t,{force:!0}),sr(t,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function yu(t,e=ws,r=ws/2){try{if(As(t).size<=e)return}catch{return}let n=`${t}.lock`;if(gu(n))try{let s=Ss(t,"utf8").split(`
|
|
35
|
-
`)
|
|
69
|
+
`;import{existsSync as np,mkdirSync as G_,rmSync as K_,writeFileSync as V_}from"node:fs";import{join as rp}from"node:path";var sp=new Set(["0","off","false","no"]);var Y_=["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 op(){return rp(S(),"network-off")}function ip(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&sp.has(e.trim().toLowerCase())}function Nr(){return ip()?!1:!np(op())}var rw=300*1e3;function na(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??ta).replace(/\\n/g,`
|
|
71
|
+
`)}import{chmodSync as iw,readFileSync as ap,writeFileSync as aw,mkdirSync as lw,renameSync as cw}from"node:fs";import{join as lp}from"node:path";var cp=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1"),fetchedAt:g.number().int().nonnegative()});function up(){return lp(S(),"bundle-cache.json")}function ra(){try{let e=ap(up(),"utf8"),t=cp.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Dr=g.object({bundleVersion:g.number().int().nonnegative(),signedAt:g.number().int(),filters:g.array(ve)}),vw=g.object({payload:g.string().min(1),signature:g.string().min(1),enc:g.literal("v1")}),pp=10080*60*1e3;function hp(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:pp}function gp(e,t){let n=na();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=dp({key:n,format:"pem"});if(!mp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(vn(e.payload,t))}function yp(e,t){let n=gp(e,t),r=Dr.parse(n);if(Date.now()-r.signedAt>hp())throw new Error("tkr-daemon: rules bundle is stale");return Mr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Mr(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)=>mt(r,n.values(),o?new Set(o):null,n)}}async function sa(){try{let e=ra();if(!e)return null;let t=await Ht();return t?.signingSecret?yp(e,t.signingSecret):null}catch{return null}}var kp="tokmizer-default-rules-v1",bp=/^[0-9a-f]{16}$/,zt=null;function oa(){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(zt&&zt.sealed===e)return zt;let t=null;try{t=Dr.parse(JSON.parse(vn(e,kp)))}catch{t=null}return zt={sealed:e,bundle:t},zt}function Sn(){let e=oa();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Mr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function _p(){let e=oa();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>re(t.slug))),e.keys):null}function En(e,t=!1){if(t||!e||e.length===0){let n=_p();return n?new Set(n):null}return new Set(e.map(n=>bp.test(n)?n:re(n)))}var ia=null;function Fr(e){ia=e}async function wp(e,t){let n=await Qo();if(n.size>0)return mt(e,n.values(),t,n);let r=Sn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var xp=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,vp=2048,Sp=8192,Ep=32*1024;function Tp(e,t,n){let r=gn(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 ue(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
|
|
72
|
+
`)?`
|
|
73
|
+
`:"";return hn((s?r.slice(0,-1):r).split(`
|
|
74
|
+
`)).join(`
|
|
75
|
+
`)+s}async function Lr(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=qe(Fi(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&xp.test(Ar(c)??c)),f=Ni(a??ia??wp),d=null;for(let O of Li(e))if(d=await f(O,n),d)break;!d&&s>=vp&&!$r.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Rr(e.startsWith("bash-tool: ")?e.slice(11):e),h=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(qe(m)),w=o==null&&(h?/^(?:fatal|error):/im.test(ue(t)):Di(t)),b=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(qe(m)),E=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,I=d?.slug==="read-tool"&&s<Ep;if(!i&&(E||I||R||b&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||w,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||w)&&qi.test(c)){let O=Qi(t,l.verbosity??"normal"),F=O===null?s:Buffer.byteLength(O,"utf8");if(O!==null&&F<s)return{output:O,filterId:d.slug,rawBytes:s,filteredBytes:F,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||w)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||w,...i?{droppedTail:null}:{}};let P=O=>{if(!i)return O;let F=O.filteredBytes>s||s>0&&O.output.length===0?t:O.output,W=!O.debugBypass&&!d?.preserve_exact?Or(F,"minimal",O.filterId??""):F,rn=Cr(W)===W?W:Cr(F);return{...O,output:rn,filteredBytes:Buffer.byteLength(rn,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!w&&!Ji(e)){let O=Gi(t);if(O!==null)return P({output:O,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(O,"utf8"),debugBypass:!1,droppedTail:null})}if(u||w){let O=i?gn(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?Tp(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?ue(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(O=Zi(O)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(O)&&/^={3,} FAILURES ={3,}\r?$/m.test(O)&&(O=O.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let F=!i&&!d.preserve_exact&&s>=Sp?gi(O.split(`
|
|
78
|
+
`)).join(`
|
|
79
|
+
`):O,W=F.length<O.length;return P({output:F,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(F,"utf8"),debugBypass:!0,...W?{droppedTail:t}:{}})}let{text:D,droppedTail:X}=Sr(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),Q=!i&&!d.preserve_exact?Or(D,l.verbosity,d.slug):D,St=Buffer.byteLength(Q,"utf8");return t.trim().length>0&&St>=s?P({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):P({output:Q,filterId:d.slug,rawBytes:s,filteredBytes:St,debugBypass:!1,droppedTail:X})}function $p(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function aa(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>$p())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function la(e,t=Date.now()){return e.plan}import{readFile as Rp,writeFile as Kw,mkdir as Vw,chmod as Ww,rm as qw,rename as Yw,readdir as Xw}from"node:fs/promises";import{join as Ap}from"node:path";var Cp="settings-cache.json",ca=Mt.parse({}),nx=Mt.partial().extend({filters:Mt.shape.filters.removeDefault().partial().optional()});async function gt(){let e=null;try{let t=JSON.parse(await Rp(Ap(S(),Cp),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Mt.parse({...ca,...e}):ca}var Ip=[[/(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 Ut(e){let t=e;for(let[n,r]of Ip)t=t.replace(n,r);return t}import{join as da}from"node:path";import{appendFileSync as Np,chmodSync as Dp,existsSync as Mp,mkdirSync as Fp,readFileSync as bx,renameSync as _x,rmdirSync as wx,statSync as Lp,unlinkSync as xx,utimesSync as vx,writeFileSync as Sx}from"node:fs";import{createHash as ix,randomUUID as Op}from"node:crypto";import{readFile as ua,writeFile as fa,mkdir as Pp}from"node:fs/promises";async function jr(){try{let n=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Pp(S(),{recursive:!0});let e=Op();try{return await fa(jt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await ua(jt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await fa(jt(),e,{mode:384}),e}}var jp=512*1024;function ma(){return da(S(),"spool")}function Hp(e){return da(ma(),`${e}.jsonl`)}function Tn(e,t){if(Nr())try{Fp(ma(),{recursive:!0,mode:448});let n=Hp(e);if(Mp(n)&&Lp(n).size>=jp)return;Np(n,JSON.stringify(t)+`
|
|
80
|
+
`,{mode:384}),Dp(n,384)}catch{return}}var zp=/^[a-z0-9][a-z0-9._-]*$/i,Up=/^[a-z][a-z-]+$/,Zp=/^[A-Za-z_][A-Za-z0-9_]*=/,Jp=new Set(["gh","glab","gup","hub","gist"]),Gp=/^(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,Kp=24,ha=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"]),Vp=new Set([...ha,"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"]),Wp=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"])]]),qp=new Set(["-C","-c"]);function Yp(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 Vp.has(n.toLowerCase())?n:""}function Xp(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=qp.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function pa(e){let t=e.toLowerCase();return t.startsWith("git")||Jp.has(t)}function Hr(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Zp.test(t[n]??"");)n+=1;let r=Yp(t[n]??"");if(!r||!zp.test(r)||r.length>Kp)return"";let s=Wp.get(r.toLowerCase());if(s)return Xp(r.toLowerCase(),s,t.slice(n+1));if(pa(r)||Gp.test(r)||Ut(r)!==r)return"";let o=t[n+1];return o&&pa(o)?"":(o&&ha.has(r.toLowerCase())&&Up.test(o)?`${r} ${o}`:r).slice(0,64)}async function ga(e){if(!e.telemetryOptIn)return;let t=Hr(e.cmd),n=t&&Ut(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";Tn("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 ya(e){if(e.plan!=="pro"||Pi(e.filterId)||!(await gt()).telemetryOptIn)return;let t=Hr(e.cmd);!t||Ut(t)!==t||Tn("learn",{cmd:t,filterId:e.filterId==null?null:re(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as eh,chmodSync as th,mkdirSync as nh,readFileSync as va,realpathSync as rh,renameSync as Sa,rmSync as Ea,statSync as Ta,writeFileSync as Br}from"node:fs";import{basename as ba,dirname as $a,join as $n,resolve as sh,sep as Gx}from"node:path";var Qp={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function ka(e){return e?Qp[e]??"anthropic":"anthropic"}var oh="stats.jsonl",ih="stats-ledger.json",_a=2*1024*1024,ah=3e4,lh=3e4,ch=new Set(["n","g","e"]),uh=256;function Ra(){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 fh(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"&&ch.has(n.o)?{o:n.o}:{}}}catch{return null}}function dh(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 mh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function ph(e,t){let n=mh(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 hh(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>lh){e.ox+=1;return}if(dh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):ph(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=ka(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function gh(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function Aa(e){return $n($a(e),ih)}function yh(e){let t=Aa(e),n;try{n=va(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]={...Ra(),...i});return s}catch{try{Sa(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function wa(e,t){let n=`${e}.tmp-${process.pid}`;Br(n,t,{mode:384}),Sa(n,e)}function kh(e){try{return Br(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Ta(e).mtimeMs<ah?!1:(Ea(e,{force:!0}),Br(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function bh(e,t=_a,n=_a/2){try{if(Ta(e).size<=t)return}catch{return}let r=`${e}.lock`;if(kh(r))try{let s=va(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=yh(e);for(let c of s.slice(0,o)){let u=fh(c);if(!u)continue;let f=gh(u.t),d=a[f]??Ra();hh(d,u),a[f]=d}let l=s.slice(o);wa(e,l.length?`${l.join(`
|
|
36
82
|
`)}
|
|
37
|
-
`:""),
|
|
38
|
-
`.includes(
|
|
39
|
-
`;try{
|
|
40
|
-
`)}
|
|
41
|
-
|
|
42
|
-
`)
|
|
43
|
-
[tkr
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
83
|
+
`:""),wa(Aa(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Ea(r,{force:!0})}}function _h(e){let t=sh(e),n=t,r="";for(;;){try{return $n(rh(n),r)}catch{}let s=$a(n);if(s===n)return t;r=r?$n(ba(n),r):ba(n),n=s}}var wh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),xh=new Set(["-u","-g","-n","-s","-k"]),vh=/^[a-z0-9][a-z0-9._-]*$/i,Sh=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"]),Ca=/^[A-Za-z_][A-Za-z0-9_]*=/;function xa(e){return e.length===0||e[0]==="cd"||e.every(t=>Ca.test(t))}function Eh(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(),xa(t)){t=[];continue}return t}n+=i,r=!0}return o(),xa(t)?[]:t}function Rn(e){let t=Eh(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Ca.test(a)){n+=1;continue}if(wh.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=xh.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("-")&&vh.test(o)&&Sh.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Th(){return $n(S(),oh)}function Ia(e,t,n=Th(),r=!1,s,o,i,a,l={}){if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t===0)return;let c=s?`,"h":${JSON.stringify(s)}`:"",u=o?`,"k":${JSON.stringify(o)}`:"",f=i?`,"c":${JSON.stringify(i.slice(0,24))}`:"",d=a?_h(a):"",m=d&&d.length<=uh?`,"p":${JSON.stringify(d)}`:"",h=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",w=l.o?`,"o":${JSON.stringify(l.o)}`:"",b=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${h}${w}}
|
|
85
|
+
`;try{nh(S(),{recursive:!0,mode:448}),eh(n,b,{mode:384}),th(n,384),bh(n)}catch{return}}function Oa(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 Pa(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{mkdir as ds,writeFile as Fl,readFile as Un,unlink as Ll,chmod as jl,rename as ky,copyFile as Hl,stat as by,readdir as _y,rm as wy}from"node:fs/promises";import{existsSync as ps,realpathSync as Bl}from"node:fs";import{basename as xy,delimiter as Nl,join as U,dirname as zl}from"node:path";import{fileURLToPath as vy}from"node:url";import xt from"node:os";import{basename as $h}from"node:path";var Rh={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Ah={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 Ee(e){let t=$h(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Rh))if(r===t)return[n];for(let[n,r]of Object.entries(Ah))if(r===t)return["hook",n];return null}import{realpathSync as Na}from"node:fs";import{delimiter as Ch,join as yt}from"node:path";import Ih from"node:os";function Te(){return!1}function zr(e,t=process.execPath){let n=Te()?Ee(e):null;return n?[process.execPath,...n]:[t,e]}function Da(e,t){try{return Na(e)===Na(t)}catch{return!1}}function Zt(e=process.env.PATH??"",t=process.platform,n=process.execPath){let r=t==="win32"?"tkr.exe":"tkr";for(let s of e.split(t==="win32"?";":Ch)){if(!s||s.includes("node_modules"))continue;let o=yt(s,r);if(Da(o,n))return o}if(t!=="win32"){let s=Ih.homedir();for(let o of[yt(s,".local","bin",r),yt(s,".local","share","tokmizer","current","dist","bin",r),yt("/opt/homebrew/bin",r),yt("/usr/local/bin",r),yt("/home/linuxbrew/.linuxbrew/bin",r)])if(Da(o,n))return o}return n}import{existsSync as Lv,readFileSync as _g}from"node:fs";import{join as wg}from"node:path";import xg from"node:os";import{readFile as lg,writeFile as cg,rename as ug,mkdir as tl,chmod as fg,stat as dg,unlink as mg}from"node:fs/promises";import{existsSync as pg,lstatSync as hg,readlinkSync as gg,realpathSync as Qa}from"node:fs";import{basename as yg,dirname as Fn,join as kg,resolve as el}from"node:path";import{accessSync as Dh,chmodSync as lv,constants as Mh,existsSync as On,mkdirSync as cv,readdirSync as Fh,readFileSync as Lh,realpathSync as Fa,renameSync as uv,unlinkSync as fv,writeFileSync as dv}from"node:fs";import{chmod as jh,mkdir as Hh,rename as Bh,unlink as zh,writeFile as Uh}from"node:fs/promises";import{basename as Gr,dirname as Ye,join as ye,sep as bt}from"node:path";import Zh from"node:os";import{rmSync as Oh,statSync as Ph}from"node:fs";import{join as Ur}from"node:path";var An="tokmizer: shim target missing, running command directly; run `tkr doctor --fix`";function V(){return Ur(S(),"shims")}function kt(){return Ur(S(),"fail-open")}var Nh=24*36e5;function Zr(e=Date.now()){try{if(e-Ph(kt()).mtimeMs<Nh)return!0;Oh(kt(),{force:!0})}catch{}return!1}function Cn(){return`[ -f ${H(kt())} ]`}function Jr(){return Ur(S(),"shim-fallbacks")}function H(e){return`'${e.replace(/'/g,"'\\''")}'`}function Ma(e){if(!e.startsWith("'")||!e.endsWith("'")||e.length<2)return null;let n=e.slice(1,-1).split("'\\''");return n.some(r=>r.includes("'"))?null:n.join("'")}function In(e){return["set -f",`_tk_d=${H(V())}`,"_tk_o=$IFS; IFS=:; _tk_p=; _tk_x=","for _tk_e in $PATH; do",' [ -n "$_tk_e" ] || continue',' [ "$_tk_e" -ef "$_tk_d" ] && continue'," _tk_p=${_tk_p:+$_tk_p:}$_tk_e",' [ -z "$_tk_x" ] && [ -f "$_tk_e/$_tk_c" ] && [ -x "$_tk_e/$_tk_c" ] && _tk_x=$_tk_e/$_tk_c',"done","IFS=$_tk_o; PATH=$_tk_p; export PATH; set +f",'[ -n "$_tk_x" ] || { echo "$_tk_c: command not found" >&2; exit 127; }','exec "$_tk_x" "$@"'].map(t=>`${e}${t}`)}var ja=1,Jt="tkr-shim.stable",Ha=/^(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})\.(?:0|[1-9]\d{0,5})$/;function _t(){return ye(S(),"bin","tkr-shim-launch")}function Gt(){return ye(S(),"bin","tkr-hook")}function La(){return ye(process.env.CLAUDE_CONFIG_DIR||ye(Zh.homedir(),".claude"),"plugins","cache","tokmizer","tokmizer")}function Jh(e){let t=Ye(Ye(Ye(e)));return Ha.test(Gr(t))&&Gr(Ye(t))==="tokmizer"?Ye(t):null}function Kr(e){return/[\n\r]/.test(e)||e.includes(`${bt}_npx${bt}`)||e.includes(`${bt}.bun${bt}install${bt}cache${bt}`)}function Vr(e){let t=e.match(/^(.*)[\\/]Cellar[\\/]([^\\/]+)[\\/][^\\/]+[\\/](.*)$/);if(!t)return e;let n=ye(t[1],"opt",t[2],t[3]);try{return Fa(n)===Fa(e)?n:e}catch{return e}}function Gh(e=process.execPath){return Kr(e)?"":Vr(e)}function Pn(e,t=Te()){if(t&&Ee(e)){let s=Zt();return{single:Kr(s)?"":Vr(s),js:"",cache:La(),node:""}}let n=Gh(),r=Jh(e);return r?{single:"",js:"",cache:r,node:n}:{single:"",js:Kr(e)?"":Vr(e),cache:La(),node:n}}function Kh(e){try{return Dh(e,Mh.X_OK),!0}catch{return!1}}function Vh(e){let t=null,n=-1,r;try{r=Fh(e)}catch{return null}for(let s of r){if(!Ha.test(s))continue;let o=ye(e,s);if(!On(ye(o,"dist","bin","tkr-shim.js"))||!On(ye(o,"dist","bin",Jt)))continue;let[i,a,l]=s.split(".").map(Number),c=i*1e6+a*1e3+l;c>n&&(n=c,t=o)}return t}function Wh(e){return e.single&&Kh(e.single)||e.js&&On(e.js)&&(Gr(e.js)!=="tkr-shim.js"||On(ye(Ye(e.js),Jt)))?!0:e.cache!==""&&Vh(e.cache)!==null}function Ba(e,t){return["#!/bin/sh",`_tk_f=${ja}`,`${t}=$1`,"shift",`_tk_s=${H(e.single)}`,`_tk_j=${H(e.js)}`,`_tk_k=${H(e.cache)}`,`_tk_n=${H(e.node)}`]}function za(e,t){return["_tk_t=",`if [ -n "$_tk_j" ] && [ -f "${t}" ] && { [ "\${_tk_j##*/}" != tkr-shim.js ] || [ -f "\${_tk_j%/*}/${Jt}" ]; }; then _tk_t=${t}; fi`,'if [ -z "$_tk_t" ] && [ -n "$_tk_k" ] && [ -d "$_tk_k" ]; then'," _tk_b=-1",' for _tk_r in "$_tk_k"/*/; do'," _tk_v=${_tk_r%/}; _tk_v=${_tk_v##*/}"," case $_tk_v in *[!0-9.]*|.*|*.|*..*|0[0-9]*|*.0[0-9]*|*[0-9][0-9][0-9][0-9][0-9][0-9][0-9]*) continue ;; [0-9]*.[0-9]*.[0-9]*) ;; *) continue ;; esac"," case ${_tk_v#*.*.} in *.*) continue ;; esac",` [ -f "\${_tk_r}dist/bin/${e}" ] && [ -f "\${_tk_r}dist/bin/${Jt}" ] || continue`," _tk_1=${_tk_v%%.*}; _tk_2=${_tk_v#*.}; _tk_3=${_tk_2#*.}; _tk_2=${_tk_2%%.*}"," _tk_v=$((_tk_1 * 1000000 + _tk_2 * 1000 + _tk_3))",` if [ "$_tk_v" -gt "$_tk_b" ]; then _tk_b=$_tk_v; _tk_t=\${_tk_r}dist/bin/${e}; fi`," done","fi",'if [ -z "$_tk_t" ]; then',` _tk_d=${H(V())}`," set -f; _tk_o=$IFS; IFS=:"," for _tk_e in $PATH; do"," case $_tk_e in /*/node_modules/*|*/node_modules) continue ;; /*) ;; *) continue ;; esac",' [ ! "$_tk_e" -ef "$_tk_d" ] || continue',' for _tk_g in "$_tk_e/../lib/node_modules/@tokmizer/plugin/dist/bin" "$_tk_e/../opt/tokmizer/libexec/lib/node_modules/@tokmizer/plugin/dist/bin"; do',` if [ -f "$_tk_g/${Jt}" ] && [ -f "$_tk_g/${e}" ]; then _tk_t=$_tk_g/${e}; break 2; fi`," done"," done"," IFS=$_tk_o; set +f","fi","_tk_x=",'if [ -n "$_tk_t" ]; then',' for _tk_x in "$_tk_n" "$(command -v node 2>/dev/null)" /opt/homebrew/bin/node /usr/local/bin/node /usr/bin/node ""; do',' [ -n "$_tk_x" ] && [ -x "$_tk_x" ] && break'," done","fi"]}function qh(e){return[...Ba(e,"_tk_c"),`if ! ${Cn()}; then`,' if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then exec "$_tk_s" shim-run --as "$_tk_c" "$@"; fi',...za("tkr-shim.js","$_tk_j").map(t=>` ${t}`),' if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" --as "$_tk_c" "$@"; fi',` echo ${H(An)} >&2`,` { echo x >> ${H(Jr())}; } 2>/dev/null`,"fi",...In(""),""].join(`
|
|
86
|
+
`)}function Yh(e){return[...Ba(e,"_tk_m"),"case $_tk_m in tkr-*-hook) ;; *) { /bin/cat || /usr/bin/cat; } >/dev/null 2>&1; exit 0 ;; esac",'if [ -n "$_tk_s" ] && [ -x "$_tk_s" ]; then _tk_w=${_tk_m#tkr-}; exec "$_tk_s" hook "${_tk_w%-hook}" "$@"; fi',...za("$_tk_m.js","${_tk_j%/*}/$_tk_m.js"),'if [ -n "$_tk_x" ]; then exec "$_tk_x" "$_tk_t" "$@"; fi',"{ /bin/cat || /usr/bin/cat; } >/dev/null 2>&1","exit 0",""].join(`
|
|
87
|
+
`)}function Xh(e){let t=a=>{let l=e.match(new RegExp(`^${a}=(.*)$`,"m"));return l?a==="_tk_f"?l[1]:Ma(l[1]):null},n=Number(t("_tk_f")),r=t("_tk_s"),s=t("_tk_j"),o=t("_tk_k"),i=t("_tk_n")??"";return!Number.isInteger(n)||r===null||s===null||o===null?null:{format:n,target:{single:r,js:s,cache:o,node:i}}}function Kt(e=_t()){try{return Xh(Lh(e,"utf8"))}catch{return null}}function Nn(e=Kt()){return e!==null&&e.format===ja&&Wh(e.target)}async function Ua(e,t){let n=`${e}.${process.pid}.tmp`;try{return await Hh(Ye(e),{recursive:!0,mode:448}),await Uh(n,t,{mode:493}),await jh(n,493),await Bh(n,e),!0}catch{try{await zh(n)}catch{}return!1}}function Wr(e){return Ua(_t(),qh(e))}function Za(e){return Ua(Gt(),Yh(e))}import{chmod as Qh,lstat as Ja,mkdir as eg,readFile as Yr,rename as tg,rm as xv,unlink as Ga,writeFile as ng}from"node:fs/promises";import{createHash as Ka}from"node:crypto";import{basename as rg,join as Va}from"node:path";var sg=".tkr-bak";function Wa(){return Va(S(),"backup","config")}function qr(e){let t=Qr(e),n=Ka("sha256").update(t).digest("hex").slice(0,16),r=rg(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Va(Wa(),`${n}-${r}`)}function qa(e){return`${qr(e)}.written`}function Ya(e){return Ka("sha256").update(e).digest("hex")}async function og(e){try{return await Ja(e),!0}catch{return!1}}async function Xr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await eg(Wa(),{recursive:!0,mode:448}),await ng(n,t,{mode:384}),await Qh(n,384),await tg(n,e),!0}catch{return await Ga(n).catch(()=>{}),!1}}async function ig(e,t){let n=`${e}${sg}`;try{if(!(await Ja(n)).isFile())return!1}catch{return!1}let r=!await og(t);if(r&&!await Xr(t,await Yr(n,"utf8")))throw new Error("backup");return await Ga(n).catch(()=>{}),r}async function ag(e,t){try{return(await Yr(qa(e),"utf8")).trim()===Ya(t)}catch{return!1}}async function Xa(e,t){let n=t;try{n===void 0&&(n=await Yr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await ig(e,qr(e)))return!0}catch{return!1}return await ag(e,n)?!0:Xr(qr(e),n)}async function Dn(e,t,n){return!await Xa(e,n)||!await Mn(e,t)?!1:(await Xr(qa(e),`${Ya(t)}
|
|
88
|
+
`),!0)}function N(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function $e(e){if(!pg(e))return{};try{let t=JSON.parse(await lg(e,"utf8"));return N(t)?t:null}catch{return null}}function Qr(e){let t=el(e);for(let n=0;n<32;n++){try{return Qa(t)}catch{}try{if(!hg(t).isSymbolicLink())break;t=el(Fn(t),gg(t))}catch{break}}try{return kg(Qa(Fn(t)),yg(t))}catch{return t}}async function Mn(e,t){let n=Qr(e),r=`${n}.tmp-${process.pid}`;try{await tl(Fn(n),{recursive:!0});let s=384;try{s=(await dg(n)).mode&511}catch{}return await cg(r,t,{mode:s}),await fg(r,s),await ug(r,n),!0}catch{try{await mg(r)}catch{}return!1}}async function Re(e,t){try{await tl(Fn(e),{recursive:!0})}catch{return!1}return Dn(e,`${JSON.stringify(t,null,2)}
|
|
89
|
+
`)}var bg=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`;function wt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Ee(t);return n?.length?new RegExp(`^\\s*${bg}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Ln(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(!N(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 vg="tkr-cursor-hook",nl="preToolUse";function Sg(){return wg(xg.homedir(),".cursor","hooks.json")}function Eg(e){return N(e)&&wt(e.command,vg)}function Tg(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[nl])?t[nl]:[];return{hooks:t,entries:n}}function rl(){try{let e=JSON.parse(_g(Sg(),"utf8"));return Tg(e).entries.some(Eg)}catch{return!1}}import{existsSync as Zv,readFileSync as $g}from"node:fs";import{join as Rg}from"node:path";import Ag from"node:os";var Cg="tkr-gemini-hook",sl="BeforeTool";function Ig(){return Rg(process.env.GEMINI_CLI_HOME||Ag.homedir(),".gemini","settings.json")}function Og(e){return N(e)&&wt(e.command,Cg)}function Pg(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(Og)}function Ng(e){let t=N(e.hooks)?e.hooks:{},n=Array.isArray(t[sl])?t[sl]:[];return{hooks:t,groups:n}}function ol(){try{let e=JSON.parse($g(Ig(),"utf8"));return Ng(e).groups.some(t=>Pg(t)!=null)}catch{return!1}}import{dirname as yS,join as se}from"node:path";import zg from"node:os";import{existsSync as Yv,accessSync as Xv,constants as Qv,readFileSync as Dg}from"node:fs";var Mg='"rewrite", "--host"';function Fg(e){return e.includes(Mg)}function il(e){try{return Fg(Dg(e,"utf8"))}catch{return!1}}import{readFile as ll,mkdir as Lg}from"node:fs/promises";import{existsSync as ns,readFileSync as cl}from"node:fs";import{dirname as jg,join as ts}from"node:path";import ul from"node:os";var fl="tokmizer-rewrite",Vt="tokmizer-rewrite";function qt(){return ts(process.env.VIBE_HOME||ts(ul.homedir(),".vibe"),"hooks.toml")}function al(e){return JSON.stringify(e)}function Hg(e){return["[[hooks]]",`name = ${al(fl)}`,'type = "pre_tool"','match = "bash"',`command = ${al(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
|
|
90
|
+
`)}function rs(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 Wt(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${fl}"\\s*$`,"m").test(e)}async function dl(e,t){try{await Lg(jg(e),{recursive:!0})}catch{return!1}return Dn(e,t)}function ml(){try{return rs(cl(qt(),"utf8")).some(Wt)}catch{return!1}}async function pl(e){let t=qt(),n="";try{ns(t)&&(n=await ll(t,"utf8"))}catch{return"error"}let r=Hg(e),s=rs(n),o=s.filter(Wt);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!Wt(l)).join("").trimEnd(),a=i?`${i}
|
|
91
|
+
|
|
92
|
+
${r}`:r;return await dl(t,a)?o.length?"updated":"added":"error"}async function hl(){let e=qt();if(!ns(e))return"absent";let t;try{t=await ll(e,"utf8")}catch{return"error"}let n=rs(t);if(!n.some(Wt))return"absent";let r=n.filter(o=>!Wt(o)).join("").trimEnd(),s=r?`${r}
|
|
93
|
+
`:"";return await dl(e,s)?"removed":"error"}function Yt(){return ts(ul.homedir(),".gemini","config","hooks.json")}function Bg(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function gl(){try{let e=JSON.parse(cl(Yt(),"utf8"));return N(e)&&N(e[Vt])}catch{return!1}}async function yl(e){let t=Yt(),n=await $e(t);if(!n)return"error";let r=Bg(e),s=n[Vt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Vt]=r,await Re(t,n)?s===void 0?"added":"updated":"error")}async function kl(){let e=Yt();if(!ns(e))return"absent";let t=await $e(e);return t?Vt in t?(delete t[Vt],await Re(e,t)?"removed":"error"):"absent":"error"}var Xt=()=>zg.homedir(),ss=()=>process.env.XDG_CONFIG_HOME||se(Xt(),".config"),bl=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:se(ss(),"opencode","plugins","tokmizer.js")}],next:"Restart OpenCode so it loads the plugin."},{host:"kilo",label:"Kilo Code",command:"setup-kilo",kind:"shim",files:()=>[{template:"kilo.js",target:se(ss(),"kilo","plugin","tokmizer.js")}],next:"Restart Kilo Code (CLI or VS Code extension) so it loads the plugin."},{host:"amp",label:"Amp",command:"setup-amp",kind:"shim",files:()=>[{template:"amp.js",target:se(ss(),"amp","plugins","tokmizer.js")}],next:"Reload plugins in Amp (or restart it), then check it with: amp plugins list"},{host:"vibe",label:"Mistral Vibe",command:"setup-vibe",kind:"hook",file:qt,installed:ml,ensure:pl,remove:hl,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Yt,installed:gl,ensure:yl,remove:kl,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=se(Xt(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:se(e,t)}))},next:"Run: openclaw plugins enable tokmizer && openclaw gateway restart"},{host:"pi",label:"Pi",command:"setup-pi",kind:"shim",files:()=>[{template:"pi.js",target:se(process.env.PI_CODING_AGENT_DIR||se(Xt(),".pi","agent"),"extensions","tokmizer.js")}],next:"Restart Pi (or run /reload) so it loads the extension."},{host:"omp",label:"Oh My Pi",command:"setup-omp",kind:"shim",files:()=>[{template:"omp.js",target:se(Xt(),".omp","agent","extensions","tokmizer.js")}],next:"Restart omp so it loads the extension."},{host:"hermes",label:"Hermes",command:"setup-hermes",kind:"shim",files:()=>{let e=se(process.env.HERMES_HOME||se(Xt(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:se(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function _l(e){return e.kind==="hook"?e.installed():il(e.files()[0].target)}import{existsSync as ls,readFileSync as Vg}from"node:fs";import{join as B}from"node:path";import Wg from"node:os";import{existsSync as Ug,readFileSync as Zg}from"node:fs";function jn(e,t){return N(e)&&wt(e.command,t)}function wl(e){return e.path??(e.nested?["hooks"]:[])}function xl(e,t){let n=e;for(let r of wl(t))N(n[r])||(n[r]={}),n=n[r];return n}function vl(e,t){let n=e;for(let s of wl(t))n=N(n)?n[s]:void 0;if(!N(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Jg(e){return N(e)&&Array.isArray(e.hooks)?e.hooks:[]}function Sl(e,t){return(t.matcher===void 0?e:e.flatMap(Jg)).filter(r=>jn(r,t.mark))}function El(e,t){return Sl(vl(e,t),t).length>0}function os(e,t){try{let n=JSON.parse(Zg(e,"utf8"));return N(n)&&El(n,t)}catch{return!1}}function Gg(e,t,n){let r=xl(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=Sl(s,t)[0],i=t.entry(n);if(o){let a=Ln(s,c=>jn(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 Kg(e,t){if(!El(e,t))return!1;let n=xl(e,t),r=vl(e,t),s=t.matcher===void 0?r.filter(o=>!jn(o,t.mark)):r.map(o=>N(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!jn(i,t.mark))}:o).filter(o=>!N(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function is(e,t,n){let r=await $e(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Gg(r,t,n);return s==="present"||await Re(e,r)?s:"error"}async function Hn(e,t){if(!Ug(e))return"absent";let n=await $e(e);return n?Kg(n,t)?await Re(e,n)?"removed":"error":"absent":"error"}function fe(){return Wg.homedir()}function Al(e){return e.version===void 0&&(e.version=1),e.version===1}function qg(e,t,n){return Promise.all(e.map(r=>is(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Yg(e,t){return Promise.all(e.map(n=>Hn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Xe(e,t){return{...e,installed:()=>e.files().some(n=>os(n,t)),ensure:n=>qg(e.files(),t,n),remove:()=>Yg(e.files(),t)}}var Xg={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Al};function Qg(){return B(process.env.COPILOT_HOME||B(fe(),".copilot"),"hooks","tokmizer.json")}var ey={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Al};function ty(){let e=[B(fe(),".trae","hooks.json")];return ls(B(fe(),".trae-cn"))&&e.push(B(fe(),".trae-cn","hooks.json")),e}var ny={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function ry(){return B(process.env.QWEN_HOME||B(fe(),".qwen"),"settings.json")}var sy={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function oy(){return B(process.env.XDG_CONFIG_HOME||B(fe(),".config"),"crush","crush.json")}var iy={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function ay(){return B(fe(),".junie","config.json")}function ly(e){return e.hooks===void 0&&(e.hooks={}),N(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||N(e.hooks.events)):!1}var cy={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:ly};function uy(){return B(fe(),".zcode","cli","config.json")}var fy={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function dy(){return B(fe(),".grok","hooks","tokmizer.json")}var my="tkr-droid-hook",cs={mark:my,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},py={...cs,nested:!0};function as(){return B(fe(),".factory")}function Bn(){return[{file:B(as(),"hooks.json"),spec:cs},{file:B(as(),"hooks","hooks.json"),spec:cs},{file:B(as(),"settings.json"),spec:py}]}function Tl(e){try{let t=JSON.parse(Vg(e,"utf8"));return N(t)?t:null}catch{return null}}function $l(e,t){let n=t?e?.hooks:e;return N(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Rl(){let[e,t,n]=Bn(),r=ls(e.file)?e:ls(t.file)?t:null;return r&&$l(Tl(r.file),!1)?r:$l(Tl(n.file),!0)?n:r??e}var hy={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Rl().file],installed:()=>Bn().some(e=>os(e.file,e.spec)),ensure:async e=>{let t=Rl(),n=await is(t.file,t.spec,e);return n==="error"||await Promise.all(Bn().filter(r=>r.file!==t.file).map(r=>Hn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Bn().map(t=>Hn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Cl=[Xe({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:()=>[Qg()]},Xg),hy,Xe({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:ty},ey),Xe({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[ry()]},ny),Xe({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[oy()]},sy),Xe({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[ay()]},iy),Xe({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[uy()]},cy),Xe({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:()=>[dy()]},fy)];var us=[{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:[]}],gy=[...us.map(e=>e.host),"shell"],Il=new Set(["claude-code","codex"]),yy={cursor:{installed:rl,setup:"tkr setup-cursor"},"gemini-cli":{installed:ol,setup:"tkr setup-gemini"},...Object.fromEntries(bl.map(e=>[e.host,{installed:()=>_l(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Cl.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function fs(e){return us.filter(t=>Il.has(t.host)===e).flatMap(t=>t.vars)}function zn(e){return Il.has(e)||(yy[e]?.installed()??!1)}function Ol(e){return null}function Pl(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&&gy.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!zn(o)}}for(let o of us)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!zn(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var Sy=["git","npm","yarn","pnpm","docker","kubectl","terraform","tofu","cargo","go","mvn","gradle","rg","grep","find","ls","cat","tail","head","ps","lsof","ssh","scp","rsync","curl","wget","jq","yq","make"];function Dl(e){try{return Bl(e)}catch{return e}}function hs(){let e=V(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Dl(e),o=r.split(Nl).filter(i=>i&&i!==e&&Dl(i)!==s);return t[n]=o.join(Nl),n==="Path"&&(t.PATH=t[n]),t}function Ul(){try{let e=xt.platform()==="win32";return ps(U(V(),e?"git.cmd":"git"))}catch{return!1}}function Ml(e){return`"${e.map(t=>`\${${t}:-}`).join("")}"`}var Zl=1;function gs(e){let t=e.match(/^#!\/bin\/sh\n_tk_f=(\d+)\n/);return t!==null&&Number(t[1])>=Zl&&e.includes(`exec /bin/sh ${H(_t())} "$_tk_c" "$@"`)}function Ey(e){return["#!/bin/sh",`_tk_f=${Zl}`,`_tk_c=${H(e)}`,`if [ -z ${Ml(fs(!0))} ] && { [ -n ${Ml(["TOKMIZER_HOST",...fs(!1)])} ] || [ -t 1 ]; } && [ -f ${H(_t())} ] && ! ${Cn()}; then`,` exec /bin/sh ${H(_t())} "$_tk_c" "$@"`,"fi",...In(""),""].join(`
|
|
94
|
+
`)}function Ty(e){let t=Te()?Ee(e):null,n=t?Zt():e;return{check:n,run:t?[`"${n}"`,...t].join(" "):`node "${n}"`}}function $y(e,t){let n=Ty(e),r=V();return["@echo off",`if exist "${kt()}" goto tkpass`,`if not exist "${n.check}" goto tkmissing`,`${n.run} --as "${t}" %*`,"exit /b %errorlevel%",":tkmissing",`echo ${An.replace(/`/g,"")} 1>&2`,":tkpass",`set "PATH=%PATH:${r}\\;=%"`,`set "PATH=%PATH:${r};=%"`,`set "PATH=%PATH:;${r}=%"`,"for %%E in (.exe .cmd .bat .com) do for %%I in ("+t+'%%E) do if not "%%~$PATH:I"=="" if /i not "%%~dp$PATH:I"=="%~dp0" (',' "%%~$PATH:I" %*'," exit /b",")",`echo ${t}: command not found 1>&2`,"exit /b 9009",""].join(`\r
|
|
95
|
+
`)}function Ry(e){return U(V(),xt.platform()==="win32"?`${e}.cmd`:e)}function Ay(e,t){return xt.platform()==="win32"?$y(e,t):Ey(t)}async function Jl(e,t,n){let r=`${e}.${process.pid}.tmp`;try{return await Fl(r,t,{mode:n}),await jl(r,n),await ky(r,e),!0}catch{try{await Ll(r)}catch{}return!1}}function Gl(){return new Date().toISOString().replace(/[-:]/g,"").replace(/\..*$/,"").replace("T","-")}async function Cy(e,t,n){try{let r=(await _y(e)).filter(s=>s.startsWith(t)).sort().slice(0,-n);for(let s of r)await wy(U(e,s),{recursive:!0,force:!0})}catch{}}async function Kl(e,t={}){let n=V();if(!ps(n))return{stale:0,rewritten:0};let r=0,s=0,o=null;for(let i of Sy){let a=Ry(i),l=Ay(e,i),c;try{c=await Un(a,"utf8")}catch{continue}if(!(c===l||xt.platform()!=="win32"&&gs(c))&&(r+=1,!t.dryRun)){try{o||(o=U(S(),"backup",`shims-${Gl()}`),await ds(o,{recursive:!0,mode:448})),await Hl(a,U(o,i))}catch{}await Jl(a,l,493)&&(s+=1)}}return o&&await Cy(zl(o),"shims-",3),{stale:r,rewritten:s}}var Iy="# tokmizer-shim PATH (managed by tokmizer)";function Oy(e){return`'${e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Py(){let e=V();return[`export PATH=${H(e)}:"$PATH"`,`export PATH="${e}:$PATH"`,`set -gx PATH ${Oy(e)} $PATH`,`$env:Path = '${e.replace(/'/g,"''")};' + $env:Path`,`$env:Path = "${e};" + $env:Path`]}function Ny(){return U(S(),"global-path")}function Dy(){return ps(Ny())}function ms(){return U(S(),"backup","global-path.json")}function Vl(e){let t=Py(),n=e.split(`
|
|
96
|
+
`),r=[],s=0;for(let o=0;o<n.length;o+=1){let i=n[o].replace(/\r$/,""),a=n[o+1]?.replace(/\r$/,"");if(i===Iy&&a!==void 0&&t.includes(a)){r.length&&r[r.length-1].replace(/\r$/,"")===""&&r.pop(),s+=1,o+=1;continue}r.push(n[o])}return{content:s?r.join(`
|
|
97
|
+
`):e,removed:s}}function Wl(){let e=xt.homedir(),t=[".zshrc",".zprofile",".bashrc",".bash_profile",".bash_login",".profile",U(".config","fish","config.fish")].map(n=>U(e,n));return xt.platform()!=="win32"?t:[...t,U(e,"Documents","PowerShell","profile.ps1"),U(e,"Documents","WindowsPowerShell","profile.ps1"),U(e,"OneDrive","Documents","PowerShell","profile.ps1"),U(e,"OneDrive","Documents","WindowsPowerShell","profile.ps1")]}async function ql(){let e=0;for(let t of Wl())try{e+=Vl(await Un(t,"utf8")).removed}catch{}return e}async function My(){try{let e=JSON.parse(await Un(ms(),"utf8"));return Array.isArray(e)?e.filter(t=>t!=null&&typeof t=="object"&&typeof t.file=="string"):[]}catch{return[]}}async function Yl(e={}){if(!e.force&&Dy())return[];let t=[],n=await My();for(let r of Wl()){let s,o;try{s=Bl(r),o=await Un(s,"utf8")}catch{continue}let i=Vl(o);if(!i.removed)continue;let a=U(S(),"backup","rc"),l=U(a,`${xy(r)}-${Gl()}`);try{let c=await by(s);if(typeof process.getuid=="function"&&c.uid!==process.getuid())continue;if(await ds(a,{recursive:!0,mode:448}),await Hl(s,l),await jl(l,384),!await Jl(s,i.content,c.mode&511)){await Ll(l).catch(()=>{});continue}}catch{continue}t.push(r),n.push({file:r,backup:l,fish:r.endsWith("config.fish"),at:new Date().toISOString()})}if(t.length)try{await ds(zl(ms()),{recursive:!0,mode:448}),await Fl(ms(),`${JSON.stringify(n,null,2)}
|
|
98
|
+
`,{mode:384})}catch{}return t}function Xl(){return process.env.TOKMIZER_SHIM_JS?process.env.TOKMIZER_SHIM_JS:vy(new URL("../bin/tkr-shim.js",import.meta.url))}import{createConnection as qy}from"node:net";import{spawn as Yy}from"node:child_process";import{existsSync as oc,openSync as _s,closeSync as rc,unlinkSync as xs,writeFileSync as vs,mkdirSync as Ss,readFileSync as Xy,appendFileSync as Qy,rmSync as ek,statSync as tk}from"node:fs";import{dirname as nk,join as Es}from"node:path";import{fileURLToPath as rk}from"node:url";var Fy=g.object({id:g.string().min(1).max(64),op:g.literal("filter"),cmd:g.string().min(1).max(2048),plan:g.enum(["trial","smart","pro"]),allowed:g.array(g.string().min(1).max(64)).max(512).optional(),installId:g.string().min(1).max(64).optional()}),Ly=g.object({id:g.string().min(1).max(64),op:g.literal("ping")}),jy=g.object({id:g.string().min(1).max(64),op:g.literal("shutdown"),installId:g.string().min(1).max(64)}),Hy=g.object({id:g.string().min(1).max(64),op:g.literal("reload"),installId:g.string().min(1).max(64).optional()}),QS=g.discriminatedUnion("op",[Fy,Ly,jy,Hy]),eE=g.object({id:g.string(),ok:g.literal(!0),data:g.unknown()}),tE=g.object({id:g.string(),ok:g.literal(!1),err:g.string(),retryAfterMs:g.number().int().nonnegative().optional()}),Ql=g.object({filter:ve.nullable(),cacheHit:g.boolean().optional()}),Zn=`
|
|
99
|
+
`,nE=64*1024;function ys(e){return JSON.stringify(e)+Zn}function*ec(e){let t=0;for(;;){let n=e.indexOf(Zn,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Qt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import By from"node:os";import{join as en}from"node:path";import{existsSync as zy,statSync as Uy,lstatSync as tc,unlinkSync as Zy,mkdirSync as Jy,chmodSync as Gy}from"node:fs";import{createHash as Ky}from"node:crypto";var ks=100;function Vy(e){let t=Ky("sha256").update(S()).digest("hex").slice(0,8),n=en(By.tmpdir(),`tkr-${e}-${t}`),r=en(n,"d.sock");if(Buffer.byteLength(r)>ks)throw new Error("Temporary directory path is too long for IPC");return nc(n,e),r}function Wy(e,t){try{let n=tc(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function nc(e,t){Jy(e,{recursive:!0,mode:448});let n=tc(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Gy(e,448)}function tn(){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&&Wy(t,e)){let s=en(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=ks)return{path:s,isPipe:!1}}let n=en(S(),"run"),r=en(n,"daemon.sock");return Buffer.byteLength(r)>ks?{path:Vy(e),isPipe:!1}:(nc(n,e),{path:r,isPipe:!1})}async function bs(){let{path:e,isPipe:t}=tn();if(t||!zy(e))return;try{if(!Uy(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{Zy(e)}catch{}}var cE=5*6e4;var ic=500,sk=3e3,sc=1,ok=6e4,ik=256*1024;function Ts(){return Es(S(),"daemon.spawn.fail")}function $s(){return Es(S(),"daemon.log")}function ak(){try{let e=Number(Xy(Ts(),"utf8"));return Number.isFinite(e)&&Date.now()-e<ok}catch{return!1}}function lk(e){try{Ss(S(),{recursive:!0});let t=$s();try{tk(t).size>ik&&xs(t)}catch{}Qy(t,`${new Date().toISOString()} ${e}
|
|
100
|
+
`)}catch{}}function ck(e){try{Ss(S(),{recursive:!0}),vs(Ts(),String(Date.now()))}catch{}lk(`spawn failed: ${e.message}`)}function uk(){try{ek(Ts(),{force:!0})}catch{}}async function Jn(e,t){return new Promise((n,r)=>{let s=qy(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 fk(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:rk(new URL("../bin/tkr-daemon.js",import.meta.url))}async function ws(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 Jn(e,75)).destroy(),!0}catch{}else if(oc(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function dk(e){let t=fk();if(!Te()&&!oc(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=tn(),r=process.platform==="win32"?S():nk(n);try{Ss(r,{recursive:!0})}catch{}let s=Es(r,"daemon.spawn.lock"),o=null;try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await ws(n,5e3))return;try{xs(s)}catch{}try{o=_s(s,"wx"),vs(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await ws(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=_s($s(),"a")}catch{}let[a,...l]=zr(t);if(Yy(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{rc(i)}catch{}if(!await ws(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{rc(o)}catch{}try{xs(s)}catch{}}}}async function mk(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr();try{let r=await Jn(t,ic);r.write(ys({id:Qt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function pk(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Jn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Rs(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:tn(),n=await jr(),r=null,s=0,o=!1;for(;s<=sc;)try{r=await Jn(t,ic),uk();break}catch{if(s+=1,s>sc)throw new Error(`tkr-daemon unreachable at ${t}`);if(ak())throw new Error(`tkr-daemon spawn on cooldown (see ${$s()})`);await bs();try{await dk(n),o=!0}catch(u){throw ck(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]===Zn&&(f=m);if(f<0)return;let d=[];for(let m of ec(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),w=i.get(h.id);if(!w)continue;clearTimeout(w.timer),i.delete(h.id),w.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})`))},sk);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(ys(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Qt(),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=Ql.safeParse(m.data);return h.success?h.data.filter:null},ping:async()=>{let u=await l({id:Qt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Qt(),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&&ea(Bt,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==Bt}catch(f){throw c.close(),f}if(u){try{await mk(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await pk(t,2e3);if(await bs(),!f)throw new Error("stale daemon still running after shutdown request");return Rs({...e,skipVersionCheck:!0})}}return c}var vt=null,nn=null;async function hk(){if(vt)return vt;if(nn)return nn;let e=Rs().then(t=>{if(nn===e)return vt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return nn=e,e}var As=null,Cs=!1;async function gk(){return Cs||(Cs=!0,As=await sa()??Sn()),As}async function ac(e,t,n){let r=await gk();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(re(s.slug))?null:s}function yk(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function lc(e){Fr(async(t,n)=>{let r=e==="free"?"trial":e,s=n??En(void 0),o=await hk();if(!o)return ac(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(re(i.slug))?null:yk(i)}catch{return ac(t,r,s)}})}function cc(){if(Fr(null),vt)try{vt.close()}catch{}vt=null,nn=null,As=null,Cs=!1}import{chmod as _k,mkdir as wk,readFile as DE,writeFile as uc,stat as ME,readdir as FE,rm as fc,rename as xk}from"node:fs/promises";import{readFileSync as vk}from"node:fs";import{createHash as Sk}from"node:crypto";import{readFileSync as kk}from"node:fs";import{join as bk}from"node:path";function Qe(){try{return kk(bk(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Ek=1440*60*1e3,zE=30*Ek,UE=200*1024*1024,Tk=8*1024*1024,$k=/^[0-9a-f]{8,64}$/i;var Rk=".meta";var ZE=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
|
|
101
|
+
`);function Ak(){try{let e=JSON.parse(vk(Ti(),"utf8")),t=e.maxAgeDays;return{...typeof t=="number"&&Number.isFinite(t)&&t>0?{maxAgeDays:Math.min(t,365)}:{},...e.disabled===!0?{disabled:!0}:{}}}catch{return{}}}function Ck(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Ik(e){return`${Tr(e)}${Rk}`}function Ok(e){return e===""?[]:(e.endsWith(`
|
|
102
|
+
`)?e.slice(0,-1):e).split(`
|
|
103
|
+
`)}async function Pk(e,t,n=process.env,r={}){if(Qe()||!$k.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>Ck("TOKMIZER_CCR_ENTRY_MAX_BYTES",Tk,n))return!1;let o=Tr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await wk(Er(),{recursive:!0}),Qe())return!1;if(await uc(i,t,{mode:384}),await _k(i,384),Qe())return await fc(i,{force:!0}),!1;await xk(i,o)}catch{try{await fc(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Ok(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await uc(Ik(e),JSON.stringify(a),{mode:384})}catch{}return!0}function dc(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||Qe()||Ak().disabled===!0}async function Is(e,t,n,r){let s=Sk("sha256").update(e).digest("hex").slice(0,16);return await Pk(s,e,r,{partial:t,label:n})?s:null}async function Os(e,t,n=process.env,r={}){if(dc(n)||!e)return t;let s=i=>`
|
|
104
|
+
[tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Is(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Is(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function mc(e,t,n=process.env,r={}){if(dc(n)||!e)return t;let s=await Is(e,!1,r.label,n);return s?`${t}
|
|
105
|
+
[tkr restore ${s}]`:t}var pc=16*1024*1024,Nk=6e5,Dk=1500,Mk=new Set(["npm","pnpm","yarn","bun"]),Fk=new Set(["dev","start","serve","preview","watch"]);function hc(e,t){let n=process.env[e];if(n==null||n==="")return t;let r=Number(n);return Number.isFinite(r)?r:t}function Lk(){return hc("TOKMIZER_SHIM_STREAM_AFTER_MS",process.stdout.isTTY?Dk:0)}function jk(e,t){let n=e.split(/[\\/]/).pop()??e;return Mk.has(n)?t.some(r=>!r.startsWith("-")&&Fk.has(r)):!1}function gc(e){return e[0]==="--as"&&typeof e[1]=="string"?{cmdName:e[1],args:e.slice(2)}:e.length>0?{cmdName:e[0],args:e.slice(1)}:{cmdName:"",args:[]}}async function Hk(e,t){let n=Qe(),r=await gt(),s=await Ht(),o=s?la(s):null,i=s?En(s.allowedFilters,aa(s)):new Set,a=new Set(r.filters.disabled.map(re)),l=i&&a.size>0?new Set([...i].filter(m=>!a.has(m))):i,c=Pl().host,u=!process.stdout.isTTY&&c==="shell",f=!r.enabled||!s||zn(c)||Zr(),d=jk(e,t);return{yolo:n,settings:r,state:s,plan:o,allowed:l,host:c,piped:u,bypass:f,passthrough:d}}function Bk(e,t){return new Promise(n=>{let r=o=>n({exitCode:o,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0}),s=(0,Ps.default)(e,t,{stdio:"inherit",shell:!1,windowsHide:!0,env:hs()});s.on("error",o=>{process.stderr.write(`tkr-shim: ${o.message}
|
|
106
|
+
`),r(127)}),s.on("close",(o,i)=>r(typeof o=="number"?o:i==="SIGINT"?130:i==="SIGTERM"?143:1))})}async function yc(e){let{cmdName:t,args:n}=e;if(!t)return process.stderr.write(`tkr-shim: missing command name
|
|
107
|
+
`),{exitCode:2,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0};let r=[t,...n].join(" "),s;try{s=await Hk(t,n)}catch{return Bk(t,n)}let{yolo:o,settings:i,state:a,plan:l,allowed:c,host:u,piped:f,bypass:d,passthrough:m}=s;a&&!d&&!f&&!m&&lc(l);let h,w;try{return await new Promise(b=>{let R=(0,Ps.default)(t,n,{stdio:m?"inherit":["inherit","pipe","pipe"],shell:!1,windowsHide:!0,env:hs()}),E=[],I=[],P=0,D=0,X=!1,Q=m,St=hc("TOKMIZER_SHIM_TIMEOUT_MS",Nk),O=Lk(),F,W,Gn=()=>{F&&clearTimeout(F),W&&clearTimeout(W),F=void 0,W=void 0},rn=()=>{if(!Q){Q=!0,F&&clearTimeout(F),F=void 0;for(let M of E)process.stdout.write(M);for(let M of I)process.stderr.write(M);E.length=0,I.length=0}},Kn=()=>{Q||O<=0||(W&&clearTimeout(W),W=setTimeout(rn,O),W.unref?.())};!Q&&St>0&&(F=setTimeout(()=>R.kill("SIGTERM"),St),F.unref?.()),Kn();let Ms=M=>{try{R.kill(M)}catch{}};h=()=>Ms("SIGINT"),w=()=>Ms("SIGTERM"),process.on("SIGINT",h),process.on("SIGTERM",w),R.stdout?.on("data",M=>{if(P+=M.length,Q){process.stdout.write(M);return}if(P>pc){if(!X){for(let et of E)process.stdout.write(et);E.length=0,X=!0}process.stdout.write(M);return}E.push(M),Kn()}),R.stderr?.on("data",M=>{if(D+=M.length,Q){process.stderr.write(M);return}if(D>pc){if(!X){for(let et of I)process.stderr.write(et);I.length=0,X=!0}process.stderr.write(M);return}I.push(M),Kn()}),R.on("error",M=>{Gn(),process.stderr.write(`tkr-shim: ${M.message}
|
|
108
|
+
`),b({exitCode:127,filteredOut:"",filteredErr:"",filterId:null,rawBytes:0,filteredBytes:0})}),R.on("close",async(M,et)=>{Gn();let tt=typeof M=="number"?M:et==="SIGTERM"?143:et==="SIGINT"?130:1,Ae=Buffer.concat(E),Ce=Buffer.concat(I);if(X||Q||d||f){Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Ae.toString("utf8"),filteredErr:Ce.toString("utf8"),filterId:null,rawBytes:P+D,filteredBytes:P+D});return}let Et=Ae.toString("utf8"),Tt=Ce.toString("utf8");try{let z=await Lr(r,Et,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}),Vn=Tt&&(o||tt!==0&&Buffer.byteLength(Tt,"utf8")>=1024)?await Lr(r,Tt,c,{verbosity:i.outputVerbosity,yolo:o,exitCode:tt}):null,Ie=Vn&&(o||Vn.failureSummary)?Vn:null,Fs=z.filteredBytes<z.rawBytes,Ls=Fs||Ie!=null&&Ie.filteredBytes<Ie.rawBytes,$t=Ie?.output??Tt;if(Ie&&!o)try{$t=await Os(Ie.droppedTail??null,Ie.output)}catch{}let Rt=Et;if(Fs&&(Rt=z.output,!o))try{Rt=new RegExp(ai.source,"m").test(z.output)?await mc(Et,z.output,process.env,{label:Rn(r)}):await Os(z.droppedTail??null,z.output,process.env,{raw:Et,label:Rn(r)})}catch{}let js=Ae.length+Ce.length,At=Pa(js,Ls?Buffer.byteLength(Rt,"utf8")+Buffer.byteLength($t,"utf8"):js,Ol(u));Ia(At.raw,At.filtered,void 0,!1,u,"sh",Rn(r),process.cwd(),Oa(z));try{await ya({cmd:r,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes,plan:l}),await ga({cmd:r,tokensSaved:Math.max(0,Math.round((At.raw-At.filtered)/4)),rawTokens:Math.round(At.raw/4),optimized:z.filterId!=null,telemetryOptIn:i.telemetryOptIn,sessionId:process.env.CLAUDE_CODE_SESSION_ID,host:u})}catch{}if(Ls){process.stdout.write(Rt),$t&&process.stderr.write($t),b({exitCode:tt,filteredOut:Rt,filteredErr:$t,filterId:z.filterId,rawBytes:z.rawBytes,filteredBytes:z.filteredBytes});return}}catch{}Ae.length&&process.stdout.write(Ae),Ce.length&&process.stderr.write(Ce),b({exitCode:tt,filteredOut:Et,filteredErr:Tt,filterId:null,rawBytes:P+D,filteredBytes:P+D})})})}finally{h&&process.off("SIGINT",h),w&&process.off("SIGTERM",w),cc()}}import{existsSync as kc,readFileSync as _c,rmSync as uT,statSync as fT,writeFileSync as zk,mkdirSync as Uk}from"node:fs";import{join as wc}from"node:path";import Ns from"node:os";function bc(){return wc(S(),"healed")}function Zk(e){if(!(e<=0))try{let t=Number(_c(bc(),"utf8"))||0;Uk(S(),{recursive:!0,mode:448}),zk(bc(),String(t+e),{mode:384})}catch{}}async function Jk(e){let t={staleShims:0,rewrittenShims:0,launcher:"absent",hookLauncher:"absent",globalPathRemoved:[],globalPathLines:0};if(Ns.platform()!=="win32"&&kc(Gt())){let r=Nn(Kt(Gt())),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.hookLauncher="ok":e.dryRun?t.hookLauncher="stale":t.hookLauncher=await Za(s)?"written":"failed"}let n=kc(V())&&Ul();if(n&&Ns.platform()!=="win32"){let r=Nn(Kt()),s=Pn(e.shimJs);!(!r||e.explicit===!0&&(s.single!==""||s.js!==""))||e.dryRun&&r?t.launcher="ok":e.dryRun?t.launcher="stale":t.launcher=await Wr(s)?"written":"failed"}if(n){let r=await Kl(e.shimJs,{dryRun:e.dryRun===!0});t.staleShims=r.stale,t.rewrittenShims=r.rewritten}return e.rc&&(e.dryRun||(t.globalPathRemoved=await Yl()),t.globalPathLines=await ql()),Zk(t.rewrittenShims+(t.launcher==="written"?1:0)+(t.hookLauncher==="written"?1:0)+t.globalPathRemoved.length),t}async function xc(e,t){if(Ns.platform()!=="win32"){try{if(gs(_c(wc(V(),t),"utf8"))&&Nn(Kt()))return}catch{return}await Jk({shimJs:e})}}function vc(e=process.stdout,t=n=>process.exit(n)){e.on("error",n=>{if(n.code==="EPIPE"){t(141);return}throw n})}vc();var Ds=gc(process.argv.slice(2));Ds.cmdName&&xc(Xl(),Ds.cmdName).catch(()=>{});yc(Ds).then(e=>{process.exitCode=e.exitCode}).catch(e=>{process.stderr.write(`tkr-shim: ${e.message}
|
|
47
109
|
`),process.exitCode=1});
|
|
110
|
+
/*! Bundled license information:
|
|
111
|
+
|
|
112
|
+
smol-toml/dist/error.js:
|
|
113
|
+
smol-toml/dist/primitive.js:
|
|
114
|
+
smol-toml/dist/date.js:
|
|
115
|
+
smol-toml/dist/extract.js:
|
|
116
|
+
smol-toml/dist/util.js:
|
|
117
|
+
smol-toml/dist/struct.js:
|
|
118
|
+
smol-toml/dist/parse.js:
|
|
119
|
+
smol-toml/dist/stringify.js:
|
|
120
|
+
smol-toml/dist/index.js:
|
|
121
|
+
(*!
|
|
122
|
+
* Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
123
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
124
|
+
*
|
|
125
|
+
* Redistribution and use in source and binary forms, with or without
|
|
126
|
+
* modification, are permitted provided that the following conditions are met:
|
|
127
|
+
*
|
|
128
|
+
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
129
|
+
* list of conditions and the following disclaimer.
|
|
130
|
+
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
131
|
+
* this list of conditions and the following disclaimer in the
|
|
132
|
+
* documentation and/or other materials provided with the distribution.
|
|
133
|
+
* 3. Neither the name of the copyright holder nor the names of its contributors
|
|
134
|
+
* may be used to endorse or promote products derived from this software without
|
|
135
|
+
* specific prior written permission.
|
|
136
|
+
*
|
|
137
|
+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
138
|
+
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
139
|
+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
140
|
+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
141
|
+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
142
|
+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
143
|
+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
144
|
+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
145
|
+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
146
|
+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
147
|
+
*)
|
|
148
|
+
*/
|