@tokmizer/plugin 0.9.61 → 0.9.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/LICENSE +176 -0
  4. package/LICENSE-ENGINE +107 -0
  5. package/LICENSES.md +29 -0
  6. package/NOTICE +18 -0
  7. package/README.md +22 -6
  8. package/THIRD-PARTY-NOTICES.md +446 -0
  9. package/dist/bin/tkr-agent-hook.js +9 -9
  10. package/dist/bin/tkr-codex-hook.js +67 -67
  11. package/dist/bin/tkr-copilot-hook.js +9 -9
  12. package/dist/bin/tkr-crush-hook.js +9 -9
  13. package/dist/bin/tkr-cursor-hook.js +8 -8
  14. package/dist/bin/tkr-daemon.js +113 -113
  15. package/dist/bin/tkr-droid-hook.js +9 -9
  16. package/dist/bin/tkr-exec +2 -2
  17. package/dist/bin/tkr-exec.js +2 -2
  18. package/dist/bin/tkr-gemini-hook.js +8 -8
  19. package/dist/bin/tkr-grok-hook.js +9 -9
  20. package/dist/bin/tkr-junie-hook.js +9 -9
  21. package/dist/bin/tkr-processor.js +81 -81
  22. package/dist/bin/tkr-qwen-hook.js +9 -9
  23. package/dist/bin/tkr-shim.js +2 -2
  24. package/dist/bin/tkr-trae-hook.js +9 -9
  25. package/dist/bin/tkr-zcode-hook.js +9 -9
  26. package/dist/bin/tkr.js +233 -233
  27. package/dist/hooks-host/post-tool-use.js +2 -2
  28. package/dist/hooks-host/pre-tool-use.js +9 -9
  29. package/dist/hooks-host/reducer-stop.js +1 -1
  30. package/dist/hooks-host/session-recap.js +1 -1
  31. package/dist/index.js +2 -2
  32. package/dist/native/manifest.json +12 -12
  33. package/dist/native/single.json +12 -12
  34. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  35. package/dist/native/tkr-exec-darwin-x64 +0 -0
  36. package/dist/native/tkr-exec-linux-arm64 +0 -0
  37. package/dist/native/tkr-exec-linux-x64 +0 -0
  38. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  39. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  40. package/package.json +13 -9
@@ -1,132 +1,132 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var cd=Object.create;var ss=Object.defineProperty;var ud=Object.getOwnPropertyDescriptor;var fd=Object.getOwnPropertyNames;var dd=Object.getPrototypeOf,md=Object.prototype.hasOwnProperty;var je=(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 k=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},on=(e,t)=>{for(var n in t)ss(e,n,{get:t[n],enumerable:!0})},pd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of fd(t))!md.call(e,s)&&s!==n&&ss(e,s,{get:()=>t[s],enumerable:!(r=ud(t,s))||r.enumerable});return e};var hd=(e,t,n)=>(n=e!=null?cd(dd(e)):{},pd(t||!e||!e.__esModule?ss(n,"default",{value:e,enumerable:!0}):n,e));var N,os,w,ve,an=k(()=>{(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})(N||(N={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(os||(os={}));w=N.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,gd,ee,zn=k(()=>{an();y=N.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"]),gd=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ee=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,N.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()}};ee.create=e=>new ee(e)});var yd,Oe,is=k(()=>{zn();an();yd=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,N.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${N.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${N.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${N.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:N.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,N.assertNever(e)}return{message:n}},Oe=yd});function bd(e){Ai=e}function xt(){return Ai}var Ai,Jn=k(()=>{is();Ai=Oe});function _(e,t){let n=xt(),r=ln({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Oe?void 0:Oe].filter(s=>!!s)});e.common.issues.push(r)}var ln,kd,Y,A,Xe,q,Gn,Zn,He,St,as=k(()=>{Jn();is();ln=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}},kd=[];Y=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 A;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 A;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}}},A=Object.freeze({status:"aborted"}),Xe=e=>({status:"dirty",value:e}),q=e=>({status:"valid",value:e}),Gn=e=>e.status==="aborted",Zn=e=>e.status==="dirty",He=e=>e.status==="valid",St=e=>typeof Promise<"u"&&e instanceof Promise});var $i=k(()=>{});var S,Ci=k(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(S||(S={}))});function O(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Ni(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 Md(e){return new RegExp(`^${Ni(e)}$`)}function Di(e){let t=`${Pi}T${Ni(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 Fd(e,t){return!!((t==="v4"||!t)&&$d.test(e)||(t==="v6"||!t)&&Od.test(e))}function Ld(e,t){if(!Ed.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 jd(e,t){return!!((t==="v4"||!t)&&Cd.test(e)||(t==="v6"||!t)&&Id.test(e))}function Hd(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function vt(e){if(e instanceof te){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=fe.create(vt(r))}return new te({...e._def,shape:()=>t})}else return e instanceof Ne?new Ne({...e._def,type:vt(e.element)}):e instanceof fe?fe.create(vt(e.unwrap())):e instanceof Te?Te.create(vt(e.unwrap())):e instanceof Ee?Ee.create(e.items.map(t=>vt(t))):e}function cs(e,t){let n=ve(e),r=ve(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=N.objectKeys(t),o=N.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=cs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.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=cs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Mi(e,t){return new ct({values:e,typeName:C.ZodEnum,...O(t)})}function Ii(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fi(e,t={},n){return e?Ue.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ii(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ii(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Ue.create()}var de,Oi,P,_d,wd,xd,Sd,vd,Ed,Td,Rd,Ad,ls,$d,Cd,Od,Id,Pd,Nd,Pi,Dd,Be,Qe,et,tt,nt,Et,rt,st,Ue,Pe,be,Tt,Ne,te,ot,Ie,Kn,it,Ee,Wn,Rt,At,Vn,at,lt,ct,ut,ze,me,fe,Te,ft,dt,$t,Bd,cn,un,mt,Ud,C,zd,Li,ji,Jd,Gd,Hi,Zd,Kd,Wd,Vd,Yd,qd,Xd,Qd,em,tm,nm,rm,sm,om,im,am,lm,cm,um,fm,dm,mm,pm,hm,gm,ym,bm,km,_m,wm,xm,Sm,vm,Em,Bi=k(()=>{zn();Jn();Ci();as();an();de=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}},Oi=(e,t)=>{if(He(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 ee(e.common.issues);return this._error=n,this._error}}};P=class{get description(){return this._def.description}_getType(t){return ve(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Y,ctx:{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(St(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:ve(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Oi(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return He(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=>He(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:ve(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(St(s)?s:Promise.resolve(s));return Oi(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new me({schema:this,typeName:C.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 fe.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ne.create(this)}promise(){return ze.create(this,this._def)}or(t){return ot.create([this,t],this._def)}and(t){return it.create(this,t,this._def)}transform(t){return new me({...O(this._def),schema:this,typeName:C.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ft({...O(this._def),innerType:this,defaultValue:n,typeName:C.ZodDefault})}brand(){return new cn({typeName:C.ZodBranded,type:this,...O(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new dt({...O(this._def),innerType:this,catchValue:n,typeName:C.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return un.create(this,t)}readonly(){return mt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},_d=/^c[^\s-]{8,}$/i,wd=/^[0-9a-z]+$/,xd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Sd=/^[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,vd=/^[a-z0-9_-]{21}$/i,Ed=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Td=/^[-+]?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)?)??$/,Rd=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Ad="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",$d=/^(?:(?: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])$/,Cd=/^(?:(?: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])$/,Od=/^(([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]))$/,Id=/^(([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])$/,Pd=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Nd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pi="((\\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])))",Dd=new RegExp(`^${Pi}$`);Be=class e extends P{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),A}let r=new Y,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Rd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ls||(ls=new RegExp(Ad,"u")),ls.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Sd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")vd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")_d.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")wd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")xd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Di(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Dd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Md(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Td.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Fd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?Ld(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?jd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Pd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?Nd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):N.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...S.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...S.errToObj(t)})}url(t){return this._addCheck({kind:"url",...S.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...S.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...S.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...S.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...S.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...S.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...S.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...S.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...S.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...S.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...S.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...S.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,...S.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,...S.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...S.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...S.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...S.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...S.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...S.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...S.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...S.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...S.errToObj(n)})}nonempty(t){return this.min(1,S.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}};Be.create=e=>new Be({checks:[],typeName:C.ZodString,coerce:e?.coerce??!1,...O(e)});Qe=class e extends P{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)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),A}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?N.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Hd(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):N.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:S.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:S.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:S.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:S.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"&&N.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Qe.create=e=>new Qe({checks:[],typeName:C.ZodNumber,coerce:e?.coerce||!1,...O(e)});et=class e extends P{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)!==w.bigint)return this._getInvalidInput(t);let r,s=new Y;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),_(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):N.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),A}gte(t,n){return this.setLimit("min",t,!0,S.toString(n))}gt(t,n){return this.setLimit("min",t,!1,S.toString(n))}lte(t,n){return this.setLimit("max",t,!0,S.toString(n))}lt(t,n){return this.setLimit("max",t,!1,S.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:S.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:S.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:S.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:S.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:S.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:S.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}};et.create=e=>new et({checks:[],typeName:C.ZodBigInt,coerce:e?.coerce??!1,...O(e)});tt=class extends P{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),A}return q(t.data)}};tt.create=e=>new tt({typeName:C.ZodBoolean,coerce:e?.coerce||!1,...O(e)});nt=class e extends P{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),A}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),A}let r=new Y,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):N.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:S.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:S.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}};nt.create=e=>new nt({checks:[],coerce:e?.coerce||!1,typeName:C.ZodDate,...O(e)});Et=class extends P{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),A}return q(t.data)}};Et.create=e=>new Et({typeName:C.ZodSymbol,...O(e)});rt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),A}return q(t.data)}};rt.create=e=>new rt({typeName:C.ZodUndefined,...O(e)});st=class extends P{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),A}return q(t.data)}};st.create=e=>new st({typeName:C.ZodNull,...O(e)});Ue=class extends P{constructor(){super(...arguments),this._any=!0}_parse(t){return q(t.data)}};Ue.create=e=>new Ue({typeName:C.ZodAny,...O(e)});Pe=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(t){return q(t.data)}};Pe.create=e=>new Pe({typeName:C.ZodUnknown,...O(e)});be=class extends P{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),A}};be.create=e=>new be({typeName:C.ZodNever,...O(e)});Tt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),A}return q(t.data)}};Tt.create=e=>new Tt({typeName:C.ZodVoid,...O(e)});Ne=class e extends P{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),A;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new de(n,i,n.path,a)))).then(i=>Y.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new de(n,i,n.path,a)));return Y.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:S.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:S.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:S.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:C.ZodArray,...O(t)});te=class e extends P{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=N.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:y.invalid_type,expected:w.object,received:c.parsedType}),A}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof be&&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 de(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof be){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&&(_(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new de(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=>Y.mergeObjectSync(r,c)):Y.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return S.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:S.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:C.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 N.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 N.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return vt(this)}partial(t){let n={};for(let r of N.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 N.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof fe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mi(N.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:be.create(),typeName:C.ZodObject,...O(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:be.create(),typeName:C.ZodObject,...O(t)});ot=class extends P{_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 ee(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),A}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 ee(l));return _(n,{code:y.invalid_union,unionErrors:a}),A}}get options(){return this._def.options}};ot.create=(e,t)=>new ot({options:e,typeName:C.ZodUnion,...O(t)});Ie=e=>e instanceof at?Ie(e.schema):e instanceof me?Ie(e.innerType()):e instanceof lt?[e.value]:e instanceof ct?e.options:e instanceof ut?N.objectValues(e.enum):e instanceof ft?Ie(e._def.innerType):e instanceof rt?[void 0]:e instanceof st?[null]:e instanceof fe?[void 0,...Ie(e.unwrap())]:e instanceof Te?[null,...Ie(e.unwrap())]:e instanceof cn||e instanceof mt?Ie(e.unwrap()):e instanceof dt?Ie(e._def.innerType):[],Kn=class e extends P{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),A;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}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),A)}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=Ie(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:C.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...O(r)})}};it=class extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Gn(o)||Gn(i))return A;let a=cs(o.value,i.value);return a.valid?((Zn(o)||Zn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),A)};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}))}};it.create=(e,t,n)=>new it({left:e,right:t,typeName:C.ZodIntersection,...O(n)});Ee=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),A;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new de(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Y.mergeArray(n,i)):Y.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ee.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ee({items:e,typeName:C.ZodTuple,rest:null,...O(t)})};Wn=class e extends P{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!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),A;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new de(r,a,r.path,a)),value:i._parse(new de(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Y.mergeObjectAsync(n,s):Y.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof P?new e({keyType:t,valueType:n,typeName:C.ZodRecord,...O(r)}):new e({keyType:Be.create(),valueType:t,typeName:C.ZodRecord,...O(n)})}},Rt=class extends P{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!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),A;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new de(r,a,r.path,[c,"key"])),value:o._parse(new de(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 A;(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 A;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Rt.create=(e,t,n)=>new Rt({valueType:t,keyType:e,typeName:C.ZodMap,...O(n)});At=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),A;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return A;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 de(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:S.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:S.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};At.create=(e,t)=>new At({valueType:e,minSize:null,maxSize:null,typeName:C.ZodSet,...O(t)});Vn=class e extends P{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),A;function r(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof ze){let a=this;return q(async function(...l){let c=new ee([]),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 q(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new ee([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new ee([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:Ee.create(t).rest(Pe.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||Ee.create([]).rest(Pe.create()),returns:n||Pe.create(),typeName:C.ZodFunction,...O(r)})}},at=class extends P{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})}};at.create=(e,t)=>new at({getter:e,typeName:C.ZodLazy,...O(t)});lt=class extends P{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),A}return{status:"valid",value:t.data}}get value(){return this._def.value}};lt.create=(e,t)=>new lt({value:e,typeName:C.ZodLiteral,...O(t)});ct=class e extends P{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:N.joinValues(r),received:n.parsedType,code:y.invalid_type}),A}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 _(n,{received:n.data,code:y.invalid_enum_value,options:r}),A}return q(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})}};ct.create=Mi;ut=class extends P{_parse(t){let n=N.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=N.objectValues(n);return _(r,{expected:N.joinValues(s),received:r.parsedType,code:y.invalid_type}),A}if(this._cache||(this._cache=new Set(N.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=N.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),A}return q(t.data)}get enum(){return this._def.values}};ut.create=(e,t)=>new ut({values:e,typeName:C.ZodNativeEnum,...O(t)});ze=class extends P{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),A;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return q(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};ze.create=(e,t)=>new ze({type:e,typeName:C.ZodPromise,...O(t)});me=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===C.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=>{_(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 A;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?A:l.status==="dirty"?Xe(l.value):n.value==="dirty"?Xe(l.value):l});{if(n.value==="aborted")return A;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?A:a.status==="dirty"?Xe(a.value):n.value==="dirty"?Xe(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"?A:(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"?A:(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(!He(i))return A;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=>He(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):A);N.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:C.ZodEffects,effect:t,...O(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:C.ZodEffects,...O(n)});fe=class extends P{_parse(t){return this._getType(t)===w.undefined?q(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:C.ZodOptional,...O(t)});Te=class extends P{_parse(t){return this._getType(t)===w.null?q(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Te.create=(e,t)=>new Te({innerType:e,typeName:C.ZodNullable,...O(t)});ft=class extends P{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ft.create=(e,t)=>new ft({innerType:e,typeName:C.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...O(t)});dt=class extends P{_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 St(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};dt.create=(e,t)=>new dt({innerType:e,typeName:C.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...O(t)});$t=class extends P{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),A}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:C.ZodNaN,...O(e)});Bd=Symbol("zod_brand"),cn=class extends P{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},un=class e extends P{_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"?A:o.status==="dirty"?(n.dirty(),Xe(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"?A: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:C.ZodPipeline})}},mt=class extends P{_parse(t){let n=this._def.innerType._parse(t),r=s=>(He(s)&&(s.value=Object.freeze(s.value)),s);return St(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};mt.create=(e,t)=>new mt({innerType:e,typeName:C.ZodReadonly,...O(t)});Ud={object:te.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(C||(C={}));zd=(e,t={message:`Input not instance of ${e.name}`})=>Fi(n=>n instanceof e,t),Li=Be.create,ji=Qe.create,Jd=$t.create,Gd=et.create,Hi=tt.create,Zd=nt.create,Kd=Et.create,Wd=rt.create,Vd=st.create,Yd=Ue.create,qd=Pe.create,Xd=be.create,Qd=Tt.create,em=Ne.create,tm=te.create,nm=te.strictCreate,rm=ot.create,sm=Kn.create,om=it.create,im=Ee.create,am=Wn.create,lm=Rt.create,cm=At.create,um=Vn.create,fm=at.create,dm=lt.create,mm=ct.create,pm=ut.create,hm=ze.create,gm=me.create,ym=fe.create,bm=Te.create,km=me.createWithPreprocess,_m=un.create,wm=()=>Li().optional(),xm=()=>ji().optional(),Sm=()=>Hi().optional(),vm={string:(e=>Be.create({...e,coerce:!0})),number:(e=>Qe.create({...e,coerce:!0})),boolean:(e=>tt.create({...e,coerce:!0})),bigint:(e=>et.create({...e,coerce:!0})),date:(e=>nt.create({...e,coerce:!0}))},Em=A});var h={};on(h,{BRAND:()=>Bd,DIRTY:()=>Xe,EMPTY_PATH:()=>kd,INVALID:()=>A,NEVER:()=>Em,OK:()=>q,ParseStatus:()=>Y,Schema:()=>P,ZodAny:()=>Ue,ZodArray:()=>Ne,ZodBigInt:()=>et,ZodBoolean:()=>tt,ZodBranded:()=>cn,ZodCatch:()=>dt,ZodDate:()=>nt,ZodDefault:()=>ft,ZodDiscriminatedUnion:()=>Kn,ZodEffects:()=>me,ZodEnum:()=>ct,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>C,ZodFunction:()=>Vn,ZodIntersection:()=>it,ZodIssueCode:()=>y,ZodLazy:()=>at,ZodLiteral:()=>lt,ZodMap:()=>Rt,ZodNaN:()=>$t,ZodNativeEnum:()=>ut,ZodNever:()=>be,ZodNull:()=>st,ZodNullable:()=>Te,ZodNumber:()=>Qe,ZodObject:()=>te,ZodOptional:()=>fe,ZodParsedType:()=>w,ZodPipeline:()=>un,ZodPromise:()=>ze,ZodReadonly:()=>mt,ZodRecord:()=>Wn,ZodSchema:()=>P,ZodSet:()=>At,ZodString:()=>Be,ZodSymbol:()=>Et,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>P,ZodUndefined:()=>rt,ZodUnion:()=>ot,ZodUnknown:()=>Pe,ZodVoid:()=>Tt,addIssueToContext:()=>_,any:()=>Yd,array:()=>em,bigint:()=>Gd,boolean:()=>Hi,coerce:()=>vm,custom:()=>Fi,date:()=>Zd,datetimeRegex:()=>Di,defaultErrorMap:()=>Oe,discriminatedUnion:()=>sm,effect:()=>gm,enum:()=>mm,function:()=>um,getErrorMap:()=>xt,getParsedType:()=>ve,instanceof:()=>zd,intersection:()=>om,isAborted:()=>Gn,isAsync:()=>St,isDirty:()=>Zn,isValid:()=>He,late:()=>Ud,lazy:()=>fm,literal:()=>dm,makeIssue:()=>ln,map:()=>lm,nan:()=>Jd,nativeEnum:()=>pm,never:()=>Xd,null:()=>Vd,nullable:()=>bm,number:()=>ji,object:()=>tm,objectUtil:()=>os,oboolean:()=>Sm,onumber:()=>xm,optional:()=>ym,ostring:()=>wm,pipeline:()=>_m,preprocess:()=>km,promise:()=>hm,quotelessJson:()=>gd,record:()=>am,set:()=>cm,setErrorMap:()=>bd,strictObject:()=>nm,string:()=>Li,symbol:()=>Kd,transformer:()=>gm,tuple:()=>im,undefined:()=>Wd,union:()=>rm,unknown:()=>qd,util:()=>N,void:()=>Qd});var us=k(()=>{Jn();as();$i();an();Bi();zn()});var pt=k(()=>{us();us()});var Je,fn=k(()=>{"use strict";pt();Je=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),strip_on_failure: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 Gi={};on(Gi,{OutputVerbosity:()=>zi,ReducerLevel:()=>Ji,Settings:()=>Ct,slugKey:()=>le});import{createHash as Tm}from"node:crypto";function le(e){let t=Ui.get(e);return t||(t=Tm("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ui.set(e,t)),t}var zi,Ji,Ct,Ui,Ge=k(()=>{"use strict";pt();zi=h.enum(["normal","compact","minimal"]),Ji=h.enum(["off","light","balanced","max"]),Ct=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:zi.default("compact"),reducer:Ji.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ui=new Map});function Ot(e,t,n,r=t){let s=Zi.get(r);s||(s=new Map,Zi.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(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Rm){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Zi,Rm,Yn=k(()=>{"use strict";Ge();Zi=new WeakMap,Rm=256});import Am from"node:os";import{join as dn}from"node:path";function x(){return process.env.TOKMIZER_HOME||dn(Am.homedir(),".tokmizer")}function mn(){return dn(x(),"install-id")}function fs(){return dn(x(),"content-cache")}function Ki(){return dn(x(),"restore.json")}function ds(e){return dn(fs(),e)}var j=k(()=>{"use strict"});import{join as $m}from"node:path";import{mkdir as pv,readFile as Cm,writeFile as hv,unlink as gv,rename as yv}from"node:fs/promises";function Im(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Pm(e){return e?.dir??x()}async function ht(e){let t=Pm(e);try{let n=await Cm($m(t,Om),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Im()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Om,pn=k(()=>{"use strict";j();Om="state.json"});import{createRequire as Nm}from"node:module";function Mm(){let e="0.9.61";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Dm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Wi(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 Dm,pe,It=k(()=>{"use strict";Dm=Nm(import.meta.url);pe=Mm()});var Vi,Yi=k(()=>{"use strict";Vi=`-----BEGIN PUBLIC KEY-----
3
+ var pd=Object.create;var ss=Object.defineProperty;var hd=Object.getOwnPropertyDescriptor;var gd=Object.getOwnPropertyNames;var yd=Object.getPrototypeOf,bd=Object.prototype.hasOwnProperty;var Le=(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 b=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var ae=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},on=(e,t)=>{for(var n in t)ss(e,n,{get:t[n],enumerable:!0})},kd=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of gd(t))!bd.call(e,s)&&s!==n&&ss(e,s,{get:()=>t[s],enumerable:!(r=hd(t,s))||r.enumerable});return e};var _d=(e,t,n)=>(n=e!=null?pd(yd(e)):{},kd(t||!e||!e.__esModule?ss(n,"default",{value:e,enumerable:!0}):n,e));var D,os,w,ve,an=b(()=>{(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})(D||(D={}));(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(os||(os={}));w=D.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ve=e=>{switch(typeof e){case"undefined":return w.undefined;case"string":return w.string;case"number":return Number.isNaN(e)?w.nan:w.number;case"boolean":return w.boolean;case"function":return w.function;case"bigint":return w.bigint;case"symbol":return w.symbol;case"object":return Array.isArray(e)?w.array:e===null?w.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?w.promise:typeof Map<"u"&&e instanceof Map?w.map:typeof Set<"u"&&e instanceof Set?w.set:typeof Date<"u"&&e instanceof Date?w.date:w.object;default:return w.unknown}}});var y,wd,ee,zn=b(()=>{an();y=D.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"]),wd=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),ee=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,D.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()}};ee.create=e=>new ee(e)});var xd,Oe,is=b(()=>{zn();an();xd=(e,t)=>{let n;switch(e.code){case y.invalid_type:e.received===w.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case y.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,D.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:n=`Unrecognized key(s) in object: ${D.joinValues(e.keys,", ")}`;break;case y.invalid_union:n="Invalid input";break;case y.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${D.joinValues(e.options)}`;break;case y.invalid_enum_value:n=`Invalid enum value. Expected ${D.joinValues(e.options)}, received '${e.received}'`;break;case y.invalid_arguments:n="Invalid function arguments";break;case y.invalid_return_type:n="Invalid function return type";break;case y.invalid_date:n="Invalid date";break;case y.invalid_string:typeof e.validation=="object"?"includes"in e.validation?(n=`Invalid input: must include "${e.validation.includes}"`,typeof e.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?n=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?n=`Invalid input: must end with "${e.validation.endsWith}"`:D.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case y.too_small:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="bigint"?n=`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:n="Invalid input";break;case y.too_big:e.type==="array"?n=`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:e.type==="string"?n=`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:e.type==="number"?n=`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="bigint"?n=`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:e.type==="date"?n=`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:n="Invalid input";break;case y.custom:n="Invalid input";break;case y.invalid_intersection_types:n="Intersection results could not be merged";break;case y.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case y.not_finite:n="Number must be finite";break;default:n=t.defaultError,D.assertNever(e)}return{message:n}},Oe=xd});function Sd(e){Ai=e}function xt(){return Ai}var Ai,Jn=b(()=>{is();Ai=Oe});function _(e,t){let n=xt(),r=ln({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===Oe?void 0:Oe].filter(s=>!!s)});e.common.issues.push(r)}var ln,vd,Y,R,Xe,q,Gn,Zn,je,St,as=b(()=>{Jn();is();ln=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}},vd=[];Y=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 R;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 R;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}}},R=Object.freeze({status:"aborted"}),Xe=e=>({status:"dirty",value:e}),q=e=>({status:"valid",value:e}),Gn=e=>e.status==="aborted",Zn=e=>e.status==="dirty",je=e=>e.status==="valid",St=e=>typeof Promise<"u"&&e instanceof Promise});var $i=b(()=>{});var v,Ci=b(()=>{(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(v||(v={}))});function I(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}function Ni(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 Bd(e){return new RegExp(`^${Ni(e)}$`)}function Di(e){let t=`${Pi}T${Ni(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 Ud(e,t){return!!((t==="v4"||!t)&&Nd.test(e)||(t==="v6"||!t)&&Md.test(e))}function zd(e,t){if(!Cd.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 Jd(e,t){return!!((t==="v4"||!t)&&Dd.test(e)||(t==="v6"||!t)&&Fd.test(e))}function Gd(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}function vt(e){if(e instanceof te){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=fe.create(vt(r))}return new te({...e._def,shape:()=>t})}else return e instanceof Ne?new Ne({...e._def,type:vt(e.element)}):e instanceof fe?fe.create(vt(e.unwrap())):e instanceof Te?Te.create(vt(e.unwrap())):e instanceof Ee?Ee.create(e.items.map(t=>vt(t))):e}function cs(e,t){let n=ve(e),r=ve(t);if(e===t)return{valid:!0,data:e};if(n===w.object&&r===w.object){let s=D.objectKeys(t),o=D.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=cs(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===w.array&&r===w.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=cs(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===w.date&&r===w.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}function Mi(e,t){return new ct({values:e,typeName:$.ZodEnum,...I(t)})}function Ii(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function Fi(e,t={},n){return e?Be.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=Ii(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=Ii(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Be.create()}var de,Oi,P,Ed,Td,Rd,Ad,$d,Cd,Od,Id,Pd,ls,Nd,Dd,Md,Fd,Ld,jd,Pi,Hd,He,Qe,et,tt,nt,Et,rt,st,Be,Pe,be,Tt,Ne,te,ot,Ie,Wn,it,Ee,Kn,Rt,At,Vn,at,lt,ct,ut,Ue,me,fe,Te,ft,dt,$t,Zd,cn,un,mt,Wd,$,Kd,Li,ji,Vd,Yd,Hi,qd,Xd,Qd,em,tm,nm,rm,sm,om,im,am,lm,cm,um,fm,dm,mm,pm,hm,gm,ym,bm,km,_m,wm,xm,Sm,vm,Em,Tm,Rm,Am,$m,Cm,Bi=b(()=>{zn();Jn();Ci();as();an();de=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}},Oi=(e,t)=>{if(je(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 ee(e.common.issues);return this._error=n,this._error}}};P=class{get description(){return this._def.description}_getType(t){return ve(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new Y,ctx:{common:t.parent.common,data:t.data,parsedType:ve(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(St(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:ve(t)},s=this._parseSync({data:t,path:r.path,parent:r});return Oi(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ve(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return je(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=>je(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:ve(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(St(s)?s:Promise.resolve(s));return Oi(r,o)}refine(t,n){let r=s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n;return this._refinement((s,o)=>{let i=t(s),a=()=>o.addIssue({code:y.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(a(),!1)):i?!0:(a(),!1)})}refinement(t,n){return this._refinement((r,s)=>t(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(t){return new me({schema:this,typeName:$.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 fe.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Ne.create(this)}promise(){return Ue.create(this,this._def)}or(t){return ot.create([this,t],this._def)}and(t){return it.create(this,t,this._def)}transform(t){return new me({...I(this._def),schema:this,typeName:$.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new ft({...I(this._def),innerType:this,defaultValue:n,typeName:$.ZodDefault})}brand(){return new cn({typeName:$.ZodBranded,type:this,...I(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new dt({...I(this._def),innerType:this,catchValue:n,typeName:$.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return un.create(this,t)}readonly(){return mt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Ed=/^c[^\s-]{8,}$/i,Td=/^[0-9a-z]+$/,Rd=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Ad=/^[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,$d=/^[a-z0-9_-]{21}$/i,Cd=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Od=/^[-+]?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)?)??$/,Id=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Pd="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Nd=/^(?:(?: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])$/,Dd=/^(?:(?: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])$/,Md=/^(([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]))$/,Fd=/^(([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])$/,Ld=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,jd=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Pi="((\\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])))",Hd=new RegExp(`^${Pi}$`);He=class e extends P{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==w.string){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.string,received:o.parsedType}),R}let r=new Y,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="max")t.data.length>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),r.dirty());else if(o.kind==="length"){let i=t.data.length>o.value,a=t.data.length<o.value;(i||a)&&(s=this._getOrReturnCtx(t,s),i?_(s,{code:y.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&_(s,{code:y.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")Id.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"email",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")ls||(ls=new RegExp(Pd,"u")),ls.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"emoji",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")Ad.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"uuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")$d.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"nanoid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Ed.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Td.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cuid2",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")Rd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ulid",code:y.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),_(s,{validation:"url",code:y.invalid_string,message:o.message}),r.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"regex",code:y.invalid_string,message:o.message}),r.dirty())):o.kind==="trim"?t.data=t.data.trim():o.kind==="includes"?t.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),r.dirty()):o.kind==="toLowerCase"?t.data=t.data.toLowerCase():o.kind==="toUpperCase"?t.data=t.data.toUpperCase():o.kind==="startsWith"?t.data.startsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?Di(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?Hd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?Bd(o).test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{code:y.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?Od.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"duration",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?Ud(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"ip",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?zd(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"jwt",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?Jd(t.data,o.version)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"cidr",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?Ld.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64",code:y.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?jd.test(t.data)||(s=this._getOrReturnCtx(t,s),_(s,{validation:"base64url",code:y.invalid_string,message:o.message}),r.dirty()):D.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:y.invalid_string,...v.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...v.errToObj(t)})}url(t){return this._addCheck({kind:"url",...v.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...v.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...v.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...v.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...v.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...v.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...v.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...v.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...v.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...v.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...v.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...v.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,...v.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,...v.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...v.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...v.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...v.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...v.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...v.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...v.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...v.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...v.errToObj(n)})}nonempty(t){return this.min(1,v.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};He.create=e=>new He({checks:[],typeName:$.ZodString,coerce:e?.coerce??!1,...I(e)});Qe=class e extends P{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)!==w.number){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.number,received:o.parsedType}),R}let r,s=new Y;for(let o of this._def.checks)o.kind==="int"?D.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?Gd(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_finite,message:o.message}),s.dirty()):D.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:v.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:v.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.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"&&D.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Qe.create=e=>new Qe({checks:[],typeName:$.ZodNumber,coerce:e?.coerce||!1,...I(e)});et=class e extends P{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)!==w.bigint)return this._getInvalidInput(t);let r,s=new Y;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),_(r,{code:y.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?t.data>o.value:t.data>=o.value)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?t.data%o.value!==BigInt(0)&&(r=this._getOrReturnCtx(t,r),_(r,{code:y.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):D.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.bigint,received:n.parsedType}),R}gte(t,n){return this.setLimit("min",t,!0,v.toString(n))}gt(t,n){return this.setLimit("min",t,!1,v.toString(n))}lte(t,n){return this.setLimit("max",t,!0,v.toString(n))}lt(t,n){return this.setLimit("max",t,!1,v.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:v.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:v.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:v.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}};et.create=e=>new et({checks:[],typeName:$.ZodBigInt,coerce:e?.coerce??!1,...I(e)});tt=class extends P{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==w.boolean){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.boolean,received:r.parsedType}),R}return q(t.data)}};tt.create=e=>new tt({typeName:$.ZodBoolean,coerce:e?.coerce||!1,...I(e)});nt=class e extends P{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==w.date){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_type,expected:w.date,received:o.parsedType}),R}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return _(o,{code:y.invalid_date}),R}let r=new Y,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),r.dirty()):o.kind==="max"?t.data.getTime()>o.value&&(s=this._getOrReturnCtx(t,s),_(s,{code:y.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):D.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:v.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:v.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}};nt.create=e=>new nt({checks:[],coerce:e?.coerce||!1,typeName:$.ZodDate,...I(e)});Et=class extends P{_parse(t){if(this._getType(t)!==w.symbol){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.symbol,received:r.parsedType}),R}return q(t.data)}};Et.create=e=>new Et({typeName:$.ZodSymbol,...I(e)});rt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.undefined,received:r.parsedType}),R}return q(t.data)}};rt.create=e=>new rt({typeName:$.ZodUndefined,...I(e)});st=class extends P{_parse(t){if(this._getType(t)!==w.null){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.null,received:r.parsedType}),R}return q(t.data)}};st.create=e=>new st({typeName:$.ZodNull,...I(e)});Be=class extends P{constructor(){super(...arguments),this._any=!0}_parse(t){return q(t.data)}};Be.create=e=>new Be({typeName:$.ZodAny,...I(e)});Pe=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(t){return q(t.data)}};Pe.create=e=>new Pe({typeName:$.ZodUnknown,...I(e)});be=class extends P{_parse(t){let n=this._getOrReturnCtx(t);return _(n,{code:y.invalid_type,expected:w.never,received:n.parsedType}),R}};be.create=e=>new be({typeName:$.ZodNever,...I(e)});Tt=class extends P{_parse(t){if(this._getType(t)!==w.undefined){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.void,received:r.parsedType}),R}return q(t.data)}};Tt.create=e=>new Tt({typeName:$.ZodVoid,...I(e)});Ne=class e extends P{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==w.array)return _(n,{code:y.invalid_type,expected:w.array,received:n.parsedType}),R;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(_(n,{code:i?y.too_big:y.too_small,minimum:a?s.exactLength.value:void 0,maximum:i?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:y.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:y.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new de(n,i,n.path,a)))).then(i=>Y.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new de(n,i,n.path,a)));return Y.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:v.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:v.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:v.toString(n)}})}nonempty(t){return this.min(1,t)}};Ne.create=(e,t)=>new Ne({type:e,minLength:null,maxLength:null,exactLength:null,typeName:$.ZodArray,...I(t)});te=class e extends P{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=D.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==w.object){let c=this._getOrReturnCtx(t);return _(c,{code:y.invalid_type,expected:w.object,received:c.parsedType}),R}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof be&&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 de(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof be){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&&(_(s,{code:y.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new de(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=>Y.mergeObjectSync(r,c)):Y.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return v.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:v.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:$.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 D.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 D.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return vt(this)}partial(t){let n={};for(let r of D.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 D.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof fe;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return Mi(D.objectKeys(this.shape))}};te.create=(e,t)=>new te({shape:()=>e,unknownKeys:"strip",catchall:be.create(),typeName:$.ZodObject,...I(t)});te.strictCreate=(e,t)=>new te({shape:()=>e,unknownKeys:"strict",catchall:be.create(),typeName:$.ZodObject,...I(t)});te.lazycreate=(e,t)=>new te({shape:e,unknownKeys:"strip",catchall:be.create(),typeName:$.ZodObject,...I(t)});ot=class extends P{_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 ee(a.ctx.common.issues));return _(n,{code:y.invalid_union,unionErrors:i}),R}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 ee(l));return _(n,{code:y.invalid_union,unionErrors:a}),R}}get options(){return this._def.options}};ot.create=(e,t)=>new ot({options:e,typeName:$.ZodUnion,...I(t)});Ie=e=>e instanceof at?Ie(e.schema):e instanceof me?Ie(e.innerType()):e instanceof lt?[e.value]:e instanceof ct?e.options:e instanceof ut?D.objectValues(e.enum):e instanceof ft?Ie(e._def.innerType):e instanceof rt?[void 0]:e instanceof st?[null]:e instanceof fe?[void 0,...Ie(e.unwrap())]:e instanceof Te?[null,...Ie(e.unwrap())]:e instanceof cn||e instanceof mt?Ie(e.unwrap()):e instanceof dt?Ie(e._def.innerType):[],Wn=class e extends P{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.object)return _(n,{code:y.invalid_type,expected:w.object,received:n.parsedType}),R;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}):(_(n,{code:y.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),R)}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=Ie(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:$.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...I(r)})}};it=class extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Gn(o)||Gn(i))return R;let a=cs(o.value,i.value);return a.valid?((Zn(o)||Zn(i))&&n.dirty(),{status:n.value,value:a.data}):(_(r,{code:y.invalid_intersection_types}),R)};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}))}};it.create=(e,t,n)=>new it({left:e,right:t,typeName:$.ZodIntersection,...I(n)});Ee=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.array)return _(r,{code:y.invalid_type,expected:w.array,received:r.parsedType}),R;if(r.data.length<this._def.items.length)return _(r,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),R;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new de(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>Y.mergeArray(n,i)):Y.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};Ee.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ee({items:e,typeName:$.ZodTuple,rest:null,...I(t)})};Kn=class e extends P{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!==w.object)return _(r,{code:y.invalid_type,expected:w.object,received:r.parsedType}),R;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new de(r,a,r.path,a)),value:i._parse(new de(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?Y.mergeObjectAsync(n,s):Y.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof P?new e({keyType:t,valueType:n,typeName:$.ZodRecord,...I(r)}):new e({keyType:He.create(),valueType:t,typeName:$.ZodRecord,...I(n)})}},Rt=class extends P{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!==w.map)return _(r,{code:y.invalid_type,expected:w.map,received:r.parsedType}),R;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new de(r,a,r.path,[c,"key"])),value:o._parse(new de(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 R;(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 R;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};Rt.create=(e,t,n)=>new Rt({valueType:t,keyType:e,typeName:$.ZodMap,...I(n)});At=class e extends P{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==w.set)return _(r,{code:y.invalid_type,expected:w.set,received:r.parsedType}),R;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:y.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:y.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let o=this._def.valueType;function i(l){let c=new Set;for(let u of l){if(u.status==="aborted")return R;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 de(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:v.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:v.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};At.create=(e,t)=>new At({valueType:e,minSize:null,maxSize:null,typeName:$.ZodSet,...I(t)});Vn=class e extends P{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.function)return _(n,{code:y.invalid_type,expected:w.function,received:n.parsedType}),R;function r(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_arguments,argumentsError:l}})}function s(a,l){return ln({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,xt(),Oe].filter(c=>!!c),issueData:{code:y.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Ue){let a=this;return q(async function(...l){let c=new ee([]),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 q(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new ee([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new ee([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:Ee.create(t).rest(Pe.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||Ee.create([]).rest(Pe.create()),returns:n||Pe.create(),typeName:$.ZodFunction,...I(r)})}},at=class extends P{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})}};at.create=(e,t)=>new at({getter:e,typeName:$.ZodLazy,...I(t)});lt=class extends P{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return _(n,{received:n.data,code:y.invalid_literal,expected:this._def.value}),R}return{status:"valid",value:t.data}}get value(){return this._def.value}};lt.create=(e,t)=>new lt({value:e,typeName:$.ZodLiteral,...I(t)});ct=class e extends P{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return _(n,{expected:D.joinValues(r),received:n.parsedType,code:y.invalid_type}),R}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 _(n,{received:n.data,code:y.invalid_enum_value,options:r}),R}return q(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})}};ct.create=Mi;ut=class extends P{_parse(t){let n=D.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==w.string&&r.parsedType!==w.number){let s=D.objectValues(n);return _(r,{expected:D.joinValues(s),received:r.parsedType,code:y.invalid_type}),R}if(this._cache||(this._cache=new Set(D.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=D.objectValues(n);return _(r,{received:r.data,code:y.invalid_enum_value,options:s}),R}return q(t.data)}get enum(){return this._def.values}};ut.create=(e,t)=>new ut({values:e,typeName:$.ZodNativeEnum,...I(t)});Ue=class extends P{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==w.promise&&n.common.async===!1)return _(n,{code:y.invalid_type,expected:w.promise,received:n.parsedType}),R;let r=n.parsedType===w.promise?n.data:Promise.resolve(n.data);return q(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Ue.create=(e,t)=>new Ue({type:e,typeName:$.ZodPromise,...I(t)});me=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===$.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=>{_(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 R;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?R:l.status==="dirty"?Xe(l.value):n.value==="dirty"?Xe(l.value):l});{if(n.value==="aborted")return R;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?R:a.status==="dirty"?Xe(a.value):n.value==="dirty"?Xe(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"?R:(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"?R:(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(!je(i))return R;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=>je(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):R);D.assertNever(s)}};me.create=(e,t,n)=>new me({schema:e,typeName:$.ZodEffects,effect:t,...I(n)});me.createWithPreprocess=(e,t,n)=>new me({schema:t,effect:{type:"preprocess",transform:e},typeName:$.ZodEffects,...I(n)});fe=class extends P{_parse(t){return this._getType(t)===w.undefined?q(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};fe.create=(e,t)=>new fe({innerType:e,typeName:$.ZodOptional,...I(t)});Te=class extends P{_parse(t){return this._getType(t)===w.null?q(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};Te.create=(e,t)=>new Te({innerType:e,typeName:$.ZodNullable,...I(t)});ft=class extends P{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===w.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};ft.create=(e,t)=>new ft({innerType:e,typeName:$.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...I(t)});dt=class extends P{_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 St(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ee(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};dt.create=(e,t)=>new dt({innerType:e,typeName:$.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...I(t)});$t=class extends P{_parse(t){if(this._getType(t)!==w.nan){let r=this._getOrReturnCtx(t);return _(r,{code:y.invalid_type,expected:w.nan,received:r.parsedType}),R}return{status:"valid",value:t.data}}};$t.create=e=>new $t({typeName:$.ZodNaN,...I(e)});Zd=Symbol("zod_brand"),cn=class extends P{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},un=class e extends P{_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"?R:o.status==="dirty"?(n.dirty(),Xe(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"?R: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:$.ZodPipeline})}},mt=class extends P{_parse(t){let n=this._def.innerType._parse(t),r=s=>(je(s)&&(s.value=Object.freeze(s.value)),s);return St(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};mt.create=(e,t)=>new mt({innerType:e,typeName:$.ZodReadonly,...I(t)});Wd={object:te.lazycreate};(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})($||($={}));Kd=(e,t={message:`Input not instance of ${e.name}`})=>Fi(n=>n instanceof e,t),Li=He.create,ji=Qe.create,Vd=$t.create,Yd=et.create,Hi=tt.create,qd=nt.create,Xd=Et.create,Qd=rt.create,em=st.create,tm=Be.create,nm=Pe.create,rm=be.create,sm=Tt.create,om=Ne.create,im=te.create,am=te.strictCreate,lm=ot.create,cm=Wn.create,um=it.create,fm=Ee.create,dm=Kn.create,mm=Rt.create,pm=At.create,hm=Vn.create,gm=at.create,ym=lt.create,bm=ct.create,km=ut.create,_m=Ue.create,wm=me.create,xm=fe.create,Sm=Te.create,vm=me.createWithPreprocess,Em=un.create,Tm=()=>Li().optional(),Rm=()=>ji().optional(),Am=()=>Hi().optional(),$m={string:(e=>He.create({...e,coerce:!0})),number:(e=>Qe.create({...e,coerce:!0})),boolean:(e=>tt.create({...e,coerce:!0})),bigint:(e=>et.create({...e,coerce:!0})),date:(e=>nt.create({...e,coerce:!0}))},Cm=R});var h={};on(h,{BRAND:()=>Zd,DIRTY:()=>Xe,EMPTY_PATH:()=>vd,INVALID:()=>R,NEVER:()=>Cm,OK:()=>q,ParseStatus:()=>Y,Schema:()=>P,ZodAny:()=>Be,ZodArray:()=>Ne,ZodBigInt:()=>et,ZodBoolean:()=>tt,ZodBranded:()=>cn,ZodCatch:()=>dt,ZodDate:()=>nt,ZodDefault:()=>ft,ZodDiscriminatedUnion:()=>Wn,ZodEffects:()=>me,ZodEnum:()=>ct,ZodError:()=>ee,ZodFirstPartyTypeKind:()=>$,ZodFunction:()=>Vn,ZodIntersection:()=>it,ZodIssueCode:()=>y,ZodLazy:()=>at,ZodLiteral:()=>lt,ZodMap:()=>Rt,ZodNaN:()=>$t,ZodNativeEnum:()=>ut,ZodNever:()=>be,ZodNull:()=>st,ZodNullable:()=>Te,ZodNumber:()=>Qe,ZodObject:()=>te,ZodOptional:()=>fe,ZodParsedType:()=>w,ZodPipeline:()=>un,ZodPromise:()=>Ue,ZodReadonly:()=>mt,ZodRecord:()=>Kn,ZodSchema:()=>P,ZodSet:()=>At,ZodString:()=>He,ZodSymbol:()=>Et,ZodTransformer:()=>me,ZodTuple:()=>Ee,ZodType:()=>P,ZodUndefined:()=>rt,ZodUnion:()=>ot,ZodUnknown:()=>Pe,ZodVoid:()=>Tt,addIssueToContext:()=>_,any:()=>tm,array:()=>om,bigint:()=>Yd,boolean:()=>Hi,coerce:()=>$m,custom:()=>Fi,date:()=>qd,datetimeRegex:()=>Di,defaultErrorMap:()=>Oe,discriminatedUnion:()=>cm,effect:()=>wm,enum:()=>bm,function:()=>hm,getErrorMap:()=>xt,getParsedType:()=>ve,instanceof:()=>Kd,intersection:()=>um,isAborted:()=>Gn,isAsync:()=>St,isDirty:()=>Zn,isValid:()=>je,late:()=>Wd,lazy:()=>gm,literal:()=>ym,makeIssue:()=>ln,map:()=>mm,nan:()=>Vd,nativeEnum:()=>km,never:()=>rm,null:()=>em,nullable:()=>Sm,number:()=>ji,object:()=>im,objectUtil:()=>os,oboolean:()=>Am,onumber:()=>Rm,optional:()=>xm,ostring:()=>Tm,pipeline:()=>Em,preprocess:()=>vm,promise:()=>_m,quotelessJson:()=>wd,record:()=>dm,set:()=>pm,setErrorMap:()=>Sd,strictObject:()=>am,string:()=>Li,symbol:()=>Xd,transformer:()=>wm,tuple:()=>fm,undefined:()=>Qd,union:()=>lm,unknown:()=>nm,util:()=>D,void:()=>sm});var us=b(()=>{Jn();as();$i();an();Bi();zn()});var pt=b(()=>{us();us()});var ze,fn=b(()=>{"use strict";pt();ze=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),strip_on_failure: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 Gi={};on(Gi,{OutputVerbosity:()=>zi,ReducerLevel:()=>Ji,Settings:()=>Ct,slugKey:()=>le});import{createHash as Om}from"node:crypto";function le(e){let t=Ui.get(e);return t||(t=Om("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ui.set(e,t)),t}var zi,Ji,Ct,Ui,Je=b(()=>{"use strict";pt();zi=h.enum(["normal","compact","minimal"]),Ji=h.enum(["off","light","balanced","max"]),Ct=h.object({enabled:h.boolean().default(!0),telemetryOptIn:h.boolean().default(!0),outputVerbosity:zi.default("compact"),reducer:Ji.default("off"),filters:h.object({enableAll:h.boolean().default(!0),disabled:h.array(h.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ui=new Map});function Ot(e,t,n,r=t){let s=Zi.get(r);s||(s=new Map,Zi.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(le(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Im){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}var Zi,Im,Yn=b(()=>{"use strict";Je();Zi=new WeakMap,Im=256});import Pm from"node:os";import{join as dn}from"node:path";function S(){return process.env.TOKMIZER_HOME||dn(Pm.homedir(),".tokmizer")}function mn(){return dn(S(),"install-id")}function fs(){return dn(S(),"content-cache")}function Wi(){return dn(S(),"restore.json")}function ds(e){return dn(fs(),e)}var H=b(()=>{"use strict"});import{join as Nm}from"node:path";import{mkdir as bv,readFile as Dm,writeFile as kv,unlink as _v,rename as wv}from"node:fs/promises";function Fm(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Lm(e){return e?.dir??S()}async function ht(e){let t=Lm(e);try{let n=await Dm(Nm(t,Mm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=Fm()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}var Mm,pn=b(()=>{"use strict";H();Mm="state.json"});import{createRequire as jm}from"node:module";function Bm(){let e="0.9.63";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Hm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}function Ki(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 Hm,pe,It=b(()=>{"use strict";Hm=jm(import.meta.url);pe=Bm()});var Vi,Yi=b(()=>{"use strict";Vi=`-----BEGIN PUBLIC KEY-----
4
4
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
5
5
  -----END PUBLIC KEY-----
6
- `});import{existsSync as Fm,mkdirSync as vv,rmSync as Ev,writeFileSync as Tv}from"node:fs";import{join as Lm}from"node:path";function Hm(){return Lm(x(),"network-off")}function Bm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&jm.has(e.trim().toLowerCase())}function hn(){return Bm()?!1:!Fm(Hm())}var jm,$v,gn=k(()=>{"use strict";j();jm=new Set(["0","off","false","no"]),$v=["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(`
6
+ `});import{existsSync as Um,mkdirSync as Av,rmSync as $v,writeFileSync as Cv}from"node:fs";import{join as zm}from"node:path";function Gm(){return zm(S(),"network-off")}function Zm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Jm.has(e.trim().toLowerCase())}function hn(){return Zm()?!1:!Um(Gm())}var Jm,Pv,gn=b(()=>{"use strict";H();Jm=new Set(["0","off","false","no"]),Pv=["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(`
7
7
  `)});function qi(){return((process.env.TOKMIZER_DEV==="1"?process.env.TOKMIZER_RESP_SIGNING_PUBLIC_KEY_PEM:void 0)??Vi).replace(/\\n/g,`
8
- `)}var Dv,ms=k(()=>{"use strict";It();Yi();gn();Dv=300*1e3});import{createCipheriv as Lv,createDecipheriv as Um,hkdfSync as zm,randomBytes as jv}from"node:crypto";function Zm(e){return Buffer.from(zm("sha256",Buffer.from(e,"utf8"),Jm,Gm,32))}function qn(e,t){let n=Zm(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")}var Jm,Gm,ps=k(()=>{"use strict";Jm=Buffer.from("tokmizer-bundle-enc-v1"),Gm=Buffer.from("rules-bundle")});import{chmodSync as Uv,readFileSync as Km,writeFileSync as zv,mkdirSync as Jv,renameSync as Gv}from"node:fs";import{join as Wm}from"node:path";function Ym(){return Wm(x(),"bundle-cache.json")}function Xi(){try{let e=Km(Ym(),"utf8"),t=Vm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Vm,Qi=k(()=>{"use strict";pt();j();Vm=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as Xm,verify as Qm}from"node:crypto";function gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:ep}function tp(e,t){let n=qi();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=Xm({key:n,format:"pem"});if(!Qm(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(qn(e.payload,t))}function np(e,t){let n=tp(e,t),r=hs.parse(n);if(Date.now()-r.signedAt>gs())throw new Error("tkr-daemon: rules bundle is stale");return ys(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function ys(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Ot(r,n.values(),o?new Set(o):null,n)}}async function Xn(){try{let e=Xi();if(!e)return null;let t=await ht();return t?.signingSecret?np(e,t.signingSecret):null}catch{return null}}var hs,oE,ep,yn=k(()=>{"use strict";pt();fn();Yn();pn();ms();ps();Qi();hs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(Je)}),oE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),ep=10080*60*1e3});function rp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function sp(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+=`
8
+ `)}var jv,ms=b(()=>{"use strict";It();Yi();gn();jv=300*1e3});import{createCipheriv as Uv,createDecipheriv as Wm,hkdfSync as Km,randomBytes as zv}from"node:crypto";function qm(e){return Buffer.from(Km("sha256",Buffer.from(e,"utf8"),Vm,Ym,32))}function qn(e,t){let n=qm(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Wm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}var Vm,Ym,ps=b(()=>{"use strict";Vm=Buffer.from("tokmizer-bundle-enc-v1"),Ym=Buffer.from("rules-bundle")});import{chmodSync as Zv,readFileSync as Xm,writeFileSync as Wv,mkdirSync as Kv,renameSync as Vv}from"node:fs";import{join as Qm}from"node:path";function tp(){return Qm(S(),"bundle-cache.json")}function Xi(){try{let e=Xm(tp(),"utf8"),t=ep.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var ep,Qi=b(()=>{"use strict";pt();H();ep=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1"),fetchedAt:h.number().int().nonnegative()})});import{createPublicKey as rp,verify as sp}from"node:crypto";function gs(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:op}function ip(e,t){let n=qi();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=rp({key:n,format:"pem"});if(!sp(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(qn(e.payload,t))}function ap(e,t){let n=ip(e,t),r=hs.parse(n);if(Date.now()-r.signedAt>gs())throw new Error("tkr-daemon: rules bundle is stale");return ys(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function ys(e,t){let n=new Map;for(let r of e.filters)n.set(r.slug,{...r,matchRegex:new RegExp(r.match_command)});return{bundleVersion:e.bundleVersion,signedAt:t.signedAt,ruleCount:n.size,startedAt:Date.now(),fetchedAt:t.fetchedAt,selectFor:(r,s,o)=>Ot(r,n.values(),o?new Set(o):null,n)}}async function Xn(){try{let e=Xi();if(!e)return null;let t=await ht();return t?.signingSecret?ap(e,t.signingSecret):null}catch{return null}}var hs,cE,op,yn=b(()=>{"use strict";pt();fn();Yn();pn();ms();ps();Qi();hs=h.object({bundleVersion:h.number().int().nonnegative(),signedAt:h.number().int(),filters:h.array(ze)}),cE=h.object({payload:h.string().min(1),signature:h.string().min(1),enc:h.literal("v1")}),op=10080*60*1e3});function lp(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function cp(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+=`
9
9
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
10
- `))}return s}var $,gt=k(()=>{$=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=rp(n.toml,n.ptr),o=sp(n.toml,r,s);super(`Invalid TOML document: ${t}
10
+ `))}return s}var A,gt=b(()=>{A=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=lp(n.toml,n.ptr),o=cp(n.toml,r,s);super(`Invalid TOML document: ${t}
11
11
 
12
- ${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 Qn(e){let t=e.p,n=e.s.charCodeAt(e.p++),r=n,s=n===39,o=n===e.s.charCodeAt(e.p)&&n===e.s.charCodeAt(e.p+1);o&&((n=e.s.charCodeAt(e.p+=2))===10?e.p++:n===13&&e.s.charCodeAt(e.p+1)===10&&(e.p+=2));let i="",a=e.p,l=0;for(;e.p<e.s.length;e.p++)if(n=e.s.charCodeAt(e.p),o&&(n===10||n===13&&e.s.charCodeAt(e.p+1)===10))l=l&&3;else if(n<32&&n!==9||n===127)$.x("control characters are not allowed in strings",e);else if((!l||l===3)&&n===r&&(!o||e.s.charCodeAt(e.p+1)===r&&e.s.charCodeAt(e.p+2)===r)){if(o&&(e.s.charCodeAt(e.p+3)===r&&e.p++,e.s.charCodeAt(e.p+3)===r&&e.p++),!l){let 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),p=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;p<0&&$.x("invalid non-hex character in unicode escape",e),u=u<<4|p}(u<0||u>1114111||u>=55296&&u<=57343)&&$.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+=`
13
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":$.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&$.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);$.x("unfinished string",e,t)}var bs=k(()=>{gt();});var op,yt,ks=k(()=>{op=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,yt=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(op);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 ce(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ws(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function kn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||$.x("document contains excessively nested structures. aborting.",e);let s=r===91?na(e):ta(e);return e.d++,s}return r===34||r===39?Qn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&$.x("invalid value",e,n),e.p++,!0):r===102?((e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==108||e.s.charCodeAt(++e.p)!==115||e.s.charCodeAt(++e.p)!==101)&&$.x("invalid value",e,n),e.p++,!1):r===43||r===45?er(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?ip(e,r,t):e.s.charCodeAt(e.p+2)===58?ap(e,r,t):er(e,e.p,r,0,t)}function er(e,t,n,r,s){let o=n,i=0,a=!1;if(o===105)return(e.s.charCodeAt(++e.p)!==110||e.s.charCodeAt(++e.p)!==102)&&$.x("invalid value",e,t),e.p++,(r||1)/0;if(o===110)return(e.s.charCodeAt(++e.p)!==97||e.s.charCodeAt(++e.p)!==110)&&$.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ws(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return _s(e,t,16,s);if(o===98)return _s(e,t,2,s);if(o===111)return _s(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:$.x("illegal leading zero",e,t)}else ce(o)||$.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ws(o,s));)i||(i=1),o===95?(i&1||$.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(ce(o)?i>9?i-=11:i&1||i++:$.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||$.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ea(e,l,10,t)}function _s(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ws(s,r));)s===95?(o&1&&$.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:$.x("illegal character in numeric literal",e);o&1&&$.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ea(e,i,n,t)}function ea(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;$.x("integer value cannot be represented losslessly",e,r)}return s}return BigInt(n===10?t:(n===2?"0b":n===8?"0o":"0x")+t)}function ip(e,t,n){let r=e.p++,s;if(!ce(t)||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++)))return er(e,e.p=r,t,0,n);if(e.p+=5,ce(e.s.charCodeAt(e.p++))||$.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ce(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return bn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&$.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ce(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 bn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return bn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return bn(e,o,2,s,r)}function ap(e,t,n){let r=e.p;if(!ce(t)||!ce(e.s.charCodeAt(++e.p)))return er(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ce(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return bn(e,s,4,!1,r)}function bn(e,t,n,r,s,o){if(e.ld){let i=new yt(t,n,r);return i.isValid()||$.x("invalid date",e,s),i}try{switch(o&&(t+=o),n){case 1:return Temporal.ZonedDateTime.from(t);case 2:return Temporal.PlainDateTime.from(t);case 3:return Temporal.PlainDate.from(t);case 4:return Temporal.PlainTime.from(t)}}catch(i){$.x(i instanceof Error?i.message:""+i,e,s)}}var xs=k(()=>{bs();Ss();gt();ks();});function lp(e){for(;e.p<e.s.length;e.p++){let t=e.s.charCodeAt(e.p);if(t===10)break;if(t===13&&e.s.charCodeAt(e.p+1)===10){e.p++;break}(t<32&&t!==9||t===127)&&$.x("control characters are not allowed in comments",e)}}function ke(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;lp(e)}}var vs=k(()=>{gt();});function tr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||$.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||$.x("illegal empty bare key",e),r===1&&s.push(e.s.slice(o,e.p)),r=0):!r&&(i===34||i===39)?(i===e.s.charCodeAt(e.p+1)&&i===e.s.charCodeAt(e.p+2)&&$.x("illegal quoted key: multiline strings are not allowed",e),s.push(Qn(e)),r=2,e.p--):i===32||i===9?r===1&&(s.push(e.s.slice(o,e.p)),r=2):r===2||i<48&&i!==45||i>57&&i<65||i>90&&i<97&&i!==95||i>122?$.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));$.x("incomplete key-value: cannot find end of key",e,n)}function ta(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ke(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=tr(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]))&&$.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&$.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&$.x("trying to redefine an already defined value",e,l),ke(e,!0,!0);let u=kn(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ke(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished table",e,t)}function na(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ke(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(kn(e,93)),ke(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&$.x("expected comma or end of structure",e,e.p-1)}$.x("unfinished array",e,t)}var Ss=k(()=>{bs();xs();vs();gt();});function ra(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 sa(e,t,n){(t===null||e.uk===2)&&$.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Es(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++,ke(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=tr(n,93);c&&(e.charCodeAt(n.p)!==93&&$.x("expected end of table array declaration",n),n.p++);let f=ra(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(sa(n,f,o),i=!0)}else{o=n.p;let c=tr(n),u=ra(n,c,a,l,0);!u&&!i&&sa(n,u,o),ke(n,!0,!0);let f=kn(n,void 0);u&&!i&&(u[1][u[0]]=f)}ke(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&$.x("each key-value declaration must be followed by an end-of-line",n),ke(n)}return r}var oa=k(()=>{Ss();xs();vs();gt();});function _n(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 up(e){for(let t=0;t<e.length;t++)if(_n(e[t])!=="object")return!1;return e.length!=0}function aa(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function fp(e){return aa(ia?e.toWellFormed():e)}function la(e){if(cp.test(e))return e;if(ia&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return aa(e)}function Ts(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 fp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return dp(e,n,r,s);case"array":return mp(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 dp(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+=la(a)+" = "+Ts(e[a],_n(e[a]),t-1,n,r)}return o+" }"}function mp(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+=Ts(e[o],_n(e[o]),t-1,n,r)}return s+" ]"}function pp(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&&`
12
+ ${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 Qn(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)A.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),p=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;p<0&&A.x("invalid non-hex character in unicode escape",e),u=u<<4|p}(u<0||u>1114111||u>=55296&&u<=57343)&&A.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+=`
13
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":A.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&A.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);A.x("unfinished string",e,t)}var bs=b(()=>{gt();});var up,yt,ks=b(()=>{up=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,yt=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(up);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 ce(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function ws(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function kn(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||A.x("document contains excessively nested structures. aborting.",e);let s=r===91?na(e):ta(e);return e.d++,s}return r===34||r===39?Qn(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&A.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)&&A.x("invalid value",e,n),e.p++,!1):r===43||r===45?er(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?fp(e,r,t):e.s.charCodeAt(e.p+2)===58?dp(e,r,t):er(e,e.p,r,0,t)}function er(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)&&A.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)&&A.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||ws(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return _s(e,t,16,s);if(o===98)return _s(e,t,2,s);if(o===111)return _s(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:A.x("illegal leading zero",e,t)}else ce(o)||A.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!ws(o,s));)i||(i=1),o===95?(i&1||A.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)||(ce(o)?i>9?i-=11:i&1||i++:A.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||A.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):ea(e,l,10,t)}function _s(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!ws(s,r));)s===95?(o&1&&A.x("illegal underscore",e),o=3):ce(s,n)?o&1&&o--:A.x("illegal character in numeric literal",e);o&1&&A.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),ea(e,i,n,t)}function ea(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;A.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 fp(e,t,n){let r=e.p++,s;if(!ce(t)||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++))||!ce(e.s.charCodeAt(e.p++)))return er(e,e.p=r,t,0,n);if(e.p+=5,ce(e.s.charCodeAt(e.p++))||A.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!ce(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return bn(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&A.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(;ce(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 bn(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return bn(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return bn(e,o,2,s,r)}function dp(e,t,n){let r=e.p;if(!ce(t)||!ce(e.s.charCodeAt(++e.p)))return er(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;ce(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return bn(e,s,4,!1,r)}function bn(e,t,n,r,s,o){if(e.ld){let i=new yt(t,n,r);return i.isValid()||A.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){A.x(i instanceof Error?i.message:""+i,e,s)}}var xs=b(()=>{bs();Ss();gt();ks();});function mp(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)&&A.x("control characters are not allowed in comments",e)}}function ke(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;mp(e)}}var vs=b(()=>{gt();});function tr(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||A.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||A.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)&&A.x("illegal quoted key: multiline strings are not allowed",e),s.push(Qn(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?A.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));A.x("incomplete key-value: cannot find end of key",e,n)}function ta(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(ke(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=tr(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]))&&A.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&A.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&A.x("trying to redefine an already defined value",e,l),ke(e,!0,!0);let u=kn(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),ke(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished table",e,t)}function na(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(ke(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(kn(e,93)),ke(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&A.x("expected comma or end of structure",e,e.p-1)}A.x("unfinished array",e,t)}var Ss=b(()=>{bs();xs();vs();gt();});function ra(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 sa(e,t,n){(t===null||e.uk===2)&&A.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function Es(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++,ke(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=tr(n,93);c&&(e.charCodeAt(n.p)!==93&&A.x("expected end of table array declaration",n),n.p++);let f=ra(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(sa(n,f,o),i=!0)}else{o=n.p;let c=tr(n),u=ra(n,c,a,l,0);!u&&!i&&sa(n,u,o),ke(n,!0,!0);let f=kn(n,void 0);u&&!i&&(u[1][u[0]]=f)}ke(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&A.x("each key-value declaration must be followed by an end-of-line",n),ke(n)}return r}var oa=b(()=>{Ss();xs();vs();gt();});function _n(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 hp(e){for(let t=0;t<e.length;t++)if(_n(e[t])!=="object")return!1;return e.length!=0}function aa(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function gp(e){return aa(ia?e.toWellFormed():e)}function la(e){if(pp.test(e))return e;if(ia&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return aa(e)}function Ts(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 gp(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return yp(e,n,r,s);case"array":return bp(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 yp(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+=la(a)+" = "+Ts(e[a],_n(e[a]),t-1,n,r)}return o+" }"}function bp(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+=Ts(e[o],_n(e[o]),t-1,n,r)}return s+" ]"}function kp(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&&`
14
14
  `}[[${t}]]
15
- `,o+=Rs(0,e[i],t,n,r,s);return o}function Rs(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=_n(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=la(u);if(f==="array"&&up(t[u]))a+=(a&&`
16
- `)+pp(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
15
+ `,o+=Rs(0,e[i],t,n,r,s);return o}function Rs(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=_n(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=la(u);if(f==="array"&&hp(t[u]))a+=(a&&`
16
+ `)+kp(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
17
17
  `)+Rs(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=Ts(t[u],f,r,s,o),i+=`
18
18
  `}}return e&&(i||!a)&&(i=i?`[${e}]
19
19
  ${i}`:`[${e}]`),i&&a?`${i}
20
20
  ${a}`:i||a}function As(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(_n(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=Rs(0,e,"",t,n,r);return s[s.length-1]!==`
21
21
  `?s+`
22
- `:s}var cp,ia,ca=k(()=>{cp=/^[a-z0-9-_]+$/i,ia=!!"".isWellFormed});var $s={};on($s,{TomlDate:()=>yt,TomlError:()=>$,default:()=>hp,parse:()=>Es,stringify:()=>As});var hp,Cs=k(()=>{oa();ca();ks();gt();hp={parse:Es,stringify:As,TomlDate:yt,TomlError:$}});import{readdir as gp,readFile as yp}from"node:fs/promises";import{join as fa,dirname as bp}from"node:path";import{fileURLToPath as kp}from"node:url";function xp(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function da(){return Pt||(xp()?(Pt=await Sp(wp),Pt):(!ua&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
- `),ua=!0),Pt=new Map,Pt))}async function Sp(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Cs(),$s))).parse,r=(await gp(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await yp(fa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Je.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var _p,wp,Pt,ua,ma=k(()=>{"use strict";fn();_p=bp(kp(import.meta.url)),wp=process.env.TOKMIZER_FILTERS_DIR||fa(_p,"..","..","filters"),Pt=null,ua=!1});function Re(e){return e.replace(vp,"").replace(Ep,"")}var vp,Ep,wn=k(()=>{"use strict";vp=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Ep=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function pa(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var ha=k(()=>{"use strict"});function ga(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`})}var ya=k(()=>{"use strict"});function Nt(e){return`\u2026 (${e} more lines omitted)`}function ba(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),Nt(s.length),...e.slice(e.length-r)],dropped:s}}var Os=k(()=>{"use strict"});function ka(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)Tp.test(a)&&!Ze.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Tp,Ze,Is=k(()=>{"use strict";Tp=/^\s*(?:[✓✔√]|ok )/,Ze=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function _a(e){return e.map(t=>t.replace(Rp,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Rp,wa=k(()=>{"use strict";Rp=/(?:\/[\w.@+-]+){3,}/g});function Ip(e){let t=Cp.exec(e);return!t||Op.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function Np(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 Dp(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==="&"))&&Np(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Fp(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 Ps(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Mp.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 xn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Ap.test(o)&&$p.test(o)||Ip(o)||Pp.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Dp(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(Fp(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}function rr(e){let t=e.slice(0,4096);return!(!Lp.test(t)||t.split(`
24
- `).length<6)}var Ap,$p,Cp,Op,Pp,nr,Mp,Lp,Dt=k(()=>{"use strict";Ap=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,$p=/\{\s*$/,Cp=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Op=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Pp=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;nr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Mp=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;Lp=/\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 $a(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(Ta.test(s.replace(Ea,""))&&!Ra.test(s)&&!Aa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function va(e){if(e.trim()===""||/^\s/.test(e)||Ra.test(e)||Aa.test(e)||Hp.test(e))return null;let t=e.replace(Ea,"");return Ta.test(t)||jp.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ca(e){let t=[],n=0;for(;n<e.length;){let r=va(e[n]),s=n+1;if(r!==null)for(;s<e.length&&va(e[s])===r;)s+=1;let o=s-n;r===null||o<Bp?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+xa)),t.push(`\u2026 ${o-xa-Sa} similar log lines dropped \u2026`),t.push(...e.slice(s-Sa,s))),n=s}return t}function sr(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 Oa(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 Ea,Ta,Ra,Aa,jp,Hp,Bp,xa,Sa,or=k(()=>{"use strict";Is();Ea=/^\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*/,Ta=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Ra=new RegExp(Ze.source,"i"),Aa=/\bWARN(?:ING)?\b/i;jp=/^(?:DEBUG|INFO):[\w.-]+:/,Hp=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Bp=8,xa=1,Sa=2});function ne(e,t){Ia.set(e,t)}function Pa(e){return Ia.get(e)}var Ia,De=k(()=>{"use strict";Ia=new Map});function Kp(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 Wp(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?Zp[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function Vp(e){let t=Gp.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)?Kp(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Wp(r),isDir:o}}function Yp(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 qp(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(zp.test(f.trim())||!Up.test(f))return e;let d=Vp(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>Ns){let f=i.length-Ns;i=[...i.slice(0,Ns),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=Yp(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var Up,zp,Jp,Gp,Zp,Ns,Na=k(()=>{"use strict";De();Up=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,zp=/^[./~][^\s]*:$/,Jp=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})?`,Gp=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Jp})\s+(.+)$`),Zp={k:1,m:2,g:3,t:4,p:5},Ns=1e3;ne("smart-ls",qp)});var Da=k(()=>{"use strict";Dt();De();ne("smart-read",e=>xn(e))});function Xp(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 Qp(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 eh(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):"",p=d>=0?f.slice(d+1):f;if(!p)continue;let b=r.get(m)??[];b.push(/\s/.test(p)?`"${p}"`:p),r.set(m,b),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?Xp(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=Qp(f),m=d?f.map(p=>p.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>Ma){let c=Math.max(0,Ma-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Ma,Fa=k(()=>{"use strict";De();Ma=1e3;ne("smart-find",eh)});function Ha(e){let t=e.trim();return t.length>La?`${t.slice(0,La)}\u2026`:t}function ih(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=nh&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function ah(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 lh(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 p=rh.exec(m),b=sh.exec(m);if(p&&b)return e;let g=p||b?null:oh.exec(m),T=(p??b??g)?.[1];if(!T)return e;let v=p?{line:p[2],content:p[3],context:!1}:b?{line:b[2],content:b[3],context:!0}:{line:"",content:g[2],context:!1},R=n.get(T)??[];R.push(v),n.set(T,R),v.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((m,p)=>{let b=ja.test(m)?1:0,g=ja.test(p)?1:0;return b-g||(m<p?-1:m>p?1:0)}),l=a.length>1?ah(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 p of n.get(m))"separator"in p?u.push(" --"):p.line?u.push(` ${p.line}${p.context?"-":":"} ${Ha(p.content)}`):u.push(` ${Ha(p.content)}`)}let f=a.length>1&&u.length>th?ih(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>Ds){let m=d.length-Ds;return[...d.slice(0,Ds),`\u2026 ${m} more lines omitted`]}return d}var Ds,La,th,nh,rh,sh,oh,ja,Ba=k(()=>{"use strict";De();Ds=1e3,La=200,th=60,nh=190,rh=/^([^\s:]+):(\d+):(.*)$/,sh=/^([^:]+?)-(\d+)-(.*)$/,oh=/^([^\s:]+):(.*)$/,ja=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",lh)});function dh(e){if(!e.some(c=>Ua.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=ch.test(u),d=f?c.slice(s):c,m=uh.test(d),p=i&&m?null:Ua.exec(c);if(p){l(),n=0,s=p[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<=fh?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ua,ch,uh,fh,za=k(()=>{"use strict";De();Ua=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,ch=/^[|\\/* ._-]*$/,uh=/^ {4}/,fh=2;ne("smart-log",dh)});var mh,ph,hh,Ja=k(()=>{"use strict";De();mh=/^[\s=]+$/,ph=/^\s*=+\s+(.*?)\s+=+\s*$/,hh=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(mh.test(n))continue;let r=n.length<=hh?ph.exec(n):null;t.push(r?r[1]:n)}return t})});function gh(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var Ga=k(()=>{"use strict";De();ne("squeeze-output",gh)});function yh(e){return e==="compact"?.6:e==="minimal"?.3:1}function kh(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function _h(e){let t=Za.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Za.set(e,r),r}function ir(e,t,n={}){return Ms(e,t,n).text}function Ms(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=_h(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
22
+ `:s}var pp,ia,ca=b(()=>{pp=/^[a-z0-9-_]+$/i,ia=!!"".isWellFormed});var $s={};on($s,{TomlDate:()=>yt,TomlError:()=>A,default:()=>_p,parse:()=>Es,stringify:()=>As});var _p,Cs=b(()=>{oa();ca();ks();gt();_p={parse:Es,stringify:As,TomlDate:yt,TomlError:A}});import{readdir as wp,readFile as xp}from"node:fs/promises";import{join as fa,dirname as Sp}from"node:path";import{fileURLToPath as vp}from"node:url";function Rp(){return process.env.TOKMIZER_DEV==="1"||process.env.TOKMIZER_DEV==="true"}async function da(){return Pt||(Rp()?(Pt=await Ap(Tp),Pt):(!ua&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
23
+ `),ua=!0),Pt=new Map,Pt))}async function Ap(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(Cs(),$s))).parse,r=(await wp(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await xp(fa(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=ze.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}var Ep,Tp,Pt,ua,ma=b(()=>{"use strict";fn();Ep=Sp(vp(import.meta.url)),Tp=process.env.TOKMIZER_FILTERS_DIR||fa(Ep,"..","..","filters"),Pt=null,ua=!1});function Re(e){return e.replace($p,"").replace(Cp,"")}var $p,Cp,wn=b(()=>{"use strict";$p=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Cp=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g});function pa(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}var ha=b(()=>{"use strict"});function ga(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`})}var ya=b(()=>{"use strict"});function Nt(e){return`\u2026 (${e} more lines omitted)`}function ba(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),Nt(s.length),...e.slice(e.length-r)],dropped:s}}var Os=b(()=>{"use strict"});function ka(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)Op.test(a)&&!Ge.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Op,Ge,Is=b(()=>{"use strict";Op=/^\s*(?:[✓✔√]|ok )/,Ge=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/});function _a(e){return e.map(t=>t.replace(Ip,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Ip,wa=b(()=>{"use strict";Ip=/(?:\/[\w.@+-]+){3,}/g});function Fp(e){let t=Dp.exec(e);return!t||Mp.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}function jp(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 Hp(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==="&"))&&jp(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}function Up(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 Ps(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Bp.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 xn(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Pp.test(o)&&Np.test(o)||Fp(o)||Lp.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Hp(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(Up(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}function rr(e){let t=e.slice(0,4096);return!(!zp.test(t)||t.split(`
24
+ `).length<6)}var Pp,Np,Dp,Mp,Lp,nr,Bp,zp,Dt=b(()=>{"use strict";Pp=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Np=/\{\s*$/,Dp=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Mp=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);Lp=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;nr=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Bp=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;zp=/\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 $a(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(Ta.test(s.replace(Ea,""))&&!Ra.test(s)&&!Aa.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}function va(e){if(e.trim()===""||/^\s/.test(e)||Ra.test(e)||Aa.test(e)||Gp.test(e))return null;let t=e.replace(Ea,"");return Ta.test(t)||Jp.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Ca(e){let t=[],n=0;for(;n<e.length;){let r=va(e[n]),s=n+1;if(r!==null)for(;s<e.length&&va(e[s])===r;)s+=1;let o=s-n;r===null||o<Zp?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+xa)),t.push(`\u2026 ${o-xa-Sa} similar log lines dropped \u2026`),t.push(...e.slice(s-Sa,s))),n=s}return t}function sr(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 Oa(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 Ea,Ta,Ra,Aa,Jp,Gp,Zp,xa,Sa,or=b(()=>{"use strict";Is();Ea=/^\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*/,Ta=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,Ra=new RegExp(Ge.source,"i"),Aa=/\bWARN(?:ING)?\b/i;Jp=/^(?:DEBUG|INFO):[\w.-]+:/,Gp=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Zp=8,xa=1,Sa=2});function ne(e,t){Ia.set(e,t)}function Pa(e){return Ia.get(e)}var Ia,De=b(()=>{"use strict";Ia=new Map});function Xp(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 Qp(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?qp[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function eh(e){let t=Yp.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)?Xp(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:Qp(r),isDir:o}}function th(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 nh(e){let t=[],n=[],r=!1;for(let f of e){if(f.trim()===""||/^total\s+\d+/.test(f))continue;if(Kp.test(f.trim())||!Wp.test(f))return e;let d=eh(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>Ns){let f=i.length-Ns;i=[...i.slice(0,Ns),`\u2026 ${f} more lines omitted`]}let a=n.length===1?"file":"files",l=t.length===1?"dir":"dirs",c=th(n),u=`${n.length} ${a}, ${t.length} ${l}`+(c?` (${c})`:"");return i.push(u),i}var Wp,Kp,Vp,Yp,qp,Ns,Na=b(()=>{"use strict";De();Wp=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Kp=/^[./~][^\s]*:$/,Vp=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})?`,Yp=new RegExp(String.raw`^\S+\s+\d+\s+\S+\s+(?:\S+\s+)?(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Vp})\s+(.+)$`),qp={k:1,m:2,g:3,t:4,p:5},Ns=1e3;ne("smart-ls",nh)});var Da=b(()=>{"use strict";Dt();De();ne("smart-read",e=>xn(e))});function rh(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 sh(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 oh(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):"",p=d>=0?f.slice(d+1):f;if(!p)continue;let k=r.get(m)??[];k.push(/\s/.test(p)?`"${p}"`:p),r.set(m,k),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")?rh(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=sh(f),m=d?f.map(p=>p.slice(0,-d.length)):f;l.push(`${u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>Ma){let c=Math.max(0,Ma-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}var Ma,Fa=b(()=>{"use strict";De();Ma=1e3;ne("smart-find",oh)});function Ha(e){let t=e.trim();return t.length>La?`${t.slice(0,La)}\u2026`:t}function fh(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=ah&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function dh(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 mh(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 p=lh.exec(m),k=ch.exec(m);if(p&&k)return e;let g=p||k?null:uh.exec(m),T=(p??k??g)?.[1];if(!T)return e;let x=p?{line:p[2],content:p[3],context:!1}:k?{line:k[2],content:k[3],context:!0}:{line:"",content:g[2],context:!1},C=n.get(T)??[];C.push(x),n.set(T,C),x.context||(o+=1,r.set(T,(r.get(T)??0)+1)),i+=1,s=T}if(n.size===i)return e;let a=[...n.keys()].sort((m,p)=>{let k=ja.test(m)?1:0,g=ja.test(p)?1:0;return k-g||(m<p?-1:m>p?1:0)}),l=a.length>1?dh(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 p of n.get(m))"separator"in p?u.push(" --"):p.line?u.push(` ${p.line}${p.context?"-":":"} ${Ha(p.content)}`):u.push(` ${Ha(p.content)}`)}let f=a.length>1&&u.length>ih?fh(a.map(m=>`${c(m)} (${r.get(m)??0})`)):[],d=[`${o}m ${a.length}f${l?` in ${l}/`:""}:`,...f,"",...u];if(d.length>Ds){let m=d.length-Ds;return[...d.slice(0,Ds),`\u2026 ${m} more lines omitted`]}return d}var Ds,La,ih,ah,lh,ch,uh,ja,Ba=b(()=>{"use strict";De();Ds=1e3,La=200,ih=60,ah=190,lh=/^([^\s:]+):(\d+):(.*)$/,ch=/^([^:]+?)-(\d+)-(.*)$/,uh=/^([^\s:]+):(.*)$/,ja=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;ne("smart-grep",mh)});function yh(e){if(!e.some(c=>Ua.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=ph.test(u),d=f?c.slice(s):c,m=hh.test(d),p=i&&m?null:Ua.exec(c);if(p){l(),n=0,s=p[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<=gh?t.push(c):(r+=1,o=f?u:"");continue}l(),t.push(c)}return l(),t}var Ua,ph,hh,gh,za=b(()=>{"use strict";De();Ua=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,ph=/^[|\\/* ._-]*$/,hh=/^ {4}/,gh=2;ne("smart-log",yh)});var bh,kh,_h,Ja=b(()=>{"use strict";De();bh=/^[\s=]+$/,kh=/^\s*=+\s+(.*?)\s+=+\s*$/,_h=512;ne("strip-banners",e=>{let t=[];for(let n of e){if(bh.test(n))continue;let r=n.length<=_h?kh.exec(n):null;t.push(r?r[1]:n)}return t})});function wh(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].replace(/\s+$/,"");if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].replace(/\s+$/,"")===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}var Ga=b(()=>{"use strict";De();ne("squeeze-output",wh)});function xh(e){return e==="compact"?.6:e==="minimal"?.3:1}function vh(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}function Eh(e){let t=Za.get(e);if(t)return t;let n=e.strip_lines_matching.map(s=>new RegExp(s)),r={def:e,stripRegexes:n};return Za.set(e,r),r}function ir(e,t,n={}){return Ms(e,t,n).text}function Ms(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=Eh(t),o=e;t.strip_ansi&&(o=Re(o));let i=o.endsWith(`
25
25
  `),a=(i?o.slice(0,-1):o).split(`
26
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ze.test(d)||!s.stripRegexes.some(m=>m.test(d))):pa(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=sr(a),a=Oa(a)),r==="minimal"&&!t.preserve_exact&&(a=$a(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=kh(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"&&rr(o))&&(a=xn(a,l)),t.transform){let d=Pa(t.transform);t.transform==="smart-read"?a=xn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Ps(a);d.some(Boolean)&&(a=a.filter((m,p)=>!d[p]))}t.mask_abs_paths&&(a=_a(a)),t.fold_passing&&(a=ka(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ga(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?yh(n.verbosity):1,m=Math.min(t.max_lines,Math.max(bh,Math.round(t.max_lines*d))),p=c?Ps(a):null,b=p?p.filter(g=>!g).length:a.length;if(b>m){let g=m;if(p){let v=0;for(g=0;g<a.length&&v<m;)p[g]||(v+=1),g+=1}let T=b-m;if(t.keep_failures){let v=a.slice(g),R=v.filter(I=>!Ze.test(I)),E=v.reduce((I,M,L)=>I+(!Ze.test(M)&&!p?.[g+L]?1:0),0);u=R.length>0?R.join(`
27
- `):null,a=[...a.slice(0,g),...E>0?[Nt(E)]:[],...v.filter(I=>Ze.test(I))]}else if(c)u=a.slice(g).join(`
28
- `),a=[...a.slice(0,g),Nt(T)];else{let{kept:v,dropped:R}=ba(a,m);u=R.length>0?R.join(`
29
- `):null,a=v}}}let f=a.join(`
26
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>Ge.test(d)||!s.stripRegexes.some(m=>m.test(d))):pa(a,s.stripRegexes)),r!=="normal"&&!t.preserve_exact&&(a=sr(a),a=Oa(a)),r==="minimal"&&!t.preserve_exact&&(a=$a(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=vh(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"&&rr(o))&&(a=xn(a,l)),t.transform){let d=Pa(t.transform);t.transform==="smart-read"?a=xn(a,l,t.slug==="read-tool"):d&&(a=d(a))}let c=t.slug==="read-tool";if(!c){let d=Ps(a);d.some(Boolean)&&(a=a.filter((m,p)=>!d[p]))}t.mask_abs_paths&&(a=_a(a)),t.fold_passing&&(a=ka(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=ga(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?xh(n.verbosity):1,m=Math.min(t.max_lines,Math.max(Sh,Math.round(t.max_lines*d))),p=c?Ps(a):null,k=p?p.filter(g=>!g).length:a.length;if(k>m){let g=m;if(p){let x=0;for(g=0;g<a.length&&x<m;)p[g]||(x+=1),g+=1}let T=k-m;if(t.keep_failures){let x=a.slice(g),C=x.filter(O=>!Ge.test(O)),E=x.reduce((O,N,F)=>O+(!Ge.test(N)&&!p?.[g+F]?1:0),0);u=C.length>0?C.join(`
27
+ `):null,a=[...a.slice(0,g),...E>0?[Nt(E)]:[],...x.filter(O=>Ge.test(O))]}else if(c)u=a.slice(g).join(`
28
+ `),a=[...a.slice(0,g),Nt(T)];else{let{kept:x,dropped:C}=ba(a,m);u=C.length>0?C.join(`
29
+ `):null,a=x}}}let f=a.join(`
30
30
  `);return i&&f.length>0&&(f+=`
31
- `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var bh,Za,Fs=k(()=>{"use strict";wn();ha();ya();Os();Is();wa();Dt();or();De();Na();Da();Fa();Ba();za();Ja();Ga();bh=20;Za=new WeakMap});import{readdir as wh,readFile as Ya,writeFile as ET,mkdir as TT,rename as RT}from"node:fs/promises";import{readdirSync as xh,statSync as Ka}from"node:fs";import{createHash as Sh}from"node:crypto";import{basename as OT,join as ur}from"node:path";function cr(){return ur(x(),"filters")}function Xa(){return ur(x(),"filters-trust.json")}function Qa(e){return typeof e=="string"&&e.startsWith(qa)}function Eh(e){return Sh("sha256").update(e).digest("hex")}async function Th(){try{let e=JSON.parse(await Ya(Xa(),"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 Rh(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 Ah(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Rh(e,r);if("message"in o)return o;let i=Je.safeParse({...s,slug:e});if(!i.success){let l=i.error.issues.map(c=>`${c.path.join(".")||"rule"}: ${c.message}`).join("; ");return{message:`${e}: ${l}`}}let a;try{a=new RegExp(i.data.match_command)}catch{return{message:`${e}: match_command is not a valid regular expression`}}for(let l of i.data.strip_lines_matching)try{new RegExp(l)}catch{return{message:`${e}: strip_lines_matching has an invalid regular expression`}}return{filter:{...i.data,slug:`${qa}${i.data.slug}`,matchRegex:a},tests:o.tests}}function $h(e){return e===void 0||e===ar?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${ar}. Update tkr, or write the file for version ${ar}`:`schema_version must be the number ${ar}`}async function Ch(e){try{return(await wh(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Oh(e={}){let t=e.requireTrust!==!1,n=cr(),r=new Map,s=new Map,o=[],i=await Ch(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Th():null;for(let l of i){let c;try{c=await Ya(ur(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!==Eh(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Ih(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 Ih(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Cs(),$s)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
32
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=$h(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=Ah(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 Ph(){let e=[];for(let t of[Xa(),cr()])try{let n=Ka(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of xh(cr()).filter(n=>n.endsWith(".toml")).sort()){let n=Ka(ur(cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Nh(){let e=Date.now();if(!lr||e-Va>=vh){Va=e;let t=Ph();(!lr||t!==Wa)&&(Wa=t,lr=Oh())}return lr}async function Dh(e){let{filters:t}=await Nh();return t.size===0?null:Ot(e,t.values(),null,t)}function el(e){return async(t,n)=>await Dh(t)??e(t,n)}var qa,ar,lr,Wa,Va,vh,Ls=k(()=>{"use strict";fn();Yn();Fs();j();qa="user/",ar=1,lr=null,Wa="",Va=0,vh=1e3});function tl(e){if(!e)return!1;for(let t of Re(e).split(`
33
- `))if(!/^\s*[✓✔√]\s/.test(t)&&Mh.some(n=>n.test(t)))return!0;return!1}var Mh,nl=k(()=>{"use strict";wn();Mh=[/\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 bt(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(Lh.test(a)){r++;continue}if(Fh.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}function rl(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 Hh(e){let t=rl(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Hs(e){let t=rl(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=bt(n).split(/\s+/)[0]??"";if(!jh.has(r))return null}return Hh(t[t.length-1])}function sl(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Bs(e){let t=Bh.exec(e);return t?bt(e.slice(t[0].length)):null}function ol(e){let t=js.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=Hs(n),s=r?bt(r):null,i=[s?Bs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Fh,Lh,js,jh,Bh,il=k(()=>{"use strict";Fh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Lh=/^[A-Za-z_][A-Za-z0-9_]*=/,js=/^([a-z]+)-tool(?::\s|$)/;jh=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);Bh=/^(?: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 Us(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(al,"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")+al+t.subarray(s).toString("utf8")}var al,ll=k(()=>{"use strict";al=`
31
+ `),f.trim().length===0&&t.on_empty&&(f=t.on_empty),{text:f,droppedTail:u}}var Sh,Za,Fs=b(()=>{"use strict";wn();ha();ya();Os();Is();wa();Dt();or();De();Na();Da();Fa();Ba();za();Ja();Ga();Sh=20;Za=new WeakMap});import{readdir as Th,readFile as Ya,writeFile as $T,mkdir as CT,rename as OT}from"node:fs/promises";import{readdirSync as Rh,statSync as Wa}from"node:fs";import{createHash as Ah}from"node:crypto";import{basename as DT,join as ur}from"node:path";function cr(){return ur(S(),"filters")}function Xa(){return ur(S(),"filters-trust.json")}function Qa(e){return typeof e=="string"&&e.startsWith(qa)}function Ch(e){return Ah("sha256").update(e).digest("hex")}async function Oh(){try{let e=JSON.parse(await Ya(Xa(),"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 Ih(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 Ph(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=Ih(e,r);if("message"in o)return o;let i=ze.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:`${qa}${i.data.slug}`,matchRegex:a},tests:o.tests}}function Nh(e){return e===void 0||e===ar?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${ar}. Update tkr, or write the file for version ${ar}`:`schema_version must be the number ${ar}`}async function Dh(e){try{return(await Th(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Mh(e={}){let t=e.requireTrust!==!1,n=cr(),r=new Map,s=new Map,o=[],i=await Dh(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await Oh():null;for(let l of i){let c;try{c=await Ya(ur(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!==Ch(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await Fh(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 Fh(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(Cs(),$s)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
32
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=Nh(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=Ph(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 Lh(){let e=[];for(let t of[Xa(),cr()])try{let n=Wa(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of Rh(cr()).filter(n=>n.endsWith(".toml")).sort()){let n=Wa(ur(cr(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function jh(){let e=Date.now();if(!lr||e-Va>=$h){Va=e;let t=Lh();(!lr||t!==Ka)&&(Ka=t,lr=Mh())}return lr}async function Hh(e){let{filters:t}=await jh();return t.size===0?null:Ot(e,t.values(),null,t)}function el(e){return async(t,n)=>await Hh(t)??e(t,n)}var qa,ar,lr,Ka,Va,$h,Ls=b(()=>{"use strict";fn();Yn();Fs();H();qa="user/",ar=1,lr=null,Ka="",Va=0,$h=1e3});function tl(e){if(!e)return!1;for(let t of Re(e).split(`
33
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Bh.some(n=>n.test(t)))return!0;return!1}var Bh,nl=b(()=>{"use strict";wn();Bh=[/\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 bt(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let a=n[r];if(zh.test(a)){r++;continue}if(Uh.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}function rl(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 Gh(e){let t=rl(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Hs(e){let t=rl(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=bt(n).split(/\s+/)[0]??"";if(!Jh.has(r))return null}return Gh(t[t.length-1])}function sl(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}function Bs(e){let t=Zh.exec(e);return t?bt(e.slice(t[0].length)):null}function ol(e){let t=js.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=Hs(n),s=r?bt(r):null,i=[s?Bs(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Uh,zh,js,Jh,Zh,il=b(()=>{"use strict";Uh=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),zh=/^[A-Za-z_][A-Za-z0-9_]*=/,js=/^([a-z]+)-tool(?::\s|$)/;Jh=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);Zh=/^(?: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 Us(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(al,"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")+al+t.subarray(s).toString("utf8")}var al,ll=b(()=>{"use strict";al=`
34
34
  [YOLO: omitted]
35
- `});function Jh(e,t){if(!t)return e.split(`
35
+ `});function Vh(e,t){if(!t)return e.split(`
36
36
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
37
37
  `);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!==`
38
38
  `&&(n+=o);return n+(e.endsWith(`
39
39
  `)?`
40
- `:"")}function Gh(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
40
+ `:"")}function Yh(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
41
41
  `)?`
42
42
  `:"",r=(n?e.slice(0,-1):e).split(`
43
- `),s=r.findIndex(g=>Uh.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(zh.test(T))continue;if(/…|\.\.\./.test(T))return e;let v;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let R=o.map((E,I)=>T.slice(E,o[I+1]));if(R.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(v=R.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(v[0])||!/^\S+$/.test(v[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(v[4])))return e}else if(v=T.split(" "),v.length!==5||!/^\d+$/.test(v[0])||!v[1]||!v[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(v[3])||!zs.test(v[4])||!Number.isFinite(Date.parse(v[4])))return e;if(v.some(R=>/[\u0000-\u001f\u007f]/.test(R)))return e;i.push({index:g,cells:v})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
44
- `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let c=new Map,u=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let v=`@${c.size+1}`,R=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${v} = ${R}`;T*(Buffer.byteLength(g)-Buffer.byteLength(v))<=Buffer.byteLength(E)+1||(c.set(g,v),u.push(E))}let f=new Map;for(let{cells:g}of i){if(c.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let v=`@p${d.size+1}`,R=`TITLE prefix ${v} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(v)-1)<=Buffer.byteLength(R)+1||(d.set(g,v),u.push(R))}let m=i[0].cells[4].slice(10),p=i.length>=3&&zs.test(i[0].cells[4])&&i.every(({cells:g})=>zs.test(g[4])&&g[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(p&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:g,cells:T}of i){let v=c.get(T[1]),R=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=R?d.get(R):void 0;r[g]=T.map((I,M)=>M===1?v??(E?`${E}:${I.slice(R.length)}`:I):M===4&&p?I.slice(0,10):I).join(" ")}let b=[...r,"",...u].join(`
45
- `)+n;return Buffer.byteLength(b)<Buffer.byteLength(a)?b:a}function Yh(e){let t=Wh.exec(e[0]??"");if(!t)return e;let n=Vh.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 qh(e){let t=e.endsWith(`
43
+ `),s=r.findIndex(g=>Wh.test(g));if(s>=0&&r.slice(0,s).some(g=>g!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(g)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(g=>g.index):[],i=[];for(let g=s+1;g<r.length;g+=1){let T=r[g];if(Kh.test(T))continue;if(/…|\.\.\./.test(T))return e;let x;if(s>=0){if(/[^\x20-\x7e]/.test(T))return e;let C=o.map((E,O)=>T.slice(E,o[O+1]));if(C.slice(0,-1).some(E=>E[0]===" "||!E.endsWith(" "))||(x=C.map(E=>E.replace(/ +$/,"")),!/^#\d+$/.test(x[0])||!/^\S+$/.test(x[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(x[4])))return e}else if(x=T.split(" "),x.length!==5||!/^\d+$/.test(x[0])||!x[1]||!x[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(x[3])||!zs.test(x[4])||!Number.isFinite(Date.parse(x[4])))return e;if(x.some(C=>/[\u0000-\u001f\u007f]/.test(C)))return e;i.push({index:g,cells:x})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let g of i)r[g.index]=g.cells.join(" ");let a=r.join(`
44
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:g}of i)l.set(g[1],(l.get(g[1])??0)+1);let c=new Map,u=[];for(let[g,T]of l){if(g.length<40||T<3||g.trim().split(/\s+/).length<8)continue;let x=`@${c.size+1}`,C=JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),E=`TITLE ${x} = ${C}`;T*(Buffer.byteLength(g)-Buffer.byteLength(x))<=Buffer.byteLength(E)+1||(c.set(g,x),u.push(E))}let f=new Map;for(let{cells:g}of i){if(c.has(g[1]))continue;let T=/^((?:\S+\s+){4})\S/.exec(g[1])?.[1];T&&T.length>=24&&f.set(T,(f.get(T)??0)+1)}let d=new Map;for(let[g,T]of f){if(T<3)continue;let x=`@p${d.size+1}`,C=`TITLE prefix ${x} = ${JSON.stringify(g).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;T*(Buffer.byteLength(g)-Buffer.byteLength(x)-1)<=Buffer.byteLength(C)+1||(d.set(g,x),u.push(C))}let m=i[0].cells[4].slice(10),p=i.length>=3&&zs.test(i[0].cells[4])&&i.every(({cells:g})=>zs.test(g[4])&&g[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(p&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:g,cells:T}of i){let x=c.get(T[1]),C=/^((?:\S+\s+){4})\S/.exec(T[1])?.[1],E=C?d.get(C):void 0;r[g]=T.map((O,N)=>N===1?x??(E?`${E}:${O.slice(C.length)}`:O):N===4&&p?O.slice(0,10):O).join(" ")}let k=[...r,"",...u].join(`
45
+ `)+n;return Buffer.byteLength(k)<Buffer.byteLength(a)?k:a}function tg(e){let t=Qh.exec(e[0]??"");if(!t)return e;let n=eg.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 ng(e){let t=e.endsWith(`
46
46
  `)?`
47
- `:"",n=Yh((t?e.slice(0,-1):e).split(`
48
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn(cl,o)){r=cl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Kh.exec(o):null;if(!i)return e;let a=Zh[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
- `)+t}function Qh(e){let t=e.split(`
50
- `);for(let n=0;n<t.length;n+=1){if(!Xh.test(t[n]))continue;let r=n;for(;r>0&&ul.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ul," $1 | $2")}return t.join(`
51
- `)}function tg(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 ng(e){let t=e.endsWith(`
47
+ `:"",n=tg((t?e.slice(0,-1):e).split(`
48
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn(cl,o)){r=cl[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Xh.exec(o):null;if(!i)return e;let a=qh[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
49
+ `)+t}function sg(e){let t=e.split(`
50
+ `);for(let n=0;n<t.length;n+=1){if(!rg.test(t[n]))continue;let r=n;for(;r>0&&ul.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(ul," $1 | $2")}return t.join(`
51
+ `)}function ig(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 ag(e){let t=e.endsWith(`
52
52
  `)?`
53
53
  `:"",n=(t?e.slice(0,-1):e).split(`
54
54
  `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>fl.test(c));if(o<0)return[...r,...s].join(`
55
- `)+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(dl.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:tg(c,a);if(!u)return[...r,...s].join(`
55
+ `)+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(dl.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:ig(c,a);if(!u)return[...r,...s].join(`
56
56
  `)+t;l.push(u.join(" "))}return l.join(`
57
- `)+t}function rg(e){let t=e.endsWith(`
57
+ `)+t}function lg(e){let t=e.endsWith(`
58
58
  `)?`
59
59
  `:"",n=(t?e.slice(0,-1):e).split(`
60
60
  `),r=n.findIndex(i=>fl.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(dl.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(`
61
- `)+t}function Js(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=Jh(e,t==="minimal")}else n==="gh"?r=Gh(e,t==="minimal"):n==="git-status"?r=qh(e):n==="gcloud"?r=ng(e):n==="oc"?r=rg(e):n==="git-diff"?r=Qh(e):n==="tofu-plan"&&(r=e.replace(eg,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Uh,zh,zs,cl,Zh,Kh,Wh,Vh,ul,Xh,eg,fl,dl,ml=k(()=>{"use strict";Uh=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,zh=/^… \([1-9]\d* more lines omitted\)$/,zs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;cl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Zh={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Kh=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Wh=/^On branch (\S+)$/,Vh=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ul=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Xh=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;eg=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,fl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,dl=/^… \(\d+ more lines omitted\)$/});function pl(e){if(Buffer.byteLength(e)<2048||rr(e)||og.test(e))return e;let t=e.split(`
62
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(sg.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(`
63
- `)}var sg,og,hl=k(()=>{"use strict";Dt();sg=/^(?:\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|$)/,og=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function gl(e){return ag.test(e)}function yl(e){let t=e.endsWith(`
61
+ `)+t}function Js(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=Vh(e,t==="minimal")}else n==="gh"?r=Yh(e,t==="minimal"):n==="git-status"?r=ng(e):n==="gcloud"?r=ag(e):n==="oc"?r=lg(e):n==="git-diff"?r=sg(e):n==="tofu-plan"&&(r=e.replace(og,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Wh,Kh,zs,cl,qh,Xh,Qh,eg,ul,rg,og,fl,dl,ml=b(()=>{"use strict";Wh=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Kh=/^… \([1-9]\d* more lines omitted\)$/,zs=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;cl={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},qh={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Xh=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Qh=/^On branch (\S+)$/,eg=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;ul=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,rg=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;og=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,fl=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,dl=/^… \(\d+ more lines omitted\)$/});function pl(e){if(Buffer.byteLength(e)<2048||rr(e)||ug.test(e))return e;let t=e.split(`
62
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(cg.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(`
63
+ `)}var cg,ug,hl=b(()=>{"use strict";Dt();cg=/^(?:\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|$)/,ug=/^\[tkr: previous log line repeated \d+ additional times\]$/m});function gl(e){return dg.test(e)}function yl(e){let t=e.endsWith(`
64
64
  `),n=(t?e.slice(0,-1):e).split(`
65
- `),r=0;for(let s of n)if(s.trim()!==""){if(!ig.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
- `:""}`}var ig,ag,bl=k(()=>{"use strict";ig=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,ag=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Mt(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 fr(e){return lg.test(e)}function dr(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 Gs(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||dg.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 p=cg.exec(d)??ug.exec(d);if(p){s=-1;let g=p[1].replace(/^file:\/\//,"");fr(g)||(r=dr(n,`${g}:${p[2]}${p[3]?`:${p[3]}`:""}`,r));continue}let b=fg.exec(d);if(b){s=-1,n.push({kind:"code",text:m,num:Number(b[2]),pointed:b[1]===">"});continue}if(mg.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 re(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function pg(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=Mt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(re(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(re(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Gs(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(g=>g.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),p=d.split(" > "),b=m?{file:m[1],name:"(suite)",loc:null,body:[]}:p.length>1?{file:p[0],name:p.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(b),o.push(b);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 hg(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=Mt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(re(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(re(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}=Gs(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 vl(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}=Gs(i.get(l.name),s);l.body=c,l.loc=u}return o}function gg(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=>re(o.replace(/ \(\S+\)\s*$/,""))),s=vl(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 yg(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=Mt(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=>re(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=vl(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 bg(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Mt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(re(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 p=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);p&&!fr(p[1])&&(i.loc=dr(i.body,`${p[1]}:${p[2]}:${p[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 kg(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(re(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(re(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(re(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){fr(u[1])||(a.loc=dr(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function _l(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(!fr(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=dr(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 wl(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Mt([e],/(\d+) failed/)??0)+(Mt([e],/(\d+) errors?\b/)??0)}function _g(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||kl.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=wl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=wl(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(re(f.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(f);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let p=kl.exec(f);if(p&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let b={kind:p[1],id:p[2],msg:p[3]??null,inline:[]};n.push(b),i=b;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("::"),p=m.join("."),b=[p,`ERROR collecting ${f.id}`,`ERROR at setup of ${p}`,`ERROR at teardown of ${p}`].find(R=>R&&t.has(R)&&!l.has(R));b&&l.add(b);let{body:g,loc:T}=_l(b?t.get(b):f.inline,f.msg),v=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${v} [error]`:v,loc:T,body:g})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:p}=_l(d,null);c.push({file:p?p.replace(/:\d+$/,""):null,name:f,loc:p,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}}function xg(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 Sg(e,t,n){let r=Sl[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&&xg(o,s.map(d=>d.text).join(`
67
- `)),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(` ${Nt(f)}`),u}function vg(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 Eg(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 Tg(e,t){let n=Sl[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:Sg(c,d,t).join(`
68
- `)}}),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 ${vg(o.slice(c,f+1).map(m=>m.f.name))}`:Eg(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(`
65
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!fg.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
66
+ `:""}`}var fg,dg,bl=b(()=>{"use strict";fg=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,dg=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/});function Mt(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 fr(e){return mg.test(e)}function dr(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 Gs(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||yg.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 p=pg.exec(d)??hg.exec(d);if(p){s=-1;let g=p[1].replace(/^file:\/\//,"");fr(g)||(r=dr(n,`${g}:${p[2]}${p[3]?`:${p[3]}`:""}`,r));continue}let k=gg.exec(d);if(k){s=-1,n.push({kind:"code",text:m,num:Number(k[2]),pointed:k[1]===">"});continue}if(bg.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 re(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function kg(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=Mt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(re(l,!0)):/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)&&n.push(re(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=Gs(i);for(let u of o)u.body=l,u.loc=c}o=[],i=[]};for(let l of e){let c=l.trim(),u=/^ ?FAIL\s+(\S.*?)\s*$/.exec(l);if(u){i.some(g=>g.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),p=d.split(" > "),k=m?{file:m[1],name:"(suite)",loc:null,body:[]}:p.length>1?{file:p[0],name:p.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(k),o.push(k);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 _g(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=Mt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(re(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(re(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}=Gs(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 vl(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}=Gs(i.get(l.name),s);l.body=c,l.loc=u}return o}function wg(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=>re(o.replace(/ \(\S+\)\s*$/,""))),s=vl(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 xg(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=Mt(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=>re(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=vl(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 Sg(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=Mt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(re(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(re(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 p=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);p&&!fr(p[1])&&(i.loc=dr(i.body,`${p[1]}:${p[2]}:${p[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 vg(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(re(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(re(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(re(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){fr(u[1])||(a.loc=dr(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}function _l(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(!fr(f[1])){let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=dr(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 wl(e,t){return t.push(re(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(Mt([e],/(\d+) failed/)??0)+(Mt([e],/(\d+) errors?\b/)??0)}function Eg(e){if(!e.some(f=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(f)||kl.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=wl(s,r));continue}if(/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/.test(f.trim())){a=wl(f.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(f)){r.push(re(f.replace(/^!+ | !+$/g,"")));continue}let m=/^_{3,} (.+?) _{3,}$/.exec(f);if(m&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(m[1],o);continue}let p=kl.exec(f);if(p&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let k={kind:p[1],id:p[2],msg:p[3]??null,inline:[]};n.push(k),i=k;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("::"),p=m.join("."),k=[p,`ERROR collecting ${f.id}`,`ERROR at setup of ${p}`,`ERROR at teardown of ${p}`].find(C=>C&&t.has(C)&&!l.has(C));k&&l.add(k);let{body:g,loc:T}=_l(k?t.get(k):f.inline,f.msg),x=m.length?m.join("::"):"(collection)";c.push({file:d,name:f.kind==="ERROR"?`${x} [error]`:x,loc:T,body:g})}for(let[f,d]of t){if(l.has(f))continue;let{body:m,loc:p}=_l(d,null);c.push({file:p?p.replace(/:\d+$/,""):null,name:f,loc:p,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}}function Rg(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 Ag(e,t,n){let r=Sl[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&&Rg(o,s.map(d=>d.text).join(`
67
+ `)),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(` ${Nt(f)}`),u}function $g(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 Cg(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 Og(e,t){let n=Sl[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:Ag(c,d,t).join(`
68
+ `)}}),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 ${$g(o.slice(c,f+1).map(m=>m.f.name))}`:Cg(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(`
69
69
  `)}
70
70
  `}function El(e,t="normal"){let n=Re(e).split(`
71
- `).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 wg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Tg(s,t)}return null}var xl,Sl,lg,cg,ug,fg,dg,mg,kl,wg,Tl=k(()=>{"use strict";wn();Os();xl=/^(?:(?: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|$)/,Sl={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}},lg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,cg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,ug=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,fg=/^\s*(>)?\s*(\d+)\s*\|/,dg=/^\s*\|\s*[\^~]+\s*$/,mg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;kl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;wg=[bg,kg,_g,hg,pg,gg,yg]});function Rl(){let e="dkzPDPWV7iEAZHbaIZZnt-lJ7Yf4US4xHjH66eikxd8hOvSVjeXONmZbUcTz0aIrHWuHQaNnF3HzNdHPmsxC8lpFKQwqmOQCgGCSoE7v6aA5YRfJrXN4-lJ8QZxbKpADbBf4_tj49xM8RNrAwXaJcLANR5c0yOVYyP_0AcKhefUi6i83-uwCyBimzbbepB21DqyRurIVbPTQfJVTZ5Vkw-e4Qp0pixUX2f4paMCA1abj2qTzlh7Ld_K9zNm3VrvNc626QWYli7eXnj1yb4OLAH_4sjxcdvz8gLPk9TegysPjMw6KlOGX837Qk-zFSCPhC9hrf-fRmMAHrCQF0CVk4zbbRq4Vg8PViSp-S3Z6xRui0KFlOYzSh383k8T3GxjIdJST3Nbadlf2hO_1Qg_pvEjBtC8WfVf4QN7jFWw6iZPx8K9PpDPZEX-aUASZoGnKkJjckMygi4D-neEg0Txx91xgabALuAnz_h0_sQLT-I-YwbYT1cGlMENkrQW0tyap0O9LXMYx9ufWQ1DpWOPYUSH-rUMJh1lc5sIIf2wSAGHu0zuyVSQQQeVcMQXR6K1rejQ6ZRdMlfHApvZg2xw9Yy3vqUiCva5TfMJHYHthojpF-_wlY6llqc6XGFcHEnQq-i1ksU8eiW6Ni4qZGNW0x08zZxZ-kEfgDwvAqpReeSnAGQF8cmt_ZeqlXAk0DJV3rlksGv9yok88luMb8Ffq6qKiArUdBwZqLnJwgtB1nxlx3YGuXgy2WkHpVwcoH54ZYK9Mqbyuzpvjc2fWqToaJ3uxuKKmU_H4z2mOTZh17tK6OLv9XCJeb14PKlapO9O3Nkj-arq7R75S9mg4-iQ6ecnYtjzgt9b7VUAGSHTyD_dqsbblLzKY-wCROxxFu9pluE9YRhWec9B0_vBzyRdgTcQDnuCgsPoznmu3fyeA3Yp0a64TIo_Bwd09gI674fvhTiRkgbrN52thJ4iZyDuLaySD7_1TiLiETCHsJzvAhJNa31mbfsDT5TDvpOTtUIqX5nVPBtFs3dLyQWZ8PcBH64RXZjHjBcJipDtHeVGmX2Sg7LyRyU0wuB5re13ZCul11Lta4_446QanV4NjCyXNXPPjlnme_9l12CAST9yLHTLecWXyNOf5QSt565YYYW5duu-RTIUCBXNEzyrpkBo0vtcpdR0lOG4PMsLKiHQuMUPEBSGqWiKQmtnJXEUxCYKWbEXbeRaJCa3m_hz8IN_lfqXT7a3s9gEKzjhsD5T3LI9DH6ZCEBVJgVGh2VwIYeenQ-dZoHUSKdr0sfVsqjeyfdSVvQYtScKew2NwDsltp2-buJVQXFoboHuemUfR3wrSEv_99c7BgcpxMQXlX-2C3vtg6LDVHV1-73Skvc448DS-N6QWyhOyUWbm7i8GdwK_0a-u4X6c8y8_TSzI3PvIxpJPU-EDe_1-FIzy_SecUgAV4zD0XiIz_KdJJLGXUqM1gZ-Lp-RS1TAsnHEKGlFp69veZTWmi_Z9YULoG2iAMZqHx0XEPPdAe9FtYvJBr3BKbSHqyDUblbaUp5W1zLuSC_lBqEj8GNnblRM7V5EDzMbTdSQa6eTTf4Xf4HSi-z5XzJPbha4DZ6sMvOUcHvHufyvrYA2uj0DkWIYZImfk6hRzv2LWx0yhAa_l9R04Mx84ikvlHoEDyCIyPtVkIzRH5TIkMUUYFgVgzV1sG7AwVjWtbfTSlxLK0H5IRXFyvXKXwRCBM1kkhFaEFys_TmbRGVIX3sleiGXn8Q2Sfx-B3F_Zt-7YkTq8EkZp_TScDlZq9P4gMi18DrU1CL4SwWCYUw1ubVt3sflVUMDpBMhI_ZJvGJHHw4XkFzeNYQJ0aeN1lAjvLnvYD-vyd3RV1lsbyPIVud7orWVTeOddOA2YbRNGyNrFBaCXSXkkmsF5xNnafGcZYyWgGt3crfhH8PnITAt9mppt0YqrGyenGqb8DBe6-3rHMPoejwkbJq4JczyCYppaEYalm3oW9p6F4y_SORjV4WqBhqhrV6Q6LzH-SeoTRtLtaZaqMRo3Py4LvXlsy1jyl2RPm0FSo6626mEAcfG16DUcodbe3XPHdYlu8nkvSqI7TwSYt_EVwHHyiDTTNUUiO1vRm1RIB3WqtwJImp9VwOKUQcztcGH2MZK39tAJkvcDEuDPuaUt8byv7HYyL7o5JUv_tQmrR0qkS36cacPp2dr1iuIySSLlhP_CHB7ke7HodTqjb5eLOdzNLHojwQPdJ6Kw-VjC8Bm6iix4n87BYt1kNUHRnhDroIHgwF_M1oztWCwVz7dIPSo-W2_SU2IGSB75b3_18b3F9yfWYnJSFjEknrvuvu5dINCer7zleQ8kNzy2BKF_mXcHqC8MNUFPNSm_mxa2_-LirWPPW200NNFu3Q-ZkM8Eot5EYFfM07BNWbKo8OulYjK9BL7jph6pI2RxEctA7G6hKAs-fmhGk5UE3AwwH0Go9-crqgR2Am9VZm26FPYiunHU7tpe32-BBtzBGcLPBztqPhdLnoEttGvxw_JxG8f0H7iOiz2F2ZGUKfkZOnDCyhhJRxVvJsGo685UWUrHvV-NW56QZUTEHMjHepa4Y0JK0EnExR0AnbXr6V0HlpFKTNA9vFsVKtyAx5Y7mFK-4TqkveeRromtGjP_H_Um5ibOs_AXuIGUlJxNFhZNrEMXWZ_ezziJZ0hIZR7BhkDIE87A2cvdEZyJpDq2OfTsqxs2RdIVPZqKYxFjbzI2ZjUX08SbIe5yZHzCX63-eFCyr-IZsmq4X3-3ObsPejLAqUrQRkTtPNdQcSqCEeSQtbD32AEbRTuxzCQIaEPGqbSbjFWR_H98mMEdnEEJ-hy7Jcfunf024T-2Cy25z7qa37EeEhr9wgN6RKf5NUDedbNObas7SYgaIowbNqZqoufkUqbSkwnMNy0bgR1st3ittZXAar2lnqueEFgjy4fUghzcP7ZSmOafSZ3LqS294Jk8Fqg2C2fx6KKcz-4P6vEzukihFw4G06_gjks1cs49CVtbOGkj3MN0RSJQt59u6UdP6g9KuTRXuhMtkd6NklXd-zrJNdGKOO0PqWrSZSZAMkukpqulDKMYe7l7Ot1zzgzzRn4_dQPIeaoAWzqn4Z7pqmJ73BUZBqXBy4Az8aOyWCcqCSyRTXZv0ICT7eanL8ujNR1ZhDJkUgi4VzzsY4GavXikQIZunQngpppMGsPvQVlnhv3a4OxV5mbXtDgog_Zrzt92L3jY6sE5rhcDxzE90-P6AlVqvE8zUVUxdB_zgm_wEeaOUwNncNe-j6y3nCiqEBE3TgDCB1sInEQqiyXyn6bKTct6_6psG9_aXv90XPI0IO5EJFZEMsmNwimM2UbZ2MXAOb1mCy67tNUcI6LMyXzrPX2uEBCdrVNl9dviwPMD23RlMMMLHn7KMM1E8PgunyKskCVf4Vg6eqflE81MotCdsyGuWUdzSlpAgQfpluoDLR1JROsE2-meM-u4Gf8hgPoicUZe8LeHuE_yPeaaffN2TBpphs65D4KRsqHSULcbArDDd6unYX1EuPhZOzOseplxofBz70FDLg-XHyL66qreuB-flinlb90GGA7PPwgBGFj4QAWPFvUoRqSNmBkzlX1x6rmWqo71vkGF6gkehNRSOWJjEP4DhCJoMlxs3Vid2JewfiYx5hPCZKuzSJR359-f21St7ku8jx-0Es6t15CvSQsC5XOMmhXHFz-0yf6n6BGnkv-Xywuo3OHqFzMdwThmPFrInFIeaORMglf1mXlg9ddHCln5TL9W5mdYFZMMHpZxKeW-eSwetdEJR7tCrRtOEW7mY6KVYW1e736QSvZhkLfJITUbTslHalk9iqn9IjTJK-zLX4y-J4-5egoeEsowZVYYXOFF99nu6UjeYtLbe6NgMlcitTOD3-weXOK8K_4R1XCsUCWh7b0EdaWP7fCgtOPqzCPNPgh0ChJEuGS9GURoFvG2h2k4Nx-X8NkabAaN17FllR-HtjZwjj5dzEOZX-vMn0SqlP7rIitQAYCv2EPMXV0VsjB-_zP9LRuSgaTbPEJTfEsI2vKefV8jV_412AuNhBtngzfZap586j7UtiN6eXIjWaWo0wfPvOK5MnZoi9UWj_EdWL359FPz08gHYQEek-rk6kYNqKELax07WqqAdPjEBhf2UtxraxCmgdjTOHzcJf83lj7O71YNfEq64Y93JVo_csCae4IePaYhYow3yr-v0n0OhqvL-32C4h3ZtA8OZ2GocFmSMqepduPtfgsApo0lgl2hC0eHufH9vshXRyDinvSwTE2SufZAM4vwh7qNDapVguKKERGSBDJv4Ba8A_k-hw_zt6Zi2RzxRQC-6MTekf28jJiKwtpZSPKdP9HUjNpcTWQfZMQOKy116RKX8aqRMi4ZljEJcL8WkurvMr3CJpFWsG8_wskTT8fbZyshv7eDfZjVfFnrDxYsYhUiNw2YwctKMyermwg5htk0-l5cYSeSntDPZc5cLEEhIEqbYp5KV8e5r-5oLmggkBubVTLAZrOfaUKCeYI5fw7_zn7bq61nxFgY0-UWYLytwYHpXqRm0TzXObC6I-opHeXtppOlad4o8PMIh0T58vyLPMuyGf5G0LnpeCB7wX9ObK8k4MSzzXMnuRucREpHymGuVuZlD-pGy1DRW2muO63QdN4fNA050CdOHS9nZIaKe5AWN46mS2tklqKYj44lZ9cwUe4hmcGAzMRzTYnFOnnM63hqPmZueiaIn3sJJxZ3Zw7kU4GfXiF8lIlrpUxAB_eNGLYuUq8iUTQcYNS3BEy-FiTxhLr19s-u4xwBDaulPt599UGcSREMYKG9LTJNFe0ZxgMiWBXRv1xLqS_CXpbMpwAtCuLX7ud3NWD0sSuS1ypKx5fPbV1Uip_o-2fdkmqIyefTuldA38yD1r2leaYEqR_ag7oNZU-jP_759wXU4eBzXw2kY6kqOgbes5i_8s3y7HN0X8aJRrsdcusuVBM5g89c7iW2FV3lx2P-aKpdXqb9kXtU9hHPL_xRZKKCZNUMrulOkHCdz2zgHmo-uvAnV6kIYi78lgoXTtgJdiSeFKiWQpok60Zphs5Z4qg1HSbNHJjOrY-upYDsi5_oUIHzwFA5X7OxDN0GrbUjJRzHTe-Z0F52R89Dy1BmaigTHDnOFZfYPYN7wycB3479UmEvHpFIWSOZM79cfwpkRgjS-XltQUetcSjmrC9X358uDvYYk4cq0YDfrVuPq2a5CMAxzv-Fx4wpr39sufFP19PzS7jxMRBpSvuEnEprSTmBUaQWgqcnnYnpdTc7_Ya2IEQUeqyuMl7_EkXL8lLzFWzz3kRZ5ReWphNrXjykCFXCyq8kxZgBytgCafu5L330PJjbMOOoVKHaSi2IhbDVZcnoYR2y30Ov8VUlvjVzKAdNveiZzRR5e1K87J7JCAu0KbEojwj1vJcZ4ZjwEw1tyXvvIvs0Yk0Y_bMuUT1YW-5HYx0ZPLsDvCysZ4wHe5cTnQPBk5fqM0FGggynn_8sjSqm-1J3AkxovF1TWOtoRNrGMPj6IbR5-YCxh1gTPd8S-tY12OTkb1lG5nTSBGAllcD0lK-8BU-DlDCOjnZVxx-yRq3I8PmVz5hJFrVbvlaIWi3sgH6RJhWAoFa0AZ1QNC3BpncH5hTpKklzizZfYB6dBAaq8bU09VMh5i8rCg_K8Lr8e6AorykKSa8X5r2hTZ7umVWmEbYK60VG4WLi0lhL6SpOwBGHr7Lr_81gWOM-wtswntxmr-3xZHIqLD0ksmUJnP9wIk5toNDndTmVpGvA_F7slwSvvd85gOYIXiZqndBFH4IpY6C9JVkQx-mgGn_n1nyiMWpD7uzkGCKRctIfPtRkZ7EoMRSwl8hWHRvFHmig6gxhXjZGue3nRChmIhhcGNLbwQ-JF8bQC4-RKiMtpXA3SrawLlkxogyqWM41AozKjpKc19B0HHfesazoMAnvdKXzXTIpuUUS8RSsqz2HQAPPy5b3Ro90OzrQ-jt9KpAQmCveJM_sfNaG-l7H2XOKY6Umm_m5YEuoSfMDsg_xllqpgNdG3nXYEAYhwHXFjB8OG0zeMkBazRi1TneEZFvhxbdOH47_q-pjyn9iJ78EsF0p63P23kGEiw5kPFq1HLtYY9eRl0JIezha0-oYbgJFkE-4_qFCPhrYGo-5MOXjofgwJ6hANSy3Ew1RmwC1o7xWzY7_7yHyj0TgHrx7Y2Kkj-1vyjjObE0hreZ2rThmC51Vk4NxopTWRZnelVDmWDirJPNZ_1yhRQklXuU1ZfsRohVQlDHsbzX2QcPcgELDkwFJGLUwnbPawN90VZ3xR3Z62dCnVFmGhO9Sr9xF_QrIjWtmQBuQ6R4yOAVc1wM4yCdja1yWrnyXTiWrOZ_Ke0nS-OQB8sz-8-pJ29B9tiyRV9-P7HF6RkvrVueByfL8X7GioGLNdTxiq8jpBbqntdoz5ziKhn6-dqBJD1md48wXFlMaItU3FROdGbBXPn06qwVP4MBnN-jtGkIpiPnXCflkmC6Jydy42aO_b6elvfO5qOcSKqivJpOG-Hrey_EISp5b0JHF8X9yPLLqlPcGyHXixWZMc43AO2nN33_2xZG7AcFt6AM2jE0j7Feu9oO_mTe23HdC2W1b11tWojjnvHsl_5qZprbaHBEP6pOWFZ7VLefTsZT72TuvVlngCESM19nzuo-i5cgdBArgRJm7aXSAxtC_o9ECyhFqs_9zX6KBJN0mz_bO9t1gjHoL1hXswVosbDNaDz8wCdjgkQv-CLCaemVUCrxTuNuuervVsGdaaPLQh4zxuqIgqEcg5XvoI6TfCpEQn8lriZF_Mi918eX8ueje5AlHdcNn-UqHmfAtNNWQNUUxx8TrpMobWE2BJvnd6En2NlgW8EoaBppe1997IdcKa6g0CKRc5NWXlDzsTj6tLs4xCu-CcAWNb4QE5f0ppyZoACq6EyjTNNr92GXUWQH66ktE8I2spMVdhW0wiv2uB0mKPVVZLMBE7DRC4si4I8UxwUzII9Drvm6DjPouUrdeLBUbYmu5792oduBzLZLZ0VaQuVZWsK3gaIU83doWs0jWG-BZC9zZ2sDok6g2ubmF8SYjMYg5ZxQrsunzx_H6_cabpisEB5SQfNVxN42CmDTZi1OqqTp-WY7GQsIH27e__hAzA-Qbb2yWsDXjPlEO0tkwU1-mZS1Rs2W-zMR8uy0dCFY_OHU_T79n54UGZbE2OeOp9h6kXXYa3wSpYk2ZKbTCBITjVp_SHosB2mAUKDYo3Jkqk2qDlIjCatdYDhuj4qHY2kYhfZXxaWDVA3EvDsfuI2YZ9JYpAHWOVqdN5-XtFM2Zhmew1LHeiG6vFqEm8-TwAlz1h-Yi1V2w7GzcmB8MBunjw_NE0CG_RCPlmUt7R18NQWhbB-xOB4fiuP_TL06dMJilTPNiELNqBEuBrS5UaoTzPMeHUfB5QmIMXcYYHSCMPFpLLE-nNISr1qmribftTEslJ5WK_lwYD6AfGaYGfI1np_PF13KOFqUJmjLrjDDz2HUwPwQ1fDLarPIa5vFTtMgEoDiNgn0ztT8h-xnpX2JWaZgnvVVQe1XCm-3ci3DzE59E9JWCtX1y0068-JzpIOfY6Bb2HjaEevSMJ035mplyD_ZCWTM6zpX_EbX49pIrjH6KzAA_VDPiQOi6efYw_44l9BsfXPB_KwIIZ9-CbVA4kyfP1CE5HpzgOb7B0j3BDIsIVyWJhVlQjNuIhlH-aA2U3AXQmkV-FPqBwOQKSMS4ddrGPisNO_UibWeBTNZ_PzgeQl6LVXg_jp38fygF4noQ6-RiWOqV7bCdeVrb4RflxTHevaMioc44e-AfXxLH9bKdwm7kcEQW84Tnbf5wY5vrSjVxObtvg660mZQQQsW4NjW8D1EmsYwMnhA3A6k9sQZleJKH7Zr9mjzUw1So8kDsFTXLwCEfbzDnLVDLiBnYfy16SXNx7bwrmQ9FhKu5I5xqHOZV6EORGiXrKCyn9oWKVLiqkpjhYdZFp3rb-qNd4-o6H66Pm3jnVS9q7Rr9zVy9kaT4G0npnMn9-_gOVTaCHo39dkE99cuxhvopzl_jO6gtewF1WYse8CUxpANbxdRItJ5DTvIgchVCBOYerrXIU6MzJuvQa2hUFQPBSFreA1U_Nz6Qmo8aY7BbeY6rvjSmQIINsoqC5QTZEK3zFNSAV7sd60ym5rEJ2chPyRWCO2m6pf58igXVSszpWItKcXS2oS7YpROSmhR8hx4AqPQqA8ueluTRCo40H7s6r7URYhmZ0FQdsQVODxUIFO45hRM_f7hWTxEdUtIPjOo0d8TF0D0N1toCvKp_X21TJrIMua_JgI0aauCkLAb-Soz5NuPl_amqcghtoyli5nXDT1O20XjBQ2XBtP6JEhG7WUCxWEp7IkFMNtIJbBFfcmk-aVdev_BekCKv-s5jTrblfuTaHo_VWZrCqGHSJTMWdjtOFDUIqQ5y44oOc-WdXy6-hlAE6eQdpOGH9vkivQRY6PfZPfL-jTFGq6SGjAL7zp44JUSh2Ebl1nNFd8DjYyCDJPNwOL66KfFakNtdmlUCJgAL3IPLvhIWqhBmUMaWbbEv5_OMETeQfht0TzBt7I0_ZdyLA_G59DETkL-G95optmBIVB3_INkbgIcfaAArU5N9Nd3FWbJIn7XJiInHSpiH-Uz3lzHS6ClGsWxVefEdyhNHCvZdHZ6oiYUlfXrLy0G_VLZVPqfs2kZF7erltXwymW-EH2IWP1Xzxtxpl9WwmRoqYLHaMhtHPxBaZBrk2qhKiL3SbCq5eQtGi6-5YlXIYyedzm-en9T0hcK9rr6wPj3aBDRbwX1-wcWdwwHjPm0V3VQ3fgYGuHgI7sMg5GkwlvNYq_E9oH-kkwTsIiQsTYghKsV9sCXAXBz_mD2wFajXkG_Oix9bnYweOSQHJerdTOUfQbETzOJW_SrV-8ya8qnvm43BVmtpY2eJs5Dg-x2i6C4wUluRY3cMk3LMvSGMGJmZvYcvvAZzJ7QZKsyuLn056lkqBmgDGKYuqK9JHaPbMTWprad5-QD4iw5u_yPJKvi1OWC6PrHnkKqOIGYJ98xuUSB21Aj1vy_xTBnwaD1p_z7XiBPywGN6WE4Tb5sPqKRFcjfmoiWLtdMeY-eghxNh7Aa4Cx1lsfjip5fHJvB7E-xmL-mmHfZLZwQL05qh95bzwKupU2bsk6VY9Hk5NtFv2SR-RCqIWeOn-V4lJLlULqUlalR8ABhNSyxGK2wntb5Y89d6Ow1UF8ILVGlWRAFG7j2tLGNU4lKLtCp1mmk0AWfBHvOKW8JFQyOueWcQUbWmEqVjPeUh7MEQZalVa55pyJ72LPuI2JIYZnfzHzSV1YFJr5etf3PtvenkCelglL5bD5w4rZgpoTTFrCER2EcQv0LobfTxM0gLhQuWzr8F32gwIkIQC33aoeyznuVrJHTb2aNYRg8EhRiyxIYUa1fc4KICpeRfvNSpjXfkiNGym_qsviBWWexjFI9CAUgvyv7kCOvMTlQ-LZtIfh2IRPJyhOeenONIorL3QFIRGAfH4qzWJNK1WA0V2vGBSWlU6owi5_k37FVqAQSQZADAO-oLy-6lLWEZpZI29PbMi_oqWdjEyrk2039jOe0hXE_iyAmWUo4-Yfa0eAM9F3vaDBSdRag6OBuzGIpprwqsqXmnrPQbIKeYCxCqaYolUI9uOmGsrR3a4-9FEPcBxW-2Negvsp8Y3KDF10qZvNYAJcRRrh4D3yBiggMUWF3epfkr6a1vcpgY8fvl42_BK_DFRFuQqcmpdJ1v6aY5J-2KpFbjSawFZ1OJSTkJBd9KePHmvUFSZHOLF1EzKD64cWFpBebqf5qRWelQpI_7a37OkR9uUyUOCuyG51MNgutFHuB4peS7RxXE8xqW92-MbCLlf2o71pSJxkqKbyXRsSNexRYorgwJ6VAGHH97vCORbDKjDH3l66Uic0J12EEUlkmImGvUzG-uHYEoudNG51ZclpfgcVLye3lweLKUZBFBZ334zHgx7w9pgSgdgfmVqRFKTlgAejcUj2yGLtqt3IHhm7FJYZFtD7VttF_XNVnpgqGcBLSDyNMZXANECwxHzBgn33kRRbsHRDMkIHoPErVC5N5AO1X_exr8Y9Hdb6zip6PFU16kQWNIfGH_K6pkOo3BssYH_uhW_5paIy_34zT94GAySbxfCs-pl8daNYpteqaJVLApmyz-O0RHvEBOV_TVFzTOHQyF8t0qM6zsLYfVsnPnz20a0FPYnZtl08ZB62hc9rWzGd9mfoe1Rj8SdeIEFxDUFucT9VYOHRc4w0CBLsE2dxj-5UjUUGFmySMfBgjeJGsesl_rab1Ib6MLPedgvBkQTQxjR0U9o4zsmuyUusZVBTIqxRCuwpDfHdxBLB_2EwFsLgw_d8CKIe0iwL7L8x6X37dH0xCbDfMZSgXuVq8H6QIstLUqqVc4axlIDL_UtAj0QPga2gwQxnMr5mT76GtEWdBQjoRjUMncjAflz2xUezKdTeCflVgjLgJGH8nY2D1Y2D-iScJwWseaBi1qlQfX2VRZ6_rkoNbdtCdrZM3mPJbLu3NWJkF-RoZYX3xcrNuyOV5V0V92mqriezfDAA9JpO8N9aTslydnkXOgiVis1c86HEfz0tToGj6CsN5x3JbD5q_8VC8RmtDvtlhLGF-hFkb80TLSFLY2UhI-XHMIz1Nsf5noOrq47zpPMvq0K-rHTNOUUmcG5vXAOkJOBOcCx7Coi63jrFfqywEBPzTYnqf5Xjq3PLaDXSXxUJgFrC40b-fhkajESjmKgCn3lBnB7eRG8yr2NIsx4hcrYl8qhlAbkYi6KSpUeTciPmNHdGAzhfSN1KacVmxk6mbMUZ6Bg12W2ntpJ3Y6CbbHphd-1NPco0yTYM8Qk-tUCuzxU2ZSYKEyN2yVz-VKGqoQClfSis08qAzIGH5l0wModGkhW8dQbopeEtays1zcj43Y1GZfGy4AtHczDAW1-BuvVKQ0jgSxDrUKtOG6RoQ7aNyqE2FnbzWd0M3fQ9famtNuht9OSjmR07pvTldUB4upsVseYa0ZWaO_Ce4ehOL0GidZN0TfJ33M1v5z0bLzb2DshJfmTgZmSuBLyGObkt0Lt-Xe-QCXMUa0SbUPV-mTWJrNeVUXuEuF9upzbQLtuTJQ1qKPhDElzsc3w514JKiYj6gmDjTpjUH478AgixKkOgeLcdRw5zb5QShIYwBkVjAfFm8UJltWO3NJvAed7UqnTl-waDikDqrS57qXt5KEd98i8-i5Bcauuj4k8W67qHZZSBQz0QzNULwU761gJYFRDbb_7MAxmbPq9B9h79yCJ4rY2INcgHnmRDE87SghvUBblIsCEY1YG5HKyf4chOk8SDj7QGydz9tbXtOdxY2CazWrN5DFWcZ3dphi6qkRLUbDFtZgS7ogBRBVoBrGAse18o5_7ykRc5iFx3cJ3OSDN7lj16jvC80JrQza4iXYxa1QtsqY5PgZMvR25rGzd8x7IVZ7rXfc9vAmsSlxASyYT22UqfjEOm7sbXW_F1Zk4X3pWX485bDIlMFydD_5xc7isHmGSCbspF-BILyypawIDkXQN6roTNovwQpFnd811ilmhHhSEML82Ql2jCw-yguORruPCDVRYRd6QOJu104-HPSWEKDFp1-dKhBKRMTCvxaCN0zr_gcXsrYkeCLPtHNYrstVqSKvM6Cd1dw8uQdZEC2Es-OvMTnuXasME6J8zY1NdsqYcnpxecfiGrhf25oiKfVZ8Z4qIxZVYaZsMTHr0kjhi6s0qGDeiU7CG9CVzq16wcrNKkooWg6ot91ag02o5hIywMPL7Q-Kmv1UTSKCszFXXAN2BgvYD77s4ik-5w7Vfz-MgxANuOh-N9RyuSE2ms0i9fEiHfCrz_gERD8K29H_Duck1qnLU-FFMmJ62DImpgVAhUSjQO0Oqy8W-W38NIPVnYgkPnHUi3ytq4EYWsJdprJR09h-1xrHToZ5QW3OUOmgbbdbUFbkiqcVgVaRPFYGhE3KUf_jiBDiGgWAu_rzhBov2yllEyD0qLD81GfEN1jz0yU_0iIFa-QKZM9sYdh5hcoENJE4IhRha65PrUtCxWBYi5prZiz5O29Ko17NUWuVuAEIL_WdRpd4riz47N1s8m-IVJiiOjb5rwyI5fp7qnmluVFy6gdEfhs1oqyCJoAZr4HkxxJeULKUOdQ_v41el6P4dathf5I8PrqUS__7WHo_Cxv7DrXibEeijbTRA-vSsXaaFN7naPYLwAKOk4e7pEyx8b2NzZJXtgbeYkEcE1kffkXNfXdW3pc92AymsA3RcHoAkNshtAOAyeHXEgnbdBACISP19FWiirMYA8-BI_BgV1fTdw5QtXxYkySLgMMNO10dL9WhjvO1pMxMnL77_00X9UuMfrEl6yTXVaKRARSvtrhw6LVnxq_UnTDAlVrW-cjeol1Hsr3UhtwoUBGWzoeHIIDdFEsjVq5NSn6jCxcT-64P815PdrIRlb0OOnxaDkRRCuoZSlJtksucdYnqsPcmGpx8klxMfS-iHXKLM_EuQ3zioN6Kvxy26MsayIhrJOvWGhihW49Jb7ZXLrRLmcA0hTzFY4-gcG9pXY3ms0twWkwfXnXoEuPZcKWRX-nWrQnZG7-WtffGqkwznxK0uWS02mTVbJEcMNtKhk9r_Ac9hj6uQDJkJXe-cmodTAzIaUDqeoFyYaUMQz-wMmcxVx2tt1odB1FYfbaGkqY084QWTZCD60pYMdUSEEgX3yAqzqhJUc3LdcyzuhF7g854kajktDBatSp4sSmWRd2pbOpFt9FfhoY9TMfUXyQxlH9wym_SSHdC2SKp6Nkou4pHvstdar59RmQHmscizLnsuRm99UHL_2nIrp_Xni5g2qQts7x1y4pIGESlb-mHVs8muPcDM33ISvQgyT2LRVxrRA5LCt57gvkVVIHhy_XVaQri_nRPjRYa3z_aq9GRkKTgyzTIqWKMZnNSVCMHcEveL56lM0rlD9F-5kEsCUSq-RxPPG4T4EjGSWOEqRHYqDFpmB0zHBl_mHvjYWio78OXoa-u12RxFiJvLuwaFL5S98ovhVijnNVD2Sy2MrJJ1BPwxpJEWWl61D67FGPssRXOGNkBPd9fzvWTzgZw-mJbDmdSPCY8bQlTdL9g1VJp-rVFnUSUOOr7gVDFxl0HqZZqj9ffFS3k20MXy5sncLIDzbwLunuy6-cS0dbmn57GPd1pU3oZwijAXB5pOrRf4h7HJhAkrNyX9PT1aG_Pvt9vfuc-dGFCtaInUOQiOu5SOcMK_V7BvKwxATXG4UU3cgvLtaecGxZk0GIuOT6qn_v5ArMfrqbxSDssv_jkUayrqpcBQojO-N0UnRHwc9hrAzx3Rw2qf1gSds1qQtK3V1qgRByqtYJYgs_7hUJBKc0PxBccwWS0Z0rl0V-zvosW5bvRpefslFTJztBpX8RKTE-Pvbbioyy5_ePHUrq4EHCMQAH6VUBoF2iQWgGceY9R5km6ECcjJuZbv3y0e3m28kAC6QCvgw_CGNis6usbROW_TsA87Jhz__zdYUCiEqhCoXCa6f4UKGj1HKF7ILIe1X8s8VcOSVugc7n_KG4h2_S29SfXIrUm7SRyhptO-gEDdf4-O6Sguqh6rEI7JRT7MnedF3cD7i8Ea8ltBk-n68v9Lia7VSY0zd_CNeT2PCJMsksoD6Iegk-o28pbU-mQ9l_jz0pSxw25MY7c9x49luy7Ih5AY3IAU43GPWN-v6TZba-U4TELuCCoBSv1ho5dUVKg_-m3RIfAvu_NGKwusjomAl6VALEsoIHqpeYtIdGGUWYaPK1ORI3jDRZArq_tBNdFcQIKhU30jfzX82zVHHxLzOofBmPj7YL-9u2Av8HwGygIb4c2gwa25BsPZ9f6vlRxatQIDJB89dJPbFFwFhGYYHc7Ym3gnVmtxgR5slzGEchS0tyal8OtNesO5uoLIEa751PzchKl1a7UvVv1EW53s4cG758AdeBPx8ueKi9NAZx7OgEOqbKvAQfWv98TcISYQvrL6IJ8stDvj1Rw9siR21KzTA_JMfroXi2pRGBFYNz9aWU1yAultWZPRBF9xVDvzZucAFAlsxI5dPgGomoQf8Y-BGwk6Bn2wKyNfE1Jmn30XyTVatCXwNm_N28L0YGAAC2fMZv4xG0Ud9h0iCMfC87f8gOfvs1UWKWggkMSEErc_PYYVka9TrEYUf00DdANXcFx7XczgW8C4n1zwTIc7fusAcfVD3tBPUjBEOwbcPYSjMTHEYfL4kXWoUfvuKEz0dFCC7Tt_EaOS7tacW_UASGUogRzM8tw-5g6o37SpwYl2icakW_IDN3m52Pc40oSMW8veMWkw3k8j8umcoyBsvkm2uAnC9I1aMHLPkm0mOxfnNJkfiwtm_pUWt1BD4w84s3RLEPZXsy5YrbUSLiT52wAXCH1oeHrF3Pw_AmaMjraOVnU8etIHHjlBIXXlui_tbb0tNxdK5Zm0S62M2MOuRc52SA4JsjqWudPaPVFnrs_xwnGb9gSc9qPV54KkZdz5vl1Gr73PpmtUMN0aerCpsBiUX3wSyG6zivhhBixbJaioCK3Q_cgrO0fyRSVtAUpoNaOOq2nsYmhQ43wjaeIXoZmRykhElwg1QS-c8MVqK2vLcMjfgJVdZQmqEGk9uPJ7Us22GE2YvoH8eLjM82z1dLGroLhFiE9sieZcfYDWiAPuUn-MSOiMrs7vopNmQL0owiCeog3mVf7bLs-TSSS648J_LF17LzPzycqDnNyzTnp2VBgTzM1MbS6JHke-pHCySqPCyUvk74nNw3mcV4Bmpigpewa4PsyAx2egnKUXyP881F7QQ6kL1hy1dFoYgosXZy3bnEabimgIkLV94rgwWoeiSoNrHh8Fz14ySzRpieKlbwycbrfnQk2Yysuy0MwlTBnJOFRt0ufKptlDoeuMhhbxhF_isa-Vnv0lbSRZjd6F0XLhepQdEMZVmWG_oadJHpM2BvjWwa9PFXzMdmRldt5Y94Zz2yiiuKYtTaviPw4kcVwqyn43oLpHae0dQux22ZHSJCvpuyzVM_qe4h8_XAnQ7eowdr5LJDkOlD_uulQdP7YLRssmBPCIipLmvC3ousZ9QbB5tb_SZORo0FibA-491gKW2juVwFTad5gcOmbRDlNAx5_09Br8AebD4Uwg_obeqAQqbF1LxFvZFrchGQAOG9ugB97Rn1uU11YRqUg3ia_QQhQqxoYsEWIYK4M1enGGiByI1g-pk-mviFLPiVEj-hUSfz2yrT6Vj-xI0PHVYxQ1oP9aC3eZbC3UqWmObr-OHjWLzFiQmJ1z6dawte2tOz_-O90iBZT6ZipV9p7RCIUB0qJNvbOHNocPaW_N2cm_K4ZNPnkERVd3iINX5erI5p4xZ1V3gVI0U2lccn_O3egmh0pawelC_42mgDSpR_HnEu-xKFIigP2IlGGFBAL8EL6yUQgEkf6JXZb6Zas2Vs88vcf7E6BB9WyeDSht37Pw6vkUcRf3mE_ijjsYz7LjdzY7ePD0sveQtN2Eij8nM4IMy7s5AcskxUpbqmcAuxs7ktGrstZiBUD7gj2FwxFAhF5ckF5BpUiZCVbbrBGf8JPpHLa-ZOS3nGDXtLFNu01Uo9MeAomzIa4WtXRGcdXbfFySJVr6OHnQcBr4e1pJYcjYCd8eg3J_7fBJpU-mXmEk3kXlS845svJS58btV3HCXDl0hdclo19zHAKqNQ49i5objal-zbJhhJlqlwgzcvOaC4QSdRKN50cH9z6G2tPNkFNBILpWqo0Ih0Pi5Z16RFiLwr8DcpHiDQidHm0LUIs1z7CS_NsAUg_HIxpcINjveZmnsKB3ZR5OjBeo_wEmBe576H3MUwDCXM-bvuD9SubsP59fQoRgox7D1X-7SDcy9tVMxbYmDdh-_kJ8Q5o3NWbww5bEvJ8xGIrD8az91MN8LhRazxcWV5c8l98l9DRCAs9TrDW8Xk-uzoIFyP7L0H-ES02V6LPXnuo6TFxPuVbq1Wrq1VYnGWUrjWJM9Wb_8UgWYkgawj1BSOZjJMGDAIJWdcMmwo9yRPJaKMtonlbF9w6XE4YcZfktZe33p7bAMT_ANjkZEwbKokp8JroUKZiSHxwQkLtJy3nDSItxSbeVKC-lT7BqKYusFwlwPSBSkcfZ1rEEAqRZWAIVgrAWKGuNLZJKG-lOqnL2pvByW3MvIRyNdfHGqRTOvbf9ct79BaGmLwg75NkAJYhJ5CO53iMdO9tj3Ho5AQxOQ_VvnTr_mijIfv-xLyoZyPV8U1pgEl4LNc9oHXAeuLZ6xne26Ll03hQOw5Ef7K369cerSmun7whDdE-QefVIXNPPS7Tq1SVjAohx2222ojn9tON-xxTAs6FLLfiAEss_Y0iFFvjkLUpgmYKEAX6HyJdpEtKBNXAZ0GvSVKA0TBx2Jx1FSvNNmiF8oAtN3mOeb5Vabec1APp7ZjKm9haLFrJsgjNbEMtEyivKQEHpuafOUTN80IrOi3pYc_QLWDi5CAdHFNdX-HNGD90Nc141uO9zOjJldyweOSlnFKOwk2_5kx_eEswYh4YsOPMhtFV1rHzk9_TnICTdwl2bQhIFPPKY2e-7VlU349piUp3996aNQ8CWPoa5TUJGKFM384dqfC2kJbsGHY0yl3fvtrsd-3A30NmXLMF8FmT3yJ5IO8ENaua9v8DIX7--ii9YqGnI_502BrEeH0_ITZzy3kGn6gRhmKv5C842-fIU9271C3r8s3p3wYpc31akCFx-HSsVoCgH1Y0hQKXoPtmcQSgdhnkYhV3LnBhoYejqJUUJ4P3_k5160IpI3uhTNI1fgyi_tbAmlLLkyHKHFQdaO4l_duqySvs6D_XAapOX1VT8WmRIRirsck_E2k1Ui6XHipqzSbyL8F5IE1ugarnfiUVsIMrlo4GL7rE80arqDnef7PC9LP_H-x8VM420U5BruSMg-ANZ16HpI0P5CDiogvHsNF46Gk0Tfe3_Ns9tR_1VWubTnjaQF5q1vkobjDGGFNcltfdghEprhznFBY-y4hAK9dShV6zHlSKeCXm42h0ymXEuo6EN_laTmtSgGKBj7p6vB29jd4bLNj1jrdrDXqbKN_z3qgNExutXrJXAl7HYVo3Q9NvxIpXI3aw64va7no478lX38XL1NWCUsjlkEq4DG24QuFEKpCk5bzDYk0G0dQw1JJm00gFKrZR5X9ODCrm3soF2X4lT7WEWpvQdN4iDqy4-nbF62SQZvy2ULbWzCd40wKnvI6x0T5mfUWfO3FRmezboPoy6Ni5jwd3aUpHMN1gCBDPwxiHn-aZ97Vamm2zOrabCdWJRJEGyK8Znsb4LaHA3P9anNwj_TaIBz0e44luuKGXX8cq1DqCXpNKyKcDVPmAXzYDYuRKn3Z6glB3l0SqI5vhHeGOnLHotwpr29GQoPPg2TLuncsDjP6jWYvrS54qu7vcat6RdJOQwSI8hJigKAuaD_16dd9QItoLnC6zE37_4cNIQvEu18ltKoB0m8aC2fa6uf6vReENuaVOQSArcSpolGhZcjR6OeqnqM29DyqJhzUHhUgbLiBEmEPJG5ZfwUlXznynY38X0CVKdyLusQdS62qkvpHi6y5F4nxNw1upqlEoJt3UKTaDI7z-_PRFpySA8PSzzIsq_G2nPbgZbpx1f3y4T8woE7K4OftDyp63aC4b_Rkc6QGs8LM-b9QT9q9nXEE5EtGb0kKiA72Cxida-KCQaRXV5lozUxsJ8tvU8BayhSE4WaE569tror9pkZcp6BuyOGmrf1qtNw_EN1eVMmNuboDymJdEdipE0zcL_cR9nwlYhEENKrxa_yp0s4_d1drpqvgn9gbAp2HoYBD2Mjz823RyeW3GDIW7FmxaCI3SFxtiXvhZkc7oHoHdEDKRLGBT8BDZ7NFVh_vWl2xpiXVwj58LWWMJPStlnbqKGy8Lvui9DrecH-uWEktINS3P29a8I4rVdKILrOeR0AE9Yt6v7ueQa2OyRZHQS6dodn5VrarjPmI7YpLu4LoiDIIiDzwuXz70BJ3gfalwedajfZ34lP1A8-6e0rMDnqev6wRxjwTfO-4HgpG75HMqSJMPDH7XleI_GmS74VNElf0OWFxvkQjp3Vs7JvJxaP7Cqf1oPchRA9_Yrj5ZSOPErZJ9i8DeLWb2n77wg1f-15MUp4cYp-UL1xCnT-YHX12n1Iy3inUlfLWmSnVhD8o-EbI80CyRozKOlrjJfe1J4MFvdKnJizymcm0wfjW_S3s-RP5FQIHibOFqT-ESsh73K-gehwe81DQXDUueVDsiDTWnBSbx3XHo_RAqowkyH3HDmMrYclVoZ4vnjnEysl9hiAdW-ii7qiF5XpcvkbXYyR1_X3eMZ2LASCCD1spxmrXKopgbiOaqX-5P7qJvulRizg4-vq7uZQPh_Vi23DhPclMMzvEa4p_CyzVpUvUzxDlJrCdycjkcKZTteGan0ylmj821m9P_2m6VKItMZlzV_Ugri5cWpJV7imTUK5tqCdSxrHYfcPhW63l5cDhn6aAmUDvopJpWS-Jb00BlD_-T8KxTZgZmcn5ZTOxQBeCdiXsrlaNA_bF6uyuSnfMKL0y3fdOdirnOKoU3Qpn62LhV3wiHEnY2V0WM9WJ5NE10UojqnVmnlZjTMxy2sW1KJjTThhvq9qbheiKkwcaSE1fmFOTBwcuKBhEHPzhA35ou6q7zSCOgtGxLvVbNi8ZDZawZMHYvVe_L3WUZ4xR88NS3mkPsMDzNYje_y1kJVqCluZO3_hDTNxOm4BMS-UTZgXMUB6xSsp6DOzL-9JoS4givFnSt2p3LtlCC2XHC1491JCJ9Saj67q_thr84MooGvC2nYIqZOrsIjJD6e2vFFcVr2EEXos-VTMTvRJnlHe1u3UYOlAAdA3TxHrJ0rJlQ0Dx5zXpvENCsM-Qucmh_zZyC9TKN4XBFJLgmep2e1HMUS2HoXRUtl7jFAlxsbfrAVvHa5ez__7Vw2I5zJiMpbvQKHpWqPlcWbsfD52YeuQLvJnatlToAg3xm0MIL0msxO5Vo-7rAmY0q9yoGwW3uRzzWxlrAtbP2UbXnYq1yyVrisuBahI_hjKWnf3TUd7Aw6F7mIiISeHHrR0TzBeRpNl3I7wq3dISNxzbANE0GYIxbGWyOS_866SkonmDLDSXC3dlFt9UBujFcP6HzfxvOGcpB6KwocqTWyUFoT9gPM2wgbcLD6sBw_ZL_ypx8qE5sBT_LOOJ0HL-Dua0SWiaJhW8ujnAfJuUnPJW3Q7BL6BpLXwUklRI3byjdsKJbQA38hfxPkuNRA0sL8-FPmN7VdG6bJZVyvmDDvpJJqjojwEiUfjULDKLgu4elz-e9SM4WV6CPkL0oDFEX2r1ud70ykE_Slk2W28Sg4gx8twqBZPvNRb1W3BYB8-bhT4_eLfv5dE_mr7lgr_T86snAmBXJGSn-swGIFbcNnMCjM57XLTwAqFiz8V7ECQZ2RVkkMbKqUlBX8fgiOZQK5r2be6iC9PKBjuH2PHRt4llcrH4dnowjl2DXbW-DTmPUJ_3aONUITeA4xZ0tZKUHMG38ycSOWT2Tkd0n4TwYUpTojxALWyEbrb-vxV7mUW7LBNFYG-LYZd5CBP7HLp_5lg0AHSzZGV62_AK9XT1YzZFoH4mVtX-fQK__RLAr-OasSM5O8zXgi8oBYYGLc0j2mTTlvq4703-6lT1z3Nnq0zCGXQfYwqifJN6VmCdeFMqwwi0w7WvNOsaXYOV6jyrXTpEhikva-idNjC04FWaca15ALAyJ0i9NJDQ2RVUMZXAJzbHuv0oLC7MLSd09P0DAF9Tm8faS_xYmxOo1bJea0Wwx5qtz2kGZaYf45sua0nZqwkUrjJd1LF3D-3owiMfvzrk2cBr9FhDK-hokwOFNsHD93JBaSj9GjIvr3sZ3jLIlJLvAmu8QezthylbP9250cCkFlfcpZGF-mtL5ErHsF2933wYet14LrNCQs4HvucPjNEij87JqShT7qwrVNLpzAvSM0JV8rnlcm5PD951T_mjQfqOZUmhpUFwu9TF7AFHr6hgrnjhQRjm7El73iq754ZJm92EsJE4zrXNC1RHCw8_wsUk5vEEstccpPUu3moiwC8BPAvy3Ijrs33dQgpw-Q1nDfa_p-qrRI5r5eNRF4zx3YPw-egLVATpOpnz3Q9uL07_maf00BgSbrOZkX1S24GcdPSdhSTeDpVskHojxzGXWpKU7TcYt_O367UhtijJW6gp1ZpbXRC5nLR4gYjIYa0Dgo39PcKwWbQnYpoklChZlQhDrUSgg-1AhSey6sCFIjeOvfZk9NAOfh8pmMSQnuupzbBoQ3eLNLDFPTpjp_rM6LZQxktwlFMie2ne52EQZTGPJqonalsQCJIxc9xp3xI25flRckonVDJR12PbV_K0Ly69mh6OQvbax2j1oxxe8L4g1lpZVDt5vaxazOAcBtNIdWYSyl4LqcaJC26Fbl-MXSYPs22umfEbcBkTaydqD26_GnzI9Lxeluh_vCtTWZXPGy9pdSSCpwCK6PlVmY_ePfZrak8Sjklp6FAOS6BpcFI13wj9HyEPVcBzfArTXgB67WlpAzIDQyK5qx9k76NSz7qDRnPWQPOy1-PXp85wv7y_QJFwAOnlK6wStrBWTOyVHI_xGTq1pULNSrfFSykABInBiQZTHBEv_jlIBa1ZTDSTSqhC8wqVSS2RpR1cy_gP6vqh_RTIPPQnyg429tNscymEcoxNB6b7y0H0bZagHth8R8unA_SnT7SOoFWTM9iMF6mIbKUXdXoCWpVsxvydj1mWbQtgOiSlCpgpgpiNqp3S4mWo559q-ewLu9P7lWUfoRVHhI5y8y_HimlAfeCfwN6r--U6FpRYrtI8rWH2wFSv9N9AojAPqAP_tTx866dHpoyhM0FyEPtWx0gKCJl2_j9FfeN4RmeW-plIoMkGVyuNMkANC1O0aOtGiis7gS6ESTFWe_PHq7gRk2RIxvIAVU-T_Ic8XIgrFRYiS1KcX55A9mz9s0pgBpbUVKR9WDnB-ssZnNvk-xie-0dOJdnzLAO_5my-nwixnc1ibAYuqSUdCseAaRPhdz_a-1NDbN_SauBePpxuHiy7mono6zgPRwDgK2YRtOFwsTrLZ7deO0bYFneXKnlYd9bbmgl8lbOOnAKnw_nB-MD5rC7JrJ-JpeT1Gxaw1m3V3C-C2xphyTgsZE-gfqe2-e86osAFe7eyYv7RPRad1w9QQE29kT2yUeqgcTiLT5eHoZ-b0SpHcdQ6QcUExnS6vhV3rR9DvJaIVFFL3seAATvxyAoYdIHqCShJMvhyBQOb4lyyaKpX-wnH5H94bVZp8fcG5COZ3Wok9WuGKj9Kl-X40YhJ17IRvhRJA2UJLJIawvOhKaaBGcZHQVMMOhHrtEKn5JX9XvTaltMjnxhTHOFiKxzDdA23_njmN3-CuNZ50g7jtUS_oNHDLtI6RNaK8rkEAEGDdryqijWfoS-UqXtDV95yx871CiKIxfyDBW7e2GeTQa5ScOT5oE5HXA_lHJ4kGEMOavaheYk9dqvmXQ-5SfDFe9PThaTWRzN1TQ143HL4DPrAf152KwYnNACjXFUW4N57I0DQckklDJv7n2BJv-Opc8M_VJFO5_6bD9_PZDyWUnP3tFWa-YsZ2a3GuAfH3cQZ1DHAFT2mqTLGKuWNOgw7mCqBued48XKjYdpNpaT98eU_iJ3X5x9U36hFbfAWD_eTvhL1wb7ynD-y5rGfw5cGJXM4_OlMO1X1vf7lIciE2Crdh16bA2xkTCHTI8lw8rlc2h0vVZMGJsqirxyAogb8yTctZGvOSAeWBkoN56kq64YhYtl4yyGPVU5GoccXhv-fhuBMRAJERFXT5C8O7IluIBJQBCVOvs2jF31SyNCfafEo9Ehwads3Jy0f2SQtEn6KkkDGHMIMeNBoJdHHSve_b_T-LGaEN1gjyZ12P-BsgyvqvcGNP_jWYFXIXzKvc41pa3IIQQGceRC99TDyCodnm6PLJKQHrTUZ79UpqK0REQ_8fo-TX2_WeHHINqO_N5ou7b9NT80dBi8rHY780qN0VkbpvsunVOKN4s8sYoMJS3z25YSFt_2KvKxJDOHxo0scbCuYyOzmS13Pe_yPIqU2gFSZKu9YMv0oSupiGf0P8IsxJD53on7e9GVyISJ49ULmsF7EkDt6_Z36fdpFYMpiCXg7DBijKZTx-cLcmI5oWQN5gQObWGa4tqJ3bGoH-O6Z2mrsrnS2nx8iiQ__AYnmHB5JS3ulp6f2FOOxXyNlIepHyoX1lfpDWAWi4IUa0ZtQypHRdv0E2y-Jc-f97kmuFDPFLmLuEnCLKlyHLaUcifMtom_Flui1VBhJVwvDo6np1O-UxOxmHZWpFdoTUOye_I3KTubriz5pc26EJV2YPcGeSgoSjjqTNxfmQlMrBOrwumW_h_i-LIDu54-SEZPpB1HE9p93m7sC7ClRDLXUN5uetByGdjHHO2pexp2VVkamJNVf33txAbCIKNMPs0zIpR__GfAYJvhDKml6CWdviIBtkm9VBfE1hc9pjayKnIohcWwYE-y_9ZtIj42aDZlUsJ_ttBaYhgvKebJBLGmW8QNxgLj_XPXFutDRhc0eWON9URS5hmxbX4Xzc3zv4FcNphpVKMbqsrIESFmGJt7ZNOZakbMfcMTs3gqQcBpQDqvx_fCf9ey6EIzqTPugsT6WtdTJTfjok_Wtpa--PwVRzgeQB9X3wxHPZRTFkR_J-2p8CGbVy0AELgFjNbimnZLoX75ZKnZ_2SGkDPooEYlI9YjW8VMRRBjq-xMLQCwUPAbCtjgWweE0B3Z0LpXZoW2yqAtJdKIWMDFfVzIuHS9GOSfYR6sNve1O5QuIio0emSkp-0OdsjrHmnpk_MF__ELfUmCsLOwPEAQFhlgoa8L2ITIJMhxKJaGICWTT9vPqBg1l0nSUnbBkHYV2qMsvff_FONZHBEZVn4BO1JpjF-FGwaXiExvFEEmCXdkhi6aNdNj2ZWGa8ei8j00z6J904ugKBzB-qsp9zq24-XINA5yQiynUzPHe6BKBxGSrlHWq-o7WZ3amZuwk5zHq6zccBlF0mJ0LMGc8U-5s7j54i50VY0ks5XLw7tDmnsc615N_HSClGac7Btt9up6AY3dIIDl8DQyEBXEk1G8IFThxKW-Fw_v4FsbAU6oUl5LxyQy6Lji7tmB_Q9oX8z50JbQW4POIzbczLkDNr1aRx3TdleTzqtBjOn44kfG0OzwgoOmG8NY2-4pjnwJIT7_F1l-sJg6_n3-S-QSryafFXSWHHJB9UEdWSvRTE1JysBNFSTa7LeAW3-5yeTRlGELZJH7lc-snkpRr0DXyYyQJdSwPWAVLw3-Yqh0OTEcL36cA8CuiyLOf9l4FqUixqcgJpKTaAMwogp77NkFEujntvXSUcl8T8Ern9Dik4YXC4cPH8CCTO6HI8jangSYVkE8AF7jvDBd4MYYuwgIBmFkhvJcnsc9v3Rx-2CtpJMaaD6G6P5pSNGkigr6wdGIPKBE3jvRJ_XIrCI3XCCl6ViLQJtcX7X7AYwDyHhVeyLr0kdnRihkiwdVjVudvLfhBBQHeP5WYl9g05GoAGkL59j0kTCDIh10VBXH4fLogzYeql6wf9ZDVviDPpflThJxRfx2ewBytegEeul-yzMVhYqlr3KSUG1kliEEojT-jelIPVy5ka5_llwe3oIDqK0KPTy6oaMkAv4UV2Mwx8xHGenipxeCYBKsBgXZF3SsnKFLIe-7Acdmxe1PIrYaNiNIcdc3e1u221yZl-tWVwPwIdNDYmCz9qIaDVSeMuY2MqOKMuMye9KOy_rRqMgF9vs65dHlc5wsRCJVS9Ta077s7B4ifCaWDLcNqTUwZ1OAI_t9wwxPo6M6LrFdsWs53CWsO_YvhP_-OwkREiVCWU5pGg0p9VYotReMcoxu30Qn2dk6uLi7vC6c9_FHx_Cwnzm7UkutfZ5GAoPhOGTbcJVpzGVbXI46Y5frtfhVK4xXbV0qp-Bk_otKlL_Uj6VyU53SZaO_4LTSkLjV9Sg8jr8p4quy5QiLfz_xNt6gAogDdCZJsMptJBKO3oPMJYOnED2m4i46dOd01M0ythsRL1uyctgS4AAoYgaBBnBjBXk3Q7E-hDiCqChEIboJALUcvu282I71sgjvKwh8xkzHyYLcsVhjESyL9_RoaJzTGPwIU_Awm6YrPUNJ5KmvvH-8Ks12lDyapsxl18SP0CbolwamLt8Nfrsqlzsmt9xj5hZG6Nz9Jy1wow-R-KxTKp_OxOMkLHgQi2ltGfjExAz6gHUJ_eDlpOCLEz6WHYnGgXXBor7ElQcQO3muuE4d2LEiHkyPzbTCKE3BHVENfeNYc6B3UDo4uq5LC8J2kkw0Sr5L6mX5HmvR-8TAaCd8Va-X_UE9ePYiv9Uoj95W9Zbr3Mt5i-QnquwWI1diqp12WgwyCTSDPMckkIz0FcaG4CU6UXFROU52NNKgFVk_yJMbqKQapangtLOLOZJYFljm8yeQ4Ajnv8XWWCpc42-owFq2zwFeU7FyiOOdGfTI6X3qkwrEfZr3V9qhaqx5jyA0sjX5GQmUa58vdrJAcF-7DxNw65FPz3QKNeWHHpCJtTze4bWfnKtH5l6XHSW6-bnADsGFzn_i5OZxqzx52NG7KSC9tpa7AuNSYnJou6LnqRd7zaCO7L7K_bQZedLKPjzjR3EcD4_w0HdChoosDYoltVYOq8o6WHZh1yx_TEi6IFpav7qRLI5_nd8BIGUYK_mXZgYEEEiLLwZpQmk_705_wig9_MbOL4WPlLe-6so44LJ0w_-CY8UJSsIWFkVbGY3jIkBTcu095k0_DLfFTWMpa7DRL-v-IfA8vYEvbQQukAAcr2c_gpv58eIfLZOurR-IB1jyZrwh1QKybWGc56p5CbWevil4O42M20U80JILXN1E8XapCOKyZHkAj5UnzGulPclZK6sgw6_RIQnX8VdxOomLUKNEvB3rHSay30gyGycMX8f8AGLPAgFpZgt8Hp_gpaz-8rUPOAgA8G5ry-IWrUqYJE6GQV8NrW9kIJILhp589EdrvCLc3h_ZkMINRNIT58NQNihHjcALihdW5rRSL-8Ys17tSRbaghlNs_NYy_jb9zX9nu-z6NwXV_sCKLg3IivTcXA7mFED0lP289BmgbcjnobxzwL25LSJWm00YHr6NLcy2lJ1-gQCRmMdCc_7pxyQWNao9JdFy0NNEbgZumao5Ey3Sf6PuXo2OeHwQcbUfpFHJ0grYSKEt7Ti3F_m8lj8ruuzx7Vew3EBdcZqPv6hL1xrPxoBkYYQmZXRvQSd3CAAzd-oa5KXZEM9XtQkFGBqkBdYdaI0SsjKG6Zzg65Ku4n9Vun_1Os2KHZdEZ0BDyDGjRgkj2jAFiTg9dGtLmGIEf50bBAVrAgSfSPbH7LcVb2RrpaNQBSZcvhNTMgM1uAlUOboiHkTUvKsjlsJTQq6rBGkob_y9dK_RG4ol8KRkALVE7ZZlqivwBVaLc7RvGA7UL-lhLRhxurNt_S0xUle_ryjh73yHKl0XiRJVrsMlN3HezAc75SA4PDcwvHbYPU7iJVe22lOvPzXAjn7b-JPyuxPlU3EOci171SCUcz6I1yzxHycjYcpgOIApKfQsT8eWts9TECO1EhohTeEmYcNrFxy1MCKPNaw2sHqBxhgg20R32bqS_OfzZjioJuPC6ZZCAs95rsm-WjpB_pxPGhV7x8mYtfcZDJM9G0MyFJrrO0CiUC51gDxEbl8EVxrwCxrph-0lYi2qCUikGVsDa5CGpS7BqKnM6xhutNTCEM1pzfbaxZCNAx3DRzE5CK1u9hRSko1gCdUq-RUPcLGpGyJPNnigZ1jJArxiK8npK88ajIG_qpDe2vzriXzcEM-CGxLASgPf-GynlPk5_gKOjwMWRIxIJmtzVy1kjw3reBeGfIwbu1YALoR7veLKSVfHHukn6AYRd6XgdhZ66EHkg-qHS5vxwCMrpwTLkWx5JRRR_qAd9E_2OOPsGx3Vkyz--S9vlEWOXZJr6Q0gP3GfF69kwec6ycd_DClej3rDl4CtFr1REUDDNB-BSdzrFMtPlySZaue8RUiPcHyb7leqILAsLZNRd19181lLfDDLK1W2NOi6vrYpNZ5ak22ymnEejrBIM75kdye2ZqNEKAvnbpgcCKhG5q1Dp-fnT8PubAEXjAPa4jsVow-uIWt_VHNvSufFJktOQFHDlXFCvNmOdMj160bCrbrassJN2InWzbXANyuEZNiTVMgJSTDzvlwL1m8CCSEogO7o7zPMgNq3G1Oim-2qHR4nW6qcb-shYAKz7tYeY2OdfL5CF-hvZGMwQTHly1CR_uFBl9J0ZTEqhNeVH2xsNUKCdB_X01P9UIlJNHRKmUKZxRR9o920gCo9WDA5VNd_fRYcFd3BDMpXUhdRLLieyr5RDgSVclMUcixALzeKGU-9Oi9anpJfl6F4-Iv_d8Woio5llenQAc7zbhI3NMDW36ULuieh6mj-3D2t9CyiXmQbI_U3bOlWxA1pXKwxSQCevmb8s-1SVMTwmgZ8t8xOExakzAa6oJ5MKNRaKZj6FjN_y_-JbJgY0G_Tud17NGqnyAbRt0eN4sn2qAeiOtpFjUoFV--8z3TITEtP6-BcRPJezo0rXEne4w2y3n_N4AbdY6cl_fxVpu1MEC5Tl5a46RXdg7YMYHL10yc1mJbVF8XiKY-lonsFNNOI-rKXskWee196rseaBQi5k5wv-uiTIsne53gxo4eyjDqZ_8ELoLEiDrNcgjaDjs7I6-9hLSy0_SDgQ2jBU1D_SWLh2L12wcxddHumEXPJLRVkDbexE6YmGlMhq-Jtk-lbLoNYXOIaU_inVjHGK9_jHxyBbM5_4Mz5ScsA_klT4LzlzOaidpuspIHh0OSlB-OXwdnNSz1gbfXZSOrRVaijUtrkfee6xNgdN-C4rQ6_J9K-l35DJeC2YKsf5aj1i3UG2NN9BKDBeCWSL_2TIbW14bi6DKbGu2Np8tqInRBD2eBpgelygfkZuC0lP-WNzhMCNdcy9UNlvkwKJPCL0cXKaDKW-sFzlr4Y5toHxECkx81ppMwFqJ0PEMYtKLR0-83p-lf3u1mo4HIUNy9GxiOEyQ0V9Bcmdn3hNbuEsOCmBUug_ttmyhoQESgFEu0cqoJTfb3EeUiRFzm_i_wb4KbbkmDhgWZXkpwLmed_vePohe9-nouYGKh07WCJjX_0p5L1FoHGeEORr2Eq4hpZ_WL3PFMYYjvZLx93WkfKSIIkzZhx7WHjJgEVcLwxUhiHiq15t7zQpH38md0wHoqIrQest3yY0rhNCiY2_gV5kRO66V9ZDgwxwt8Ur1zz24LzJHAMIScZIZwaubuFmPpot9ZHQuLTMAF2hFVh9FxfMwfqsIVeJPJGKK2D-QXM8qmiy5CU9RnvAUkuG8LTDBmj2BDSn5T_cx4pNKSFOFwaP64RX30NRfIbxXiU7QtIbb8hJ8OSYOKptZ4634VGjTDL3pc7hyCjceP2b01Mfgy0PnDioLbrtgRwbGRtcNsTZujPLP_4-lJHHoalW8wbJmlnjx1AZdi1pma2Hue86MqOEaUQtg7hEij24XnHVvRtZWqO5CRm-p0CqZzlQpLw0TNiHYaNuWkvJGDX7QbGRzXiikwshcDODO4PBIark6xLXPfdr9N9jGOmr1UYRxuCUs5MDY2TozuDKvL5vfp8XvkKTpHdm5IErv-FaNvM4btkOMkheZljrfPYA3FurII7oLWpntLDQ5HuCaRK6KtK8nN8o4FOtRWjdubNL5PVw6zGl1wv51vMn17kpo_GyjrrFlBg2W8nSmvO9S32tC7IOUqErYZdXE9Qj1Yfs-X7c0ugpXKPSqeMl6Ac8yxliA0nBqq6GehbXb7TXXiUWC5fBowJhbhplq-6LbcWts_SG6x-hzj6UYAtVXGyC0nQ62LFN0Yg28bZr7_sw1iqoPi0j0NqTVIl3f9KLEJ0x-Y3Q-MJAUuXmpZ8zCpEM19szVbmCK-4t4ik0PDtufKnQJ4L167HeH7s4Isu1dFGAYg0JW_Xcq5BVKbQ826D-NOOr9IQlOVK5Rb4PZD34CyNjyJm4e3O8SZtmVYMRhMartDcB-LSho8L9XsqtwgR4kXh6Uhy-q_IqTVwKknIDlLW6mEnXa0aAVWmPgM-dXMqUkZJvEdKRXJaUV2lTOEUoehmWp9WEcXzo3oENPzjtKyjgRq2nXG9ypJBiP75QdmzHPii1M9Y71RxGTZlyBIHDWRVdceJ6JvDzCTnYtVMYYCyfRKYtFjMRhQBZ1KFJF9BZFEdBtjOMixjKx3aPLP7LwQ5Ft2tfybrhn2yVGttxE2TNRJ-8pobeCHQ6c-ZUQ5viMcBvvFKrFIjSzbyLuOeIl6jMyH1qi9_ZaT62tltvdiv70hZSyGFZR7iCkJjmx8Rmm1IqQCRdJm__mzKcEVTeimUkuXU3on57VB1y3NBuGbY4G9Y2Nujo3u5HZKf68xm6f9V9Lt1CcL3qywM3NrZs1Tu9v-Z0uVICxwRI6IVfMnbeA4kNDWEmE45zytKogJnbWqOZmuqhaukmtGfUuWTxm9Ur1GKJxljGOAAsqvMVNP6cZBUpI0s8XYKxyuf21_W1lfMcTJiAM1n0WfCsAKD3acT41nFMK3fy_LxyAEH_Mm29iKy9L2FfnM3B6pztNSawApmsVBuUxALpaJlCi5gQuqeDVyEqB6dkKuGxMKehKDUtokQ9m8Rsu9TeT4IFXQ4Xk4UVxyH1TKt0G3hhhkcf-36wlqoiDQ89-zRgfjTliXN4qUtn0KBamgN5_FMavSwhIVDn0NNuO1V03nR6qPiPmlEdeNTYh-p_DGpAg6BxDNDkdBK7rpOTs7WvxmsZ21O_vHg4fM4gZsZtXYFewHXN2ttJsHfvh5TCzv1Rg27ZiiQNIzQrOL6csjXnniQbRItcZWGHn8Q_wgaRdtYZ4p_JMSsIIr7xEvNpNaNj_c9Xy2EyDsCgCc0cSF18lIL3U1MkVAzlj_JPGbJEe9qQpGXfqgwZRNgZCv0Xm1vrU88g7cKl3CkpVAy6wwzTfYpWED2s8PohzNX6f3U7eGpb5nVNhkx4Wv0I9PQgqtKmG1Vv4BvZuRHT39b4ZV_yqsI4tCb__blsnUhEf5unnYMmkx40EA_pyvwEVpzti-asSuxK1Ret68QUGa6m9v2DlepivUkYIkVw_qX1QFGkaQM6OzjjwX8G5I6Sd6rVLfxlLwMCPLeTkz8RwqIm8WY8L32b83irVl84WxsUffyZGNF1RebEolXqEA8MNSxVhwYCMWD_Iy73PiXLo1EqbKELNEi2WUufIQOX2W7iaH6ou-9zMGy1CfFvOx96wRi49hTd-YoXekGagN2pjrwSisRc-iot_-BHIIVh6IPD66EyMghbvBihcGz9P0lFHuso3WgiSYRPC-r30ZbhO1BxytZtPGAo5tcoU1268Vcsl9DnxLqLxOeVOPuBCR4lEMAH32Jgo_C1Nue_nGJ5LbzGs6U6OmBg7qIIzE32CGOykKxxZ2pOan3G6SGBzldQcICRzFYa8wrN7X0qq0FE0tvKgNMqRTTqeZzYPjqb4QI3GNdhMfM4_v-h_jO5W6l12KuAyuxoCmqYxcPiLqDQpuBC4Am5nE1vbbGFBQtI-NFLclzjNzS5L2aKiUX96xpXRW-ab5Pos8Tq1onjKLzx4Jl9OvQ2VtVbvdFF2eK5YY5ybgXwHq4zXk50fU2Kuh9aaGCMHSkjr3OsnPq3DGb3mWNcH0UMMjGCe49HQYNGTbpH7pwIOqiTnMMDrtDUQ7L3wl5iisgdcMZpf-nxWC8DF5NRZ4iGhMOi8AuAS0JaRRAinUKYtyUUNwrvQKQf48hfC4ppITprAqRLWCiFFANo3zUxTIcMFFdlvS3c-op_p5xu84s1U8WgXtO3g619v-MhOL1__DHqJkPfalXyck8deK_DOOJRGoysVjMVaConv5o5YD6ChQQZtB0pH43xcSFeN81Yuc9EVo24cbdpqVGEy6MCjCpQYzwZ40losjDln88tAm75wmHa1BPUeTNuHhNzRPDyq0sUGzD6JQRv2dyrr2dhuwdmFW2qj5fS7AK8rQNoBI7IImi78tjOCG_By12PR_zCXH4x9-UKuU3C_7ZvqG1dl-FmGfjUCSwQ4D59oOMdygOPp8zBV93RC3TPTSV1I7zjuGwaj6Bcs0VzmCkz1X1e_oXYltncpjxexuSFWEbc_dBRxEZxx5Zzluypg72qSvQkCJNL5EX90P4fy68hjdNxIIO4CSNEAEysQCWHA44jR2Hz7iSgBrr6HZrJLQB6zfLv2dHLK6SaI4G78LgoPSWzj6tW1KzKcolDSlafIMjIMp3Pv2gjvJLqKEwvDO8BrychnjfqRdnttsVJ3_wb0IF4cyqwatO1gZvmSSLO3alwwO7OdlsEYRwguCUucTk2LdkyjWoCKPxirelb6rzgvCmB4aK3ow1Fb6oxxfCq57XvXZ926GzLvDmNAvRyfQwrURL4vPUGIVsIdZlZdQ2Uf5xk-LOJGRdV8YfCin3e0u7L_nikEmRA6JighAApH_mwcXFUoHNi1Y9GN-20szYeFetA0oe1XBBj_AzcujKGHgCR6l4gIjGpKrdp5oSuZmUZWphC3WNYnVqn4h3zPLxHZquzm8yc1iEkonlM_RupOlxeF4Ia33Ps0iFzoYlhR-qLpWGDPTljcr6Gpe6vJ1_4A8RzLmon6hlkCFO_IQIbfKYdNkyyyAtvA-RU3QUA1XtFWsEHGCj8dn2cBuloB0i48MKig6NKGTXKZvPFPp5nNVASXVKrYsnPYes-xbI49l_poZQPU1tE28xR7V51MKSA_2d0uI-3cnBjJ1HAOFsP4Lv3qB6vU62Kl2FK_w_oQ55qy0LS4eJbKsbS9XYlpS7-J9Dkpmwu6XSt_q-oEfmTanDoznQohJfX_qdNNwOh_vgdovzKjmvQfLclTIZqkYtFFWLTdriZtvqY0NeCodn60JqvrNKze0AwARyCICp0AwVla6hIj0gU1y5H7Kto108J-4FA57H7PTj2SBKzQVdRABK4GKZzEYYygZkPo5LztKyLugf77EPXW7TR0WmF_K_mb_DEN-71taNV9V7qf2zofFO9R11jzQQ_FgfdDwoEfh9vwZ6J2MgB3irSIYB7cp8Kf4Qb3iJ4gXynqRqQ7s_GaY6rEQTS6xRXpMBLLB1HTX97u6NZqDsSqlIt9CUIuZXRDPclML5rZdMebRFdTKIH3MvItQnvq9Z186RcXEYT9faI3N5KPzKUfoDL_ZsNbLIQG1BjRi-kx9NIJlHZdtGLZF6C__j5umzNUUrFuMqe8xVhj4qkZJMM4mm9ZOySSZKgc9SRt9d_MAQudeoryMfN4kaAoQcNLEi-06z_7DcWTy_bG6-goqTwRvsncrb0J6syVG94KICWwy-AFJOtB7P9VCfZDXsb7yCHu3oWEO7Iyem9Hek5qAmhZlOthbBnvzoL1ICuUXzufg3jnn9H6VfC88Du1j2P2q31L0AV-v-MA95jVSQ9pBbZ8zzbohUWMUdYMlJukqYwOx069eVCOKYYRaaWwFCqB6sJtOllfuSNPsYPWuW6qU-KPm-AnXCQMfNwroXwTilQZ4MgvHEBtF4b0HS8LGHtzPCVb4TbvFYi7hAAKXinxlzs5E6WWkK-7WyNDgdT3rLz2MY9vnwpIc3pam9KyWgR8bS3kkAM7FBYL8rFgRoEdBLf2UV2Zepjr-kAtvG9Oysxyd68DJRiM2WQQj0PHJDgfKkSD0vcc6k591FcgMVUaCtaQDu2Ny1z-wGNEfaPcnQ1vrcSdgsF4wul_gPVsN0Tzy9h-hdERJY1K2boLXqe6WiffIB4heIHrodGEQRcvw18uzVSe9lg8MiDpkQMyBiVzCSm6HtECeMxCuGVQrQVx5P-sGcXUZEbpblYcGZsu6WqmdGHtrr-hgbZis_9Z386NVjeJariZX-Ubjsb3KBo10qBkKp6mdhB7S9U9gdhMp14FMjRxOs8NVH2Ni9D8tPGtTjliJ8Aav42oX3B1UUGufk8KqW53dvbdgv2RoyHbAaKL4oByCm58SZVv-_GJAK5uAgj80A408OcKEknBZmXlPwDApfe3n8ptbZijokM5-7_jRtqFFZQ7R3oA3G-5oV5MFKWFWkTZtXTcyfHDcIH_qqiulSzAYagsBz2mfZ0dyXPWZgu5IbVRE7byro7DLQd9E-LvE-nELl6S4Wp2Wh4kH3BD0YCzVXT7pj-hV66E0s5zHBtZcP0l-EDYSCpjTIsadr7UqmNnEGdvxsSM2E1C2tCphI_B5zhPCIDrxWPPRb7FKvHa4EPuf2nGMZYRN1_aYdcKkJd2iB-8YIl_evue9krcm0g7JdOxo9CYHjL-uuec9Px2V0voJiHH4mf2RFpqOmg6NtHI_YtNEMiw9dSsI33LTua69-XKehas1HXup8BNs-8ac03M8JED8t7i3Jhzo-V7jeyR40_oE2E8Jh3begs9hjt9DD21LWgFgDZkCOv0mQ8Uwk5-j3qTd6lsBSB9ndn_hndo_z21p39DhVzXXyBYyvdcAUzGlwsNxwbWPKsR2OJNcDx5SRp3U2giLsTLbSXYyuOQZuFxTXHtrFVKXnVnJxgELmoG-oA-IwKSNdZ9hJakTRWCTyjXh1sNjOMhB4Bj1ExisBeLMEcvpc3yuihUTkU0r8cDIKOmRIpUPmCB0e2Ao9_RQuwqXFZmX8Zbr8YgEgiUuhxsvvaun6Fidhcsp20WZxNqRp9-RycbO3QqIxVUIEJACN1dW9eFOL1P6M-EENPVMmIkwlPYeNzjMyk7sg8H26gzjQb_9iwWgHH4NV-GMw6qzfKiqhDuq-VktcwYViw1KiUMQUGpA3GSDYBnNBVm6PeTlZKKeZZ0FgZOx0gdzvTHmZ4IqqoAY466Tpc-4-ucH281LlHMzAVK4JPKvYYAEfwyGcHeOT_CR3NbiWOffvcn7F4nZQsQ09H1_mRpM8Is5R1tSIgLN2Yh7KCiuqDhafFKLaIwCpIMuwPS_4gykVpWM4tCAP61N_AFic64AYw4spsCWwUdfS81aFuE_gzqgwQzwzunw2P-g2iBqiBMRncbn06oWQ2AwdgNJpB4YJ6KYYi2yjZ82fEg4Gd2DUxU_TTl5iY1bmJcjdsk_AEOfkYYGVc6QKG3UvWQ92F12OtLJTC6_aHpZzTjCbGEeZs0H0mTdoJCtTXwuUD5yTGePFNnMBITUv7WFKwQzU0_tCIKPVkhBGXb31yurNVo5HPMEiA_iz7LSkanzLV_iOEnrfjgDHuWr82vbjJgZxTRcLOgh0mnDyG7XkSRi5hdTRmFXSNIaAypy-1B4UB61EyZseUqEKSOzL3nIrz_ZfHLN0JpmZjV3G8-pmy5iEKeUpojdlogoEGB2mxJ1DMiLNu4Wq7EP1I4ve8g9Wv13HmL0mHxErJJHQ1R_2d39vdp4HWZNoh4cksYqcXMZgbKhY5QXjAbc8yeQN7zf_9Voi4gg-dw8UDpBEl9-V-8Ra_BDdX-AiOtN-zW3zmRynP9WwguL9rKdJ08ywLnM9naFW-jDsDgXHGlqz2K-xI6y_WElNVfjsvzjB69eIdU9c-k4uLjvYxV028OET7y5z4kvmatU40C9qu34GK5_Eyy8I8ZFK5k_0BcQPFeW9NFDoR28sX2JQ4ArCWED_0swEi5XLeMQZAoxz3YVkVSUSLFvv6njFt_Pbtz1utW-5avdipZcZljT7evlON90enzfL4kzV2G0bFl0wxjUDwcL-hzA1KCYz90kEqoUow9yMBYFxFZxOA-PqFNA8aO1fGdf-VZAuzec6Z-4ND9zkEQK3VS8s03LjSSmvsTb2czvjH1Hgkall5WeAr6pXr4bJ3mnhqoloBBMyyHOS1PK7M0uIHmze-VKFv4aeJ9YzYsavPpGqTQhP_aVWmB7icZObVuAVhBZ7gZ2WCQtuhjicrJg_lBzTtwy3xLZGSlL0T61JXeoKUEGfM97ZJNe-hKUuwJn6mowFQUpv703F9_N2Cd6wgiIjcdC04WguQJAPvcajUg8yvdeswnChXQWyORtngBuPtnTDbqwNg6Ii0B8uD5ajKm54h8zmXJFIpLUaail98baqhMeqT8sObcWENfPE9wckr6BygI_k8KblbTsCvPcwP-jc9QGzWOstEOsN53vXystuTS69B55Ci8nCneCwLlX2Vwv0LmhJQFT6nDNUb7Xo_jBPSQzWmrtAnhPbGfXvS_AXXMha7d09Bbj6Hvao0nOZ-iEeQW5-FHeum4M8ok0M64_4K90tyNXVxHU9BH2z_hTrYIPqnd9j4JTFjbhsKreTaYwNWruTFKGGOFZAGiGmakteitBPNAkehNL8N5aoP9ByvbUDWZV3HAyRT52TvItXYDaHo2ONKJxNq2v1RkfvRxkML5bFdsqj091omRCCsKqyaA8hT59jWtkUuvBhW_majfY5Y-fjekFkD1MQiWwIQEhDcnhE5_EOXcnK-xhnochU6uA1k6WPPkiNVUBns-M8F46sGEdQMiP-4idUukwn5eYueUr9TEkAIusYT7xxnUkqmAwgDwNx4m-OFjko57D4DGO3p-VClmViEIWOkVwKb0uYuSboW_FmzMKIjti77GsipmoAWCyHu-4NCYc61jsYcsHdW1qlaaqOS1Ta56nOUdI3fFb3fY1W4rDQvwgZBRlOL48qKJ8WGPbSC52hoR-JxILATmXkHoqX0zJiLZekjT4uuxhzJPZuIODzKZSfEGJIwT5NEYCdvYFzEnWQ_y_Gjg49s9I9NTz0-L4X5YY8iZFQqUqKPes7A9COLMLNyy6DSH_-iSNQ_zSswN6cBdewdbQv1kOcI-LMxwSL_QJ1tEbNztrb00dxuzDBKFTNsnQleh9hHQ9J6_Hj1r4c5zuFYTH_rHfGMFzaVVrl7CHe4QD9UPEovuKzD0z0vS5fAg7sSi8O5Asux8NNaN-mISiETLbL0QaMK0MjyvHCrjw6t2ZRNEWGEEw-I_sRRwDchnj-FwwBgDQAC9Uep4wyt3cMnmSmJ4pMNjcz5TOcGqbIShN396RqoTjKFvBpCwiHAGX5qlgKXec4mhpt6_xyxJ9CxlafJrsssks15W-NUj-Ey0H55ahHRlVAvtv1U4JCHpM7DEwAfxF6Ry1zJFk7kmP-vQrX2CN-yDdzRTW2J71anwAO2HdJnGZBI-wfctCWE5kjfMYR91hbnjMWBrfbAgg7aPzBPv524MnkPU9WdHa7etQajt5yAWznYFIGEjr66__-1NS_cbCG7HFjEco-G55k_bzkldpUpquhnArdvMiMZLT8q1kfH4E76kqvc4uBqGyUlWftj5yq2V36HhWCushC3TOYNT-WGI_b_bhCGfCRoLSSoJyByJr-x325ZrsNn66eGTJXF_I5ExT6AU-BuVhsQ-c0-272lAEeh0CO-BDBw-uNxRYPPhhPv7629mw0OaYV_be-itS1ab3TQxxwjV7jE7SBaYaCbJutqkJb5R8mpIf9By4NWKTbLFN8Z9f28O6hO_vhrTchsaAPK-8w1e4VOviMNF7CMN1il62NoVQIn5UkNjQ-jaV5K2h9VFl8d5K0oTzrr3PVrJ47V8AS_J2QAGHDIKIB3PrzXkBmofyS8FYipODWWszXnFvM_MMkY9KvmttJo58tJ5N7uTqXcp6xhtv-qnKVNxGWhIJkpuC4bwl7nkLRUlPSB4qmAg4a3uL8l1jUK9PX3ddTvppIWwkxx_lCVFefRc7d4NU8i8iFTJB1MfEtBuk9VbTc4AqBeLmJjz2TqdK3DgsSCWQZmDlhvBiqRkGpr4Zg50UxOMyVnAbg4NI3VarRlwoTZJai-aZXKhqKbSRh6pO3RtxtEw7YV6G93vpVb0EZick1acXXeBC3sv45oKOmcgjUCTojyN2QSXLst-DO9DVPvgagy7oY2-yuhLpT_cTYBsRiSzV3HKYz1A6gLICHsL0H8WpnN0na8fNwn0wgrmS6I4-tH6njUuX_v_OAApAN103gsoJchyEsanu3cKasJCSklrcJ11uI6fF-eeLLkqxHWz-8ua5eZh75zQbd1fTOAms1uzdX9pdvQy13KxPjiuQF4WPVUBzeUTREfp8_cdlkUlAYDLLgXoGB56n3TqdBWGAOY34RB399H9AABfohiDcWDI4h3V1TmNpi7CDGD4q_WZ5jqSd_exEe7ijdNdDzoi5F3FfIbUwQ3Sle933eNS8BSQnHFdJJ-vvgGbj1qIXmOYsAEVb2Pyovv1TJFve1Ge-vjNnFODA077pTi3uHlKnEjx0I71HC-fBRswUtVQ7M3caCmYdQMBnjNr58vPVVj9-y4_w5fjL2fFeEUWvyhR6TtESKkJ2b4M93Hg4vAM7zgzKKFAwQE6hxQFnFlasUfGdYgdyQBVC5pPZDRY_5Zo97AI01bIVngcnVsW2VuULhhf4NXH2_kw9KDKdSYYpfIgrtCm_bD1GhQAqtUsB0oX3g5QSUAv4rbJTac0r7YraW596c_M200gLradke0yiLjcRYvRMtuvinVxglx0JbNVUbPOYlXEBX9XWRifhMR1GW_M_O4lNWtH_bpKicXF9TAcDgI7Q82oVCejlE0m3rERQtNEyQ9vLENhrnNC4Eb4vmxkGnxiYwdpHvMIMdUIoMyPAN80Ld3prK3Hmwb515x1JRvvMm6FI7BYSt15qmkU-PYZkiClVkbAnN5fb1JmfGHoGrXfmUHQZOXhI6Q66H5NdWAPQkknF-_Xcs8nzR4XRWPYyMcBrp9Vy55i9Lc9NUk7WLryocst84JIvnc53b9UaS-Owq3oSTUQdPxlRsHEmiJBrJaRau8akI_xcd8Ceh4HwZRUszp9xeUKleHeZ9W-iS7RWiTRax2pT7JcbKbH01UjWkoi6z3eo9hs-ehTMvYJ4_GxdMCUHmoexnlMh0ddkSj5D1eyln2P0PvVd-8ZcIOQwFu7aC4Lpiomlt3sYRAuY3hxr4bc4UkefA0qjQ4xXQFQIx6u6IS9BFGrWYigokcOEzdl56JNrv0YVWdKe6uNXuvYXWJO4tPLWGG0_e-Dqf7xc9T-BwJUyFFnpgGsfMFoQ049ItvxXZEYeTT4cqB6ZDotjcZa9vAiNqyJBbPh8Vmy58hm3AZARCPHDScFXXpnH9FysJGTWkapNTXq1RIpN14pOq6S3eD-kzyUOf_C_nMkTFv6V26gKB2uQ3nODfCkr8YbMTc9uXiBTQ8-JlxJt3_7qyTHIK5h85V8zVScCCBYOrmrf9eNlTU07oxH28-AUm-7sMOC8lU3c1dgXnrAlogtQ9FY9L6-LhzdqcwQNOVAXrXYl_aiE9zzI39gSPeix028rrWoBZLMztF8Sui--RkAWQZzGNGaZskQfDOUFiWWRIxejJN1YoNOQ1CodxAfvAzcVEUV8jWW3_RapjRNJsIT49dZnPPQ3JQ0QQNiEPkL69gkzfVWbVskVJcZRKdNMK-7FMA2RtDYSh2mYEEhLVBnkYhjhoHAlD9USQd0IUJQ9EsNqYg9RxLedLHLCyz0b1aNFOlvKSJvZue4yyDjBU518BdQRpVBBNdy1K9Kt-Z5RA_aCSlWZdPTFkbQ6V8FXp8mxFbv3Eb3BN4IFSm_uqdw60XU14Eb2jo5zQk9vofPeRwp4fbm1eE-Zs2Up-6KtnZepcfEH71yXmEBGAxkCyMKqU-9UxOhv0st66x_pYYEVHDbU-9KgszY-_90EkETSrQsv21Su_RHHTAEdbDLKp8ZP8lMMyLhsBzH0PeeDblHykLC_5YasJWXSRRXaxQ75Yj1iGi6ReQYrEDTTmTgGJBuGLzuyFttTQc1M3UMSAvaNH8iilRUNTGUuZiu_0EwrVRQ98mOUWELnX74SeAw6ylf3TMA2qPbFzuuyNl1Nhx5tbd0hlLcGl98Vy7bg0RnpP68D_CkAMmugRfSIfipYbiwAtwrkor-9XTRXzUBCviRtD5vJ5LQcoe0z3nlecWyzbucbZAKx9G8gh_qTiiDxYK3UoRhOm1VUUB-nrqldSOFeF7rKz8TkmD_fPJvEvDe1p57DJGu9dNwe2MqJ-MkUsRJVSvoPYLVn4FLg3mpXsRwkDMUSmucjWGkiRlDQAtox0e7L2eKCfUVWRSHu4kGS8RWa3SZ608RD6BC13yl2iTldD4j2Ca6vxY4Nf3mo9s9bSdjez4jI8HTa_67SkVBnCcmdxx15GKDCLuiSlbTfcBTPhrnvyTAjXQ2HdnAyV3qDpONzTmn9HHbrmyabCuUVDBniv7gnVgexj2wcJ0Af1c0cnZ6qBiyQr2yIADkBQ2oKhu95iXOmmauE6W2pjtMi2q2ioLPr00G6n9EPiBdtuuTUvVdrUTni7lJ4A_045gORMu_UrKLTdNZcd7-EH0eE_EhWSXb35buBgHgYPf0CX7GR618_dTGBBbD_gYlb740Wqk7s3AyuWO_SwfE2x9i49oUPvXAkyA2ax9mcnShJv3obu5Hdi3wMI1QGlx3noPVKQ-u5uKqFDCUUfhIcGeju0kC_fz45GTblIqCSy099KCjZTTGlziUCPQXnfxw7xPTgPvzkfT9kFKWTLTA10XMcQgU5-lhmbX9FbPCkToLHHWQkKwiF88NRd0I2bRKjnOwwZmHvEquEcQogv9THIQFfwfoSMkhbVFu9h2mWZzVTa9ezDzw0FPyTczzH3OkxmuFcujFCfiUR8GSSj__a8ieKKfVV7CZKtjqGDi2FRiBsV7dkKADdhpDfbEsBOphhKLV-NxduKVQv4s1KiX-lKJq3C2AvegSp2ucdkS5G39NW35Xw5YBUQlNCCmVj7bONXAHTjM6-DIdQNFwcELxrqwgZ1C8sM9aXQR1UcbARqtH8IvZvOc-V4CJrpLkb_XGcsoo4C4CucnsPuy2gNviSgWB22uddXSyIM_GDMnJ81xw1ActDBDrM6R8tCWoWbtTK0QEEYF9-0V3YUhD-KrWfjv6G2f_Xl6DcLhT5yCiSqaUpkdCwHv-bgyIYMHPyLTiEn8MLosRRuGFwX0PBT3M7gvjevnuBKu8IB183DRbzy1fxNjAz-eiM1rtKGhPiVANZ_LJzMXHkgYwpLTq9jmuKm3bdjouZorhr82-jKyBoS0daaziV2aBTpo2hzXxigy3OV0JKSD6UeiaYsaeVWfIuv7tjxVMenCREsfTnch5uVuqDPWqgi0298B3Q0XEkiRnmQ-z0kBrOYMyqVZCuOwTIhyVydjo9dWvjQp5hr60WN8nWQ6qnTQuDatYfDnPCtDPF6_1D8lSoIi25w-4at_x4SZ4v5SYVfGsyapj66M7hJcw4hrYtxwT8rNKrGTsF0BhqxnSJQE-yjYdjq45rf68GlL5cr4n7g5JVSlsBkIuQ83TdfDTMHOkLr6G3ArFNy2hFkF6i3pp7BwUPeMBk1W5vPMnzF-nh9ipC8Gz4fyTaur-GuX2aygh7gax7wLJGDDmeikqBSJ_SwBzSxAXiTvZ-8ebJi3sKujKSig9M9uMkYOR9e2L4kkmU3eVyNeTHNRSV90AmnXi278DYXm-1hQel3ztB2v8-aklpgVeQO94FFTkz4L6QC65OzwPS4WSQiaoV-e1dBIB_5HwW_gQLZFO1tu2ID8PnMIP2euktEtL29zT8jKD1tPx8kTRN3Bc8W0Ugk0-ExnmAUPumnk5Z5OvU9od2fIfCDiamYIrrplhVKFcNis_DoczYrexVI1NF_HKSyM6S33aMTZ1K-HKONk9ThUj-P5wpSRXur9HtaT_tdvdAoZ8fZPe6jOqJ5Ew8L0wnZALKjULAEdo3Fg2nP-mcNPBKJqL6jj2SX69GtRljoiu5DJR1Ql7kC27t4S0iRdgTyEdk5N5gpd9ZuPKCFQbPKwHKYWsQlEsfw2Zl3RT8oIVxpoM5TH6rbrUAvB5rHzLDR2feDjvLEcBXMHBulTb8BH4Hv4tZSQp93j_eVOtzuxQz9UMlbORN3NlLthIVK2rOC-zf80DSISR94RZ98XRAHrtW2CE1pU5z6Qmz2Qhlg1-BypYB7jU-sLKY_JA-yRi7Zcc-leocT9q8c_nMHHQ6puAJPlzjvoXLRrQkSHPiKIQypVqDpDYsxp2TRyEGRBLL_XDBsyu96HQd2zrBR6qGf7sr4qQ1Vf0Kdae4v2jAY8lt2Qs-tSkU8v_gdtS5S0SnD0J9b16hr76Y-QthhwNrTrruu5ZO1UwUHjVAIoHafWHqWW4uqEKkxoQgDx0R622A0_mteUL02hYk8_VlTsZt-UHrOPdpwzKNV4JAy2SwxrJgm6cAaCRqynMD3LUv7LPsO4bZ97P09tUsPPDY0pXHgDbdhIyNyDLTKbwc1rfr60P2d5Zf_gOiitejSdSlRPMSPdrVuJ7MU8T55fGZjJunE7c4asSzN-o6dzjuyCwbpBupDCQYJC_c32df5Lm5L762z8xc_Pm65RS7_ok0OGxefdXiF1FqN0j0rzFSQyKZHCghfZZh32-MCxBPTx44SwvBqA70F8o-RZ0Ptqj3uKQ0ZznA3zHRib-LmUDa_iwnnAGkTbZM_4LVTv3LqsPleoCOzkkajpKdAubu7kGMrSnzsbQbdMw3JbgCa2M6tRRM8Yj5mqFg09doSNYYa-GdrVgkPAURqHSw41jYZTXMUhuxysbRFyfLP-tcLiKcXpN87E7l4XTyh2bSosEYBgHMvCnbLNJSHtrakHs0eZOpp761gI6Skr46zm0_5TqSKtoDpMnTgZ_pFgeial-Qzvjn3nd9OxN91pBMDiTnVewU_Xhk2RmFk4i63lyYvG-RfAizSyaJfLVI7T6Z_oBRyqAxR2L8PKsbgZcMtvW37zkKHcfr9u_P2rgKYSsvqr7m5Y_sbkIeHjHmyjfUkm6K2EsuyvfTLW2T1EsqfphZch78O1V3icLT8eMumdZ-HtrW9CGUFAVmC3rnGNIneVYQMwWEr-AYqBMkGYfwHUV3FDtz3ABpLOmE0_eALC4tAPKbBgn8vOiWngO_OqbBD1wDXnqnRH9PuaKINsHwxutI2yAAaCb7d7COuzGjILwTOF5b9mXuUgf-vL5eb1qA6DM7NbNi0Em7LwiKEJu5Kvp0MzAR3bKsIPYLkCElGHlOIJxbKzou5HSUtfXxna6KtZ3u7H8qY4D9QBZ_xk2tPW7j04YcRfTMQIdYLWyb29A3TKvSN-hXBgFFc-am7xYp3timB7k6Xk82xk1x4vfOFCoL4EiTmT9GPYP4xD1gEFbAVQW7jiCbnVubEBPfFrAurn7k-0BtmzpeqvesGmlQSrMUDvb46b0ZKXQBsV938l6_S-KwIAGHol6MwfLDFhMnLoalvqR30yosvVQ768ikun4TH3SDS7nuBuZY7In6z-maUDVPzhQrFy9QT4SxHPPR28tPRgUDxqjroiWGVpnfE7iHoOHT5T0KqWqnlV4VnaVBYyvGb26PeO2YJriqb-LGDmGUci4f5w7TsivWOhG2fEAS1_CYkPExvAwhpdMNDOVECYXHytwxF0hkNAwj9-gjYbdoZakv5lRSvlKqeUBajTasrb93ARQSz20XWJipennwAglNGZ497v4o3t9i56uqkDQg5fm7-OxwUj1V-FNriNc3uO-7t3bXnZWV-YSziBm_H0PzQQ7SVwQfpoTn9RSsghAnudOVwyIqxv0X6S-gXvIiOCJiuulY7D5FqYpglgwYoHH10clnC-2OuNVeJJpip4343_5gKm55Dcivyd97htC_CKstzEpOzypP6Ert8DfCr8ATqVUpeZasvW2elwG4e3vebkhmU8lFgaAcNpu6LUtsERwFJRwHUIm4rIxyHoRocDoi0doNpBAfAi3qdcnCHVUccDM_ypPypL4Io3wMEVVeN_K5KesZu148rU2NlTp6qb-GbDF3fuY0BJtpWG6BBwZm4I0efUO1AWzbPDdKVIza9zLlHHXAlnhevQsOhcuLVXx-q8P0kknTn0p1dmYvbdeWqNNBKEUB-r5i638o90Ktpdxczb7WIh4my5kPBoyBBP8P2HfKrwjZub5f5SL-bkWLio-e8V2WT6kg22_a3uM3EeKEaW5d13HqZf9QmsjXArLkDwrQ9ug6kWTmElmV76maTpyUn-VFahFv1spwjPGlKRhVXxoR3u6YMrn0txMeB4jtqg9fu6Qt7eDehTV5l1E6UDX4gNCSoUvQzwbXUHNaJwsAJ6b4gyecGR7APKddZ7rTRtVWRE66FjimR9CZM_b8vy5tUuaxUgbgcKd7rBEU1jqsqdmVg6yM5n2G2W4D_qexHpbmYEekfwAuCFZL5MJ7Spjqop6L5wdwDpS6ywLD8CXLuA9HSSIC5L0mDJs5P3UO3q7dAhRcDDCdPuT4XTJERS8Xcfz8lW0dv8m6fkwFuZGRYg06ph5oiNx_CKQc5e-mn6zn0e4j1x2EJGMo4tfYrYBTrMaU9zPhpT5F6evVmX5uB21D9mX-ImthQwlnJafTDKKAIF1TBgCpVy79yidTkzV8HqtJJCJE7UC4FtwkIgM-g__XUAO2M5rxrRphvdv5BHsJYU2cCmGvPePNuhj9TyXCRL3O9iF5jXelTPZKHXp3lOil8O0Q2UgflIRQ4PwYZPXPrYxGFDSP9do4Y407cJhhfmmR0v2BK6zZXpbLll6LaYIb8iZ6BBUQrgcuDnEfJllNnG4J2r5t_uS-jQAM9tWj-bbR70ntKBq6-6yallBF4E1p5Ii2XwfYxxm4VQ56s7Yr6blPuFRVyo85EVRQGS116K9-By1qvf82qnayz7RWZ9r1p5aX1xnpH4xT2L3aMJzT8ywUCGYzmbHNi5w0de0sapfbysAXKOT0Eaks8o79A1l1jtNM2UtGD4K-uCUeZDmUzw_qfBAkIdB-iuICpZdhIsNQoBgZr5cVrlQ88vhY5dcs9A2hRxRFoTapL7NqBGIx-2Q1Kic9pA9qJG53k9VACSenUFTw-9H1aikzOeQmfKSHA_6HAAXxl4ssfLNQTXzqaVsg5ZwPGrCfUlzV_OvMqqXQbbzrvkJfhvT0-KJi9OngoVI2ko8hfyHu4PTVbtwHZhgezimTnKgv5_8KdIyg0z3d7GOdOycAie977XgIHbo3n_iT5h-cNYDf0kgPAvcQxUYJq3EKUowTsYbHIFCkN_0o8Cmg7OvaAaX4Eaebj0aibaFV4kOiOXnUy7kfn7N64gvBG1qgIJDDqpcv4TGO-2azvN7tywWF1eHmjqADyk9o8QhrVh0bWY0fpjt2RsRWo1fSKghqINAjdes0MPiutlLEsdtjGdyhp-c8bMzjArjV9UAL0-frrg1-v8hfyDlxJM0ykDITlJbp4GMeijD2EoKlnuDXc9UD88HAWkkIZeE0aDuZbo_AkiUjZRYiaE6XPQRwp2c_mlrBantlCKwUBRGohhj7DuCp4nNflWaeBXDPp7KjsiakkO84RIhPE1NMf5PBabdYd-esNE4LxImXqa67Esbqa_Dv60khmou6Znxsy3JYArLdTxMx8u4sO-K3ZgK31vrzeKhzTlmCd6D8A3lGa2bCyTH8fm49nh76KelpkMbUlIwDjRbm679Gr9OiBDfy7xgLj0iJB0piCVhII4OVL0iurT5T3GFEZQWhhVNAWmnk-5nViBrlDqT7zSZUPiSJCcCgsdI9DIRTQyeC8VrC3BXE6LeyfPbAMNTT328pdVwVd_djHZqyxJHfLdlSUPAOg2-92vNbazoFffNNVG652Zm250skBP5Byt89mvLPTVoebIuaHWts-FPpYlkm85wX71DE7emGXGddHC8vAxTSmb76rTVBt9k1CXgNUFQWaaY59A2ZKkLJvkMKaub5zsOERRSltBB3SiZLgwZa91oTOVn84Ql6eSlakejtfEzDoRtMkDCPogXmpi8lWidWv8l9WF26MXMnpDXhV4AUfiJLSlWbX_c3bysvAeRGbMbME2I5s7ON0jE6VIdbioFSgwECagedbYLvMvusbpH-cO_0aAZgrr-Mz9Kb4WU8tstH8sNBFPtIpvBjKOiuvqpSFIYNH8ZcEg0E1IuQ36f24eSsBmVcXsVmUtK0J3gDkrlxvZpk82XLygqo0NRfiJ-0p8gQBrMcwpKElYftMLa70o_8ljav7t7Oo1vRonliR4yxHeJykKde3zZUElqnqGKB1sJnnYRKdTCg_5zmQjNRclD7gaYlfgCehwmTI8ipgfF_0BzcoJWIE-nN3GpQ7WX0THk9DChIyRSYKrq60pHy4Hlf0i-AyMowJTv_UehFbiyyGuV6NSa_GUZ7TeSn3ifVMtmZNu7hXWUIZa2t29kSkfbd6uk54u97RAX5ziQvNhYnqqQ6do-Z1HHwgD1VYCu42dJtnldHsibeFKDPBvlKYpebG3lB2RtpFwo-gDX3BccBz_a6QuU4c-7P3UaMils2mcTC6G5Rr4H_yOBvaz2pxVdGIPb0xVl-4e3oBWnWrXcodvdI4WdcPZgtNJhL0JRw3sE2didF9Pb2Gt9mmzoiEQe0ZDBASXrxKyqbqypGsk7OQl49zPwb6vbAAOuTITAHKoHO73qwiY2TsYrrUv3zPPt-nHtlLvh51992zKldQyXh8GjG9N-DAa_Ni_7h0t0DOY6cyn--6tF7jn81oFpTeIgFgYSR4YeGrqJddUopaYGVS4o09Od0pi95_QZPDScvVJI4jQik6ueGIGlEbrgj5PtDuGA85oNFD80UUcv3hKAa0ob1vQ6MK8Waz2dRYLTtLhXwHFaPA2pgKkLK1ybUGYZdUUwf9goyZ4Voxkscof5dctrqOJxmdswpfmp8jOhy1fuk9U3U62U-HnaYUVr1Ot-942ec2BuLbe1U6FO8ycrhy3CTkeMHyGezA4NvGe5VzeS9zHF4-Oj0ZTb7gh8PSpptL9KjF7sHt5_mHjAo7_ImPw26SWmE0wDeGN67xyCorYOKDePHXlKDkLsmnB7rcNvMUC2e4J-2wlGwjHn3RITdj8GHozX1e40R8zLEusYrP1xjF-jmmsu5GPG5XF5-DsyzBJZNhYSpz_QeYAq8G07HRNOt8J3ss6d4I5fcbIIk6yFgAdr5pFr1HnNhoJc_xnTTIoS06l8EYddSehP5VlS4S2w_eZHUg61YIRvcyfK61U3_KDze8QyY-btf1k34Nw2cuBg-SJpNPKHLp-O3jWadFWF_dexyB-qlELeWxhhQ--ipJpD8XbeNN6E1oyQYqwcGwNhUKuzXr5bfRMAWv1HogHe_5Gd3G_i7HAR6Eh0gM3EaGBJ7K-eEkO7j8JFEYPd_GTt9OE3fCycRD221Rw5-t4Mb6Xc1Q3iMZe1RDQJDFq_TGOyE-vKkt8KGUOSUMJV4M_AmBsoWZy9lE9z-fnwOKTCmXeKNmQdC0HVcvcFNvKjYatF_IkSGiPKl9A3pwqecQmYxk7m8uhDbPq1imSsq1f2jb4u7DKdTncMLRQFIDsgsg1hyIp8_NRHl9cxoq7sVdPN-K8qFb5iPAAdXbn0cB6Uc7H22R0pTFbptIqQqtQKkQB3GPPngTSAyvjsu6NmxCRDlCn8ELTIyR1knxBhrdBvxYu4HbioeWrC3Gb0Z209-WPSN4dnXkC8gDrFHAnCJkmOO5hpIUlL9yqR1D6CXAmCZVkBrRxehiVDUqJD2BeTc4J3Iw6k-9eslAKO9rrQ_XAl37KTZVKtIB2my7HXXhLvwnFRCdjWIwNChR0LuXOXQyHT4YAzCRe9Km2lAsHIKxzdXEMOLVIGb9sm1pc4qSLY5gY_oWU3koKR6tAQEpIavYGhxaokKaYZniZUA1af-NTPYASZOHkVTVa9W1F-CZUaagsf0rbv18EZGiMT_WWG5ejPftLIUUFbw6-UDGDJ4TupasbxedIoQwCA2LWBMVq00DEiOYn0n8kXG1egTnRhNroAQxKxq5G7j8EvUZpXxKVpm8VMz8jhEtTLil-QesOPz_IDuVWce_DoxoPofqFDus4JnnanN60cYOUh5DYph4urheCOqGsXDJprceLsGuxusGha5qLAPxR7XpzS8RtdtVbsmXpZrfGcMhlwdAhvAvZJO6DxN2mM8omRlJS1ZVVudb-pK337ocNqBbprJY94MdtUJUOyOyeNNvesLl5aUFKNcIcULLNOEitnWrrb9WrJ8QFs1RPuukq8RSvMIf0pWJIT9kn0qJNFVbRrBRfs6Uy93pMQfTXJ9yio3vb6Qh1sUT95Agc6jiFvgdkGAYjAcJGhJRBaD03_yqhy2PcIk2Xr4aerCO1o-n5SDv6Om8ZH2VUDBvzDQ_A8UYa-PmMNcA2WeFRlm6whQUeCQDXH1tdXffAm8KKvNuosYF6u_gwhpiKiR-TvSTw4uc-vkweSsyisXBsW-fzR7IgwfNg18Fv0Dg8BHLMz4kJLuCUTjstqAK76IWrHMNqIyEuAqBvFXBluqZC1YRVDAUJiM-9uGgebb3_7cWy2HJ1x7RF6qLCIqNqdCmGLzBkYhLoqSkzkKw2hIpZFeU6nsAxOXAuuFDIPCCJhTIU9ya481h25MmFjjOh4gRlw-hx0LxnNebPLNljnt8k2nH2vDTikSkwONSHg5ft7acG0rbIEFjaLO9K0Sq2ZO5Z7JIApk-W3HKRXYlpU-ISRRNm151MeLuyKX8F_kExqJaj_qLHkbD8OQljX8MZ5yN1z4gkTtvCHiGlCmMi6zt3ll3FBvQjch5lX1YVwE0w-TOOIa1J6L216LZlJXizs5e-JaUhyYMeDTkIU_1LdPKqXHkAqNxCO8EhtxodqMiTGSy9FPL8W1pn_tRsdEDOmpDcd-RffzFTqAFZwQluH3AkLcf_EMua7hhXgyXyzF11G7vhzn9OphTmkVzfZtvpS9ibynb07Ixccb5UdcIp_KGL2F-z8uwl9T35X3_5iyUVEqheb4EE2ZEmkTw5RFrq4CpoEgcxV3PNpqpyXae26nhXrD2JgncjVFN2Z7F5AfZkOqMW0brtqIMdZwhwP0U7l-GIczjsXHuc8DijoxwJ3oUVE5NT841-6JL4IKQ-ut2KJRtxn4IHI0m68TdJjRu2T6vdhXlvB5dB-CTS2uroJZ6_dBx0pxEMoeN0SJbqLYB53LRjEeQml_vaVMcTbL5IYEsSzlGfCAszYeUBtm61-Frolct9Jy0zU8vOvGdnTzC-RvC6lHcJGvZYT1wy4mq6_pbQAY0CCwX8YDcguFGELwDFtrkNF9qLUtZnLetJ65DEZ6geRH-EBoZW2LDITPQv2OJrbsgPMSFtAC8hVXQoOg7I6a6fs38ofAAJK3vdckabjxtxjIC5XTTliDPtumC2Q-_3m3Y4uil51tqL-frD2fehP1Dkp9sXxVuHdFG4w9WURaJktB3M6G_SL3j-BHB2wnyACvRgyKT-_aZCoHr3NU4vJ65otQYvZ3iGJHQGNHTpwuh7tK_hLW5shfRbYV_yiPkGC0XRcFQ4OqqKskQ8oVGDRlnpMkJZqQiDzHZioSTvqkY4PKdFy2h4iOLh1L-qGMPRlP-7W76UfzD6HXwtSX2fJQzLd22QEHyiVDX-ItwNv2s1699iDjh2Y3LWG0dXS79rXPHmE-hyF67-7U3RTrxcVpWtzgwPlAf_ExU4cxtMe9CbXwQ-a1iGdxAFEJ5UXjXVq_vMn-fDONkKTr-2QbMYTgzn4I5j3GW4LSGtOwvlEuLcj_tW42uDxSBZQ3aFYE2neOhXYrI5be-h9g8ApSJfQ3wNfz7NPnB4jT0tWBkhQxxDq2eQ1hT9stlE77KSZuSG0Y-64rN9rhRHWUtFSc3yBtA77XijmslYyqbyG6hnzpG9XRX4svhK-1nWEwIaIFay8eGO1Ti6REdv0zSj_kmOWcU-lOlIQkYxxcw_Rno8TeJ5SJPAZekM3VZqW2jQVGML7HDoExNSv-5QpxWHYIxX4vc2foYB39rx5Qywh6WSCgPmn6gc6rzbLxxBXRBcU2blNKqw-swoOkuXv5dhtGLejLJr16dccFK3pOrka3FBuO2cKvOas7e2gD97j9ARm-IKtvaxKN0Rbna4fXDZ9FR5jZxPnBQD6XLT_4hdSjCT8UQzc8P91YKFu0FlLePYH8rAbUTu0MRIhFL3CQxHLWEnj2s50NV9twXIAtetoUFV30mGSmps1TyF0tDT0vkiwMI1uiiYkUOwXvYV62PXVdM36Z94OKw6ht0DhWOmRaQvkjrLqcZMZgRLxxnMl1yyP8zXrlDVBDo0UbuO0BLyh2IZrHGb8WocFp1RXyGNSytn3rpzeVu-npVN8xlY0aO5TsqQLPRZGP5NlS2zYLH0E8oDhcUmeJ9oxi17YjeRrDpjhjnHe15iR0H0DpSw8juEBIPra-T4QfmfPVoRonzakEQ5h1ELTA5eFAPNVCCY3zAFSXivdjIESsk1s8qH9XyAEyUVGKe6ZkXFVuUqKyV_mXYkXKjqqtqWzkA3YVZfyTg_08_m1jseH2Jx9mtJuUuysDTkTrUPbnpCC9Dz0K9gXix1aZ7kpsUUMci4hV_UyAj2O7QNECIXgr7YQ8U38rSdxyMS2S3UxiCNIoAstGj6W65_96GeRv-y_Yk4QpxJTRboJovG6ApSPqaRLf9KThgXrxyh5SaCE-VJGGt1SOIEDpzlWZ4t3vjlmBoIj-feMQtwuamRm74k6xS0Wzh9rGcPq9iOeX0TCVwPjpYI06ZE2x4h-GqWuZ8wMaI7CJkBm_Ff8opOkog8b2RjrZ7i04P9-JLo5kwRuol95H3T1cUogdcZGXx_GD0FtCnuE1pYo0iIwlMGSWNFl7LqJDYLUrAUNjJOMXZtLPdUhUikO5X_J-zq0cVfO4FUdoEgb0FlZsuP7cyh7MGyTgifJLnamyDFIq_ksuSzhyHuUiSLBRlajyM32__LacVmZPWcLbJNWqD_qKEbghGusIJ4nLeRD1fGLNmxUGN2cO3m7A4OoR5AqH4nNGhXtSC3ATNNFJPIp-93R_ft5kDVbI0eoUvvY9dAGyvhaxrpmK0hjdkHzM_QmVr1dbADWAkuf4_WGQRAOXxVpAI2VJJ6Rk3Zz9NmCHLqAvqccxIQO-vR08d7-kHo8wpWd6ei4fFO-qEyoXVpdY028RyBbm5FrMx5DtqmYtqhbztNye3LXe636Xb9wfQYcOJSVXseQLqa0hwur9Xf2yJExbl5WbjcE9z1Rky-oOH5uITt1pKKvw1qNbAxH2kxVrK-9VwLrwRSV9JNrvDsEaYY3j-eq1w2w-OSB10Urv4P0vkxLUVP07tUazF6zNQI33mdhcoWSW6Ak6CJ4IMF19swSUmj9fd1fSu3Na3-40uncuWiXif0nc0jTXWX0VDAOwJq4RGR3wFWif6c6njz-9gHjHEvrx_eNJJw9V_uqkTp0NblWr8s1bTBxCZWeaABuz-18VdTiCHP-pymYV0kAKm2BHvU0RNRLXvAXBXIAmmZ2gAmjttemRQmnOkz4dF3qARZwsuox3eDB4hni_Qz3-oNYmlgZb97rrY2J4Pwt7sT8mtc_YNSIx6UD_DwhtSNE48xGWEKPriO4WnRG7wv1VWm402Ytu-SHXzmCFj5tOGGBuONPoc6CNdOk1F1_VuXrHW36aAQf9T7_hjMjQoDPdeQYAQjwiIpJge_PYSTcG44Am-Kggxz_bmY--SeXUNcs57mLxSRSQjRPI19E7zbGqG3KV2XCuvdqtLhDvr5-dNDhO72fMEah4IIkg9IUwjjfFPxPmmWDLkZ0nGl49MZUFgjtaUSu3v3hQt3BOYWhXUpMQans6Asi7o3fjV_opEE_lFwbQgGhlfPH3-Ve00Zl0tYKjikzVXqCthsGfcBFOVQWGuiATtaFvS1UbW5zOVEyxtBeqSLvT2aO_QL71tAV6tcFq73Z4FqsQmIyhwqrtr3jSfPzfl0RvGxXqXR7ipK4aUCfCBUgl4a2cfGIs3k3PSxdeNgUw1aNh3aIfymHP03vE7vX1jdKkNFjfF6Oppr6DM3bRwbHXLUiw8fwvT3qgJRJQTAhgEeB3P_75FDN3vfkv-bjlTlY9Y-_C9RgWSV0X5G74AZ8cwaz-dBB-tQU2ebrC3z05wyYPr3MC9kMYARvgmx_y2_i4q4NgdZw36aYlQCQS5Qq0xPhYihEt-KDjd5-sqxgnXCjA6xVNsQtOvGXVSaREa4vGph-mkgKh7BSM0oSx14Ky_d6vR9i7C13_awV301JFOp9EnXoln8J6VCylpZEJzEOeLRu11WPGQuDHn1mtvMm36lojsIHPeJZ6hJ52rD9jJGCCT2hB3y5ub36RBtL3866V_wIq_igibS8x5NKIZo94grWvecamaIybLzdr2azRjMhT4DrC3MrfF34IA7A-ANpadPtS9F7h1AeCdnzYaoa_RS-jnyMtmyoXTcD1ugWy6sTkerzA9g9JHeQp5nrrt5cLLbBmITJjyYXlKMtZeRh8lmbQn6nP7qvkuu7L3pkxSp2mq6HdFcyhLrA9EpOx0sxVU5CbSqmE-j3uvJfb3nxh9pZXXPV_QXMQ2Rbx-yYzqVeQT3_Z6qI7Vc4HfL5Ml9NDJfGQ9OiSCEvE7BeMB2mbNxYqW42NYvQks6whB8Q5KVuw2yzUsr9X0n3eNy0AGuzWb9bIwXRbGhWF5zGUw4N8Da4_TPKZIR-nrN1AmTOjLvsaqM4fkT40tlcYEjuYWXJsNQ-a9xs99lTIi9Of5-Vx0sYonb4cekvywTXrpl0TtX5mo_La3av-4F2mEymXLuVWTbBrwiPH6bavxjAOO963ejkXgAYXJL0PizEen2fbPqh0L6BEc3OuNw-uIut_HryjCmx5ZMdbcNOvvqO9I0AZ6KIw7JM1TsQOqiOxZ6_CJEGISi8l2Y5vQbj7RcFwoeRpEwoLNTtCk6R4y8V4Z50QaPYailR8EUf-inL3mGMIKXRlsnrJ3jRSCY5Wo104R13qNa-ZTGe1FjHR6iI_ssYsXM-olxVK4qWlTjJu0V6KlNswyBAcSd9ZjUdHydrsww9e5sY21dDWArwH_NHlI5mxqu8xaDVwQUl7sSqCSalF3X07U9S_GGqXEAI89HKAGeGttvZ6aQz8v9Wg_gqXuJ0IBXR4HnXDebI8up_5fcAfjowPRvo6iTso0mBlhzgT_bSxl8Kjv0gwN40LLSyZZ33hl2vsc1KoYIka4ZG39yfB4U-NA6KFPj4aEvVPDVU48DkjAhlaDstQFo2X2g7z5dQihAwnIgOEXMXbOWAmQfLQcMKAO7hHDLnrBrmwJHRCuU5Zy83KYIt-cLXCqmd7Qz9VsilCYoIspjqyjD-TE8wbJrTCQcKt4VM9manXYm-7elChaaJ-tYe61ofFY9I5wVXR8LZaLrp2ZvQBbjcHrkRHJTM_CaD9ClNZusqvLKDQhTOc3EqPIM35qTvoKOp6LNFYMPgGnUxSqteBZmq3C4DPi0xgkjQ7yJkQqZvfCAuLopd15TiTqOPOsDOEeUDgjhLL6n_SGVibSKZNlfdlwCjPXopILBwf3oyD9dz2GcAdeGMaVOUIPeIVHSb34P4jMpvA-H7LGxtA735sCcMWMIC0m8jXv8MKe3FHCNPaJ_5hvM6ZZCTikaKy6mxjExk6_5VoyaQnTFbxvfuEJmrjuNmW-e99KtjzvlNx4A5ytOo5H1OH3tCHbsP9reNaXK9axsNsPBZvy6xmWgztJ0OWr_yKG1p0Zr7DkEGj_daCEDW_tmEO9Q_vbdMT4GT9ADgFFfyi6pBSt0GRZiYR_baZnR52sl3oIk61EBedmjNCaFKPgcFDQwhMA4KS_JVs_LeuyT1fFayoBcbNCsd5UgS3ywQvVZ37IBwZmYR0dgPA-SfY2fVmFdIGj8zcTgEwaDFT8MYZA_u4tUm0XhaDnWW5M_Ao3aDlOMMxJSn4NR-oNLOSXrALXojP18PEOPBarWi2_ocyNjbpOQ2TeLyXaYke3ZM3IBgT6xI-fmW1my4GQ8yJlYiptSKUg-oG5Ai0wQX08dLkFVe9cd5ZowgLqexj9BDG9fGHvY2JUWmahHR8lRsuzfANdQ-SGgjsINWhpjViuo0ZqYFVqtN5lU5XQcDphyQRgLY4CzMxIzioahJ-dPijYL3bkPFzg7ptHXJpAUxwYVQ9QzCMboJHZqKGHQfKG6l1nrj_CbTJZ5MxPBZExeumrl3_D1pz21vaXm5chzPExYAm2PYFWLtCnrmAlSRiUuDbovvLtORf46lWIZna96HSpYhXEzRt_G_cycUHQElxMry4LJYgGM0OAifYkDHJTHOokbUgmm4NddguB7ftZvT_1warEHDeKpJK0nuihaRbvkPxH7UivuGWTXCwj6DIj33-lmIjxXC3_EgpdDG7QnXyNtoCNRvbfNehYDvBT5-LG1nGVk3fn8AD9FvX_D_G2_0kuaE1IsFwvGVokz4Qvm8MIqcE_BBGv5-GbFFlH6EFDPQPBk2tdwdCaPCkK0AuNLkqYfCqXg0pavQX-rGbzuqwfq_vBCXFlz--MQFJN1FSjaTOTg84rrKfPjECHEjk8at5OI6RBMx4gthhWuJ5f0y6Tr0qc2mo7DdTJQ-CiRWLTE4pV9OKNyqHXSHm2prKyJJNlgbb9iACz3Dlmb2AjEp4f0Up3atT7OutLGHZ44f3P-cLvjkhO-HBnib6j305pKj3X6lRUy7HJI_U1m_8kxEmauyuPDpwiY6lhd2x4txQuVb3cg91keTLhqFDXlBf6yGM2Dlavj12pNcL9rybbB4jT_b8XXaxPXSe9eOd-cPd6DXVhOcpDQTrrajpdbFxUmdGTRxYS4P8-1MKECxIfFUZAt-TsODrIEnjboNEq50vZBrfJdTlc3qH_0IbxRNjimLxR3ojcfkAkKMKwLuny8FDinLU6X04ZCqNj8OTcR5t5CpFV7GIDyqoQtwwg74T1YXws5hzjZ7FjC5WjOF2EiYqOp5oZiKReHCB0vwHIF7LTVwOHXHI6v8caCXlpKP9GStPpqKwpCHa4tD4_8MeOcp1BpGzxsVcDvdoqMDca3KmqCQidRteaT6cw_vLoQK4_ovI1bHhBvSjs0bCKpejneJECcot81chEuRqfHayeAx6KVCZP2EzOv-Up9QoM1dlazHLrjF-fyWkZuZ2T-rM3dvk4vDKZRydE75gbHOnC4w0x7Vni7Z0uJvWuTarb38FNXZR91tfh8feRFeGNHchTBeU0yueQ7o8DbIiSenfu-zuTQN7csPMA4A2jY3ZhHGMewzqHytOWigx9uMy6LQ9gMDYZAOZpdL7mal9o6g89i7kbfOJPFS56YLB_kxNGtSYIOUkcvsNcf081dwLwDNovEDaQiRi8ktTExyEkDJDPG6T0TKB5HnrO6TF2moqsfayVIdCvkzJ6d0eBcPaDZiO7O0rTZwjCrCMft7eNv9eCxAzVhf5dHOWGwWmSOI5McZjct1oSowiGBSjsxeL7vyqukPnnBtRek-lK1Uxlqr8l4JF_8_qASG3f_XjpziMicc1T1YCH1ZPCFXquSBWtlZcn5rs9_yiWlkzRXm1tYi9ujAeqIA7tqHF_TBvDzD0-LH2mK7or8xN2LBJHkCcVRiSR1-Y-B-bwxj8h4P7S0mgjlEIRAZNlycroPyz8SNCxPoccPyLr3C4aaTxdSwi5EuWlyHlgI8elQYkkTh-Ey8NZtmBAiQRV5TX5lvYZcVLfEOSinQYzfvn8QdyUcvWKzyfb44ubiiO2x7xxxRKBcz1W1gnTFc3B5Ntig_sJuzZI0tGCcF5ok9JOJO9Ma_YSIJ4uOs7AOsV3fQlwo418axc_SOTp2ffP-DRX9pMZWtLRrZjtF_jdghJ_qH3E4-0grDDHEjhXssU6EOZ5we7tFOfZWZMZy2dWHCVFqk_miE1FNVPf-UcdzvuRp-wvXXeDPrHTyvWlBupHY8NZXJs8kt3qNfWlXLNXDyvm2bZx4TgYGD3bJZcTuo0tYlR4QQbq1G-hkpjZEPl1rU0fhYEPId5xfxcoYH04GSRcQ1ZxihujAuhNC2DcGN2n_r-NOKNLO-apoOhqG-zYzctYU0-2qE1ynOR61eS8Hr4hrcFkNlJgn8cGmE0rZIIo6iHiqshgyV6a7n8AnGC2jsT3QkQNEh8ARq_vdbz_FaJzswY0d8TfxDZ07o2uSLxqdpbw0sprpT7hDV8g46pUXaqV_mwLUG3DuqjaXwulU2ur_F-HcLa6Bpl6f-JwzNVTojjis_S3aNJxDuAMQ9sMD9HPBcep3KpUmteN1zCYftLqjl4N0wb4CT8Z2hJQc2kb6vKQnerX_B5_ulNSO-dugMhbJN-lkUu3V62XB4BAFZLtsj1pnuKyrATU-q43UGdiZqNqAZhol46aNX6X44R2k-xHv4hyjSsTypTUSA_cuwl8zsOki8gtWAgrwR3gfIyo1z5mYlFi4UvOpWrNxXTU-TL0RX2HcStlyCKsPXtd5im8_ZKygcQBXXlNVNBPXScFGSs3ayffhc--dvemlIw3kZR1LUAYajjacYe3Ccg8Tmw17eDpqmZPqED7RnsNJpQ6njxNhBt0OXqcGj2d9JHKe-Uv93vTV1pIQ1KunTTxLeb-E-bQ7w1XW3WtcMZRLKBB3y9IQmmVxkBftphm0mnS8YID_PHivHlVof3DwIVPK7zA6TXHD9FQO8greSVMMzK9Xcru-9dsQGSGCctHqNkOQprjK6i-e1TZo1xhcQwB2ckdMDwYgwXtvM_DIYHeOlKm2S52gFQDd7dDaGgOsMDXLGrjhs6SMt99oNjVdOm2d7Skj-5558gu6eae5XVJ3W6Sb-C_nlfVotXc18DX22F_GobSHpn-tesP_1thvaLO1P4QDi7Vn7U0RWErq4Jwv302W1a1lVeNUgNplgdNA12lcjvSYI0vh_oFpQGq5Xa_xlSbStxFwNKsZYUmV6eDBhyf7fM4bW2Q1OPx8boAYx7htVtxt9-x2y6cqUusZkSygapOvAep3LBc9ozBg-rf-vJTuGnZkXhr28Xj69A2nTHs5POE7xEBpV_HxXsyJnqRCniGx-VPxHythhzeAJZK95y6ea_Ln39wZi4oOrw0VVdqDyVdQm97h0Ub8abFw5NyUkG5jWLkn4xoTp5Fr9zzBOOWkO4t6HGYzzGDxV_Q4swjqk6BGYtvWiC-4S0ppBjrrt_iIe9L35CI3zrLkCNa2umhWpZcaGNQK9Og9JbgAQS88dRz4BvVqzDYZSBCgKEvjs5AgGsAabulcVagiXHAYK_NbPnbGfrcll_W_0yTgpkru-eAPbK-Hhda9QOAfOPVDFq7dJh6TDpIIO3QqfcgOArg6nqla7I06jeFv6AL3JyYOvAtQkZxt9aIg-Uw_OhLbvPZH5qGYO7WQr7VK1l3GC6v-eJLoliMY5IPgcUYTBzlC448ZO1R0krAAHjrCufQ_wMI1Cab42U6jhJ8d9GF6FkmBPaSnDWIagyU81gBerr6tRZ3fndHZimOACqgFl_uXb3sg1t1w0lmjZ1H1xiSBqviLQC7L56nyBNaWl4aSN5y7O3vJgXraBsA6VvgnGDN8VnUuQ2msHLaxG5SS-xU6HKF6Sag0bGMwxW5GuFVhiXaFLF2bvinacbsoKDbAtzU2f9fbnJNsW9ddcUZ4t5xVEmi4I3x-a4VKxDjvHt0VK4ID2zL4j7mBHu8M4H4326e3IxCGOOoSl0c4li4I4VBM1Q3ZTMc-d9-RvSARGpku8fTnFrBqgDw28w_uCOq4_oYFr7m2tY_AkXE3fyTEdSNicOl8avpfM3qQzH0-H2gJ2TZWkMpomUZ4T0QVrzYUPLA6uZE9sCT80JZZct0acvu5QdE3XjmPlzZa2L1T98ktj3OXK0WPzikq_9BTnual4WywMSVPsufYoI1n0BfcHS0FFSIyG4ZdxB4qGwFY4yWevoOTawP4QpCQr6-_yaJtgpkdDkfTOlrGy4GntIPRXdXIsZYqTq1SN7cxCVweQIqy3uTr-vfg21DSk7sNbs5uRwialmR8jMwErCCsXBqvKHUTKF91P9vhIc7zbWuchK5W5NTMLPbdvdLIgpSB1_AlCVwdQDlFe1pyoeWpyuxk8vxYDH4DgL88obS4TTeYx1DTSl-xLJ6U2n25Q8WhRBzcfwxHfE8QdnAO0_ZjcMLNQctpJhLrL4Q7_kj1rqKlKr79J8IFdFDOsoxqJKvmFT-e47fT1Nr-ku4GM7RSdGK8UYVEotPGrKn6BMvksEEiENadnuqe3IgTblytyblaY3zzGV5pQ5N4AtnZoiBpsvwFdFVsso4jQdKLOBcTFaOGX8kepD92FCzq50_Ps9posgGaCLgfM9pkWRLLYQA7kKsVBw5dTIMFWPXKEkz685dOjJajbgd4cT9F28X0fOiODEGynIeFqHyjQGWQzTQ8WzjgBjljA450aYik1bPggda9WkyCKt4XiOr8rdvGMJI_l6IfUsOrLZeYEGUnvhF9nHwOxbcEKsCVduBU0fw66hhxuhbl676UPteg-WyeufwIRKDqHEQG4AoNjYLH5_5tTD37eOlbYpSJmvxZxNq1HusvbZVCl8PshmZA9m7L4ei4u1AFqPaaLReLLx3jwD3fONemPacwtnXKVcVmkImmhs1EHCoQ3hgR0ekZIg40EOvTsPUpaHs3FtJH9NUdETUOVwsafiPmFSj2bmLTZkRk-fO6uqdFpW_Q8re2nBYiYNBltEQ0S6Hu7lqMnkkU9f4uZ4xZwKSAmF_UDtDupwLPwAhPmaSSx-czCnXFa41APqbPlLQieq87-E4gTRHD6DF14J9LmJ84mWIL0Pfm7yxy_8hExk1LibTWY8F7b_nm5JJWNIZ38x1COWVp4_PDsI7ahHOKTowUf2YQbv9MfCd9qaatCH3m_lhtUYLM_Oj49iX7057pCqBRHvBr5HJ1ZgELFd3EDTTQb3wYv0_HP57iq4ZPyKDSRoTWHiqDLtppSYkn2eXwgenOCYFTGYx5uUCTLjNp5HxbjIbBiXkVK27-jgGcYjISlW7QCIJiieH-pBaAcc7LV9M9c-5KwJFSn1lsG26hb7vfz1XFyrjdfIudwE_boVJpd1j7x3-qydkDr8_RjYO8jFXnKrl3Xp3v1RNV11bRezAuiBkY_-eJDUpDrS1yBPgHJgOkweggLlre3RwMk6bBksM6Cvp8sHmIMnY-tll9SV_M05OwrPFNWKH03Hp6WED_q70cE7ve0TRHEtrUBvgSGpnvtelqZCLLhIWY_iAeicuHV90UebuUOH4dWzNF1qOQjilbU-LGWePVu7kLcfrta3r-8tyZBCL2-MiHsv5r8T2P-cUdEeMNebQxaevNJJcH2pgD6nSYpgx6sZXQtp53XR8-fMXtxmeIDI29NarS_Pii1Ti9DsIHe2b5ByH0RvZWLtmrWj2uf6S8R4_M18A9vQUEgHMvZqCnHS9hQUPS7zMy_7bBwNKVxHuCgMBnWRwhLW7e-zTebOpVUw8bZIRSwx-Fe0xksFUcS4JcdCawh00OCiAkGEZVMDpQUAOoE9hqFaruGuYTelf3sUADdqlwz2Fvoq0mPW7IervPEbN5mx6G-8lyDkoJxTCCHqFMgjBfi-EZv47goxCXRbybFw2sWZUJkRSk4llRH5fS013Frr7Qrh66v-YPgQ4uSOHhlg72wtT2AxeKAP0ONwNTrc3QylMfbJYKivJ0otUH2FCT8F_AsDphxFTJb-hkQAJxjbBqxS7gMRvsAw8ywfds77KtHnYDlQ_0LY-s2uwwT5uGHbyyo8GTlmA6_Xrf2ejFQcMiR3PxjOEP74T8nqseRAOuPoHJo7Wh3vkoqIiUklzDPaB2qtECX45f2tuWDiTtoLbocFIT9hge065H-lrmDze9o02_ADCGo_oHvDneXOdpV4R7Fw4391Wr7sQzwrdQUREUZXhMemcthEjrsTlAgk71y2y-ofvJOKwnlaTKXQHN0vNlUznKcvQPm6oN6ZWS3z8pJogwwN3TfuyhmMYYfl5Vi3TwvY0U3kQXTUDjQ9lnxWeTMV8sa897zx1rqH9KottagZbB4H3bMPxNMa_wSKsGAcecf2wosTUlOfwRYK0mDnakMAAzhhcQhGvaxJepjNURfpcNR_javXS8b8bo-bTF_McSeo-Y3SWngFARbbJRnSxi7Pd0ZF0Gwujz3uUvRt1otToigl3Eh6HHyUsmVOZQ8VRDhRDxXqnxSsCymjWNezZDAqdo-na7AGYKMziNxOGLJQa71DET99kU-RSK7bo0E7jDN_KEBTuDmWC4M0FaLS79QqB4WLEku0Mzkg-HhSEStPyGxV8X58D9VGvmOCAJEXaifkgRyfkv49lhdDqp3v3d1UKNrpwuYXr60QEoQcrmDxtAL1yeCLDY9tnrml2qCSN9dO44Hb1RYm2PJ4qq5Fuq9_zC_lgELzF9NF7ZYegnQpcTeLwmw8lTK1WRlg7ol3RZwzbZxqeupq_7yWROuCOh87PIJw4dGG9Y_GoGCkzUMZasjhLVv0YyAnmD9AGOHJEUCXGytb9wxWv3vfiaV5RyXsitKdCmVdWtnWzr2B1hqS_JDQa8u5hZPGb6AFagZiBhNC2rkGuqWHDHI6OSvjvhYIzkHOgu_TI4ALuzG1nPf8GR4JDBm84XE_PLYXCKz7JkmkvsKJ_x83fOD0ywKHHICfIdgN5tCRY-vz4dqr1cq98EN3DNti4-CZseGj6RAAw3NbZ45q_h0GOgSrr8O54-IiEvuQyY_ZFKQRzaAj8gVtojh-UVBrZz6klKqHX47z3r1KIl9R1pSuL63R_spRZjh5YkJBPlngwdjuzCZg3cieN2kS7JIlm2vDzfcDqI0zXsTMV2OlO6bpb_ESXOzGyv8WSWZVWSUGsMkV_4BYs87Z4fji2zWlpa5MnwkMMeRFuxA3MvjBtmzIUH54HBfXxuqRczdoxfh3SDrxlyjY3ZOgLqm2yrcmVlE9fx3TmrGAdlWz-tvJZc1jxz9f8KFXi6cZfBENvOVYwKDNYyWbIUekvH0AQxUL3jwY9blqN5LfLLW_CEfzsdW3wgskmPgraoPSQS5FdJhi-0MnxkRzEAesRDZpLS03B-TlMv7d_DN9ty_hrM5UF2ijnuAOMvLOwmIVFgYOK4gN-6W-NbIYh6gLHo8SginHcdrcqfGTa0smvHUyaCtExPyW-ndDDuLqHKXwOOZ5VNmyAhGCoya7Tv976pjRRMumxhuXqjuf1YEneMoiIjBMtHXneGA_mQYkuTyxAZ6LyKxYkNFIr9erFuuSF9EjuVcONZiDunMAehWhUl9x7oYGelpFa40-G92MB1y3kD2Shy6VQhH0MLEq43V9DAsjcRSWNvqrTE2txahdRQQrfwhrIcqiST5772-Yoryu6YPe_WxsK0WInwgkiW1n60AVOSjVHLxJUy-gw9xL0zMtVs3BPTNRv6VxDeS7FIDcWQg6kch5d-n3k5XYloG-tEp7C_sWJLv14e0vPR5vHmjwCjhMq4mXMilhlF8zC_DCkFIC1udul4hl5xYt7Fbu6p3Yj9KhEwfKgsdYaLgUyWVuIJQerBJbvRP60qeBFI4M02ix9VpWmH1Mqm7CIvqnjv4VA0m2QfnL1v1X3cgJKXl7thzDJIx3BgSuQm5Osb1ttzeO-AaxMA4T54OiTILCmnYbraWqkLRqQdoxUhaUEYTjWPerfRAxEre7JTlNsgVBl4_JGBHfsFCsX6fh7S9YKeTRET1Tz5iY1y19QVbZTtyNKmmhWQj8MzodgksoQt8odSuPH8uhbpUd_7dkz_8aotdmBHKlevMxRAaS48FqTalWhB3ssbuUYNAOVhYSDjWYVdZN7tTG1dOKqnW2tGyVIQu5Fxsew-WYSZ0EEkd-HlHtnDcUVkafXQMozdtkf26zAmcCeaM12tvFOKFj_XdWskXR8SJDjbpBp_9PRKQWlzQRziKLC29Oc1y_Y4GBWGgR1wETNSVk055nyBAyi_Uf8gWZ1JJMlRu2NLFwwAmg5QIfcjtr5ROFVurQQKjkUA7djg_L6m-cRt0LPNiqnG78dBt_5kyuWfDxfOeCw5213C81WJ_ODkVKUuAYmaMmbAjPUIoBqJ8V34Vx92mFvKn-so7Mp8aFYsV1LNK0YBKbT-gvy1YgadfaLVI2jIMQqy1gXnDxMp9HDoFv0lg0ZDi7xYqDDlgEEo83143CUaCEntYZUF_XuEm24AWiQAuiOr9nlAo6SoTODiMTuaa4NCZ7H-wS3u_gKZFE1umtVB4rUXxxUdBl1DL3VEMB09KI5rQSNLq6MV5uLKqD9KzBwo6VJZ7rsuKij_rndfLalsWfW1w-1D0dOxjnd48fNOhID3mXIwpvhSF8iC7nRI8OZFtpCapvTmhZg03YO74ikQX_U6NDoUHykMyZXhP-3cX9_sAYairtYdQsYNnVcvGjSTvckoReHrsiRsTdXW_bcPmGad1tOJ52jnzzETlNWj7BqaA1PfiabWsqYX6Pzz-QL59WRkkCq0S5k3sep_vDvj8KmFAzNYhm3IUUV7_bsak2u7vnDG1WHid_M77W6tjkxThtI5p9abY7HXxiTXqs79FJYyAcuh-rkTXm0-bFBdfdfwFPWlWzKXHmUoJDo-TZwXyQostUfyJBN8VD6u5zF7AEcw5Azf21rw29VyiP3rY88LOTtJD8M2i1d8pd9J3n-pde4OZFQliEhHnxKb8gvOp66DtBMrasKVzzd7uyTw40QFiVH4SNdav5bpM2tGCTakwtiztLcISF4EyF3Xs-wg1R952DxjSxgg8Ov9OVowHw60ejVt-oIWHNpmXHqKuqJlDd5XBZqTtSiyeRYosveSgJ0iZDmiDMd2p2OrQvXA5EJa2cTyzxm9Xaoz1Qjey9BWsfv-wN-H_LQGUNiTGrLtqdlIuYKCvQBsKr34cfgaSJ6losNHTZmh8xtYfs3n5ogMX4mbd17zCky06x1n04y6BAAh4_k5HLVuCK7psHc5yP0TOWwEUjVaw4oDAGg1ySOUhR0kWtS5jgGIDz_Qkoz7MKg0TT12HtmhFOO-z3UdfDl0jDlFOIWM1Q3MzNH67JsMDMql6u32Ww7RikYrszStymFSeLVaB40V45UyohdtQmvmP3PO-_24sGiFCkPHuVQAPsFp1wPlOKsKGQuUFBDI5pw_IPACRZ46mHhrE-OBDMxoaXqrl9bj8YyHLYIX6YC4H3iCcFGRJXf5g754WLhd495L2_HyB8OsdrEXl9Dq9SXHlAyAhOdw3DmG37SVc5YFIszThDVs2EogsaUhV0ZGh72W0MaGnY_58-lRkSqsy_4DKctnezvcq8AuZmRQ9ZJyCQvbxnQ9u30tK1xGKMKY8ri5lO3OKkRlfXcq69IBbS0-Abs243iQlK8_CM6RdFomc5OdZohzddg_fwsU_LdmwLhYYTn0aUZ4krm3dLJT2-PwoS8TcUNdg9DtczXJ-MgGrir1ZAq6wf8mgtUd4qbh2nzDfkDlEiBab-Oh_TLl3hilyuIYK-rZDox01pf-8aK_Jyh9SuQhD9ix_EWIA23aW8Jyv2h-BFxVo7juV0-mwomitS6_A2QYjlWM_jq_YDWRKcjEwvPCpJyvijL0MGTc__YfYwQiQX99leZSa8ENqJjCG9NvKW1Ya9m2CQYbqxYs5pQGkh4o7l0M8Fi2LnOTsBfumlCYBzWt9b_L9LEqLFLmuh5zvy7GtfQdMaI6gQu3hkt--fwNhXgBS1puFnzuRY30MVf8umq4xAWy_0WU2eDytXyn5AnL3iIXsJnVAwxkCNkkyc2EefmQb2xInrIaPE67KQWfvddFoibHFqLsz7XFHV4Y8uIoZ-SiW_B8D13JNFEyej3YjxG9--ug6MQ5ccMVXLTqatR41CyV1wZpk8qyyveXMXCqtx4W0I9_sk1TW5_Fob-hR8__ZjCosF7rvYykO6MPUhQy69ZZScboSkJj704a7vt50uko5fw_YwzbSr5s1BgMe3SODYD7lV35VDqlqFMKLJypprGQQe8xEl5a7yTNX_OUCB4gLvDC9ece7d8pzGmv9M9Hd6iTpuHG9z9PviyES5KYFDTc_pi6FvPJV5wp_KPe7DSbcxyCtDO2jPHkcFpHkPmx47S2lbTwrIq4gcchq0F5zbcZiAnPBPKoEzwUrcpXzJKRbZGapiZZMQoqp-7xC1mSk2ko_iUa5A-0L-p1kWVuHipWlhtncmWBgUJQyb7cMwlXtOCU2YSvbagIZuimul7YhcDOT7ICLAGddniiugIuJvVcgnkkncwxzoDNn8sPkbaFmQs0EJl8PYMV7DGHzgMzAK4YEgS_V6LaJ-ftF8L8HoaUDssmHsJZvi0zKa6PVlHC24nHEE6EReRZI_DwGv3RA3ePTI2NvRCM6PQfXGx7koihLMnwqGZZyBGEWVdodClroWVzdNyAiul_-Xd3K4etZUgzA77X-2UOdamjT9_VEeJkTHUmlsYrDTs7liSQsQasect2In2mCHlZHNnHUjMHSstMzdE_oSVzSfloLrqtCF1_Rms_nCFPLPwPsW1sBaetKNf94a3BgxcFaMhkX7lFMzKbPIASs0LDFUsLCrVugEyaWPObre7Hz1GbhHX48c6SK1WyoVfJ0dGTJssQqI3L_4cEqSCPpHyYqt-SFgwBn9GFwbQHqqmXTuq_4v6Li6OXmjZWA604Aq61-FwWyn0-nTpk2OKaXaUzFl72DkP0Ba_oIZjeWm6SMStRP0Cyr6gAfQuoaw1tzMG6_c0e-3VSFDE6OSyljJ_xCoX1Xf06GQl2CpenmuMkq_FWGghTbAhOGYrAf3Y2HM9YfS5EEx1GqrQn-fDkxtRDKm_jBoD-33xPjF3DcYjGzbAm7LmDRG5uq60sOdSoh7kJJ9oLhZMQw00P92GBOozcWOPFf9ikSLluh0ykJGgRm3Zpen4BAu0vp7d9dc2nTl4Be2ciMpqucj4N79GR7M6LWS2-iRMAVkPzB8Y9yfs1Jr2WNfrIu2bfKIkLYUP2vNx4u89wbTUmn_iTr1EvXWJ1fy2UYZ1gHzWB03taEsN_s33khp38e2OwIEJrLcoPR_rRsdvAQuS8Vb9GPs0EMLnQZRSJOHR5S8KvNIisisMydyEozLKGz_bWsXbFfHC32IUJnzfBhzKufYg1_JiBdX8_12nKFhksUUyxLQKpotgVB1J0CTYaem8Y7Q7W6CYP9fKAxR_Hu-KBH3-JFETl0fZGSh4Mmq2a18PlNH578HjPhuZDmrgXdUrJGJjSVKktqyv3RYMSNZbvr7fJ6C9EeKQWiPdJUqf9lhZ7EgX9sR0QUkQGqEo23m8dSQyDNuPYElf_LftU1iFsvz-BE5pcjCnndJYrzQ03vFRZKHmq2cBsc-gFYsufqfCtoBX9q92Scw_Q9ENMGnQdRvvOtSWD8aEkZqNDYSmKXEFqaTp5w9eC54kiA86yyz3oNimqdSeBkv19kLzoE6mRsBbUVuINFxvoNcilAd7pCeGw57HC1nU_SeRlj5n3DODxGXrWCtSccwqUvQCrdwX6IEpm0iLVJAnfgEyrHStNZKG5E0DA6kgFwZAh50JDo0xxPqQ8xUSyymAIDnvlhl9J6MegVQ49PWzpiG09wQE5b7iLKhmNEm60SNf_Nw8ofsLFhv7zD8Lr31qkYiH9KpWEyQzKZfXlKPI-iJVw3aCFdHR0N4mU5KE_OUPR4d53NYroenG96he6EMUiKrK5N9l5zzQTnDuesTcjQYBWHLf8XgqYYE56VyYOSjW2FoSRPPfkwF7jFWnSnAuuW4GJE7J6Q-D7vJUP3GVEyJ1YUsQ_d76iYsTmUr6QcX8IXOilnQcH2wM2kZzHAfsBAboJx7cIKSuL-lSSVih6IJFxcop8wMHj4d61jDdPJVUHticnzuu1mSi_xoG-X8kWNw5yF_q65qC7mj6aqg6y1K2Gy-KDyF-iUyEoS7nsGTMqOJzZdwlcKOAi9wykP_PbfiwXZPmTiN5oQr4pP5nq94q7tyyG-7kzll6hzOPmTwDETz_CPBph1Qy_zB64hiJC0SGI2A7EP8R0IfxVU-tDncrcMHXHmB22qPyg_sZgpRSBjUwlvHr-Lwsm4fStHCRwnkMSu9he2_Eq2Zb2l332Ersv98g5JcZaOm8B__cjO-oUUlBVT-Q94peER7oaGbuY0DhfzkL_22YCHf76w-Hi0PisUnzMMzvNasGknL2ZDmiCZ6mo6vxdFb7FqlyHS8YdxMmXbB8f87_9SIEQswNw5oRBEWuELgt85O-skWcNlVrcVzgaAwNUaqBIZuL6cYHJxP80y6ad2mEQMH6Mx3L7-qxcwzIzXrJB3KCvB4w5_JOBQ296V4Z7CZpXmkIZuo02ofr9fgijz61La-17uRv1EJtFhF8o587cuEl5sFrFppoSiX2HoGrlAIYb883U1gktM_CJojj-m2X9dUKpZz-AutZ9owm2WzAJWDObBXdlXYNpzOtDpb-XQPARP5CMQVXdL0MmerUpSjhWByvDSusRsdRZ7qTgohWfkxfGho9eEayqS8FicXEHCbCLjJdb51lFV2kQnigzqSRFJ9KHh_AmqmPz0o64RfF3SHr7CibCmvKb3il8iIdNSzrw4KHhSs83h1M4P46HQjG7tOFwlCXeXeMxL-mcDisKPqh1mPRr-9frJiJ0GiVokcCWxUK10qzabLvYeBkjJ_Pi_aT5DsJjd3_kwk_Gpm9cAQXPKcFRY4v9xBAQZuklwQD4eTDCe_BdmHA8YDoQUBM_dFY8FTFRuuyP6oB73k02VMrT8S6pVCT-iRE9mQmw4CaUPCcolYFuQGXlWyQ5B-lUMegoNI0qYY_IOpoz4p_YmIYHeh491D78PRdiR4v7xAFEU13Gu8_C7xmm4671IXuymA-VP3FB-QX003mOvztiCJuOZYG-hLyxmSmhWvnwPm9cFCdvyFejvgUaT4acHOG7O1iChCDf5EARdNIBwNdoBmXKTxeWLU643IPeivzkISaxxwvKwXqVOeIKZdFMJv-lbOwdRoZ0CyXEq-F9JQJMZnITBKZSMTgqocBvr-uc76is43pC1ixlafOiF8bxH3k9iea7WAc4ZzaJkDd-5kTK2YkDLjNwa1TYWE925foW4xQoOXo5bw7GECjWfVgBd0ndyhDyHMKW2HOl6UD_oBOP_9SqrONbNDT-bwlUDjzPUA4FupYsay4DhDbBnAK4mu7VQQfqqlteZDmWyn2mzHAWNL2K9jm0QkMhV47ZLRMyh6V5_2gMVMZzX7c3cjfQ3No_QWSS3BCC8XLbIkSDZqnaBIcF-P6w7kdhwmHeDgl8FmgW6kyNwnRg7jS2ND3ESdiJ43LCNoBnKu1boGU2a7bI8DVBwt7gy7MAAsy0CBASZhtdffBtgI-E8D37n2qcDycW72nJh-pekgSNmiIGzoS6ZLnQKF3yy3lED70WMXlnIaYvpSfq9w6xontYr6tZEss1nnkdqC2MY5EX0N5-GTm9Au5I8vAWwJ-OsgGwhnvZD85jmUmzjEBFUhboUQ7EA5p5LWzzch3zm4HA30HL34IqTKiOtGw7d0SFJ-4DWtEQ4RoOrRzgosw4JeqahKjkbP30-TZJ2RlpbvIn6zC-k-KTTqHk9cQ5NaWLVZEFXt9-9FjvAweHaZ85hNLou8h6NmS292sRBKv_4b58bDMOoMERgu2cx5vC0jxZFrkZ3KqMzlFUd2alvNTt8Mod7juEFZi_pSWgSP57ARF_MQE2baRfjkIghWhleJlhE4ydgNFW92BArk2l2twN2Qn9KWcLGWh__msc10nrGxvsTxsJh93ls-xhWGsOy_WyyoRJLOeYiNPHYL8-D9s8uRsvRMExHIVQbTgkClXRCDaset4wX6Pc8WASnvXwHN1mIJf5McaoIjfmC6uHbEUijNQEhFhg-z7C62qQ_Y93QLkE-Bo3k53GkpEMSuchEr6dkfww3cT80lpiZ1pOZtJou3t6hIKNlnDeBRF9Z5PWwM-ODcleJXKewVVACOaahjkO69aqQx9Aqcg8gWL3XGxPOrcXaRxyAE2NS8loFIMxKzM2l55ZW5KmNwxmfLcigD_X2NudF6ErbMSsxKjBGp9pPpva2RxCtKbJtixbEhIUAO5mQXEZGdRauSqJObtb2-ZlYaOyCN4bqh3qs1XGVv_WPi5IHV8H8TuGjq3DVZVt_Vc-iOdQs1V-_92J_g2ehW93bWAXQlbj7CGyc7fno8-a6ECccc4YdUK_72Omp44QL3k5WlmDr122Pmqtql6Bd4fPVDGWcaDpUYUJdxKSpFqBpzv5L3Vk916EacpyUB2bDsnzoM4BwfPKbfL9NOdUbHINjU2iHJD-BK0Xv6AoIp3zOenR9BypiKxBGHVbamMxU2nh2jxlPgo6GIXxxFVtnXjdPi_hXIEJW6EdCIEoHGl_Zij_EOGqoHro44b8sKZgEP04-FpYa7rFghO5X2JAkFCsOiuOKpOy3ag-JevEOPNexYs0ysxS7ra4fJSKN3_GIWi-eNLpRJicDPUCMGc_1J7pmyUTw15mj4sxU6X4byuvn1gKq1oOPBjQBaw4n7doqBxIQLNofF3PRQH6XtWxgmyPqnZ4FSIHa4wBJqEId043IJYUYtAvI74rgrvYMjqopeMukZA9m46XnG9pKS-d25I1a1mgWP_1KRNWpd7ENYQ1aKdnu8NI-nNdfzUcbyXSQAMlR1ESBUtKfMSuZa4qlNnOx3unYD4SA1xRXBBmBLS61aF-oJPwOr2e6XfteT-yadtsB3WaIftPRGdnLD00Q4a2Pv_ui7PcoBGPvJOHeOniI2BXMs7O3A64KxPI5Kg8ilUC1414N_VmFnC-TFP4ucBp67ukynuD2T6j5WdQpoOqlCxnhyRhRw5Fst4hH5nXLAw90l0OnDcArePvgN9f8x6RPe-FswIGTEO3fgUH1BA1Wg54evT5JgFNPA8358xFmWKYypg28WgWCo2rHD-9s5cpREZptfh-Uw4OHQkydtknJIK9t-BTkz-SBeC5DGEkHNk7sJ4nN9eYfMJrKc8jONXc596oFJ0ySM-kbo2lze8awL7Gxx3bFjP6-g3l5_QxjWwJy-8N4125cm4GSzmc77pQaoOtrvSsu17FwAeqtdRQunneqsayfPBeK-dCkhNuTYRUL9eZSAt9OkG7gR8qCm8MOEi33bKZX9YgubgiWEgcgvI7eIgQqwNrvAAyNOamNLWi0vbpX_e6njuFiaChKyOhKbPFhWtBTt110ge-NxD9S3iAhte65iLUEaTIwdCWP58PRzWdTjAxVyCFAYfD309R1lt28lOizAbEbsNM59WQ6nNf8o2KyOFeVNw9KuJebsw-a8wa2sD56WePoMA8MVYXcABuchAKkrJEu1iWIVry1hxZc-SKUSb_1urVhWDRcjZq7GJpavOtcpECiOEQvzVKie59lPwZ71KzDN-_CQN_nQfv3cvC2Mdm9eREnqDEyYJGuqulYtEZ-nFLjEsWzUa3FTefyFNzx8TCDgCS3XkrEMK53I037Y9QE6eOK4oPzjjSNtLiLwSmtE9oHXNSTaxHAlNCcTZ4I2xU6WkQLnbcDtss5t5csvcoKaojUwduxenHAS8BoArUOpmghTiCvGlCX5wPu6V8j8OiPRXsyMweQl8LEbtQEmHiTF1GUtiLkF8in7jTmCvLP3DNm0LVIGiJFzigm_tukuAUiQeUkmXOOLPIjCMGysvrnBPzCKc8jh75QGuucRA0eu5aA45NlmDMCfF9UJ5L2SlRmUwBJh2UCv6oenygPiZ2ToywfIdtguNyrWI7KmHR3wX6kDrd9MqV6KTzCa0ReUbutb8nYHQa3ZIfnxEb2JhaqQ79X1sLZxGbsQoQPgCK5abu1lUZFuc3UDFZhZzZSSefmnIkiETKT9WsaTO3R6w_YXLyGTtIuru1wMCuu9Vs_rj7I8Hk8KF6g4CkMQxwM3qjXmSq1LtWaE8VFEKD3hwL0jjFkBDT6B5_f6CVWAo3y5AYMYoZp-oFoXMm2SQAjqKbLSc_OIM092b2xkRj6KaIAfOz-MG9J-On7HE4fadlhsQYYD_GIEyIZCBhq3KiboFyXdvsZ6fVMUOSWkdx0LCJi7Di7ZXuCxQIStORcMAPvZRBro52FZX2Fzhp1qY49gVpJ-ZUmJ2arxc5bAXjEkgNAeoVHzTh5E3YHmVuk2GoWfwZnpDpXj9QE_rCPjQK67VvlQ5DKYZNnT7mq4xr8CN_UN5Zr5rBapZJCYyFfbGpi-sc3pG-OqFOYGQVQ-W-xyQHCxFj41xaDY4HHvdjQKWTcCImIri-wmy-PKz7jaTNtO0bKghHZ1ndGmoq7mMhFumCaHr_C5IhTP7vACbTmeRtBQyebybIdGax6uISSv9_HNGXvDrvfeyral2kiUAs1mogfJmpEvay2GmyWLrBI24-z0ano6Gyjc4lbD6PxT3wvaDEO29q00WCmhRlw-hZx2tPOu36w2lylvyPci7AutpcMNAxb4-slVeffV71WfYiWoNxXNOUV28_fNK0crziZIiyh39ujHtfaMOd4d2Wgoh74MRG6_wChRnRadTbFA1PjzwdpkgAlT9kgfzf2CA9lDKe4astphkCOq317yzlnKwDjK_xu6WBkK44ps5TY8HEqDZTNjgOhM0RaPMhtq_luX2tQ1Fji7A3fuk2Yj5zq0aAh2mlIbywtuYB1DsOChA7Gn0aE496OoSLTMl4G7MkxSZaSzUgTRkD8ADLeFGcT7aTYuugs0UQKvftz2f1eq01so5ulslLpwkW4YTE78POHsmIttn1fCe7kcywYNQgwgjaB7Z63MudmDYsPen4C0fA9ERGF4evAhfdcdFZvvzDitfEDdSPED35z_mzKOiX4TFzAB0qZcewZqsYyQ7n09WZu46rAKD7Ue30Mf2Sk79BrtevDYs8zCpzOF48zecwDv7d5tRDnd7ZK1HkVHfbsoUiuuLonHjzBvxycFqjFPNxz2WFH5kMXL-MHnM_HruKWfrtLMMNHQogr6-udcex_QTJPGG_5oMcGkKzbFSax0hW3WQ7MWzTmRzR9DMj4uLInk72iS4VZUVFZuNwFIcmkJYoCbOZWSrCh_eIheyDBUNoyFDHpGY1dTLQtlMMhcYhppoApsCulQplAMq98wBagnNacz8m2FJZaJQ0kYvTuz2daBzf4OPZfYS4z_YscoECf_Z2qY__ZoFJ9pR6phXeDU6QvCVtKvuXBvuuwsY303xTzvFTVlq-aNv75qT2yRRq9dnkuyKFfU572HE9sc6yutEtDlvNe-rHQDUz1KRzwCqq3iULyBKn_56DYGQ-JErxtZsjcdazSgC_83s5E3k0YOMahPIIUTGDiXu_S-tVA4QNjEsyo9ePVjT2MNJBtKDuGdKxqglRk4BFa7p-Hro9uZU61pcCypm1C0kBvV3T4NJQcSJfS7RoVE1nnAiC3ShiwIZ-Li_860a0SYSHoWIDgQuk-q4bOICytZVkk3SaFSsooD8C4dPxVnPWxjSvcrzYQ1keLJWJ-ToLDIzlFlA3LfVGye-BSwKdTDdGJpjT3XmfejiZSJxg4OPeEVf3FOexH6tw6u0LUPxLFde7bz_BCCRB9tUCOf2kDbaArmzW1vjxelcktCDu4382FkTqLLMBbhLCgechMqkUX-ky40HxooCVDILw3_oi8n8OuihacTZyFWEmPTSjvnNe612-pS3Hb_aS4UMraLF7j7M6TtsfTQVB8pzywPWoLNbQYAZ-RhmLEziizofgYIYNmIuNSOFrF3ZszQhmA-qJ5cuHAWuYP4wCnA12wNojvEJVs0FkBtiqTkttZCe5Rtu15Om5GYJMxlLgdZbkj8e1R2JgAV1yzoBVXLjaNDAtYBvm-Iw9jH3aZXcIV_Cu-DPaeXvWKsN0uxAxmQPxtoQAilnsM3BtzRjXNmjsE6qwrWS5sl9Wz7Nm6GuQDJ_fECpindqq-L806i9Z_8VZ1lVYVKytZ9UAwARVnhTUBpL0luuz1KvljI0JoE4yKubXRc_FX2dxTjWEK38nAeauaXMV-zxEQO79O8rUXOyCFC8akf06n0y1dAHSp6l6BISPbt1jSL3xfQIEcZjC6HsN272SpJEXH4xC87n_keRkboNc4vAunv_gzDxLodoLEMU04hLMa86APJsCtiNumst-nV4RcbQMSiL0-NU8SRU1boBqYkVbIfGirk4PQMDQO7HtEQVCDUVGcznRLmLDPokwzkuN8gdLEs-DcTEUueHYViioljqc1HPXdjJgDqh5SuGKHMyQMlRSPNQk0GCDgcEQnn7518K239N3r4HffcN1r_0UqcGePFz0cn9E_RDk5hfxoShD2qnKPZ4MJvqX9-KUQL6fc2KnOP06epAy7xTeT34COvQVkHrfqSgu9D2DdB4df2_PrLiB0BCr8MuFLDRDTMrG9gKoKVXZyM2lep6V_jffkm7OdcnApOL0h86ulEdahIC8FvAuAL0ZXWSMOnE4WS9gQQWFDm4tBu1na-Db1kjJ2zPbugNxgcNodD4l8ytZJ4hwe8-FVV8JaBCPIIzdKcKQ614J4ItdRrWrJhv3BO3imNuKdGAljSqa-PEqPlt6obmuOYOKVY5s2NNMYkSyPA1eSxyIdXxiXld5ZoYhEZrdrti2aw7qkDOERdKIn_4BfJ5ue5yke3x9plCpLroRzI0BeYwyxDfoCRDN7AzPy1XPzc249ZbiuslqSyXl01Nc6sA2OPMHFIe2DZdTdCkXqEY6L9_CQyoxKFjSwzmFIeCI1wiXuarhH9gZfwDbMAMYV2FQubnIFljX6RdeJXhpOvYvk1YLme8AnQsQFeZS-2ALjdjrk_XIdLWrx1LUyhivz1rAZNj4Oa-1K9cvFogVg-gPXwx-6nDPtMtl6aylpkm39B8PRPzcW380N43C0Eyqv7MQ7_pEwAXEYtGCijFZRm7JLmsxGVj-jPmrIRIi36OXdh0Zm_Mjb-bPRGX323JpCDrUiRh2URH9518PHwvgNVyYQnnOxEH1oOU4mE2EQh7VtWdpAzwquoWEs54pcYKdhRp_qIqEKYF1zSeICp-7YmRK2ZBBgGOWob-AyCtVKiR2jk8UKUDhUddpSExrFeBtlhEtYnIl2Rmmxk5MZf5xVFlfFRiovOvCoi-fV0jZ5TzWfbt7wXbrvew3a5GoxupGAiFfj95m0wBPVGEnjNfRSrnL4k2VTqIeshsrR6Kucj9E6IbPcLATfgQNZ0jy7xrS9e_Rx6HqdKlpnks6pvexRe8yayc9mDuHyyWNBYd_7T8Ouz5m4Ye-5H6IZgkQqdKak6bZpLCop04wLLEs_W4Xv_f1QJnPBoeSFwG1k3R3o3OPFEYQjvERuVUB-cQ1vqE1gT7UidojjpcsqVDjdVzwU0q-XkQD7ggMrapmJ0KBfzkG7UOUhBTVLiUSajsBo4Znk_nGAUoYuVNEn1h_SCWfgKoA7am4bWE67UuVYX8gpAYuL0modJJNa7UHd9I-K-DDPSHMJ7VxuDe2kJU9ra_DXVZhihhvgjJY9BTPANUqd_GVicR-wXEwWj2wW9XTo1M81PbLolyqRueizE2-6dTSvQNXX3nGcpt1zmYqY3tTPOFPiPzc90hY9FsWGrVJ-PENneiZpRBPb8ikf9CLDn3uNbVNe3taiPTcxjwxElBczVOV_VBzAVUGajk0B5Ql65iXdxKtRoscbwkPiNLwHvYZ4xgZ5qT26OHdDwxKDUZ1IKODFOr0_CldXLyTZKHvqwkVzQP5rDBFJYf9etjZJVxaSDTLadysZ1lPCgnj-0Snh_FfQ9yoQ4qXMCLBU3MIWItG0pUoHH8zsBlMk0IRz9gG_eTAOx0gGqKWGxUFuYoiViZYrzvOiPnAUa7tGanabQQ1me0gJfq6REeV9d1urwLozUy1FbfqVF-5XI06FdHNrnsyVnwvDfDtI6FmzklwSaXygfDyjvRUlD6iLEoLBqHZ6HPEzEhZ5_I6wZA-WEcVvgZ8c-HaPx37580t9kThzJO-q5w7jnfIWUSmswvKRmfqmb_H-IsVkj0aAd6OK3pWhBWaMp-GeBC-nu7AVf2DUoxhv5S8wrCpy_S6-o2kk0OtynOVzAuIKqGD2FAwG-C1KYWyP5zMx8htJlCjFwndle7cLz9AAa18BBC37SMkcUSKCzJ88-aZfQQ3t8N_b2DXQ6cGnCXWo4plPre2LnPhtN0bzCJk5tjwkZTzQXiH3mV9TSUO440nhmBAzEQGTfIXnPk-gWVdouSCO5JrtMLiPXl4JAFaZ44muOEWnt-yWuCfsG_1IDE8klVy46ImnUGIxNIa8OAYNuMR79XPLgFL19tg8EiL63RTaOUakO5E1N0AL5aZnR3WVK8OYROoFvjfep3iOud4w72mg_cPdHsPN-KSYQQPw7PgpGr2Ep5Fkh_knqqz14RxaOh_Zhk6gI8ALgPOyPEm5UJ7hRyD9xJSihn7nYpNJJrKcdKUQE3O5i1VdajngU9HNKxbIvjGo3msg0AM-bxquqTaLxruyGMEiieA3Cjzy_HU_hL9OD2mQfMaEZNEmEnORSXsCh186ajrQPPVwS0oc0FBHYNSM_tbBs3MT6sRWRATNfozuVGfCZQbNHXgyAaUpYLIlLx00SN-R60RzfPulWLrLXJCgWtOyZkV4tI7KoeHAPm-K7vG7490R7n3wVuNVNOYv1Ls2r6AhSduuHrvHw3euD-h6afs1wjpqsvUE9rQDK_ZVdjfnyMkByU731oH7M-UaC7TGDRHYJJeURmUvHkOS8_vHsyz8bv7JlHmP2lqrAyYWWgZQVbU3RUJGAZZxSPgMg3nrwqBHYJaXN8i_DbMm2aKsyL3DajvQPOKucCKCD_07XI14-vLXnR2NRAxGi6P4Muw2JAF11nG2kSznIcWg8mH77gnLOw5EuI9DUYxSuNaNmAk6D0ux8Qpx0ktpX87ADd-oCQFRQabWd2bkO7SacIO7V_lIQyXKL__SSl2qJYtaSaMyIbqp2yepMODIylXbbDfMoFieU23MMPPhbkhYkCzswsRz9CNQGjAvXRDliUVEMAK1R2Z2SI19MddMDmUSH5NouUqT-rseOKZ4gK1B0F940HbAhwgBgpjl580hcSL0YLEL7qeMwCU85rGPKzxpSbkwiFIggXskTheb7UmD3TIYx6HXjIauNI-C6tq0MGgH9hJvbsYWLijLo_kag_XEWf6owHTKKq6OxwYyRul1rpde_jiRXBpLpf9oxqyZWsoO8ffpOtR2JWm75kDo18CK6OO3fQg4n6gBfx3_jZ7YQ5b9puwCj8vaC_FXKcJyyuz2wY2yO5KXSeNpBn5NWS4EXG9yDz6giKZSwK-aE3LsDRfRZU7oqA1ZEQqw1qZRf_OJenIoes468QI4fqcmka5X_atvgAPsTgzPED9y_VhvBeMJXvZscdP32gMiU7JdPjiWCvObgZSrEdp7Q6G_SdgA4LNN2kPoWvL0nBT_aJ_kzZMa5TVIxlhiWiZOK9bAbsLsbcUH-ZY8JnQmDjkw550mLHg9fN1-wHIHRxR7MSsFwnd4Qz49eyrVkCF10NBxfl-ekWX3xJe7jorRKMLWOjZNt843DkGjO45rchXoWq8VqOKWqaBmEPVZeRVimj9C4n60QTj4he6L2Zgzkcv7t-7ptxKD7Lz7UaK-TdI8ZQnxB113C-w4OGCGSBjnOAZC37LoFeprTUNvWpNx8GpfzJrzt1HwV8EHO_LejtQMM9lMCWUSR0vbEL879G812yTBZ0VcFy4jPeZRe12y5NFintuYF7fLpjM-Aj0GzeKzOEgbGqIncsmLC2fOdNv2cCAHfS6CsVA1h9N_SNcLzfCX8FR4YU_VspKCOwrrUk1sgz8aeALDyx-fXRli0V5sVSYM7ZGqvfCz4tZ5rBlds7H0kbo5kmLlmuMmwCbbAK_IuUw5IBzOZoW4To2qjUyFMEiXb9K9w6O6NE_IHYu_axqNagn9JaCzQY3mD79Dr072ugNUcKarK_ySn4mKn6WuU_HpB1tN9RHA2vfTfODXztlrud3t7DZZviaWHDR8lmVZtlUM3JxQFtjDln4sveWH1l65HiyD66bnVuM1Sxu4_beGYoaCyZ3w0US7aunbjaTTCig2sO71m8YD2yGT6qg0oXKQDQjvopSpYjrYUbjyThyE9hqfOLhLJvJngB-wmrhXzw8Gmj48GXusuTEGVG0P8lgPP5Z6uiiNU0lklGzv-5aiBaRjgWb52LFzDM4-kGICUl-rPLzsOMhs0jXhkwGtp5F-L-cyftNN4JJL5ByKEKBXbIsDQDx_dno2qOp4vziLrFOimq8VW65OE1EbGEAkYV-81m_npf7tNKxyT4o_J642XDzU_3XN6u_LCscIVFOMliq5IGHwfoGztJ5sI02_oJKfFn7rjfCXvpGNaG8oWt46rF9fuHSF_Qv38Yup5R5J4WdS67_kBk2C9nIX5lqDOdU74_xmkXFMONi7YziQYU9Ij7PbEuMEVYVV1rVJzle0BHXmyVfLbjJnuiV9Buv7WCy6okQ1-3MS1tWkNSX1uiuuK71GcVbbHue4ahHtN2HdIZMqDhHXZELnm7E7Cl6wLKx_anLZDyd2h4QeMrxePj21BL4LsLkOGelqRPi6Mu4P9RpchwL9w7tit8h-xKhA5S0Pb5w8kULmrhqvrZhWDhzV5wfVzB2mg4LvcNuoMyYEN_FjhC6HAuFxt0839gZ0topk59d8qSN9354CpqQv-dmGKP5mi3T_rOxQ0EoEzqaJUurOWBWIGJ_oPOBBce6ecAMwZ44lNXeDtlfMJi1KRPYTqC2NqQjeJqS58MqiewVn0793JzpcgQOxUk341VH2-y1xNs_RbYJ3NQKfJTbsJA3fU_eC-CkItXBckoXq57HlE9whMOULfOnElA1vjCia0J0PE6dJZGBCUWnPelD_hMxB8SixDw0EQ_cnWiNXBr63lb7rbbuTExmedo8anCSixTn5kgXw2aoWONQc1mZLx6MIs313FBRk0GuRL-iAuqVx7__0Wp5JTE77pCSkRk8NyRb38Z7t8hmAcrwcguL6NSf-H4ESsf-p5zZO29DAq4bvpdB2eVzWadE5ADhNb-DHJ1vA7g-dNF9gwMPcI-8SHN_p59ulztq4ZyRZ4t9e6edjLJwP2HNMEvqLG09QFP7yjLP959beW-lZQbUttRWlmg6QNhjC8OHxb4nWVlw2IyA8tILDNMSL8g2mOvUw3DD6AiBDEz0e85JUb9VwWdldUJ_dFIeZ9GF-sgL6lZT_OzTD2YcPATftJEmd2DC66PBX-Ihxl_Rd3kYGRRx04NWvl1kE0loy0HtNzJOD9l5CfzOzCPmldXx5EnINUTrJH9RW9A65E36UU_V_qC-2atPk3HI79Pm_boM89o9qV7sK4bYgnnUmtvLHKXCznb8kg3gS1xbTTCDpxRK6T9mmuMopInF5dksKjHw9Qkap3HksBpAEuuqq31tZeL4VIHe9KOgvSC5Ls9hKvp3JDj3Z4f0t9U9_a0Jh7v0N3LJlwLKaRHUcwI8NJwG9TFMijhvEYE-CDGSCs09lFCZz6I7RHFddFAOMizanuokFCFX_2oVnMCMl6101-PT_tTyojbMj0wiv3K841MbY_uNM4982qGakU5eLG9BKqFhB7v1IxA80WYqaNwwHpqwckr7hDw7dRABdsJ4uexKaISzo3Tct0KtfOYhSg_ezEifm65DGyLlabiUOxGECM3TwttaKwQIX75G6c0v1UscO0Kd5oejE_ucMvRIUplwYaVA8xtA10zllwwAwoMS1ifT9wSNfct7xNEVK9r_RVZ-Iz9Y_6iDHsaSuuy05984flrpxVeeLtjfFiLTAP86WFdsW4kxWFt2msEePTi4EEavhCNY9xwg6C8_4fBIcqHButGSaGbs7Pb1PxSS6UZ8ahTavw7CWBvHNZ47XWzftVUxh5LrewhhEF8dgUTrMyzJsx8cezHV1z9tJHkDUfginN6QB3hoRZXboEjjriMGIx7I3ZLaKdD1Rz4jL1t9iLFc__WHGwVlVeNP5IK3oVog2l2R_5icn5zFbkFD9oWMaW5QAL1KBkbP6icP6iv5hEEQhyrMUXoejMjCpmTACrNRAt9dbzAbwZPO3Yi3rB9Yesf_Jl57mjrMMlo5NQbg62LrgB6TrmgQa2gvsw1syrxvtwSUJXedWGfmbh8bCrOc_29A-dPOzlq3XHOn4KDX8WZOXm58dH6uAXnM_0VFFjaM1GWltZoe_6aqr1VnKCFHGyTeOcg5u5E8_leRWyOroKa5JFr7r15haABSbHlrH2hK8XfhOWzZQGzo0AjZbw7doUAK6CVmnYpZ11J-GuiscCq9LS2N__o5t8E-hjkK_-CNVI2rERbDWIyJSqw6ZhtZpyuxoV5OFV-Nw73LofJctWKWkZ57xQNSHPAWGyC11xxQ5Fj4_go-xHAUHpjSblmE5b61tn1o5dohoeXT6crOWj1v4YeZEGcRwg4J3BiMrcGlumkWIEOROkUpkGAtRLVHQBB5iGyaQAf65TG35efLhety8_qOMS7AWfpadnXBokL3cFFaEklC3sS4GpCCMyESBBJRQCOc8F6e3wtvY4U7RPgAo6T6LCsCuwVKfLk60ksYPNCXNo-gMrO1MKW-LXaB07RihiesxMKjh4nOIeaq91w5hl1IMEnXfduLIFPOIIsYpMI4r3FfCX-rdx0k3QKUX74w6MbHoP6y8I0T9epr4Xrrij4aI5DzSh3fEGCfsv2ExoVpEcrN0CcsyxBHWXjgqvGNMC25If4qyXPrQuK9WzOP13m2G4rfrKuho-eJUmGcusH7LrVr_CSpxw-nnXfE2C5yRpu5FsZmYeLwiZ96corKeHBivnnb5bC2tWw7yrDDYA8q1CWj489cBHvVWiAmF7bbH5NJwnOgMM1clyXdArYx1-d9yc-AiJopI8sMJBULmIhFYao8L-s4kyRRZ0hjtOHY-ksPYplgJEmpxzXCVuYWylLEfWCMDjjez_eYnt9c4eC-YdcSAinbt06boFFxqflHaZZ7ne0Wf6C1FsHEHjSVHkU3pkDF0r83XFGP5boZc_GjkQP-XVIaQXWdvnksgyaobIsgq6FrW0TBcroOIrG_g31ajdlTWZuoOEOgVyCvBi-vPCgl-EGjHuALvzMxc8C4BiQNRUY7JEJMGxnAsOisZNr-1-9tGsEi7H1wtx3bIw1CV-_TW3Oui1De6Qe4UcKT5LdElOwCZ8CwDfO3LcdUS7-sh5UBIgqqqbTr_7gekJhrCc1V69u9nGCU8LcTO7bZFW2VTDOJtlJ4eRBvDzR9X7RFYvXGE8vmYNwtDlsxebRgfoE7WXwuy2wkZf9hvVdHeRoWFjjRc-00gh9IGSqEyUNVR8OrzvRt7AHmNcCxGBgvCWrvo7st0DM-58r3OHB4GHx2VMkpSWejHi3wvUEXph6FlASvl9DQCAnB4RrsMFNBL50rvk5IXnRtQiWWJyBGkb37qDIhHxoyPiKSNL8ZmXkCyIGG-UQSPEbQMI852VWQA5UbCXLRhO50WPYeHWglx9yEjQqbJFEyiKmVNfs8dx9EfwPyLwnsjNGqiqaJ7lBnXT15kyN6U46dgY0gdPYMu7NsGB9LLagLBSTAaFc75KLhcCdpq6LUoHsmslMcx1rwp7wTEu733l-npAHqbMQ8xEQFgYtBPvUIluJo0VA6qOX3yqg0ji_dnzNWbb7NI4AK5WIXRK8dLUqPBzZNd2KY2_ZbYOixJ4GTPiNwjnB-Fj3kK97cEsgqMkorILdinMa5ZhTZuUTZ8O0NOVStvsvdKJ94AFdjC4zSwj6c8DFYmf0RWPqNMHdFbNBbXLyWI4cfFavc2W4JSymrLq7KhDqdN8VBM_Vr8mhv-TubWBOVUu4suOX-7j_p83sgfkz0LWZUrNePl0RK4sIGVMpUa96QQwSk8atCHNlBH4Y6XPT0nnp7JNFW0UXJ8j911FA3sUes8Y4rYBDvdje_A3BYJ5W7Yacab96KVIAaJv6sbxMTDQyypF3lBjzv4Y1dVwutg8-HE-LU64pFk0EBP57JP8Yhh-SKH-H8Pn22yy12oby7sawX6ztI5z3oCy22c_VY_TM6mwhr9thgztpGemvByiswX8ovz4lysEq6fEEh5rKEqYgArVsC7qvqhSLY9ld5BIcAYAKvUb2mhTIUvgWA09DEGCv8w34HTKX4iRMdZ5W5E3o-eCgYf1r2HS62FewCHC0OeVSFURTuGQCqBwEyj3N4zuKKFzBMwNKed7F2kAdFQVWSM9-4IRJA0prdDmg0x8dlWDq60B0p5e8P73z1MNcOdfMZrz3-azpGafOt8uqvYwu7TWtdcX7k0KaX4Kf3d7-jy0nWWx_-WRh6o1eD6KkmJiKJNh0nr_aCeHpqt-kjGRZPQnuCvTmKYes2aYVuRgixlYNUaNin6FU9u0arAyCHD33CHtJakaKEdCx2b_83Oi4c-9Nci2DmOw5iFWMkvkp6DXBzT2n3Jn3plvAPsswjBEAUnNjX4WzopzFSJl5k-TPEb0aemVj1Rx3rNwO6MFFY1nHGxnrvcQveNPlajx64Wq7bxS8i6MlbixSQ4aTXaK2Nx0Mo2UMeo8U0wRcl8cxPgYo87hbyUQzq57mrs4qTDPiWUHOejfgDV2Dnxg5pdB5beN8vJSN0v3-PA6oUSPBsPvrayOrbBYZ1PaNJaEcszXkY-JpYiC1lVFr19n0NSWcim-WVbYEKpJkJTLzkPNNNc2up76FhP4YWGWt-dqL8icBcUAr9G81rw-s0XA33wdNQrml80wq0p_jDl_WGXAwE6IX09sPRIlYFDbOKqRljbJXc4FYdw1XKhC7BwPB5PcyIXK_p_jMPLZa0Gn1BixzUqsoIQgspcboC7ge2Noh6OuU3_s9PmmWsv7dU6qaQtH6sukWrF98wQP-tD0E6LsZJHCUAdRVB2CmsDGh80aLVrFm2IhE7_Jiw8ms42Lxh1nhFIjYoz2iQ8heEDjBG0wVXRtYSYfWTD3qR59eK9gvwzbBLJj5tFvNWnvLbPkxmZNFR1Wc0x-lJe6okrpXEzsnkmvrvbVmTj1zA5dNYqHbJPr_U9jmkjyABdSWPjHukxnAarSWlhQwHxJmOhHibBksux5N4LW4Tve8a30iDq0o3_ONKu32-Y8qvmCLBg7X-hYPFF85LG2sPqFgU2yOcl9_3Jv7eIlmLL0s6qUrlsqDiLIJOIGCYVpQ7AyrYn5Lb6WvOsDqIRsz5mwbnYCWu4-wX59TmhY-3lputWRIc3iMUOBLtaxAjYAVodrvjN1OdGiVC9LjKOauvfhDIB7FhqOMhyYxVaKpOL4bqnM7_SQ8iTbt3TRNoikPax3i0dUzh_QtALXlR6KiznbGGIwj8WrsOM1yfPK_Z7evRxI9DabUjxUXv1lcvLxPCOvH57AXqCa-yc9nwksR6sMbnMZ5CiOKNQyBvkL2mgmdILy3BfdGcyyHxCI7wsbpn7aM2ZbBoHIM--w6VJmIZpbAHzNMHMHepHle76iVgKyK0Va_kiRvSxmWZDTkFmgXSxzrZVyqODxMhYCf5UbIFcsVMOjPt2APdzGR65eQfxqymI3uobGNmgnVW_3lILEuDhq10s70hcyP2KpXTv7sLpxlTy-0LPRBOdw5WPON3DWrn6f5qjNOxCQHTRaAlXZBhSFodH5TjRboVkpp9tVumz3yCL3UFNN1q_GCmRigmJlukXPYUw-6qlHZpxd6ndyWVoZLYin7umZDF_fqlRWYrSZywPX_cbxr1tcwYH4P6KNuk_qrMhRMb9LxH4YNsuRotDA_XKe0w6C8qvDymWT91FY0gWuW_dMwGWr5ywqlLt6fBeT5PFhL9dOUw1h0YstDrbP9Ox6RPWJaOkkjg_scXIuZ2HdCjUJn1YlZKGs-_Z9CpT4lLntsamLT1rQXnDNj839C1ebP_-RD1KXgoqQ5hfkHEujG6auSohScuuyHozVKPIPiEPQTdqGyygoG_yIlwTFGy3kIZNIFvVW5rMALmk6beNpjLpIXmDOudApGkn_9zmEka1yOGvbGnQU0O9YVPz31DoxgzszQ9EXKSqRlfnGAjhI-w7kNf1C3KO7KAkuD-fN3LYDYyF87c4lmuvjK8rLVW-PdP2jfuncmVXurR-ICac2N_sB9p9NFgVOT7Z0BFJPYsK1WM7FSAQ8nkWCBiwQhAHdsM9AYxdIZBMsVQxNUIGnCvJa6-Btj6MtSvrKVJRSavSSdi6dSshlDIM22LEekh6S0Xmb5cYSQ3wD73JgUPbRNspaZoLmeP_WZNWODkMpatZ5nLyfDTaagF4OtOqA-rsU7kDPbEIWj1yPexa8U6PAChPU06XuaXEJ-LoXURuCo3TJOnKOUr_XSzHXkvCySY0V2jLUXkoTy_dfvmgm5C4Qko94EbeR0dslcyKKAjRvq4u7HMEiUnIVBjTjEdA05Fv_BNDi9BPhht3ofBerjNNqIbvTxDMVImQmrZ8l4_gmJlEJPhHMu0IAAPcgcUF-cxFojtTM5CBeOa9rMeIZRn3pz9wtvlWR7-XPG_wuzQRy7RsOa7yvp3ZPI4EJ6twxymhf--h5gX1IVUDg0DuHEsaED4yjZhf1L9mjk5r6U5h49hONBtLQTkFpu6or97RRzrzC6RIQNP6lMonH_kPrtxNLnuCRMzZloSnBX0ehd6cQwkojPmNy43c6ZD9BH5-6e3QmiefoYpgLZCXn5RSrNbXy9y_CKaikMWENOzGqqTOrT75i5yAxeOm7bL39BhK7cO9Nqu79CU08GwgansuQl_kSGjot-1nl14E2kgd15WJEfcwvh1uPyLkhQVNGsHJrvg9jwijTXDrkrSNBP4Btt-HbdDyBB3pliG0Fwy9jHRicCuyvC81Qh2I1o4vhRRWC5LN0m9UBaLJ0nbfTnn3Uz29ZNxx1BqArzioKF_GkrpErh9TbM2LWeRtB672uTWS1e6fXgbmzm6r_a8fdEJCCTAGIsP4DkWl2MXVd_yxqgIsjDnyudWyBJqJ37ELfe0aY6R6MqHGDQaaECFbHcEp6r7_RzZh-_z662z4LLVXG7_OJz3iOnSURcy1jdslwp42boBS_DwF4XxByZq9D03MJXUTN5G_rCQmOjEQd05nD_MK-bd4HtPSuAWHRUfC0ncN0M8PzlmaZ5bzJ6tuh8ZRXmx25gVEQkeHlNAv72MSAxztvGuS6P7ab29yUweErlhexkTjJanpTyQ3AUVtE74_WU_yBQAaeMwAN2wu1c36fS2-ULGwwOTInnVyxpbtwNPAKmRApkELrVp00X1ly91P25YDAD8cfdF5bEaPFm3Ytq4jJ68b4odXFfYPwARVe7UV7YawfBAf7bd29ceGFgBxExpx6F7WG_E10wGHkieeKV_Y8dT_Sr9Qc6DUBfgDn2od2JY6BVVB4c5BKUnYRmFvlvriGxqMFkK8TL-yHB6ifaJpo6HEYwV6L1TzeM3vS5FAhFJx8dHWjihv575zRNlqBn6r7sBBs7-m-YnixrrIwSQA1tltIpf4ItYqb8_VG-YpKb3PnKaa8wXuioy7C15XcZ3wcb7l0v2xLuUGx5sRxLnJPV4A0R7ksFy7A43TiRjAtT6h5YszPNDMWkWzLYIYE-LF9JfbrAT5Hc_exgJokghRtmNviArZ-tehd-W1_1Oz1_FwR2rcvizrt1TiOHlRGByfDoJgg0IQoa6crXxZdhOTsu5OEu4CKwPrOIlD_6WKJJDuEZA8TAg6LeG9ljVEbmYi-Pa8LYvrs6DwJ1sghkYCRDdEGDT1UwnTS7k5IZDkjgl2E8TBnS2tpJIcA7bZsl-B-aHCgQwVjs7v4hWkFQ";if(!e)return null;if(Sn&&Sn.sealed===e)return Sn;let t=null;try{t=hs.parse(JSON.parse(qn(e,Rg)))}catch{t=null}return Sn={sealed:e,bundle:t},Sn}function Ft(){let e=Rl();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=ys(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function $g(){let e=Rl();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function Lt(e,t=!1){if(t||!e||e.length===0){let n=$g();return n?new Set(n):null}return new Set(e.map(n=>Ag.test(n)?n:le(n)))}var Rg,Ag,Sn,jt=k(()=>{"use strict";ps();Ge();yn();Rg="tokmizer-default-rules-v1",Ag=/^[0-9a-f]{16}$/,Sn=null});function Zs(e){Al=e}async function Cg(e,t){let n=await da();if(n.size>0)return Ot(e,n.values(),t,n);let r=Ft();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Dg(e,t,n){let r=ir(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 Re(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
71
+ `).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 Tg){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:Og(s,t)}return null}var xl,Sl,mg,pg,hg,gg,yg,bg,kl,Tg,Tl=b(()=>{"use strict";wn();Os();xl=/^(?:(?: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|$)/,Sl={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}},mg=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,pg=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,hg=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,gg=/^\s*(>)?\s*(\d+)\s*\|/,yg=/^\s*\|\s*[\^~]+\s*$/,bg=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;kl=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;Tg=[Sg,vg,Eg,_g,kg,wg,xg]});function Rl(){let e="ujkjrcThLVYAYizApisr4pMpOMm9uJNMmr7MZhIRLFd63Ddi7bvvmkJNarsABLT7Ew774-iShYqif-or0CbTCK9KnLwZOnQKG6C-ElcyyonVytF2hVOW6RBovcTSjhqi5h5BbcdaWoeAFlWG_xia8Vz-o03dYakM4rUC4t-sdveI2GcGUtCCerFLOcsX4k4JOPjHcWDm_R5HWDPEAYNEMrtbz5rfXkowL3ywmyyV6TJVnd0SpkAGlXX4yWc664bsMMu5NA8MIlq_7sXgQQuNkx9hD9VMSgu5YD337QEfcmpI0kW53jcGVuYphlT0esR3CYc64djWEj23_D9r4IQG4wj0vCDmQSZ7dCmyzBr9O70iYA_NfTE-6JMP3bE-mUTcnRvv5M7qQRO8GT4fgBCm2FABqvbEtZ9w163o4Lv8xlX7Y-hZDHc1mHt_Iyi5Hxw8FxTLw4kM7rpSBVGruGvdmckjl-iWmyPKD8T-ounm-lrwF7rcOsVMlNuFxfUS8Tta345xbjysT4rHjToLGaWMw7IsbO1JTfs8PT4Xm5PZ8kRQCF9lt4FaEzjKQtv6Nq_EO8dgY0_raP0BjUr5nSnihvu-QGIrQR1qEVwbafjxVEARIX1WQD9SXLaUgi_FIf62dCopKQiSzhgSoqzAOn2jqKeAb5_2EB-0rAmXqUoQTLqvGbPHN2Tvl9NSgYEXhE3gQYvM9n5taAq338MtODPwKgwndLbn-VkdbbCsW_qLkMVibC3-7oK1YKh6unxguP9LV3OKZFFqpYSk2DAQgKkKXVSULHfJZUC5eBfWknnN6sWqk9WEYnejxq76FyRRMAh9_2OiGxm5NAVKPptD2HfpFs2btL71s-LMQV5UCL1DJCUE8uNUNUP4LPY-_HIlHhX1JtLwpBL6C6SU3rc4A0rMZUQgRbRBXO9a3IjLTOO5BBYGRCC2-DFgYmrAYaRmlalZfD_k-1aXYkvMfl8J3soa1YSxgGAFPCFLC8IHe1fyolgyJTYvfaAnRG2ehHb_K728cWhesR1avSfYcQlbdimarRzePLdqcR36Qlsid_s4DiTKu8SbKYZ1-EeNXQOuUAY2c62kKMrZjIElr5siNQ6TtC5lCboDh2HVyCwUSRvllXteHZ1Q1mS4t5GRy9a__6kABnj6SmZRZiP1MiamzJhsVOboLw6cVANy-9Am-s07r6RbtHsWBhaU_4y9PfnA0RrE0ZL3thNfofQUfvvRCilQggXzMFPhHoQax64bOCR_a20IJezCyu0qGzxYj9yZW4zcOd_TZpuYr2MjT4wTq8Ycl8UvPkVkpmCDjsOk_ccBZ3vZGwtiznnbFQhxZAxmLmnIAcetMrs47vQGsBaDC3McP80PMtOPhKRvI_Yt21H9D_Yg80uG_7gq5THrDVC_DtKd8v-Hu7BzPdcMYVYMm_ZxApRfPD-qW_A8jQSrtDawuk69oFYvd4RX-OXwIGWMT0IYqDrQn9NM38uRa-OL68f3YwxbRMaAvz1okOlU-B1eBVePQ6577a246EHrl4GIB_LjlObqFZ5MP5Cm8vForCxVRYjkwMdFjNgdclqt7y708GkJQ1pC1ppgi7NtFZLaWV2NFCC1-3PHL6XM44kYOZ1SyjsbR3zt7grl4bomC2_Hjuc5zOPFV1tm3edXCp1Q1FVJJrxkhBfm2_GxZej2zxyWtFw8IsNQbfSWUWIJM2Tc3CgADCRlUIvzBGk2ZxxIue6IEkQLIh1xWOvt_nUl1_SUNip1MGI4j8G_tj6InhT02fSIF9B8-JPenCfE3H8uw5OLaHms17xx8iGMA4lzEXj-kpCmQfQfUF4yzvAhM9MRkzpuZUpFQSEybvBUjEqD1mtFVKddjC-2jINhN_SVWDwDtuO6mHjNuNIJ8JTFrFE1F5njLlCsLtoqtdo0khRm88E4BSpJZzLeFR402xape7aeyYH0x6XOLqDkXyteDzgI7cUFUPS4RMCF5mYGlb-jv-fdburlT8A0X4rP4vQjDnmRqRa1JBlpX5rRZa3CquTDG5zVYvmfzf6pFGeg_YxQQFFyp3ERMmjL6W0gUsc1Wk49T8ZZGu_Qmp_T3q9dCQENuwPlJKRdv2H1bma425B0mZnasl15xLiFOPnGgCZ-h9SdiqNIG1H36xHF6QN62QVsZJsD71nbkfspciDNFsoawiT7ALusH71Wqwp52HusnvGIinTJ6Q-Ypa-_-rAoBFv2rRXfMy6D-P8T9YL1HhNBLbyhqme_1afH4HWYwAtDBiYd6uB3eYGrPOPZuOuSrr29JjWG5674_Jio2PkLRm6uCa2dKKMUbES_CiRqc2N9OVD34hUXuE2MaQsJLq_h5hic1NFpUsVk1Y7C6bd-8nCzb7a8WhboFztoMaRozQkIU6HTn-P96__T4y9BC-RIXFYLPWqcJWwIy-FPqwVNfDD21KOyGUtSTSypXy-6YlEYPNOkFaDLOpsIMUr8ukttWwqrHAhZKFoKZwPkc_0y1mkgq9aJ2FKryHfHQ2pqIcNmu7HKQywhtyEj3sTPyT4XRJkIC3gEM9rrK6dZ-nhCRZDViHWyouCGZ05cvSkj8A4HunN9S50CyUNuWe2qbGWA8sJWwnsdjOtydNwNPaa84c6BrObyf6-FTRRXukZFLKGWw_o7sEQUTjpFU1twgl7bj1IoQ_35RkdlMLKLcfweqYP8qTzPWH3TIfUnWv0z_BQXMEuFS-c5UFL0_T9dZ-PVdHa5XHvz9qro5ROR2ubfcvSQ3jJXQ9n-bQJ_1IPiMgINvod-nxD6E1HXHsJyX12CIaVJJGtBEKGYr3Srv6xNpH4yva2-0UzotgHNs2xkbzk58aQlDnkqTI--GWyBpnN5CqZ8RLJau2AxKGOgNUy3f2zt9SOjt0bl7n76-96oJUwrXubin5StHsr9sLZj2xooPttYv2jvn8YPjCp4V1CUpKEbsU88TJQtVnqsfq4ysQVIRALxBMn8wd_zQD46sPGYKglQjcjDNUxT03Wx-pJkw6nhNLu6ea0T4UqlwBwK30d65s2TxvSmFyd_gGmX-ysCG8YartS8hU841j7Bn73IKQnBDPHVz0Qk78jO-y0USfl0jU9UlZbmQlGVqhq4smQNcPzcKv5WnQK_9oAk6heBuDH-Urv3yfUhDa7kNJA6ztB37BUbvalrdnD2LjFv-glVD89UEjiuvNvadHS03-76i2k2a1J9zW9_I8Vq3nkrHu7jJSYEu6mISx0E9gA3eaAEzrvHAObn1dhd-2aVAFXegcNPn6chG8SaXqJNgWEpXVyfpQg3beeLddiMGYpI1upaZnWjjokh_YZu3abKg_XT60M2IkR_uLEyKvFX5r-hM0bxDOyiETKFfWXVSUgUiiQsK0f3OiKgz4-E4LZrdMIDidmW2jrjZCI5VoSgtCHMzOSK6FBsU95TbCnMZI4ta_RR4MRPm-rTgcH-CkVh2SUda24ucUZr_ysZoVghfviF_AaQ_0Cn71h0mBi-J0zG6jgRt_sHKyeX1xYOqmN3vaxyt51MFAtsdmj8uD6llvr3QCE3q7TrrTsaBipduRK2LqK__ArIyqjEMkJA-vHwatu587aQrlNzn4v3PUh4yn-1ZTcITrUsfRrqu1BzNAT3pzhsCt7e1qfNPBTAIh2hjr9ow9hD_Lp3uD2ZDgiozt28igqqrj9AO0GASKxlMX0iuQJPG_CGQoQEA1l3K3e3dgXxNcaqj9mITo_-x1p_enqZk8cgGhuvlKYAY_6j28-3W24Rh1bmMxHQFrpK6dWZcBeBqAhNCdrREVHxieXFl0SWO03RP3Mkh4g_aBxyr8lqKHze-L6ZdSyOfAtP0jdsAWrgqWpfLQv-fFay_85yPjy94m4r2nFigHPk1m94MQ5eQ9Go0JLG67W6ZxpGUW0wJ3Cf82CVke31Jd8HHG700iBThDj95QHNqr-Gsgt9G5XykO5DTDbYDALEDfsekt_ufMl0IxSH6OhfYt3llx_BXJDUxUhylS26r8ah4YEzO-9dWWQSHof_Mi_0LeaVAnu7Ayyqihsan5jANmnBCzoCTzrSSYMANoypxohPsgVbVN0ylLkDX0LUfxNCrltIkNdRBRVhu5ypwf1OZUFI4mvdKYfMRzShCxlIpK9CfuaGAarYLKi16-Lb7-TRUWkbIpi5qa2PyVNyZE2ZR-EXrRh5MskcMEZOJGBhB5TDF0xepfm_8lhtRHME5igLk1sW-rOzTgAzyMwfnSRVOKTYRQ4FSkz7HBvUemfE-VUFZt978od1hEDEnwxIMvXr8VsRjWYH1TvUONwWeKIq14VnqGphoMbOA0UtuEwOtbXm8KqJjXgq9oqeUgFfjIP_-WbDckIyWWv7nm9RVxa-t0-kKeE0CA7Be07AHm0atTpaigt7AFm--f0qydQEHgNs-Ep0-A9tdU5oH81Sl0hOuf5tkkps8yOeQzr1f0jENVBOHf9C7yBM5UwfD6HTd-oG0sn7zu4XYSQ0BmkhfA1-rN8oZL_SGAj4IPuCbKQ2Ja7bB6mfqZ1sA2DOEbM_jpj3-Ie5f8WBqxv_txrDEZGLk0mp9tYM9UpYORswNVHlVEuIXlbcpKweplK0-ZOmLYKKYvD51-hTIhxEldb9GlQl-qAoo7jn4HzcMRjelQmw1b1m7WCmBAHBPFcYW-lA_MRQChpZrU6OYTkRXIQCQNabXEIcqmGaHHgQzGKIr0kIfXFgiEYIi_6i5YthIn8woT_3NZsyFnZ3QtCuK2sR4JSE3vFn5AuLlPVx0qBM1r0EW03pRIueqncd3bdvw0EAXLvfv1ovR0x8KK6XNxBDa5SgiG26yaRjNKrAE7_SRVVvKqTIdLAPWLm5jwoIOTmT-whwbVVOVfbqzC5Ql1GyDfru1Vsiu53TWgd1h4Nos5lbEwDC1mIAnBc2kotDsM1pviwxOOVtRA6IemtPlBpFm5Xoi5KmENMZ3IDezqYNg5jsnGVKahPa3bepJnd0cNuT94sXPO3Cxxku7C5YSSvpKypeSbnNEMLaqIAt-eRzN8sxQZk_VlqGHMWElJLpmwLWfJ6YikAmszigB8iKwkF4TaAWfMRLcJ9otKkc4po7rND6fUAJ6AAjwYhMJbgY8FCcYnpZTVVX16dYkrVo6Z33UH_-vRW6caoT-CxDEhe2SHs7DqaXaFbChb-sb70K7nrq9Bn1Z8_DZbu4p28aeqYOUrqcHOg6FPI_nIJmc5XbIeexab0Gmv7RkTw-4Mbstg4s-4fxv2aRcWJnjh2lM4AtOFe2quC7cizRQAuqR2SVEKvRdayOc5RLe_9KYDm49Y1-jsW8zGS9b-t-tJINqKUuCKcWLbZ4iXvke8-Lgts-BBkqox0zj5es_riZn0LEr7_wfCfI6FZJnlJE-JvsdXqtpUhT_kZXFeIWChtAjOYGHHxpqdt2Dn1pvDQXY2-v0SqIzFNNo99-QASGif2qTrtL2CRD3A41opikC3_kS0FNLCEdEqtOSX3e__rNU-RHYNbWahBOUljZSq6br_OiwB50PEDMgDsiZMoiAPevE_jufRE1TbzqHC55falsIaWhwVVWDDv7Xc8SDjumB8tWufAO_Q6j9ILYIF65oOEzrSZl1Jnkmx4rpU_9vsMAH0zhxMJQ6VL0P9I1-Vw20CzWk2k9MrRXNmCGiMkUcgpS4dpI6fMhgpqHEp4K3xaV8i_7BzDmy0K7Lnx95GOHLGzIVr7D6ib8b7fmRLLMc4KiFhbHjB6_ZyVN44tACBAo29v8n1kEmxaSHEnFYkVBLRj5KXISlO6C80FaqWMvKx5fi4sPsWwmH-ep4Hq4AU2PyeKg6UlHLqeLRbZwC93YNhKTUCw78OIiJNaaMzi3Ldue4bzKA1e9Q2OnUpKacXl_SqrapekyNiEXtawu3Eibxl4jG5TfItVajgYSHr0FRdgMG98Oko7kEXVCMxEZsVTvIjpwmcX0b3DakvV2pPg4-l2imAR-xMF4iv8hH5AcLXVNNrc5k48S26Kd5d0dFFITERlzkSyZIY7mXfV7E6V30SjvBGVFOUaPZn3uhCYnu7eRryIuDzH2qXES682l154QRyRAJtgviDjlE-EYhQqvuQAnre1Q3C1vnEwgC2L1Fwdi5giPJpl7rUvTY8lgOXzXbI90NqpJyCyDcqf-gfaxIDj1agS0ILTF_Eot51pC70CyM8vcAszgwoxmA2bEfyTV_w0HUBZ6Eu_7X8dX6MOXp6WPBCnBvny9fHxx0Sw5_bDduBBYy7niU08Wi59CqbSCIDkHfOu07N9cRxLCS2qaOJoUN_4z1AsvLkT80aO7a9hk6Db8Q2jqtQgdTgxKQeFxNOVWWrdobkjdWxGhUeelRqt23LThYU20f5Da_bv2Ni7qOrYejXCffFUbP0TqmdXaQcPLMqHZrNjIXrPp6btiznFb1vjTKKQf1JkuofWJGTgksnmeMT-Kqp5HEGHNfxXb2PV-12FFWrF2wt7n01G0U2QfHsUke9K8Or3P0yFBtxubK53ra2-v4-0wWXu8CCaM7JqWV7pvZ48QajXnby6WTaNWN_6VPQlKthB_e3IFhxFM3yGDmuQ60ozxolBcCZr6v9FKWmU2v3hrry38fecIgFgovbPpxO2HD7yW7FxlhB-DnSB5Xtj3Fl_dLhj-bFK7i-TwywAKZsd_bn7ZxjnZFAozVnfTPNvhWvR5kCEhaXl4TEFDTwmryOtJT4q7CHbjMB5_Z9fYoZ7O4SYx5-wGm8cXqZxxsfGfkMNtikoCOLs7UK0p4cbTX_KNEi03LyswTMIoeK6R4cgojoiXQmvvXif5aOwSMVoOca0IFl0poXTWOB8kZHXVHdi1HCKgXMMzDPLmubsKBVhamBWBHPzSCTa--TxT0Abaq1jeVridyHcyv81F1VkFySFuwabxtd9olaJmh0uqrR_frhmpCPXnjoqkJYmogk000H9NW4CRmlpc3V8NRvhHJ3y-mF003cr9I01z6tO4N8CYn6l2kDQV9QJAA3VullNs52nj6CyhCQcqPRDKfhUdeqIDQ4ZnUOaCLWwNVQj4GzVe2KRZ1HLga3jcP-0eiq5Y4eSDF-vqWO7n5fdAEqd0O8zm9peDb4t4U6D-nxi1eVRxfe1w4AoOYNBTGoiwQrnE8Pk7M64YRnrY6ax9tZrH8_DrL5O3wUxbnEFtMfyJlpBzuj5rLaizpVjDDe0TKftRIOyM66ZyH6c98_TDtfX6WOYO7VD_KUfhhUgDo49-XJE_AgDSVK4YzCkYv7kHBYmJWnpDZWnJ04MZgjj_IM6Df9to79D6PoQ9jPk2UZd7LAdeybiFBIXfcpVuoNu-5oB2c0QRy0R6Dyice7xKMaeyUtZzbnahojhTzGZBSIi8ibCZcK_s2U7778tU_qLmVor9NL44djoUaN46dBLvwwxxyf1WMMPbc2l5VsKZqU_5Qetaab5xg6vxEjxFxzg8pnc7Pg8MOLCizowI18SDHVjtM4RdaAIGIg6XS50STDOk82xbHCaoxQfGGLs6pxd8tKa_kzaG51jlwbhGrxP3R5Oo-74NWni9eTWHzrhS2mM1L_MPMykFwRL01f1cEsfOk738Q9UZJqSrkZMILbZmn70QLmUDimSwk0hOXgaGJhQZh7ij2WR5B9gecbn0xriCGePUbEh5T9yAHS7WJWQbbxRCvRGYFuM0V1u4GrLlfQBrbZ9CuVWcoPJVBzkeXtwd6dUXdbjM93znl7W86xkaIk7r-Ayl2WTnjBJDBaFgB4gHXnvdY2zRB2O9rhgl2ZiqHDz_bSXTUCxCOtOIdrzmD_bpwv_ko8cIRwK9e0nI3IOXsHXhBu7OV4BnL13BOiv_39KKl1cD955nqC3MpYVkGSe3tMvKUGD0Weq2PVBHZonb8Nw-JjHdXbc0OECR9XhGbKCWNZAcK3453gaHf_du9RYWz1V5McRx3oltI5oc6AL2EazwYStkaBRCU7bakx1cugDDbMuQenxD-OpWT88UBMrDE9_pR7QM2AXwU7-qoMj3QACbCiIfOOX2XQOC4KSV1liG03-38mzVyQ3UDjMYUfhq4W4dyWxd0mbPAWQejFz4zsq_PAfGrATrhLNNGTXzbtxXYG6WSYXSwYinfH7OMLyQFaK7mbZuF_CdVw6_mg4L2_2bTICgwEODcHyeoZHUHWER2PoAWXeZVgnpU3nUUM5zzATPD4QK_RAscYFUJAE180FaH4Jifoxq4q5ekyUrOLwRjcnh7i-vhZInIx1xW8I-GMBIY3JIEZFWjBxuncNwJztVniWoWJ1ZEIDABXfmSUdvPfsjy53xRMXMwh2Io1JhgVaq12U9tH12pZSwYFIHPvtH4QYAhTepEn6sgYcOdYESxklRqqMo1nF9QLC4-0M7UnG_6hK7EB_hu_RlKHGGbv6GMxoWdIGkJty9_42qFr0M7O7wACYDxuCoCCkurOx66pbMcLTHLpg7zcx6Zi_UuUN0JHgwjvcpKweMIU_M9qnhtyuqM1pq8WsxsORFyPaslrwnXokV_XoPJIN8UD2ICt8ujgTvNLiVT06A6Nswq852r5QQUc6eA3X6mQE5QuQRX7VGSS2udQ-Q51PECg40IJ8KtKPhCkQLfOVKKYXSWqnwzDYAsN05RP9TUDMks71oQR60XSvfeYM-Lk1p3g3vxaUl1Rju9Q9uRM-Lblvb5bKeL3inCLC04zP4AzVJMTmgf-uO1temRPA2YmsFY1zLJlpCRfYF2yp_wKZAr8mopbPS3VLx9B7P5J04cWYzZltBmkQcEvhi1wWwmL0yJGP5Lcdmuc8sRhqzLm9ApZ3CyLz-u8W2FghI_ETZH3sCzD6UOnJhkvLMv6UjoSvc6zV2bwd5giwtKSKmHfLq4uuAFlnK5b9iVbV6xRlCj-hKve7bYFTjG7nq-wYb9QkxEY5kkZqTrvNk1EBiwMYn_jmlh7Kpj2GVbtlAGQ_C4Tdfu5E3098Hh8nUkStP_NOkI2orDxXQ3bo1reTLGemNKZSue2MzK2lbArFLhQAU16jDEogW6hWhvhvQyTdS5zra8C0SNmbJ37Jm4uCAVpM1kAzykmVGCJ4mgjtOhpvXbR5o-zWvV8JCePb8RkaXNkvO7XG_ZOzmHxw_Xo8z4UeyBggouDhdWPhGoXDgZ1zhfFOg68N0nQbElu14y-5772ipMTx-AmYAzHVudDnwfqLkerIZ66G75QEBoEnMyg7khAnXd1yrQhf7a98C7Ep8oRMdwdnSHz0dwchOgK871KzAgq6VwDTaKLNkZ5Q-NXthQ3AG1P-86DcCqkFk4gt04_kq2M7nJscBOUtjTBJhCXxky0emEdVN5ogN5GfPPkdWZgto1j957wwejjstzuAMX9oWlcrkblHCxRfj3twlX6rCuWFAvlrn6kuA-hdp5a6N95S-mTpI6c4_mvEIyOkE2lKlL6Es_0b0plL0J6QMzh4CIkFIv23S70oRWNXZ83EsjK6gpY4UUc5MSnKPh-ujWXXO5IAjh_-wbkyfFl433tUFm8k4WpjJxMpBf_87bDpRcDZpTOVNfbWT06Z4AUgtscOgPZESQeXFiE0cEZQZaOWZHcLdfS9ue1YYJP9wJF5Y2VRyNAbUSSYq-ejC2dH1Jw4oPyCIrkdM2DC9vqljeRuxyvviPLK-XkqC8WFzokI4hjPf54_Sw8mBoVxWshNV8d984RD6OCR-Py6d__snA8GuboW1NCEbUskTXRLupVJKz-jwrfBhU-i-UTrSG2UlETFHHl8DnbLrGd_f7eUdwcBbCZnkwINTGgfDyg_MPj1LsekgYupjpi66wxrG05rALqwUg0Ksq29a46s1BwEz08RXAxc943gO3fVeq6IUJxTZEZ5mF5WynR93t6zy-SUP3vzTeRcuTyqx7QaV5wvJ-OQFGICrtfHzFjIsfw3CGhvLgyWNe_KqCLgu8WnOzCesPQEpwOfr_I64_GGZhi6s655lLHBux4NudbIhNaM6WdfgvABvhZga2B2NRoOmKSuyZq_F20cIiq4-p4NDtZCtgINf4jhTnijaI5egZNZWdJ_9Z6j8__szS4yQhfTT0HDk1RPqecuaoRQ9k7ZOO4VxJxmUfxByv4HzuvOwiaS8fBFUEDMe7t-Q4Q84PegP4hRKwOV52ROW1j5OQP3S4P6y6iPwOFDzHnfgh0qpIADjAnBTqKZbjq--d8UiwuvTuGoIwV2QWkpSXucwsj3il9G09gvCpLU2QR2jdDDaj_mAKDe89w08jTMnXbR0soghMaoI5bki5EYSV0waSOUHyJz67MUgVJszgCYwdqBelhp2ySRcEFHAlw2k-XI6iGF0iud7T6IPSuZ7c5bLTgDL3vAofo1DO7b9nyjSuOtNDzUBeLPIHaHFIK8c-mZNUuVTLrVkyfR0Wq75RxFU4d-MPAWDSkrLVMiq8j7BQDwbM6_GvifHvnBJz6wwjP98y6TUZHm4KfcMOdmTx7bbZZo5VGENjvT04PdbA9xbuTmCxvujBF_hRZ3ZeKvJufKStyTIfj3tyMfS9gozR8j1nIrL0MsE4rzL3T0YfePjuGSSCm64zZBIDU_vgcKYx-mQyohXR_XaG0-vGiDMbDOzVbmTFzFOX1gplJKCYLI6YSShp-1SZVbrDMhGksZwTtQgjuKAtZHhWDJqUjKsAwg-1aZINS6E_MI5glpQAtK95VgGf9PLVnlM9mmJdUmAhGnlR88z1XZkt_erBUCizaiay0S2S6edzEg-OmlDh6afxjsl-9fTAULcyQpkd4anIMU6jxgFCxD6Ty6uaBHv397F3SxNCXJT1GmJjLchLfEWKnXpCSJ00ubHfE9S7QdV50THrC0zfxlv8HSeEUj4S3g7bLd4xUy9kdC4fZ1lQAY1Yvr75cr0jMmkrLDjA4UnK-vMCNYL1lidtV3FEZaTX88FXYQSWtXFz45eOH4gL_6SZzOJN_OkjYvbMp4KkRmBEhHfnQLDuwKFCwVhmprHcyq6_H_QFJ4QXsagGYh2Uw0TUZPee99RO6ZcRzvL8jnprKN642MIA7D13EVlZlSPHSdf2XFihExbklOleeNlef24THZS5-dMivfi2qBew-bXJdVu8iD3a8DnZoYbzBr0HUPGC_HBSHnwE7wdrtgPVKYsDgpjdqnWmFZlsaQvRNGY1V4OO3AqnbwdpGjhg_PK4r0EYM_xJ_q3mWH4t1YeSFJtUQAYddoW_drmet_kPEcFYt_1RKTnEWPkB07sALPd4Hw1zq9H-Ufm5QhyfPOatp1EkCqQwxx5qNFeuEmeVIiNCwjArxQFLi0zeR7pfQaFDTPI24hqyM27VX6AwmImL8NgLE15tU2Lt6kskSOjk1vMlaimH4uv4zP8HGNfOqZ-zT4PwdLFGMpX8NmKATfjr7Kdg9jXmrvw7M4My-Xtsz89qW9UDEdRlLQ1HORuNPaQWxAT8cQJB31uBQof4ht9LRdPUK3aUqhY9E80oTqtvdwZ8Pd2rndCgAm-QsIp8-eGlmOm35tC5SCoZhFXwMS1-ExQYyW6LcP8pcUeR9Ql5rWttrB_yYtfqCruOi4oQTQUsKnq1aPJMK_xvgzXGEcqxA1gFND4mb8wHUPAZm58anhwSQthi74859NbwZ5-kcbgKdC0hpKj0kjBsXSJy7DziAxX6VAn6hOnRAcDCnamThhFOmmzE2S0rvqtOGqMVKVLMko0qzG7gQeDW05O6h9y1mqIyTR8ye2llUReaIPpv6ZMXJwseW3qAjyjdFEfMnCfylAQFYY5L09-iaPfUYb0lNxZrMq1iBckufDDNQl81CIVq8ii4VFOSfTfxBPNS_Reb38-KHa-ud6Tcdp6LVYa44OZSJSJXFe8u07yL6ZSpybSiJKwMH4BQDAPwn8wwQXPR4WLmUcyeE-eS-089QfJGWJoBmFQ_xOCN20uSGw3xd4dR96dtN7r1ahV4XaQ2aYTd-Td1KzkOY2mOur_JHfZfL01sUS8oFVcqdLt2Wogl5Xje_jO0SUIUS74gIwBZLo8i4YM8RaGFa6tZ3K3doQQYPMpxyKh-UPockbRmBPxxVIkkkfJMgi352AbJgi8RHlQK8JMmiDdQWZnYIYma3GZFgbxL9MJI-U8gPD3xUun7RVBHNVuJuB8Y5ZuHNTzoO8p524OKeTJK3w93gm_NlXc4nqYtZTILHeoCHDcS1tSE75z4_0ibTFwEFAgTvFvFAeRFDoMYt9JotH1Tk1wRhMKdOCfExhrFGSJ7Yo3_N1lmNPSQVXMqaYwlximn3ESU09Z8G58WFD-z7tmKzZUSeY6pB5_IQ_JeQJ5A_JuXduFBnILnQjugthjeYq-Yh7QjgVWPAVigzFopPnmGwFf-JSBngNS8Ut-dznT_kXBF5bGGxMQuCkD9XhN37HZ9LUpWGdSPntvvFLfFSQ_tGM5WUxsmz4_0SFnDuGgFu80O_9r9d9tuyfngiZVItduSXVDTm4gOOb8w0K_6E8PvZIOuFVndQUPR8Im97Qgd3F7pQ2zfuxX8j-qr8uM-FMmtbkqcnOLGtJ2isI77BVpWQcVlW-izQrSrU0e_FBNe553C71qndAA__IFGd9dIbnWyxgBWwd9VKaWEvZSJMmyavuGX1Kha-ec4-PO5Z4T04grGTodfCHzJuqa048OMIkQ3urFEPUeDAcsV6oDwYmnlkT034eyhDzcK2je-mQY5vRRGYspk-lFLJ62g_m7-_b2QBuxRxwtbzaS0GJu8WGkYNgl44hTFvAzvYeEVrOcL7BtTfYIsLov3lcCgYxxV0riF8dPvZzkMi_TtkQXsMsYMYaQl_JkG64Kygp2Qb8fAnqLyME0y9XEMNuhSdR-gdQgmSsbmWtd1dj-llZiZIfeQLU6q_oU2n4migbvRWdveE6wQZ8sp8J41WCpRl_pZeBjpv-NtfBc8roaNM7gi__Awnw94LpD6BxKq8upm2bTkp-oN4dQgYqUACMOblEBWhqB2T4e9gbhpBOecNCxHPuiVdM0XjzvN0azp9y_P5nA_cq0cQUtxI6gt6x0lCpicH8v72Y4CUnv0TBPftip9JUvym_tgdD3bfdpVI8FTstcS3GmoTO5PfTpT0LPRcjTOy-coBkCXcFn_ytypunPqDu0va-HjrTdCinQHlpRvWkQFJD5OWJxTWyrnAwWVEFgE0tHV-JO_bYENPWK_k625ZwQEg3BKPsa2F7wU8ZHZOEhDMm3ADTYnMO9VNYoanxbzC2ejvL_Pg0jNcE4kHBWNZCUDVzx--ONZp1QiKT-k2fM-qXcqkBNOK3tLXF6DrOuiZv8oLrhYsgygApB5Q5LyQo0bzsSEYCuuQjvxIb-VcV2uenoYcha4rRGKjepM08lFkMttH4Lv4BFkPslffOWU8dVGptFrlO9lyPVYrdV5WntKQFy4UxPFvTF52LcodEw9w50QcyFgk9jGitYQOHQppSg5RS588R83mTroRG3VFJs1Tums5RhAY23JsFyUq4JgcG6QGGuIGiYE3sH3nEhUqfMCH4CGaXfWdHnzQ59cawp7t6zush2zoWunCnL3tx5lWkFFcROkeIdqNpPJBR8AZZpTEbzBTE39hKOjGK4Da1_hYmmnkiQEN42Qn6hVJOCMOOMH0SrBX1W58xy3_qzoEDInw8zJd_jg3hKc-ogBs7j5ZiOfFWeQuxkmRSblgPNXp7evZvBKMXBLttddh7Uk0LO7fT33F2TikeSQoTeqTdsFqUnv7cLIMYLpp_Vwi0BudIGaHlYN0EipYsJ5cYtVYTEUZl3Y2YkpCNp0xqookICEOyJnA4neS7NDaVdDD83a1Aa9MfNu6fNRUw_oPNjAgf1fjojvIG4JCHzpaoUw8Adjri22VOBuj3k7Djh7OXR2FAp0wBy818Fa-7shktaiLvKyt61aLXUgqYBw_yiI9Y6qumePCCdx0qm69PUezhSXQUQwaOZEP_d4HbZyhCJ15TREW8jxLlt1z0uzVMXn1yP7aF92IVhnYgEogWCsar8x-Z_g-RadLW2Ehm9Vwbj6Ga1rlhCUSKnjBZ9gFPZYtsYyDwftKO8nbZCmd2I68XdTHMiX8L0r-wKEFLrqXHeVCeKv2HSa9lg_jIbAASit5OaG2FdCKBMsBZoIoOrJvaYmAB0MeDEd4DqQ8Kbwf8k8IyGsxf_B8n88oroyCvF7lkTjUWvcXZjWDRR_tafY2iFQspdjxcnT-ARt64uJePVgvQMhZP4G8oL1-CDvmVyI1FAx2rsPIEP51Z_vXM1aMPo7NEkAoYyxeKgTWd1tFJ7XUzbj6DgYzCmfFXI0u1uphBiMTX3YsIF8uLEqnN6SqP0NAol9ztT5tat7ln-pN47vghaxIrwd9MxKRW9YM8HkkOpTVwwieIPqY3rt9oe1nFjojHVpGib2Hv_5Z8-6U61FH56PoYgjfbaKEdxyq26mfnV6hbFqoHoM58v9pUdVW_6RDGnvjiJ_mf8b2vVUyG2QOlIoaGDB3u4s1f5_QSDwOx6WUyTx6UbutpJGHRt-gLnrGgDDpsLXCaR9Wk-RUxcJQ0VQNIk5cKhMydcFzGv1i5r9sDcd-wUBk0DVlH_dJHxBuxf5cm1Q-dosuyACbcFOxEsbuwJX5EsBMmDPHUCzBjCRv_BLDYO44-MRthikfy0WQAtsRhjf-mrjni0EyFcgd6EZF1sl1xpOnzfqhbIERaE8ovjsuoG_Ma60NRtoH__gC3n12CTsAnY4YVm2yvTbCaieBpIwPRkhnkQzMWWUCeua85apHMjI3sbPd2VXopxtuOCQJQaJLTZTvTaE6OD_JxIeDfxqW9qCBE1bjrq1Ms6MvZbS2oitIx6N1dh3FowBBl7ZYnXdGJW8rCguelHHSUlS_ch6Gi-BANlNpfPjAqd_vfwWGtcNM7MAbFKhw-sAX1yeD0cxKis7bya7nwj__NdbiieiLgJH98RfJGgbtIEUALmsCCr_aVS3ajBuOfK55xJnL-T0i1cXfyZQvFfhG-BYIiBCLxmKnYEvsrLygI6SfhQS5aAO3GEn932Nw-4UW10LwWqAp3ajPxdZbLJd2gX7Lc1aFFGBPZyenoH2VeZoUhRqxej2ZmcOXPlIVoSLI3jfoOn838EdnlNmrcex6fnfVwm1PUavPz_8mHUz0-w9nN7aknSeRbM5cyM5Cs5MKOf3jgRF3pMsNqA4yvDSxG-FN4VQerS1okROS1CGI1u5ixO6mobCPvdmK8wOTrXlMp1e9ldOgmn1dylRp1CFA2O7lNu51iO6dRsgiyUGkdqBZknwBN6NdVXdlDS1CL7X1BwBo2B6ZcgIFolHzx0D-XlNr_aoiKDydQZ2tEk5xOHmF1cZUAPPiM7mP1Z9rDPIpLwJNl6pAX0cloGaNy85JcQ-JK4oLfIY88U7Wc6lGzG5FVv74VdtSdu_DEDZ22NF9UOfRR33KMYcQkCzPeP6UFN9JjhuJb1xI7Wl_knPU_ujLX9kTdUQ7v6fpY_b7pfTIHnA0ugDQWyIZMIlJCUYa9VWm4sfYaMB6wxJiCRov4FM7KGu058ulsBngr_XoBU1WGh3trm06IQLXHi8PJ-8RLDlx1J_qGQ6kcLJ2ofZM2LntQ51zYFg_cvUY5XyieEKR0ayPPz-9cJ4D_1Lqw837uuIYwecrczwPgO1_aGNWwIT4A4tTZ2wI3jeCJzIPKPfq-bkeY7hGS-7hWOjBhWar2zkniYJ-Xn0ACSI74A9CLGrdAWPzj6-VHQFjHVfLdsplXYnINXE4TkYbo9fWDOntH0BL1KkqGY5Byhle5Cp0FZc6bqEqe9qp9sG0vvTe_rEirc4pSC6Fme6iFRjuqJOB6juWNRzJjD9o_q8yrSSqKQFp0AkD1PM9gqzn05eb81Z4Rqjl80pzPDqG-RJfAj7_oBXuj7ftdsxA9NZ-KMkP6ujSR0yhojwYhkzGP7CUT5yYHujoxNa0rm05VGCzWyl0hP3_JP1widjF2jcbed7mDUJEq2gTEEvwUx2xkCXE8QG1JQ-s_2OmeicKvI_vhaMiHtXiNTNwSW0OUmMjdgBgO8VRxrmFW4ETLrmczhvyZqmfs2YqMPQ_pQ6OIK_cegu4W5KRQErCzV1t-dR0U3HkvcTGn7EObxVb0xGzfbaUaismjGO6JkC41PcDSQZlbEwkMld6fe_W73zXTKOx7epjCSjN3G4DDfaXf1yJu8WSlS_Y0buQjGTf0d3_OHBcY-ZnHOo_Fm2iAGLLUoaR9cVMfuE67IivCKfArg5hFpx-Bi3IvJoU2ZwdjuBh6TCU4r9mPrdG2Vcv_yOBqC3ynTUJqCPoRi0lH08k0UlMKxdNReYm3CT87BY5LS8slFNy31lIF6HDOD2lNynQmiX_vfToRSG4Lqg7dRdLZ9Ik4Av0eapN643K85NFe4a0uGKtjhZJ2LLhpQq_rhyR3rgaCJXwL4aR1Ew3h2vLrR0n2RQStZoc61mVMdyDy8SHup0PWJmXt5DyRC5eChzGYKXua-X4In1mRrhewiZh9hMT0TElZWUdSLwwj-HFzgIfYtkph2Uv6_QktWnzCBiIeha_iywJ4O_wvyDzXrjEdR7TAAEyfiaqoSQKnVEsgUo8apxV7fVaSy23wX0_Y5OdvTHE_wYpq00G0MphwxoVG-6LBHkziqiGCSpueRdJw5kuGBaUyqTjLpnUq68ITrIwrU2jgXIGBIGjzmyiF6qE_1ZiO-S4eDsJQy_mwLjihv0T3xPwyb0iH_t-c88SVqO1ke3vbN86Q8SpWhlmuaikIFqGV-gwuA-4DfA2vqm-38riHxMeFQg0p8GdLQlgkyjYP6CYo3rwzHQNzGw8jJZnNIk9bSsoAQ8xumWb_W-RSsrQ0ugbPhNY3dHm7v1bRJEvLbJTWxvP3sTYedcEu35AjckQrr_5xc7iQYU5v2ejalMXBKhl-6jAE4ECRyY76FWibL-0EKtjSgKfuIqf6hg35Kzo7hI0QPycRN9a7rFqYq1-Bmu-aWEPLBRfVT_78G2LMBR9US_NXoX27BDLFhe9cCjAwQ5N9Km5EMCpqEa8mBzxUkpVfgOZx3bj1HbuTBa1yd68MdIluEXVIGR71qKEKYvO_nLe7b0rGQPk9U2j0-SP7ib7PLhVc-5QbA0sT0UbhVpAuAZImVkgVZ6CqOYkyNAlcmziRj-ldMtZIBGcVcIz31864e8Bx9E5feDpdNErgTN1pGsx_kYrKvvQhFsrxwzwaOddREoBK2A6jDJOf1QHvEc-gTlSuB5f1Aubg9xkdGY6bRgeVuW9ug1LJp35TZfsd_LmrW-Mpjc6sFjeFadReAvtip-22C8YxV3dwR9nUK5daBSdIs6QvbS4SoEpPcyVgO0TEsevEkhJ1d4ZZHsirXWOhMJL94KqyALZQTXt5NmB8sb7IvQnsqKhyFcfdxehBKWdoPDIkYIMXcK7KaiFeJqrEhu7lOclzD5boxnliit8q63Vvn2IyoF_-rWl9vT22GerEOpY5ycz5WTCZN0UbakM1wH_VX9a15c9SPcCL0Iz-30knVzlxaFQU4puEJWy4TwvinCe5FX7CHKqxptL8SC4dR_3iP0za5LCI_FlbmB1bR0VNcY7IkBZzbmfO--D4L4H7NQsgllw4R20l4XsbjcKspu6KW6hFCF-XUhEEtm6PtWE_rZdZQZNlUMakXr6pDvb5lrTJ3krKFgzICjzCQouxHaTIQ-i1F0Z3-YagyvzpjZ5p4WBdyRNV2q9HNK_HqA6j2J32we4MeCdYP4OTjtlKtA4MFmCVPXKrCviXXuoTGkhbfHRftnjrjsCgNLjmDr_HnAZaJkxpUWahDIdtIi6pxugxomBT9QcTyEk0v75TSgVHzmwFtI5TkTJt2aVqqeeAwhXKMsJHxQ8GhI_tknq7ixrfnW3LaJb9LiDh_i0C8fYuykNakyg-pOKEmES7Pgwj8Ep2xSrZLQWc86EsAOOLfJVfQe-crAkQg1whrpvXoSc6nL8Lrve3P1crfPPEpfZ9A1HmtUIlaLRmybs_GscnHGtFl8BM578PUw5OIbEA8298p92BoV6IQSpcA9FUWvJo1H2UiKiVCIj-0ThSzN3qtTjP-V8qLoxPh1d5QxWrfq152EkSe3fzLMtluyLIcJR-HLlAnaCfzJFSZyzypfwr6Qg6f2Kj8qvdPYIhfcpv_BHdfQKfnJqRBa8qY6x3nIQrSddiEVQNO4sHfCHKQXg26AiuvAcYg_m0n4TpOCq_T_LDbB91vui_x2orQ8x2tZtSj9tNGY2JIi63UcjIwz6PlMlsZkAoVt3Q_TozQMspFmzQLJCzF0--uDzemHZ9p3DNn1vzBscaxOzmmYM9Q7-TXVSDOyakW222Q-oVdEUjrhgsgAEcwOHt2bzOqdj989tXwn72Cp4ErFKrIwXmRDgRmZsBzGC3Rhp2sgy200z1jP1j7Z3eEnTgZPAiN5EeMeVEs5vQOQ1fnnUqQFkASPDAhK2nCNBhcLrPKCAtERqleYTAhTVdJrm00Hn7Am23FmiF2KV-UaaeDpUUEDo6iZ4xZPjA_-8s9QX3smbRAa9wMLB5pNaHoPMPTtIjP1fUbDRRNw3hCL7CnpH9JMwehl0gA-Ih8e7CY4I-1LfaBZ5MV_2zh1ChYUuwO-h8DHJrvBqzCiT9Tm5rvSJIJjEDnB5vIGgcXfoLiAL7QxEXh9ENNfQLYseRA7Tt077XzuZm2YMIT-qaffmMxJFhyPmInd4XgGSFdm8ozA3NbOzCMcrzyta_nanI4kB5LFKeqr6fAMcXCkfCHHFmj04SlIwUH0l67QBXmZ932B4l6WdRAA16AySk6ZzQdatj-KmozmIjhlNvYj9u73JCQsEvGLrb7yZgab9EYFO0EQvVDG2mkIrmZ9My-8WW3xfKbGfvW25lCERBhjNx8wi0cTr5OWmX9dV2DYBqbM-4OW-4B3MraqLSgp_Iqpt0JYi7sDIQR3c03JZoeptR922pnomHm_KGe30jWEU33i3ZcWDGl7EwB1brpxz6Z95rBL9U9yG9bQ42VboV6rUS-7cPhpI536Pjxd16HzD67AioRqyvcph0bYBvq92bsX2IWI2sw3FB0BJn02TPjy0gGrMdLSWQOwSYndBollThYSF9H0rQZ9OTht_W6xWYQJdC-i_Jrhvwte0DoyEK0ao4Xlup97uWl6iPrFerBMsY-8zKClPz6f_fFfgD3RiHtKd4VJo_z17kkCBDmsaO-r-DfaxUMRdk1ms-cH-EjWlsUFjuCKl_yuLn_Vx8tEzyc5Hv-XH5bKeRWrBTcg8JOY3VcmjX61fIIzon3kZqo9sEpZWNubPsdHmlDIf7Umffr4B8zW1SOWNu93_4USZCJAcZ_bniZD9DAGuCU7yXE3chcfdqwNTRAlBtMNvwfgwhbJNlsWtki0MnkKSokHtaa9k4uDvKuIcbRwXKdbDBCT9mz7C4NVYFM9PK7mM7LY4Tb8jyjL6BBU2X3JTCfUTuTD1q1MlrWz5frWMAgqEOaggjbdFvz8wMN6aYFA3bFgYcn74OfuiVVwdXwKTeU5SqeLqZFe6aki2OAqRxGC1JFOjcXrZV1ulMR8wdo5elMjBijhHOSNMkf18xHXZGa0CEU9ZefIAqBGd_LVdeQSfCw6J_fFX1rm8mRKVUz_Nj-2tf5YAPnrNcsN8R-PtFpEFWHbSsqERjeOhSiAyDzPpXG6ALwHPXMiqyVHO0KTuu25Ln0VuXnYvMhm3Kt0YaWAgXsnEsCYiw_vEFdVDKEA7VgQvpx-NjpOkObMDbgyMSMRYG7g4tBz97X3Wt8RRIwGvOQZQiAYIGZkaUissZa062P0iXFI43Jw9lLW5oVwJazXusoq00Z0R68fd9Aosh5iQTTuCzMMmsbEZ5GcBT2FrQgvuiVK4KDzKZip2OK58QYEv6AXKdUgBtdiDq0cc4QB1InXEI-JCvWoroZIRWy_mPZel2SWQHOiCykNhghjPbkkUNCPprV6Hfac6i7HOCQPE3Xqx8hyMpajDVPTR_Pwu0bvKxb4ws7duNTD9tzzH-l-UEHebsHhHAuSl_nRyycKbyNxqEh3veY8NpgA6Hvvewxsipr81yBN0TnUmFwSvM-zQW3KxJVkiJPR0C3SeVa_hqMDrbUzVHI2u8IV2bTsCoqLbleCwM-EsmhXukudzR7kePr4YefgJ6VfZabPWCPJbfzmirq8i3VRrbuuiVY9OBnXg8rXQZVROosNSVVhILp4zGm_G95WUy5fL3lABaslGra0L-EK_Xp9MO-9m40xKSTQRmTdiXp1WcB8_0kKLh-gKpuYZTFtSHMoWFOIjmJw58jXtFCHDQx67kWZKLvVTimKYfcEmUYjrLrHzMUb5pJ--bQanv2Wk1x65OUMQWYDqoPnuA8b6SthgXXsiLMrZVMxvfCZ5IHGSZRX8YUV7GoC4E0DRcZ-gwSKSK7TxWrZEQmPpBl4TQD2wqY-upfjFkFmCS7cUh5tvGyEuAMkuwCesUPcU4IklJPS-K0PykT5SOAZpYKYSk5VA4C0szGyI5GV_ew6_0eDfYjrH9Wg-h4E2kRP1gaIX6GKq1m3M-A40jI5Fn6VhjJgEX_-27uwMXjMmEkLCpJNulF6frmhMCrgJ4_M78HoSdgg8KvGERbADSQm8QdRIML9D3KyBRq9viIpK30PqoJt2cRZNZj_w5ibdaWVqEfemCrPinDvyMMqT_OGeQB1kyojf4guhU-Ql9iwiNMdwPate1uuKr9sT-UTu17chGGOFIncLatTxqEvTZYaKlEApDvZluDsH_Wh983yzJ93nsC-l8DAS175cM5XcAeDDUcykEkgGeS1SyrDCEkJFiarv7R2eFC-fPVouS9an-m8s7n6pLy-hXPqiuMr32pVvNPPzmi-fcNYcBZBL3cbgd06DU8Wo3yQRxxEtU-evEYjjKJzWAr-hXhqG6MufYjIPLahrdkUWvaIGG3gqNffbyfson9rOY7GPh-dp_KE19ZnVKN3-0Hy_-_6zpEtpyk6xe91_Ib4JkghtWJLCXGO_MYyU-KFmNuuoNGPAdJMAGUCkwYiLGHvARmkHKCsww10Mv0ND_mmHFV_AfeMrcojl8BvNrR_miBFu1yc438hj21MJAjJmr5IajSkbSpH6PLPZUZh9hGSu3b26d0Ds8SA3zKSJIVEHMWQ_62sH3k3b6RFnebtx-4qv9roYNYbDE5Enwlu7JjDZgeEaJDHTvq2kFdAgamSoUo-C_oxvL6b4M9jsiyEfwQnMoy-M94z-gEqGhmH83AyZVyEoM1Y2QiWW-NUjq7dLvIM4ssYrTON0OsxYcWw4XuqvOvGv8PFWTpa2w0p9FdBoM7soSPKVmvkuRnk8Zb7tGuoWlDCatyvrfMtA1TBo1Wu7wQoGIqQdvKXchru_yr7YbWzIUYyImKNMNa6mMFi6NMGrFDwZRRW1A98YhguCaqhIzi49TDDpC9EURfIxtn9MF6QgU6bmWYuKgidWo_cqVhylrsWWrbVKpW7kg_XqRKeCoPId205tSgJf2SNGSHDODho2bHpRrsU2g5wQBdv4TFF8sdVtQ0vZKub2_l9FdWR0sd22chiO28xdZuV2e7OKfo9j5-uX8idMOz74XExQOrWNmio4RIgmOs9Q7em8GLPYHGvQOLLuUl-03-PHrkO708POWzT-xH6e2mGUuFFLeuXeOM_HEH7naxgYgSCMzW6Lsp1bIKI-cY9KjeEGVpy-wV-m4Avd8TnTRG_rSEDptOFKhuzkSZBDYNg57MkFmj5jDoGQZmq_qu-e0Eq3zBNlFSgq5s6S6xsgJUVRDIlZ4_55Egzc44MOmYiRF_8G2Cmjo4bYqvihYh9h2O_QpKSrx1xEvYFXe_UpsfLBBLC4OWrsZck76BjSgrT0EeU-d7HKK5InO_gFYmTcDyKsqsD7HjlyoicK6CRrQiTgnutp0R_iRHZNPGJBrGJm4OfN2_MO69aYcqa7eSFEH7yW8uOG7zVOL0FaiTjRq2leuHmxA95Mo2WkdfsrlXIRppkhm7vdr-l-qSZSW2VrtRx3Iv35JJAkgvITr3fp8rticecGeFVJKdZojhyPjUN4BxWIXXBQJgij5gBgNUd9HqLQ6VNh6cFJgTypme9qSqzLk794Pt-1q0lnhsbI8Dhg0CR-nygzq7kMZBjy0dMVZ74x6i8oIe4WWF2usfR0kfaCP9HL-nHOIMGOUrO_pR5sK4-t3iEmE8-YQP9B62ZRTftM9uUIMnpa698N2iPm3I6efQWDdDmkIpMzUOZbeVQ2ZgEnYJgFgd_GEIad0yZy5YLdPRZManjYLnRYqxJJHQ2TOXHEjRTyatFdffyC76RSuTJLrRpvaHC9cXabzhj-fP9MdgXQR3QywWHlLSjqJMtNME2G-PHWqjsvVl3H88qNNGSJocAeTlzF46iBCZoiaWwmRng8eLLwd40vOrvStFh7bRS5N-4feu3D8QHE3glEC7w4JevpOBu9tqHppjMU1X4yyyd3Nn9GfiTipGAe77ajZ_HIDvTEOKlbePLfS-ALlkLw3YStbK4VmkPEY4_aPG2c77Cmnt41Un05AgAOo7JwLtdKezSET_mCyF-Xop3pq9PUpjvd6PU9h3wuXLXxtgVJCoUVfUQ0OYeRkWl_jg4CJMz8LOPjW5WMEZlAhqIKTT5nr9fDrqL5RW1QyoC3x5DUEeiP4TZyMiDFaTJEwuPjaTpIqRKPgJx4uiuKVuWt1g9P_wLDOpG9iCr9kFyvkrhvC-l4pdWCE88YdDfPR-XMbFB33GjsiK2BQHOzLhezSX8qRtKJ6tUgATTbJe8tMKQso58X6MkRRyfGvRrZ3Cjg1ctqBiC8Xj6uVLSh3ibp5BBfxlUm0MazEyByLEQsa_E_Rqad7_JXS1A4Ssiby8o6Kd4QQl1SwPAMFU-gj0gzDkMGXSBXikLN3wMD8a34bYQ2fwQl50GUUAvNjuApnN_pAd_ju6pCdHUE6Wgtr_PvH9OMJiGIgxuiTR0kSW2N-DTQ8K1ia0bTjxxdRKGk6hv9A_SyqAjbOUwy7cMriooYYvtCvi436IbIAIZjUN93VR2c-YoLJ7J7ZakESDAgOmpXd2MY4BPPpZXAjfZayRd51Tpc5B_SE3ElGtaYexQSF0IZ75t2M21AWIHEGyj_DawTFcdb7hIFW0XZ7RGTM4fuvKVDTEsKUjtcGd2STHtt6yRQRZ0DKkowpaOWinVGTz01nF4Wp6IvcSrnIr49K1m24jzFqr3MGXQHojeU6boqfCsuKvzvddrQ2w5or9gBX6SeEUsuNu-0LXFRGWAxpFfKrpKFJSCmFI7oghlTcSQ-RxcLMqqU8jvE6wkEsqrtXXLdSSwsKOHg4ukFI8rrVEkx9nSLR37tzjxoz54b0NR6v-2H72cURd0mV5fV3y6a6G0KpZAIQ03EVtsKagb9dIMWFIXDDKuzjFgVlwq1twtVoPN72IqMDxQO1LMQzoclOYop4V_8GwuvBetAgtUilQjCLFlwrl-HR9qMd_xkR8IU3lp0kcLenWmsqOjj9ezg4mRMNWlKcQd8HU4pIghuZibSiBIMzTW35aaHUfP4P0HL6AtuiNuoSTdC5psxWV3TlBsHhFIF2t_SJSmDur2u2EW_BfUYezrQbvlj7fTw0S1X9uj-u4NQoBEXkJZNN5oqBpRPn-1N79NxtyD7RbVftZtCyzFy98wxd5F3ZzDNIsyawWQxhzlegDslpCqXioeY3kyDsvDJr3zdrJwDPKn8lZA0c_G9RQ9qd79uy568-byKN_UlyZ0TRpQ6lffSoG1fWENK7MEKkfL_huugfhCAdro_761xjAjbDEeuTWwPD-WtMGZh5VPklxMKLQPodSiUox_FoUxxuxla46UC-RvDIG2ra4gxVZpQt1AA-JSPIzNDZC4mKqpE-0-8pq0JU9CGAyPGg77UmAhoh1FO6L9wQS51wQNzQpCHL-us1_ELpcIqD0G3n8eMiArIDMvtdoALDtRh7ZETiqD7qnldZ9fG1v4Hgma14h7kKrw7SvxqJteTvMohTXm_6lzwQ3iPKGYCBNxb7SUdoKuDxSjaaztHja2dj_wAnEnd7BcIZt5TyI_LqDoRTDQqhvsrbyhawFc3fFHn77YAt8oWKwAgqPLNXIZJ2Yg0H6o8d2n3R4p3IOCTXbMPXCnyhnBkhwc8KjgqDRQ6QHKJ80f9-0_KWiJdYwWOy0tY6DRPUYHxMjgKJmRC5A9tDip7yz3CGjOWazCJkI_ydmJYGZOadidAQa3BLnJs_9SsubKRM0u92IuQPtpJhfrr5w0b0zT9hz2a1eMrH9rttkQwaK0AApVmx95oQEWuipnmmvqUrAglzLlGkEa8FwbjwxRK1P3egzj4MjVijLBVhrPVp0cpWw47B681F3HVQQDU7R5Bk4OSDgIpYKjd52ICgwIeymw4Qg2GxPWhChiY-ZkGjeQPr8q6Qehp43ZkY-c9Bw_gZiQF9dPzi7tSez7V7MZMoTBOdkIAUCJq7EJpVbOtyiNsj0PykFnamHycLkFJkMn_sYAw79SJ_4OgaXXykeW2avg9kUWX1gJ7TKh3doqD_rJxwVDHrDPJdZ-MXYnY7aQorWiowJahPUr6pO5g4BF44OPcoC7UCJSxSJNHB8ryuqSRrZHs2Jyt7MWLLxWL3OtdLYOAvUHw9t17tU779s6cgOY_Z0BSOsaVoGOqNcTPJo719ADAXytGH997xaVtWglEHdsUe46191ug1fKxIWeVGb1hVvvNp-OzmBCsZDQInKqZxt8P7YFVC8dnyzuHD_xRzbhoPEqS1i9dQKcIucWhjun3JTs10wkmIb8pivq20mGaeDb5L_IZDqZbnY9p8HP9jpkIxVs3oNthtdaNeMa2B9pYlXIRYWkl-XlLdJvmYFiXCnx52ULF876Tcujq4Q3rRIf62lvzzHosdgC3-lkWgiHVYzxW9spSAtAzGqZhTwUdfBKxxjkzQDAsIBRpNmHXrwyupscAOfwKIdOF0vZgQEZc1atQsrZAj55L9JxkAsQzfzZDDpE7mmdgAvr9h5Fb6vwzTX4LVA7TQFThkjvY-WardyWYRbMXJaMKCr7NYJif-2SFyeJteJQhx04G-vnbZ-BRin72fePlreYunzEXhjlnDPf6hSwwinnzBxfn7ZYhMLA4yKJIJWj8fDGibRJrP7oxuKgt4xNHI3oe7S_QPhjtIkKatTqy-vbdoqeNs2_OteK-2IMVwKovzEH1h7-pfRU-f8dCVmQ_J0Cpi0Zu52x9aFepLIRBhyZUoLTnkwcgHQ2Xl6h0NgQBoCMUSQb7VsBJNVr1g3aghKyNyWXkr9wgXLM0Wy0Y4TGBiJnueAlc8ZXmKEc5RAzxoZMi_bDTvfyV2gGw9LaHB5_10Sn5uF7zczBI1xCwpzpFg1sE1kvfoyxDIyi5lNAKNwEnwdmfrLUMkKgtkWCu52XEy-jUiOicZ7AIkZ5jAJV7sbEWYYGd8yAC5Kg0lsh9JVpFqOvApUldhgvnSC-Tirvd9kaYmCOVW1iL87Df28UPbRP7rF7g-QuoTLSsJnSQzbG8IIXgTm_tb4p1-wKFjrIQ1sSRTjIukbPQZdS3ZXuswlWXUKq3mKAANctV4ISgtHGVTm_RGeEykPAcg17xYY8H-kBRuQQC_pHCES45FCq0Hx69VKzb_wMmp8bR0CgupXDNxQxZMGjNMHAHpuOq5F375ogLDRm-v5A3eLO8USHTzFO2hDQmORqin5CA3Sw-gN4Cl1j2oVUBxRkCLtnaskiAMfS56ZrcrttDoIoAz1Reg6YLLkVdKwf8xa8YwFp_p9nKgJCY3thvUC48Z4ha26jzPcL_XobTcYt0Y6sb7_F-Cl7sHBwS7zkOerDbGRSbSEPwDluAh7v03VGvnUXLyWMottybE_BMxTDl675aZ723YXNFPfwt0Fb5I4fGv4o_ArTlHn8EquqDjtCev0M5OTmDl8uNfhNeBFNWDRiogF0ZEWzOUXuGvq8Drz3Q6GHdAUOsT9ciHh9dPE1l1iMb1nKDCv3Qzj4NL1hnF1jMKw3jjH3yEYgiK4CDtCx2-aQsJxvO6T3pwno8IU940n0GTHWPneWUDci8JHPZiZ3d3m9gJtE0YT1qIDIMtNGfI28ErKIYXZ2UKwcDuYd77rxcpE5ZX135jLctF74RIwCtxX33hVjg_JvoJwO9ZbuymqsVLKw86S4-1VSB7LreA9Q0aek3cyzCdBlIrxokKWOspRws_Tl07YGtlP4epCY3lBcAQPeRGTqbeuajMg8E9fqJnNCQaJMiG_RN6UztOc3xmg0t9xh06kDmhSzN206GhZ4nkPjk9w3T-qLhWvQ_4jhQ-uTxDa-LmjDVVGt9MiacI_g3lc8YcNbHIh6qV0MtVkvKnz7bFFyCUuqEnw8uqPZyQspjJaWA94J_WDahDBiygNCKBMTDFR2kmyDuDE8H82OhGQl_K2d7Vw0MI3KSGpoKA0KV8NUNEaKR_dm_FlB-YvBpedng1aDBSnVa1FqY_ca9-FoXvxUyl7tK-PHUk379kPvmnNksf5W_mfxTTALAwwD7iEt6UXTVpmbvGZWJ-PgLTlHLa5t6OxrWGQT2aRtJ-7qQhSFd4S5ogsE2yfvoaKrzNGEf9NDuoAHEoftnVHjJkFvBQpLhFMjyGoX0xTnSSomBSFrJtjmFI9WWnKQ20Fm2hlngLznV9pzLRIzeSOTPDDS53mU1KDY9CZQtUwzXLGII51HYioMn6TYLgCVHZ2mtQJ_LRXjL8B_FiAXMQmLuS5mUFAjqlTHF3WeWaZffhHRGfJn9_FRzSquW6_kojDzHbpqLCDtW1i7LHKAb__h-QZvW5YqZRKRijXz0CNmx153hCaQIQl8MHR9ZJ62WELz4lYtx8FwImB2m-zafS6EPmbu3mzJOzGYnhB4-vmNevf3QsM3qK_DBWF7H7TCZRDaQhtOHXJ1Kz5fY9HF8qKsz4mu0KanJBEYvIEUdpXcTWvKwTaWc6TGQeNxVFLPABAYVMXnAO21qBBZQU4NwXk9-TMMBvr1vbM8AZ0tzQ28h8JhQiHsnxa0BbImQyV8Dy2Eo3DN4C34AfmD8FAi58nfJPM_NhMQu1fgdVugnZgDWAw2lnee48LBAReaaW3jqzMHeSJxsu6KpuBREhMDNq2yx2QmfelupwgrHPU1Pj1ClrX-0M4GIJlQa29cY1HEa1oBs4RC9NHpjld8FUO1_liO_eQmSgkZolcIBkpbd5lQAh2Ujgjfczkppk9LI1xTZNZR0jmWv_XfR7_vbobO_x3k9M5CNf5YFyoIo3hAmKiJgfRcRemWsixHP-hMwQfpBmnopM3bstq7E_tf95vdEQgul7pFWuwjLesYsngv_M-lh6RJCviFRG5IbsWfWiN-wdLFDoHbS2MO8cmHM2DC6gA9hzeQ4TswptvLRdbIfUdo58OW0ZQ00UTSrum42uTGsPIa64Lyy9lS57yZ66fnyyGar-QDj_BAzDFGfscCMouJpDyN_1ebjsGa_DjtosKq5Lk65E1_I1_RffPT96FgpPPtDeLlbMIwLpkeWpqFhFhcyytJQycoRCkmiFYPIBS286MXwMRZNjImtDGO0kcf0pnyqYhNItCjhplA-4fj5BOKQvGQLlw5g8NGf78GXYH0H0JSpz64FRoXgpuuBYYEPIwtUGGuVlM_95o6XaBe5Ksv0FvBOqhPsXOrG8shPumcmdYjVAPPQK1v2DI_qe6ZkSH8nRsGwKqIeHamzjnxU8sTtUMy116GnPl-UsEu7t3yxSzXwqajHaYu8iCzGlUaZE2bgvn14hnwgTyAnrdzu1xFUES07wh0whtRx8rtusE_K-n6LI19eVPi3dXM8MWSgT5K_Nmxf23cm1mi3bFLSfYjkEgB0hDrWhJfa1zL43yzFRKpDTc5jL7Ln51qOPk7IOe7EwzfWnYNxDE20ZDUU-As6FkdBuF5yEVBSnjZd_dqWq8yran80k5KAWbMB-vvrPtYev88WLSoloz3lQIdZGO5vsKRzCr-tmYIIZThXelOHlcMUQ68uiHLPmb47_7XtbNaUwGylrgnO16JKUSNeQ_dwdDCERn7Sni9fC3gSfiT6NwP-iHgEygRW5IR8TSO9jWHqOv7QHZEgf8FP3vKaOpjjR5P274jzZWKrvl2TFfWN22C7sMSQPM_aPLXCi-sYIuKDhLCSNItvK92q9eyZvtIgKWoAG9sWwvh-sjW7hBv2JMbZ3HFqmF7sWTWlUdqHXHokpCe8WjltvTYb0OL_n7tgrAeZspthU5n8e7KX-PrRSOhRPNh-eG3indJ9Wl_SIJv48fQ1-otAYwrMLdGUz9WprqQj0xfRte-faoABI-mb6mbZY_JKP84UseZVgK2RwwHjF__TP4JxY0VSgHrGyPFoCS4ByGZrR8gFkIWUKxHU12dtwdpjxuxKLmHIzeU4tMXWcG3fWHpOYhrKOKE49O4jSZj66skqeSzQ04wWe3yPUKyhtOUyNfbr-BU7dxQeHD91WiX17p1VqJIaivkKpfn_FxZDDzEcMnU6CFmirYPfnGa7O8L27PJVkgZ2N6EXFtsqOKDFjX5BAD6KN0Q_lcVjLPUGesbk6z16wY2xaPoJG5Yd38RE0BBNGoiIpbXEJl-glWF4SR6p6bEUTr5u399KIuYx3MZZpdDJKPSpIjC-9qFdArA0v4R7K-Uwz8glDFCSRMFZvb4FrBtF5B2Xnv-qfMrDHBrLlZe__pX_HMcmN6ZglzVf2tqaEKQ3fb6D1fheZb5PL02qD3INDu-_G3F-dH9DA79YOc-KG5HsB9ZKtMu2UAUhihCCI-_r1GHfbGVUOVG2oGxMYffHBpUYIGplSw_XpPOjqLQxD8FxCG1U2xYYJoJ0-LS1PugWxeKdM_wTqd9sLBsBqBkAWvAQgFweSbFQfrpoH7cCTY3gw2fGOLaOhXQg3uXQZgHx28pq7T0zMEIZo_Hhx3jXu3VPphxBnfyuquGlTFPddLo2geire8kMDRQOayFp4PkgYb0DxevgprPN2JjRkfXXjl0L7Ivs3XRcBZudMTOi68sfvbZ4-4Oa7MXwYoTBrKdrvaqn_1vA_P8JpXVy1-CnewVC8OvC8zIlAgVrp0seNMsAMQMU4eqU-Mp8TrFStAXoQlYw0aPpHe7CxEK6lXbuwfq3H6wN1v9QhSrrx_Dcyw9LerL8LCSPNO7Jr6uiHwGIZmowkRGRsA-wVQth7kwwaYWppR88-dfl-IDy-HHto-OjlwvXujiu1d8FbiJFydt-7pCbW4JIv3NKyCk4GEvpdvb5w416fQI6yvgnFjR5Ccsp8fbeZjYCgE60JTz6hKycimEkA_x-lMZMbHvb7jVfRSSzBVj97skkzwth1hMxw6_RA9EIQszFr6qd08RobC4iMSKiPz8L8oEW5scWpEo5ArMz5xEf9RLvnUXl1qFxKsqjRReeXfP06gY9hh7futkkFR9pimCNByUlqbS6WCJUegN7B4lxBk3vo8jIpT7k75OfvOnAHCYNjYzdTf4Ep7hTFdHCMglp92CJS_KP1aGTPalgw-wsHiH90vpsks6qvA6R4MKmNt6P92hBPaOFT4NhcCYZhWLU5_HEznhmsX_9Ljx_jCTO0nUI4slq9WmR-QhteCg4IrXHl2NKqhtfxxEjbJ8bsmW6mphS3lWORV5CjM_uar-YmXhLnsj_ohIEIY8BMehcjbf4vr3S9YSIhAXD8GKU6_p9KTrmGUpEmEiFt8_Q3nRvoyW7r8HiX0Ad9ENOdV89ttf3CpbOPAied9iJIty0lNnMTD8WZFxxw67auM0lEzJ0Q8LnkpY1SUGvBKlWOVrI2PTI33Rvn_tlnbSbBpNxnwH8hfJjaFv59seVD7jQYjX33mYsItgUxlD9xSG1hbLo9UbfpOcX2b5w6x76W3VCrHAWQS_yHWcyIeR0w_q95wTUlLAu4N1XGPpEIiEB3UApnGrXnr7poGyuGMxzmxKGtzug7LEWNWZVPPe7EHxlaxfAGTPNzMWAMCbX92lcUdeU_To2RESXN6_4awhHct5YlSWHKP10JhGmt02AFllu44QYmnAQuDZlcuFeh2KR92jJzQElRqWK4927FPETmVoCDK8qtkm8U26bttXxOonfFkpafEyoQqQpzH3OEZbHXfM1WaTL9DeaEFWBlOrSKs2wjxcdQfFVYS4yQ0WZHWLhovGWEfazkLtw6G4-o8OQ01-ImL45vzJparSf8FYpElC3w1w0jabMQp6Ld3_jrD_Bw1qzOUOHXK1jcZqRy4A6yA0OBIHPtAY5QGBgG7ikIlDeqF63WjDBGuWVPdqqJESZAF_gb11AFmAWTMxuMzOuXX_mFOvrYeXwBWHZU2brW6q_F--oJzmgTmd_f811YqLkMg8P1cDDuvgJFS96--exmzsCKBlrHrTu8xd_lFysQ7ZGia6g_XCRz-HgfN_xr_2cpuH2BW79Aj8CR8v0VA7JbTFwpSUokmmhUiL5-Z7N2YHidkLtuodDUyc0Jy-dUvwlUMFaM272nPJWtJ5Y3J16oO4YSkFap_5I9L31EGnlOja9MGoNyMESPW5eoQ-SK0lrjfoszb83Wh8GcSNIsAjFq0QjrJ_3i5_H8j5BtDBRNkafizI8BQDzfAV6NYEJGk_QJR41_JX_-XgxChmLlAAJ6v1eV3mudkSIyewEOgTGJeOrJW1wEU5EEDdzQ_CCGX7tnY3N1NR6eOUlUU3aozljrk_H1pi6WNL09zmgRjIzAe065copmC7id-MX89tE5V6UuEEgrR7_jaGVWGaaQWtQpvW8svcNpQta6sJx-srIpd_BtKE59TOHItx1GMflIS1qymyPb4UPOl6KUCAbwOYaVhMBlB-VHvm5s4HSpQOW3F2CfMlqwzsMH7FtiqYngVwjwQ2deWVyIJnop3xa5b-WoUVfDeFhn0EMPF7AsxJUjysDaXwlPtWHBjKBHyxELXYB8MPlgPzAyJNCGDJbp5FzpjgvGz9PBf7v4pgVQ_CiwgFTOqhPGkqLYMVXqxo5HBkq_1bMmRDs4Y6LkLzJgCTmzIdquoM4lFaosTdaQM2ca8WypRc-G3FLDm4knJKpgvtqzJGhs9zsCo0h9qmQ8gWnH2KZu9ZGW5zHs3PCr0MNCIshT6LMqcVIPrXWSN7BulhxELQpGjqlA_rqjlmBWh6Kw5Me9umTlBIo9PX26-XcdrV75HPFsRtOJgqF0A67jXlcwL0FzV6a-dS7smpzBSSWetmIVztlDVlpchjBUpAmVY_CudfSLyX17CoCxVyrXXN1jPBtc4IKgc24Vn79oIu5OayU1E6HmYtE_IXIYzYtL62oFgWESBZE35HGzgMC-2IFiT4qJhAqD70CvOrv3Gew1sKYzvNbN9a6zMv6WTFpYw36IkuyUMQPnSk8N-n9wFtIrzcRsOF87TqDBBHH4bpx4Mpjz1tXw_y5a1sDvMzbNup17f48H0RInFgpwbon5Xb_x4jr1uBtO8KkFUJjtwOFh2ZI0STIbD4oD1sZmI-yl6SqzJqVqbYqH1u1fVXr0OzoMQ0rzAP2IyJylX7hcCOppuKAN8T0eF3l3_EKgltkHnS6RGuKl3r_WFfZ6fWxQT7Jrdx9QOVW3t_7szvqep-_D_OJxEKw9C_AnmBiFBttR85jZwJdaxZBzAReDr5neqL_Vhh2Q_wSsfCY7L5S0tzSik7Gf15Nqi6I_R7utiVib2XAmNLVjCb1MPH_96i61EmV1wAJuE3YNOMKN8ctDuF-IGpXx4f90hkcT7uYgPy2NpptZZ660d6tpb4kLBKoGpNfLVr2n_gX6leKVH24nTvKg-H888MCRNTd-mSVMUgv7hAxubNiutPKDCu38Bns02RvBYPnefXTyq_D1KRdIH7BI4TlzG7nsrC-5qgGWrPyrmovuchkCHmBhrLTxSTG5KjjeeQSn6FMHJSbxWHkjV-t6Y7u2BLJ903RqBKJy9J1PB4qZzFdWov3ZBOD8kylcOjJhem-AIuYNF-t_2AuqwDYkbj3ag5JAIlLGwx0bAEvXWFxi_xaX1yXQErZSKNAyc52rNFB0O_EG3cb5MQD8oKqhQ3cu1cUkV3K_GxWsWqYKPu8V_gQvdw_Uw6fls15jjt6z32YArYHqse8OSOdkz2CWboMprCVcHfty3FV8gqtp7udGuM_esQszMmgtB-IbM4JZic-hY3iftwu5PK6xg5rLjamr58WWmXjzpM9D0GM_SKW9SHm8GOh6XHu-UhVzF5c2X0KhAAbixtuVrre4eru01Tw7G-dTuE7gzU8KEDgDZtiQjYEjJ4WNmEKKP1GLq0pGSEeLiB1woC9PjNfIVmNltDQ0jTONoPbuL-9YXApjSTO8qCSSw5djbwUK9L7p07pn7pjDbvoP6KKaawMn3isWmmOYHlaL579wniFlPx_lVP_BPunQG0-L8pViKD6FHGaQAtWZrG9QtcklNIJrRwcg6SEs0OVfInv1VI_jYmhS3uXuI6w1H-VyhZ-gv_CX9DVBvoBe6JcPttM618-cKLkXtbqb_iSZAGRUtON_DMrHKx_dXJ05IDk_rdp2UbC79gnnk1Wg_dQFdaabtHM9uhBbVMjSJdf9JbTmII9BvZiCW3nEzV57S3g9xo1YZTUo39uXwKFdaUL5jz2qWH49BraL0sJNXVCADLu0huz6uQVWcCfpvtvzvhORkqSij4yOC0NaLQUlbyk-WY8z3zYX3H_BjU-AGy-zGZ3l-r170q_MHGUL_mjOLd578YqKjhYUAD2q6f0dYXJBEt_rtWnM4aSgeL6Q0ecNHB1V_uOqAebTi1s5IR6C5Tbb0F_HHUzqLglkPB969uYvFj1t13rkVhPeeobLeQFt_BWOB2NTSui-EYRsq2eWMP4jJc2akx4EOD-HyV-iElYxwiLqqCqBteWuM36FWGyuyMx8Z2dAH7_notP8H-WK7Zv341gujQdeqtM15iAnpMRq-JyunC0I6Hvki4HRaQ9UXlMKzxxR0mySbZ_blkjxNQjkjbv6gfESDgJNMsayRAXeLA6ky4txecoVoACcnU7THLbuJXTer6j3unDXYe_BoQ2ARzDAvcaXgiJQt62RvMfpx6wTPaiPw3MyhsmtinYMeaRzj9gk5b_S8TWrJQwHBONqRfsXRzgtHIUxsCLO4OPaQYMpTB9ytzd74ZcJQsMtrHUlOSszLY3vaWzCUUs2KDQeXX6GKDRivEMEQ0qw40NHd21WkX98fEI6fbBQ_3XmadYgM0w2U7qEbvxihWxEMCnal07OcTNZVsjzFLbT06Gh6mELMedYx9-aek7NO3ONb6dzCEXL4eKCqDHuuDmIcapVsZfzwikrPmVG_Fze8Qst3JXBnLf1S-ITDsjWI93brQlXO9kscCWjtQZ7TknOjDRHQqBxAui2GUeWwTu9hUZcwg3-lNAXCvwG6jZ9nTPBLRT0XPxv7fEe8rrIkUPi-sCUBIErVlzMSTklVEA4-tHAMi6t4z86L6cAvWuKVOGqSJwgs-CwrSXtHNpziZyemJGF4_2Kc-E0sv09t79Jq8Yfzxr7BypzHCy8wwST-0q4VgAWLdJUVcCMtAM_GX9CA9GEKJb8DoQ3hmhoSC7HTVgpApLrKKJ8wKzozob4VsKIU81EdGLu84s7XO49VFta--5x90V2HzMMvcpiJ9FNSdLcCHMZWvRBbiN6WXLksAb68qlhdE6dZNMbqP-sKSA59D26YHJEvMHnnsSL0hke3QVEeL2mR1rJSzwSdKkFmWuI0AswDzCqL8kGOF0tJ5UmqMbbdilIHP__JnofWM-sgnfnC0B8Ws0DD-xWdLAvARVN4CUzKZ8NGk1-Wo-e0uLb2vzNVOBWvJiY2HulThs7DlpYaYraxKl5u_8Q1MBALQ-mFYj5l3pThq9gnpDGypjoNUpYEcf6o5RenC2axQ3chXqhQnU0w81ZJsVnJu283XLSFelEWeEt-eIIcUKlar-fylrPUfaI8ntbeTT1dR1pn6_x__gJNbqBIJlDGwKcI_LXXnIbaYl-MQerqNTi7TVzcOb0lg55R7mN3CfFLXeQUvCjJTOiRp0pfazJ4Hzzn3sC2qGtSW-15k2EkxLSNfDGwxeWDWH2MgRUh9p_DQE3BBfP45gMVWMyq6PeCZXCF7VIvba67UdYrNyB9A_iVOXqcBFDaLpE1EfXBik1GFZUVeND-2UTMI_HLQCGxE73JK8Wn5SAKg594lKfRonjRy7PRJbsV3Ht7D8P_Du6zqJnJ8i-v8HYVdayw_SivIQSHG7ATeWX8SjnJ211_tfGE4hk_v4iyMhsCUaTmao4RibSy-w0uorWVUzQS9PD9I_8sg5OiNa_LINH1jiUiDaG14HqnCekvIpJoUEvq0_8Uw9lLSIwH0BbKfSj6jEK8zHTsXji11rgp0UXZ8NdCamRFdl_CS37qv0j8236fO6i9PUp5GMUehVz0Q0vAk2uX5MidCAccdta8WQM0plDYmtMLxmOuwcJamUPkA7myIlr9ZmcCpoLbZa9AE3pcTre-R8CqmSYLgjBLSQAWlHFF59eDMZRzvDxCZbdSboxQYkP6WoZwY1S3nK13Dp3yQSoeXx9Qt8Erm-a2bAjdwRS6hdDInnjJS-nc2DlLKZ4gDRuiKBwag2NXpZgUbwWDePrZAWvkozbBirKQx_5lxMphExxFF5GBD-KICrR9cnq2sf3wxfcORy7Ipq-_B0rcsdjNFp5820dmppd3zs2HwX01gdali-yIYl0ZT9wM0TZVVvqPbmpvaIkf1Sz6a9J-WUA6tMf5YpdNHVHZumLVpnwh1hK0TIG3vqBGxaGn4ah615xnbk0nVcN4_3N8TpBqwW1Z08pYVOljBs_fX7vV3DozT-5H33WQ1ywG-VPa3xL78OiPgARXU-ts1er-AxV6ZvWTxEchwUMmXLsEAcPHK2On-X7OhVtK8Uh7YKtQNY1AOFYKaWZ8Pcw229xx1pDQzrZHNxbLmWgty8PQaQar0TSpXAnvt0ofypy1qy-Hl4aApxAPEo1toFL7HCWo9GFQrKAfQiqeFKsZMYmoJhS0msrqvjAT79cQs7mQRW-4lhy4w0BP0sYyLkIHNLROtetc5pE-AA699Sf1wLjmyV57E5bqwe8v9zuAO4FQRV0HQThiM8KzqRJgGcVlXlkTHKJjfjI081Ln0W5yPHsFjcaWwNSoB8c--0xu1x5qn9nKNi-QK0a70IDiXHPztBnXBwz7Boh2UgtsDd92HvfUwvQPxtxwyKkeQfKgWQVOAeUk0dWGTYoE0KnWCVZlXNeycHdsl6w2RxNxBYHrKA_5B0Pz4vRY9i6SX90D5LRO1kX_KizB_VW3fUvgmX2aozUJPVs2SpUvNNgEjo2SZw2seyan2-1hQ4L-pPa3VPRotdGdNB4S8jGqVUWALQmliW0abU4_73Xh0CWr_HQQFw_qpUu0zqUYF8kmaJKSb3yk_FIdNfHuH4zhVeiw95A9HzGrnJmCwT1k0oA9NIPN-7W0b1b0MLJe8ZDdfvqCuiL7DyBq9y-4Wi3irlDfVHPAO9Cq303EvSyjX_Ax_lD95u6ZwRStMwMs8xXxAKSZE2V6gssNBQ5wVIbvCH7KGnij7WvOqONyT2GVkeq1xkK_x4LHGGCRsitmXipx9U4isGFY1kF5d186mGdf-dNzl_78wUg3DOqDdCUdmBpZ2Tp2CCpKtb_wm5fBb3rItocztwIJSUGdWj-pjquGzh8Rh3hpkaTS1Ns48xbulB3qNcpm8DNqSq1dDPexwrF3pzudv2x7zyvm0tfo407vFOHUUMeIW9jysRbyicDKjx5RUis0fORIpBcVJoOE24IzmrjGzpDQuDy35TarRPkNco6XOJB8pk9wMXt6AoYnFoGkLPEOGed7E_Jn6CIrkVm1a4ytyXcqMB44W73VbBwdo_fHIq2dWhfkfu3mZH-rjuOklij2HsYlwSxLOuOtbHPwSONQaafMJ71AP18Qof_nYHLoZ-3JsSpi0Fvw5sEhy24-K6QKE530L0gOm5KzLoeZtBV2v3cmZkkggL_i_-Et7Xw5YKxBz0xbjJBB32k4UFNytUOIRuialDYy_T-33HNQuB3xAORpR-D3nH3ZmrkRJANxYhZBB_u9-9J8fOXXxy7sg2CM1dj_gGcbVfKfyCCJ-NRScxvfu08hOTqW90_U6ngXAIPzSIGG7yjn5CP_r8cu-41cWcCzNxp76-4mlwiLkyHZw4cQMpmzrQuRTsArQcGA78E4JsDXRXDkOucVbxPPrSb-ZqD-u_iZkDIFj2nEDCna0gkK21ewWCMmTbMdFDo0J4Yn2r1AF-KYBNOXJ3V0pcQ4PQd6EAjfIml-aBFLkPahB5G38C-5m5kUmk3iT49xdLKSAdJIPV5gAeHiqk0b9gtYiYKbH0_kSTcJl3zRVasp4EVCxHdk4PnwFQKBewdmM66um6q5PG3x4mJCS5ojdLKGE14J9sDvFaJ0f-7lE0zGJYT76c3WlvIqiv_1roOHKOVa8roVPSKOAmh728hIqk-3VUmj-chok5sMJK33SnKSlAI3nBJpSNRCkcPmqr7_9kaaaNHx_WMx1x9xHsUa4bMnh9fIzYMn9eB8QwtFn-l9bPrvCq7oU13MhJb9aE89Fq6xefLYFm-Ovb0oWxlVpWCQElU1Nz47C4ebE6nzt8rYP-EIu-mLNUdU7whFjrN8fe0eGlM-O60nBjeyT97K5qag0MYGv4cpi01V3n65ZMZgG6SpYLOEEfrXz6YMQs8cas1rH2LmLyuXWQEdCz__fwTS0pf72KxRN6tbdDXKeN9mMRvjp8Qfwz9kAjlPRwdfOy0jbawvUevk43KPZ8KcXMyOSuGyBzw4W-47DUl_h_C7tVgcH8mjUWcsqmIdbZatarZyV_CuozGuKbUBHWl3xYDfsRPYO4tuorlfQH4GO0WrGhp9D2mcPYFnspj6ledP253dOo1EiDYzWyiQYJyK08EnuG6HBec6tAaof3CAY5EA5VCVtnZ4G-qig67Rm6S4jkcCcUIiCiN7HQtO-nsWxXFPp-1qk0ABiPY5Cg-7sB8c83UDRhU_FUHl_vYfitMf0RHq-Kc-US1iYGIeBHsRDcPteS2UIDt3XXRwqE5trYfgBQQqkhCN25cGmVM7o6j5Ak9_T7hDkBdJ81iHkFOmk5HQF2WZMu-Rxn-VUFbNfesxdeazCqBVhqu1J8GULaW6zwIUhvVJUa7F37DiYa7WScAYH0fhjeCd-WwLboCYIXdoPD_mZVbpqK-5lsNuQhYbWbRj41OVkGelVMW7JiOzmRb3vMafrMNc9EZ3HH82GzZu7fmGinFJV4oubbq71vEaPu_dz7LHmSSNNoIuUuoySGaAq2ewa0it9MUEL0RqbyCSILa9nzjEgA-rAqU5NQReIPDt5MBjmAUzv-7QJk1TC8U9-kV5YInG1hKfxPYk690P_9sV0UHPARsF_OCOb6slhgJtW4jVEqQA7slqzbQDX_fV8CN6pFyU9MrSsgnrYt7tB3nkYZ6ZoSBVLXxyaK_5lFis0yRNOiW6p4DtslIXlnArqIF_ZP-LssVLBYn4exCFIfAsmZid5lpGnDrhzGy3pKYqseKHk3G7KUaFHHhjCTPLasPH-9K8rF5mSjAxakbXdHma5MfHlRF27Jw9oAlSDTqgsauQJCo71WDga3j-mQFBAd5KOdXB1UX4jZVGFouEIXGD42ytkmpO6npt3jxz7edANwBBRsz9jDvFe73hAaia7LvG151n-M4mnqMXfkw6WKOscY8cJEwEItRojA0oOxB8SmtdyQvxVCGSCPSOj-3Ny5MO5b2WXpnHwyV1rP0JBE_d4GhEVzRG3LO9M-aCCXC77sIUxNqsomppXUMDuAdhFKaMilGo6Hfy6w5ltQPKl3kYElCQOwQzH7DZ6XnGSKh_ncD5CxYLUxDRtMRXpXKp14w9348Vc7E7g5k7tG6gSU1UPRENe3Wn8yUW8pH2l5PWrhtrHV3_LgxtE9XJIey68KUBBCPCd3k3lv0yIsB4crzb3wfplfURI_68dSXWxb2-knWRNPHs_Xe3fqa6ABNUf2FDXKo6rbnRIXQgi1ArKjGWeNwTPg70XA65w00RROAvkQSo2qchoi1eP0H-6t8f3hbJiSqrXfRrNa-AClLc1W12reNwx3Rvde4m3XSivvELKtN0LehV1_JW4ZdpQazJW9j3_owNOAXIQ_bNRsPc8Gv-aRr6PFe8rCXR8fgj9W9ydYI8vPNYmkHEYEbbwR4upjPTx-mRrAUsaUMwQgnKqR_PXDbMT2GG-HgquVNWrewFTHC-yrbsI2Bk6me_AVQnHlIq1DebH5yGBABsULfLzSfKe53mCdl8VOAa2m-Ib7WUZPacdO-Xb9groEhdqgKMon0s97mBuDp-KcOOYSYpQrJn7zXVMtmxHrZWbSWTAPRTvpX28bavoHCSrNJSReiAxGoZoYvzdfBXwxCIShsBAYBF7fzI0C8bIO564heOYDUZRR2pjZQ3weUcFv94s5I0lGlkac7qzYIt1kLg2kReSKVHb3MQKmkMNjZRa4mDVI5K7jjrmACfzL-wbqOTnyEZysHmT0JBJDMAEY2-PalN-WpWHgkMZiWA0L1mm8Wgj_5Qqy3Gr9By1V5NEScAxRxXx_zOKnTGys8WRq63YPVUCVoQYoPt9IuGC2sNPgxpacKLRXVj3I2YNrfnfa8-R_2yUTedeDroR7xKWEpS7rbyQTinpiCfZh5_cAxCCwB6S4IWDWo5mYd3ClKHuh4wg3N2ZzNmjVDq1WP6PEutYxr0Huat_6DoAZGNMQt8O5OV2DQZEjd1JkwYgdD3NPsyLm9IuucaSbn9G07cNGW9lS2nrfab0MelxCF3HiTj1pLBb-dtdla892v_4OOMCY7nkG7AmGi6vk3bv5ZNDo4PwDPaQVYpWCGbJdIEI-ntnWml3WSjircKRhTkgG2JR6hEoAnxHafRXNCKNSCPS1dwTBYF5xzTLaP96eXbFnonxUw8MI1b7l8sXsgumXQ7n1tb6RJT1DDrnet8qVH-ZP43MPCsDMGaR01MyzB87UFCYnUgWq53B8hi0s9ZS2geCbi8z-Bmoq_VyYAzzLQ2rplrf3TVbj4tHVwMjRVDBeDKIR_iP34i3m0T-pg19CvjI6eagefNXKscpDB85Xu5LPgRuae_mWoKK92LHP6ENLnJf3yGeHx8b8mcBHREZXH06J_AOJ3yEkYK7zjJv5ixOnvfzn3NK0oJXcGmJ4tbL02818NRn6mmm5FEu3V67cg12imvtZeZfzKvyA52rJMLJmjZ8xOrwbZyUF2suuV5N1oKNNudS_QfROyxBNgFqwczM_V9yGgTflt8pGR2-6rDvTWnS7wbXSkMd-sH-MZAlgqkhItf0M0xb6vYoYz_o6eOF0MmqzyiDMoch6cMnQd9tnSiD1v_sMBxQaeQVSbDwxDyHfqci0xXea8R8qJuHL4_b5wfTfvXXVVyWuWOp_T7uwT79TjvRuMx7lZfu4r27rBaxxMl1jRqpwbax2InXa4JHGI2f_jT1PTWumeOz0RQ9MS1fqKmfB82bfQ2mKk9wPt6p6AhEX5Y9V0iuP-4HggjpF5VtEsOlRcFMwMlhw08PPGXlDqkFFQy4bagnRhmTf-jfHbAUrmQ9_RNWAG0ZNw0LwrYeSDbLT6UwRtu1kSHjtgs_4amPDkK3cqkTBakHXMHzGVt2yQt-WsoC2F84ejm49ebLBCBF_veRRA6zo7DR_JA-tCJCtvSNBjHvAF6lTjsUa7cKGd2G8NpAmTaN_kR9Gc7Td-_l5h6KSeVkr0lxogOqvVBl0aoXkmwqhx5gPfQTLLflj1B9isZQsmj1QiQPXz2Ll1l-TZ9mXiT8Mq3PLcNwrWMv_H8uvY2grDci1gS7S9nxxoLtA8yePXzXebLQn239QgTqyJzzPED_qK0byTpMcZqCVtT0k9PgoND6oFp0fDQGKrNdc8h8AtaAB-RkcsK-uIn-hAYfOh0N3K0HzKu7CZbe-YzUg5Q5rH05F_EECvrO8KxiIOxRWyN7Q40og0SkfQSVbLQCJ2205ncBwicEZ_jcysaSI-ypvq5sA7AJoRw82Sfh9jO9H2k6bPIZCRW3nDwqgkzKF2e91ANzXE3CIAwddzl71eZWSG4qwa9T_mI-ZkS_hQX578-6BaZvVJol1aB7qoUQQwunYSf0BcXkm4n264o1PFd6OSce3AJ6lec5EHf4SiScLGna1cr3603H-E7Qz-rTseVclmByM1bHL_sDowLYj1NPLQOCg-xgKqHQzKIlkV4g4HMCOhZJLiJXqv1qIJiN2qw2AVgMFQ_oHUXZckyYSg0zIdeXZy-GvklcLww926m-ieyQE08RFvhytYq-W8uF11TAjBwIf1wVFRRnC25852YN5-UvNUhNdo7B2fpHBmae3pI9wtKJVebqAR5YKElfZ1PCAt1tAn3aYJ_KKpns8hw-kw_-x6d4BpQBTOdM-EBXWRL9ML2CQuDXGStIlcFiSkkIiuz2ekhDgmM0-8fwU7QHeM4UpsTEJoYro5B-6gXpWIrWs3ippFpgHdk6UF9eEIWXqRE6KtbUHjPS7SRMWWz7hPbbrjXs34sKjcDVKigBC72OfPylfe_5k2HTS9VRzV35TCRDg5hlrbK2rki9K6NPRjSNWMTy7mok45K0C0Wou87eu-JqpwjFldj8n-v19zNjFKzBA9LGCQbpUPnyKtO971xDGFctVGx9dTXs8xBOJ9wzKlQ6z6msglZSLDYkYrnzOVoKSIM6bgN0k4XJDxe32TLysIQ2YhhH2bAoPV31zpSBfJpJY1ERNhckStkidi7MAN-swFa9-QsKqViPdvgzVbJyiC_5xVatpnrYP2rdhld5P70gxK9Eyczf20nEzonuHH6Y232k1JTOhXd1eLOAu47DDfWGCO92ZU8w3cjgOzObWXFs5WQaSAPo11VcHYGQj6e5Nc3i_K58wrdT9ESEPjOV10LvSPPvkmFZmdVVdeLK_xMznrYucsdv48x9wcWkFoq9BaAmWz0Bn2Igq7kYbQoTN9qKh1v8kh3mU07nhuswFIkG3-g-mPzZhVDhxSprq-ETyj4u88JgrtbJeY7sHYJ_M8B1pur7P8lcGNCmosaxllj8OzXnymcM3rUyYti0hzhhVtAeZLaZr7ZhXOa-dG8WyRCr1pSIBSFbbp_R3P_LMgmhKs7G0XKvzudwo_tobcr7ExZ0hOWRVyl_rg64EnQneFZA7Bee9LLwuZM3nD2wIZzFioZeo9QFQW__34Dm4dn3cPKOpuhVFMuycMtLt3gd0R2Mk8G4CxrWoSC9nkAbf-2ZqP1Mzek7CAjTGLmSZzxcPkjKsfJA7kisfS1fZldIux3jpJDVFxAolaIecifPn97n763WXObNRI036yvqqrFHpMH1QiwsE7jGL9ZGao5QlN_FnLPlAC83ZPXH2C9a-LwKQMdMvjYKVZkHUarx1TDPcsG-3SEn8pLJnSkjEAXA8Qy314QV4OSVaTPWwQGUS5mjg477JNL7o8CuqXJpKXRBrF7fwRJiLI-m8H0Pg9pL2LLk33z-P5v2k4mHf7nsmZYsdyX6zwJvVqe3D23iXghT8iLzUFOq_YXl4SHIfcBT_4M2aQQaBT1ML2oIn6ETJZOkUcXoXcm9M_thN_EkigysZ9AySXw69YIoY0lS_V_BsieHzKBrqzyeYh-2vAMcbaV5I9SzjXfPGDtupsSZXr8OHASvXjXakU8r76fJpae7xsme8AJcXSn2eLqFLWJId6jJw-QedkQ89szKzuKBtnP1AXq4UQjLEas9Wkn2v0U6pi0mqTuxVZ8uK62Qa_LfQMooXSqzO-fcY1udMlQxqIxBHoCWUP9u3GS42WqA2BWr3jsYe-f0BKGyT1TiDeplYYPRmid_29CdugAijmBjkD69bHLR0-6ZbSZS-AWAMGmY2j5ED4vPrHz0rrCTnICq1lwsPAfH4ca6egKuIvOFA0Wrx6_XVMi-YaMkIHqji3CmwxGz28YucXzr9X1NH3XYcIfJny6_UhbyXWOy4mqV-qlnO8cMNogbn4LZqkdJUF0RvHTwT0LzjFzXo21khoYCIbjsJ5AUugdYo32fCuPGMgMpNUyGBPPbNvlzkJvqdWblicBRs_q7KnFjUx0P3zlnJQkCuxXVH3WFKV-Dk1NhF4H9gpfvloKz8a7e9CSyLhrFxzX2Pu2PaAXjagzQmAf5ZN4tiBI7HFzgtEE0B803sSE4aZyBGZC8Qh34l8Ou2XbQwWKQYHuL4K-kEVAul52nbipuoHMiM1ZittQJHl1O2otEc0GRPHzJiGuwMpE5q9M4EYqvRIOdEI3C1zONTBhB66qA3Mwyu11YFzxwYdGPw8H1lMV-NTjBxth6XfI2qcUhLXKFPJKkVQayAOvaqiVGPmI5D7KgaLZ7KhD8ee6RYvoHD-7KOO1usaN0lsT0JrKzHq8WF9CbXWz1p8Fi0E1D4AWhxbyLrCFm_09PJCPhbChAjndu-bwX0IZWJuOQ3SYD8iCRVLXvF4gUsJDyWVZLKhVeMhjDhZ7u0-lWURR2WS7sP2VOUtiJAOnP5LDTIt2whMfQ7j1wZI1C-kGPg8fbNwTCPCP3yGQOHBVVBHI_GHB20bvLWjWJDBBKRcirAuBOEYLrntSaj3f3WULQweJhxNxqGoB3giRstp0z19hsFlfOXpkNSe2tyavFuUv5foS5U2hKhwsfxhiYgFs_deKi_JjRV4gSz88bOlvAcmCIFEruhDUmxwdAlI607ZQE-JsJlOQjWtwlUPMmcS9dzDOcBehNNuR0butS1Y0ZPr-gWFUL9qx0u4nvjldG72R_dTRNVlmBAJAzJkslwQJEamckc2EZlBQRjFJOYc57dOxf4s1cSqHG9UWWhap1D2pEHELhNmYNV0GhuP2IoTjESRnVGAk5enghYFyhjPhNF8hmDFG3UwzF2eQ5WvK2ZEmYO9GRtmIBQHPuz9wqmEe32v_Pd9JABzSXWUV7xMK64wSb1ogApyDtsxYGgZtIZPmzEF1GK291XK-ItJ-llwH6YEehq5Xip3VQ-7BuuSXrsOMEeIpZEMlg3NrJ-yQx86GByC-TS5dGcGPv6nr2WTrPgt02lAYVRf3nVwP6zQTxK8fwhyeZwxZ0EnBmfkPhCYGmBZHtgUhVGTNR2nGNMu_yDOM9APuZjh0J7ZvMvdu0nvWjDFPL0oE3FM3P2Q3TTETWAtZeafnmJSaTduffN-_1cKuCfDgm0O1p1AKkUrBmz9o6Hnjs0c-af2qu9pmrOnFij5Iay2kEM5gL7dx-qNH5XkzzgW6tNb2R0sQiOia7wbeOvvduwaU-dMK_cq2hkF1WxaqEHUD2P6bX8o17mMMo58nQbHvhR5XvOv6EI8njl4igmRvb1fwugQs22eztbk76sQBGo_D03Ho19RfCuIzGchEryIBMpLfRAjE5VPCP6ocUYqIZ76AwFe04tWjn_Ws3s6GmNF2KLZ99dxy79KHoeKngVGHxabRcTMYiUlw29bf97BkdQQ-N7_EimVt6wK5eP3gWqsAQHvWiYlr4phcY5Ca0IISQtIt5jKb6vrJkRyyfv6o43NnnKxSodA8wt9GHFCGS70Yz6s6SdYkRg2QeMCVfEbh8mQwB68X0-9fQQUjSvTXN7r1O2MTniuzqJnkwQBEfTt3cinPxY1v8GLu3spfmcue_pJvwNnqWmizVb-iaKINEufIZpNN8SNtzqyyHGAoqAfGtsWctH0LIP0WXJvEqtHiOTHQtz9OQ6JAzJ05NNa-lM-837m_pp8_wxehOgxadYDNZQJ2b2Z7iW0EtpajVMeob-801eGFjPxd45riKawqo_e6T_Qe7fLQFw6DGaTDWDlE63GNjjS7RuoGr9gziKU-plaPRIzndsZtcQDtkASCubkH0uGdz1u3_3ACOr_UolfIHzh0N1i3w08vE3UXMXG7js0qP9mzLopcKx7lgP-g1E4PHSIV1C9ybjbnAstKSYblrrC60KkMAq6cGbN9h_t515aZo9-YSMyph04CoCngpcZC8AAIFRNrnRp8QCvuxt30b_Vrq8vWv1gUp6_uKRjHVZG2PuqRqjxTU0t9XY1-ZYW8_qvcsIcleQ9DhX6L5EthMQiA9Br-rHa3xd8HisGJqY4ZDYW-1rEarSG_TXybtQ9OhOP-ODpqf8IwuJtzSoHqO8o3KrynpY_3UAUlQgDvVvP7sn8ZQDu9MeTyErArNVf7q0CpWkECLBlU8_wEssKtBktKLX9ZQJMwRpa8F0Q4AHKFQmxyyn7HtZiv2WSWpEib6eLbjCEzZlIAetVF4oYIKoINOoGfbhXAZ3OGoxU6_DFDoPJF5PKHJ6DAOoI8X5givJi16Hna0zeNUZLrfJnuNZX92BkMq5J_qppmSmKSBq90DHmsm2jdB6ENgFv-G9jiAKV5TrVu9saxYfP-1pp6MEosJJ0Yp3eM3nBdUaDX4PtKzGUdPwCong9cWwVB84zoYDsL7cghuaHstDY67unzQMGlXyhXLqtfIJzKP53pp44GfAvc5suLCqaQSyxt_vA6DnQ_cBZ9SBWDJVcepgXpPUx3uBRWuwWUdLbriA8e8ziiQf48ZTHTHZ0yWKX5Zxzp44Vti9iKjz0SgI4UP6NaLZiQP25MqTCbpg04W-1mQvsIIIFQ5mgMmbwOLe9FEguU84HM7hZWKJmEBV_4KLtFwXBBnJCW_uSZS0noYtG5kssQ9bDTQHQQ4you_77Km3A1ihO1Dh4byP4KaU77iyXsWCgiH3YtAb-SmurSKAQYFTYp6ixx4RrxquTQo862vbGFCliP7D7sTDR1R8Vp4hinIGZtqTYHevpNpFwCAFR4i3187sUh7XzRM6z8GO8Fp4PsYOt4cnxPb2SbTmIcdVi8dNYYoUXiKPBsaF-Of0BZLZtR4rvHxN4Wry9R9LMCKhF2oNZtKNxHuiNj_j6MoCFLQE-QYwJhuUGqkrvc9qLdAWBQpdxjOTStRjK7qacqcgrTF1JdBknrKjZbpw7k2o94uyDZ5NzV7zr7mmObM-pZfOWUL6TwgygVMQpEpiULx7i_v0frDpP4pxHVKyrLumZeM8Cz1WwoeK2U7Imq8oFNw8FDjnHJRjoh1kelatwY14BG1xcrjgd04wbLFFZDNsCh4u3SfkOoLTU_IvxmJFjzIg6VCBLo8VpAqmSnBH0DDxAtiNb6NTq-SdRrepeNe95CHqz2R2wNFpv4okyOhtUF-79dN7WrgTSkrC7qiGaQOId2r8dcd5Tst5wwZs5ALrs8EsC9Tpmdw9MrjUf6cUwvbH0kTa5e5GV2dK9etuQyvv-nRfUOCYH5ECJDj73bfenmyFhws1jHP-YHDdRc0EeNkMXC2RqVT4jHOJEoejBYBDlqK-jMeZHa-9RSFfHJsd3N7FSQgaEEJ5XOyveCS6gSNHLpiKRWNcLvd-mtvVf_Js6AbF2DgM03sSXiSTZfMadE3QUa7NpGJn8ZDg6gsl8dh2NghPUrMPGKZSL3zIlfL38MlSkZz-TBhGH6sHYhMcG-wqo4flZKtsPmwpjqFXI_SrLyTbJnjmccYfJBsWzymt0AMDIgfthrab7A1hqZTFZamIeNqSd29esIEVc0wYfrD7CpvX4osVi5T4Hly_Aty1-wPYY4-XDHs5mPi8xtyGqJix4tteLc7bLRMDAjG2G2r9OLb3qfVC2oQ9PkHIKzsIk4cLiRedyk-zNPEeAV1AKWhzx9lWObUXbd3raN5wG-vpgzRib-ykO8_wYPvTOYomWeSxyYuVNT52DJ6uTaIKjUmQS5NT_KHhQJY3wzw08UNYhMxOWVPpLplNqNs0LoQLVIK8zlRbME8SpktaN415Ldv6otTst-nIoCx-js3uAewNOhuyOj1VdZSB5tafRsyMFvM9xq5n4qckVhGCPYEB6MliyAa4wm55Bt0P--UJ3pkZL21FxvVBPGPkpSCJpLkCaipSXplzYNSzlKStuPoSUqr_QCwOmHWUNp4WLHtceo530_lXzOSkHYYAjn05WSxpuav0m4WbbIwop9lBT-UPGVBy-C3q59yBdKEzpPUeiYmZW3YRLhX7zmFpuQVkjYvm-KBkYbWC3UZ9g_EEBDqZ9LShpBG_mvey3URcOmI0x2Ofsb-KlibWfzGnedwwOHhYyVff-ewtL7JGNmAVy0hF6zwWTyI-lwHMz7-lC4TIKwNv4Q37xqKKtpqj5_7YSb_bcDXEkejFQ2xJUje6Zny10kIzPt2nNxH7Qh2r61yO99f7VuWY9lWkbZc39CDgSUD07cFc1c2oX409vxL663QUp6vZxs9mnfOvqqNdlhcc4Zb4xoGizYRWseHg7DNneaLEHljfyQm0AwRJos7X7r3oH9QZQo018PjXSlnkVe4zSYqIw685dWHWlNycg_4RywfTOiyRzJLXI8qwXppN_fbySwhTL7EzgzcC2-buFj3PTXBh7vzSXYlT7nbtR4S9F6LXjeS1jeF50YF0qYfV47CUWWdt0_bGo4u3_4UfARJ2lD8uasVOliNHa0kWfPf91HeuvZmBZqbl8gpzwfRJV8S-CN1uBRaFXEZUnXcYI6YDurMBas5bSfwwyx3ZMz1PL5hpPE22-Ea1sFe7NnVenr__g4oqaB2hiiqhSyIvc2GD6PpObGzFDg6GumofTm9-L-KtpqrRpUcmqAvFDXXLgZZwdZ_NYlbhedE7YxxPHZolcXWPp9_eejWrJZXA3n2ug-XLsOZxV6W1qTFbxCdVH1Mei3XwMSiPKMflCq3eMTorBF1vUBBzl1nUPjTshkNNIXfkEjWA1xnrSTHHfSLQLRy1RzK_yPOq0h1cKfU763JGU-dEks89Fsb0HtuIlrozEf5i9Ft7eTNcB-Jq3-mVSdR-OKlIQG6NaLIyoSFaizmdpzr_lhC6PbfNoxD-6eYGpd0iNxYXTWlTK4Srq_OWtOEoftQb99zfC40nmLmCpRq6xnaXVU2LKHKx-OJiuZsTj06nC165zXdW9ZqSCw_nKaAlo3Fo79U2v2VL22Iypvc9W2HTXCMZ1pVlYIzzntbm9FsjynXtRMDsYQszhTq5jdCUDF2iFDStgDLj9o9d28oi3Fw6kKP6rf9l7CQXlz5w9EZCqUS6RMb4yYyuXjxqk4s_DegsDr_5uZ4aKLqSmhW2-ugyeCa-DOmfPqMf9zhmdsHzOEmNvlIqstS98eP5qY_OXzq_FCl9ab1ovhllooHny0LuFczSkvPvgGdJQO5dY1WL5DZryzR7BeoQu1Ho8vDOLdJBEKxYe6Gg9Cvl7I18undGD0xMaz-1Fzrk2dmVsIeCofttjIKCuZXvxzf9LVgM5jPVcYwgVbQb5W90s1YH-qhz0bExdc1g60WbwTicWReHA7rdjI4YfZ1cgtgVMwnKwFlGd_aM9cZ7pzRQA5zObQj6t8O_CZSFRTsiajoFYak05tltZg4wQ5GkPsAo4Zf0WfoVzbf9cJ1_vH0Oc9kAw4VSdbBBMnE9jIakEmBEVX7RoLRP2di13O-Le0VCtiVBnpqLVxI2Y7ai2hm9_zVf-94NOtEFgkKlg3KTOd_bdRe-5RXOoRFcOCGpRkd7rAIaIDpS4Ukgy-OqhYiVgz2r0g2V7c5ng1qRH0EORWj-fkOV5R95yB3wzvFcUhsqMTuk8G0ESUKMejMmfa_wmu7gMoiCV_lx4PDfitFb6KkNTQA_rP76RIwcUKQnX2ERE6C-MSQKaXLr6rQwcGpF8ThoKmcp0L4P2A4XHgTmy-1LVFnm3Pzbo4ZCAcVw7APH9cyU9bvRrof5K4TXvtE-tJiDWKTHgssJ-n92ZA2Ah9SPTh8oSb0weeRinQdmJdEJlVgx1pnmz5V-1-CWdLfB-f69nf9snhYvzKb16vLzAft87qCEqIbFAksCr2_yIBwXIgg_BV5qExVS6qbTJMTqo4icHH22Im_4OJSBtLOz-NTTU2oOahNFsHT24EMqhzYLgFHLVqVZBiqCfE8S23etfyWOq12Nc5If2IRIPAZlsuQtPDUTdv1fOguy8gXzrM-7B-vwGklhu6Nx2bpKZp4RNsKbdRICvNi1S7lrlMN6Lry9onWZCWZDH0v4r1lG3Y2LeSae_hdgPu_hkSitlt-VHretAq7W0wnIhDyRXir_-tkVo2ucZu6qDz2Zmgi5hrc3kQ9hSRQXeArVcbcxNuo2nuWbzkMUD7n-LlAes-crG1J-OjXNqCpsuVw3jou7Q4cXAuVybGmijhn5bg86I-zEtYBBJQ6aSlsMhsZ60JRQ1wVPK59042AqqSqJtALvBQVddkaP6K-bDR_CExuF8DQDWeizoqiCN0shuVy2HkX1TWCy49IsurF7vs4QclxbBbOkJ83fcP-bf4k1PZeh8dbAMj0t5Bo_DrlVSaxrM1dvXQaecVVl15UMx6qpTgbBV_L5T67pxY7Abu29csfYVW5NqQsOBkSANpXp0fXOPgKPy8OOOmJzhRUDQBtucRR9tpIskLoRaqlVBqFeoRdU6Yrvq2tCLHXqOldprfQK5rW391OIrU7XiYhFDJC7E1KZnYF37M99tmXAyFFoPKUuB9qBi_rIzUnuzU0RMOc0JGsEYJ1Z3q2SGVEpwP_PGR-rktY19DiunIy54rbtJvFqB0C1tS5WZ0JoRZwCLISsuk2SUjLMDRhaPhpQdPyd6i0Ay36Negh8nyv6DqFv7SLIaS9Y-7Q3ranzqZwpXrO-3NnmKRdgf6LxUmk39aFAvM3Bsqt0Mmfki8_dxE7v1dcXl4bz4e9QbsYN2bLIxqsCZIJm8Yk0-eT7jx8_RsIdt8hDFctj01kvtmGCEvsrOrhnQ7QZs-1Uu861qlkofl8t4pUvXHfGWScbn_R5fSfHqVH9LUa8QYrJxReSqCoQHHOTcK3q1sUI9xlq4llfLej17IV278lPIox1Csy-xBw2-Sd49aSc8hXbyjh7nzSxnUQjyuV_yFmfIQ3mGLccc-e4Xk9pjnXUeVwNf8svhf2Tt8VVO3CRjieTf9eJddHH6Ejc2qeXNtelSUT4BU-pwifqw4Zftf9mc3Yu4ysbjYvkTgnjyvssj7oM0A_VUA9RTuIb2TCtD-Jdsb85NhQjOeZ-0zp4uWH4KNEz8hqGwqOMSIpKAXpPc3dz7RltpLVvkLKqk4KIlxZdn9vyTI-9wnqgHbIPfMJZfq9B_Vja3p-G1CNSatMWREO-QQnGXiNjST3rxp2p_Qk85K0eFicYZwS1lUBJ8oO41FOarGbZZqS-27oEOVTaneEzfRAp04l4nmmry3cSdX2FcB4reSMzwuitKanciY1yzBjcnyyjGTk8_HN0Eixpoh1i_A-DdTWLiux_MxLB2vKZdsnZFGoBzB5LvgpBBjrZ1-YO6qwC0_ngAwRsh0PTI6SmfO-0ZD5LVGIeUkKVBpYiJaglrWzCU2mRbPvj1fckeN0sqxkvPkkQI-Hv88JxXQGWPJQS8GtfsnNhaefv40FWUXl7MqevLPS6vU1jQamhlGZi4Vrnh4AwjMspNCnYr6LT5Y5kGe5ybLzzTxSpof6nfU8BYKeZRaNBdpUHHEHPBUMeo1y-kNERCkD93x64ZGoPuVQwtCCx9Pj3MVE-iW4RRTjrFn5EnyWTCgXd3RVrDbXobiGhZSBwU4q9TYSjLnp35IP2nmbPljTc0jWMaEVxwkoUHdPU5khIRGnavjA0NmqbrTBDE0Veh15AZSuCJbMHbLAwNN8fpd6YxE0qeMyyFTIgw1-MObymtZymXUaosQhcuTtUF6LRUKZfkZ0gcJ8VBUCD5UcHbpG2cA6AzJ1qSI_RQGt6_9ZTe3vKFmQrswQXv-5aeSxE89a7QDBPru6ZW-3Xg0sdqKF-slJaN803cVPk-vBx201K9Agsyadadnkw73ltE4oLjy5jQjnYf_oxoTggPU5__eITjJDWSS_7pmAkWnq5XRKBusJkrB6Fa8vJOP-yYFxS1tVYZ9l01YRXC3NBPMOV3VCS9qUiw63gDVCJuPH3cGpV5Lksn8T_9sI2hxhMokVitw_NsFkh_nmkQfN6cha2nScpyZZfxkSRSPzlAXsUvi2a_W7ikBQM-zCsOl4LJSxIDbDDXeXj_kvEwQErPx0zRYR3aBKZqVKpjBbCeqtT4D-y2qnzw_wiMTUdjgVlHj8zxx2cpiLNbluWI-9NYk_MuBELPM2vySpVc_YxlBU86f28s0qrpyB0FGT4ofDMRpO6INIizfYRubyVaTUlkTJ-n59mXhFYMpo9dvOK_1BLbzncdTHvV7IBnQqjmA4-5bKGhFKwVoj2izZdUt9SOvQZE1_rUaXcJnnr0Sojgym34_LIL4KGLfI55uSDhBij_R0F2HYRIQq7rpgnpc72Bt1KUnfJnddqoOC3mBdl_mSdo2yGUG3wdtoK32FBWRETOb4pmq6BPCOrxdCEvvZIBO6xRwh2BqywrmuEbUnhuSKSmgLs2jHQ5ppo6bobY3eMcpG5jU93yaBH-ThmkYpKcarSxd9w_mwnaeViZmdtFu8S484qlRJmUrhS3rpWUAIDUXV5p99AA7gLVssvhxkEvbZfkyXdTOuy-jPFvBivdZLB_44DUGKjBPOtyGWKnx-A1ZU7yJNACqUX9yCno6hqwZdAXdmcVAFUhD5hTLGTHr4TfS9Apht9q9nq5XEDWUA19N0_LNHCFt9HSfOEkywTjO_1WFmngH4Endi6c71ZgYhvDO_bPymL8MzhDffGNaATeJM0_76EECxXrV07odGvlVpBBM4C_R8klOWZyGIy-6C7VU3pfPOq-Vprihb-Q3rdxCwzYFqouW27k6VAUJqGWxpFhbiO8xBOUEjotvSenCzPxujExSKaW7CBrqwqnwRpX1ftlUGSRWt3cWEMG3qJpGalz_diPbXAKy02cbLqvx7cr4y4eiIYtloI4WN7Z_BdWUufOk_icrCWXkszWi1Pbc8Sk4q5YQgeJbsUd2G1YlSZoT1M8nFmloL93oGvo33VbTOHyIVtSx5Cyzfg7QJgIAlQedR91th7CeWJGpMpU3kIEteQM3p2agwPitp3elvvL8F9xVrIRVzmVKW3XoeThmQkv2_4WP-8T7B30Hg8i58SjtO8Oo9GeqrV6LCaK3CHE-dUDtctmn69dnZ0OD_unHN1mrdurWpXn0NetC0RV00_V2NoOhl6F0dBS9JojIO-of49gjHTkSZeK1g_YVVoxkDONWax5wE6__PCSjseiBpr9qEL_ciGUrRaQ8hFG3Ojva4BqRJFRRaCeR8Pa1nbOe_TEyhMg5ZLH7FsFBzliCJpfbLttZkNy-Dd-GdtvGsh562CzPzJTqPktqCnHU1V0cb1SHrNz3o4lB6CuNJi0rrdMSeKsZTbFnthRsZ7GyJCnfs5z5494ZRXgrwealgcJCg4Qo1PIBJAlSQh4ZQjQNo24Fy93S7nVRhlh7z4lrOSlEey01G6UEn0QfbFzlhUTDWFiXMkV2pwbuvzbDmCzEx8A7lLDUNui9Dsx1uTbxGB8eITCHUE74QUrRjQZRyDYiRK11jCuF1TwAZosYhx4UH4dUYmn7DyykrPfSgzwjt6Mploo6mPdNT1wtIaCFcB7sGBfZvkxzzZ1oGempHsf8jtBHLu1xUj-bGvYA6pDcedq_C_BPMLlHWHXMykv_3tpnOw3GqfFhc-2vx4zqFeqp48wswOi6JxYpASklpYfZgvuTmBBMZB9zvTpwAm0zeGNxpJsFGgRDn12nOtHnsF1wvBO4coOtBgG1gGLuRsnsdtndo03pEP4ldjvuaWgoeknV8L_uvJd4WA3bcyGHqpBXVhAMVXDkSj4CH7z_MSronkvOYU-2x_pJlkVXFJJbPUVtVCbtnqRfJhwwjIEkzzrU4fnRddoYx3mIHncVQmwlDAaurRlC4Oezno3NxnCHJGlwrYZEFCWd4Tzg1vFD1JWxU6_-9CrqcYzQhNAVaz5XKggpEd5uuCCywF54TVbzKjyJ8nRbY5wvBXnxI1xl2-Vob4yDWquCmd0HDCCSR42_Yjr00-aQCim4gUHDLv04-EdbqLUcnuCq8GnwmKysY1yalk7cqJaB-ytobTpfzJSpSGIy6nDnWXaqcuv-TVDUmNCH0RIfyA09nFt3-R8Y52R1X1Y6Q3sDrAd5AkIb-gddo29FsnnwAiHXRajd-_1EyvcV61YIKn_W_bgzba5ifbkD52U9W1ZxNyqg6ckxTHzPMc05UjgVeCR7Svn3xqoH0qh7bM3aLI1gyaep89IghO08HXumtdIz1sPbKSSaRqCVOIN3dmJOXena1UYfCKbi2dTyx7M9wGTYymTeFSpcZhucUc80AQASQAxeebVl9-FQ9e1ydJ_LsGrusswRYvMD1ZtihwdXrDO3fIik5GiPbn8u1qTxp2cu9nyYC2vl8BM0F0gpTKoQHy24YA0Rag-Qs2RVQRPSJAVfFFA591Qj6OLfGZXHKVmkrDY1jRjYVIXeCjj7gzjoFo3FUJGOjL_0NGeJVjyRsdQAReC3mWyqpu66jRpPGGqD0me8brfMXCMI0F7nM1cGN9tLEjUzeQiiajaUJZx2oALqTdP3ExQATD6q7z4VnvkjldZpxbp3f5lQvDKiSvlyc5kg2f7RgVSJw9rrHriB-_1Qx3n1bUAO9IXTr7pDVBd9Jb9w-uNO-vewIn2VmEvtbHcp7N1djYMmQTMVJrMj_PC3RUkMpKQiXLoXzgdlbvctfPtOF4z34pY5rsEQ-k19YdoKBWB74vy9OFOt2PZ-tvFNZ7DKwCB1HzBpX2IPbEs-ZQL4jQez1bYbsRXQH5ZI56Qu7Rzpg07YmlXbUfiF9imOxOnuexHixtIDRWffMA0FUhF657xUxbgoJIskLqS1JcSsuuikRCKNzgoIXsj5ql6j7SbAnbaEJ-TbG92byaF37rtVlc_UYhKKWGeAKOPjToGVx0Fu08nx8MdfK7R0yMMla2yMIm2F47Dpo7eMrqFLkMDjtLFQg9omHLLTCRZvHavvdkTs861A1TPOtM2DP8g4YXZPtmd7R_geICZuIMOSOiYYnvuZZrXDxEGfGicJ66KeAYEoNyNfqP7x3Eewf5aDCwymhQqyRJFmwSIRJNHyf9xVcGDrEPADJQFiUNJbs3tJqtAUM--5iOQByJfQhuCh374XzXGhXmIlwSfW20jKJ0pi6kqPmMR7n1a9KjSN0JfT_VvIi-tIyi8hjY5jWJSxCtl6kY22p1c_Bx1m9YqBl6O3uEYH7UFKlMin9YKcbSFTm7_jlM1voDl_lzxO7Mbn1i7do2jOaHo5iWKGId2rpROGVqov5okT1tksj5cDppLZ3RfpDdtZXN_lkYwWkiKZF2Umb-ODqUFfqZV4KKzwFNjrzO-KcD3IGWpvsV0lZ59PpJurwOQaLUVbLp39gKZVtup5423K1WRosEVXDATrj96xe3i-FvvMisUdAfoqiebF4Z-c2Lr26UOAKJASgW4GoDE1YO-LXwUYSA00fmDQNN2kctbwT96EUbL4KD-k-xjzwPvYf-zyEc3rIaVJOP48rpOrrX--9rV3qSJmRzDikcfXXXigQCt2QdKUUw8UJmHqoM_0eFC-q6zJeR4I_GyRulTtC6QNIh2lHP7i_sjq6_WOQz5PMPMrpUDC8q4HFf99ZYnJ-bW0j3IBDecfmlOJNboOhn_4a8cosxS0rvosMatzaRpJgoyClPo8jHfKnFNIG31b6WpYsmPRQwJT-3-HavhtoUj9C1hAMoSyQijsUsLDkjqeCT3nXSqxsJaIS0zMGpNnVHgMzlkudQYnItNrrZR-wTT-xk4QJemAJgQMYpo1ncfECJbUvbrad37PnMSXaexT4oIyx_EYkZScPEK5uN39krtymHp42UWKh0TEXZ00suY_SW0OTnqMSdEUcnMtSPhaMRVWjjr-NhRgbP-D1gkbmy3_rUJzxTocdrEUc1AXAn1unBqds-Z76Y02Cga_KZu1JJ8MOSBr1xZcmcdgjLg1SJoihA1wvYriILD2sSv7DduQtyP_oByygru6tSa0RTKh1yOGo4a7e9-Kc7Tpl1nCpfWDqMFhGwzbWPeqS2O70cS-jwq02ayrgL9oivatIZZfm9SjLCOmWbjzuM-3ODqwA8N37KDSVKty-iaE1yyEtmd_IMsZQqlFeLGUgULFSLKpPmcj3boFGiMPXn2gAhqXmjkEF2_ZRN_hAeiAxxlfmfJ0L7pzeC-wCZ6MHD3bLYAXF-cyGIiZu53NBd1ek513fhaUBeuR6B9PMCywG6CSSLFDgb3IkPQjiXH64b2HQn_CJA55MVMm2hb9DoaviLtCRvCK21vfpsXvgFmO5EfWc3sknQS0SEWDcAuCFbwKdb7SAEt6p32EXxBFrUA249RtMlMLngdL5dyE72QuCDifr9R2foqv3USnHuc-4zKcR8RKBCRxJBRKwQVz-TBRRgT6FKOmLln8zmsPEp8ezuy3CQIQ2TJu9oF68n7Amnhvl6YNqdxYBXPsMMoXj1iwzn14SmfZzQA8lcPW-XFKm67M5xYW9Z1g4gpSLzuFLJ1MoLzcpl3RZeUpvlAw3w9M2uKAwbRC-rZ7gvrUnawkUH6OcWLbt6iLmyjU1oUyCkjfWsFo8-BU08xZygPC1XluZ_XwmLatRNY41F0wVwLWCj90_b_QZ25o8ZSigu65GYvJvhloayYxgL9uq-U0QoHnAsxR7HQdFG3LX21PehNG7zF2-ufbZD4kH-eGm9_FCYtJhEjhXyaTQvsTnYQZjIMT63guBdIYLJglQEXxi_5UX4WPIRMAxEuxex9Iii_rM7lNNRGhvJ93zO8i4fQxePI7IssbTFPA1xfIfORktbe1xB2C4Q7gdaxWgVZDQOTPMjxC7midM1QoQVCiw4EtsbECPZ4Zl-gsietDUFdz065o_pv96BlakbuECmLZbmIsU_z6rOSGbpMTlNLzG1el-55GIAlt2N5aCjj1o30GY_IIQgrSvk-HoVOpREpf9zumdFQGEOqlctxy0ZWVUkbMRyheKLo-j6GKQ88gIQMTmmnueOHE2ZoWTr0JpHvzvcQNtSf666iHxUq7vXutWznCwkIq73ODhbsdRp1ImPCbmWII3Hrg7y1XuVn50yqYbsa1BE-pru0h0fQAlCKGvwPBUbI4LPp9eVIar6Nc9gLw6yfJl7NpBlwOVzXqGuvFn93vtglz1vJtNAqbjYIZKecN5izmdSLbUinupm8pI_iQg-5CH3kEAeBGemDryRNgvC7ycO7vXhETe5AOSb1l4o_RSWUrjfwVIb2YBNQg4C_TQ65YIxyHRXAbGznsqCZ9Z0o_-Bhb8THriICjyFCUvO9hXwN9VkpYgqd6g3dSegKgvu7h1I-_z_wfLnKg8_YCJplmBogcDln15NffnR9uNpA6N8QfTUyAz_W1LCgzDatiGcZrk7GMKldA1gnORcaU1TVGQmMpD3gS-yovXnvKYkFqjQhuS6AzROm-CVEMVAJC-jsmNYwEeQHBRoFd2EmX2hC11oIMfGGq7bmleafQSskocM_pROcRsxyDO0HZ2Tf38P86bdTJJmwjFGzZ3MUYZwo67keUty3ZgG0Idl-ktP7DDjjAJLYDexpGqwqzFjkfQtHvR0lhVc30OhFmv8OXXEcmBO01Umsfgk9SeaNq8CqUYLz6jPJBldGqPu78NHR_ah331rX666_y2TN3XdKtmBH-swAtZVM4-Rweyu0YTZaaveOvbfDE4l5eVTI94suYiNAin2hDetZCeGJ-KqfhtHFaeF5EZYJnXegTQpye9CqlvCt7Dykc8bS45YMVL3DJgtdWPR9Ghi0Xv40-f2n_cjzcIV-lEAFcuHae82OYBkIfPN6GhpLt5_VOQh7meLB0k_tOpgOEfccjSpFtY6Oaq2-G16klnURpDXoYMXjgEZ52igaNc3jjsTb2wyDMnsGLcCPseoxhXeVlPtR2kk5DpqsSLsDyne_Soea0sIU-zsT8aEaVWz-tQLTpb5huY575FV4-qrcpIh1yS2phWCTJ6u-tgkvZcqBu7gwQGR13CZS97_zJkorzAIKYWtZPdRlmrDgMB4Zd8XKPul-1bOa3s_sCTkXBVNVZX5QMlvY5Smxfa5IewUe9L_oM97MAgWb9huveZDfyH68bmlht6VOOeqvACpc_MRbEGoiezHlssee5-hL4nb6d65obLKZNkl3G2icmChmMIu8_U7TvJ9iiO-ZsoBqcAux9XUL1ebJ27K_lvORks_UtMm6uOfZ0CqDw7KLjAemq2NHIJWlI-nAaKLh1e5iSqlHfyQ8QOnIaTiIoEHC4QIQm6kVtkObxZEn-Llmr62q3t62jJ4InziV7lCcOgLy2uZ6cdT4bz3YxzfjrbfG-lNtuRPhYayWWv2-aJmLh1r2_U_utzIdE8mHjDHQ2RnfpC3j-EryATaSVpPhCiIjRz8DjdR-9nEyuL_VOunvZ9zMvU4aEgzIxIiWqNmsgMmDwlKMdGSe8G8uuoKg8if-R2BEhsEf6NAk_JUk8y8o8XK6a-wgJXoQgQyorD7Svm6epWP4AMJuONbfMxxfbndzf64RMsoZMJUfKhcBsatUstOSdFUtpxUTj16-jsdE3WGNnoJdAJJZJVQ3-1qvj1gNU_BNiLs0Km9hkzMEF9RZUyRnGe2Ysa2kHWLqU20_V3eCKGG9DiYOImAY13BkyfyUO4cjwbXqcQ8U_9gALO2S08Anbg53nXIUM0xJXdWuGwbyS0eU3AK7GtKWHAh45rSsc4t4IBbFruy0LE_AsfjNbWzBEk6EcPnOjm097oKWLtGaAtjUMPbPHjHsB1gN7i6MSwno7d9k0ok9VGQyHbdT17cH5pszCJia3tioJzzUzYx-aVf8tBNdftdbVI0VLVsmZN2QpY5COBoQUg3clMuGvS1H2UsqUKeJLiiYcr8F7CI-BdyK81Ze7xfoAff9Wiz9Hje-CRuPf1hvKrK1GlA5B-FkmyOSSks9NzAn0NkZST-mYgkygaK0NJhK78MeSZ4EW30pv8Di5iUZNX2wAaxLLVWmQZLYd-g5xeqnIU461NKmhQqe56NsLhCA9VqgVrDuAcx514KHyHMesEs7eGDNnzumHg1T7Wcr-3owCnODIu1rNkrG18DCpuTAPtmA7m1jZWMK_cILTYaY42SW6JYiJ2IPFw0ueXoCvTqN3t5wueLx7DcyXxG2tGZj2UL49Sm0_9SUtEHV65ncWxu8_n8dVlsk8nEoQIRzvInW6xYRR46h9UCkvDhEItay7xQHsF3a8HEegPlOtr-pJB33u-1daWbFzO-uPiFob0WZl8LAER8rE4Q41JWaSqksK_vW1throgwKoTJsieG_5AuIqqve-HRG3oZrhACpHA60WRBIKPjV1FD5gi81K6-Kf6lP5sTBqgJv3aTjEKlFagsamlU0JKspZDIqOAeYxMMw55mrB4rLsP4JMyPoArBKXg71cFEnnFMyF3XHkm5mJb-VRtFp0pE3SgxpxrDuf4ZW6IKdHjOAvnaYopU1CuYRMOlyp5vBk8XNF3P4zEK6d6sa_oPiOKb_-RLRVq4mQQYwxwonSUzVwOMrLK4bbjweLuJjM2SYcT0qmBVFfM3qyotNP1vlOUyTt8mmCHwXTgXhKcsDrwWhkgVK6uluJF0l60R16SnFZY9X6poiMY4I3zsjzlTmVNYJka8-iBGc4eHrWKB6Keqhi2qH1ezuTxNkdd5hH8rWKlr9GpmP8CBO_WKJx6s2pG5XW4GlA5T1bWj2Ke5XrUb7HSoziS3pH0-CUmqJuJDrdGQFRFc5iXayI7ChPg48J90AyqYYinhxNChj-UZ1kU-9BU5ODxxXgCwOeLAJqBCT9g8kXl83Fp4Xvae7BG-sa4fDBnsXCO7BzQCKok_9F-Ya-gkaZ-fN_cYEjAWQ5QLsUpVyEyapFHHJIooTv7QamMl5jVpT0UZR18fDSmbLl5HqKGpj3N0dMuLKVoMj2hYpABjJmCeuaIRVPVvxAPwci17dD0Ow9c_TvMvkVz6RxbgIbdKAL7tA-DoK9KSRaSZMC5mSGYo8sA3KcQD0wrcWc3TubpM2kjMClVFTlAHXN-tTV5eKd_wEEZo2-uhZ_mu9N5r2Ce2rIlM7D4gyL4sWLGOnDb230MLpc62KiAwx6vAs_FdcZ-e4SPFRmCNCIq3jdfoi1jYGI_HthaMNq9ME1ChWkBdunLj7y7pgg1rBKGEmLrOjJyUBI6QBu9TxcWL9juxHJOTvOzdFMUZWEPgh6eFdQmokZ7jk_R1_et-ooFEKiwjFwXQWQJ9L-QMS_TyLXdCMy3kHRFq0XItDx4b1-kH-fhhERpPyMqciB3-AqNqVD8eHNj69FmXd10fz8TUtJSvKCYWz_q9Mrybd8BS06VwF9iWc5PAm6PG2cZNiJ_e3Wf8TypiDG2aLsaSNM_B9dWrlVZPUn9HW20GFdv8Apv4esp1D3GVFYiBgW1ENONLpxx6Rxx_cwikf4l0z6lG_bEgCe_6OFnlgn_qRCxppag6zD2C1rC1NRqppz0AD5mLRbwaTISO7GvkQIJTxbl1jn-qxLSNYpyVHf4OzDy_3mDJORxBjJhD_4K2zLxMtPsAxjp9kSYyYP3tE4Nn0IGroI0m602jqLIG6Ur4oubkWGX-ZnCeSd17cNbNSn_9ukjc_4uFOh-oBIIawJ6jqx426n6jwfRrCudxQ_Rjv2UGNJ3LFx60W79JN35z35czDcJVocLffQkihYRhK00-cLr9ZJwsEA76Soi0NASgOJj-60pifqYycI5jnnMGAlACjvcqQShm6FukaI2qNC9KUYUvNuCseaYc56GkIQgQG8fEeG_uvDS8kaxSAbwqjCoQnuELTnwUQoPcwYv40PJPLBnDcwE1aG90jHDhDj1-EXEisFgeOOL5Qod9O6Rqkk2xsp_z9VTHcaQ-jx0SS-DUO51elhNXs2V-d0Ft229pIDYb4yY6w5FbTi7JiZ-lqACfqDSjY7SjH8WiEhfnixMUEV8lR9giXoV3urZeeYQrMYeDviF183vXZ1Hay_EvnZS1GEDtlCHNaX7SLeyC6oLTwzDUhweY9yPFXQtb04bcD7qXQM8OJwAvni-Ou8V25vHm08LdjvinXBiv5uAQ_ir8jCIuyNY2TeluPP58fF6q_RPLRoZ6zQ3op88O17IR1tt40OYplNFX2l3RXtuihowtuz0Pey4zMHrHjDs3sPJExXHssxcw_2T7m157nNwN7d__0tAPG3A31qWf1ACoVdrRk5S4ANW3PlSfjVdalponebkNgTHprs7U3tShAuwq2HS7SNkkANDj9avA0Ud-NnyUpgXKgFDLJQgLKBNoY8wLkhE68jyKEHxBuWp78kFaBvnzQ_9Wn9q15pXV414MVwun8q93TuJnL8zGXIbykWDAud63QfkigPmDnZe69CI-4LrG4y6ksC_THxE94hK8x8lDjhBQHFN5WV5GmAQLS0li1SHUKzPZ6ijC1i7eAwSc9i5lIRnKut-607hq4u57wNE8MOFFvkBBvvLN8VWeZFjT-AhenZnF5awtCiuJBQt8q6RcnUdkmrunbBixqUaITfryz3Z1S5q_3gCvClyf_EMuuoQ_G7QjrBGKPo4LR42KlbhlzR8KkcV1i90H1skFaWThPnQDCVyhIKx2ZWcBgFIN8lR9fgtcKId-sjBVqt_2VuU591_DlhuRWHA_JTZ2iuMfQSREqgX4oFrrOCyLKwj3h-3HZoZcMSbS1FQCAfcFcmcmeaQYIqhNOE1EmzYoG14aufmBTu7VYRjHBPwzjeqMjbfQnTL4kSbDyiQ7xpFB4ck6Yelwk15nu6B1qtjFMYZxunsRnlL57vVL-uP0Fbv-mC1_HbUbxi1WCCXPKfMap-SUJg7ftCwVBvGPIDBuH74fP1ogQdX3mdiyaKfiE00UL3F3PLIlzZVrcI4T61mXqCso5q2xHVql7ShF7NvMlzKIMggg-8d4oRpl11_fbsLGAb3FMSCc2NLo28EqWu8XdGjXFCUPCSw2XK4naKRfVSjf1o8kTXewHpDpcvw1ICflNXM9XMkna-8W1rLXirt4GYIRhigfi0h2grbY0XhFP83FqMxWO4BCqWjRgkmQAouwNKKb1vcMTVsrujepokOZdzJAc4t43yTFAGCx0HP5x7G3g4R0OfbUeWQIMJNssYhS6IexO2ewGjvvdK8hzpuFgdsSHRgU4W0G45wjGTJ44ceIeoE1OTi9MIWoRdoLWau2eZKyZw5dyFjEjEMbL5P0aE048lRtDn7vXHv4ZlDqAeaR1m-gjVLnKn_BjQIph3K5f5SdzJS0YEAAFSFLkdf6sld6KP-uoBuK3Y7TejVVermhiTPLNhTmAJGBZtqTgjnG24xw-PswTGJNLSlgbUW11a9YXKYqGQnfyv9DujLJYrFwd6K8IauUeZzlwDZj_SfXUbZBwiJUzzkN9crgqjMZUeEQRHqAcT3GZQ3kwgrMKOCXlguR8BfeBM5VAJrgJE3Dhj8o4sc_vIogE3w5vpou3ilCQ6TI6UoL3ZicXx7x1Q9rFR5nSld0Vl3YCeF2NyIoU_9qmLJFFiQd3DPTuwtrxRTsbxRxpVp3FwVBMdk-tMnr4tf3-nd024LHmVS_e9oe_OI0cn-JsXGlz0kSqgU9mRj-LWKD3ctULI8de1ZLcMF6BmZqOua4eg-uu_02Sd-KxGzZ5hkEMR4Itc-CfBanZDmku_CZzm0c9CIF9WkuELfFyB_OU960YjWxcBJBEE2SFaeF1VfmpbmaW2bwv3ks7hCC3_J2JIfZYzunELDh-E0aY1s9GG9vzPdO3xHRvyk7dCd8zW5YfwvfbYE1KvnpKZP8RTrHfCLB6mPX6kMvFQ4HKmvq_6wQuQW8--Ax695Uo6xaaCqfDWz2kWWtqJj1RK1_WCdCnX5XSIODUOIUB_VOeGYZPzj0Xjbcc16O4ZF_SdTCs6MU4SabzN6U-Ya-bYiyndX46xbZRXWvcHvBXEyVfA0ow36fjcckS_SEn8fZr3OBK9_Ag-LtXz2pPf7OKP9VfXklYkrsl7YisjR5u-pObm-amTbVZE9yDDkUbzUy7KmDRgXKs5GkeSZUX0pdWcfu9c-J2Q2kjctHsrYmKKAtlEnDAjy9eMonHA4uWpjfyXk9UFSVYmKiyayZetWC5-mBtZAwLQ4Sgtlzb_o41BOWGhZmIa2IUqgotdNeFIqOhxQUvZsbSjWuV_Rif1P6OAYOtJwBjGcOALM60SiSe0UP6VjotRbWgYguCkhMEpWz8F2J5flwrEF_pff_W0YGnbPbIfvuixk7CBAJCgB1mIC5EqAN21AYOhPKE0BZh1m-xsIBJnz8yGJTtWdE-YLqb8OeCVKAnC3KG2J4Yh3UKCFrhHMyhWDf9NVbvnzFLhvonl4rpejcherONLnCcjN-gOPo68m-4o6glRmXwnwVloQBG_12KIaO-XyENI_vr5m21_HETQSmuXcUXbhG0t56iGUJxetyo09pBDptA1y_tfza8y0WyPb2CKRhg5SMkrMe-RuXlgPIC87dch9HjdjAImDUZuZYTNLsjSd9w8S1Hr36Jb5fSkGiuvR8kHjsR2xAHPMkUN3H9shLve2zcyCvX2gah4WAo6bimpWpb2k_MaB1nUxPXf2uBBzGqYWMEsbz5QD9dd_vu5KfKHR2R8o1Bi5s67gsrTK4jPkExCDXnOBDA9AnOsYMihZt3DFo0MV9MjYCHi6rsAMgMssejNi2ROueRtYHTESgEQzwc8tp3AFZBihI9j-7doFsuhynXK-5MXkc2YtIyHY8bX1lV7b1eoZWOmDGBVEO2wnubZix6VM8mfDsX8MYFurWnkxgBY3ZwWiKHp1WC0ViV0p8q5klrgayxq8RVjz2DQqdiWlIFJgaO32RM9FeeM2rZ7EZzZsQaEZzE-UhBHldpeMGOrFeYOHgamsnMEGGhfA-s7Y7jAOJPlI3FQLRh3IdDk6jUHdDPuHjhiEgUUULByehB0bPqyi2oBGkmFeZOleKrlA42Qrba5QIFuq2al0EeWSx_iKs-6fdA9tj_FhtFJx5qLHTOsX6Q_0llr7_BYCFTYpHZRZLBMxbIsR_YyNQQOtVTI_-iVQLu-s0J3n97GFzVMi50dXpbM3wnaRVrJy5aYwzoTMnJEm920i50hfLc913SQKyOqaqwbDjQhoKnLgx5xxlfYNHzD_GPXaU53o_ZhbKWfLlZa5PDhR0S9Rd7Tb7EUTPd16FfR3bd_fMzHeMGLsJLzNDFHysj5IyCYFIuYr6DerXnHzXESk8GDZpdm0U86OwfSXYGDXi47cG8f6AUDUkTJaONvDQy8Xqe6RAarcLFkmIaqESafHFY-3jqEWy1LRrBzR0gJ81vQe26hJrBiaX2s0EN4Sy5lexkIBLsv8Tem7e3jW8LXan_FF9cYloeoxhYE6XweMBzSjKojtc54cX6uIB9Ci_jLruOFRfBgWtQU-RPE-5n1M_NOBMKawcnZdsS9huiPPHxBgusiOTDwNMEoP4GdtzcVRVpvTnD_sBqIvT9dzQy4n43QYliNxUfiBhb3SgET9tkpkculUC9RYj2VpFMTaxf_CrRWBJnu1jUmK5jGhr5P7t8hSMUHBgzZjdvqcoNiHbaFqwtshGXl4LRL1Cvd5gfZW11I2ozexP7i7q5wgX3mUZ0cHtToLkE-0QVz0uN-uCq8_QKhd-iPcH1wfNtfBu9jJ1dnlrvkD2Nob966rJ6GK09LhXJnbRowDoXWYZO7fN3ix_2BIZyUQpxuImDBh0bKJvqRmOs-a2rDI0WzdKpGACZLMoouyKSWV62wdVnLZndhpMnYg1p5LDUmBODACWBblJEAK-sPzK6uJGW4zfwTKFo9Gl2T3ZypiOiWaNDPmecFy_XJSR3-RmS70ccxUHhQJf_8K6RapjZ6qqDCcbAo5U1KgfUtQwoaBLV_AJ3cyWz6RUxoTWYMIdt_RKqhAUJEhQWAuyoTNzt5f7zrpQsGsnc8ZP_tuSbsTRw027UG83EMGEzTuB8zOIEDSf0BXs0ebcr1QxswmpRgvBo9KecK3Vnf67mQfD6H94rqmv8n-_cQQAB7huprgN5U1UlhvFcGNoo0i_uDrCG8_y9QODXmfuIzfl3YcBAsbPQKYqV15bUcvoQCdm3VjfdtsCKndJjDgQchIUeYwtIyLWdnk-pEW_mH36pNR5_tKlwKmOOX6JFHStKiQAYmjpWYsiTuQQJ7ZEl-gJ0vlST42oWFXiUfwsPTZVAc-VIKFMUV1VySHs0xkvToYqpzMLtjsl3kJWWuZPws0WVrPcaFan3QH1Mvx8Fu9KW6bEjE2UUf_sst3_BGuz3OCBpgYfn68v5UZWNElM5D0GPpx-hslcH0eF7yOoj6YtVLsENB7lH5aVkQZgVK1jeWfy2OLEN9EQOW3Xd5hkWUpgpY9IGTtwj4p3G-2uQKcPMRg4DqS0a9GeQSB5JKliBB_DhW8H1Xw1C_LIt1oXurCF1P9dQGLx53WSHklhn1ihh1eWeXDoQ71nk3UP0Oh-ZLnjGmYO7H_b7qvNzayDpx5ihBWbt-Ca2y0dSK34iy6JmZK8agfHlSYxjPysf5Q6ejxKFNfXcolPFUnDkJPKQv0RlJk1FWIrHRjDR3iqPejjd40vr-3gWSo9h4zVKPQKFvEtwm1r1gcu_BrvQlTyxxvmFOel7C-9I8EwpbrATIOvgklM8NXvgfO9llWTkryIxStGjMKNLDFYeCVyMpb52_N8vwueM5dR86jLoDQ8DYLlBhnPDlT_7P15R2ytZuK7mQAMvUruBuaBcG7_Sweyj972U7fJPV6hs8Txzc9vh2cnh5mFtXPRsY9NzaD64UDFKJIVAewQSCJGztsLwtrOsq4oFJ5b5mijhee3t_vTTNTg7M18Ydsb4k2Qon77J3rGI98xi52F4x_sT01-r5X6ll4cWu_hUD6R6NNWloMDRYuRkxdB8G1ES22hl8Fwkm8WgN8KSxumBBPAK7kCXxOmfvfaVuvMwB7Ja-K7JydLiRBFZfp6fR_Pp_leeVuhaXtEgKwiT7Vq94YvCuDcXC-WLfyLBNv5e8VWZYiXJ4s99oLXT0UXc9QIB8HHYhx2zFwnLbNdbqEwEY3RhW5zMCr9ocjepzOKmbq7QUrg82rsUfVYE38xzR3rjB5NxFdbdCKvDMkOfq0JbblDqqSE-0s1fPaNY5H9WfNQHNU_y_6YPpCN1BXkC-VReWJ3Gc46dk67L7m3UtPH4shjdl-EHKKiJIs2K25ApTcI4RuEFnwC0YB7iJMEbhUIzjfKBCp5vOWJASsZI2MrVjVGQl15xG5Wo7oXWFSblsKUxmfGippQmklT-oYGQE7xCVKACEbmZhk12tmSMkoPbevE1qpmu0p0co_VwuE97pEfk68HhuhRD-Kckwp9Xzsc4FjqJMUTJbr2RFgTObdnzAKHFPn-ceAfgOM_Li2kIQEhRdLrzI0S5qnjAGU5htmZuVW8Hy0N8j-eLPjbv6enNtetvilCx-p4TmKwF9dmT6356vrOmvAZzyx_Bc42iI7jeNWfJO63lDiTWdOOqz15vBoTm3ySqJaTf3klJjN-DqZQ2hJknXryy97B9ZQn7xvUh6zhnlZlcm6Umfnge84mGBeKe0BBsE5ab2vvhWPT7gwq33Y2kzWtjOkmSutGkYd92Welxww2iyW8lSv3M-VARwjGbj0aWLDF-aAEmryEJnbS4vqkm3-EXYJcvXy_0kTh7J1C5VsgajL_LoKFhj-wjBP9feQtfVMn-V-KUJ1teeels7zl0_Pns6NUPIWDfq6QQCXqMWfY2OaVyvzc3sfIjjFe6pR-dEMnck1tHSscOHR_LDbLDGpEzYsBIHpUBOPjsdVhu_ge44SDPg5Ow2x87NoBCT6ALxo6X4vXhumwSZDCDCe7_aUdfM6k_B65E2got_ofmQWnBySRIJf0ePADrVjfYvzcghb9NlQgtpVdPwcFLiAGRIGJaE_H0HVzk2xmBkjyhfKXwEDrbvf52PSwEz6fztkezRWsqDCZ0R2DFJ9jZWE7YUQiDfbjG-IcmKnwowGKYr9WZGhkdNy1mie0gnLHyml2nTECgf-Qu1rzzL7LbfBRfArwN9Uxmb8Pzz2NB09YvDmLhWwBM-ry1kkGPtsfU12HDNYHymxaOYQioiT5IguZIwI3mjy-AXTAtPQ2htoJFi34PaKygdv94jSC0guHaf0KBKOiTxjp2RKpGZAXKo2INGKfMcGyF3eiFig3OBYbr87OXqO2S1RL0p6f--irk766r4HvEr3OgMZuzgQhCgN0un5KOxqajHCT2DyIo0lgvCxy4EW9wbBTYqiDqmDM1odwX9BEvZSfcH4_rx6Q5JklLW7k3zWC0bgi0WMc0ZADoKWvQQYp0uLyA5LwI9FfU8Q70Hx7UWhDnwt5YNdvp0olvhhsw0Z9gV2Ll7RbKcmfTYgyWLdyawwsUDijEVt8KgCXHa4yKbps2xuT1Q2UZxaLJIhjjzW3q7Juk_DVflja_HBgyFPo8wOl3I0Mc1cA7S3vYFEFnhQaiJtqYJ0DzLGnSSiQ7jlqa4NvXScvv_5DelEQ36_RIk5OPFtt7fpnb0OojoN9ZwEo42EHvfQmaTQRhNSZKPfCEaH2qAqJWOlYjV0T0Uwmn5B6JIygrudlHVdz8OLGbVVzHYk3qv7p4CuQv9FetEwQZu1hSkRnNVotiWURdWWNozJDCzo9aJ5LL2hza0MUy2aFCuF4-tGOuGmHl1rK165pCWhajQPLBb9WmTMuOc1ZKTglYSm2Xw-4Oil0vjC1f-OnzfKIQINZ-XvHRhW2PRvrz1c3azXB9xnIfqck6M3sGJ6WbOsK_cTpklXtxRr318tZ7ScKlwEEzQvWPfbP7xntew6OiyMZhQLFA96cpwuxSzOvEXjUrAB6N1hJkRzP9UfRf3vuLy0Z2EscGN5x0gDDu5KT9YnRzbfIArqKpgnuXoXGxz9D1JfsUTtBbJrt3H3KMa4uB4Q4bioOUk8KGcZdGelNh1BwOM5ECSQs7p9_0mDc3p4QMHm3WzO6JaQc3zDDx9aWsrhQago5IPNAYxcheBoOZRgQETKzvnQDU2oewVpZCd0ekBkjdQ4zHZyDvVgC3Qx2OfrffD_tVNAkjkAWbuhF_DIFsAP9p3Si5z2euXPg7uWmjniqvmSAgBX4jPjRIWE_4-xjy52LeClnldOSlhd0zWYK7Rerx89bCvWw5RTl5oTegcdd9igbdOs_Oieevm0K2csdfdrP5_DjkQuXDsbUYFaIK-N71iDSbSJJQtPpNlfLUJt28DF5UU4eOoHGWksL7TsaHweu0fzFYir0FBMDIh0gB_LsDGuGatL8uDit8UkbynO6K47nu4o3utbDX_ZvGaXHnU4vqDvUDq0XO9qX0JKyCC8xhB_Kl5m3ANp9yG4nsWVYzru7cae0-PfnyMe5JXCAQoTXfTbESjpQ-d73z7_rrdDi30EG_EkX4_9nNXSNYn7xlQF7e3giTCGBLa3zcwfiJtkQem_9e4SAnxTKR-Z9EQ1ZV4niaRFA-kQMvogMxnvnlNeSKaRWJRCt_VaaVbL-U8pCOotzewP9wiVkeo3LXt2v-4sQFVuE4Lhjc16lyTP7sOWaXpX7NH9o6gFaoVKBj990oGeNGAxF6nRYsT4SgOt0S8x_73yWOGicXDjYiW_2TTVDlN5HbT3_qaB4hfvLIhHhHzXZjr8uivTsEc6JWcQNyMnAL8GQCTzc4C3I8Z2LzmzoCgfMDUlUC6lpJiPJfJO-pEB880GxJmPfCkF2pX-TMF9_CPghdTitzjhEDc6SzagY1o4GtC5vN1-HRvf4UnulpvOZ6HF1AiO79K98YoCKdz5B9DFesCQixfMq7kUA3A1lVNsIS5eKXfbKLoZ55IcspYZFWGjcWE4qBIvF2pipxM2eEl53TqMp34IRDZ00l60SkzZrjoEZ9vz_uEEu0SM7AK_HeZLANwq1z9fM8FO2WRnJnUSPv6gW0vb9eKHdSTfg6wi6zu0tOXccSu-N3huDYdCzSpEt-M5zNnY93Rt0p-S25dMCkATTHkHGlFxGMtDkuc1sMPV_yYfp_TBH1ZQFlLzOgR5DoLfx0jOwZ58h-MOeI2w852PZbal5B4wmGVtgMImvj4UIRAbfVk8p_6lnT5Ngdgj4Qncnl_ymFdcmmtcFa5KOZ3jwu4kfustD3tbI8ZATfQtoLXMaIEjgh6UQegY1XBVml7t_56Kx3H9JrGcdQpsqmtbrDhfkhiuiwmbLBdCpuNV_OpjHJDrdVw7BM7v9A5ycRBB45qDWncrKbmaETxXWbhnxiz87vKLWURn5tQekd8Frsh5M7wKxlUo5SUCBQYs1yWXEkWlrEx567cErNO8v2I3975HwsOfUuh0VGL4rKvOWXKldnXtw5pWrOX7DUX1g9qMiIs94EHL3UW-awUhDypoB0t03K_NkLmOBUoDju8nV5_l20wcPytIRU6kbTr6MBFBTwTnT7ivXSDgB0n3Sz0aspIStvnrjuaxInVcQ-O0qyadsTFUMP0uk5RgLDN7WX-uLfbYMmaXsu1FFcxKtWZlO5QoFK1LhI2OAwFfDKAfCZdKo7-72HUOEi6xwxTLbdnlDlIAn90qRVMf_saU9zEyAZNlk8MXzHIRNyOOUbcE_nF8bg_VTqbCovhKfWl-j-Z5IOsk4w7sGDQxSAIZYB3tjPUHZKSxts-9AgtAaUhOvk_WXOLo_ag56_H3LLbQTYiaZnMp8yQvwdjDbmc8N_yGHHHpjKv0kcavmN0qjYkOiDlk2n5490uawX9Y2U0l656cDrhqPfe1Lor7pW5bRM5o8l1ITLkuRnolBMRfcNXG1mrH6vZyokUPNTh42zdh9gmLeZsCXAlKBlITXyfXsGoD2vJgnu-U5_ca16nqRxOD5ReGhkr3XUlHPOts6dYg7LyRnj2mGGwTMk_xm72dIuk87xgNh-k09kyu84B2usj50ngjCQdaGIoPqJdn0mdJX2dfmweGoSZo4XWUMVk3e1pjDeOTa14UVquwqGB9u45KtC_8rVBT5e4CjJjXxlj2nIQ_xHZPuZS6q2qrcjQ8tHYMs62npcIx9SE3deMunjbzCQQj7Rg3vTDj8ScA33OLDRirHwVELHbCtq6KLC8GAWMXnBIN83h0DCBvFnBL1VE5pLv_1fXn5UPM5xj_bKD8fhzBswePw8Ors1cbdLooDcTFFWfB27ZpVy9vm4B5dFcH35OHS_z3-GBZ4SmAsXLBcU4fOoe4omBasgVZzYnxpt-VtYsrhM5Ld4T3fc_RxAU2Y6EXGuCEKVuwjTJy45WS2g6R7JcmaWwKhCL_wDhx9AngFx75kUXtHYoPuEaP598TY0egaP1tsms-R2IonTJg4Www7xLCD6mNaBw0Ztofr0HgtVFXbiYSOexzXe65Ww5iR7iX8Xyf-PtSmhGBYJGdbfGkNxuV8LB4CTa3fRofiWgcsL5zs5b_ll1hM_MSKyqx1BnfuNu3Ldcz7PRs8ZM6A36ov8mF3gZQgsPV092Bq2QbnjmrFSsYyO5YVXr7O3Fn5uj7PSJhJvZVgnwesGS9QSdYUrX_XKpUU9FIpWwi5r-bJw2KTlC48CV9leZ6VwEGyZkpRndaXfY1rOuiEOOnFPoSpEwvq1V9Lu2vrrzbZOjZnte_suYpmsVtBlwefUhciTZZvVo1FmA6lkBt2iDvYzSnuP-x2mwxXmQHBCs9Dzlupsi9L6lvvyGMZg6swGIY7lvBmLXNEIP3pDevNe4DHbZuFDUtc_QK28WxSD4YAYQCAasg_I5kWdCmpRQ58cviyMYOU-5e_woMO_BdMgN0pHXj-27TpEsMA0u8qQzndqLP-oO3EaQpY9czPr1HbDDO8bBm3xtcHGInOURYNTS_O3VN5OBpzfwzm9O1_YigRu9HLdjooPPmVVD0scIgO3mJXxlKwX5fA1eigijPS7-2Pqzx62J8zUmIc-m5Umq7A3fcMymoaREykel4dAM9BkHoi7hABQxdzAw_7vASaoxubWrYijY0zY7yfD9oJd61VRd2wMwwQW1Rw_jt1pnEMgj1w72DqWX7HQYwknUO9AA_YG6O7U2hLKIdnQ_vNc-r4c3KNF63Z3G_Pb0RNaUkKk30BgUR636nRtLg6NgJ-eq9qcKSQpi8VholBoWNQgxeCrvup3xV48bZjXKOGP86QXwI-_MT93F69KY74OW5rsdjV_3RsvJl01AXNuS_4FBGJZNJG8aRCzXSgO6MmBA0sqpc0EmHN_QQXnkvGeyjOzee5NAJBPHO9iMjuMbm2DW-mDx5X00FxLRrlclNAhHYXsv_6SxDKZEV4v9imOaEbes5sL7ZoHcIlA4m95ypbZiACKXj3w1t2P0iDIrztvop8s33HgQYgA8DcrdRiHjX4r6R_rMRxKWeKDPNMh_AmKJIDaphsYAB_XanzbLdB9WbHRsSBO9M9DniVxqDRop3cwD363DPtYVaXyCRIEF8exI4i45sxAmUKTsew4o3o1h0V6UhAI_Wqc34PNclYEalqgK19b0LxGQBPngkEOc_8pwQ_Ddiw5vFVFMAyZPpGJs29Y9HnxY_o-VigvXZ58_QRT2lePSwEK7H3NA3S3-PsdKzzZG8ocNeCOzgMB4lD4tMjnlMWAzLBuX2vq-7HORSevdkGOl1PVeQKfDDrlqDh9JYC7SPt7fmg9pWYt7i_gJF3ZYRoq5V882rJ_TY4OxJt7tHIjyJo3BsxPwIa7zD7zCV7fZciMSwUQALQgIIVbZn_NI0ssP0F7KetSnHalv-bJfGyrPJg8h1jwI62YA5mYkQdGIh4nIUhR97ZoxEaQUKv3OyIkrrqp3N6Tm0EdqEH5XvEdSTIltLdusDZwo0CpTTHTTyc4EQ0dMzIPWFFAlTRnHfz7XG8kyif5f8JpdWq_-ph1pUWkKIreV20rb8CQfoTPpDJxh-KeMWYICK-clJQbrslKphUh5y9IqpKwyTgxra06QZGgU531N7XyWIoAF2l7spc7ZLmtIONp5lCM4S5aNOSz2ahp1oGWy3HYXMXWh3IgZerHkTGgMDPxS2k9caXFUCCYBPHk85tiZNW29oqfGEoEdX5ir-SxKi42VOkGiUMLyZcMESHwtMAildsZHmPR7aRGJvF0Ru62HQBaujPNTMhg6LTNtn2qZNecdeCryc2H3aB8Mf16GRpFlI95tWaiKKQhRMGWjOCjmatNi4DzAn-E4ZwVkLLQwEbCYDqE65Y4Uii2OtshEcfCQsGoaCGiM3cmS6Jz20hA6q3odAGLVVUDQfWb8sKSaEp3Je8RPTZYYRAL090C59PaT8ZzDyygg5yKVUatcU3ODxLgXV3zreTN5R96UiuqDELAeAFU_iM91j33OyKFGJ8B-a7KsEKX0XKI7yui7NGRulYs2BOjJBEQr00JHPzKaRut-5qWYbsX1MXhfGEVmes7k5lyTKLMMxfC6aqwt6yaqlk6nXIihjeQQ5NWGvtJ83FVnBUibv405mSb0Gy5YwWLiStvZnrhiymWEb-9ySQoIRwauRmIDL_VAUQyU_uLfBN931wK2GDcAHEYZtTVk_h1Zs2pYs4xhHHhAGLNAykQoxUlP2rcRQRl9o0cCPtAUh0y4N9j-7cUkozLhUv-GD93gkZA3SWWCwZw74To6NoC9U3FzIF0oVr0OVOFRaUnbwh2BXZ-DeuI8sEcZhRCOOhs8bXAYNqNvRp9AafjgvfHzKQCB8Ck1B8LgLg7Ypnj4xTqKh7O7Hgt40fc9j4wVIJZoxGU7HBnd0wa-pIYLWmVCeoHCaZ-i9OxtvxAcNX8f-pNwuPoRZrzFFE1V1FaEzmz0VtwQgA85I0_ipS1MqdpFZBI5RLEKcmI9clAIo72goTjkYUcXQBOdJsErIeLSyQkbIWrXo67vMwHnnnbzldQ6d_A1adG8civp9-W7jU225y-rz9c3hDao5_QSvIMClchBVXaFow38u5aGmx2sMF2F4DAv3Arsf0wCcwXu7c20WaNUP5JfKAWGpIqyDgSVTSOFZq0er2ZuUknIgwBTBhanT2nV_WiSXIG37hkEFQ9LyH9olZIAI2Lydg0ykIeyZiBykTn06gz2UlhdXh_T49IRsnXHZLPZj9ptgWaFSKLI03b9VXgv7-sRBzszFVy7A0vVm4f4tcX3Fix_4RXvENHwL6RHG3y-glYnznOhfZ2Kff-EPx5kZciM8zXdN5bQHvQsDp2ES4xMrwK2HhVDBaK0yrqBVHgQDr38m_XYDjRb8JVoemRrGM8Gf_TZ0XtoE-q5u3PomO4OaGE-uw7Pw8YqDm3yBb5I8swQKTtWjw5ZRvPc7cmeqZSbLwxJhiZOd5OWKhCLdkhTDsAF9okelFAdQayq6RMZv8VQLoMAiqB42eHqRTkgVDs9E1g7iCQqENt-CTL99Hz-Gj1iesfduGFoajxYOJAw6sLtWKP77JAo1A8aSWhNRTdT7Wu9mYxrM7_6X1QUm0WTv0EefEM9ZsdKeVRyzFwQWHJbPS3GGYcFEUysIvGmsbaSGWjkAYDSTT_auuZXZV6hilZV3b7lNPIyQeugEWMh8VrRSNjahSqS76DieD4FZHGHlOc6nXuLtE5sFP90ZMIBOAsDgGyjdyjy3k5R2WpawXu_P7cffNApnT8kCaPls8Y6cI4KX8owAEMk2KRv7MQfKheKVMkOLuuLzXcG6FLNCkjWkRBeE_tmh4DtAjejRvbI43hUMS2Gd-Z_ESeOj62ouCqG_JLAun7lowv5vKtuRtYWpzz8XrueknzL3rJtPzGeTiMl2xwHwm4tapzpMYK9I1bvF63iGmHFaUWEMC4LYvXpPR6gteJgMdGkBI7IGAIqWLy5Zakx088nrdjCpMYMGheJZsw0nVBirR-hiyC_2_swM80fCAnb34lkOFiIvyIFneBdUpPXK3LHz2z422rc8-OIxp0JJ7mrEbE2yoYwFBF5BpBruSTA5VbK9NxX6hYbAMz_69v6570ZJAUM5fXBk3OC-sC1xR8C_eBAq_X2zkdiegL9yFxqQ7nEle_MiJYwCuk4YPVUHCxjtNz_9PN6OMkId4iW7OqZC9xwMlMVuLjX6af9R3EQmpQAo8n5uIy-tmeJWVKWTcRGXTBb7RUFsbVDdEDceXXi9twnlkd1HD_t0A7NoXmIgtm2wQ18uMIIxwV1Y3viZfYem_W19Lv2nvM16V5nsqsmlSTbXhQhLY2O8tkZoKvPYkTtKU-Z7vxi4T0d7ryVJr5mrVJNsL2IYeZhOGrhdYK-cIokpBHbMqc36771ZNtGKIe8KZ9wMQoUsoMSzySmOeOsnwoIh6LB9MCgXAU_2IeiXNTvmt3bqjU5DKroQyOr090Sg0yNe30a37KC5KbORTDaVcNEBwxarW5ZrU7hIhbe4H_Cdd3lrULdS8TuW8OU7aV74Gh4HCebdcOGg6n4KekZ3fY934LMPPLz5ZtCNgClXEhaqVdpURUK-q2YfSy7Fb0BjxrfAyFvzlUW2bXwWkAtDcDEpkjs0tueR8hfmvYRm5NPkXVdaxIPVwwFY-e4-f_d9EwnLZNorAspxFdfIUuGa9kIshqeNPG2x3nmjQHx-NeExoXw42h-CGRB5X3C8t8E2QdNgoD7IIOI2vlI_pJN1JD6vrdRsZadHsXN8gm07SbVQRHyvd4_Dwz2KA0_YjyDg5kIINbCyf-a2otTdylSLky6eqPNBJwnVG_SU2Efw6W1mEcAlFJrNvFjUpoZtN-TbK1kRaXU8M77eIrXpS1gt9Sy9FtpRj3ssxPWmyMzm3pGNHdjUtj5cGBGgAmOcVxk2dB58oBJoOahK46SpjlyeojXfxsH9RqVybzMBeHbX5jGBwtuLDPkdig5gYzdCvx-74Y__GR6GAmPgg-1LyVjcMihwA8uMgKNcKEG72XEQp0Dt-Rntiu3VPxp1yAp_2K9N3gSV7lCDc4h8nUdTrNV8t00MuAL1c6WlEYY3ss3xT95PRzqBeEclLlIJpGHewWPGs_YUs3B5D0OMITxKsFD76zG1351YOKMpwximLbyfqOGPsrM420LsMRy097KjKWN9V8fwWh7i3lqrsTkpioVhYEawrf4zrUw3kI5YAb6z7PiLqzs-g88LM4QIJGRWSIui-2SDHShTW56BgEUfDtcbzpqL2GXHAw0rqg01kMQ-nhWFVkWxVlta4ArQQ9DOK6hDNNjknC5RijjrZPvcyPyjry05cwD9noJDsIJaFJraXalfQsz7Ge3UVK04bRoFepjoj19fkkYKJCxcfasvYUQwTnArXWzKVjmHtF4Gfx7Botmr26dLfK5IfW_Se0fKt3vEzEb1PQFKwMIwSZezZPQgC1H3j5TpDp0HZl6BGawauYQIn3dwuQeuFjbk6PPzF_pEKa0iJOkUtgqBD5iRVZS3b68z3eCKMaobjWSOdMj0PwxVvMRvG0FDLJln4MH8U3SGmm7gf6G48G1HVxywNUzJNQRZl_Wgwy5pVo9D0MXZZ2w6HGIxPzIVtPnh6Zo1jRzgFyY7SuIdnXMoI1S05ju_IDs3raBHjPGtBu6jX63wPTQN-lVBpfwBzfqYV_sUa_vMik6FASIVAGAThL5wAj6kxGecDt1wDFESDTuy6mdNq4wOZOqV74ZzVLX_j02ZFW91b9dTk-ECvUG2uOEvLPnxi0hT76yPMTgES9dpQqKcHpob_2ZPp529h0BJ5Lkez1KxzW_I8vcrr6yv22OZqIBrhUxXyXBgX_g85IU_MiYNXOPAeqgzlkShZGjzhuhGNk2sWZdU8B1OPcwAXpu7BunSQ4gQbPZazrO2nrmu0pNATnJ6C_a3R-ccYij_iK5RZpx1bV5xdOtZ1LSUQFr7kofOO72jBM0SUxF04vL4WIOUwzIYKDcFYzPMAlDGre40GbuMdA5kLbtkqRfz87YXDJwmjENOLfPjOR4S0cYOnqlvAk32Qw7x8zw7G2R0F3Qg9SpGmOautXIVDIpnhBui4obwcpyo3xGDyR4J5CS0zRdlyPfcTb9baQIsm00Qolavl8rNHKioYivmZOQP7-yfdZ99DG7dfBvX3jZgZ8MqbW_8Z05L4XY80WKAVQiZI5rTRugqs3OMDmp-EOHVr_42PDLGYNYII10UjyW5HfZW0D9iRjSYru31rXk0m9coVa9qHeWT811lG3sGw5CJIshPvTGfLm0_Jf0Ipk20dUraVv5lP7mZK8uJS_X-CI9YF5zETVSQvhtaNRv7IPk-HhXx-zWM-v269N_CZjpy6QmEVJa1M7oLBeO012ocDULnmKvJKq7VG95osjBmfY0L0DnGPB72X85CFsUgM67TVtXSp-3669pkb6TDQp6VrmfTr_6S9WkrTQarZbD8F0Nbe2PApwkUwe8qXjYVYMQ2aILqrMVmZERkliqzXrFk7uOfGkq9qk5eeSQNvmEBjIxVXdHSfIXj3sF-mOsFSU6F3RrKqGez9KctIdTCzg2Q_RiiyLQylxjWEKeLtLz6Rg31uQPTRvw87UeVNGoY1TQSqri28c36g5d9GdEQ_6vQOq8Gf7Ug8IU-BqxxgH4sLiVO_YrDL4pmlMbeW4cH2YwX7p7Di9OuDhmjBo-A2aahkWKxqFXuJACKtiYr19huv6PVZzaT1ewZ8Fc7RPEmiT5YWgQD8c1nnnGXWD3nDCS-_5RRyCQHT8lC9QSpzRR2WIvmb2h1dJfbAvLuXzxV6BEEDp_73GPxK49Y2BdyrBI7AGJJb8SySV2-EROmy9gF7_-JPkwhCC8b2I_An4BXyj6o2ud-VhPrMLH96z6zybZKFVo3Z5_Nu-u7TKYu1m5WaHZL_CxW8Q-Zdors7Fsg6LzzqFyTGTLKcV8PiWY4uMaDY2fS8hj_PiUhcIirZ3KUvmxfg-aeniyyBd3kf-thlcPgDNmTzkW1tC46WMn97Co3ERgI_SJyE6we_Is1INtYR-Ez9dnqOozfrZHYNDZaTzlD8nrF2G7sbYH2lMCLIGQSoU7nJ3NOL-7lfg3P0WmOYxZBOlXUeyMAkaae1hA59t_iBU9zsgiuORHsqZbZque1spnUbrPgQGZu2i6ZD57bVdRrwqH32hMHBBT7AUXFdD8afmGecXMcXdUhPrYzGWZ8JQXryR9FW3tUak75txj7qniqocHazdSsH3jNy1jOyX7AdHsEIkT0ZrWWkr8IQMnAYBswfhCzoduqxuk6vc1OdZQ_4r9jEppdajhCnwYJrvIwYwDQ2EkoyWH9EmAIZiLqBVJqmfFQmHQZ3X089n4NO-QBnu-RAYVILp6G10zotGvjTWF7JfzatwDM_oulcbV72MxmPpHq-C_7dSLDX33f3LVHhpeMOvJbtpQ5I6CSK2Dn-g-oAI6Pe-96X5BsNog5myYVssgURt7IC2qaLVvMXxHdsAgrAEBoGqHxLLpzFpn7QDl-76kn1amMB1TFag3vHrdPe0Fv4H0mlIguw0ta62ET8kPQtQdzvnXOYtAVgUlSATZLtaFaa-RZmk7S6AlOAGgPmSzeyJlZFYDLLXr9y6CXghRaEHOcEPs4_qdAfuUhWgEEYjge0blbR_6e37slOc7CBclCtiyiIRwwbtmGKC3brOzc-DMGRvbYwrJB31m6MLygd7zDR_nX1e8UgHEgqqoj11sat_pLawOSuXyPBD_zL56P0LFrEHJ2NQ8dgJxP-HBDaymB_JUhTO6-d_wIveP_JK_RZx60WJDQzPQEj--xT8Rj0-phb-dJ8FMTkTDuizkv1-9Y23_lHTdgq9LMB3pbF34tgChLGLTIo0xy_i0aEhAjUWJAvXp1pqjsd708JU--PYM_uAJx0uMGqKKaqavmEjRvji6iieIXzZwfkIceQ3tYmNb2_3dWNLOw4zugqCHt3tFPcwJjseU9iwdgV6IzpK-pI-SD6is-dWL-6Qi898O6tEndqOhHjA7L4GNCNMQeh4CLhKukAI_H1jzoidyBMWwksj8pOlNX97PFL4z53pHL9a6Q0WsV-6oRXZmfwW7uB7gEx2WK6dpOYto-phZ9ca10ZAJlrIR1qkEFEPrb0JQzRuX2uLBGLCqX3e_GIeDwx3WM4RVO7l32O3fb3wxvWHVEpmtqWu4uQT_AIUMyJH3KVhcwPGy48-2TBb_PncoF8mO8I3R4uKlMj4pZ-ujLp9Vb5Amk783TWq6yUEGQEQxT-8cN0yZ6He7icGMilJSYBe1DcVpufwFkgA4jIX9K_K3THMgbFSmt10JN3THCEL1iI0EMVavJ9LQoFg-8g2Kiwno_Ecj48XHPRxMDnjRLiCNGcCnzUWTPcIzhMWJV1HPNqFmfl2fc--Ny9jrwmrMDYXxV5S9KdNeSHCFha3Jjbpw0TwJnhs-6iFK2bdFpKcvGdgOJkdGWhWwj8zju2t1p1MsALS_WZzd6ttJYdk1hhBQEA-ZDbVu6kyqAUwb5KsbTgqZTiAdhVM_HvyqXFOu90OeASeK3gj4-BF4H_x00y_zXUvTy-xJHhkZ2EVJERyhKfqUtj9g9BecK2CPCwL1LKEp0_f40G8I7ZV-POhhiKUHF_zNTN6NxYJUB_Y5ejMFkbcv_Lt8xj177oqw69ubu3_7YsOYEad7rX6l11ty7I5FGrxDfQP2CqaoZo6xS8ZUz8UqfPNjBw2Me5LrIwX2P9t4lh_y9T9Vb16VL7Y1BQuVG51UNsMb7QxUF4ChuSbxTDhTt6wp5Z4EobdfcBundLE9kpOuBDUshFWrZrdQr9qXIzY0XgJLjhAsJ2VGe2kEprd6O3gN_wkmEJvanTjhFuZyjuCp7nIzPGBSALhWEBo1DODgVE5HYs4w5eEj7UerdO4VMOn6rvzjV3y6AfxoijYmnABDV6Yd4hSkbg0shC4EgEjrPnaU0OC9NbOwjTZhAS23sNJwta-9IKBFMw-pFTegDochxyAZRpsT4psS2KwzYIgmbZmIbLR-ew0I561IrEzsHvYTQI_8vlZ55wqtyL51KrDs-v_OSUj_rnKL8pu402hDxFmMa_l25kRQjuJf79TOgOzarw8r8oOQiuL_CqF0i-RGdmioZFl-12wDE1uSMj7UD4FBYkEXt-Rwn_miURgPoURR5IS5RrEuTpunEr07SyGrkH5o8CXdIxmmo3BPOm1mqveiMu2BJQ9M6EWczx4160jZknkXvHzNPGVizclT8suyl7DFrSlfppDGns2m5idFPzey0jnSX-UY8t5bXuzw_fM4irThYm7fCYGtztbniBPWZJENj9RtFo5SftBsoaVB4n9Owtr_UN1KihM_1PRJtlcP2RQVUa_-mIN9mm0BfeUsKaKARJjPflWT3HeMgMuOqP9ziX7qWKAiVr_Oc1Sb86Swkxbqxwd01ODZhanmSENhN8e_1q115MxrfJ3zecdv338iK8Kn4iPJPf59laZSldophZQU62rK_hzBEA9RwP_XWCx2PlBIANf823rPCNbf82q1gc0uxqMKGBvZ2o0pXGmPjnuwiCPJOxE4mESswqJ4a1Z_kfQ2GeB0iGNw1lrCy0US2KFmHhrLhr6exAO4CpHQcscHpnWT2G6zNMrpQjXaFvqXueamWvB_YrfhOr-wkMa3O0XkHvAmm_BNPCfOs689nX5Vy5j3UHvmIPLMbVjj0JGiwKN_ypl0g1bPAlpmsxhhifpjUHEGdD6euSKXz5ShZCPJQC46JUPamohjvsQRMdJ7t2pjQmoPH4aOpS9qt5QGO_DxVXGzIVat7Y9BJmygLTb-WPuzTvIDtpOMpHzTOoPVh-Gup3uuF2HLXr483m0qmfJ6a82WaRz2JLG9JjFCwe3MSIZDTaExqCOtWzZvgPKB-7VHudD2Pk2c53KweG3NCTbIpHtK-bCnafL-wUKG32q4DrX9kbq-wquH_NEwKhe3As3qQpITkqJCZa6yYk2Ehyf-H8RZjiaALssEU2bOejbSiqDPi2Mvr8ZcxWRu3owVV6nOq0MrHHfR_smYhBmM4wDhuUC1qjUMnxEunD8DJrTNVD6vzXslYWaoKIgni4bsVbppYlsgRJzAv7xL38odbMfFk3BHQB248KZd6fLfdGBGh3TvYFfQuu1xEK0cLqJM9Lueyk5UwbfsCovz6JRFF7X7hYMT35Dq7mfslB-tW-gJBOPUJEAh-OXksGTuvlQ3mdN8iIlp4SXagXy5ZBPG43wB0Ek29LwymA0DntNs2qsvSisBjg5Ha3qOvJtuRJdbZjvGa7MjpKlwN3G-hzvhTayewWuL8fhN4mOXlRYAFx9MhkXniPoxAptnLBxQ79miCPHf8c_pIOnWo8bCOu8HGlNfjp0yC9t23TmuptXR6WR-SMffco7-rqCKfFckzM-3a9tgwA6k6O_y-Yvhd5pQQ5dGajrvKpiSockr0fZ5jB8_qBl4WOCN-sSQ8yIpvdHT9TS7RDnHMyYEOq_GKMcdFTvSrRgl55E47HG6EMt-ivpzmwjaYtV0C3XRvmzeDtSoqNXR2izMiryTqDC45VU-4hWKXAndinS805GBObu1dtnHpHTq98NLUa8VCDXu6_noemkNqD1X3LWeHhanXmEYJ09hWCDqqbNFsaVqVUeodnxrj-NyTCUyiEWjLJjD62VNoaObJ9x3WaG-SYGTPyZBNWnKEHUcY5e1C2evy5OYrI7jYUSYFVuGNdK3auM9JVvO_R4xMSg4z62mPBeWKde1bocfdo7Pe4HES3YsaQ5IMKFWDfF15p_ontf2bAo0r-d792bHVHiibrMaSTcwYDSwnrzDU0oGrArwdNd0pV8GV6SQbSTFNTZPeBUufxiLrinTv1xPevwVGVenwVKmpH5Rqjf09T9bKtWPtuci5l40YlJ64ojuxoJLHY5WOOwxIjiEyrVJu60fZYZcfh9muYcYx2-pLlrmwX9Hx-8X6a-IYyLOncyieLyfj95HQbo0o5tlJgsGIMkVkyP5qT6EHcQzfw329YBjJmucz4UgUQ11x1BTt7wSIGfWIDVCMcWGHIj0EBT7GU-RYBViUNsu6i2YsmbGd0N3R2PilyKKXCbj1KRa-_CEDWlZuuslXA0uOkUjG_WMvYuJY7LZV5tQeWheLn8i7Om9AwI04bbiebixasaJBWJ-hg8K0SNjISIQbothOydt-37QVn7y0dY62-vYvWOmAdpZW8EHPDURr8GlXSq7xt9uSdIBnQYT3N3_HFkkUHeWGQ8nTkZg5PAg0sh_rHSepeOwenZPtfEJPGkKK1O5xNpkL738-jccd6IdberKes_hvHNoVCuPpaSTstDWeQociqZVLiyPSpJV7mQS-Yn2ZAfvNtKQ3SysoV83Xmb_gNe3h5RnjVHqhQY-M8yFEwfdMfLYO6mAjGoZDrQZZqcDG8eisvyXPSQOrd4PAn21yXXzBuUNJIERpjlPz7gC8xzUhRwHbZ2vcO7vzrPnHQ1Y-PsA7ZfkfAba6LkRHMpaHSFklO8gCIPteTuOZ-Dv9JHmLtOqYIEsnwCOAH7v6hGGqSFpqLspLLzI-2rMUswZGOzY7nNoTnbsHK0KzoGjERLVgURYF0EnWoacm8JAx9-LRnDczQo-BYYFuk_UcCFowCUjZ8JY65Zh3BM8uag0LciGIqJr9Qyek8IDVJjUHw0zYZi8Dq9dUVam9ZurJ3Y7T0RInDuMxs_czCxuS6yOOm6w-YLjwSKQQzCdasn4CkwibrGXRv1J-prJqq2nuxiUx86WHt5CE6uFI7QdeMxkSn-zYodIsozJGyHYS1mis74RFuwKk8UN_Q_tYZF56Ck5hyV0O13aQgbw1JLW_ZSBC3uVy0sDchoLPmTrZ5iJuF0zZ8WCfATiCE6FPdHjLc_YX87YBodshLOR-AH3a3bhq42HVBDJEPD0r3VAxaI-xS2IuHpB01ra2HY9QMJpwTMd5Z4Ow8eDddj7xh2I5B9DsSMnjmrSjZzUZFfeUoq6pTP6vlMcI4O-Kd3GFIDwTLOOs5LjQDMW9JwjX1NgdhFOUfWRi9tsyACTRp00VwOsGwgH3HkSZ6KSSkgaCXK7MYbgkJOgstxwSpdCoUFtJfEtQm498bJqrZA6bbYzt_4AofrHoCh69Zths2dNjq8iXksZJeEYsmclxzF4TI1nkhhg9fh44iN1l9Emq-eaEBD92opLOEwjP1yRFt7ljrEPOeaT4ACpde1a095ABvIL-P8x09TvhYPtlsMzRDKEAIfTvIl4TAzdkl_ib5F1sYojUISUJGFWj93tb5k7whV3vk8dNoG-QpU_Tnr_R3zl-RZfgYeEIVAdUQGMSvUBKmaw6P5cLalCLcJR6Bq-AgjL_wB3mE8P2idEV4pUFQjufGDdOBG_nIV4U7HdHRBwLqxig3zojkMPxwhMSjObneOcIbWZhb9ypxvZ6TcYDFiFOjVrueIb4qMVWvziM8DWdbANYA27_TopYVM9m-vOhFqxTLeIPw5WLJ2PmQtxEDs-_MX1Zuar5NrJd-Vu1CaJztPb_Br-7QpSjmMNMCjVwu0moYja9vqvqPeRpgZ-ycdp5i8y-Dd2EmcxQ1RRCpE6cpgsW26sbtZOVIF0YG7FIPIoaJoH1CnLGmdv1gL2EmTYmqKfuD6uFKY6yTNEJqm98PlfMDbXdGjLBkvWxWQmE7h929Fdd4a9NpiOCWK97wPEqTEk-DNyuFuaEpoYQFdfpQ_XeivtSESlkzK01PjHMdvPxeK9aRwFrnXtMk0hmecxDM29dgFZpoVHi1eoGW0eoQArB6hu-pCBlvTzcq6AIcmKWQrBMYONh236oaOU5SQ3s5Js7K_ypN7pt8FlNnqv3HuOg2frxwI0ow4RodSnrDFJFVj5spn-bL1co-P2i0Vescvn25YMuqOukuR2u-eBH4sV4HLm6IfAGLZ8SeisVq5cmq57iJd4iVoBb7oeGAdmznP3tjbonKIjwMAEP_jqgTKDB5sN5nyOBKrzrCw982Copy6beB2467E5efF_EQ282NrO9-Xk4dNEmps-hTq-bOiwtQYyJ3-2LtVKMyBsPkSkcabo9mbGVp9BVtSX-c0W9QLiKQsMcsDp2EalFrM_TJzbrLNnvxP_UVEECJVoVrYBtjgYskeLJHWdEda14UVOb7lNEK-40WvK8bvSCnN5s75nWATNsB7oD90KV9gH5Q5R7FfNROeICUb08ueQpNOSNsIaaZ6tLsbgZcogULabPXWa4UGUXIUZBKBE6sN2PIXhgeIkgIRaoCKVNxC3XkJ4Ve-o0Tq4Sh-pnQ0kWbX5ka9UyfJa5G7Wugyl_wkWZnOOCd6RShOMlmvZEQuqfq2V67E7f4I2rHh77oKL2aHHezIqy2GKveJB_wgxyrfvvT_4ZW-IWSaw3H8KTTErFDAdbIsToaM9FfOGsF-FWjagQvkDQbVUh0q0vEDoVDTk4QXwqF44cWRx7inYXyPJ3YWm4Me7De9XPRslgqwVaHXHCluczUk8pKttozN-6nMPga3LqLpCLNiXRohOJDUQrmVquYcg-o_Oxnl0zGEQ_2u4pPIe2Anj0XnPatE1ZF9KbtH8Yfore0CIBUoDcFuyqAv-Q7bkM6q6iwvI1Lu_V-aIH71FpSPGRwVtifxzJSKNgkGw5NLTvpPGxQ3zcZG9cTgOpuSOIsfuTUTpDrKZBWHMkLkL0HoFLvVHtvarR3SU7SDDbcBOiZA2ybXasGUuKnsCAvfWvXAHlomO192VB3NLkGMxJTnvseCUrOMXxVj_bELu6UeN9sb152Mr9jwZHlsvh2cLSLct1XTH2oJntcOFJ-vXsjKkEFHvwhyldw5i-_ZR3vvJt_TJ2wiY0X806mCnLmpMYspX30t4y-MtlYcYZoTQhZWLiN9xIZEXyjNBsApMw2TRrUx8HC3nW5ir8yXx01ps5Dgj8xe1NBV9I_Fh3DsaHSfowfbpMwFYlwCpx46HzTa5TyaZDcdcTKa8aHo8khDhI0ltm5xw0HBHQJEjQJfqnB4XeSachPtwW9gimhKkfxC6ZjaCBwb-1s910e4RG4DlXDEVbMQym9beqFgY44SlPpkWZiCiOVf13ycDYUM";if(!e)return null;if(Sn&&Sn.sealed===e)return Sn;let t=null;try{t=hs.parse(JSON.parse(qn(e,Ig)))}catch{t=null}return Sn={sealed:e,bundle:t},Sn}function Ft(){let e=Rl();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=ys(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function Ng(){let e=Rl();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>le(t.slug))),e.keys):null}function Lt(e,t=!1){if(t||!e||e.length===0){let n=Ng();return n?new Set(n):null}return new Set(e.map(n=>Pg.test(n)?n:le(n)))}var Ig,Pg,Sn,jt=b(()=>{"use strict";ps();Je();yn();Ig="tokmizer-default-rules-v1",Pg=/^[0-9a-f]{16}$/,Sn=null});function Zs(e){Al=e}async function Dg(e,t){let n=await da();if(n.size>0)return Ot(e,n.values(),t,n);let r=Ft();return r?r.selectFor(e,"free",t?[...t]:void 0):null}function Hg(e,t,n){let r=ir(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 Re(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
72
72
  `)?`
73
73
  `:"";return sr((s?r.slice(0,-1):r).split(`
74
74
  `)).join(`
75
- `)+s}async function Ke(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=bt(sl(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Og.test(Bs(c)??c)),f=el(a??Al??Cg),d=null;for(let D of ol(e))if(d=await f(D,n),d)break;!d&&s>=Ig&&!js.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Hs(e.startsWith("bash-tool: ")?e.slice(11):e),p=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(bt(m)),b=o==null&&(p?/^(?:fatal|error):/im.test(Re(t)):tl(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
75
+ `)+s}async function Ze(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=bt(sl(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Mg.test(Bs(c)??c)),f=el(a??Al??Dg),d=null;for(let M of ol(e))if(d=await f(M,n),d)break;!d&&s>=Fg&&!js.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Hs(e.startsWith("bash-tool: ")?e.slice(11):e),p=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(bt(m)),k=o==null&&(p?/^(?:fatal|error):/im.test(Re(t)):tl(t)),g=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
76
76
  `)?t.slice(0,-1):t).split(`
77
- `).length<=60,T=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(bt(m)),v=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,R=d?.slug==="read-tool"&&s<Ng;if(!i&&(v||R||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||b,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||b)&&xl.test(c)){let D=El(t,l.verbosity??"normal"),Z=D===null?s:Buffer.byteLength(D,"utf8");if(D!==null&&Z<s)return{output:D,filterId:d.slug,rawBytes:s,filteredBytes:Z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||b)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||b,...i?{droppedTail:null}:{}};let E=D=>{if(!i)return D;let Z=D.filteredBytes>s||s>0&&D.output.length===0?t:D.output,V=!D.debugBypass&&!d?.preserve_exact?Js(Z,"minimal",D.filterId??""):Z,ue=Us(V)===V?V:Us(Z);return{...D,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!b&&!gl(e)){let D=yl(t);if(D!==null)return E({output:D,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(D,"utf8"),debugBypass:!1,droppedTail:null})}if(u||b){let D=i?ir(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?Dg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(D=pl(D)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(D)&&/^={3,} FAILURES ={3,}\r?$/m.test(D)&&(D=D.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let Z=!i&&!d.preserve_exact&&s>=Pg?Ca(D.split(`
77
+ `).length<=60,T=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(bt(m)),x=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,C=d?.slug==="read-tool"&&s<jg;if(!i&&(x||C||T||g&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||k,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||k)&&xl.test(c)){let M=El(t,l.verbosity??"normal"),Z=M===null?s:Buffer.byteLength(M,"utf8");if(M!==null&&Z<s)return{output:M,filterId:d.slug,rawBytes:s,filteredBytes:Z,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||k)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||k,...i?{droppedTail:null}:{}};let E=M=>{if(!i)return M;let Z=M.filteredBytes>s||s>0&&M.output.length===0?t:M.output,V=!M.debugBypass&&!d?.preserve_exact?Js(Z,"minimal",M.filterId??""):Z,ue=Us(V)===V?V:Us(Z);return{...M,output:ue,filteredBytes:Buffer.byteLength(ue,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!k&&!gl(e)){let M=yl(t);if(M!==null)return E({output:M,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(M,"utf8"),debugBypass:!1,droppedTail:null})}if(u||k){let M=i?ir(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?Hg(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?Re(t):t;!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(M=pl(M)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(M)&&/^={3,} FAILURES ={3,}\r?$/m.test(M)&&(M=M.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let Z=!i&&!d.preserve_exact&&s>=Lg?Ca(M.split(`
78
78
  `)).join(`
79
- `):D,V=Z.length<D.length;return E({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...V?{droppedTail:t}:{}})}let{text:I,droppedTail:M}=Ms(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),L=!i&&!d.preserve_exact?Js(I,l.verbosity,d.slug):I,z=Buffer.byteLength(L,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:L,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:M})}var Al,Og,Ig,Pg,Ng,vn=k(()=>{"use strict";ma();Yn();Ls();Fs();nl();il();ll();wn();or();ml();hl();or();bl();Tl();jt();Al=null;Og=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Ig=2048,Pg=8192,Ng=32*1024});import Mg from"node:os";import{join as En}from"node:path";import{existsSync as Fg,statSync as Lg,lstatSync as $l,unlinkSync as jg,mkdirSync as Hg,chmodSync as Bg}from"node:fs";import{createHash as Ug}from"node:crypto";function zg(e){let t=Ug("sha256").update(x()).digest("hex").slice(0,8),n=En(Mg.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 Cl(n,e),r}function Jg(e,t){try{let n=$l(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Cl(e,t){Hg(e,{recursive:!0,mode:448});let n=$l(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Bg(e,448)}function kt(){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&&Jg(t,e)){let s=En(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ks)return{path:s,isPipe:!1}}let n=En(x(),"run"),r=En(n,"daemon.sock");return Buffer.byteLength(r)>Ks?{path:zg(e),isPipe:!1}:(Cl(n,e),{path:r,isPipe:!1})}async function Ws(){let{path:e,isPipe:t}=kt();if(t||!Fg(e))return;try{if(!Lg(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{jg(e)}catch{}}var Ks,kR,Vs=k(()=>{"use strict";j();Ks=100;kR=5*6e4});import{readFileSync as Gg}from"node:fs";import{join as Zg}from"node:path";function _e(){try{return Gg(Zg(x(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Tn=k(()=>{"use strict";j()});var Dl=ae((ER,Nl)=>{Nl.exports=Pl;Pl.sync=Wg;var Ol=je("fs");function Kg(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 Il(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Kg(t,n)}function Pl(e,t,n){Ol.stat(e,function(r,s){n(r,r?!1:Il(s,e,t))})}function Wg(e,t){return Il(Ol.statSync(e),e,t)}});var Hl=ae((TR,jl)=>{jl.exports=Fl;Fl.sync=Vg;var Ml=je("fs");function Fl(e,t,n){Ml.stat(e,function(r,s){n(r,r?!1:Ll(s,t))})}function Vg(e,t){return Ll(Ml.statSync(e),t)}function Ll(e,t){return e.isFile()&&Yg(e,t)}function Yg(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 Ul=ae((AR,Bl)=>{var RR=je("fs"),mr;process.platform==="win32"||global.TESTING_WINDOWS?mr=Dl():mr=Hl();Bl.exports=Ys;Ys.sync=qg;function Ys(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){Ys(e,t||{},function(o,i){o?s(o):r(i)})})}mr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function qg(e,t){try{return mr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Vl=ae(($R,Wl)=>{var Ht=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zl=je("path"),Xg=Ht?";":":",Jl=Ul(),Gl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Zl=(e,t)=>{let n=t.colon||Xg,r=e.match(/\//)||Ht&&e.match(/\\/)?[""]:[...Ht?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Ht?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ht?s.split(n):[""];return Ht&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Kl=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Zl(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Gl(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,p=zl.join(m,e),b=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;u(l(b,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let p=s[f];Jl(c+p,{pathExt:o},(b,g)=>{if(!b&&g)if(t.all)i.push(c+p);else return d(c+p);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Qg=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Zl(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=zl.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(Jl.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 Gl(e)};Wl.exports=Kl;Kl.sync=Qg});var ql=ae((CR,qs)=>{"use strict";var Yl=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};qs.exports=Yl;qs.exports.default=Yl});var tc=ae((OR,ec)=>{"use strict";var Xl=je("path"),ey=Vl(),ty=ql();function Ql(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=ey.sync(e.command,{path:n[ty({env:n})],pathExt:t?Xl.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Xl.resolve(s?e.options.cwd:"",i)),i}function ny(e){return Ql(e)||Ql(e,!0)}ec.exports=ny});var nc=ae((IR,Qs)=>{"use strict";var Xs=/([()\][%!^"`<>&|;, *?])/g;function ry(e){return e=e.replace(Xs,"^$1"),e}function sy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xs,"^$1"),t&&(e=e.replace(Xs,"^$1")),e}Qs.exports.command=ry;Qs.exports.argument=sy});var sc=ae((PR,rc)=>{"use strict";rc.exports=/^#!(.*)/});var ic=ae((NR,oc)=>{"use strict";var oy=sc();oc.exports=(e="")=>{let t=e.match(oy);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var lc=ae((DR,ac)=>{"use strict";var eo=je("fs"),iy=ic();function ay(e){let n=Buffer.alloc(150),r;try{r=eo.openSync(e,"r"),eo.readSync(r,n,0,150,0),eo.closeSync(r)}catch{}return iy(n.toString())}ac.exports=ay});var dc=ae((MR,fc)=>{"use strict";var ly=je("path"),cc=tc(),uc=nc(),cy=lc(),uy=process.platform==="win32",fy=/\.(?:com|exe)$/i,dy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function my(e){e.file=cc(e);let t=e.file&&cy(e.file);return t?(e.args.unshift(e.file),e.command=t,cc(e)):e.file}function py(e){if(!uy)return e;let t=my(e),n=!fy.test(t);if(e.options.forceShell||n){let r=dy.test(t);e.command=ly.normalize(e.command),e.command=uc.command(e.command),e.args=e.args.map(o=>uc.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 hy(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:py(r)}fc.exports=hy});var hc=ae((FR,pc)=>{"use strict";var to=process.platform==="win32";function no(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 gy(e,t){if(!to)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=mc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function mc(e,t){return to&&e===1&&!t.file?no(t.original,"spawn"):null}function yy(e,t){return to&&e===1&&!t.file?no(t.original,"spawnSync"):null}pc.exports={hookChildProcess:gy,verifyENOENT:mc,verifyENOENTSync:yy,notFoundError:no}});var bc=ae((LR,Bt)=>{"use strict";var gc=je("child_process"),ro=dc(),so=hc();function yc(e,t,n){let r=ro(e,t,n),s=gc.spawn(r.command,r.args,r.options);return so.hookChildProcess(s,r),s}function by(e,t,n){let r=ro(e,t,n),s=gc.spawnSync(r.command,r.args,r.options);return s.error=s.error||so.verifyENOENTSync(s.status,r),s}Bt.exports=yc;Bt.exports.spawn=yc;Bt.exports.sync=by;Bt.exports._parse=ro;Bt.exports._enoent=so});function ky(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function pr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>ky())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function hr(e,t=Date.now()){return e.plan}var oo=k(()=>{"use strict"});function Rn(e){let t=e;for(let[n,r]of _y)t=t.replace(n,r);return t}var _y,io=k(()=>{"use strict";_y=[[/(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]"]]});import{createHash as UR,randomUUID as wy}from"node:crypto";import{readFile as kc,writeFile as _c,mkdir as xy}from"node:fs/promises";async function ao(){try{let n=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await xy(x(),{recursive:!0});let e=wy();try{return await _c(mn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await _c(mn(),e,{mode:384}),e}}var lo=k(()=>{"use strict";j()});import{readFile as Sy,writeFile as KR,mkdir as WR,chmod as VR,rm as YR,rename as qR,readdir as XR}from"node:fs/promises";import{join as vy}from"node:path";async function Me(){let e=null;try{let t=JSON.parse(await Sy(vy(x(),Ey),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...wc,...e}):wc}var Ey,wc,nA,Ut=k(()=>{"use strict";Ge();j();Ey="settings-cache.json",wc=Ct.parse({}),nA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var xc=k(()=>{"use strict";j();Ut();gn();It()});import{join as Sc}from"node:path";import{appendFileSync as Ty,chmodSync as Ry,existsSync as Ay,mkdirSync as $y,readFileSync as mA,renameSync as pA,rmdirSync as hA,statSync as Cy,unlinkSync as gA,utimesSync as yA,writeFileSync as bA}from"node:fs";function vc(){return Sc(x(),"spool")}function Iy(e){return Sc(vc(),`${e}.jsonl`)}function gr(e,t){if(hn())try{$y(vc(),{recursive:!0,mode:448});let n=Iy(e);if(Ay(n)&&Cy(n).size>=Oy)return;Ty(n,JSON.stringify(t)+`
80
- `,{mode:384}),Ry(n,384)}catch{return}}var Oy,co=k(()=>{"use strict";j();pn();lo();ms();Ut();gn();xc();Oy=512*1024});function zy(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 Hy.has(n.toLowerCase())?n:""}function Jy(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Uy.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Ec(e){let t=e.toLowerCase();return t.startsWith("git")||Fy.has(t)}function uo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&My.test(t[n]??"");)n+=1;let r=zy(t[n]??"");if(!r||!Ny.test(r)||r.length>jy)return"";let s=By.get(r.toLowerCase());if(s)return Jy(r.toLowerCase(),s,t.slice(n+1));if(Ec(r)||Ly.test(r)||Rn(r)!==r)return"";let o=t[n+1];return o&&Ec(o)?"":(o&&Tc.has(r.toLowerCase())&&Dy.test(o)?`${r} ${o}`:r).slice(0,64)}async function yr(e){if(!e.telemetryOptIn)return;let t=uo(e.cmd),n=t&&Rn(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";gr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var Ny,Dy,My,Fy,Ly,jy,Tc,Hy,By,Uy,br=k(()=>{"use strict";io();co();Ny=/^[a-z0-9][a-z0-9._-]*$/i,Dy=/^[a-z][a-z-]+$/,My=/^[A-Za-z_][A-Za-z0-9_]*=/,Fy=new Set(["gh","glab","gup","hub","gist"]),Ly=/^(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,jy=24,Tc=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"]),Hy=new Set([...Tc,"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"]),By=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"])]]),Uy=new Set(["-C","-c"])});async function kr(e){if(e.plan!=="pro"||Qa(e.filterId)||!(await Me()).telemetryOptIn)return;let t=uo(e.cmd);!t||Rn(t)!==t||gr("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var fo=k(()=>{"use strict";br();io();co();Ge();Ls();Ut()});function Rc(e){return e?Gy[e]??"anthropic":"anthropic"}var Gy,Ac=k(()=>{"use strict";Gy={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as Zy,chmodSync as Ky,mkdirSync as Wy,readFileSync as Pc,realpathSync as Vy,renameSync as Nc,rmSync as Dc,statSync as Mc,writeFileSync as mo}from"node:fs";import{basename as $c,dirname as Fc,join as _r,resolve as Yy,sep as HA}from"node:path";function Lc(){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 rb(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"&&tb.has(n.o)?{o:n.o}:{}}}catch{return null}}function sb(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function ob(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function ib(e,t){let n=ob(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 ab(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>eb){e.ox+=1;return}if(sb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):ib(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=Rc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function lb(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function jc(e){return _r(Fc(e),Xy)}function cb(e){let t=jc(e),n;try{n=Pc(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]={...Lc(),...i});return s}catch{try{Nc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Oc(e,t){let n=`${e}.tmp-${process.pid}`;mo(n,t,{mode:384}),Nc(n,e)}function ub(e){try{return mo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Mc(e).mtimeMs<Qy?!1:(Dc(e,{force:!0}),mo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function fb(e,t=Cc,n=Cc/2){try{if(Mc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(ub(r))try{let s=Pc(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=cb(e);for(let c of s.slice(0,o)){let u=rb(c);if(!u)continue;let f=lb(u.t),d=a[f]??Lc();ab(d,u),a[f]=d}let l=s.slice(o);Oc(e,l.length?`${l.join(`
79
+ `):M,V=Z.length<M.length;return E({output:Z,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(Z,"utf8"),debugBypass:!0,...V?{droppedTail:t}:{}})}let{text:O,droppedTail:N}=Ms(t,d,i?{...l,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:l),F=!i&&!d.preserve_exact?Js(O,l.verbosity,d.slug):O,z=Buffer.byteLength(F,"utf8");return t.trim().length>0&&z>=s?E({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):E({output:F,filterId:d.slug,rawBytes:s,filteredBytes:z,debugBypass:!1,droppedTail:N})}var Al,Mg,Fg,Lg,jg,vn=b(()=>{"use strict";ma();Yn();Ls();Fs();nl();il();ll();wn();or();ml();hl();or();bl();Tl();jt();Al=null;Mg=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Fg=2048,Lg=8192,jg=32*1024});import Bg from"node:os";import{join as En}from"node:path";import{existsSync as Ug,statSync as zg,lstatSync as $l,unlinkSync as Jg,mkdirSync as Gg,chmodSync as Zg}from"node:fs";import{createHash as Wg}from"node:crypto";function Kg(e){let t=Wg("sha256").update(S()).digest("hex").slice(0,8),n=En(Bg.tmpdir(),`tkr-${e}-${t}`),r=En(n,"d.sock");if(Buffer.byteLength(r)>Ws)throw new Error("Temporary directory path is too long for IPC");return Cl(n,e),r}function Vg(e,t){try{let n=$l(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Cl(e,t){Gg(e,{recursive:!0,mode:448});let n=$l(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");Zg(e,448)}function kt(){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&&Vg(t,e)){let s=En(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=Ws)return{path:s,isPipe:!1}}let n=En(S(),"run"),r=En(n,"daemon.sock");return Buffer.byteLength(r)>Ws?{path:Kg(e),isPipe:!1}:(Cl(n,e),{path:r,isPipe:!1})}async function Ks(){let{path:e,isPipe:t}=kt();if(t||!Ug(e))return;try{if(!zg(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{Jg(e)}catch{}}var Ws,SR,Vs=b(()=>{"use strict";H();Ws=100;SR=5*6e4});import{readFileSync as Yg}from"node:fs";import{join as qg}from"node:path";function _e(){try{return Yg(qg(S(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Tn=b(()=>{"use strict";H()});var Dl=ae(($R,Nl)=>{Nl.exports=Pl;Pl.sync=Qg;var Ol=Le("fs");function Xg(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 Il(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:Xg(t,n)}function Pl(e,t,n){Ol.stat(e,function(r,s){n(r,r?!1:Il(s,e,t))})}function Qg(e,t){return Il(Ol.statSync(e),e,t)}});var Hl=ae((CR,jl)=>{jl.exports=Fl;Fl.sync=ey;var Ml=Le("fs");function Fl(e,t,n){Ml.stat(e,function(r,s){n(r,r?!1:Ll(s,t))})}function ey(e,t){return Ll(Ml.statSync(e),t)}function Ll(e,t){return e.isFile()&&ty(e,t)}function ty(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 Ul=ae((IR,Bl)=>{var OR=Le("fs"),mr;process.platform==="win32"||global.TESTING_WINDOWS?mr=Dl():mr=Hl();Bl.exports=Ys;Ys.sync=ny;function Ys(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){Ys(e,t||{},function(o,i){o?s(o):r(i)})})}mr(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function ny(e,t){try{return mr.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Vl=ae((PR,Kl)=>{var Ht=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",zl=Le("path"),ry=Ht?";":":",Jl=Ul(),Gl=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Zl=(e,t)=>{let n=t.colon||ry,r=e.match(/\//)||Ht&&e.match(/\\/)?[""]:[...Ht?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=Ht?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=Ht?s.split(n):[""];return Ht&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Wl=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Zl(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(Gl(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,p=zl.join(m,e),k=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+p:p;u(l(k,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let p=s[f];Jl(c+p,{pathExt:o},(k,g)=>{if(!k&&g)if(t.all)i.push(c+p);else return d(c+p);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},sy=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Zl(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=zl.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(Jl.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 Gl(e)};Kl.exports=Wl;Wl.sync=sy});var ql=ae((NR,qs)=>{"use strict";var Yl=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};qs.exports=Yl;qs.exports.default=Yl});var tc=ae((DR,ec)=>{"use strict";var Xl=Le("path"),oy=Vl(),iy=ql();function Ql(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=oy.sync(e.command,{path:n[iy({env:n})],pathExt:t?Xl.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Xl.resolve(s?e.options.cwd:"",i)),i}function ay(e){return Ql(e)||Ql(e,!0)}ec.exports=ay});var nc=ae((MR,Qs)=>{"use strict";var Xs=/([()\][%!^"`<>&|;, *?])/g;function ly(e){return e=e.replace(Xs,"^$1"),e}function cy(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Xs,"^$1"),t&&(e=e.replace(Xs,"^$1")),e}Qs.exports.command=ly;Qs.exports.argument=cy});var sc=ae((FR,rc)=>{"use strict";rc.exports=/^#!(.*)/});var ic=ae((LR,oc)=>{"use strict";var uy=sc();oc.exports=(e="")=>{let t=e.match(uy);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var lc=ae((jR,ac)=>{"use strict";var eo=Le("fs"),fy=ic();function dy(e){let n=Buffer.alloc(150),r;try{r=eo.openSync(e,"r"),eo.readSync(r,n,0,150,0),eo.closeSync(r)}catch{}return fy(n.toString())}ac.exports=dy});var dc=ae((HR,fc)=>{"use strict";var my=Le("path"),cc=tc(),uc=nc(),py=lc(),hy=process.platform==="win32",gy=/\.(?:com|exe)$/i,yy=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function by(e){e.file=cc(e);let t=e.file&&py(e.file);return t?(e.args.unshift(e.file),e.command=t,cc(e)):e.file}function ky(e){if(!hy)return e;let t=by(e),n=!gy.test(t);if(e.options.forceShell||n){let r=yy.test(t);e.command=my.normalize(e.command),e.command=uc.command(e.command),e.args=e.args.map(o=>uc.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 _y(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:ky(r)}fc.exports=_y});var hc=ae((BR,pc)=>{"use strict";var to=process.platform==="win32";function no(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 wy(e,t){if(!to)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=mc(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function mc(e,t){return to&&e===1&&!t.file?no(t.original,"spawn"):null}function xy(e,t){return to&&e===1&&!t.file?no(t.original,"spawnSync"):null}pc.exports={hookChildProcess:wy,verifyENOENT:mc,verifyENOENTSync:xy,notFoundError:no}});var bc=ae((UR,Bt)=>{"use strict";var gc=Le("child_process"),ro=dc(),so=hc();function yc(e,t,n){let r=ro(e,t,n),s=gc.spawn(r.command,r.args,r.options);return so.hookChildProcess(s,r),s}function Sy(e,t,n){let r=ro(e,t,n),s=gc.spawnSync(r.command,r.args,r.options);return s.error=s.error||so.verifyENOENTSync(s.status,r),s}Bt.exports=yc;Bt.exports.spawn=yc;Bt.exports.sync=Sy;Bt.exports._parse=ro;Bt.exports._enoent=so});function vy(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function pr(e,t=Date.now()){let n=e.lastHeartbeatOkAt;if(typeof n=="number"&&t-n>vy())return!0;if(e.subEndsAt){let r=Date.parse(e.subEndsAt);if(Number.isFinite(r)&&t>r)return!0}return!1}function hr(e,t=Date.now()){return e.plan}var oo=b(()=>{"use strict"});function Rn(e){let t=e;for(let[n,r]of Ey)t=t.replace(n,r);return t}var Ey,io=b(()=>{"use strict";Ey=[[/(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]"]]});import{createHash as ZR,randomUUID as Ty}from"node:crypto";import{readFile as kc,writeFile as _c,mkdir as Ry}from"node:fs/promises";async function ao(){try{let n=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await Ry(S(),{recursive:!0});let e=Ty();try{return await _c(mn(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await kc(mn(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await _c(mn(),e,{mode:384}),e}}var lo=b(()=>{"use strict";H()});import{readFile as Ay,writeFile as qR,mkdir as XR,chmod as QR,rm as eA,rename as tA,readdir as nA}from"node:fs/promises";import{join as $y}from"node:path";async function Me(){let e=null;try{let t=JSON.parse(await Ay($y(S(),Cy),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?Ct.parse({...wc,...e}):wc}var Cy,wc,iA,Ut=b(()=>{"use strict";Je();H();Cy="settings-cache.json",wc=Ct.parse({}),iA=Ct.partial().extend({filters:Ct.shape.filters.removeDefault().partial().optional()})});var xc=b(()=>{"use strict";H();Ut();gn();It()});import{join as Sc}from"node:path";import{appendFileSync as Oy,chmodSync as Iy,existsSync as Py,mkdirSync as Ny,readFileSync as yA,renameSync as bA,rmdirSync as kA,statSync as Dy,unlinkSync as _A,utimesSync as wA,writeFileSync as xA}from"node:fs";function vc(){return Sc(S(),"spool")}function Fy(e){return Sc(vc(),`${e}.jsonl`)}function gr(e,t){if(hn())try{Ny(vc(),{recursive:!0,mode:448});let n=Fy(e);if(Py(n)&&Dy(n).size>=My)return;Oy(n,JSON.stringify(t)+`
80
+ `,{mode:384}),Iy(n,384)}catch{return}}var My,co=b(()=>{"use strict";H();pn();lo();ms();Ut();gn();xc();My=512*1024});function Ky(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 Gy.has(n.toLowerCase())?n:""}function Vy(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Wy.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function Ec(e){let t=e.toLowerCase();return t.startsWith("git")||Uy.has(t)}function uo(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&By.test(t[n]??"");)n+=1;let r=Ky(t[n]??"");if(!r||!jy.test(r)||r.length>Jy)return"";let s=Zy.get(r.toLowerCase());if(s)return Vy(r.toLowerCase(),s,t.slice(n+1));if(Ec(r)||zy.test(r)||Rn(r)!==r)return"";let o=t[n+1];return o&&Ec(o)?"":(o&&Tc.has(r.toLowerCase())&&Hy.test(o)?`${r} ${o}`:r).slice(0,64)}async function yr(e){if(!e.telemetryOptIn)return;let t=uo(e.cmd),n=t&&Rn(t)===t?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";gr("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}var jy,Hy,By,Uy,zy,Jy,Tc,Gy,Zy,Wy,br=b(()=>{"use strict";io();co();jy=/^[a-z0-9][a-z0-9._-]*$/i,Hy=/^[a-z][a-z-]+$/,By=/^[A-Za-z_][A-Za-z0-9_]*=/,Uy=new Set(["gh","glab","gup","hub","gist"]),zy=/^(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,Jy=24,Tc=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"]),Gy=new Set([...Tc,"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"]),Zy=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"])]]),Wy=new Set(["-C","-c"])});async function kr(e){if(e.plan!=="pro"||Qa(e.filterId)||!(await Me()).telemetryOptIn)return;let t=uo(e.cmd);!t||Rn(t)!==t||gr("learn",{cmd:t,filterId:e.filterId==null?null:le(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}var fo=b(()=>{"use strict";br();io();co();Je();Ls();Ut()});function Rc(e){return e?Yy[e]??"anthropic":"anthropic"}var Yy,Ac=b(()=>{"use strict";Yy={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"}});import{appendFileSync as qy,chmodSync as Xy,mkdirSync as Qy,readFileSync as Pc,realpathSync as eb,renameSync as Nc,rmSync as Dc,statSync as Mc,writeFileSync as mo}from"node:fs";import{basename as $c,dirname as Fc,join as _r,resolve as tb,sep as JA}from"node:path";function Lc(){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 lb(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"&&ib.has(n.o)?{o:n.o}:{}}}catch{return null}}function cb(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function ub(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function fb(e,t){let n=ub(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 db(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>ob){e.ox+=1;return}if(cb(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):fb(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=Rc(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function mb(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function jc(e){return _r(Fc(e),rb)}function pb(e){let t=jc(e),n;try{n=Pc(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]={...Lc(),...i});return s}catch{try{Nc(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function Oc(e,t){let n=`${e}.tmp-${process.pid}`;mo(n,t,{mode:384}),Nc(n,e)}function hb(e){try{return mo(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-Mc(e).mtimeMs<sb?!1:(Dc(e,{force:!0}),mo(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function gb(e,t=Cc,n=Cc/2){try{if(Mc(e).size<=t)return}catch{return}let r=`${e}.lock`;if(hb(r))try{let s=Pc(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=pb(e);for(let c of s.slice(0,o)){let u=lb(c);if(!u)continue;let f=mb(u.t),d=a[f]??Lc();db(d,u),a[f]=d}let l=s.slice(o);Oc(e,l.length?`${l.join(`
82
82
  `)}
83
- `:""),Oc(jc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Dc(r,{force:!0})}}function db(e){let t=Yy(e),n=t,r="";for(;;){try{return _r(Vy(n),r)}catch{}let s=Fc(n);if(s===n)return t;r=r?_r($c(n),r):$c(n),n=s}}function Ic(e){return e.length===0||e[0]==="cd"||e.every(t=>Hc.test(t))}function yb(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(),Ic(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ic(t)?[]:t}function zt(e){let t=yb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Hc.test(a)){n+=1;continue}if(mb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=pb.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("-")&&hb.test(o)&&gb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function bb(){return _r(x(),qy)}function wr(e,t,n=bb(),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?db(a):"",m=d&&d.length<=nb?`,"p":${JSON.stringify(d)}`:"",p=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",b=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${p}${b}}
85
- `;try{Wy(x(),{recursive:!0,mode:448}),Zy(n,g,{mode:384}),Ky(n,384),fb(n)}catch{return}}function xr(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 Sr(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var qy,Xy,Cc,Qy,eb,tb,nb,mb,pb,hb,gb,Hc,po=k(()=>{"use strict";j();Ac();qy="stats.jsonl",Xy="stats-ledger.json",Cc=2*1024*1024,Qy=3e4,eb=3e4,tb=new Set(["n","g","e"]),nb=256;mb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),pb=new Set(["-u","-g","-n","-s","-k"]),hb=/^[a-z0-9][a-z0-9._-]*$/i,gb=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"]),Hc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as kb,mkdirSync as _b,readFileSync as wb,writeFileSync as xb,renameSync as Sb,statSync as vb,readdirSync as GA,rmSync as ZA,chmodSync as Eb}from"node:fs";import{join as Bc}from"node:path";function Uc(){return Bc(x(),"sessions")}function $b(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Bc(Uc(),`${t}.jsonl`)}function vr(e,t){try{let n=$b(e);_b(Uc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Ab),...t.fail?{fail:1}:{}});if(kb(n,`${r}
86
- `,{mode:384}),Eb(n,384),vb(n).size>Tb){let s=wb(n,"utf8").split(`
87
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-Rb),i=`${n}.tmp-${process.pid}`;xb(i,`${o.join(`
83
+ `:""),Oc(jc(e),JSON.stringify({v:1,days:a}))}catch{return}finally{Dc(r,{force:!0})}}function yb(e){let t=tb(e),n=t,r="";for(;;){try{return _r(eb(n),r)}catch{}let s=Fc(n);if(s===n)return t;r=r?_r($c(n),r):$c(n),n=s}}function Ic(e){return e.length===0||e[0]==="cd"||e.every(t=>Hc.test(t))}function xb(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(),Ic(t)){t=[];continue}return t}n+=i,r=!0}return o(),Ic(t)?[]:t}function zt(e){let t=xb(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(Hc.test(a)){n+=1;continue}if(bb.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=kb.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("-")&&_b.test(o)&&wb.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function Sb(){return _r(S(),nb)}function wr(e,t,n=Sb(),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?yb(a):"",m=d&&d.length<=ab?`,"p":${JSON.stringify(d)}`:"",p=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",k=l.o?`,"o":${JSON.stringify(l.o)}`:"",g=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${p}${k}}
85
+ `;try{Qy(S(),{recursive:!0,mode:448}),qy(n,g,{mode:384}),Xy(n,384),gb(n)}catch{return}}function xr(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 Sr(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}var nb,rb,Cc,sb,ob,ib,ab,bb,kb,_b,wb,Hc,po=b(()=>{"use strict";H();Ac();nb="stats.jsonl",rb="stats-ledger.json",Cc=2*1024*1024,sb=3e4,ob=3e4,ib=new Set(["n","g","e"]),ab=256;bb=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),kb=new Set(["-u","-g","-n","-s","-k"]),_b=/^[a-z0-9][a-z0-9._-]*$/i,wb=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"]),Hc=/^[A-Za-z_][A-Za-z0-9_]*=/});import{appendFileSync as vb,mkdirSync as Eb,readFileSync as Tb,writeFileSync as Rb,renameSync as Ab,statSync as $b,readdirSync as VA,rmSync as YA,chmodSync as Cb}from"node:fs";import{join as Bc}from"node:path";function Uc(){return Bc(S(),"sessions")}function Nb(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Bc(Uc(),`${t}.jsonl`)}function vr(e,t){try{let n=Nb(e);Eb(Uc(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:t.target.slice(0,Pb),...t.fail?{fail:1}:{}});if(vb(n,`${r}
86
+ `,{mode:384}),Cb(n,384),$b(n).size>Ob){let s=Tb(n,"utf8").split(`
87
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-Ib),i=`${n}.tmp-${process.pid}`;Rb(i,`${o.join(`
88
88
  `)}
89
- `,{mode:384}),Sb(i,n)}}catch{}}var Tb,Rb,VA,Ab,ho=k(()=>{"use strict";j();Tb=96*1024,Rb=500,VA=168*3600*1e3,Ab=120});import{basename as Cb}from"node:path";function Jt(e){let t=Cb(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Ob))if(r===t)return[n];for(let[n,r]of Object.entries(Ib))if(r===t)return["hook",n];return null}var Ob,Ib,An=k(()=>{"use strict";Ob={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Ib={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function Ae(){return!1}function $n(e,t=process.execPath){let n=Ae()?Jt(e):null;return n?[process.execPath,...n]:[t,e]}var We=k(()=>{"use strict";An()});import{rmSync as Pb,statSync as Nb}from"node:fs";import{join as zc}from"node:path";function Er(){return zc(x(),"shims")}function go(){return zc(x(),"fail-open")}function he(e=Date.now()){try{if(e-Nb(go()).mtimeMs<Db)return!0;Pb(go(),{force:!0})}catch{}return!1}var Db,we=k(()=>{"use strict";j();Db=24*36e5});var yo=k(()=>{"use strict";j();We();An();we()});import{chmod as Hb,lstat as Gc,mkdir as Bb,readFile as ko,rename as Ub,rm as m$,unlink as Zc,writeFile as zb}from"node:fs/promises";import{createHash as Kc}from"node:crypto";import{basename as Jb,join as Wc}from"node:path";function Vc(){return Wc(x(),"backup","config")}function bo(e){let t=wo(e),n=Kc("sha256").update(t).digest("hex").slice(0,16),r=Jb(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Wc(Vc(),`${n}-${r}`)}function Yc(e){return`${bo(e)}.written`}function qc(e){return Kc("sha256").update(e).digest("hex")}async function Zb(e){try{return await Gc(e),!0}catch{return!1}}async function _o(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Bb(Vc(),{recursive:!0,mode:448}),await zb(n,t,{mode:384}),await Hb(n,384),await Ub(n,e),!0}catch{return await Zc(n).catch(()=>{}),!1}}async function Kb(e,t){let n=`${e}${Gb}`;try{if(!(await Gc(n)).isFile())return!1}catch{return!1}let r=!await Zb(t);if(r&&!await _o(t,await ko(n,"utf8")))throw new Error("backup");return await Zc(n).catch(()=>{}),r}async function Wb(e,t){try{return(await ko(Yc(e),"utf8")).trim()===qc(t)}catch{return!1}}async function Xc(e,t){let n=t;try{n===void 0&&(n=await ko(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Kb(e,bo(e)))return!0}catch{return!1}return await Wb(e,n)?!0:_o(bo(e),n)}async function Tr(e,t,n){return!await Xc(e,n)||!await Ar(e,t)?!1:(await _o(Yc(e),`${qc(t)}
90
- `),!0)}var Gb,Rr=k(()=>{"use strict";j();$e();Gb=".tkr-bak"});import{readFile as Vb,writeFile as Yb,rename as qb,mkdir as tu,chmod as Xb,stat as Qb,unlink as ek}from"node:fs/promises";import{existsSync as tk,lstatSync as nk,readlinkSync as rk,realpathSync as Qc}from"node:fs";import{basename as sk,dirname as $r,join as ok,resolve as eu}from"node:path";function F(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ve(e){if(!tk(e))return{};try{let t=JSON.parse(await Vb(e,"utf8"));return F(t)?t:null}catch{return null}}function wo(e){let t=eu(e);for(let n=0;n<32;n++){try{return Qc(t)}catch{}try{if(!nk(t).isSymbolicLink())break;t=eu($r(t),rk(t))}catch{break}}try{return ok(Qc($r(t)),sk(t))}catch{return t}}async function Ar(e,t){let n=wo(e),r=`${n}.tmp-${process.pid}`;try{await tu($r(n),{recursive:!0});let s=384;try{s=(await Qb(n)).mode&511}catch{}return await Yb(r,t,{mode:s}),await Xb(r,s),await qb(r,n),!0}catch{try{await ek(r)}catch{}return!1}}async function Ye(e,t){try{await tu($r(e),{recursive:!0})}catch{return!1}return Tr(e,`${JSON.stringify(t,null,2)}
91
- `)}function Gt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Jt(t);return n?.length?new RegExp(`^\\s*${ik}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Cr(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(!F(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 ik,$e=k(()=>{"use strict";An();We();yo();Rr();ik=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as C$,readFileSync as ak}from"node:fs";import{join as lk}from"node:path";import ck from"node:os";function fk(){return lk(ck.homedir(),".cursor","hooks.json")}function dk(e){return F(e)&&Gt(e.command,uk)}function mk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[nu])?t[nu]:[];return{hooks:t,entries:n}}function ru(){try{let e=JSON.parse(ak(fk(),"utf8"));return mk(e).entries.some(dk)}catch{return!1}}var uk,nu,su=k(()=>{"use strict";$e();uk="tkr-cursor-hook",nu="preToolUse"});import{existsSync as M$,readFileSync as pk}from"node:fs";import{join as hk}from"node:path";import gk from"node:os";function bk(){return hk(process.env.GEMINI_CLI_HOME||gk.homedir(),".gemini","settings.json")}function kk(e){return F(e)&&Gt(e.command,yk)}function _k(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(kk)}function wk(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[ou])?t[ou]:[];return{hooks:t,groups:n}}function iu(){try{let e=JSON.parse(pk(bk(),"utf8"));return wk(e).groups.some(t=>_k(t)!=null)}catch{return!1}}var yk,ou,au=k(()=>{"use strict";$e();yk="tkr-gemini-hook",ou="BeforeTool"});import{existsSync as z$,accessSync as J$,constants as G$,readFileSync as xk}from"node:fs";function vk(e){return e.includes(Sk)}function lu(e){try{return vk(xk(e,"utf8"))}catch{return!1}}var Sk,cu=k(()=>{"use strict";$e();We();Rr();j();Sk='"rewrite", "--host"'});import{readFile as fu,mkdir as Ek}from"node:fs/promises";import{existsSync as vo,readFileSync as du}from"node:fs";import{dirname as Tk,join as So}from"node:path";import mu from"node:os";function In(){return So(process.env.VIBE_HOME||So(mu.homedir(),".vibe"),"hooks.toml")}function uu(e){return JSON.stringify(e)}function Rk(e){return["[[hooks]]",`name = ${uu(pu)}`,'type = "pre_tool"','match = "bash"',`command = ${uu(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
92
- `)}function Eo(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function On(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${pu}"\\s*$`,"m").test(e)}async function hu(e,t){try{await Ek(Tk(e),{recursive:!0})}catch{return!1}return Tr(e,t)}function gu(){try{return Eo(du(In(),"utf8")).some(On)}catch{return!1}}async function yu(e){let t=In(),n="";try{vo(t)&&(n=await fu(t,"utf8"))}catch{return"error"}let r=Rk(e),s=Eo(n),o=s.filter(On);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!On(l)).join("").trimEnd(),a=i?`${i}
89
+ `,{mode:384}),Ab(i,n)}}catch{}}var Ob,Ib,QA,Pb,ho=b(()=>{"use strict";H();Ob=96*1024,Ib=500,QA=168*3600*1e3,Pb=120});import{basename as Db}from"node:path";function Jt(e){let t=Db(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Mb))if(r===t)return[n];for(let[n,r]of Object.entries(Fb))if(r===t)return["hook",n];return null}var Mb,Fb,An=b(()=>{"use strict";Mb={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Fb={codex:"tkr-codex-hook",cursor:"tkr-cursor-hook",gemini:"tkr-gemini-hook",agent:"tkr-agent-hook",copilot:"tkr-copilot-hook",droid:"tkr-droid-hook",trae:"tkr-trae-hook",qwen:"tkr-qwen-hook",crush:"tkr-crush-hook",junie:"tkr-junie-hook",zcode:"tkr-zcode-hook",grok:"tkr-grok-hook",context:"tkr-context-hook","pre-tool-use":"pre-tool-use","post-tool-use":"post-tool-use","session-recap":"session-recap","session-start":"on-session-start","reducer-session-start":"reducer-session-start","reducer-prompt-submit":"reducer-prompt-submit","reducer-stop":"reducer-stop","command-expansion":"command-expansion"}});function Ae(){return!1}function $n(e,t=process.execPath){let n=Ae()?Jt(e):null;return n?[process.execPath,...n]:[t,e]}var We=b(()=>{"use strict";An()});import{rmSync as Lb,statSync as jb}from"node:fs";import{join as zc}from"node:path";function Er(){return zc(S(),"shims")}function go(){return zc(S(),"fail-open")}function he(e=Date.now()){try{if(e-jb(go()).mtimeMs<Hb)return!0;Lb(go(),{force:!0})}catch{}return!1}var Hb,we=b(()=>{"use strict";H();Hb=24*36e5});var yo=b(()=>{"use strict";H();We();An();we()});import{chmod as Gb,lstat as Gc,mkdir as Zb,readFile as ko,rename as Wb,rm as y$,unlink as Zc,writeFile as Kb}from"node:fs/promises";import{createHash as Wc}from"node:crypto";import{basename as Vb,join as Kc}from"node:path";function Vc(){return Kc(S(),"backup","config")}function bo(e){let t=wo(e),n=Wc("sha256").update(t).digest("hex").slice(0,16),r=Vb(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Kc(Vc(),`${n}-${r}`)}function Yc(e){return`${bo(e)}.written`}function qc(e){return Wc("sha256").update(e).digest("hex")}async function qb(e){try{return await Gc(e),!0}catch{return!1}}async function _o(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Zb(Vc(),{recursive:!0,mode:448}),await Kb(n,t,{mode:384}),await Gb(n,384),await Wb(n,e),!0}catch{return await Zc(n).catch(()=>{}),!1}}async function Xb(e,t){let n=`${e}${Yb}`;try{if(!(await Gc(n)).isFile())return!1}catch{return!1}let r=!await qb(t);if(r&&!await _o(t,await ko(n,"utf8")))throw new Error("backup");return await Zc(n).catch(()=>{}),r}async function Qb(e,t){try{return(await ko(Yc(e),"utf8")).trim()===qc(t)}catch{return!1}}async function Xc(e,t){let n=t;try{n===void 0&&(n=await ko(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Xb(e,bo(e)))return!0}catch{return!1}return await Qb(e,n)?!0:_o(bo(e),n)}async function Tr(e,t,n){return!await Xc(e,n)||!await Ar(e,t)?!1:(await _o(Yc(e),`${qc(t)}
90
+ `),!0)}var Yb,Rr=b(()=>{"use strict";H();$e();Yb=".tkr-bak"});import{readFile as ek,writeFile as tk,rename as nk,mkdir as tu,chmod as rk,stat as sk,unlink as ok}from"node:fs/promises";import{existsSync as ik,lstatSync as ak,readlinkSync as lk,realpathSync as Qc}from"node:fs";import{basename as ck,dirname as $r,join as uk,resolve as eu}from"node:path";function L(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ke(e){if(!ik(e))return{};try{let t=JSON.parse(await ek(e,"utf8"));return L(t)?t:null}catch{return null}}function wo(e){let t=eu(e);for(let n=0;n<32;n++){try{return Qc(t)}catch{}try{if(!ak(t).isSymbolicLink())break;t=eu($r(t),lk(t))}catch{break}}try{return uk(Qc($r(t)),ck(t))}catch{return t}}async function Ar(e,t){let n=wo(e),r=`${n}.tmp-${process.pid}`;try{await tu($r(n),{recursive:!0});let s=384;try{s=(await sk(n)).mode&511}catch{}return await tk(r,t,{mode:s}),await rk(r,s),await nk(r,n),!0}catch{try{await ok(r)}catch{}return!1}}async function Ve(e,t){try{await tu($r(e),{recursive:!0})}catch{return!1}return Tr(e,`${JSON.stringify(t,null,2)}
91
+ `)}function Gt(e,t){if(typeof e!="string")return!1;if(e.includes(t))return!0;let n=Jt(t);return n?.length?new RegExp(`^\\s*${fk}\\s+${n.join("\\s+")}(?:\\s|$)`,"i").test(e):!1}function Cr(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(!L(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 fk,$e=b(()=>{"use strict";An();We();yo();Rr();fk=String.raw`(?:'(?:(?:[^']|'\\'')*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?'|"(?:[^"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?"|(?:[^\s'"]*[\\/])?tkr(?:\.(?:exe|cmd|bat|ps1))?)`});import{existsSync as N$,readFileSync as dk}from"node:fs";import{join as mk}from"node:path";import pk from"node:os";function gk(){return mk(pk.homedir(),".cursor","hooks.json")}function yk(e){return L(e)&&Gt(e.command,hk)}function bk(e){let t=L(e.hooks)?e.hooks:{},n=Array.isArray(t[nu])?t[nu]:[];return{hooks:t,entries:n}}function ru(){try{let e=JSON.parse(dk(gk(),"utf8"));return bk(e).entries.some(yk)}catch{return!1}}var hk,nu,su=b(()=>{"use strict";$e();hk="tkr-cursor-hook",nu="preToolUse"});import{existsSync as H$,readFileSync as kk}from"node:fs";import{join as _k}from"node:path";import wk from"node:os";function Sk(){return _k(process.env.GEMINI_CLI_HOME||wk.homedir(),".gemini","settings.json")}function vk(e){return L(e)&&Gt(e.command,xk)}function Ek(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(vk)}function Tk(e){let t=L(e.hooks)?e.hooks:{},n=Array.isArray(t[ou])?t[ou]:[];return{hooks:t,groups:n}}function iu(){try{let e=JSON.parse(kk(Sk(),"utf8"));return Tk(e).groups.some(t=>Ek(t)!=null)}catch{return!1}}var xk,ou,au=b(()=>{"use strict";$e();xk="tkr-gemini-hook",ou="BeforeTool"});import{existsSync as W$,accessSync as K$,constants as V$,readFileSync as Rk}from"node:fs";function $k(e){return e.includes(Ak)}function lu(e){try{return $k(Rk(e,"utf8"))}catch{return!1}}var Ak,cu=b(()=>{"use strict";$e();We();Rr();H();Ak='"rewrite", "--host"'});import{readFile as fu,mkdir as Ck}from"node:fs/promises";import{existsSync as vo,readFileSync as du}from"node:fs";import{dirname as Ok,join as So}from"node:path";import mu from"node:os";function In(){return So(process.env.VIBE_HOME||So(mu.homedir(),".vibe"),"hooks.toml")}function uu(e){return JSON.stringify(e)}function Ik(e){return["[[hooks]]",`name = ${uu(pu)}`,'type = "pre_tool"','match = "bash"',`command = ${uu(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
92
+ `)}function Eo(e){let t=[],n=[];for(let r of e.split(/(?<=\n)/))/^\s*\[\[?\s*[A-Za-z0-9_-]/.test(r)&&n.length&&(t.push(n.join("")),n=[]),n.push(r);return n.length&&t.push(n.join("")),t}function On(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${pu}"\\s*$`,"m").test(e)}async function hu(e,t){try{await Ck(Ok(e),{recursive:!0})}catch{return!1}return Tr(e,t)}function gu(){try{return Eo(du(In(),"utf8")).some(On)}catch{return!1}}async function yu(e){let t=In(),n="";try{vo(t)&&(n=await fu(t,"utf8"))}catch{return"error"}let r=Ik(e),s=Eo(n),o=s.filter(On);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.filter(l=>!On(l)).join("").trimEnd(),a=i?`${i}
93
93
 
94
94
  ${r}`:r;return await hu(t,a)?o.length?"updated":"added":"error"}async function bu(){let e=In();if(!vo(e))return"absent";let t;try{t=await fu(e,"utf8")}catch{return"error"}let n=Eo(t);if(!n.some(On))return"absent";let r=n.filter(o=>!On(o)).join("").trimEnd(),s=r?`${r}
95
- `:"";return await hu(e,s)?"removed":"error"}function Pn(){return So(mu.homedir(),".gemini","config","hooks.json")}function Ak(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ku(){try{let e=JSON.parse(du(Pn(),"utf8"));return F(e)&&F(e[Cn])}catch{return!1}}async function _u(e){let t=Pn(),n=await Ve(t);if(!n)return"error";let r=Ak(e),s=n[Cn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Cn]=r,await Ye(t,n)?s===void 0?"added":"updated":"error")}async function wu(){let e=Pn();if(!vo(e))return"absent";let t=await Ve(e);return t?Cn in t?(delete t[Cn],await Ye(e,t)?"removed":"error"):"absent":"error"}var pu,Cn,xu=k(()=>{"use strict";$e();Rr();pu="tokmizer-rewrite",Cn="tokmizer-rewrite"});import{dirname as c1,join as ge}from"node:path";import $k from"node:os";function vu(e){return e.kind==="hook"?e.installed():lu(e.files()[0].target)}var Nn,To,Su,Eu=k(()=>{"use strict";$e();cu();xu();Nn=()=>$k.homedir(),To=()=>process.env.XDG_CONFIG_HOME||ge(Nn(),".config"),Su=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ge(To(),"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:ge(To(),"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:ge(To(),"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:In,installed:gu,ensure:yu,remove:bu,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Pn,installed:ku,ensure:_u,remove:wu,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ge(Nn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ge(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:ge(process.env.PI_CODING_AGENT_DIR||ge(Nn(),".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:ge(Nn(),".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=ge(process.env.HERMES_HOME||ge(Nn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ge(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Ck,readFileSync as Ok}from"node:fs";function Or(e,t){return F(e)&&Gt(e.command,t)}function Tu(e){return e.path??(e.nested?["hooks"]:[])}function Ru(e,t){let n=e;for(let r of Tu(t))F(n[r])||(n[r]={}),n=n[r];return n}function Au(e,t){let n=e;for(let s of Tu(t))n=F(n)?n[s]:void 0;if(!F(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Ik(e){return F(e)&&Array.isArray(e.hooks)?e.hooks:[]}function $u(e,t){return(t.matcher===void 0?e:e.flatMap(Ik)).filter(r=>Or(r,t.mark))}function Cu(e,t){return $u(Au(e,t),t).length>0}function Ro(e,t){try{let n=JSON.parse(Ok(e,"utf8"));return F(n)&&Cu(n,t)}catch{return!1}}function Pk(e,t,n){let r=Ru(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=$u(s,t)[0],i=t.entry(n);if(o){let a=Cr(s,c=>Or(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 Nk(e,t){if(!Cu(e,t))return!1;let n=Ru(e,t),r=Au(e,t),s=t.matcher===void 0?r.filter(o=>!Or(o,t.mark)):r.map(o=>F(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Or(i,t.mark))}:o).filter(o=>!F(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Ao(e,t,n){let r=await Ve(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Pk(r,t,n);return s==="present"||await Ye(e,r)?s:"error"}async function Ir(e,t){if(!Ck(e))return"absent";let n=await Ve(e);return n?Nk(n,t)?await Ye(e,n)?"removed":"error":"absent":"error"}var Ou=k(()=>{"use strict";$e()});import{existsSync as Co,readFileSync as Dk}from"node:fs";import{join as X}from"node:path";import Mk from"node:os";function Ce(){return Mk.homedir()}function Du(e){return e.version===void 0&&(e.version=1),e.version===1}function Fk(e,t,n){return Promise.all(e.map(r=>Ao(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Lk(e,t){return Promise.all(e.map(n=>Ir(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function _t(e,t){return{...e,installed:()=>e.files().some(n=>Ro(n,t)),ensure:n=>Fk(e.files(),t,n),remove:()=>Lk(e.files(),t)}}function Hk(){return X(process.env.COPILOT_HOME||X(Ce(),".copilot"),"hooks","tokmizer.json")}function Uk(){let e=[X(Ce(),".trae","hooks.json")];return Co(X(Ce(),".trae-cn"))&&e.push(X(Ce(),".trae-cn","hooks.json")),e}function Jk(){return X(process.env.QWEN_HOME||X(Ce(),".qwen"),"settings.json")}function Zk(){return X(process.env.XDG_CONFIG_HOME||X(Ce(),".config"),"crush","crush.json")}function Wk(){return X(Ce(),".junie","config.json")}function Vk(e){return e.hooks===void 0&&(e.hooks={}),F(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||F(e.hooks.events)):!1}function qk(){return X(Ce(),".zcode","cli","config.json")}function Qk(){return X(Ce(),".grok","hooks","tokmizer.json")}function $o(){return X(Ce(),".factory")}function Pr(){return[{file:X($o(),"hooks.json"),spec:Oo},{file:X($o(),"hooks","hooks.json"),spec:Oo},{file:X($o(),"settings.json"),spec:t0}]}function Iu(e){try{let t=JSON.parse(Dk(e,"utf8"));return F(t)?t:null}catch{return null}}function Pu(e,t){let n=t?e?.hooks:e;return F(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Nu(){let[e,t,n]=Pr(),r=Co(e.file)?e:Co(t.file)?t:null;return r&&Pu(Iu(r.file),!1)?r:Pu(Iu(n.file),!0)?n:r??e}var jk,Bk,zk,Gk,Kk,Yk,Xk,e0,Oo,t0,n0,Mu,Fu=k(()=>{"use strict";$e();Ou();jk={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Du};Bk={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Du};zk={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Gk={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Kk={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};Yk={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Vk};Xk={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};e0="tkr-droid-hook",Oo={mark:e0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},t0={...Oo,nested:!0};n0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Nu().file],installed:()=>Pr().some(e=>Ro(e.file,e.spec)),ensure:async e=>{let t=Nu(),n=await Ao(t.file,t.spec,e);return n==="error"||await Promise.all(Pr().filter(r=>r.file!==t.file).map(r=>Ir(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Pr().map(t=>Ir(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Mu=[_t({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:()=>[Hk()]},jk),n0,_t({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Uk},Bk),_t({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Jk()]},zk),_t({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Zk()]},Gk),_t({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Wk()]},Kk),_t({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[qk()]},Yk),_t({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:()=>[Qk()]},Xk)]});function Lu(e){return r0.has(e)||(s0[e]?.installed()??!1)}function Nr(e){return null}function Dr(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&&Io.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Lu(o)}}for(let o of ju)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Lu(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var ju,Io,r0,s0,Dn=k(()=>{"use strict";su();au();Eu();Fu();ju=[{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:[]}],Io=[...ju.map(e=>e.host),"shell"],r0=new Set(["claude-code","codex"]),s0={cursor:{installed:ru,setup:"tkr setup-cursor"},"gemini-cli":{installed:iu,setup:"tkr setup-gemini"},...Object.fromEntries(Su.map(e=>[e.host,{installed:()=>vu(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Mu.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as D1,realpathSync as o0}from"node:fs";import{basename as F1,delimiter as Hu,join as L1,dirname as j1}from"node:path";function Bu(e){try{return o0(e)}catch{return e}}function Uu(){let e=Er(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Bu(e),o=r.split(Hu).filter(i=>i&&i!==e&&Bu(i)!==s);return t[n]=o.join(Hu),n==="Path"&&(t.PATH=t[n]),t}var zu=k(()=>{"use strict";An();We();j();Dn();we();yo();we()});function Po(e){return JSON.stringify(e)+Mr}function*Gu(e){let t=0;for(;;){let n=e.indexOf(Mr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Mn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var i0,a0,l0,c0,Y1,q1,X1,Ju,Mr,Q1,Zu=k(()=>{"use strict";pt();fn();i0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),a0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),l0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),c0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),Y1=h.discriminatedUnion("op",[i0,a0,l0,c0]),q1=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),X1=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Ju=h.object({filter:Je.nullable(),cacheHit:h.boolean().optional()}),Mr=`
96
- `,Q1=64*1024});import{createConnection as u0}from"node:net";import{spawn as f0}from"node:child_process";import{existsSync as Vu,openSync as No,closeSync as Ku,unlinkSync as Mo,writeFileSync as Fo,mkdirSync as Lo,readFileSync as d0,appendFileSync as m0,rmSync as p0,statSync as h0}from"node:fs";import{dirname as g0,join as jo}from"node:path";import{fileURLToPath as y0}from"node:url";function Ho(){return jo(x(),"daemon.spawn.fail")}function Bo(){return jo(x(),"daemon.log")}function w0(){try{let e=Number(d0(Ho(),"utf8"));return Number.isFinite(e)&&Date.now()-e<k0}catch{return!1}}function x0(e){try{Lo(x(),{recursive:!0});let t=Bo();try{h0(t).size>_0&&Mo(t)}catch{}m0(t,`${new Date().toISOString()} ${e}
97
- `)}catch{}}function S0(e){try{Lo(x(),{recursive:!0}),Fo(Ho(),String(Date.now()))}catch{}x0(`spawn failed: ${e.message}`)}function v0(){try{p0(Ho(),{force:!0})}catch{}}async function Fr(e,t){return new Promise((n,r)=>{let s=u0(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 E0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:y0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Do(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 Fr(e,75)).destroy(),!0}catch{}else if(Vu(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function T0(e){let t=E0();if(!Ae()&&!Vu(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=kt(),r=process.platform==="win32"?x():g0(n);try{Lo(r,{recursive:!0})}catch{}let s=jo(r,"daemon.spawn.lock"),o=null;try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Do(n,5e3))return;try{Mo(s)}catch{}try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Do(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=No(Bo(),"a")}catch{}let[a,...l]=$n(t);if(f0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Ku(i)}catch{}if(!await Do(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Ku(o)}catch{}try{Mo(s)}catch{}}}}async function R0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao();try{let r=await Fr(t,Yu);r.write(Po({id:Mn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function A0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Fr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Uo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao(),r=null,s=0,o=!1;for(;s<=Wu;)try{r=await Fr(t,Yu),v0();break}catch{if(s+=1,s>Wu)throw new Error(`tkr-daemon unreachable at ${t}`);if(w0())throw new Error(`tkr-daemon spawn on cooldown (see ${Bo()})`);await Ws();try{await T0(n),o=!0}catch(u){throw S0(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]===Mr&&(f=m);if(f<0)return;let d=[];for(let m of Gu(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let p=JSON.parse(m),b=i.get(p.id);if(!b)continue;clearTimeout(b.timer),i.delete(p.id),b.resolve(p)}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})`))},b0);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Po(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Mn(),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 p=Ju.safeParse(m.data);return p.success?p.data.filter:null},ping:async()=>{let u=await l({id:Mn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Mn(),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&&Wi(pe,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==pe}catch(f){throw c.close(),f}if(u){try{await R0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await A0(t,2e3);if(await Ws(),!f)throw new Error("stale daemon still running after shutdown request");return Uo({...e,skipVersionCheck:!0})}}return c}var Yu,b0,Wu,k0,_0,qu=k(()=>{"use strict";Zu();Vs();j();We();lo();It();Yu=500,b0=3e3,Wu=1,k0=6e4,_0=256*1024});async function $0(){if(Zt)return Zt;if(Fn)return Fn;let e=Uo().then(t=>{if(Fn===e)return Zt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Fn=e,e}async function C0(){return Jo||(Jo=!0,zo=await Xn()??Ft()),zo}async function Xu(e,t,n){let r=await C0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function O0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Lr(e){Zs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Lt(void 0),o=await $0();if(!o)return Xu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:O0(i)}catch{return Xu(t,r,s)}})}function jr(){if(Zs(null),Zt)try{Zt.close()}catch{}Zt=null,Fn=null,zo=null,Jo=!1}var Zt,Fn,zo,Jo,Go=k(()=>{"use strict";qu();vn();Ge();yn();jt();Zt=null,Fn=null;zo=null,Jo=!1});import{chmod as I0,mkdir as P0,readFile as wC,writeFile as Qu,stat as xC,readdir as SC,rm as ef,rename as N0}from"node:fs/promises";import{readFileSync as D0}from"node:fs";import{createHash as M0}from"node:crypto";function B0(){try{let e=JSON.parse(D0(Ki(),"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 U0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function z0(e){return`${ds(e)}${H0}`}function J0(e){return e===""?[]:(e.endsWith(`
95
+ `:"";return await hu(e,s)?"removed":"error"}function Pn(){return So(mu.homedir(),".gemini","config","hooks.json")}function Pk(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function ku(){try{let e=JSON.parse(du(Pn(),"utf8"));return L(e)&&L(e[Cn])}catch{return!1}}async function _u(e){let t=Pn(),n=await Ke(t);if(!n)return"error";let r=Pk(e),s=n[Cn];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Cn]=r,await Ve(t,n)?s===void 0?"added":"updated":"error")}async function wu(){let e=Pn();if(!vo(e))return"absent";let t=await Ke(e);return t?Cn in t?(delete t[Cn],await Ve(e,t)?"removed":"error"):"absent":"error"}var pu,Cn,xu=b(()=>{"use strict";$e();Rr();pu="tokmizer-rewrite",Cn="tokmizer-rewrite"});import{dirname as m1,join as ge}from"node:path";import Nk from"node:os";function vu(e){return e.kind==="hook"?e.installed():lu(e.files()[0].target)}var Nn,To,Su,Eu=b(()=>{"use strict";$e();cu();xu();Nn=()=>Nk.homedir(),To=()=>process.env.XDG_CONFIG_HOME||ge(Nn(),".config"),Su=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:ge(To(),"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:ge(To(),"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:ge(To(),"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:In,installed:gu,ensure:yu,remove:bu,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Pn,installed:ku,ensure:_u,remove:wu,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=ge(Nn(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:ge(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:ge(process.env.PI_CODING_AGENT_DIR||ge(Nn(),".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:ge(Nn(),".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=ge(process.env.HERMES_HOME||ge(Nn(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:ge(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}]});import{existsSync as Dk,readFileSync as Mk}from"node:fs";function Or(e,t){return L(e)&&Gt(e.command,t)}function Tu(e){return e.path??(e.nested?["hooks"]:[])}function Ru(e,t){let n=e;for(let r of Tu(t))L(n[r])||(n[r]={}),n=n[r];return n}function Au(e,t){let n=e;for(let s of Tu(t))n=L(n)?n[s]:void 0;if(!L(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Fk(e){return L(e)&&Array.isArray(e.hooks)?e.hooks:[]}function $u(e,t){return(t.matcher===void 0?e:e.flatMap(Fk)).filter(r=>Or(r,t.mark))}function Cu(e,t){return $u(Au(e,t),t).length>0}function Ro(e,t){try{let n=JSON.parse(Mk(e,"utf8"));return L(n)&&Cu(n,t)}catch{return!1}}function Lk(e,t,n){let r=Ru(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=$u(s,t)[0],i=t.entry(n);if(o){let a=Cr(s,c=>Or(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 jk(e,t){if(!Cu(e,t))return!1;let n=Ru(e,t),r=Au(e,t),s=t.matcher===void 0?r.filter(o=>!Or(o,t.mark)):r.map(o=>L(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!Or(i,t.mark))}:o).filter(o=>!L(o)||!Array.isArray(o.hooks)||o.hooks.length>0);return s.length?n[t.event]=s:delete n[t.event],!0}async function Ao(e,t,n){let r=await Ke(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Lk(r,t,n);return s==="present"||await Ve(e,r)?s:"error"}async function Ir(e,t){if(!Dk(e))return"absent";let n=await Ke(e);return n?jk(n,t)?await Ve(e,n)?"removed":"error":"absent":"error"}var Ou=b(()=>{"use strict";$e()});import{existsSync as Co,readFileSync as Hk}from"node:fs";import{join as X}from"node:path";import Bk from"node:os";function Ce(){return Bk.homedir()}function Du(e){return e.version===void 0&&(e.version=1),e.version===1}function Uk(e,t,n){return Promise.all(e.map(r=>Ao(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function zk(e,t){return Promise.all(e.map(n=>Ir(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function _t(e,t){return{...e,installed:()=>e.files().some(n=>Ro(n,t)),ensure:n=>Uk(e.files(),t,n),remove:()=>zk(e.files(),t)}}function Gk(){return X(process.env.COPILOT_HOME||X(Ce(),".copilot"),"hooks","tokmizer.json")}function Wk(){let e=[X(Ce(),".trae","hooks.json")];return Co(X(Ce(),".trae-cn"))&&e.push(X(Ce(),".trae-cn","hooks.json")),e}function Vk(){return X(process.env.QWEN_HOME||X(Ce(),".qwen"),"settings.json")}function qk(){return X(process.env.XDG_CONFIG_HOME||X(Ce(),".config"),"crush","crush.json")}function Qk(){return X(Ce(),".junie","config.json")}function e0(e){return e.hooks===void 0&&(e.hooks={}),L(e.hooks)?(e.hooks.enabled===void 0&&(e.hooks.enabled=!0),e.hooks.events===void 0||L(e.hooks.events)):!1}function n0(){return X(Ce(),".zcode","cli","config.json")}function s0(){return X(Ce(),".grok","hooks","tokmizer.json")}function $o(){return X(Ce(),".factory")}function Pr(){return[{file:X($o(),"hooks.json"),spec:Oo},{file:X($o(),"hooks","hooks.json"),spec:Oo},{file:X($o(),"settings.json"),spec:i0}]}function Iu(e){try{let t=JSON.parse(Hk(e,"utf8"));return L(t)?t:null}catch{return null}}function Pu(e,t){let n=t?e?.hooks:e;return L(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function Nu(){let[e,t,n]=Pr(),r=Co(e.file)?e:Co(t.file)?t:null;return r&&Pu(Iu(r.file),!1)?r:Pu(Iu(n.file),!0)?n:r??e}var Jk,Zk,Kk,Yk,Xk,t0,r0,o0,Oo,i0,a0,Mu,Fu=b(()=>{"use strict";$e();Ou();Jk={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:Du};Zk={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:Du};Kk={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};Yk={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};Xk={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};t0={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:e0};r0={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};o0="tkr-droid-hook",Oo={mark:o0,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},i0={...Oo,nested:!0};a0={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[Nu().file],installed:()=>Pr().some(e=>Ro(e.file,e.spec)),ensure:async e=>{let t=Nu(),n=await Ao(t.file,t.spec,e);return n==="error"||await Promise.all(Pr().filter(r=>r.file!==t.file).map(r=>Ir(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Pr().map(t=>Ir(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},Mu=[_t({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:()=>[Gk()]},Jk),a0,_t({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Wk},Zk),_t({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Vk()]},Kk),_t({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[qk()]},Yk),_t({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Qk()]},Xk),_t({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[n0()]},t0),_t({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:()=>[s0()]},r0)]});function Lu(e){return l0.has(e)||(c0[e]?.installed()??!1)}function Nr(e){return null}function Dr(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&&Io.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!Lu(o)}}for(let o of ju)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!Lu(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}var ju,Io,l0,c0,Dn=b(()=>{"use strict";su();au();Eu();Fu();ju=[{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:[]}],Io=[...ju.map(e=>e.host),"shell"],l0=new Set(["claude-code","codex"]),c0={cursor:{installed:ru,setup:"tkr setup-cursor"},"gemini-cli":{installed:iu,setup:"tkr setup-gemini"},...Object.fromEntries(Su.map(e=>[e.host,{installed:()=>vu(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(Mu.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))}});import{existsSync as j1,realpathSync as u0}from"node:fs";import{basename as B1,delimiter as Hu,join as U1,dirname as z1}from"node:path";function Bu(e){try{return u0(e)}catch{return e}}function Uu(){let e=Er(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Bu(e),o=r.split(Hu).filter(i=>i&&i!==e&&Bu(i)!==s);return t[n]=o.join(Hu),n==="Path"&&(t.PATH=t[n]),t}var zu=b(()=>{"use strict";An();We();H();Dn();we();yo();we()});function Po(e){return JSON.stringify(e)+Mr}function*Gu(e){let t=0;for(;;){let n=e.indexOf(Mr,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function Mn(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}var f0,d0,m0,p0,eC,tC,nC,Ju,Mr,rC,Zu=b(()=>{"use strict";pt();fn();f0=h.object({id:h.string().min(1).max(64),op:h.literal("filter"),cmd:h.string().min(1).max(2048),plan:h.enum(["trial","smart","pro"]),allowed:h.array(h.string().min(1).max(64)).max(512).optional(),installId:h.string().min(1).max(64).optional()}),d0=h.object({id:h.string().min(1).max(64),op:h.literal("ping")}),m0=h.object({id:h.string().min(1).max(64),op:h.literal("shutdown"),installId:h.string().min(1).max(64)}),p0=h.object({id:h.string().min(1).max(64),op:h.literal("reload"),installId:h.string().min(1).max(64).optional()}),eC=h.discriminatedUnion("op",[f0,d0,m0,p0]),tC=h.object({id:h.string(),ok:h.literal(!0),data:h.unknown()}),nC=h.object({id:h.string(),ok:h.literal(!1),err:h.string(),retryAfterMs:h.number().int().nonnegative().optional()}),Ju=h.object({filter:ze.nullable(),cacheHit:h.boolean().optional()}),Mr=`
96
+ `,rC=64*1024});import{createConnection as h0}from"node:net";import{spawn as g0}from"node:child_process";import{existsSync as Vu,openSync as No,closeSync as Wu,unlinkSync as Mo,writeFileSync as Fo,mkdirSync as Lo,readFileSync as y0,appendFileSync as b0,rmSync as k0,statSync as _0}from"node:fs";import{dirname as w0,join as jo}from"node:path";import{fileURLToPath as x0}from"node:url";function Ho(){return jo(S(),"daemon.spawn.fail")}function Bo(){return jo(S(),"daemon.log")}function T0(){try{let e=Number(y0(Ho(),"utf8"));return Number.isFinite(e)&&Date.now()-e<v0}catch{return!1}}function R0(e){try{Lo(S(),{recursive:!0});let t=Bo();try{_0(t).size>E0&&Mo(t)}catch{}b0(t,`${new Date().toISOString()} ${e}
97
+ `)}catch{}}function A0(e){try{Lo(S(),{recursive:!0}),Fo(Ho(),String(Date.now()))}catch{}R0(`spawn failed: ${e.message}`)}function $0(){try{k0(Ho(),{force:!0})}catch{}}async function Fr(e,t){return new Promise((n,r)=>{let s=h0(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 C0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:x0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Do(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 Fr(e,75)).destroy(),!0}catch{}else if(Vu(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}async function O0(e){let t=C0();if(!Ae()&&!Vu(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=kt(),r=process.platform==="win32"?S():w0(n);try{Lo(r,{recursive:!0})}catch{}let s=jo(r,"daemon.spawn.lock"),o=null;try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(await Do(n,5e3))return;try{Mo(s)}catch{}try{o=No(s,"wx"),Fo(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Do(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=No(Bo(),"a")}catch{}let[a,...l]=$n(t);if(g0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Wu(i)}catch{}if(!await Do(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Wu(o)}catch{}try{Mo(s)}catch{}}}}async function I0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao();try{let r=await Fr(t,Yu);r.write(Po({id:Mn(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function P0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Fr(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function Uo(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:kt(),n=await ao(),r=null,s=0,o=!1;for(;s<=Ku;)try{r=await Fr(t,Yu),$0();break}catch{if(s+=1,s>Ku)throw new Error(`tkr-daemon unreachable at ${t}`);if(T0())throw new Error(`tkr-daemon spawn on cooldown (see ${Bo()})`);await Ks();try{await O0(n),o=!0}catch(u){throw A0(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]===Mr&&(f=m);if(f<0)return;let d=[];for(let m of Gu(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let p=JSON.parse(m),k=i.get(p.id);if(!k)continue;clearTimeout(k.timer),i.delete(p.id),k.resolve(p)}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})`))},S0);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Po(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:Mn(),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 p=Ju.safeParse(m.data);return p.success?p.data.filter:null},ping:async()=>{let u=await l({id:Mn(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:Mn(),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&&Ki(pe,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==pe}catch(f){throw c.close(),f}if(u){try{await I0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await P0(t,2e3);if(await Ks(),!f)throw new Error("stale daemon still running after shutdown request");return Uo({...e,skipVersionCheck:!0})}}return c}var Yu,S0,Ku,v0,E0,qu=b(()=>{"use strict";Zu();Vs();H();We();lo();It();Yu=500,S0=3e3,Ku=1,v0=6e4,E0=256*1024});async function N0(){if(Zt)return Zt;if(Fn)return Fn;let e=Uo().then(t=>{if(Fn===e)return Zt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return Fn=e,e}async function D0(){return Jo||(Jo=!0,zo=await Xn()??Ft()),zo}async function Xu(e,t,n){let r=await D0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(le(s.slug))?null:s}function M0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function Lr(e){Zs(async(t,n)=>{let r=e==="free"?"trial":e,s=n??Lt(void 0),o=await N0();if(!o)return Xu(t,r,s);try{let i=await o.filter(t,r,s?[...s]:void 0);return!i||s&&!s.has(le(i.slug))?null:M0(i)}catch{return Xu(t,r,s)}})}function jr(){if(Zs(null),Zt)try{Zt.close()}catch{}Zt=null,Fn=null,zo=null,Jo=!1}var Zt,Fn,zo,Jo,Go=b(()=>{"use strict";qu();vn();Je();yn();jt();Zt=null,Fn=null;zo=null,Jo=!1});import{chmod as F0,mkdir as L0,readFile as EC,writeFile as Qu,stat as TC,readdir as RC,rm as ef,rename as j0}from"node:fs/promises";import{readFileSync as H0}from"node:fs";import{createHash as B0}from"node:crypto";function Z0(){try{let e=JSON.parse(H0(Wi(),"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 W0(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function K0(e){return`${ds(e)}${G0}`}function V0(e){return e===""?[]:(e.endsWith(`
98
98
  `)?e.slice(0,-1):e).split(`
99
- `)}async function G0(e,t,n=process.env,r={}){if(_e()||!j0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>U0("TOKMIZER_CCR_ENTRY_MAX_BYTES",L0,n))return!1;let o=ds(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await P0(fs(),{recursive:!0}),_e())return!1;if(await Qu(i,t,{mode:384}),await I0(i,384),_e())return await ef(i,{force:!0}),!1;await N0(i,o)}catch{try{await ef(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:J0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Qu(z0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function tf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||_e()||B0().disabled===!0}async function Zo(e,t,n,r){let s=M0("sha256").update(e).digest("hex").slice(0,16);return await G0(s,e,r,{partial:t,label:n})?s:null}async function Ln(e,t,n=process.env,r={}){if(tf(n)||!e)return t;let s=i=>`
99
+ `)}async function Y0(e,t,n=process.env,r={}){if(_e()||!J0.test(e))return!1;let s=Buffer.byteLength(t,"utf8");if(s>W0("TOKMIZER_CCR_ENTRY_MAX_BYTES",z0,n))return!1;let o=ds(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await L0(fs(),{recursive:!0}),_e())return!1;if(await Qu(i,t,{mode:384}),await F0(i,384),_e())return await ef(i,{force:!0}),!1;await j0(i,o)}catch{try{await ef(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:V0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{}};try{await Qu(K0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function tf(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||_e()||Z0().disabled===!0}async function Zo(e,t,n,r){let s=B0("sha256").update(e).digest("hex").slice(0,16);return await Y0(s,e,r,{partial:t,label:n})?s:null}async function Ln(e,t,n=process.env,r={}){if(tf(n)||!e)return t;let s=i=>`
100
100
  [tkr restore ${i}]`;if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let i=await Zo(r.raw,!1,r.label,n);if(i)return`${t}${s(i)}`}let o=await Zo(e,!0,r.label,n);return o?`${t}${s(o)}`:t}async function Hr(e,t,n=process.env,r={}){if(tf(n)||!e)return t;let s=await Zo(e,!1,r.label,n);return s?`${t}
101
- [tkr restore ${s}]`:t}var F0,AC,$C,L0,j0,H0,CC,Ko=k(()=>{"use strict";j();Tn();F0=1440*60*1e3,AC=30*F0,$C=200*1024*1024,L0=8*1024*1024,j0=/^[0-9a-f]{8,64}$/i,H0=".meta",CC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
102
- `)});var af={};on(af,{CAPTURING_ENV:()=>Vo,kickBackgroundEnroll:()=>Br,processCapturedOutput:()=>Ur,resolveExecTimeoutMs:()=>sf,runWrapped:()=>r_,signalNumber:()=>of,underCapturingExec:()=>e_});import{existsSync as Z0,readFileSync as K0,writeFileSync as W0,mkdirSync as V0}from"node:fs";import{join as Y0}from"node:path";import{fileURLToPath as q0}from"node:url";import{StringDecoder as X0}from"node:string_decoder";function e_(e=process.env){return e[Vo]==="1"}function rf(e,t){let n=new X0("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Br(){try{if(!hn())return;let e=process.env.TOKMIZER_TKR_BIN||q0(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!Z0(e))return;let t=Y0(x(),"enroll-kick");try{let o=Number(K0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<Q0)return}catch{}V0(x(),{recursive:!0}),W0(t,String(Date.now()));let[n,...r]=$n(e);(0,Wo.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function sf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function of(e){return n_[e]??15}async function r_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=_e(),s=(0,Wo.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Uu(),[Vo]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,m=!1,p=!1;s.stdout?.on("data",E=>{if(f>=Kt){m=!0;return}let I=Kt-f,M=E.length>I?E.subarray(0,I):E;c.push(M),f+=M.length,E.length>I&&(m=!0)}),s.stderr?.on("data",E=>{if(d>=Kt){p=!0;return}let I=Kt-d,M=E.length>I?E.subarray(0,I):E;u.push(M),d+=M.length,E.length>I&&(p=!0)});let b,g,T;try{T=await new Promise((E,I)=>{s.on("error",M=>{b&&clearTimeout(b),o?E(1):I(M)}),s.on("close",(M,L)=>{b&&clearTimeout(b),E(M??(L?128+of(L):0))}),b=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},t_),b.unref?.()})}finally{b&&clearTimeout(b),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let v=rf(c,m),R=rf(u,p);return Ur({argv:e,stdout:v,stderr:R,exitCode:T,truncated:m,stderrTruncated:p},{yolo:r,env:process.env,onMissingState:Br})}async function Ur({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
103
- \u2026 (output truncated at ${Kt/1048576}MB)`:"",m=o?`
104
- \u2026 (stderr truncated at ${Kt/(1024*1024)}MB)`:"",p=()=>{let b=t+d,g=Buffer.byteLength(b,"utf8");return{stdout:b,stderr:n+m,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let b=await ht();b||c?.();let g=await Me();if(!g.enabled)return p();let T=a.CLAUDE_CODE_SESSION_ID;T&&b?.token&&vr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let v=b?hr(b):null,R=b?Lt(b.allowedFilters,pr(b)):null,E=new Set(g.filters.disabled.map(le)),I=R&&E.size>0?new Set([...R].filter(K=>!E.has(K))):R,M=e.join(" ");b&&!l&&Lr(v);let L=await Ke(M,t,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=n,D=0,Z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:nf)){let K=await Ke(M,n,I,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});z=K.output,D=K.rawBytes,Z=K.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=nf){let K=await Ke(M,n,I,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(K.failureSummary){try{z=await Ln(K.droppedTail??null,K.output,a)}catch{z=K.output}D=K.rawBytes,Z=K.filteredBytes}}let V=L.output;if(!i&&L.filteredBytes<L.rawBytes)try{V=new RegExp(nr.source,"m").test(L.output)?await Hr(t,L.output,a,{label:zt(M)}):await Ln(L.droppedTail??null,L.output,a,{raw:s?null:t,label:zt(M)})}catch{}let Se=V+d,ue=z+m,U=Dr(a).host,J=Sr(L.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Se,"utf8")+Buffer.byteLength(ue,"utf8"),Nr(U)),G=!1,W=async()=>{if(!G){G=!0;try{wr(J.raw,J.filtered,void 0,!1,U,"sh",zt(M),"cwd"in f?f.cwd:process.cwd(),xr(L)),await kr({cmd:M,filterId:L.filterId,rawBytes:L.rawBytes,filteredBytes:L.filteredBytes,plan:v}),await yr({cmd:M,tokensSaved:Math.max(0,Math.round((J.raw-J.filtered)/4)),rawTokens:Math.round(J.raw/4),optimized:L.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Me()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return u?u(W):await W(),{stdout:Se,stderr:ue,code:r,filterId:L.filterId,rawBytes:L.rawBytes+D,filteredBytes:L.filteredBytes+Z,truncated:s}}catch{return p()}finally{l||jr()}}var Wo,Kt,nf,Q0,Vo,t_,n_,Yo=k(()=>{"use strict";Wo=hd(bc(),1);vn();Ge();jt();pn();j();oo();fo();br();po();ho();Ut();Dn();zu();Go();Ko();Dt();Tn();We();gn();Kt=10*1024*1024,nf=1024,Q0=6e4,Vo="TOKMIZER_EXEC_CAPTURING";t_=sf(process.env),n_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var ui={};on(ui,{FOLD_MARKER_RE:()=>nr,captureForRestore:()=>Ln,captureOriginalForRestore:()=>Hr,closeDaemonResolver:()=>jr,countedSaving:()=>Sr,gatingPlan:()=>hr,graceExceeded:()=>pr,installDaemonResolver:()=>Lr,loadSettingsCache:()=>Me,processOutput:()=>Ke,recordEvent:()=>kr,recordStat:()=>wr,recordTelemetry:()=>yr,resolveAllowedFilters:()=>Lt,statCmdLabel:()=>zt,statOutcome:()=>xr});var fi=k(()=>{"use strict";vn();Ko();Dt();jt();oo();fo();br();po();Go();Ut()});yn();vn();jt();import{mkdirSync as kS,readFileSync as xi,realpathSync as _S,rmSync as ts,writeFileSync as wS}from"node:fs";import{join as _i}from"node:path";Vs();j();It();import{randomBytes as uS,randomUUID as nd}from"node:crypto";import{lstatSync as fS,mkdirSync as dS,realpathSync as mS,renameSync as pS,rmSync as hS,writeFileSync as gS}from"node:fs";import{dirname as yS,join as es}from"node:path";pt();yn();j();Tn();Yo();import{timingSafeEqual as yi}from"node:crypto";import{chmodSync as tS,lstatSync as nS,realpathSync as rS}from"node:fs";import{dirname as sS}from"node:path";import{createServer as oS}from"node:net";import{existsSync as Gr,readFileSync as ti,readdirSync as ni}from"node:fs";import{homedir as Vt}from"node:os";import{fileURLToPath as V_}from"node:url";import{dirname as Sf,join as B,resolve as Y_}from"node:path";j();import{appendFileSync as l_,chmodSync as c_,mkdirSync as u_,existsSync as f_,readFileSync as sO,rmSync as oO}from"node:fs";import{dirname as d_,join as m_}from"node:path";import{readFileSync as s_,renameSync as o_,statSync as i_,writeFileSync as a_}from"node:fs";function lf(e,t,n){try{if(i_(e).size<=t)return;let r=s_(e,"utf8").split(`
105
- `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],c=Buffer.byteLength(l)+1;if(o+c>n)break;s.push(l),o+=c}s.reverse();let i=`${e}.tmp-${process.pid}`;a_(i,s.length?`${s.join(`
101
+ [tkr restore ${s}]`:t}var U0,IC,PC,z0,J0,G0,NC,Wo=b(()=>{"use strict";H();Tn();U0=1440*60*1e3,IC=30*U0,PC=200*1024*1024,z0=8*1024*1024,J0=/^[0-9a-f]{8,64}$/i,G0=".meta",NC=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list"," tkr restore --grep <pattern>",""].join(`
102
+ `)});var af={};on(af,{CAPTURING_ENV:()=>Vo,kickBackgroundEnroll:()=>Br,processCapturedOutput:()=>Ur,resolveExecTimeoutMs:()=>sf,runWrapped:()=>l_,signalNumber:()=>of,underCapturingExec:()=>o_});import{existsSync as q0,readFileSync as X0,writeFileSync as Q0,mkdirSync as e_}from"node:fs";import{join as t_}from"node:path";import{fileURLToPath as n_}from"node:url";import{StringDecoder as r_}from"node:string_decoder";function o_(e=process.env){return e[Vo]==="1"}function rf(e,t){let n=new r_("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function Br(){try{if(!hn())return;let e=process.env.TOKMIZER_TKR_BIN||n_(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!q0(e))return;let t=t_(S(),"enroll-kick");try{let o=Number(X0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<s_)return}catch{}e_(S(),{recursive:!0}),Q0(t,String(Date.now()));let[n,...r]=$n(e);(0,Ko.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore"}).unref()}catch{}}function sf(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}function of(e){return a_[e]??15}async function l_(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=_e(),s=(0,Ko.default)(t,n,{stdio:["inherit","pipe","pipe"],env:{...Uu(),[Vo]:"1"}}),o=!1;s.on("spawn",()=>{o=!0});let i=E=>{try{s.kill(E)}catch{}},a=()=>i("SIGINT"),l=()=>i("SIGTERM");process.on("SIGINT",a),process.on("SIGTERM",l);let c=[],u=[],f=0,d=0,m=!1,p=!1;s.stdout?.on("data",E=>{if(f>=Wt){m=!0;return}let O=Wt-f,N=E.length>O?E.subarray(0,O):E;c.push(N),f+=N.length,E.length>O&&(m=!0)}),s.stderr?.on("data",E=>{if(d>=Wt){p=!0;return}let O=Wt-d,N=E.length>O?E.subarray(0,O):E;u.push(N),d+=N.length,E.length>O&&(p=!0)});let k,g,T;try{T=await new Promise((E,O)=>{s.on("error",N=>{k&&clearTimeout(k),o?E(1):O(N)}),s.on("close",(N,F)=>{k&&clearTimeout(k),E(N??(F?128+of(F):0))}),k=setTimeout(()=>{s.kill("SIGTERM"),g=setTimeout(()=>s.kill("SIGKILL"),2e3)},i_),k.unref?.()})}finally{k&&clearTimeout(k),g&&clearTimeout(g),process.off("SIGINT",a),process.off("SIGTERM",l)}let x=rf(c,m),C=rf(u,p);return Ur({argv:e,stdout:x,stderr:C,exitCode:T,truncated:m,stderrTruncated:p},{yolo:r,env:process.env,onMissingState:Br})}async function Ur({argv:e,stdout:t,stderr:n,exitCode:r,truncated:s,stderrTruncated:o},{yolo:i,env:a,resolver:l,onMissingState:c,deferAccounting:u,...f}){let d=s?`
103
+ \u2026 (output truncated at ${Wt/1048576}MB)`:"",m=o?`
104
+ \u2026 (stderr truncated at ${Wt/(1024*1024)}MB)`:"",p=()=>{let k=t+d,g=Buffer.byteLength(k,"utf8");return{stdout:k,stderr:n+m,code:r,filterId:null,rawBytes:g,filteredBytes:g,truncated:s}};try{let k=await ht();k||c?.();let g=await Me();if(!g.enabled)return p();let T=a.CLAUDE_CODE_SESSION_ID;T&&k?.token&&vr(T,{tool:"Bash",target:e.join(" "),...r!==0?{fail:1}:{}});let x=k?hr(k):null,C=k?Lt(k.allowedFilters,pr(k)):null,E=new Set(g.filters.disabled.map(le)),O=C&&E.size>0?new Set([...C].filter(W=>!E.has(W))):C,N=e.join(" ");k&&!l&&Lr(x);let F=await Ze(N,t,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r}),z=n,M=0,Z=0;if((i||r===0)&&Buffer.byteLength(n,"utf8")>=(i?1:nf)){let W=await Ze(N,n,O,{verbosity:g.outputVerbosity,resolver:l,yolo:i,exitCode:r});z=W.output,M=W.rawBytes,Z=W.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=nf){let W=await Ze(N,n,O,{verbosity:g.outputVerbosity,resolver:l,exitCode:r});if(W.failureSummary){try{z=await Ln(W.droppedTail??null,W.output,a)}catch{z=W.output}M=W.rawBytes,Z=W.filteredBytes}}let V=F.output;if(!i&&F.filteredBytes<F.rawBytes)try{V=new RegExp(nr.source,"m").test(F.output)?await Hr(t,F.output,a,{label:zt(N)}):await Ln(F.droppedTail??null,F.output,a,{raw:s?null:t,label:zt(N)})}catch{}let Se=V+d,ue=z+m,U=Dr(a).host,J=Sr(F.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(Se,"utf8")+Buffer.byteLength(ue,"utf8"),Nr(U)),G=!1,K=async()=>{if(!G){G=!0;try{wr(J.raw,J.filtered,void 0,!1,U,"sh",zt(N),"cwd"in f?f.cwd:process.cwd(),xr(F)),await kr({cmd:N,filterId:F.filterId,rawBytes:F.rawBytes,filteredBytes:F.filteredBytes,plan:x}),await yr({cmd:N,tokensSaved:Math.max(0,Math.round((J.raw-J.filtered)/4)),rawTokens:Math.round(J.raw/4),optimized:F.filterId!=null,telemetryOptIn:g.telemetryOptIn&&(!u||(await Me()).telemetryOptIn),sessionId:T,host:U})}catch{}}};return u?u(K):await K(),{stdout:Se,stderr:ue,code:r,filterId:F.filterId,rawBytes:F.rawBytes+M,filteredBytes:F.filteredBytes+Z,truncated:s}}catch{return p()}finally{l||jr()}}var Ko,Wt,nf,s_,Vo,i_,a_,Yo=b(()=>{"use strict";Ko=_d(bc(),1);vn();Je();jt();pn();H();oo();fo();br();po();ho();Ut();Dn();zu();Go();Wo();Dt();Tn();We();gn();Wt=10*1024*1024,nf=1024,s_=6e4,Vo="TOKMIZER_EXEC_CAPTURING";i_=sf(process.env),a_={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15}});var ui={};on(ui,{FOLD_MARKER_RE:()=>nr,captureForRestore:()=>Ln,captureOriginalForRestore:()=>Hr,closeDaemonResolver:()=>jr,countedSaving:()=>Sr,gatingPlan:()=>hr,graceExceeded:()=>pr,installDaemonResolver:()=>Lr,loadSettingsCache:()=>Me,processOutput:()=>Ze,recordEvent:()=>kr,recordStat:()=>wr,recordTelemetry:()=>yr,resolveAllowedFilters:()=>Lt,statCmdLabel:()=>zt,statOutcome:()=>xr});var fi=b(()=>{"use strict";vn();Wo();Dt();jt();oo();fo();br();po();Go();Ut()});yn();vn();jt();import{mkdirSync as SS,readFileSync as xi,realpathSync as vS,rmSync as ts,writeFileSync as ES}from"node:fs";import{join as _i}from"node:path";Vs();H();It();import{randomBytes as pS,randomUUID as ad}from"node:crypto";import{lstatSync as hS,mkdirSync as gS,realpathSync as yS,renameSync as bS,rmSync as kS,writeFileSync as _S}from"node:fs";import{dirname as wS,join as es}from"node:path";pt();yn();H();Tn();Yo();import{timingSafeEqual as yi}from"node:crypto";import{chmodSync as oS,lstatSync as iS,realpathSync as aS}from"node:fs";import{dirname as lS}from"node:path";import{createServer as cS}from"node:net";import{existsSync as Gr,readFileSync as ti,readdirSync as ni}from"node:fs";import{homedir as Vt}from"node:os";import{fileURLToPath as ew}from"node:url";import{dirname as Sf,join as j,resolve as tw}from"node:path";H();import{appendFileSync as m_,chmodSync as p_,mkdirSync as h_,existsSync as g_,readFileSync as lO,rmSync as cO}from"node:fs";import{dirname as y_,join as b_}from"node:path";import{readFileSync as c_,renameSync as u_,statSync as f_,writeFileSync as d_}from"node:fs";function lf(e,t,n){try{if(f_(e).size<=t)return;let r=c_(e,"utf8").split(`
105
+ `).filter(a=>a.trim()!==""),s=[],o=0;for(let a=r.length-1;a>=0;a-=1){let l=r[a],c=Buffer.byteLength(l)+1;if(o+c>n)break;s.push(l),o+=c}s.reverse();let i=`${e}.tmp-${process.pid}`;d_(i,s.length?`${s.join(`
106
106
  `)}
107
- `:"",{mode:384}),o_(i,e)}catch{}}var p_="usage.jsonl";var cf=2*1024*1024;function h_(){return m_(x(),p_)}function se(e,t,n=h_()){try{let r=d_(n);f_(r)||u_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";l_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
108
- `,{mode:384}),c_(n,384),lf(n,cf,cf/2)}catch{}}We();j();import{execFileSync as M_}from"node:child_process";import{mkdirSync as F_,readFileSync as pf,renameSync as L_,statSync as j_,writeFileSync as H_}from"node:fs";import{join as hf}from"node:path";import{closeSync as g_,openSync as y_,readSync as b_,readdirSync as k_,readFileSync as __,statSync as ff}from"node:fs";import{homedir as w_}from"node:os";import{isAbsolute as x_,join as zr,resolve as S_}from"node:path";var v_=/^[A-Za-z0-9._+@%:,/-]+$/,E_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),T_=32,R_=4*1024*1024;function Xo(e){let t;try{t=y_(e,"r");let n=Buffer.alloc(4),r=b_(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&g_(t)}}function jn(e,t=process.platform){try{let n=ff(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=Xo(e);return r==="#!"||r!==null&&E_.has(r)}catch{return!1}}function A_(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function Wt(e,t,n,r=process.platform){if(!v_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return jn(S_(t??process.cwd(),e),r);if(!n)return!1;let o=s?A_(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!x_(i))){for(let a of o)if(jn(zr(i,a),r))return!0}return!1}var $_=/^eval \$'([^\s'()=]+) \(\) /,C_=/^([^\s'"()=]+) \(\) \{$/,O_=/^alias -- ([^\s=]+)=(.*)$/,I_=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,P_=/^export PATH=(.*)$/,N_=/^(?:--colou?r(?:=\S+)?|-G)$/;function uf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function D_(e,t){let n="";for(let r of e.split(`
109
- `)){let s=P_.exec(r);if(s&&n!=="# Functions"){let o=uf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||I_.test(r))){n=r;continue}if(n==="# Functions"){let o=$_.exec(r)??C_.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=O_.exec(r);o&&t.aliases.set(o[1],uf(o[2].trim()))}}}function qo(e){return e?.code==="ENOENT"}function df(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=zr(e||zr(w_(),".claude"),"shell-snapshots"),r=[];try{for(let s of k_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=zr(n,s);try{let i=ff(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){qo(i)||(t.uncertain=!0)}}}catch(s){return qo(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,T_);for(let s of r)try{if(s.size>R_)throw new Error("snapshot too large");D_(__(s.path,"utf8"),t)}catch(o){qo(o)||(t.uncertain=!0)}return t}function mf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>N_.test(s))}var B_="exec-probe.json",U_=6e4;function z_(){return hf(x(),B_)}function J_(e){try{let t=JSON.parse(pf(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function G_(e,t){try{F_(hf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;H_(n,JSON.stringify(t),{mode:384}),L_(n,e)}catch{}}function Z_(e){try{return M_(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function K_(e,t){try{let r=pf(e,"utf8").split(`
110
- `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?Wt(r[1]??"",void 0,t):jn(s)}catch{return!1}}function W_(e,t,n){try{let r=j_(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function Qo(e,t=process.platform,n=process.env.PATH,r=z_(),s=Date.now()){let o=t!=="win32"&&Xo(e)==="#!",i=W_(e,o,n),a=J_(r);if(a?.key===i&&(a.ok||s-a.at<U_))return a.ok;let l=jn(e,t)&&(o?K_(e,n):Z_(e));return G_(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var q_=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),X_=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),gf=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),yf="(?:dev|start|serve|watch|preview)",Q_=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),ew=/(?:^|\s)--watch(?:\s|=|$)/;function tw(e){return Q_.test(e)&&!ew.test(e)}var nw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,rw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,vf=3;function Ef(e){let t=nw.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&rw.test(a)?null:{script:a,start:s,end:o,quote:r}}var sw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function ow(e){return Yt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Rf(n.text);return r!==""&&!sw.has(r)&&!ri.test(r)}).length>1}function iw(e,t,n,r,s){if(n>=vf)return null;let o=Ef(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Af(i,t,n+1,r,b=>u.push(b));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,m=`${e.slice(0,a)}${d}${e.slice(l)}`,p=ow(i);if(s)for(let b of p?[e,...u]:u)s(b);return p?`${t} ${m}`:m}var bf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,aw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function lw(e,t){let n=Zr(t);return n==="tail"||n==="journalctl"?bf.test(e):n==="stern"?!0:aw.has(n)?/\blogs?\b/.test(e)&&bf.test(e):!1}var ri=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,cw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,uw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function Zr(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Tf(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function kf(e){let t=Tf(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Yt(e){let t=Tf(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.replace(/\s+$/,""),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
111
- `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Rf(e){return e.trim().split(/\s+/)[0]??""}function xe(e,t=process.platform){try{let n=Sf(V_(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=B(n,"..","bin","tkr-exec.exe");if(Gr(a))return Qo(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=B(n,"..","bin","tkr-exec");if(!r&&Gr(o))return Qo(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if(Ae()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=B(n,"..","bin","tkr-exec.js");return Gr(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function si(e,t="tkr-exec",n=()=>!0,r){return Af(e,t,0,n,r)}function Af(e,t,n,r,s){if(e.includes("<<")||uw.test(e))return e;let o=Yt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let c=l.text.trim();if(!c){i.push(l.text);continue}let u=Rf(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),m=f?.kind==="sep"&&f.text==="&",p=!d&&!m&&!kf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?iw(c,t,n,r,s):null;if(p!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${p}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||q_.has(u)||X_.has(u)||(gf.has(u)||gf.has(Zr(u)))&&!tw(c)||ri.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||cw.test(c)||lw(c,u)||u.endsWith(")")||d||m||kf(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let b=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${b}${t} ${c}${g}`)}return i.join("")}var fw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),dw=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),mw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),pw={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},Jr=["test","run test","run build","run lint","run typecheck"],hw={npm:new Set(Jr),pnpm:new Set([...Jr,"build","lint","typecheck"]),yarn:new Set([...Jr,"build","lint","typecheck"]),bun:new Set(Jr),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},gw=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function $f(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of Yt(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<vf?Ef(r.text.trim()):null;if(s){if(!$f(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(c=>c.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(c=>ri.test(c)))return!1;let i=Zr(o[0]);if(i!==o[0])return!1;let a=pw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?mw.has(o[1]??""):dw.has(i))||t&&gw.has(i))continue;let l=t?hw[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Cf(e,t,n=xe(t),r=se,s=Wr(),o=process.env.PATH){if(!oe(e)||e.tool_name!=="Bash")return null;let i=e.tool_input;if(!oe(i)||i.run_in_background)return null;let a=i.command;if(typeof a!="string"||!a||t==="codex"&&Object.keys(i).some(m=>!fw.has(m)))return null;let l=typeof e.cwd=="string"&&e.cwd?e.cwd:i.workdir,c=typeof l=="string"&&l?l:void 0,u=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",f=typeof e.permission_mode=="string"?e.permission_mode:void 0,d=Fe(a,{host:t,sessionId:u,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:f},n,r);return d?JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:{...i,command:d}}:{hookEventName:"PreToolUse",updatedInput:{...i,command:d}}}):null}function yw(e,t){if(!Gr(e))return"missing";try{let n=ti(e,"utf8");return JSON.parse(t?Of(n):n)}catch{return"unreadable"}}function Of(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
107
+ `:"",{mode:384}),u_(i,e)}catch{}}var k_="usage.jsonl";var cf=2*1024*1024;function __(){return b_(S(),k_)}function se(e,t,n=__()){try{let r=y_(n);g_(r)||h_(r,{recursive:!0,mode:448});let s=e.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64)||"unknown";m_(n,`{"t":${Math.floor(Date.now()/1e3)},"s":"${s}","o":${t?1:0}}
108
+ `,{mode:384}),p_(n,384),lf(n,cf,cf/2)}catch{}}We();H();import{execFileSync as B_}from"node:child_process";import{mkdirSync as U_,readFileSync as pf,renameSync as z_,statSync as J_,writeFileSync as G_}from"node:fs";import{join as hf}from"node:path";import{closeSync as w_,openSync as x_,readSync as S_,readdirSync as v_,readFileSync as E_,statSync as ff}from"node:fs";import{homedir as T_}from"node:os";import{isAbsolute as R_,join as zr,resolve as A_}from"node:path";var $_=/^[A-Za-z0-9._+@%:,/-]+$/,C_=new Set(["7f454c46","feedface","feedfacf","cefaedfe","cffaedfe","cafebabe","bebafeca"]),O_=32,I_=4*1024*1024;function Xo(e){let t;try{t=x_(e,"r");let n=Buffer.alloc(4),r=S_(t,n,0,4,0);return r>=2&&n[0]===35&&n[1]===33?"#!":r===4?n.toString("hex"):null}catch{return null}finally{t!==void 0&&w_(t)}}function jn(e,t=process.platform){try{let n=ff(e);if(!n.isFile())return!1;if(t==="win32")return!0;if((n.mode&73)===0)return!1;let r=Xo(e);return r==="#!"||r!==null&&C_.has(r)}catch{return!1}}function P_(e){if(/\.[A-Za-z0-9]+$/.test(e))return[e];let t=(process.env.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);return[e,...t.map(n=>e+n.toLowerCase())]}function Kt(e,t,n,r=process.platform){if(!$_.test(e))return!1;let s=r==="win32";if(e.includes("/"))return jn(A_(t??process.cwd(),e),r);if(!n)return!1;let o=s?P_(e):[e];for(let i of n.split(s?";":":"))if(!(!i||!R_(i))){for(let a of o)if(jn(zr(i,a),r))return!0}return!1}var N_=/^eval \$'([^\s'()=]+) \(\) /,D_=/^([^\s'"()=]+) \(\) \{$/,M_=/^alias -- ([^\s=]+)=(.*)$/,F_=/^# (?:Shell Options|Aliases|Shopt|Check for |Shadow )/,L_=/^export PATH=(.*)$/,j_=/^(?:--colou?r(?:=\S+)?|-G)$/;function uf(e){return e.length>=2&&e.startsWith("'")&&e.endsWith("'")?e.slice(1,-1).replace(/'\\''/g,"'"):e.length>=2&&e.startsWith('"')&&e.endsWith('"')?e.slice(1,-1):e}function H_(e,t){let n="";for(let r of e.split(`
109
+ `)){let s=L_.exec(r);if(s&&n!=="# Functions"){let o=uf(s[1].trim());/[$`\\]/.test(o)||t.paths.push(o);continue}if(r.startsWith("# ")&&(n!=="# Functions"||F_.test(r))){n=r;continue}if(n==="# Functions"){let o=N_.exec(r)??D_.exec(r);o&&t.functions.add(o[1])}else if(n==="# Aliases"){let o=M_.exec(r);o&&t.aliases.set(o[1],uf(o[2].trim()))}}}function qo(e){return e?.code==="ENOENT"}function df(e){let t={functions:new Set,aliases:new Map,paths:[],uncertain:!1},n=zr(e||zr(T_(),".claude"),"shell-snapshots"),r=[];try{for(let s of v_(n)){if(!s.startsWith("snapshot-")||!s.endsWith(".sh"))continue;let o=zr(n,s);try{let i=ff(o);i.isFile()&&r.push({path:o,mtime:i.mtimeMs,size:i.size})}catch(i){qo(i)||(t.uncertain=!0)}}}catch(s){return qo(s)||(t.uncertain=!0),t}r=r.sort((s,o)=>o.mtime-s.mtime).slice(0,O_);for(let s of r)try{if(s.size>I_)throw new Error("snapshot too large");H_(E_(s.path,"utf8"),t)}catch(o){qo(o)||(t.uncertain=!0)}return t}function mf(e,t){if(t.uncertain||t.functions.has(e))return!0;let n=t.aliases.get(e);if(n===void 0)return!1;let r=n.trim().split(/\s+/);return r[0]!==e||!r.slice(1).every(s=>j_.test(s))}var Z_="exec-probe.json",W_=6e4;function K_(){return hf(S(),Z_)}function V_(e){try{let t=JSON.parse(pf(e,"utf8"));if(t==null||typeof t!="object")return null;let n=t;return typeof n.key!="string"||typeof n.ok!="boolean"?null:{key:n.key,ok:n.ok,at:typeof n.at=="number"?n.at:0,skipped:typeof n.skipped=="number"&&n.skipped>=0?n.skipped:0}}catch{return null}}function Y_(e,t){try{U_(hf(e,".."),{recursive:!0,mode:448});let n=`${e}.${process.pid}.tmp`;G_(n,JSON.stringify(t),{mode:384}),z_(n,e)}catch{}}function q_(e){try{return B_(e,["--native-check"],{encoding:"utf8",timeout:2e3,maxBuffer:1024,stdio:["ignore","pipe","ignore"],windowsHide:!0}).startsWith("tokmizer-native ")}catch{return!1}}function X_(e,t){try{let r=pf(e,"utf8").split(`
110
+ `,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?Kt(r[1]??"",void 0,t):jn(s)}catch{return!1}}function Q_(e,t,n){try{let r=J_(e);return[e,r.size,r.mtimeMs,r.ino,r.mode,t?n??"":""].join("|")}catch{return`${e}|missing`}}function Qo(e,t=process.platform,n=process.env.PATH,r=K_(),s=Date.now()){let o=t!=="win32"&&Xo(e)==="#!",i=Q_(e,o,n),a=V_(r);if(a?.key===i&&(a.ok||s-a.at<W_))return a.ok;let l=jn(e,t)&&(o?X_(e,n):q_(e));return Y_(r,{key:i,ok:l,at:s,skipped:(a?.skipped??0)+(l?0:1)}),l}var nw=new Set(["tkr","tkr-exec","token","claude","cd","export","source","echo","mkdir","rm","mv","cp","chmod","ln","true","false",":","test","[","exit","return","nohup","sudo","doas","env"]),rw=new Set(["for","while","until","if","then","else","elif","fi","do","done","case","esac","select","function","time","coproc","in","!","[[","]]","{","}",".","declare","typeset","local","readonly","unset","set","shift","trap","wait","read","eval","exec","break","continue","pushd","popd","dirs","alias","unalias","hash","ulimit","umask","getopts","let","shopt","builtin","command","compgen","complete","disown","suspend","jobs","fg","bg","kill","history","fc","bind","enable","caller","type","printf","pwd","times","logout","mapfile","readarray","help","which","print","whence","where","autoload","zmodload","setopt","unsetopt","emulate","noglob","rehash","functions","bindkey","zle","vared","sched","limit","unlimit","zstyle","zparseopts","ttyctl"]),gf=new Set(["sh","bash","zsh","dash","ksh","fish","python","python3","python2","node","ruby","perl","php","awk","sed","deno","bun"]),yf="(?:dev|start|serve|watch|preview)",sw=new RegExp(`^(?:\\S*/)?(?:bun\\s+(?:install|i|add|remove|rm|update|outdated|audit|test|build|pm|x)(?:\\s|$)|bun\\s+run\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|deno\\s+(?:test|lint|fmt|check|compile|install|info|doc|bench|outdated)(?:\\s|$)|deno\\s+task\\s+(?!${yf}(?:\\s|$))[A-Za-z0-9:_-]+(?:\\s|$)|php\\s+-l(?:\\s|$)|php\\s+(?:\\S*/)?(?:phpunit|pest|paratest|phpstan|pint|ecs|php-cs-fixer|psalm|rector|run-tests\\.php)(?:\\s|$)|php\\s+artisan\\s+(?!(?:serve|tinker|queue:work|queue:listen|horizon|octane:start|reverb:start|schedule:work|pail|dev)(?:\\s|$))\\S)`),ow=/(?:^|\s)--watch(?:\s|=|$)/;function iw(e){return sw.test(e)&&!ow.test(e)}var aw=/^((?:\S*\/)?(sh|bash|zsh|dash|ksh|fish)\s+(-[elux]*c[elux]*)\s+)(['"])/,lw=/[()$]|(?:^|[;&|\n]\s*)(?:and|or|not|begin|end|if|else|switch|case|while|for|function|return)(?:\s|;|$)/,vf=3;function Ef(e){let t=aw.exec(e);if(!t)return null;let n=t[2]==="fish";if(n&&t[3]!=="-c")return null;let r=t[4],s=t[1].length+1,o=e.indexOf(r,s);if(o<=s)return null;let i=e.slice(o+1);if(i&&!/^\s/.test(i))return null;let a=e.slice(s,o);return r==='"'&&/[$`\\!]/.test(a)||n&&lw.test(a)?null:{script:a,start:s,end:o,quote:r}}var cw=new Set(["cd","export","set","unset","source",".","true",":","pushd","popd"]);function uw(e){return Yt(e).filter(n=>{if(n.kind!=="cmd"||n.unsafe)return!1;let r=Rf(n.text);return r!==""&&!cw.has(r)&&!ri.test(r)}).length>1}function fw(e,t,n,r,s){if(n>=vf)return null;let o=Ef(e);if(!o)return null;let{script:i,start:a,end:l,quote:c}=o,u=[],f=Af(i,t,n+1,r,k=>u.push(k));if(f===i||c==='"'&&/["$`]/.test(f))return null;let d=c==="'"?f.replace(/'/g,"'\\''"):f,m=`${e.slice(0,a)}${d}${e.slice(l)}`,p=uw(i);if(s)for(let k of p?[e,...u]:u)s(k);return p?`${t} ${m}`:m}var bf=/(?:^|\s)(?:--follow|-[0-9a-zA-Z]*f[a-zA-Z]*)(?:\s|=|$)/,dw=new Set(["docker","podman","kubectl","nerdctl","docker-compose","stern","flyctl"]);function mw(e,t){let n=Zr(t);return n==="tail"||n==="journalctl"?bf.test(e):n==="stern"?!0:dw.has(n)?/\blogs?\b/.test(e)&&bf.test(e):!1}var ri=/^[A-Za-z_][A-Za-z0-9_]*\+?=/,pw=/^[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/,hw=/(?:^|[;&|\n({])\s*[A-Za-z_][A-Za-z0-9_-]*\s*\(\s*\)/;function Zr(e){let t=e.lastIndexOf("/");return t===-1?e:e.slice(t+1)}function Tf(e){let t=new Array(e.length).fill(!1),n=[],r=0;for(;r<e.length;){let s=e[r],o=e[r+1],i=n[n.length-1];if(i==="'"){s==="'"&&n.pop(),r+=1;continue}if(s==="\\"){if(o===void 0)return null;r+=2;continue}if(i==="$'"){s==="'"&&n.pop(),r+=1;continue}if(s==="$"&&(o==="("||o==="{")){n.push(o==="("?")":"}"),r+=2;continue}if(s==="`"){i==="`"?n.pop():n.push("`"),r+=1;continue}if(i==='"'){s==='"'&&n.pop(),r+=1;continue}if(s==="$"&&o==="'"){n.push("$'"),r+=2;continue}if(s==="'"||s==='"'){n.push(s),r+=1;continue}if(s==="("||s==="{"&&i==="}"){n.push(s==="("?")":"}"),r+=1;continue}if(s===i){n.pop(),r+=1;continue}if(s===")"&&i===void 0)return null;t[r]=i===void 0,r+=1}return n.length===0?t:null}function kf(e){let t=Tf(e);if(!t)return!0;for(let n=0;n<e.length;n++)if(t[n]&&e[n]===">")return!0;return!1}function Yt(e){let t=Tf(e);if(!t)return[{kind:"cmd",text:e,unsafe:!0}];let n=[],r="",s=0,o=()=>{r.length>0&&(n.push({kind:"cmd",text:r}),r="")},i=(a,l)=>{o(),n.push({kind:"sep",text:a}),s+=l};for(;s<e.length;){let a=e[s],l=e[s+1];if(t[s]){if(a===">"&&l==="|"){r+=">|",s+=2;continue}if(a==="&"&&l==="&"){i("&&",2);continue}if(a==="&"&&l!==">"){let c=r.replace(/\s+$/,""),u=c[c.length-1];if(u!==">"&&u!=="<"&&u!=="&"){i("&",1);continue}}if(a==="|"&&l==="|"){i("||",2);continue}if(a==="|"&&l==="&"){i("|&",2);continue}if(a===";"&&l===";"){let c=e[s+2]==="&";i(c?";;&":";;",c?3:2);continue}if(a===";"||a===`
111
+ `||a==="|"){i(a,1);continue}}r+=a,s+=1}return o(),n}function Rf(e){return e.trim().split(/\s+/)[0]??""}function xe(e,t=process.platform){try{let n=Sf(ew(import.meta.url)),r=t==="win32",s=e&&e!=="claude-code"&&e!=="codex"&&!r?`TOKMIZER_HOST=${e} `:"";if(r&&(!e||e==="claude-code")){let a=j(n,"..","bin","tkr-exec.exe");if(Gr(a))return Qo(a,t)?`'${a.replace(/\\/g,"/").replace(/'/g,"'\\''")}'`:null}let o=j(n,"..","bin","tkr-exec");if(!r&&Gr(o))return Qo(o,t)?`${s}'${o.replace(/'/g,"'\\''")}'`:null;if(Ae()){let a=r?process.execPath.replace(/\\/g,"/"):process.execPath;return`${s}'${a.replace(/'/g,"'\\''")}' exec`}let i=j(n,"..","bin","tkr-exec.js");return Gr(i)?`${s}node '${i.replace(/'/g,"'\\''")}'`:null}catch{return null}}function si(e,t="tkr-exec",n=()=>!0,r){return Af(e,t,0,n,r)}function Af(e,t,n,r,s){if(e.includes("<<")||hw.test(e))return e;let o=Yt(e),i=[];for(let a=0;a<o.length;a++){let l=o[a];if(l.kind==="sep"||l.unsafe){i.push(l.text);continue}let c=l.text.trim();if(!c){i.push(l.text);continue}let u=Rf(c),f=o[a+1],d=f?.kind==="sep"&&(f.text==="|"||f.text==="|&"),m=f?.kind==="sep"&&f.text==="&",p=!d&&!m&&!kf(l.text)&&!l.text.includes("<(")&&!l.text.includes(">(")?fw(c,t,n,r,s):null;if(p!==null){i.push(`${l.text.match(/^\s*/)?.[0]??""}${p}${l.text.match(/\s*$/)?.[0]??""}`);continue}if(c===t||c.startsWith(t)&&/^\s/.test(c.slice(t.length))||nw.has(u)||rw.has(u)||(gf.has(u)||gf.has(Zr(u)))&&!iw(c)||ri.test(u)||u.startsWith("(")||u.startsWith("#")||u.startsWith("<")||u.startsWith(">")||pw.test(c)||mw(c,u)||u.endsWith(")")||d||m||kf(l.text)||l.text.includes("<(")||l.text.includes(">(")||u==="node"&&c.includes("tkr-exec.js")||!r(u)){i.push(l.text);continue}let k=l.text.match(/^\s*/)?.[0]??"",g=l.text.match(/\s*$/)?.[0]??"";s?.(c),i.push(`${k}${t} ${c}${g}`)}return i.join("")}var gw=new Set(["command","workdir","timeout_ms","yield_time_ms","max_output_tokens","shell","login","tty","description"]),yw=new Set(["cd","cat","head","tail","ls","tree","find","grep","rg","wc","nl","sort","cut","diff","stat","file","du","df","ps","jq","yq","pwd","which"]),bw=new Set(["log","diff","show","status","blame","ls-files","rev-parse","describe","shortlog"]),kw={find:/^-(?:delete|exec|execdir|ok|okdir|fprint|fls)/,sort:/^(?:-[^-]*o|--output|--compress-program)/,rg:/^(?:--pre|-[^-]*z|--search-zip)/,yq:/^(?:-[^-]*[is]|--inplace|--split-exp)/,file:/^(?:-C|--compile)/,tree:/^(?:-o|--output|-R$|-H$)/,git:/^(?:--output|--ext-diff|--textconv|-c$|--exec-path|--git-dir|--work-tree)/,eslint:/^--fix/},Jr=["test","run test","run build","run lint","run typecheck"],_w={npm:new Set(Jr),pnpm:new Set([...Jr,"build","lint","typecheck"]),yarn:new Set([...Jr,"build","lint","typecheck"]),bun:new Set(Jr),cargo:new Set(["test","build","check","clippy"]),go:new Set(["test","build","vet"]),mvn:new Set(["test","compile","verify"]),gradle:new Set(["test","build","check"]),dotnet:new Set(["test","build"])},ww=new Set(["pytest","tsc","vitest","jest","eslint","mypy"]);function $f(e,t,n=0){if(/\$|`|<\(|>\(|\\\r?\n/.test(e)||/>/.test(e.replace(/2>&1|[12]?>\s*\/dev\/null/g,"")))return!1;for(let r of Yt(e)){if(r.kind==="sep")continue;if(r.unsafe)return!1;let s=n<vf?Ef(r.text.trim()):null;if(s){if(!$f(s.script,t,n+1))return!1;continue}let o=r.text.trim().split(/\s+/).filter(Boolean).map(c=>c.replace(/['"\\]/g,""));if(o.length===0)continue;if(o.some(c=>ri.test(c)))return!1;let i=Zr(o[0]);if(i!==o[0])return!1;let a=kw[i];if(a&&o.slice(1).some(c=>a.test(c)))return!1;if((i==="git"?bw.has(o[1]??""):yw.has(i))||t&&ww.has(i))continue;let l=t?_w[i]:void 0;if(!(l&&(l.has(o[1]??"")||o[1]==="run"&&l.has(`run ${o[2]??""}`))))return!1}return!0}function Cf(e,t,n=xe(t),r=se,s=Kr(),o=process.env.PATH){if(!oe(e)||e.tool_name!=="Bash")return null;let i=e.tool_input;if(!oe(i)||i.run_in_background)return null;let a=i.command;if(typeof a!="string"||!a||t==="codex"&&Object.keys(i).some(p=>!gw.has(p)))return null;let l=typeof e.cwd=="string"&&e.cwd?e.cwd:i.workdir,c=typeof l=="string"&&l?l:void 0,u=typeof e.session_id=="string"&&e.session_id?e.session_id:"unknown",f=typeof e.permission_mode=="string"?e.permission_mode:void 0,d=Ff(a,{host:t,sessionId:u,cwd:c,claudeDirs:s,pathEnv:o,permissionMode:f},n,r);if(!d)return null;let m={...i,command:d.command};return JSON.stringify({hookSpecificOutput:t==="codex"?{hookEventName:"PreToolUse",permissionDecision:"allow",updatedInput:m}:d.allowedBy?{hookEventName:"PreToolUse",permissionDecision:"allow",permissionDecisionReason:`Tokmizer: allowed by your rule ${d.allowedBy}`,updatedInput:m}:{hookEventName:"PreToolUse",updatedInput:m}})}function xw(e,t){if(!Gr(e))return"missing";try{let n=ti(e,"utf8");return JSON.parse(t?Of(n):n)}catch{return"unreadable"}}function Of(e){let t="",n=!1;for(let r=0;r<e.length;r++){let s=e[r];if(n){t+=s,s==="\\"?t+=e[++r]??"":s==='"'&&(n=!1);continue}if(s==='"')n=!0,t+=s;else if(s==="/"&&e[r+1]==="/"){for(;r<e.length&&e[r]!==`
112
112
  `;)r++;t+=`
113
- `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Kr(e){let t=[],n=Y_(e);for(;;){t.push(n);let r=Sf(n);if(r===n)return t;n=r}}function bw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[B(e,"managed-settings.json")];try{for(let n of ni(B(e,"managed-settings.d")))n.endsWith(".json")&&t.push(B(e,"managed-settings.d",n))}catch{return t}return t}function Bn(e,t,n,r){let s=[];for(let o of e){let i=yw(o,t);if(i!=="missing"&&(i==="unreadable"||!oe(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Hn(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function Wr(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function kw(e,t){let n=m=>[B(m,"settings.json"),B(m,"settings.local.json")],r=m=>n(B(m,".claude")),s=B(Vt(),".claude"),o=[[bw(),"managed"],[n(t.configDir||s),"loaded"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Kr(e).flatMap(r),"extra"]],i=[],a={managed:!1,loaded:!1,project:!1,extra:!1},l=!1,c="managed",u=(m,p)=>{let b=m.permissions;if(c==="managed"&&(m.allowManagedPermissionRulesOnly===!0||oe(b)&&b.allowManagedPermissionRulesOnly===!0)&&(l=!0),b===void 0)return!0;if(!oe(b))return!1;for(let g of["deny","ask","allow"]){let T=Hn(b[g]);if(!T)return!1;for(let v of T){let R=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(v);R&&(g!=="allow"?p.push(wt((R[1]??"*").replace(/:\*$/," *"))):R[1]===void 0||R[1].trim()==="*"?a[c]=!0:i.push(wt(R[1].replace(/:\*$/," *"))))}}return!0},f=[];for(let[m,p]of o){c=p;let b=Bn(m,!1,u,!0);if(b==="unreadable")return"unreadable";f.push(...b.matchers)}let d=a.managed||a.loaded&&!l;return{matchers:[...f,...d?[]:i],complete:!0,allow:i,allowsEverything:d}}function _w(e){let t=[B(Vt(),".cursor","cli-config.json"),...Kr(e).map(n=>B(n,".cursor","cli.json"))];return Bn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!oe(s))return!1;let o=Hn(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",c=l.indexOf(":");r.push(wt(c===-1?`${l} *`:`${l.slice(0,c)} ${l.slice(c+1)}`))}return!0},!1)}function ww(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var If=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function xw(e,t){let n=e.tools;if(n!==void 0&&!oe(n))return!1;let r=[Hn(e.excludeTools),Hn(oe(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=If.exec(o);i&&t.push(wt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function _f(e){try{return JSON.parse(e)}catch{return null}}function Sw(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??_f(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?_f(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function vw(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let c=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!c)continue;let u=Sw(c[2]);if(u===null)return!1;r[c[1]]=u}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||If.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(wt(`${l}*`));for(let l of a){let c;try{c=new RegExp(l)}catch{return!1}t.push(u=>c.test(JSON.stringify({command:u}))||oi(c,u))}}return!0}function wf(e){try{return ni(e).filter(t=>t.endsWith(".toml")).map(t=>B(e,t))}catch{return[]}}function Ew(e){let t=ww(),n=[B(t,"system-defaults.json"),B(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,B(Vt(),".gemini","settings.json"),...Kr(e).map(s=>B(s,".gemini","settings.json"))].filter(s=>!!s),r=Bn(n,!0,xw,!1);if(r==="unreadable")return r;for(let s of[...wf(B(Vt(),".gemini","policies")),...wf(B(t,"policies"))]){let o;try{o=ti(s,"utf8")}catch{return"unreadable"}if(!vw(o,r.matchers))return"unreadable"}return r}function ei(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!oe(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!oe(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(wt(s.replace(/\?/g,"*")))}}return!0}function xf(e,t){if(e.permissions!==void 0||!ei(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!oe(r))return!1;for(let s of Object.values(r))if(oe(s)&&(s.permissions!==void 0||!ei(s.permission,t)))return!1}}return!0}function Tw(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ni(B(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ti(B(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function Rw(e){let t=B(process.env.XDG_CONFIG_HOME||B(Vt(),".config"),"opencode"),n=Kr(e),r=[t,...n.map(a=>B(a,".opencode"))];if(Tw(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>B(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>B(a,l)),...s.slice(0,2).map(l=>B(a,".opencode",l))])].filter(a=>!!a),i=Bn(o,!0,xf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Of(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?ei(l,i.matchers):oe(l)&&xf(l,i.matchers)))return"unreadable"}return i}function Aw(){return Bn([B(Vt(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!oe(n))return!1;for(let r of["deny","ask"]){let s=Hn(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(wt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(c=>oi(l,c))}}return!0},!1)}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function $w(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Cw(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map($w).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Ow=512;function Iw(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(Zr)]}function oi(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of Iw(t)){if(n.length>Ow)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function wt(e){let t=Cw(e);return n=>oi(t,n)}var Pw={"claude-code":kw,cursor:_w,"gemini-cli":Ew,opencode:Rw,antigravity:Aw},Nw=new Set(["codex"]),Dw=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function Mw(e,t,n){let r=Pw[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Fw(e,t,n){return e==="unreadable"||Dw.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||$f(t,!Nw.has(n))}var Lw=new Set(["default","acceptEdits","dontAsk"]);function jw(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Lw.has(t.permissionMode??"")}function Hw(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Wt(s,e.cwd,n):(r??=df(t.configDir),!Wt(s,e.cwd,n)&&!r.paths.some(o=>Wt(s,e.cwd,o))?!1:s.includes("/")||!mf(s,r))}function Fe(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Wr(),o=Mw(t.host,t.cwd,s),i=Fw(o,e,t.host)?si(e,n,Hw(t,s)):e;return i!==e&&o!=="unreadable"&&(o.matchers.some(a=>a(i))||(o.allow??[]).some(a=>a(i)&&!a(e)))&&(i=e),r(t.sessionId,i!==e),i===e||!jw(o,t)?null:i}j();pn();Dn();ho();import{existsSync as cx,writeFileSync as ux,appendFileSync as fx,statSync as dx,constants as Mf}from"node:fs";import{lstat as mx,open as px}from"node:fs/promises";import{basename as hx,dirname as gx,isAbsolute as yx,join as Bf}from"node:path";j();we();import{readFileSync as Bw}from"node:fs";import{join as Uw}from"node:path";function Pf(){if(he())return!1;try{return JSON.parse(Bw(Uw(x(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}j();import{createHash as zw}from"node:crypto";import{appendFileSync as Jw,chmodSync as Gw,mkdirSync as Zw,readFileSync as Kw,rmSync as Ww,statSync as Vw}from"node:fs";import{join as Nf}from"node:path";var Yw=256*1024,qw=80;function Xw(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Nf(x(),"sessions",`${t}.seen`)}function ii(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,qw)}function ai(e,t,n,r){try{let s=Xw(e),o=ii(t),i=zw("sha256").update(n).digest("hex").slice(0,32),a="";try{a=Kw(s,"utf8")}catch{}for(let l of a.split(`
114
- `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Zw(Nf(x(),"sessions"),{recursive:!0,mode:448}),Jw(s,`${o} ${i} ${ii(r)}
115
- `,{mode:384}),Gw(s,384),Vw(s).size>Yw&&Ww(s,{force:!0})}catch{}return null}function li(e,t){return`[same output as \`${ii(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Tn();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Un(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Qw(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Un(e.effort)}function ex(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var tx=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),nx=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),rx=new Set(["pre_tool","post_tool"]),sx=new Set(["before_tool_call","after_tool_call"]),ox=new Set(["runTerminalCommand","run_in_terminal"]),ix=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",Qw],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||nx.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>tx.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>rx.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Un(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||ox.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Un(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!sx.has(Q(e,"event"))]],ax=new Set(["codex","antigravity"]);function lx(e){return Un(e)?ix.filter(([,t])=>t(e)).map(([t])=>t):[]}function ci(e,t){if(!Un(e))return null;let n=lx(e);return n.length>1?null:n.length===1?n[0]:ex(e)&&ax.has(t)?"claude-code":t==="codex"?null:t}function Df(e,t){let n=ci(e,t);return n==="claude-code"||n==="codex"?n:null}var bx=new Set(["Read","Grep","Glob","Bash"]),Vr=10*1024*1024,Uf=1024,kx=40,_x=25e3,wx=/^… \(?\d+ more lines omitted\)?$/,xx=/^\[tkr restore [0-9a-f]{8,64}\]$/,Sx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,vx=/^… \(\d+ more lines omitted\)$/m,Ex="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function Tx(e){return wx.test(e)||xx.test(e)||e==="[YOLO: omitted]"}function zf(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
116
- `).filter(i=>r.has(i)||Tx(i)||s&&Sx.test(i));return{...e,filenames:o}}return t}function Rx(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:zf(e.tool_response,t,e.tool_name)}})}var Ax=100,di=null;function $x(){let e=di;return di=null,e}function Ff(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Jf(e,t){try{if(Math.round((e-t)/4)<Ax)return;let n=Bf(x(),"first-save");if(cx(n))return;ux(n,String(Date.now())),di=`Tokmizer just optimized its first command output here: ~${Ff(e)} tokens down to ~${Ff(t)}. Watch it add up: /tkr-gain`}catch{}}function Lf(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
113
+ `}else if(s==="/"&&e[r+1]==="*"){if(r=e.indexOf("*/",r+2),r===-1)return"";r+=1}else t+=s}return t.replace(/,(\s*[}\]])/g,"$1")}function Wr(e){let t=[],n=tw(e);for(;;){t.push(n);let r=Sf(n);if(r===n)return t;n=r}}function Sw(){let e=process.platform==="darwin"?"/Library/Application Support/ClaudeCode":process.platform==="win32"?"C:\\Program Files\\ClaudeCode":"/etc/claude-code",t=[j(e,"managed-settings.json")];try{for(let n of ni(j(e,"managed-settings.d")))n.endsWith(".json")&&t.push(j(e,"managed-settings.d",n))}catch{return t}return t}function Bn(e,t,n,r){let s=[];for(let o of e){let i=xw(o,t);if(i!=="missing"&&(i==="unreadable"||!oe(i)||!n(i,s)))return"unreadable"}return{matchers:s,complete:r}}function Hn(e){return e===void 0?[]:Array.isArray(e)?e.filter(t=>typeof t=="string"):null}function Kr(){return{projectDir:process.env.CLAUDE_PROJECT_DIR,configDir:process.env.CLAUDE_CONFIG_DIR}}function vw(e,t){let n=g=>[j(g,"settings.json"),j(g,"settings.local.json")],r=g=>n(j(g,".claude")),s=j(Vt(),".claude"),o=t.configDir||s,i=[[Sw(),"managed"],[[j(o,"settings.json")],"loaded"],[[j(o,"settings.local.json")],"loadedLocal"],[t.configDir?n(s):[],"extra"],[t.projectDir?r(t.projectDir):[],"project"],[Wr(e).flatMap(r),"extra"]],a=[],l={managed:[],loaded:[],loadedLocal:[],project:[],extra:[]},c={managed:!1,loaded:!1,loadedLocal:!1,project:!1,extra:!1},u=!1,f="managed",d=(g,T)=>{let x=g.permissions;if(f==="managed"&&(g.allowManagedPermissionRulesOnly===!0||oe(x)&&x.allowManagedPermissionRulesOnly===!0)&&(u=!0),x===void 0)return!0;if(!oe(x))return!1;for(let C of["deny","ask","allow"]){let E=Hn(x[C]);if(!E)return!1;for(let O of E){let N=/^\s*Bash\s*(?:\(([\s\S]*)\))?\s*$/.exec(O);if(N)if(C!=="allow")T.push(wt((N[1]??"*").replace(/:\*$/," *")));else if(N[1]===void 0||N[1].trim()==="*")c[f]=!0;else{a.push(wt(N[1].replace(/:\*$/," *")));let F=Fw(N[1]);F&&l[f].push({rule:O.trim(),matches:F})}}}return!0},m=[];for(let[g,T]of i){f=T;let x=Bn(g,!1,d,!0);if(x==="unreadable")return"unreadable";m.push(...x.matchers)}let p=c.managed||(c.loaded||c.loadedLocal)&&!u,k=[...l.managed,...u?[]:l.loaded];return{matchers:[...m,...p?[]:a],complete:!0,allow:a,allowsEverything:p,guards:m,trustedAllow:k}}function Ew(e){let t=[j(Vt(),".cursor","cli-config.json"),...Wr(e).map(n=>j(n,".cursor","cli.json"))];return Bn(t,!0,(n,r)=>{let s=n.permissions;if(s===void 0)return!0;if(!oe(s))return!1;let o=Hn(s.deny);if(!o)return!1;for(let i of o){let a=/^\s*Shell\s*(?:\(([\s\S]*)\))?\s*$/.exec(i);if(!a)continue;let l=a[1]??"*",c=l.indexOf(":");r.push(wt(c===-1?`${l} *`:`${l.slice(0,c)} ${l.slice(c+1)}`))}return!0},!1)}function Tw(){return process.platform==="darwin"?"/Library/Application Support/GeminiCli":process.platform==="win32"?"C:\\ProgramData\\gemini-cli":"/etc/gemini-cli"}var If=/^\s*(?:run_shell_command|ShellTool)\s*(?:\(([\s\S]*)\))?\s*$/;function Rw(e,t){let n=e.tools;if(n!==void 0&&!oe(n))return!1;let r=[Hn(e.excludeTools),Hn(oe(n)?n.exclude:void 0)];for(let s of r){if(!s)return!1;for(let o of s){let i=If.exec(o);i&&t.push(wt(i[1]===void 0?"*":`${i[1]}*`))}}return!0}function _f(e){try{return JSON.parse(e)}catch{return null}}function Aw(e){let t=e.trim();if(t.startsWith('"""')||t.startsWith("'''"))return null;if(t.startsWith("[")){if(!/\]\s*(?:#.*)?$/.test(t))return null;let n=[];for(let r of t.matchAll(/"((?:\\.|[^"\\])*)"|'([^']*)'/g)){let s=r[2]??_f(`"${r[1]}"`);if(s===null)return null;n.push(s)}return n}if(t.startsWith('"')){let n=/^"((?:\\.|[^"\\])*)"/.exec(t);return n?_f(`"${n[1]}"`):null}if(t.startsWith("'")){let n=/^'([^']*)'/.exec(t);return n?n[1]:null}return t.replace(/\s*#.*$/,"")}function $w(e,t){for(let n of e.split(/^\s*\[\[\s*rule\s*\]\]\s*$/m).slice(1)){let r={};for(let l of n.split(/\r?\n/)){if(/^\s*\[/.test(l))break;let c=/^\s*([A-Za-z_]+)\s*=\s*(.*)$/.exec(l);if(!c)continue;let u=Aw(c[2]);if(u===null)return!1;r[c[1]]=u}let s=r.decision;if(s!=="deny"&&s!=="ask_user"||!(r.toolName===void 0?["*"]:[r.toolName].flat()).some(l=>l==="*"||If.test(l)))continue;let i=r.commandPrefix===void 0?[]:[r.commandPrefix].flat(),a=[r.commandRegex,r.argsPattern].flat().filter(l=>typeof l=="string");if(i.length===0&&a.length===0){t.push(()=>!0);continue}for(let l of i)t.push(wt(`${l}*`));for(let l of a){let c;try{c=new RegExp(l)}catch{return!1}t.push(u=>c.test(JSON.stringify({command:u}))||oi(c,u))}}return!0}function wf(e){try{return ni(e).filter(t=>t.endsWith(".toml")).map(t=>j(e,t))}catch{return[]}}function Cw(e){let t=Tw(),n=[j(t,"system-defaults.json"),j(t,"settings.json"),process.env.GEMINI_CLI_SYSTEM_SETTINGS_PATH,process.env.GEMINI_CLI_SYSTEM_DEFAULTS_PATH,j(Vt(),".gemini","settings.json"),...Wr(e).map(s=>j(s,".gemini","settings.json"))].filter(s=>!!s),r=Bn(n,!0,Rw,!1);if(r==="unreadable")return r;for(let s of[...wf(j(Vt(),".gemini","policies")),...wf(j(t,"policies"))]){let o;try{o=ti(s,"utf8")}catch{return"unreadable"}if(!$w(o,r.matchers))return"unreadable"}return r}function ei(e,t){if(e===void 0)return!0;if(typeof e=="string")return e!=="allow"&&t.push(()=>!0),!0;if(!oe(e))return!1;for(let n of["bash","shell","*"]){let r=e[n];if(r!==void 0){if(typeof r=="string"){r!=="allow"&&t.push(()=>!0);continue}if(!oe(r))return!1;for(let[s,o]of Object.entries(r))o!=="allow"&&t.push(wt(s.replace(/\?/g,"*")))}}return!0}function xf(e,t){if(e.permissions!==void 0||!ei(e.permission,t))return!1;for(let n of["agent","agents","mode"]){let r=e[n];if(r!==void 0){if(!oe(r))return!1;for(let s of Object.values(r))if(oe(s)&&(s.permissions!==void 0||!ei(s.permission,t)))return!1}}return!0}function Ow(e){for(let t of e)for(let n of["agent","agents","mode","modes"]){let r;try{r=ni(j(t,n))}catch{continue}for(let s of r)try{if(s.endsWith(".md")&&/permission/i.test(ti(j(t,n,s),"utf8")))return!0}catch{return!0}}return!1}function Iw(e){let t=j(process.env.XDG_CONFIG_HOME||j(Vt(),".config"),"opencode"),n=Wr(e),r=[t,...n.map(a=>j(a,".opencode"))];if(Ow(r))return"unreadable";let s=["opencode.json","opencode.jsonc","config.json"],o=[...s.map(a=>j(t,a)),process.env.OPENCODE_CONFIG,...n.flatMap(a=>[...s.slice(0,2).map(l=>j(a,l)),...s.slice(0,2).map(l=>j(a,".opencode",l))])].filter(a=>!!a),i=Bn(o,!0,xf,!0);if(i==="unreadable")return i;for(let a of[process.env.OPENCODE_CONFIG_CONTENT,process.env.OPENCODE_PERMISSION]){if(!a)continue;let l;try{l=JSON.parse(Of(a))}catch{return"unreadable"}if(!(a===process.env.OPENCODE_PERMISSION?ei(l,i.matchers):oe(l)&&xf(l,i.matchers)))return"unreadable"}return i}function Pw(){return Bn([j(Vt(),".gemini","antigravity-cli","settings.json")],!0,(e,t)=>{let n=e.permissions;if(n===void 0)return!0;if(!oe(n))return!1;for(let r of["deny","ask"]){let s=Hn(n[r]);if(!s)return!1;for(let o of s){let i=/^\s*command\s*\(([\s\S]*)\)\s*$/.exec(o);if(!i)continue;let a=i[1].trim();if(!a.startsWith("regex:")){t.push(wt(a==="*"?"*":`${a} *`));continue}let l;try{l=new RegExp(a.slice(6))}catch{return!1}t.push(c=>oi(l,c))}}return!0},!1)}function oe(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Pf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Nw(e){let t=e.trim().replace(/\s+/g," "),n=t.endsWith(" *")&&t.length>2,r=(n?t.slice(0,-2):t).split("*").map(Pf).join("[\\s\\S]*");return new RegExp(`^${r}${n?"(?: [\\s\\S]*)?":""}(?= |$)`)}var Dw=512;function Mw(e){let t=e.replace(/['"\\]/g,"").split(/[\s;&|(){}<>`$]+/).filter(Boolean);return[t,t.map(Zr)]}function oi(e,t){if(e.test(t)||e.test(t.trim().replace(/\s+/g," ")))return!0;for(let n of Mw(t)){if(n.length>Dw)return!0;for(let r=0;r<n.length;r++)if(e.test(n.slice(r).join(" ")))return!0}return!1}function wt(e){let t=Nw(e);return n=>oi(t,n)}function Fw(e){let t=e.trim().replace(/:\*$/," *"),n=t.endsWith(" *"),r=n?t.slice(0,-2):t;if(!r||r.includes("*")||/\s\s|[^\S ]|^ | $/.test(r))return null;let s=new RegExp(`^${Pf(r)}${n?"(?: [\\s\\S]*)?":""}$`);return o=>s.test(o)}var Lw={"claude-code":vw,cursor:Ew,"gemini-cli":Cw,opencode:Iw,antigravity:Pw},jw=new Set(["codex"]),Nf=/(?:^|[\s=:/~])\.(?:git|claude|vscode|idea|husky)(?=[/\s;|&)]|$)|(?:^|[\s=:/~])\.(?:bashrc|bash_profile|bash_login|bash_logout|profile|zshrc|zprofile|zshenv|zlogin|zlogout|gitconfig|gitmodules|ripgreprc|mcp\.json)(?![A-Za-z0-9_])/;function Hw(e,t,n){let r=Lw[e];return r?r(t??process.cwd(),n):{matchers:[],complete:!1}}function Bw(e,t,n){return e==="unreadable"||Nf.test(t.replace(/['"\\]/g,""))||e.matchers.some(r=>r(t))?!1:e.complete||$f(t,!jw.has(n))}var Df=new Set(["default","acceptEdits","dontAsk"]);function Mf(e,t){return t.host!=="claude-code"||t.permissionMode==="bypassPermissions"?!0:e!=="unreadable"&&e.allowsEverything===!0&&Df.has(t.permissionMode??"")}function Uw(e,t){let n="pathEnv"in e?e.pathEnv:process.env.PATH,r;return s=>e.host!=="claude-code"?Kt(s,e.cwd,n):(r??=df(t.configDir),!Kt(s,e.cwd,n)&&!r.paths.some(o=>Kt(s,e.cwd,o))?!1:s.includes("/")||!mf(s,r))}var zw=/^[^\s;&|<>()$`\\{}*?[\]~#!]+(?: [^\s;&|<>()$`\\{}*?[\]~#!]+)*$/;function Jw(e,t,n){return n.host!=="claude-code"||e==="unreadable"||Mf(e,n)||!Df.has(n.permissionMode??"")||!zw.test(t)||Nf.test(t.replace(/['"]/g,""))||(e.guards??[]).some(r=>r(t))?null:(e.trustedAllow??[]).find(r=>r.matches(t))?.rule??null}function Ff(e,t,n,r){if(!n||/["\\$`;&|<>(){}]|'\\''/.test(n))return null;let s=t.claudeDirs??Kr(),o=Hw(t.host,t.cwd,s),i=Jw(o,e,t),a=i||Bw(o,e,t.host)?si(e,n,Uw(t,s)):e;return a!==e&&o!=="unreadable"&&(i?(o.guards??[]).some(l=>l(a)):o.matchers.some(l=>l(a))||(o.allow??[]).some(l=>l(a)&&!l(e)))&&(a=e),r(t.sessionId,a!==e),a===e?null:i?{command:a,allowedBy:i}:Mf(o,t)?{command:a}:null}function Ye(e,t,n,r){return Ff(e,t,n,r)?.command??null}H();pn();Dn();ho();import{existsSync as mx,writeFileSync as px,appendFileSync as hx,statSync as gx,constants as Bf}from"node:fs";import{lstat as yx,open as bx}from"node:fs/promises";import{basename as kx,dirname as _x,isAbsolute as wx,join as Zf}from"node:path";H();we();import{readFileSync as Gw}from"node:fs";import{join as Zw}from"node:path";function Lf(){if(he())return!1;try{return JSON.parse(Gw(Zw(S(),"settings-cache.json"),"utf8")).enabled!==!1}catch{return!0}}H();import{createHash as Ww}from"node:crypto";import{appendFileSync as Kw,chmodSync as Vw,mkdirSync as Yw,readFileSync as qw,rmSync as Xw,statSync as Qw}from"node:fs";import{join as jf}from"node:path";var ex=256*1024,tx=80;function nx(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return jf(S(),"sessions",`${t}.seen`)}function ii(e){return e.replace(/[\t\r\n]+/g," ").trim().slice(0,tx)}function ai(e,t,n,r){try{let s=nx(e),o=ii(t),i=Ww("sha256").update(n).digest("hex").slice(0,32),a="";try{a=qw(s,"utf8")}catch{}for(let l of a.split(`
114
+ `)){let[c,u,f]=l.split(" ");if(c===o&&u===i)return{cmd:f??""}}Yw(jf(S(),"sessions"),{recursive:!0,mode:448}),Kw(s,`${o} ${i} ${ii(r)}
115
+ `,{mode:384}),Vw(s,384),Qw(s).size>ex&&Xw(s,{force:!0})}catch{}return null}function li(e,t){return`[same output as \`${ii(e)}\` earlier in this session, unchanged, ~${Math.round(t/4)} tokens]`}Tn();function Q(e,t){let n=e[t];return typeof n=="string"&&n?n:null}function Un(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function rx(e){return Q(e,"prompt_id")||Q(e,"scratchpad_dir")?!0:Un(e.effort)}function sx(e){return Q(e,"tool_use_id")?.startsWith("toolu_")===!0||/^claude/i.test(Q(e,"model")??"")}var ox=new Set(["BeforeTool","AfterTool","BeforeAgent","AfterAgent","BeforeModel","AfterModel","BeforeToolSelection"]),ix=new Set(["preToolUse","postToolUse","beforeShellExecution","afterShellExecution","beforeSubmitPrompt","sessionStart","sessionEnd","stop"]),ax=new Set(["pre_tool","post_tool"]),lx=new Set(["before_tool_call","after_tool_call"]),cx=new Set(["runTerminalCommand","run_in_terminal"]),ux=[["codex",e=>Q(e,"turn_id")!==null],["claude-code",rx],["cursor",e=>Q(e,"cursor_version")!==null||Q(e,"generation_id")!==null||Q(e,"conversation_id")!==null||Array.isArray(e.workspace_roots)||ix.has(Q(e,"hook_event_name")??"")],["gemini-cli",e=>ox.has(Q(e,"hook_event_name")??"")],["qwen-code",e=>e.hook_event_name==="PreToolUse"&&e.tool_name==="run_shell_command"],["vibe",e=>ax.has(Q(e,"hook_event_name")??"")],["antigravity",e=>Un(e.toolCall)],["copilot",e=>Q(e,"toolName")!==null&&"toolArgs"in e||cx.has(Q(e,"tool_name")??"")],["grok",e=>e.toolName==="run_terminal_command"||e.tool_name==="run_terminal_command"||Un(e.toolInput)&&!("toolArgs"in e)],["droid",e=>e.tool_name==="Execute"],["trae",e=>e.tool_name==="RunCommand"],["crush",e=>e.hook_event_name===void 0&&Q(e,"event")!==null&&!lx.has(Q(e,"event"))]],fx=new Set(["codex","antigravity"]);function dx(e){return Un(e)?ux.filter(([,t])=>t(e)).map(([t])=>t):[]}function ci(e,t){if(!Un(e))return null;let n=dx(e);return n.length>1?null:n.length===1?n[0]:sx(e)&&fx.has(t)?"claude-code":t==="codex"?null:t}function Hf(e,t){let n=ci(e,t);return n==="claude-code"||n==="codex"?n:null}var xx=new Set(["Read","Grep","Glob","Bash"]),Vr=10*1024*1024,Wf=1024,Sx=40,vx=25e3,Ex=/^… \(?\d+ more lines omitted\)?$/,Tx=/^\[tkr restore [0-9a-f]{8,64}\]$/,Rx=/^\d+F \d+D(?: in .+\/)?:$|^\S.*\/ \(\d+(?:, \*\.[^)]+)?\): \S/,Ax=/^… \(\d+ more lines omitted\)$/m,$x="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";function Cx(e){return Ex.test(e)||Tx.test(e)||e==="[YOLO: omitted]"}function Kf(e,t,n){if(!e||typeof e=="string")return t;if(e.file?.content!=null)return{...e,file:{...e.file,content:t}};if(e.content!=null)return{...e,content:t};if(e.output!=null)return{...e,output:t};if(e.stdout!=null||e.stderr!=null){let{persistedOutputPath:r,persistedOutputSize:s,...o}=e;return{...o,stdout:t,stderr:""}}if(Array.isArray(e.filenames)){let r=new Set(e.filenames),s=n==="Glob",o=t.split(`
116
+ `).filter(i=>r.has(i)||Cx(i)||s&&Rx.test(i));return{...e,filenames:o}}return t}function Ox(e,t,n){return JSON.stringify({...n?{systemMessage:n}:{},hookSpecificOutput:{hookEventName:"PostToolUse",updatedToolOutput:Kf(e.tool_response,t,e.tool_name)}})}var Ix=100,di=null;function Px(){let e=di;return di=null,e}function Uf(e){let t=Math.round(e/4);return t>=1e3?`${(t/1e3).toFixed(1)}K`:String(t)}function Vf(e,t){try{if(Math.round((e-t)/4)<Ix)return;let n=Zf(S(),"first-save");if(mx(n))return;px(n,String(Date.now())),di=`Tokmizer just optimized its first command output here: ~${Uf(e)} tokens down to ~${Uf(t)}. Watch it add up: /tkr-gain`}catch{}}function zf(e){return e?typeof e=="string"?e:e.file?.content!=null?e.file.content:e.content!=null?e.content:e.output!=null?e.output:e.stdout!=null||e.stderr!=null?[e.stdout??"",e.stderr??""].filter(Boolean).join(`
117
117
  `):Array.isArray(e.filenames)?e.filenames.join(`
118
- `):null:""}var Cx=64*1024;function Ox(e,t){try{if(!t||typeof t!="object")return;let n=Bf(x(),"drift.jsonl");try{if(dx(n).size>Cx)return}catch{}let r=Object.keys(t).slice(0,12);fx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
- `)}catch{}}function Ix(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
120
- `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var Px=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Nx=/;|\|\||\n|(?<![>&|])&(?![&>])/,Dx=new Set(["cd","export","set","unset","true",":"]),Mx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Fx=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Gf(e){return Px.test(e)||Fx.test(e)}function Zf(e,t,n=0){let r=Yt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||Dx.has(i.split(/\s+/)[0]))continue;let l=n<3?Mx.exec(i):null;if(!(l&&Zf(l[1],t,n+1)))return!1}return!0}function Lx(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function jf(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function jx(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!yx(n)||hx(gx(n))!=="tool-results")return null;try{let s=await mx(n);if(!s.isFile()||s.size>Vr)return null;let o=await px(n,Mf.O_RDONLY|(Mf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Vr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function Hx(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||Nx.test(e)||jf(e))return null;let n=[];if(si(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||jf(n[0])||!Zf(e,n[0])||Yt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Lx(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Bx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Yo(),af)),i=null,a=b=>{i=b},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
121
- `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Uf){let b=ai(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
122
- `)[0]??"");if(b){let g=li(b.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(fi(),ui));return T(f,g)}}let m=[c.stdout,c.stderr].filter(Boolean).join(`
123
- `),p=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(p||m.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),p)?null:(Jf(d,Buffer.byteLength(m,"utf8")),m)}function Ux(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function zx(e,t={}){if(!Ux(e))return null;let n=e.tool_name==="Bash"&&!Gf(e.tool_input?.command??"")?await jx(e.tool_response):void 0;return n===null?null:n===void 0?Hf(e,t):Hf({...e,tool_response:{...e.tool_response,stdout:n}},t,_x)}async function Hf(e,t,n){let r=_e();if(!e.tool_name||!bx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Gf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await ht();if(!Pf())return null;let a=e.tool_name==="Bash"&&!o?Hx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Vr?null:Bx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let H=e.tool_input??{},ye=H.command??H.file_path??H.pattern??H.path??"";ye&&vr(e.session_id,{tool:e.tool_name,target:ye.split(`
124
- `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=Lf(e.tool_response);if(l==null)return Ox(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>Vr||e.tool_name==="Bash"&&c<Uf||e.tool_name==="Glob"&&l.split(`
125
- `).length<kx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:m,FOLD_MARKER_RE:p,resolveAllowedFilters:b,gatingPlan:g,graceExceeded:T,recordEvent:v,recordTelemetry:R,recordStat:E,countedSaving:I,statCmdLabel:M,statOutcome:L,installDaemonResolver:z,closeDaemonResolver:D}=await Promise.resolve().then(()=>(fi(),ui)),Z=await u();if(!Z.enabled)return null;let{slugKey:V}=await Promise.resolve().then(()=>(Ge(),Gi)),Se=i?.token?g(i):null;!t.resolver&&Se&&z(Se);let ue=i?.token?b(i.allowedFilters,T(i)):null,U=new Set(Z.filters.disabled.map(V)),J=ue&&U.size>0?new Set([...ue].filter(H=>!U.has(H))):ue,G=Ix(e),W=`${e.tool_name.toLowerCase()}-tool`,K=`${W}: ${G}`;try{let H=await f(K,l,J,{verbosity:Z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(H.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ti=ai(e.session_id,e.agent_id??"main",l,s.split(`
126
- `)[0]??"");if(Ti){let Ri=li(Ti.cmd,c);return r?Ri:await m(l,Ri)}}let ye=new RegExp(p.source,"m"),sn=e.tool_name==="Bash"?M(e.tool_input?.command??""):e.tool_name,Si=e.tool_name==="Read"&&!r&&(ye.test(H.output)||vx.test(H.output))?`${H.output}${H.output.endsWith(`
118
+ `):null:""}var Nx=64*1024;function Dx(e,t){try{if(!t||typeof t!="object")return;let n=Zf(S(),"drift.jsonl");try{if(gx(n).size>Nx)return}catch{}let r=Object.keys(t).slice(0,12);hx(n,`${JSON.stringify({t:Math.floor(Date.now()/1e3),tool:e,keys:r})}
119
+ `)}catch{}}function Mx(e){let t=e.tool_name??"tool",n=e.tool_input??{};return n.command?n.command.split(`
120
+ `)[0].trim().slice(0,200):n.file_path?`${t.toLowerCase()} ${n.file_path}`:n.pattern?`${t.toLowerCase()} ${n.pattern}`:n.path?`${t.toLowerCase()} ${n.path}`:t.toLowerCase()}var Fx=/'(?:[A-Za-z]:)?\/[^']*\/(?:tkr-exec(?:\.exe|\.js)?'|tkr(?:\.exe)?' exec)(?:\\'')?(?:\s|$)/,Lx=/;|\|\||\n|(?<![>&|])&(?![&>])/,jx=new Set(["cd","export","set","unset","true",":"]),Hx=/^(?:\S*\/)?(?:sh|bash|zsh|dash|ksh)\s+-[elux]*c[elux]*\s+'([^']*)'$/,Bx=/(?:^|[\s;&|(])(?:[A-Za-z]:)?\/\S*\/tkr-exec(?:\.exe|\.js)?\s|(?:^|[;&|(\n])\s*(?:\S*\/)?tkr-exec(?:\.exe|\.js)?\s/;function Yf(e){return Fx.test(e)||Bx.test(e)}function qf(e,t,n=0){let r=Yt(e);for(let s=0;s<r.length;s++){let o=r[s];if(o.kind==="sep")continue;let i=o.text.trim();if(!i||i===t)continue;let a=r[s+1];if(a?.kind==="sep"&&(a.text==="|"||a.text==="|&")||jx.has(i.split(/\s+/)[0]))continue;let l=n<3?Hx.exec(i):null;if(!(l&&qf(l[1],t,n+1)))return!1}return!0}function Ux(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i===-1)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=s+1;for(;i<e.length&&e[i]!=='"';i++)e[i]==="\\"&&/["\\$`]/.test(e[i+1]??"")&&i++,n+=e[i];if(i>=e.length)return null;r=!0,s=i}else if(o==="\\"){if(s+1>=e.length)return null;n+=e[++s],r=!0}else/\s/.test(o)?(r&&t.push(n),n="",r=!1):(n+=o,r=!0)}return r&&t.push(n),t.length>0?t:null}function Jf(e){let t="";for(let n=0;n<e.length;n++){let r=e[n];if(t==="'"){r==="'"&&(t="");continue}if(r==="\\"){n++;continue}if(r==="$"||r==="`")return!0;r==='"'?t=t?"":'"':r==="'"&&!t&&(t="'")}return!1}async function zx(e){if(!e||typeof e!="object"||e.persistedOutputPath==null)return;let{stdout:t,persistedOutputPath:n,persistedOutputSize:r}=e;if(typeof t!="string"||typeof n!="string"||typeof r!="number"||!Number.isFinite(r))return null;if(!(Buffer.byteLength(t,"utf8")>=r||t.length>=r)){if(!t||e.stderr!=null&&e.stderr!==""||e.interrupted===!0||e.isImage===!0||!wx(n)||kx(_x(n))!=="tool-results")return null;try{let s=await yx(n);if(!s.isFile()||s.size>Vr)return null;let o=await bx(n,Bf.O_RDONLY|(Bf.O_NOFOLLOW??0));try{let i=await o.stat();if(!i.isFile()||i.size>Vr||i.size!==s.size)return null;let a=Buffer.alloc(i.size),{bytesRead:l}=await o.read(a,0,i.size,0);if(l!==i.size)return null;let c=a.toString("utf8");return a.length!==r&&c.length!==r?null:c.startsWith(t)?c:null}finally{await o.close()}}catch{return null}}}function Jx(e,t){if(!t||typeof t!="object"||typeof t.stdout!="string"||t.stderr!=null&&typeof t.stderr!="string"||t.interrupted===!0||t.isImage===!0||t.backgroundTaskId!=null||Lx.test(e)||Jf(e))return null;let n=[];if(si(e,"tkr-exec",()=>!0,s=>n.push(s)),n.length!==1||Jf(n[0])||!qf(e,n[0])||Yt(e).some(s=>s.kind==="sep"&&s.text!=="&&"&&s.text!=="|"&&s.text!=="|&"))return null;let r=Ux(n[0]);return r?{argv:r,stdout:t.stdout,stderr:t.stderr??"",exitCode:t.returnCodeInterpretation!=null?1:0}:null}async function Gx(e,t,n,r,s){let{processCapturedOutput:o}=await Promise.resolve().then(()=>(Yo(),af)),i=null,a=k=>{i=k},l={...process.env};t.session_id?l.CLAUDE_CODE_SESSION_ID=t.session_id:delete l.CLAUDE_CODE_SESSION_ID;let c=await o({argv:e.argv,stdout:e.stdout,stderr:e.stderr,exitCode:e.exitCode,truncated:!1,stderrTruncated:!1},{yolo:n,env:l,...r.resolver?{resolver:r.resolver}:{},deferAccounting:a,cwd:t.cwd||(r.inferCwd===!1?void 0:process.cwd())}),u=i,f=[e.stdout,e.stderr].filter(Boolean).join(`
121
+ `),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=Wf){let k=ai(t.session_id,t.agent_id??"main",f,(t.tool_input?.command??"").split(`
122
+ `)[0]??"");if(k){let g=li(k.cmd,d);if(n)return g;let{captureOriginalForRestore:T}=await Promise.resolve().then(()=>(fi(),ui));return T(f,g)}}let m=[c.stdout,c.stderr].filter(Boolean).join(`
123
+ `),p=c.stdout===e.stdout&&c.stderr===e.stderr;return s!=null&&(p||m.length>s)||(u&&(r.deferAccounting?r.deferAccounting(u):await u()),p)?null:(Vf(d,Buffer.byteLength(m,"utf8")),m)}function Zx(e){if(e==null||typeof e!="object"||Array.isArray(e))return!1;let t=e;if(t.session_id!=null&&typeof t.session_id!="string"||t.tool_name!=null&&typeof t.tool_name!="string")return!1;let n=t.tool_input;if(n==null)return!0;if(typeof n!="object"||Array.isArray(n))return!1;let r=n;return["command","file_path","pattern","path"].every(s=>r[s]==null||typeof r[s]=="string")}async function Wx(e,t={}){if(!Zx(e))return null;let n=e.tool_name==="Bash"&&!Yf(e.tool_input?.command??"")?await zx(e.tool_response):void 0;return n===null?null:n===void 0?Gf(e,t):Gf({...e,tool_response:{...e.tool_response,stdout:n}},t,vx)}async function Gf(e,t,n){let r=_e();if(!e.tool_name||!xx.has(e.tool_name))return null;let s=e.tool_name==="Bash"?e.tool_input?.command??"":"",o=Yf(s);if(/\btkr(?:\.js)?\s+restore\b/.test(s))return null;let i=await ht();if(!Lf())return null;let a=e.tool_name==="Bash"&&!o?Jx(s,e.tool_response):null;if(a)return Buffer.byteLength(a.stdout,"utf8")+Buffer.byteLength(a.stderr,"utf8")>Vr?null:Gx(a,e,r,t,n);if(e.session_id&&!o&&i?.token){let B=e.tool_input??{},ye=B.command??B.file_path??B.pattern??B.path??"";ye&&vr(e.session_id,{tool:e.tool_name,target:ye.split(`
124
+ `)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=zf(e.tool_response);if(l==null)return Dx(e.tool_name,e.tool_response),null;if(!l)return null;let c=Buffer.byteLength(l,"utf8");if(c>Vr||e.tool_name==="Bash"&&c<Wf||e.tool_name==="Glob"&&l.split(`
125
+ `).length<Sx||o)return null;let{loadSettingsCache:u,processOutput:f,captureForRestore:d,captureOriginalForRestore:m,FOLD_MARKER_RE:p,resolveAllowedFilters:k,gatingPlan:g,graceExceeded:T,recordEvent:x,recordTelemetry:C,recordStat:E,countedSaving:O,statCmdLabel:N,statOutcome:F,installDaemonResolver:z,closeDaemonResolver:M}=await Promise.resolve().then(()=>(fi(),ui)),Z=await u();if(!Z.enabled)return null;let{slugKey:V}=await Promise.resolve().then(()=>(Je(),Gi)),Se=i?.token?g(i):null;!t.resolver&&Se&&z(Se);let ue=i?.token?k(i.allowedFilters,T(i)):null,U=new Set(Z.filters.disabled.map(V)),J=ue&&U.size>0?new Set([...ue].filter(B=>!U.has(B))):ue,G=Mx(e),K=`${e.tool_name.toLowerCase()}-tool`,W=`${K}: ${G}`;try{let B=await f(W,l,J,{verbosity:Z.outputVerbosity,resolver:t.resolver,yolo:r,exitCode:e.tool_name==="Bash"?void 0:0});if(B.filterId!=null&&e.tool_name==="Bash"&&e.session_id){let Ti=ai(e.session_id,e.agent_id??"main",l,s.split(`
126
+ `)[0]??"");if(Ti){let Ri=li(Ti.cmd,c);return r?Ri:await m(l,Ri)}}let ye=new RegExp(p.source,"m"),sn=e.tool_name==="Bash"?N(e.tool_input?.command??""):e.tool_name,Si=e.tool_name==="Read"&&!r&&(ye.test(B.output)||Ax.test(B.output))?`${B.output}${B.output.endsWith(`
127
127
  `)?"":`
128
- `}${Ex}`:H.output,ie;if(H.filteredBytes>=H.rawBytes?ie=null:r?ie=H.output:e.tool_name==="Glob"||ye.test(H.output)?ie=await m(l,Si,void 0,{label:sn}):ie=await d(H.droppedTail??null,Si,void 0,{raw:l,label:sn}),r&&ie!=null&&(ie=Lf(zf(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let id=ie==null?H.rawBytes:Buffer.byteLength(ie,"utf8"),ns=Dr().host,qe=I(H.rawBytes,id,Nr(ns));ie!=null&&Jf(qe.raw,qe.filtered);let ad=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),ld=e.tool_name==="Bash"?"sh":void 0,rs=t.deferAccounting,vi=!1,Ei=async()=>{vi||(vi=!0,await v({cmd:W,filterId:H.filterId,rawBytes:H.rawBytes,filteredBytes:H.filteredBytes,plan:Se}),E(qe.raw,qe.filtered,void 0,!1,ns,ld,sn,ad,L(H)),await R({cmd:W,tokensSaved:Math.round((qe.raw-qe.filtered)/4),rawTokens:Math.round(qe.raw/4),optimized:H.filterId!=null,telemetryOptIn:Z.telemetryOptIn&&(!rs||(await u()).telemetryOptIn),host:ns}))};return rs?rs(Ei):await Ei(),ie}finally{t.resolver||D()}}async function Kf(e,t={}){if(Df(e,"claude-code")!=="claude-code")return"";let n=await zx(e,t);return n?Rx(e,n,$x()??void 0):""}we();we();var mi=JSON.stringify({permission:"allow"});function Wf(e,t=xe("cursor"),n=se){if(e.tool_name!=="Shell")return mi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return mi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Fe(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):mi}we();var Yr="{}";function Vf(e,t=xe("gemini-cli"),n=se){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return Yr;let r=e.tool_input??{};if(r.is_background)return Yr;let s=r.command;if(typeof s!="string"||!s)return Yr;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Fe(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):Yr}$e();we();function Xt(e,t,n="unknown",r=xe(t),s=se){return e?Fe(e,{host:t,sessionId:n},he()?null:r,s):null}var Jx=new Set(["bash","file_system.bash"]),hi=JSON.stringify({decision:"allow"});function Yf(e,t=(n,r)=>Xt(n,"vibe",r)){if(!F(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!Jx.has(e.tool_name))return"";let n=e.tool_input;if(!F(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function qf(e,t=(n,r)=>Xt(n,"antigravity",r)){if(!F(e)||!F(e.toolCall)||e.toolCall.name!=="run_command")return hi;let n=e.toolCall.args;if(!F(n)||typeof n.CommandLine!="string"||!n.CommandLine)return hi;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):hi}we();var Le="{}",Gx=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),Zx=["run_in_background","is_background","isBackground"];function qr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function Kx(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function Wx(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function Xr(e,t,n,r,s){if(!qr(t)||Zx.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Fe(o,{host:e,sessionId:Kx(n),cwd:Wx(n,t)},he()?null:r,s)}function en(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function Vx(e){if(qr(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return qr(t)?t:null}catch{return null}}function Yx(e,t,n){if(typeof e.tool_name=="string"){if(!Gx.has(e.tool_name))return Le;let o=e.tool_input,i=Xr("copilot",o,e,t,n);return i?en(o,i):Le}if(e.toolName!=="bash")return Le;let r=Vx(e.toolArgs),s=Xr("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Le}function Qt(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Le;let i=r.tool_input,a=Xr(e,i,r,s,o);return a?n(i,a):Le}}var qx=new Set(["run_terminal_command","Bash","bash"]);function Xx(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!qx.has(r))return Le;let s=e.toolInput??e.tool_input,o=Xr("grok",s,e,t,n);return o?en(s,o):Le}var Qx={copilot:Yx,droid:Qt("droid","Execute",en),trae:Qt("trae","RunCommand",en),"qwen-code":Qt("qwen-code","run_shell_command",en),crush:Qt("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:Qt("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:Qt("zcode","Bash",en),grok:Xx};function Xf(e,t,n=xe(e),r=se){return qr(t)?Qx[e](t,n,r):Le}function tn(e){return he()?null:xe(e)}function eS(e,t,n={}){let r=n.recordUsage??se;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Cf(t,e,tn(e),r,n.claudeDirs??Wr(),n.pathEnv??process.env.PATH)??"";case"cursor":return Wf(t,tn(e),r);case"gemini-cli":return Vf(t,tn(e),r);case"vibe":return Yf(t,(s,o)=>Xt(s,"vibe",o,tn(e),r));case"antigravity":return qf(t,(s,o)=>Xt(s,"antigravity",o,tn(e),r));default:return Xf(e,t,tn(e),r)}}function qt(e,t,n={}){let r=ci(e,t);return r?eS(r,e,n):n.fallback??""}Dn();var Qr=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function nn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function Qf(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}we();var iS={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},aS=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Io),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),lS=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional()}).strict(),cS=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function rn(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=gs()}async function td(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=nS(sS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=rS(x()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,c=e.maxBufferedBytes??48*1024*1024,u=oS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",m=null,p=!1,b=0,g=!1,T,v,R=()=>{i-=b,b=0},E=()=>{clearTimeout(v),L.close(),g||R(),d="closed",f.destroy()},I=z=>{clearTimeout(v),v=setTimeout(E,z),v.unref()},M=z=>{f.write(nn(Buffer.from(JSON.stringify(z))))},L=new Qr(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,z=>{if(d==="delivery"){if(z.length!==1||z[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let U=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(nn(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(R(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="hook-payload"){let U=e.getRuntime();if(!rn(U)){E();return}let J=JSON.parse(z.toString("utf8"));if(!J||typeof J!="object"||Array.isArray(J))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,I(e.processingTimeoutMs??5e3);let G=Kf(J,{inferCwd:!1,deferAccounting:W=>{T=W},resolver:async(W,K)=>{if(!rn(U))throw new Error("expired processing rules");return U.selectFor(W,"pro",K?[...K]:void 0)}}).then(W=>{if(f.destroyed)return;let K=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:W}));if(K.length>20971536)throw new Error("hook response limit");R(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(K))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(R(),s.delete(f)),o.delete(G)});o.add(G);return}if(d==="prepare"){let U=JSON.parse(z.toString("utf8"));if(U?.kind==="post-tool-use"){let G=cS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n||!rn(e.getRuntime())){E();return}e.onActivity?.(),R(),d="hook-payload",I(e.prepareTimeoutMs??1e3),M({ok:!0,protocol:2});return}if(U?.kind==="pre-tool-use"){let G=lS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n){E();return}e.onActivity?.();let W,K=qt(G.payload,G.host,{recordUsage:(ye,sn)=>{W={sessionId:ye,routed:sn}},claudeDirs:{projectDir:G.claudeProjectDir,configDir:G.claudeConfigDir},pathEnv:G.path??""}),H=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(H.length>1024*1024)throw new Error("hook response limit");T=async()=>{let ye=W;W=void 0,ye&&se(ye.sessionId,ye.routed)},R(),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(H));return}let J=aS.parse(U);if(!yi(r,Buffer.from(J.token,"hex"))||J.version!==e.version||J.home!==n||!rn(e.getRuntime())){E();return}m=J,e.onActivity?.(),p=_e(),R(),d="capture",I(J.timeoutMs+5e3),M({ok:!0,protocol:2,yolo:p});return}if(d!=="capture"||!m)throw new Error("unexpected processing frame");let D=Qf(z);e.onActivity?.();let Z=e.getRuntime();if(!rn(Z)){E();return}d="processing",g=!0,I(e.processingTimeoutMs??5e3);let V={},Se=iS[m.host];Se?V[Se]="1":m.host!=="shell"&&(V.TOKMIZER_HOST=m.host),m.sessionId!==void 0&&(V.CLAUDE_CODE_SESSION_ID=m.sessionId),V.TOKMIZER_CCR_DISABLED=m.restoreDisabled?"1":"0",m.restoreMaxBytes!==void 0&&(V.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(m.restoreMaxBytes));let ue=Ur({...D,argv:m.argv},{env:V,yolo:p,onMissingState:Br,deferAccounting:U=>{T=U},resolver:async(U,J)=>{if(!rn(Z))throw new Error("expired processing rules");return Z.selectFor(U,"pro",J?[...J]:void 0)}}).then(U=>{if(f.destroyed)return;let J=Buffer.from(U.stdout),G=Buffer.from(U.stderr);if(J.length>10551296||G.length>10551296)throw new Error("processing response limit");let W=Buffer.allocUnsafe(8);W.writeUInt32BE(J.length,0),W.writeUInt32BE(G.length,4),d="delivery",I(e.processingTimeoutMs??5e3),f.write(nn(Buffer.concat([W,J,G])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(R(),s.delete(f)),o.delete(ue)});o.add(ue)},z=>{if(i+z>c)throw new Error("processing capacity exceeded");i+=z,b+=z});I(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{L.push(z)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{u.once("error",d),u.listen(e.path,()=>{u.off("error",d),f()})}),t||tS(e.path,384)}catch(f){throw u.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>u.close(()=>f())),await Promise.allSettled(o)}}}function ki(e=pe){return`processing-${e}.json`}function bS(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function rd(e,t,n="processing.json"){let r=process.platform==="win32",s=mS(x()),o=es(s,"run");dS(o,{recursive:!0,mode:448});let i=fS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=nd().slice(0,8),l=r?bS(process.env.USERNAME??"user",pe,a):es(yS(kt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=uS(32).toString("hex"),u=await td({path:l,token:c,version:pe,getRuntime:e,...t?{onActivity:t}:{}}),f=es(o,`${n}.${nd()}.tmp`);try{return gS(f,JSON.stringify({protocol:2,version:pe,home:s,path:l,token:c}),{mode:384,flag:"wx"}),pS(f,es(o,n)),u}catch(d){throw await u.close(),d}finally{hS(f,{force:!0})}}function sd(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let c=t();if(!c)return;let u=Date.now();s=!0,r={...c,signedAt:u,fetchedAt:u}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}j();It();var xS=6e4,SS=5e3,vS=30*6e4;function od(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:vS}async function ES(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
129
- `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await Ke(r,t,null,{resolver:n}).catch(()=>null)}function TS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function RS(e){for(let t=0;t<2;t+=1)try{return wS(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(xi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&TS(n))return!1;ts(e,{force:!0})}return!1}function wi(e,t){try{return t(xi(e,"utf8"))}catch{return!1}}async function AS(){let e=_i(_S(x()),"run");kS(e,{recursive:!0,mode:448});let t=_i(e,`processor-${pe}.pid`);if(!RS(t))return;let n=sd(Xn,Ft,SS),r=Date.now(),s=()=>{r=Date.now()},o=_i(e,ki()),i=null,a=null,l=!1,c=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&wi(o,d=>JSON.parse(d).path===i)&&ts(o,{force:!0}),wi(t,d=>Number(d)===process.pid)&&ts(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await rd(n.current,s,ki())}catch{ts(t,{force:!0});return}i=wi(o,()=>!0)?JSON.parse(xi(o,"utf8")).path:null,setInterval(()=>{n.reload()},xS).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>od()&&c()},Math.min(6e4,od())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{ES(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}AS().catch(()=>process.exit(0));
128
+ `}${$x}`:B.output,ie;if(B.filteredBytes>=B.rawBytes?ie=null:r?ie=B.output:e.tool_name==="Glob"||ye.test(B.output)?ie=await m(l,Si,void 0,{label:sn}):ie=await d(B.droppedTail??null,Si,void 0,{raw:l,label:sn}),r&&ie!=null&&(ie=zf(Kf(e.tool_response,ie,e.tool_name))),n!=null&&(ie==null||ie.length>n))return null;let fd=ie==null?B.rawBytes:Buffer.byteLength(ie,"utf8"),ns=Dr().host,qe=O(B.rawBytes,fd,Nr(ns));ie!=null&&Vf(qe.raw,qe.filtered);let dd=e.cwd||(t.inferCwd===!1?void 0:process.cwd()),md=e.tool_name==="Bash"?"sh":void 0,rs=t.deferAccounting,vi=!1,Ei=async()=>{vi||(vi=!0,await x({cmd:K,filterId:B.filterId,rawBytes:B.rawBytes,filteredBytes:B.filteredBytes,plan:Se}),E(qe.raw,qe.filtered,void 0,!1,ns,md,sn,dd,F(B)),await C({cmd:K,tokensSaved:Math.round((qe.raw-qe.filtered)/4),rawTokens:Math.round(qe.raw/4),optimized:B.filterId!=null,telemetryOptIn:Z.telemetryOptIn&&(!rs||(await u()).telemetryOptIn),host:ns}))};return rs?rs(Ei):await Ei(),ie}finally{t.resolver||M()}}async function Xf(e,t={}){if(Hf(e,"claude-code")!=="claude-code")return"";let n=await Wx(e,t);return n?Ox(e,n,Px()??void 0):""}we();we();var mi=JSON.stringify({permission:"allow"});function Qf(e,t=xe("cursor"),n=se){if(e.tool_name!=="Shell")return mi;let r=e.tool_input??{},s=r.command;if(typeof s!="string"||!s)return mi;let o=typeof r.working_directory=="string"?r.working_directory:void 0,i=Ye(s,{host:"cursor",sessionId:e.conversation_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({permission:"allow",updated_input:{...r,command:i}}):mi}we();var Yr="{}";function ed(e,t=xe("gemini-cli"),n=se){if(e.hook_event_name!=="BeforeTool"||e.tool_name!=="run_shell_command")return Yr;let r=e.tool_input??{};if(r.is_background)return Yr;let s=r.command;if(typeof s!="string"||!s)return Yr;let o=typeof e.cwd=="string"?e.cwd:void 0,i=Ye(s,{host:"gemini-cli",sessionId:e.session_id??"unknown",cwd:o},he()?null:t,n);return i?JSON.stringify({hookSpecificOutput:{tool_input:{command:i}}}):Yr}$e();we();function Xt(e,t,n="unknown",r=xe(t),s=se){return e?Ye(e,{host:t,sessionId:n},he()?null:r,s):null}var Kx=new Set(["bash","file_system.bash"]),hi=JSON.stringify({decision:"allow"});function td(e,t=(n,r)=>Xt(n,"vibe",r)){if(!L(e)||e.hook_event_name!=="pre_tool"||typeof e.tool_name!="string"||!Kx.has(e.tool_name))return"";let n=e.tool_input;if(!L(n)||typeof n.command!="string"||!n.command)return"";let r=t(n.command,typeof e.session_id=="string"?e.session_id:"unknown");return r?JSON.stringify({hook_specific_output:{tool_input:{...n,command:r}}}):""}function nd(e,t=(n,r)=>Xt(n,"antigravity",r)){if(!L(e)||!L(e.toolCall)||e.toolCall.name!=="run_command")return hi;let n=e.toolCall.args;if(!L(n)||typeof n.CommandLine!="string"||!n.CommandLine)return hi;let r=t(n.CommandLine,typeof e.conversationId=="string"?e.conversationId:"unknown");return r?JSON.stringify({decision:"allow",overwrite:{CommandLine:r}}):hi}we();var Fe="{}",Vx=new Set(["runTerminalCommand","run_in_terminal","Bash","bash"]),Yx=["run_in_background","is_background","isBackground"];function qr(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}function qx(e){let t=e.session_id??e.sessionId;return typeof t=="string"&&t?t:"unknown"}function Xx(e,t){let n=e.cwd??t.cwd??t.workdir??t.working_directory;return typeof n=="string"&&n?n:void 0}function Xr(e,t,n,r,s){if(!qr(t)||Yx.some(i=>t[i]===!0))return null;let o=t.command;return typeof o!="string"||!o?null:Ye(o,{host:e,sessionId:qx(n),cwd:Xx(n,t)},he()?null:r,s)}function en(e,t){return JSON.stringify({hookSpecificOutput:{hookEventName:"PreToolUse",updatedInput:{...e,command:t}}})}function Qx(e){if(qr(e))return e;if(typeof e!="string")return null;try{let t=JSON.parse(e);return qr(t)?t:null}catch{return null}}function eS(e,t,n){if(typeof e.tool_name=="string"){if(!Vx.has(e.tool_name))return Fe;let o=e.tool_input,i=Xr("copilot",o,e,t,n);return i?en(o,i):Fe}if(e.toolName!=="bash")return Fe;let r=Qx(e.toolArgs),s=Xr("copilot",r,e,t,n);return s?JSON.stringify({modifiedArgs:{...r,command:s}}):Fe}function Qt(e,t,n){return(r,s,o)=>{if(r.tool_name!==t)return Fe;let i=r.tool_input,a=Xr(e,i,r,s,o);return a?n(i,a):Fe}}var tS=new Set(["run_terminal_command","Bash","bash"]);function nS(e,t,n){let r=e.toolName??e.tool_name;if(typeof r!="string"||!tS.has(r))return Fe;let s=e.toolInput??e.tool_input,o=Xr("grok",s,e,t,n);return o?en(s,o):Fe}var rS={copilot:eS,droid:Qt("droid","Execute",en),trae:Qt("trae","RunCommand",en),"qwen-code":Qt("qwen-code","run_shell_command",en),crush:Qt("crush","bash",(e,t)=>JSON.stringify({updated_input:{command:t}})),junie:Qt("junie","Bash",(e,t)=>JSON.stringify({updatedInput:{...e,command:t}})),zcode:Qt("zcode","Bash",en),grok:nS};function rd(e,t,n=xe(e),r=se){return qr(t)?rS[e](t,n,r):Fe}function tn(e){return he()?null:xe(e)}function sS(e,t,n={}){let r=n.recordUsage??se;switch(e){case"claude-code":case"codex":return t.hook_event_name!==void 0&&t.hook_event_name!=="PreToolUse"?"":Cf(t,e,tn(e),r,n.claudeDirs??Kr(),n.pathEnv??process.env.PATH)??"";case"cursor":return Qf(t,tn(e),r);case"gemini-cli":return ed(t,tn(e),r);case"vibe":return td(t,(s,o)=>Xt(s,"vibe",o,tn(e),r));case"antigravity":return nd(t,(s,o)=>Xt(s,"antigravity",o,tn(e),r));default:return rd(e,t,tn(e),r)}}function qt(e,t,n={}){let r=ci(e,t);return r?sS(r,e,n):n.fallback??""}Dn();var Qr=class{constructor(t,n,r=()=>{}){this.limit=t;this.receive=n;this.reserve=r}limit;receive;reserve;header=Buffer.alloc(4);headerBytes=0;body=null;bodyBytes=0;closed=!1;push(t){if(this.closed)throw new Error("reader closed");let n=0;try{for(;n<t.length&&!this.closed;){if(!this.body){let s=Math.min(4-this.headerBytes,t.length-n);if(t.copy(this.header,this.headerBytes,n,n+s),this.headerBytes+=s,n+=s,this.headerBytes!==4)continue;let o=this.header.readUInt32BE(0);if(o>this.limit())throw new Error("frame limit exceeded");this.reserve(o),this.body=Buffer.allocUnsafe(o),this.bodyBytes=0}let r=Math.min(this.body.length-this.bodyBytes,t.length-n);if(t.copy(this.body,this.bodyBytes,n,n+r),this.bodyBytes+=r,n+=r,this.bodyBytes===this.body.length){let s=this.body;this.body=null,this.headerBytes=0,this.bodyBytes=0,this.receive(s)}}}catch(r){throw this.close(),r}}close(){this.closed=!0,this.body=null,this.headerBytes=0,this.bodyBytes=0}};function nn(e){let t=Buffer.allocUnsafe(4);return t.writeUInt32BE(e.length),Buffer.concat([t,e])}function sd(e){if(e.length<16)throw new Error("incomplete captured header");let t=e.readUInt32BE(0),n=e.readUInt32BE(4),r=e.readUInt32BE(8),s=e.readUInt32BE(12);if(t>255||n>3||r>10485760||s>10485760||e.length!==16+r+s)throw new Error("invalid captured output");return{stdout:e.subarray(16,16+r).toString("utf8"),stderr:e.subarray(16+r).toString("utf8"),exitCode:t,truncated:(n&1)!==0,stderrTruncated:(n&2)!==0}}we();var uS={"claude-code":"CLAUDECODE",codex:"CODEX_CLI",cursor:"CURSOR_VERSION",cline:"CLINE_VERSION",aider:"AIDER_VERSION","gemini-cli":"GEMINI_CLI_VERSION",windsurf:"WINDSURF_VERSION",copilot:"GITHUB_COPILOT_VERSION","qwen-code":"QWEN_CODE",crush:"CRUSH",droid:"",trae:"",junie:"",zcode:"",grok:"",kilo:"",shell:""},fS=h.object({protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),argv:h.array(h.string().max(32768).refine(e=>!e.includes("\0"))).min(1).max(4096),host:h.enum(Io),sessionId:h.string().max(256).optional(),restoreDisabled:h.boolean(),restoreMaxBytes:h.number().int().positive().max(10485760).optional(),timeoutMs:h.number().int().positive().max(864e5)}).strict(),dS=h.object({kind:h.literal("pre-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code","codex"]),payload:h.record(h.string(),h.unknown()),claudeProjectDir:h.string().min(1).max(4096).optional(),claudeConfigDir:h.string().min(1).max(4096).optional(),path:h.string().min(1).max(32768).optional()}).strict(),mS=h.object({kind:h.literal("post-tool-use"),protocol:h.literal(2),version:h.string().min(1).max(64),token:h.string().regex(/^[0-9a-f]{64}$/),home:h.string().min(1).max(4096),host:h.enum(["claude-code"])}).strict();function rn(e){if(!e)return!1;let t=Date.now()-e.signedAt;return t>=0&&t<=gs()}async function id(e){if(!/^[0-9a-f]{64}$/.test(e.token))throw new Error("invalid processing authentication");let t=process.platform==="win32";if(t){if(!/^\\\\\.\\pipe\\tokmizer-[A-Za-z0-9._-]+$/.test(e.path))throw new Error("unsafe processing pipe")}else{let f=iS(lS(e.path));if(!f.isDirectory()||f.uid!==process.getuid?.()||(f.mode&63)!==0)throw new Error("unsafe processing directory")}let n=aS(S()),r=Buffer.from(e.token,"hex"),s=new Set,o=new Set,i=0,a=!1,l=e.maxConnections??4,c=e.maxBufferedBytes??48*1024*1024,u=cS(f=>{if(a||s.size>=l){f.destroy();return}s.add(f);let d="prepare",m=null,p=!1,k=0,g=!1,T,x,C=()=>{i-=k,k=0},E=()=>{clearTimeout(x),F.close(),g||C(),d="closed",f.destroy()},O=z=>{clearTimeout(x),x=setTimeout(E,z),x.unref()},N=z=>{f.write(nn(Buffer.from(JSON.stringify(z))))},F=new Qr(()=>d==="prepare"?65536:d==="capture"||d==="hook-payload"?20971536:d==="delivery"?1:-1,z=>{if(d==="delivery"){if(z.length!==1||z[0]!==1)throw new Error("invalid delivery receipt");d="accounting",e.onActivity?.(),g=!0;let U=(T?.()??Promise.resolve()).then(()=>{f.destroyed||f.end(nn(Buffer.from([1])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(U)});o.add(U);return}if(d==="hook-payload"){let U=e.getRuntime();if(!rn(U)){E();return}let J=JSON.parse(z.toString("utf8"));if(!J||typeof J!="object"||Array.isArray(J))throw new Error("invalid hook payload");e.onActivity?.(),d="processing",g=!0,O(e.processingTimeoutMs??5e3);let G=Xf(J,{inferCwd:!1,deferAccounting:K=>{T=K},resolver:async(K,W)=>{if(!rn(U))throw new Error("expired processing rules");return U.selectFor(K,"pro",W?[...W]:void 0)}}).then(K=>{if(f.destroyed)return;let W=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:K}));if(W.length>20971536)throw new Error("hook response limit");C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(W))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(G)});o.add(G);return}if(d==="prepare"){let U=JSON.parse(z.toString("utf8"));if(U?.kind==="post-tool-use"){let G=mS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n||!rn(e.getRuntime())){E();return}e.onActivity?.(),C(),d="hook-payload",O(e.prepareTimeoutMs??1e3),N({ok:!0,protocol:2});return}if(U?.kind==="pre-tool-use"){let G=dS.parse(U);if(!yi(r,Buffer.from(G.token,"hex"))||G.version!==e.version||G.home!==n){E();return}e.onActivity?.();let K,W=qt(G.payload,G.host,{recordUsage:(ye,sn)=>{K={sessionId:ye,routed:sn}},claudeDirs:{projectDir:G.claudeProjectDir,configDir:G.claudeConfigDir},pathEnv:G.path??""}),B=Buffer.from(JSON.stringify({ok:!0,protocol:2,output:W}));if(B.length>1024*1024)throw new Error("hook response limit");T=async()=>{let ye=K;K=void 0,ye&&se(ye.sessionId,ye.routed)},C(),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(B));return}let J=fS.parse(U);if(!yi(r,Buffer.from(J.token,"hex"))||J.version!==e.version||J.home!==n||!rn(e.getRuntime())){E();return}m=J,e.onActivity?.(),p=_e(),C(),d="capture",O(J.timeoutMs+5e3),N({ok:!0,protocol:2,yolo:p});return}if(d!=="capture"||!m)throw new Error("unexpected processing frame");let M=sd(z);e.onActivity?.();let Z=e.getRuntime();if(!rn(Z)){E();return}d="processing",g=!0,O(e.processingTimeoutMs??5e3);let V={},Se=uS[m.host];Se?V[Se]="1":m.host!=="shell"&&(V.TOKMIZER_HOST=m.host),m.sessionId!==void 0&&(V.CLAUDE_CODE_SESSION_ID=m.sessionId),V.TOKMIZER_CCR_DISABLED=m.restoreDisabled?"1":"0",m.restoreMaxBytes!==void 0&&(V.TOKMIZER_CCR_ENTRY_MAX_BYTES=String(m.restoreMaxBytes));let ue=Ur({...M,argv:m.argv},{env:V,yolo:p,onMissingState:Br,deferAccounting:U=>{T=U},resolver:async(U,J)=>{if(!rn(Z))throw new Error("expired processing rules");return Z.selectFor(U,"pro",J?[...J]:void 0)}}).then(U=>{if(f.destroyed)return;let J=Buffer.from(U.stdout),G=Buffer.from(U.stderr);if(J.length>10551296||G.length>10551296)throw new Error("processing response limit");let K=Buffer.allocUnsafe(8);K.writeUInt32BE(J.length,0),K.writeUInt32BE(G.length,4),d="delivery",O(e.processingTimeoutMs??5e3),f.write(nn(Buffer.concat([K,J,G])))}).catch(()=>E()).finally(()=>{g=!1,f.destroyed&&(C(),s.delete(f)),o.delete(ue)});o.add(ue)},z=>{if(i+z>c)throw new Error("processing capacity exceeded");i+=z,k+=z});O(e.prepareTimeoutMs??1e3),f.on("data",z=>{try{F.push(z)}catch{E()}}),f.on("error",E),f.on("close",()=>{g||s.delete(f),E()})});try{await new Promise((f,d)=>{u.once("error",d),u.listen(e.path,()=>{u.off("error",d),f()})}),t||oS(e.path,384)}catch(f){throw u.close(),f}return{activeConnections:()=>s.size,close:async()=>{a=!0;for(let f of s)f.destroy();await new Promise(f=>u.close(()=>f())),await Promise.allSettled(o)}}}function ki(e=pe){return`processing-${e}.json`}function xS(e,t,n){return`\\\\.\\pipe\\tokmizer-p-${e.replace(/[^A-Za-z0-9._-]/g,"_").slice(0,64)||"user"}-${t.replace(/[^A-Za-z0-9._-]/g,"_")}-${n}`}async function ld(e,t,n="processing.json"){let r=process.platform==="win32",s=yS(S()),o=es(s,"run");gS(o,{recursive:!0,mode:448});let i=hS(o);if(!i.isDirectory()||!r&&(i.uid!==process.getuid?.()||(i.mode&63)!==0))throw new Error("unsafe processing descriptor directory");let a=ad().slice(0,8),l=r?xS(process.env.USERNAME??"user",pe,a):es(wS(kt().path),`p${a}`);if(!r&&Buffer.byteLength(l)>100)throw new Error("processing socket path too long");let c=pS(32).toString("hex"),u=await id({path:l,token:c,version:pe,getRuntime:e,...t?{onActivity:t}:{}}),f=es(o,`${n}.${ad()}.tmp`);try{return _S(f,JSON.stringify({protocol:2,version:pe,home:s,path:l,token:c}),{mode:384,flag:"wx"}),bS(f,es(o,n)),u}catch(d){throw await u.close(),d}finally{kS(f,{force:!0})}}function cd(e,t,n){let r=null,s=!1,o=0,i=null,a=()=>i||(o=Date.now(),i=e().catch(()=>null).then(l=>{if(l){s=!1,r=l;return}let c=t();if(!c)return;let u=Date.now();s=!0,r={...c,signedAt:u,fetchedAt:u}}).finally(()=>{i=null}),i);return{current:()=>((!r||s&&Date.now()-o>n)&&a(),r),reload:a}}H();It();var TS=6e4,RS=5e3,AS=30*6e4;function ud(){let e=Number(process.env.TOKMIZER_PROCESSOR_IDLE_MS);return Number.isFinite(e)&&e>0?e:AS}async function $S(e){if(!e)return;let t=Array.from({length:200},(r,s)=>`-rw-r--r-- 1 user staff ${s*97} Jan 1 00:00 file-${s}.txt`).join(`
129
+ `),n=async(r,s)=>e.selectFor(r,"pro",s?[...s]:void 0);for(let r of["ls -la","git status","grep -rn x ."])await Ze(r,t,null,{resolver:n}).catch(()=>null)}function CS(e){try{return process.kill(e,0),!0}catch(t){return t.code==="EPERM"}}function OS(e){for(let t=0;t<2;t+=1)try{return ES(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{let n=Number.NaN;try{n=Number(xi(e,"utf8"))}catch{}if(Number.isInteger(n)&&n>0&&CS(n))return!1;ts(e,{force:!0})}return!1}function wi(e,t){try{return t(xi(e,"utf8"))}catch{return!1}}async function IS(){let e=_i(vS(S()),"run");SS(e,{recursive:!0,mode:448});let t=_i(e,`processor-${pe}.pid`);if(!OS(t))return;let n=cd(Xn,Ft,RS),r=Date.now(),s=()=>{r=Date.now()},o=_i(e,ki()),i=null,a=null,l=!1,c=()=>{l||(l=!0,(a?.close()??Promise.resolve()).finally(()=>{i&&wi(o,d=>JSON.parse(d).path===i)&&ts(o,{force:!0}),wi(t,d=>Number(d)===process.pid)&&ts(t,{force:!0}),process.exit(0)}))};await n.reload();try{a=await ld(n.current,s,ki())}catch{ts(t,{force:!0});return}i=wi(o,()=>!0)?JSON.parse(xi(o,"utf8")).path:null,setInterval(()=>{n.reload()},TS).unref(),setInterval(()=>{(a?.activeConnections()??0)===0&&Date.now()-r>ud()&&c()},Math.min(6e4,ud())).unref(),process.on("SIGINT",c),process.on("SIGTERM",c),setImmediate(()=>{$S(n.current())}),setTimeout(()=>{process.title="tkr-processor"},1e3).unref()}IS().catch(()=>process.exit(0));
130
130
  /*! Bundled license information:
131
131
 
132
132
  smol-toml/dist/error.js: