@tokmizer/plugin 0.9.62 → 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.
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/dist/bin/tkr-agent-hook.js +9 -9
- package/dist/bin/tkr-codex-hook.js +67 -67
- package/dist/bin/tkr-copilot-hook.js +9 -9
- package/dist/bin/tkr-crush-hook.js +9 -9
- package/dist/bin/tkr-cursor-hook.js +8 -8
- package/dist/bin/tkr-daemon.js +113 -113
- package/dist/bin/tkr-droid-hook.js +9 -9
- package/dist/bin/tkr-exec +2 -2
- package/dist/bin/tkr-exec.js +2 -2
- package/dist/bin/tkr-gemini-hook.js +8 -8
- package/dist/bin/tkr-grok-hook.js +9 -9
- package/dist/bin/tkr-junie-hook.js +9 -9
- package/dist/bin/tkr-processor.js +81 -81
- package/dist/bin/tkr-qwen-hook.js +9 -9
- package/dist/bin/tkr-shim.js +2 -2
- package/dist/bin/tkr-trae-hook.js +9 -9
- package/dist/bin/tkr-zcode-hook.js +9 -9
- package/dist/bin/tkr.js +233 -233
- package/dist/hooks-host/post-tool-use.js +2 -2
- package/dist/hooks-host/pre-tool-use.js +9 -9
- package/dist/hooks-host/reducer-stop.js +1 -1
- package/dist/hooks-host/session-recap.js +1 -1
- package/dist/index.js +2 -2
- package/dist/native/manifest.json +12 -12
- package/dist/native/single.json +12 -12
- package/dist/native/tkr-exec-darwin-arm64 +0 -0
- package/dist/native/tkr-exec-darwin-x64 +0 -0
- package/dist/native/tkr-exec-linux-arm64 +0 -0
- package/dist/native/tkr-exec-linux-x64 +0 -0
- package/dist/native/tkr-exec-win32-arm64.exe +0 -0
- package/dist/native/tkr-exec-win32-x64.exe +0 -0
- package/package.json +7 -7
|
@@ -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.62";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
|
|
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
|
|
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
|
|
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)
|
|
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"&&
|
|
16
|
-
`)+
|
|
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
|
|
23
|
-
`),ua=!0),Pt=new Map,Pt))}async function
|
|
24
|
-
`).length<6)}var
|
|
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=>
|
|
27
|
-
`):null,a=[...a.slice(0,g),...E>0?[Nt(E)]:[],...
|
|
28
|
-
`),a=[...a.slice(0,g),Nt(T)];else{let{kept:
|
|
29
|
-
`):null,a=
|
|
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
|
|
32
|
-
`)[0]})`}),{filters:n,tests:r,issues:s}}let a
|
|
33
|
-
`))if(!/^\s*[✓✔√]\s/.test(t)&&
|
|
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
|
|
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
|
|
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=>
|
|
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
|
|
45
|
-
`)+n;return Buffer.byteLength(
|
|
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=
|
|
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?
|
|
49
|
-
`)+t}function
|
|
50
|
-
`);for(let n=0;n<t.length;n+=1){if(!
|
|
51
|
-
`)}function
|
|
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:
|
|
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
|
|
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=
|
|
62
|
-
`),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(
|
|
63
|
-
`)}var
|
|
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(!
|
|
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
|
|
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 ${
|
|
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="GAEvzj_cl1cSD-1wUUvo0DWMRxxMvAGU-1MPitUGrrI1oS3G9OELrSL4zBl_bhCFbIvUH2vqsjTTByNots9zdNGvsGQ4yuYyemv-hLQiFZFs34jXJz24cfpHmvpaB2kGQjClNyTrfGNdJVxX0vUTqQizTdtWTdPa2CjMZ6ASGJkFyDL3xRcfnW11cSGXexuu4CE0zkcrQAN31JB471C6-QUCcRhBHQ_ClKxICI0Wd8IuskpwUqJBjGOKEbpo9A7P1IbhuPSYA7agBENCfIf3j1cdNg4DX1xQD-nZpkFbS8DSGlIu8biljYjpoh66UZEecldoUceGtdVIN8rPF_KZpgEbWVRBGkGhKoO7pcqNXR0z23PEBjqukzv6wUnh-9IZBZdWFui9ytW9tGfB6TZcZij8aQNoNU8E614J9-P-A-4ha-vyBPR1ZAscWQIuP5Ygq5rtC8meDBi5D5cNt1NOEsSs78PeEBT5O475vODyMKRSrTbvDSHsp0Mk25aMEUc9diZdrs9k2tFycbQOttwc88mf6PbPaDuodz1Ixsd2-tbmDPOzBtGxiE6OcKs9-BkvZly8-oqSe2jkxWKNNm6GfGUVw-MviA4Vptfkx60RJCjins_1DeBBo8V4K-wEDwFsiH0Xulg02gRNHOoWSeZ0XHnNBcfB1LPnLuSMM5AtbgSJxp_tS8sfg1zfmfiFT5TDCxM6j5zVldERJaJl8aXL658rChWeFc1MhP8_Fxl-d2Vj7cvw69Q4DfvLMbmisrSJGBqpfW7KYYEQHKLf92-zVxQ2VrgJEpE7YEEmcE4QYCD9VlU-jN6HCg9SS6oe7udifP8fUyJ7ilUhMWBUifoEFR9g2cKfirtnMQGtBU1ztTnKBgfejtxz9_KmQiZSDN_kgjoum2tSgXN0dMqXv5Suandk5PpBJH5ohWO1M5qk9Y3AViHuiSq9bbqe3uMI_TTIV3I7HN2DYYKE2N1rclYrfRHv6z4aRUL0xHIlBIL1ztTjLh1DJQf65NdI6RbbpzRSNBLLiKgZlIpvz47AauU_sxIiiIGo1IfnPlJ3SZVR13oZrMgyOmWhiXLAoLzppxCUfjRdYIGxkXw6k7whDDwbYClD1THVp_kBm6YRQoCaBISTKDU6GOSCmX1v-UUykwNlQHAPQEe_SH4NEf_8GCXY9k2a1_gg55Bgmo38NdodvZlIeKNrFzdkU6B3pikWHNuhC0IvwfHvyUgsagBqEK57YDHdgjbKNgp9U9JjuXsUNmYl6AXfIIc6gkH56GiRz7m1QyYznXZbptmRAmdlFGIRn-b1j5TEgzwmqpMT2WkonBt6t2U1ScK60x61VQIsZto9gaLCzGlDChPwZxbmUoRQU-BKY8B6PGsT2XdyMWDkzWMGEfcnVBDzSLRiCEz93f6cB9DgqnkqP7Mg3-9-law6MjmLEeqB8Vp12O_ALhlTvqwwZEnEOUyC5M9aNUPP_WGb_5v3ryB-rZq6QYPY0OxicmGJnhEIfGzvuAd7iYNX2dEWidOBT1ynL4oDk28Yg6iifv9MuYKvJMk9LPFTPEg3sPzUocmTdwfEGzlwDeRhX0bmIHtGm4Qu6FFzoWD4VEq_RE7VsX8oEMnKIyn0f_io5yXUxsncS5eQyfi48jjj04dM1AydfPRYL2kINO1u7tVfeODbDP-2Ex8hakcAN64f5XMkeXvo-j3s83L2ag23iyvG8SRP398yAssbDjrVZxcLEBvJqLwm_kOe14KJL3-Yu2yqsamXCc2G-zdgHDHadKVJXFtdQpN01P9ERH3TY-5dYzleoWTNc3mINCflICd9AS_SFuXLWBkBRajSTqCp5AbBU82VQO33XgIb3K9OX8AOVkckufamWbvBgIHdTerIFp0U6TYUcLe-hJvT2_bSDbIqwjxSWlc4pBAfu3BB1eBpQF9c1Q5I4aCWIhFuDYDLJmmhcE6INN39SkzHKipZ5db44rw4H5WYo7MLKrtnNveRT2nrOg1Izdk_lhR0sIATFj2g9Imaj55RhHXkVGIpnfeg0KXYfRJKQauUEtBR7v_3YhVtqm-Eik7WFgsVA4JXRrGlF8MaH-cE8-DzxB_084wgFLXXw8nuRWOesyx5p_4-It-zI_wbfsJFAnSz2N-D7OjM90JSrRVzBFEyZAKnyRxlxQha5gFwcm5nHlnBquDCZavXu_WYNwul6QG6gz2VyQtcshTkEhn2yzcRDISw8ZvwLHFpIrCTMTKNgkSG8pISIzC9tRln95RurKRPGsWevQmArW3suf2jIA7D354g0J5gp53xEWL1WJRODpEWoj09xv40c3Y9NC2EGInj154X0sT16CPzVxhpw-W2nJEYXz33hjV59aMk4sah5_7BFfyAFDUBkYLhW__7JmQLmB3NSnHRCxCGVwCeC9V1OaX2QIZSRyFTDKn9GSFjYeLk0kuXQD8ZZeB5OHbLSMeT3RfwrOja892-EQavZcb120rAm7mbZA4YPeXVlwy_WZCd0zP1hHcSzcYKd7HSD3C9VxqoSnvVxItQV75yr95tNKTjg19J1Ku1g_YELCVXx5WrecQO9CNQOQlcpG-fm1hq8EfWRkq7net_KUugRPJsOgO8wtdJP3a1fyxtkhDxaWqt6l6vLVI-k1-zWCvF02EiXShYVACVXUJnOlWsrsTW8vVB_KPX_N3Sa9u-BbeNxihH4JmyRP3H-m8SWQ80HCjVLuoPYfI0ZeDWpBQYcEe_yX2jHVaRCBkd6EFkLooamYvK810xeB-SMKPnqhBks_YLb8T_rx7KAjbjRyVJcuyBdMrKOSJ_-lKZUqyDbHg6HnaTwOMNL4zUQL6n3D-LwBgrI-P1c_XdYAU8KDwxRr8ytDmHqlxp0u0DGeAu__2E-AFyLtP-EStK53Y7PhgoyO4oJkXpQbNJT8rp1y_7We_T7pygRqWsiy8aGU36mYzHLcCw5SUT5DOJ-BelXcM7Yb_K-RM_kjq0cj-WbMawARXh1ndiA0wXsU5F1p3CEme9mKfTZjlkJwQfx6D0zH_6MQJ2ku3fMnG8c1uz1rvToMPa1SPDeB9obOduGnIFyCQB6onV37Uh-gHMAspbdNTTxZPDpENVkpwz9epz4hqt_MiUWFjSc2jCUwRjUoSIFKmOalP0NA4iJrfdvfaEnjwOJ1n6AATlt52LwgNYBSAmtvoX9qFFJyQYsvfNv9BebO0qgTwVN8d1E2g2DLXL1xgN8gJ5tZj3_HSSIMivKD7BJUhkKwReCNbd01I5C8HQXxA3smgu3vQAQ5Acs9CiyTDTj9_Pz4J9ZDnbpG1GC8e7NgrkYZLbDkSTlXNMZ3MPeig0vJjNWIEkzNeIIUxg-eqRZVMN4kATjEr5YESg6Uth2E1_Bd3xPkha4rCfqNoMeDnITccPqmu82uo7UGKOB3_b--obT9pumTnTBZawHpPCLzhOD-5zSv_YfwcSse5H57IHImtAzkeVTZHiBmwXtxU17TLti7rIxFQz90f4ehlKCzRNJENuBoSsKxw1fFOkqOShhUBHe7AdeA3QnJUX-hjyNvbUNEZSO9UL5AmIuXM4v4dRbR-g2NMojHmOYnh2RLky4GTGFUKUbx79fBl_VpT0blHkVu47Lk-BO-0ykDe1dh3lyDDUjhr9yOtR_kBSiZ1RmXlUurtt0gzqWfHPNGYGgGSN-sSgBJjiXEZDVe1e-vXR1_XL5L9NHxAYT9Dwpg-vyJC0_MykOazPEywiOX8ZlElgw8ntxWHhjFnQf6cgnHSHuDtf8PI7lLTJcaGxBm3gyWeRchNZRFUQns59TRIXj0EOq14hLzp5IFEPo5MPu7u5JbMxL7L-LJSVMQNTPs6sOlMqfsqseRd-6cvehvOKpGvgHOXz0RfwgY2paW9euWTUrEixh8AN9KTkV1aR0ztClSDhJhNNlr4yRz_OPjzTmxKxsabyU12xVbT9_wcaVmozwqfVKb6wifa5uVqZmwg0_jcE7oJKqNANRb92v1iu6iBd0-uVvm2q5TXmzZbG7RazzOyKQ0AOeFLrn6MRNZoEpnWY21L_9jqb1rRCzwrJgajLVF9FPaD4pACONTO6wIJrnNuhdJ8w2OQhnYaV2iS6DViJISTsVPgx5AV3HSauk37ijvY8IZGAYOm79czFaBYoSlNFoEo5lfwGkxelJ0eS7FcaykOx30IRCxzwgkrbDazLlaPRxwFHcWD2RY-PtKGHfKLNwE4XFXbJoV_OhJl_aoHShS1Lux2su18iiqpsfKFZrCqjSiOkiaTMOyKuP6C64YGv3fRDmqIx9qctucGb9Kxzg5qF2AWMrcoGBKhC7fD1K4NXUSIWqLqYkh3HdjweJRNOmRnLPVK2snvpW7yuvcPvC1CywWh2_8DOTsrBv9tjedkQQhwgzLhSicZpLnpItKAGk17cY73EiLkk_SusZMXNqITURIicqeqzagMqdKytXNaXb-N63OdPzNRNGSeUamEyIKo4zmuV-KiEWqNYjGHgOCe-Pi378a8rNyxq16daCldCXzH6Y51OxjiIgpSygVMuJOkN2jAwnrw9Nwq5bGMjRWqhIVZ5-bULvBcq3F1aypiSO-5Td2o6dIk9uVu7NMOnqT-u9enFLMv-Dwt_rmRkBu_f1D2ewSE2CviKgqZi8G93FmXRTAqmSVF1MgkK1utBqvxNJeYouTP8iOlLat2etvVLpQs22aXiA9Gvpv2is4YrFZIMwkOB9lZEzfThZTHnrIrD_sxakE_GkICrvaPNVa1vXc7QkmM8i7jdhad1C1M93vyYVnnGLD3O7sB2HXV7mwgGTNY7hOfFxv5-5U8LRaNrO4TlIGe_On0z3YIVm3Yqe1l9GFauPx8CNAr29EpQ4NHvzLZeUvt3apv4rplDAsVM2L8JelrprGgUVFmAYWVCOUY1Ei9fG_ObOM716Q033oLGMtAzaNBd3nwPmBFdasXiMBuGi6wjCbaou550ttxOjJ0yE-nYMJ_oWzVlbP4B6R-vf2X_MHdDgxG2Pcit6z-96k_KtedYvSyg_KuzLubX63gqaFBj0kGHbQKExWhi3lNvUGCBP48J9DbS7j4aIkJQ45lpjh6YnVxgLoRPJSYw5FM8mYrzllyqf6A9zoYgBtH1vLOjSTpz3YHRZuRKORsHvfS6lrKPnrZGLhyJPMkLBR7PZ_JmSuFK9kESuH-Zef08uUYvkSlGcvtV5e1BqkEmcWR8mvU9QYERhV1Qj_0uzeDq8c_pTcpl6v3JSTEtE60HpU6xdr05-slqDEqLdjjMJ6odJEirN52JfT9yDxpp9CBMKOX7b6kvICnqfCUWWIJ0RS4ziGo1V68cK0Rvpqatjr0CAtigH-GfI5mcOAxhD2sxT7l44lXRxfTpflhVoFNTregRS2F-XywcqPq0A3369htLlYeYfHv_4Ht9U8R2S-m-s_3ls2xNYMUrB5Fj8SJvjK2d-Z8mfphvwDQwbxGlFSdRJgu92xFSoUnEef6NN5CF1GJtp5T06eeWJt2LVGLBcBEf_eRdpiJy3gc3px8hK774FHjoXizN6mTkg94_jgG8fiKVOoDOyk7Wwq1eTRRns96BW0d04A8oDzFXGih99ZIzF3bwrUuvG2C-plHeIynib3ymdkQPdUJ7_hdWSiGQ9YONacT9lY6z8UYBi6l9eQmwoMTQV6ImO5Aji81kdXwMhMKixdSwmn6sIMmHafoVwA8M64YaZDrstNcJS-yysxjd2exQHitB7K-WlCNmaVeyijCr72zOViNzR8YprHyqxib-cKjZZL6FOxgNMKfe8rGS_UZBIAUGJop-kYXhIMw3hueL8p3o5Y-MI52NYxxUeJamdblxFFNyrIHIE-yKtdHEAkrs4IgL0SaIPxqGFlqK9s0YGuCDUwkosDVjMQLhZyevKP-JPp5bGfxMKxRlaba26S8RtTlPoEDdUdbBrw_jG30NLaIz461H7eQXdjOTHQ0vKy4Vpumrco6KJTUcpOXs5UJeDeo4yQyvO8GpqJvsWe4Mxhr-Ntapnk6Xv4U-_Vpfh5wSUJRLX2nINm3MBIvz8Mjqo7TOjf7Mwx9wGuoOcNOuKNvofPETFmMkRrYjnkBjpoayczgW3GvdYqhzbAppzpQIdIm685SA7Cw_5zZ-aVRg7C4Yj7ZzR6Dqvg5K-2FdTKgwFwAco3vdfjkWkMDS6M5tzitgcP_bSVfnykHan-xhRHhyjBORcLmIx4PxB2WYClYFOajhNX06-3Lz6f7e8tlB2HMp83SEQ8GDSciCd450meXjoiFy0A4pdBRG11osuaCmU1147cQDA1fuTR-xCdNF9NAUH1XQWuKNonWJgJJqsrdkcfNM3d4aZg1Ex0uKkHT0fKyQ-SAI8n_azGkgpSv8Aa7ogy4UBgM7SjvnjWh9K2E8ihBKl6lHtl6yJtLFfUksOCHxoIPhZR5HNV12fv9o_Gd0MMSWw8c4v2WpY6k0c1FxgbsXQ3NehZ5Sl588qS53-XgedGAtjyXORLtRjh5OsW1kxmMKwjnLw8IVq8kRLKlMxUCXk-xBj3r_u1rDGQ2AK-cldRiSVWFSpMJglRyuIlTiOU4Vj8Ccax1W2D3rqL5T6tnPgD9QVi6eMCzbfQqK-mXrfHfkQ9ypsngzncB50XN1vYE_6cKyiJQYWqZQP3Xw7hDcUxxA1O8Yo5nRFTij8li5P7_uEURRjWWoSFKFbNWI2vvCma9rmpUMlmT3JRcyThZ6XYh5nyUhdBZnvHKmEUqa2b3G8xfQMFg0f3Wx2DG4McIiIty1XsFjXcih0FBkYtIIpgscd2S7GBS9SrcyFFX9G_rFu4r91S6kK7erm0tAqw50dMRhzIZKTdHNeiPPeDGkXpMyMXsZ53ri86dOyBmxvqbE6sA0NX7TKg_AdkG3uQRqYtWpUGwWwIFsrS0x1br52nrky3CWLrXQse9DjO_OsROWnwHFLGpIVlfHh5okL1AnXH9ZzC9MYSNhX8mHZ5R4GC3HZeCm5HaoDzu6EMxWpmANnTbonfWFzd1tLRhq1gV-GHm_7qhltcPQYJApBpjErhZhVWFRZ-8zTZwL0vQNrRb5_NG2sGmUy5fwZpEwRPRHmNfE1BDSXrBm-H-rlmMX3W5qI7Ty_UTjMK0l5AmChYHgOCWpoH_1hRTXwAsMvJ_y_lPBVKxztlduMXkKhz643KMeOeDpWXAXujCjO7u-5enwJcjAQ_-RIL5dsg4i_f189kvBaokSScQuzKLamCBYFIOPfE9QrFUDCyINaXZnrOZfZbN9kA28hjE6RsxW-okx3dLx2WJ0kwQ5pI0QkZVx1i9ZW955yp7X8bOP0lXCgmUhpDs7sGrL4BfXuLlYHjzNq-9jfy8yxyIG2CnSS5ZKSTlKzYhJZ73ciDn5mXwi0jyeMtBhHc9VMutUe8fYVX3eXy8X-vJhuqsN3LGupZ9fEuWNBCJ4L9nFvjfVzB0CmLnIHQGMHc6k9Fe_6FByW_uCLoh3STrA1PM-Y-kxIHvU5TzbgyQes7Nb6i-kZ0H39-zveOQ_QLYyhbbyDQPDgrr1y6qa6ph2AEtUFKsXubuyTtMf0K8C47CVOy00usQ9MDYOw5L5dtvCOnbnKK7mGw73ntoUYdg-ElrwOoGhdbyEimYci7m8s7WvjcBSGhsGjSMAAscoNE5Qq2NipT2SG7rVTevwlwlwEP8NpHDdDL5-dTaA-leH_bWhlwC37XHZPFmgu04u1T4sijWJ7AyW1Jqrxf0sxNcsiQFg3D4FNI_XzwAEtQHbNLctC2X2ibz_fKqa0HUWnSdQuiJyyY8Les06LDVy1mHJn1_u89Adaqgl_GqKjc7eUMiCN9ROstEBiEwuRTqFjSQkvGzjyYgW9xzzUYXkgBJQytzII9DmdK0luyxd_FUn-PEHOiiyKAbNxbaod8yXsvqx8ont1UAOUJGxK-jYL9xih-TpQ_lvdv9zKsYlTVyyGExy2r85gTBVBPX1J7KIlk4fmwLt-4CzBPsXuDsWZNQUZlDFBANgs6ogSXGQhFI9dmUzqH1vpBXACnvrmzOcHueGnae_y9fvtXbIIy50j3bGW2SyBheHNHrzMoofuQBTF4e_Hc3wGnQ0jLbPPNOXe2RXk5pl2T4P4lKR19lwb-4sucfx9HiFdWXCsfJ1ZdCtEIS2Hg_4Wq00yjrZjt8u6TGJjmLJCIsxNbctgR5hSh_QgvItWe1xLXfQgjbaAqxTnBFdZU1xksWnJn6dZU7T22px_RddQSro-xUhcOP93Cim58XayTrhr4QhxqNF601rCCKLy_pZRllObjZ8XEg-G4MNDpax9WZKyT8Wd-Np5ShtTXoKjZiuUJLAhOrGB8CfG2j5e3hwE50sbTlhBtHAJPPI7qr7UxsI2-XVoUmJgNmv9rwTX4xiSBLbpFCKW_8Uew1ftJPX8Y7hzn4Coo0_zSrq64-VhwcM9K8s_onm_BtZzoOVo4al8yukwJysktRtKZSWw64prDJZdXGVHVMmKTuLFS3IEYSyk7G2STmZlamiVRhISDEAAsnJORU3SfJyrndFodz9pSgIVOhW3QKxjiYIuHSF7AW_3xtI8J7ybmsCnNTzos2pnp-V9RSHwr7-Q-zgeUBw3xXw9PDOFVn31_bb0SPvFZuAuAARD4MdRZMtGgUAWUHdsc_TZ3W2ORaKRKrVmyYXHl3l7bJjzYcUlNzyJwB9gWOnOMiZzDsLk1heoySYygANc0bNuTWZN-WYrMvkTTfwzd7FVQgB7pC9xMYvQY9AO_3z0NzQi3HS-IaZZVqbQjGswzb43lTiTSFMuGtWkaoxtFC628tQnr5m5zDTLCMorO_npDAAy5RtEXVdyXYVMuCO4F89c-5gFZsmnM4EJqzSIAjNPP-WkB3tjLXgj9GSzAuzRw20H51rKnJR2UQOdq3nsmqJ6aIZ2L-UaRJ3Evy3XPpkKqacxoUkSQuCzeSgv6W51FIiwAZfej7EWaK4H_5ReA-wxTrJXI_QA-FFVBmu7yvrE9GNXJRJVY3O-LltBT2IkH-OIMp3Z_o1iCxL_d5RgWfkalDI3FrRyK0gr-cWsZJRlYPf3KMfpHAxQm04cldkEjoaMUv4FOsNthp1hgJYmeB9SvoQ79kemxqoC85-5Q9afx0SGyejzMr-cq2yyx6ZPNzqwplQXBixL2acSLyF58iVz9XqNBGHszhAvsqBDLgkz-DovTCpVq9lvd3bSKkMY4T9v06__6hqWsQb9FTT2_-yoCbT9NVKDuGcaZiCFtzmTyqv-VMnVQezo-4ej0Pz-WelGNVgWzKTcD55a5VSaKUwL_jSXtWCoruDWVLC-scre6qLCPzcvdwi6BW0-9xUqUPxVOBGfQRcGV9MR7hxDvrucMOW4pLjFG-HnBC4WA8QEsl2yoHwaT3zezs2-tGXDouvbOGTsGaV8wbca0i6VHyzVI3-_nP1IgLx77q-_FJCEBvgrlpzJawpgYYsGnaGSiwwgqR_7PQr7orwOrBgvktgSM-c2DlZ-tmZjGIgnZTcBOp3K3fkl88n1aM_hcEcz4dclr0d_LxgJB2_1QQL-qmKNGfBl3-edfMUX7lHBVr11GcxFXfOeB22dxKRg_j3mhz9KN7md0CC2gRiJIzPdp_4X39oMacPOzN5BFdfzWoagOXirwcQDVRCV1-NaN1XuexH0Ds3RuoYGkQQKmZjgSnF2wovUKpunAwD9j3OLqNETjlQhndNIj76_Q7-xJAjS6FVUWaCMfyWzJK_V-15NCIpTAbhuQJaA6v_i7PRvhHum6USY4dVlYhjkvEYRnowJTzKlXDqvX56Www2EkveMbEl_7K8LMdKU3EA4ghtCl1HGumdeZro8k5CzAd3ncbyEDp83wV0_i3dQliAhJ0nVXhfxf7lz91vFZZ1lrmEwfO9T2_0USSvtxY-JVSmA5_khXVjCsAwXGbsgi34LhtKalPcH6P3LQSLppUZxRsg9teEcJAmh5CneF5wuuN6CplbyQiMDso03zFlv-1E03H2ierxt86t1nZ5BCchosLDbd_uEBRVZCXwz2USu-FbDf32ukEtW9xQ-RsfSzg3ni2bM4pf4Xb4gyDZOj_1vwXMEqtRB1Lcj1KYSDmCnfKU96ckFXtSv0-Slmd6xPFPzR_vUe1WRMvK_pBUlTnRpXVZBaC-OYhw27ik2OILGwC-295YAqyucEgbBo6ysUHiV2k_kP7dHnmMuuEa1-1futSTO6ffnl8Gm2s7rcbmm0xrNXzYtTS3n0EZ1RHPBMV-vgdYGCRg1eZmIkcs4Ice9eKIFUkwZOgsDzNrArRKuKbhNuwTlb7SXs3zR1Td-oIAuoeEZ36rDnxAU4jrfC15CW5aU8g54CHTWYoFy2bJQp1ck39IecXENIhEsAuVdQLKmZLt0yNPYXVQURKgyoeScrhqDzrtjxh5Qwog7MIkfz-EiXv6s4HXwYWBrgZnsZiQ8QtWCMyZaxwW1Co9Q6Cc9jmT-fgVR7TtD0zmBOg-luT-FyS1uLh1N_tjZjccchoHwKd1HgHcj0TqPhQWnO0QeTNn2wQcqU4qHdlLRS9IBniakRnGv8hnJPhaeaEU9JxRDci9TP1l9i-vyLJpm6xGx5LGLaTNtmCYu5mVb-v0euW0_h_O0UYTnewhsxGhjMo4FCHwOQ_2Fw5xqmGgThHq7ssaCpgBmjKyf9xrwPyu0T-YjJsRZgnpc1tNlHZa5YlD7MxBG1rzz5RjJ7_CxCepir57U2NU8qMYWVyKA615hQGXx7v-cxy6wfxmC3DG1fIm_-SsXVFYgyyYqImjme8so7q8LIBVv69sLxkj1Rbx7lQIWQjWFrs04O43OKIpEKSq7nKOU6XpNMk_5bBS5mW-Pbsuqj0OOnSfrNYzOOvEJubUZLhUgw0S4CHSkGgzUWQ2h3LHt_Q6jWN2t55yEwwvwNgJKcN-w4tzunHS7h_L_VE3ECsHFRHheJyE6YwnszwnXxrc7rX9jctSZUUfwqCcNXrSNwxlD3U-GCxaQmiVw6a7PlAFORIsP1O1x_M6BdSsaabBGiBMwelh-mUw3bFvL57JEtQgOdkuEw-eVVUxr0HU4OfTjRtg_DwN6D_6Gy65qDkg-dR_iNYmVSN34tLlwyUSikF9u5-Nhs32X2ieSQauzOYDEpOsf78GtUv2imWZTRbx9vFeD54MdfG6gESWHHvT67mi-iETjCv8ILeRhH3yCHCXI7F_O4b4n5X8geSCh6xV7J3hJLrD9QV5BTuyC0ioz4hKk8B55Z_6U-BYWX4sRYRehXvYTlOatmn44OHLQ6rE0bBXZR-AH8NEExySk8jYZEB8EN0vkrIUsUrNjJ9-Ki3N845TXn44r2oDiQP33Qrk1eRFmlJMEUJ75gFUrfnd4pFhZ8HtldaAXnBDnngYV3ehT6R--TtyE9BewObwWLSgAA4FA6E3q06he8tarXFjy49D1QQ-FU2p4D7DVediu0KKNaTIp5vR6sj5BfDo5TNmEGWZXBHHAfPopJ9O7f4wcrzbXBzT-Wby2HhAw1z_I7HGRrWkmTyUMMvC-ixt9UXXQ_-7qX9XtGdEmoFIQ5q43t_NerJvqFNOX4kua6IyFflGKdlC3UzsiKNMQ6BKwixjWIaQXri_5lSio81ACtIcRbGQngR75ikfu88sZEfc55vLIU0RCEejF76H5EJWApLem9kA6TApFcMnORJXPzQY88obaydnGO3cVkKblbnPGQwBDOWO6zkT1FJ0Lftk2SmUIw_TjAmX7ct2upbGDExXvjY4CesESm2kpXSyOXYHslquToqrw5IC3aED1OyoXhhHrmTyHNHemCEIhb017_eq_IZ889UiCt_dM0qllgcKEicJtyX1mYVyKl_qRW0mIokjsINPeVpbhrstQl-K48gBZOxf6K9WUD7BnijRd8p93rEEtIQ84A0ZpXvhLEzalvaNqKHU2zsFCudMrIYZWEXiV-SLayirzMe4P8-5aja64b7vlh1wW3dgknz-mris_JQ4CT1k_dbBvNMt64L6tEg8ly6UvgaYjlvet1sRy40Y-UwzHe53PeickRmm4Durxu5xRMqphePrSGjMG0EBbBtToyFyR1KX7XdXeXSyzyEbJ0FJTc_0zwVFR9PuVk2JkbYwgffiAJgrmLNcX3eofMqghrrST-R7vCD0OqR3ILqLXlJat4_sXBA349Egci7_HfaKAdrwK1fO_Lgbn4xbRCKqNVAPq-iegJUDxAMgFaq96iWp4f7Mj1eFzpkHKss76ycWa49qUQUh1w5bv6M5qSBk0hA0dPPqOX0mApDjFD4-qvbygfcaaWENYFLCzZXqWsJgi0k7krHr_WhVNyBZ5C4a8JmwsOezt4-YDHdWgHSS5GA4NyyI72fSHHirghY5fDZCn9Qag56CuYla5gUngEmchCF64sviVW-mtivAbxhDPhWz3Gr0fsC32SWuN0ntcJweeIZJOL0qjWMl4TmwZJFIlT9ZWMgerlBBk5lbwUg2PX6BR3MPP17MP2nVIQGpEnAXVHCM2T7f2yVDc9THIbSUASlI-imG1i4qcFnyuViGg-aMfiy82FjRaRUMkzsVGmdrrjpilWUtRU7_tgXy-AZ__3QWMjwmY3SHXbOMqjAXIteT82EaSXEch92OTZNWWgfK83E8Y0uFUgNw7jYBFYDXBoV6Fhv6N6XwvV811XdZISgfv2T7AekwJCMraaH6nOuvgAd41TFrlYfezRdZxU4vT7kD2Y559BsTQXt8utSCNzxC7_xGZXhtifK7_C9xCL36uDuR9DPJcHOP20lrDTAhR2LUhR56_gO5EFvxubKPVJeX_NQVbWahT_BzklQzLkGNhGM-JNh3IsgI-LbaAIhBKZr5OUvRblXSmPVFQEUy1GyhKcvQGZSZ9Jn8EMe7HbbGM7eqGjsGSqfMTsMjBoMPwWpzwBqpsSj_fMh6moG3QSs0tTfz1KHmwwIA0HUW7IT-UXT7hzgZ4kB39Abt5jQ1pQwz2LV92yN1MshElssUMiPXcjzepfXxHeYTLvfia9P-kk2SzaC9cOq5CJ1TRURXdOrbHxrSKzPB3FIeZO_4-5z-tNII3CwKVNcrnqWbhb8w-jpZ1d2vnZsWA4_w05iuz0LHa_Y4eyvvyxCrJS_dTQw3LukTvs9HfMZLow0aLFJlNR-ZzQVflfWXj5bGGl1T-aoMbq9lxauTgDiax1hfEdf7EqmCYjZeorrFOCfqPJMFj0QVXpCzuKgCa_ohPlMNFrG5iQ5NJVPmUAbpn-uBIvk1sGCRTRuikkySn0KngOryjgDSVPDA5n1K1qdAkiXOi9K6klxhh8w51CMq3SqSap5Kvo1WlqIcy0vbxR5uLMoo7plpCECYgPt_PQx0A5oLpXlhr8KgL5D2YmJcyTxesTRnn4Uw2kieg9Zg_lAIOrZQeM9WylwhEw4bmcGr_r_rG2C5RvfCBjl4FlUNAAy_YbtTo3sB-vg3FU5ZP9xvZIG0SwUJkACMi1ONtYDKOVFzhKbqq0TMMEHyGpezgmdHl4tTYtoGecYGjScnQCvalYtmPEgextszNGWmZdVbwKcXpMOk-NGjafBvbnlTXP3CVm7QxAWmy6DEzzBh8mH2sZuUKp9K_sd3otZRxjRrvDrUAfM6aS2hIRbFka_oljDXn6c4vfp8W1-q3U-GoZRr_Hkrsm3dC1SgkTXRHXtT6hDxe6cOqBhAbcg3OryDtA-LYC3vpPnJktIcqf7q9OUqG-5GMEniB95PHVqLH-Yej5Xb9RnREHk4ptxLKf6fOXrEUFolw7D-6G7FbCGQoUEXJFcrfpL1M7a_e-331vHvFK4l8do75m3bGA896bA7RDjK8hgwXfNjkTgwExadUIQbaFpylTKsnbPNIZpET7N67sJQfrZOFZqQUUZNkH0g9jFresgvwQdH9jOEGDw_GK74_9w_eZEH124XParlPRiZvJBeZU97ykb-K6xpVY2bWJQjeMKZKB8ZrJBj5qEF2fRalGek2OY_opBuJHg1QKNc5BJWWcVleqQibPICZKM-vnaJTZ4xM7JK8dsX8l4iF_3oYoPNUPdBfggPH3-3Qsy8Cs9k_3jGQm5XHeJ3KkGiAq4-ZSTOOpBGAkOHID4Hmd2XNd1Ia4WqlbaL9d-JfeluEHWdnnQrOPVRlN52z_9aA8AZYG7l1sUTYGr_dg1GuYcHp2l5iSxnucQxkgV4LSZ1Vn6tdDmhs7vHKaFPZpHjrr6qeLRdHCbUQPHfvE6ULIKPn4VoEJMfhq3Le-bWLQbskNv1yQI5aqzdYfdxZ74G8KPqPyCMQvOH3qy-Qv-_DBkHiQbX3TorpxucE94vhD_x4bay2hz5pn7LqouAsrflBLHJdY84HssafwN5ZtsD5H59wGx-8yTGsoD3iSN6RYtgyJUG9fsSWCUnMVtrp55eFZd6BvXm5WJermD94ZHgTFN-kf_H8U0FnHrdpgG_KaJbJaN4HMMapqycestkfXPC8s5OKIT_Wjz0fFvd54GKs-FlcnvdJtgW6608KQPXCPdTCi3Ib9rHUvLKF7KY-upkFbJTL053qzv2mFR99nLDdJm5Dfk8ej3WC0ANbu1sby4JUthojz68Im2sXDN41yHwZan0xbFygnODWrjUArHiln3LMmcrzgwDQzpaiHtfQXbqIVbFmEocQBiLPtYy_mGsOM1o0raus64w2_y0kzWVjztAMrnHMbKYsATiiYvYWmt5v_gqZ7oTjoAk2zHDCFXrm9s-leF6IyHUriGy_wplYwPLp2L5egqczJmu0zhlmpn5hKl5qulVz3Y20hrjbEcbYKK8OJxooWpLdaHN5_61RDFX18IejU1h3tL7h_eSXmYH8NHdn83Vj5AJe8AGUn35QVsSSJycKz0n3qEHFVq5ZVmvWyNPRpS_AMEZbMrUtsUx41GYE-xHKzEGnZcD_oLnIzrNhbQ7-jagLZRkBIwnITQpBpIKKsgG-smOwSPx5y9kVa0nwJTGh0cYqRKk2EllkeS2LqAIwiBopPloRweauiG1FzWpZ1VnrXEV7jtly4aFqbcS8Raaleo811loMspgOjqj3MeyZUbrt4uRO-QtTr9iMvUuPwGcR0JjCnW9UVBX31mx4BE8XV5paa3fQVyqqzosFF0Mli12fHlddRechZ329rLTJPtMo2IkQoZPndtKGrX1jY1mGysEhGGC-rnMVZkFNnR-hVKdsJhzSIy1xp-6StIYlJVvdCzodyNAqR2L8LiUlx6VNYfjIvtczlJyPkZzzNYrVwMEvdzPzUwnWCltnTkGhZz2wAsxgzSrkAW5qEFWo7e4Vivr0yjaWXD7_949Jg6-7KoaXU8dsClfX0XPkef5u2GdLu3ChTCn9yspafLvmCt5fMMsd0oMnCtYJHmWHXF0M6W-6YpqvrZxoN5evwd57GdAxuvaQgGt2ZhOHg66BvO-8w2ptI1AugdF6Qx_QBAbrSCBEZYolCXjn_7OOABnmY0Zd4HIvjxDH6DbWSOhGN7CCGPJ0FCVwxMXgvtz8pmEU4sfHG_1mmTXty67eykSaV4PhEnBv7ntGwRn5N7l5RyWiJq93tsOJfxyL-JzctB6h5XfY1ePPZbXnhA2CeSH5Z3Y-8Se4pF28zPH4gkaCraQ2OzlNT8AYMbElJbcd-g49nmk4BYYRLfPiWPkLkDezYmZGigXEBOeZwEPOl4eXFI5ubK37gIPnJ25jIgOR27Zs1vfGhskN2g3fwYi2OXFSDhh4EGKntT0qWuNExYOYuDZyL6jfwglS5huFjWx5JwBR7zBEVYQAQH66TkBscT_rsd5SWvBxbXyyeeHR_yQ-Gx1FsQtrUoqEFicCV7FStzYlmoXF8Pzr1j9MGecZM6h8J-3DvKH6iEVSb5sKnhaTTR4lxrdyECBwI_IIAd0-RE65zFL7d563GREfOEsWCm_LFZkGGhp5JxcZwUc_l0O_NcWvKDmEopxOWtWTPrg0yOuBxHICZBJBjAZsJv16RKi3z0rf1EbK9AiHxWeqEqG49ypOgds5YVkn44LysYXZ8tG6y8osUaNPsFQcYAGWz8TlGyDYwsmk4_65_eNgJt95czBDRCjgqzwzx7KVRd9jjR7NL4EPonwbNDMcQEibPN990PmFfe0MnvAHhNJj40WdB7Dr6w0fEAbIp0spBAd2w5oaFPR_-n61HHroTaMtLE2PWiBQXV47rRa7SJg2lVxzFd62W9mt_9nekmLvo66YMP8FmDEAApnewgNbIYCqm8930g00141kjIHIsEbTNSAVJZ6eSHFpTcGD2t8lGRYG5rJb-zcPtCgRQbpEZB7vxoZvb7zx2jxhgPUlNCjfkXk51jatlq0_aJA9lt7ytX_EZEXp7uP_74aFNAylmuOSC5L81Y6UIl82ofy4lovCo_HnFViYaJ9In7n7R3p1b8JoEeo-GE85ri-6Nm-m7eS7HCRufAvCF3c9Rj_w_SHlKjhQWdzezT-w0bRDMyzvVOcjIjO6DvNouTGfhbkZ4cmmMnymIA7NcfBptV3g8X6YdHvmnRNkRMdAzC2rXIUaRg_u73wVaprFxLD_AC_nG4jWaTxuPYYDBudHdE1tNnG-inzTVcMN7jylczgkTHOD0P61vQxQA71u5DAeLUaI9ORZfSeLDNNNt8zlKFdvcnxypH6Lt95BMlADizq1h3xkKEbnERseDfFlm2Tcz1n9OdLHEAznUa_-mHormozF3yGGqFutHFxY0NcFP8RD6ddC8oArC77fN8-_dxCFSJ1US2TofKnXP9N_cYUbULTiYaH_kSTf7mGTF6U8BUMovhMaNFKlONeO1NPyeNYP1d1nFXT9blu7UDIGWMl325ysgUoyY1DKjKyTBxw85N_BaJOjaYWY_grHS5vRaQFdMQTLQYsprhWAgr4GjAi-tOWJz9xl_J_0XLUzPtO6OpDOJwKWX4lVcN2rw6iXNjCuTaLcE9bAKudnRAXMsK0jHsY0faPsdcxCEXRmx8TCsHigUVVdB8ICACxqsqetPkdtziNc4iUbC2AROEW0VJB5YNBW7Dr6qKPHc17o2wM_Yv5bVoxiSqC7K_JVYhdCCtsqo12Mzi3IJRaHMEO0a_gX05tfeQq8UoTB4xkJ_Azv1GMqq9viPS_2bfmovEZn6TCuzDiZvpLsjxQdjOC1DVBpjHyuL-5vXeY2CfV4XTZe3Pd9kV6wJiPoQ9bCO4lpQEiCjrco-4d8ikiorjMAAzqW-5ZcSm_u9ol1DA3CMKa0w3bXi3k2iMRK5oXJKpSADR4Zrh1_cvvf-WWH2N8PRgOHKa4as0AJkO_E5A8F9X8nak4PriaJCT541uOO8GDfFLGUZ952jgSCQfTAynYY6GKKeqR9wt7pBjMc7VpRms5jh4DNpQQp1uR8mc85IyANhVXXbwxQ1l2aR7PEix7BnKKfQCC5ScP6kbTQedCu5H87TnSFWLKz0xfyMIiZSD5zRKMvyAAelVtnRAQg-UTM-ZMiM8c_UPxf3Yn_sC-Uh0yeXXN8zZ_8OCFEAuvdYuC6i1dcDkUXKEvetUq-lSCwt7R9J3xoPyqdv_g6VhJ8cHTCH1Gwz_oP-D7iUuBApFu0WsAeI1NOQhdnLeERQMAbH6WwZj4kAOduJKEA-qy7LQJHy-OQu0AruhoRbd8yfsJ2ArrDCel6AcUksfxXKqGDCltLCttnt2EA66e5IhkPjI1Eq5ATBL0VOoMZzEF4g1vqiP5Yxv--PaAW1sS-s8VBXF_VD0QXD6EpFjOHEe8Y8t7Nkdpg6KH3d0i_FgAAE1grxfS2X6V4HGrHxkj8sAygbz9nXovDBjIDd41hZJYT-IhoHTk1vRD7k1PuDIZnee2KHqcFT3K-A9j_YyH-0Cm0f5arml1q_NdtMkrRntsausbR6QI26opsgZTr-2Ln1JXzeBesF4DtYRp6b4JM5dIk217CxRzQQ2cwZMDftAKztojqCZU4V6WPjGe4FscKkJb0do00c_BkB2tMJjLHh4LxsCBDNJ5MIULO2cgQb8JIWgKCJBAdRey17oqPTnXPDxNbl1njEg-Y4D971r7boqVIvgYptM1y6JgC5CmBLTaqzXMTYruVRUTw4ETUHwtL1FrgL6Q_kwoix1im6LFymHpaPLkCpM2V7-15NXV8sY_0gh4DCssnY3p0Niobf7i47WElAN7Y8qg_MSfecYXUGWVzUHRJPbhxsfiwkmzM0k7N1WiXizeQXR6dVmLS5ChEx9FVQgM7zZJS_PUXv4nayi6sxA4mG2-zRhoWTL7KihIEfyDyVobpBoJG62xNQsbzBzCWDQaqBJNjLTsdGX-OTVaj9i4NfgTRWWVltDAr0j0JJVttPN-Vy4W4lLOQ2VJ09MrkFIJRKUm0UJptHye8LIHAovGZHbXvc_gH_Bl2WY6d03Uhx6-MmRia3Vyx3Wjzas4ip9HDeEfzr32AOGtKl1ng5Xt1IvjROg5PyoQrc15UFkMLaZlkJh8HuIH4FoXuU8685pttMXXrlrJQXu9jquQaUVVVruOcl1LgQSprzKTfbYx7w6TEjHSzAa7ili9Esnbn8EtTx9Dv2LVKxgf775gono8pOQChuCR2UbmSfGKQNqml9hk_H7HkGww2lkMv8-EEn-nToNW0WLaGOv-Bngf7Dfla4Apq_z3kLYJh9_D1y3bR5KBOzmDcsYe6jR0b0A5uv76np7Kii7RFE0ucw3ksnWiiNFlnnMnwnGcq9xJTNbQX-HJL6XVf2qV1PRuGcIb9R1sQxvavtZWR_qdfj67qsL07qj0IYzMinxRNXpdJprEsfMYZcgcLYpwQ5B02R8x6JoITOHkgpzWYbJgt7w6kEPlNI1p0JMoC-kHe4RGAcapZi9L_maK_NUlRgy0HQJ3pJjMfMjQVg08rDfqIayFjVK4UIMIk4UkX3-iHM39Koe9AnAz-LFMV0vc0Fv4rolB08C4o0eYZRgNbuBg8FbcCIXy623ELay9N09fN9Eco6iKw-6AXRAL9md0LUY4XmsQwTDxoTfwpLzEgaaNJcnx7CJ3zjHBpr7ljcqqh9yI4U1LDnS7HUG8K9agJiBpGsDSy9Wjn6PfDR-z2di2WLQLb1Cxi32XV79LSnxO7M2vujYibfXYRCo6ga4l3rOFIAP_fZasJp1XZQ-OL77-2D1p899owYCVKdOUzl0CCsbgSVhwoSd6mDEMQ8M0-5pvbWtR7cV3QIl6xUbjvDCeLByHmAufAZHVHgkzCRwX2kgEGkJpAfXyJ2UNktDtabrfVyjJPI3d1t5anGqsmsiBa-jFxtdqfwZQKd9cywk1hw8WxF14LeQcI4ydymFbEHVZCoWDoFN7x4vRGPBi9pLbN5_bxBlwQDNjxumIWEb3N2HUhZR5iwB2NUCO9-65sfT9MLezMzCaH2P5J6ImzBjqKShOHr1jqg1a7UgZAaexdMCbfW4AVYdJ6KV7pHww8zOv_FmGHCrIhYT64EIXoSl4PBjz4z6O1_BNR8xfFF1IgZhwFPfUCjgfUtdFt6bagz5XHqpC3nNSMLlDtcEj_8h86dAj6VHB9MlKe91GMxiDudkz_idTepHfe86LVX-R3ZRGP6tOSF9zJ2kmnCg7wH-tFOb1sTpI-2aTs2ChPYuEbL0vRudHajb2AKMsM_ccVKP-Uj8406a4f4JElFaf1dnryAGiTHMGbEonkAMdxpLRYndj4hfPE-OsI9f5xo1jO5ts9IMF1ci5LTHbm0XRBw4XxHgEd9eOHrxsBIpp6F2ctJFHmrfqdZpnM9_oRP5hleNAEZwfU-BjEgYGXjzD0tpyqnZqil4Beim12JMoeJqCgPawM3iCvyAbwNnne6p5idWa9m5O5O76ATgMs7U1DJHZFvByN-IMVVZ5t7N1naLq1s5wpByErkSGjrL48SpLZ5h5hQf16JwLsR75A0OheHa6g7o6TrQHUmLvBzhc0rLWRLO-p1xlWKpcrJS-rW7wNKfve52HOGw_hVhoanfoeEGGBBD8KC8-j9W8Wh563ZXZsydBD8P0YREdkbTGgHjE7Y7koyY0u0ok8Ewr457iNkde5WRGo4uAwfClHKfrvM9qjeZhrRmFwMipSn7dU7d1O_xGDBVMmuACU5iwvM0DUgvTNekXlrGAev8hhApAULMMQ1STw3BgyPBzYHY3Fjc6Ef74Z4T8iml5cUKz2VWVozewRV7yyDrVcfMcSULVpqMLQedP-Fpng7n6I0ChOIK40E5mQ6uXB_O5iZ4OKSj-edjXlp0VkdFeue-zQ9EzXFziEzoZ_SSF87hzR9QW52tNvcZD7CBIMqNgB0uMZ4O16TiRxJ0UB1d9ITyhsK_LNXkIV3gheC_mE_a7NjOfqL-AHBDwzq9U4FhsnfMxqzwPGd0_-YitjycGdT1NdPQ13gpWwqxV1B_62LSWHocg4zKVlBCgIRMys21frLN3rCVIKSwqCxWuI0vms5KHqipoaMq1aMEyDp9ZkdG68CD0JIljSWbVCapN-pSSw5rAwaByF5xn7kEkz3ZIRElqHDvoWfUoADQVBzTSFFSftquKtkjPXppzNa6v5_rNo4IxOJCzamY7DcKYKmVot0UbC1_pKW8VlA6lk72-Jn5uoaiufieY0HaBLlNLDmcw4_cx6q8rmHoLi7YOJtS4naEA11IlZM24nY9w5grTzp_vbeMeiSDtE5Ml3J-xZR2svTIQeGq98wHId8wOEvAKtW0bTUBkk3_9jlcoR4TkvMWz9ni5Ygr7C64L_jsal16hXLk_IIu8p296OEfpUdKbTpL1R9-co-vdRGPrsvX2GG_97b_yGfCRPtCb-rh1o1midg9f--Ct8UiI0mbn-jEBYW6UW9NVlivwoOPBgdo-3kRn1S1RbjEk7wzdkrPhmoIU-Axm5mEPPM2brus7hBGzL1aVczRkECBth4wks0nr3iBjqOywtJ3p3VzqA9Zgn4v9DH_LtlV9BHoWzDG_Ocz6Vl5yN6ZwBMpFj-OElL6KIj08hsxtP8Ppn8rdCG5wJoBzl_APJmJKhJr9K5_zNjBWA_DViYSe_d923urrpVj-AHk11x0t0MkKohrLNR2C5lpvkMldybU442dnXHjRbwOdP4XA-tQWilrSg5gZUeY_1qEleAdGtU8jjr8W4AUK2uFr6jHaxmm56rc4TRNyanFAImFlGBCPpZw2fH6zwpveSxHllfpuPgvOM-3ul64lAk2YDsXHNAo5vCcfiitzZ7e1xiTE0u-7LG9MuGE5CYhQlXSJcadn6CdwNjWHiIIpgHtdTKu2AmOr7ZYgz18P5wY0YDPUKLpwt1ZDj7Is3iNooCm2uTYbTi_zZOYIT08bUDkB_b4PKkRH6JRWJIy-Jx265RbZ_fXCsE7LdAiowcvZLc8QCdG-jWjiyN7XYrmu-YiKm5zdjyAPxqoUfBJOh1ZmQWZpwD6RdcpAUVcY850CuiTxET3FU_x7-6xCJNUOC_defostmccUCDfZabWJZhh050nmO_BK8psUf2bqsV6JRM6z8FXO-tbLGce0OJpE2KhBYVwZywyAjSEh8jgBcoEhFKJXZzij02PxTggAffosC2wAS73lR7qtMd9vTUvbJj5aiK42oHk6ScvdqqvQLHa_sIZ1jbnhmbJcWcShvyacZnzKBmXgNSYIs9rP70la-D67r-TH3EdrirqKcrO_PBaBX039lE6xkUKK7vSMgOPImmPbYaB5MTejFWg7_JLKAeu-2hReSCbh4uppV14C2ufI6-gOBOfAhf5ww6l4VtkXXKptnsxQkFWaNEYdwE8c2k6AxKly2pe3JY9rFdXd5Q-zJitA75RKpXDrQF-blxQz9BvLzMuCpAT_68-sArrDScUx6laq2jZ2sTLk2Wmpyq0Kzpoh43qAxVdc4x1s5vYjw4fSSDfz8D6rPVU_l8ZYn6nwWPmf7Z5BiiDGU39MHqNw0LCSdQVxeO602lW7VvWvwxxSTc3gnXIIzkISODNj0_YrnaY0dGbbF7HTn_gJDUR3VMhhf39DVWIhGWYfT-v28ChrNm_Pe9lMAtzomXKYTpa51BUZ907OYsQX1GjHb0A5Igm2tQsNV1nzX62sRldcugWsfOom_T80wBWU1T-j1lCjGMCNHvq9UQT3lgJRVaX19gqiiWB9ZDNFpmL5RNOGv1gCZfVbrGSJ8mToFvoX9Vc9FpkW9M_g_5yoVf4wTSRKFurD4wAijviJmvSlXTWb8-zrH1R1z4u420UToVANIy9CfM2YGkpnFnm5bMu4OCUDeGoloWGWjViRBk5HvMUY_3NjrLOwM1Wz9I4DoMQlB8rr20tvPI5y5hB7D6mNCZf8KCVg4iyqC8RHmMI-fQ9-0WuZ-aITBwlKd5tp28mnUpRX-JL9ppZ_OyrNCYbJ_TrplKqNbWFKuc8UG_LCXPpG-nEyScNrxu_iWRVNZ8exqs7ZKvCLIbXlCJUItdX4on8s-xuaMqu4_dxZRbSc_PXn2JcSRfDreV6IAqDXE87t43bfM69tLJ16LeQ4oI8CJwsKlbMY4GU8flRIMid90MEXrhw6PODRCt4PD8nyVumoxIWf6Y7hCuFbTAhhCmgtqJQt5QVQmVIqva4c0lZ1a8-n3SwVp1GyR8IyWLfHibE9avgdYKpGDG2_Qb5OziBtix5pJmjF1CFV91XktF94shCbb3kFWz7u5jGM-ObSTBIti8keL-CYVAP7udX5vng6S0qaj-jANdf2ADaO7gGWfAEtjnesaJn7f4_Q8E4DFpNCpMYy1Aot1C6_PBgcLjUnVno2V8qNmUn29riG8cZcfybK5bpQizzOM7bAtBUwvP_Ompbi_zshDouirRf4eeNlxRZ2LFgv8yM1WvKLX63fK9u6n5Vc-YhDuWBUMEKA8T0NEHZCUzfLpHhyEgmfnPpyxF4p-z85WbWU8Wmus0ysN2TKBo_1HXz3LCsimXu4kg2VNdUr22hC8hha-2Y_2CekYn-gcKqfOrW_ef46BM3k32YvcSq1kzmSsMQaSpopLtU71hvkPljv-y7E1QACfLteEUxkV2V-HN5rrLUMe5PBdlUGJKvJku2pURDo8lyp8JTQFh15fCWW-juxqdfjfsnZ3z3kajE6b0j7JRSupSuiBS5E1cJb9TdhL5aZ50A_3wMMMRWb8Xw9moslrjuBwmVVDroCizC-Zw9ugB17GA_47b5wheuopRlAxhiZ5YZ0jFi8Q0FxUn7MrWCN7SYZ6ygupL_UeP83wefwFTt9nnQ_od4r-IhphtmpofdofG_O_WWJHTgjPNyLPJ3CrdS8WxRgnsQqMyQGYqLJuRXEOtuOcRNMqY8XTVF6R99xxTLQTHrf90Eq_RL04HrN-nIBXgsj2YdG_TADXBIYnRQvAQmffqUMFbDxhuRd2CPlLS-MG_bNqMsyCW6PLjcrQY1o1NQqsfij9yfbBEzOhUOBAu3d6LvypgQefrqK5jqJOE1GnwBag-2trU6Aw-lyKf1LXEu5zH1UJlAUZbRekodqd7BX8uKQHtrmGXLJcO0cJxzTdcIl3FrbpbHmfZap-bHZRqQFw_B8jqLwSwNEGVzgs7FFRRbAcJEAmHZSqbGS_mWxpp81yvqhBLTMfChdYj2u6Jyemak8Br_1ql5q8-xOw3_fvmE4f5zvX1gBRoquhdxGpUxI2LQDr2P16_lqzDFasMRVhmGRyAoonSFoleU8ID4ZNQ_hvblKNoy28HzdCBQVmaFuZGbPX3dp7yY9v85dxUbgBD77qw0jYYd2BF7OSc1yTckqeD9lqDfVDikDwboMBdGyZcqWZmu2fCmeDlWqP_w2iyy9i8K31TrXKDCU5c_T7k50KcJ8pxb-pHrUvRq0g-097dUzHgmJTu1MkhBsv2pIrAX1QQNhyYZP76ljIifYpnzb4kzdc57dpTZDBiidk3NxCurMdXiu9oPnBjlPBGETV2Ng-VgmBqXQGqiQjbDmtCZR5PlB6bvKb_poYqiHoKfFwXn8Q21_zK6gdJ19KG6YjPjSD2IqStsQQlNluaoRWNNSE0u8AcRpkGJ-KbyxDNywKV1XQLgAvVxXil7yp0s_dMwlfj-mkL4e8Hy9VD4uLUjAaoIsEfWROnRy1OA34r-QiWKfaPWyTDzGrTH8aLTgpQuJvpgyymxjOBI3oz8RUyvWQ0-Wqtk9ZAhLidlpxeRMPtDkzvoNL0GY4CwUNPvrJRJrnlsbn9EQaqzBtABHsA2uBydvJVh_DaC5xPi2qYw6IqROJ_TAucf_8n5oQFpFxYIL8G4urAEey0q_78n6yXA7Umn5Qf6foAVyIB_E3H8JKPM4TbnAqJdZDMcovKLpMYxYhFnlzyKR7LSwVXtZ69oh6Xif0wp4BYD8elxti8pdYBFCjiimz5UD2gmcBqLts0ny1WYOF-2eoiE-XPo5GkT1qb7e2897x35jH79BHng84cfbCyxzBY1cFGNhx2aQQKfQ0zcdHSB9Foh1h0Eopk4CCQr_431kf7OtS92k6pZCg0LsP4Vkbrdy0ynD1TTNv8UJtrOsn4EHpPmriZZyCsidUREHT6E7NKCivtrelnUaN4wHGwfP-Jjwev-DiKOqo3tFEiWj3aQjmlD8pMkokDVclAHV4nVEUGeJ1TpWRdOMvXfi50JBeuJD_qU8XQX4HhnW8fSq4fjTuo4ddkTUiIYPZX2eG1MjWVkWwoRfXjlvhRfm7A3kavulQWM4e3ay-_NgqFNaBFrM38RMfITdSLWA0onNYV319yRfXVr-GHOP_zkC4w2ajXj-Lyc6PzDAeJisoONOx5wrb0N2XVaX_k2B8txhZ70ebI6YNkAkLOeq4WwwALQbLvr5jW2SpBUFwc7b1prHuPgLqantmnQ_Ie2JKiHoQWS8UKtJUJMvjHqK_E9mC2Sv4tWmecSo7ewjREM0a-S1T5tY00cQbYoFDOGL3_oKNYsDJs19TSEw4OdLOd4YxmcfMdJvH56DGFZGHzm2h6butfy2AMWVFQq83ZDyyW86gOBTJ_v6Cd2-AcuqFDvGluqtTTIgkT3HB1BXrn72ZOz0hjYSa7k6_7qyYBRtn4U-NUi-NvHYC6Ppx89rBbXn7jLvlDgz2Vl4HhszghAKzcSXqH7o_EBHBEkxLMKTWAIXbRtLp4dUqWvOg9yKNVS65VBaQBBJKp3xJdwXYhYWEnQh4N2yanjH2ti741b20yd65HW1UTkt3xyFdyZkU5oCSU2GOuz0I9gzs81h_QJDkzo4i8Utzi6DOxVxFpcMeEA9E-B2F_TT7Iamgi1x2_9TOBhs80UVgUDQqE0C1dJtZPEHg-HK40Yes6E8-y_7imX9H7RaeZ_YSw5ERUYqryd1vNZNgeL6K4irWNaVgGyIWJo_DdHvJe-cMusRnF3mMpImLd3ym6oto8iKyv8VITzgwgaF1CTa_CHScdiVJPVC7OohNVq33ZZBjbYgl5AX8Oc4Bu7ITYLkP8RpjI5A_uaBBHujhsTrVlqbgwpK-j9-EfxJ7GlizXG0YTiSpT2AivESNyQYWWhubD3AZUV-E-j7vj-CV52yLTZvLwRqAKU5nEJb1HXl5cxFh3AQs-PX0rkpvhugP7UWA6J-kUbsN-GL5HyEraduXg5CoxiVlDKbjLam_NpPNkSenM1Bdh0nVaJKYOsTliNA2l_sZNy1TXV6AD2IfbUGB0_QXoO-1Q6amWVNl1tY2NExD5H53zTVG6rQYUDXSZc3CdwPye3DsHwJhWfYyXKxkb2KWvDsg7XRmsYVee5MH9TqBGYz6bkbD-QC0HqdCz2Rt0cRshZOQJdmvaW9V8leEBhH1e2XKirs4leMzJ---TsENgsDdzjhpINddSeCXr-IDiTYJ4SGLgf3aZ-JUdanUAgwUPTaKUEOFdADSgMvhOCsRve3TH8J0-Zp46MIa8kT241ti3XFQoqogGhG6XY_gmHuRdR-jcuekrpVgWe2I0NgQl0HS1hal8T77mxSgEEF4N6EIDbTIZPGfFROrlLQ3KBUF42XpINPjv6bSFVwvkIJcsmZUv7wQP0hQPd2rOUMaM0q9DIF5EGSKq62GcJ-RQY6ysmYCWnGJvlUUhsBDHQ8LU-uluIuKaeiOSXRmdLwWBnZwaqTmNcbtvU1ooXfp9d9pGYfsyUep0ykmMkMYcTPFoNt552IXMp0LL4HEz5mvC4Vj3duWKI1lc5H84JcnA5r6KkS8tJM1Fx-fdmeGrf5n67DrjqruQTUhbC3TIk8_hrIKXZ_dUnWAVeQIQpJU4s_TaUJfqZR_wiOzQmWQB1CwKUMeS8PWAMOHOauQqS5IDMKWo5DfRO0LTwLDeFtLqAXEBSyrHpU_1RRrbx6EYPFw3ZFHWQxyvdYTzrefvoMmFpBM12oFabRCOuFSr0roCfV3SZlo4IJGg8lPVx_JlnH49-0fXuQabpDRrrYDVvRgzvWbOzqr7VVPb81khnIgqPoaRA7b1NJUhVWug7TcEf1-Z10KFU5J0JcR81pfMAFjfTIbXu3RX0GaQLMCyD_lL9GezJdEx63ncvYfCmTmloRsfcnUpr9ad_GYH7aKoMOkCx5LW_SQCdNr4_C9bMI2YgF3LttOGPMzbPLeqFjmyvjc59shmHqSIfWOG1coLOrln-IWMZslThrGgZlhv7nG7tjSXVyIx8oW7GYTMsPKoBskYoS7TGwlEAR9bC4aARsFUmtUpj869Kx33lsKO2_g6eCRVs_PmWWC9Q1NIFLj8Fdh1KOuhqH0gl4NTyn-_q6OqTBpojq2Gp5l_cP_ovtjmRWJAozBfL5GQVRQFQ2biwbShf6OdIVtcZK9gW2yqQO0INP2C-yq9AMGXuWLrKgijv4RmzNEOOfNaB2SeS-2FQm7E-x47jq9MhoF6vxeg3mzmEOtBgq1mcCguRbzThgTDLK5i81k_udzM5fOf6aGIKu1_ITwguyBYQFXMZsbeWbpCWupKvtRAOINv9Au5k7zsTv7E3YsqehLG62tvRbLWHoYQS8Cm28Eke68RX2T07QY7hstPglmL8BiPpDUp9Edaqt4BqZAsSNJwYXLdUPUkdIiPJXgpQ2Ram0VLmGzyxEQrEYHAEPDmqcO2B4A7zbRCNJzu2pts0LuXFlS_DeLSHWhkV8AdpI_DJtBtMORaRgRJP1M9-KVUxNvBi0iaI-AI3JbRU2nMEwU36feciyfhVm-d9QKdwG8MwWjIL1Ev7zC8I66NDhNFnnG8yyoWSgChStHql2VGy9koxyUV7AA2cELrZCQaIlI5A1z-9r74op2bHIVNBfRHX8P_-RdKm9YN9ebsRC_1jspi0MfQB2FnHbzN7jvej5kE3oIb29e5Tbb822bkFLiDvUS1lR4FrdHdjqI7JGIXqHhtsoDAvYWm5xCofvVd6IPp95xx15kXp9pqQKbzqHLR_HQxntsNydCxlpr4-wPAAyAnBMSIRt5j6E6nR4HIxxBLiP98xL425LbuSyM-uB8ydZhWJ7xAKKifGjWlSMreFxhoM68v4CoZmb-bgnohrD2u0DvnGyHuvFXj07mlOU5-zJQRT0YmFOQdN1fb1om9CjDqTadCHMB1tAh6Ul7rTEUP-NGBYL7DfxQp_h9rwCL5NV-BXlNLR2jaQnjGvTeAXidvgpEJ6nlKLmMGGnN0l1I-yIEX4dNdW9Ul5b1Nr4cp2BlCZVONqJZI8LMXqwbKKY8XXpC87BauXtVoxyP2-pUSXBe2rGWI3ntTvhrkjTKZhHdk3KlaolNPkCxgVG0JzYvmuVo6TYFKVGJ3tnq3q2Zws11GAa4AIrS2ax8wyWF30fxTiQIp_YlSUzxE-55Wtr_y2_b0ozbp9cPZmcCD5GHVwpp6qWxTrOw-HtFpqndtAbV-ikAhWIn5MNmxiVWBrlhUCHjOYHKZb-sjPLt7MTje3_lP1VHV75Ahfkw91zz32zR0ZpKKbiucAJx_9aHOzWdYQLXI1wzcnSMylwAiiqw2T4bo64vaIn9gXJCEtVDke2rHjCe7Eul-ZGt-MOSGuzhhRqtZ47oH1tR9x1RehU26TGPG8XqmxkmOT_QTLgNdIoToILckdgXlccEDiUR7-HZvTGJahZsOZJKeiavwdlK88g0zdVty7plFhMsLj6K5aG3QbvXPOp59-dV1FljyzDIMZlXBYkpKsKGnnyes4C5LeIlK_xn-oXo5R5wwkansgcNXD3qxQJvYYbuMzljJbszvpdQt4Qj2ln7V_2MhhkUeTZPYKHa4XcO1_ztHsn6yXaFU4aBh-Am8hS4gsT33y4axx0cLKd8AZagzqKMV_Kn5ZyE7nNYqqtRTRAQ9_bynSdpC3rDr6KBh2QOvVZrOq5q4LXlaJONhnMZ7JmWiED60f0S3bBlAzjn17cuGhodLvV6tx4OGaaEOkejzAxsLT3bZph3Cyyird2llFt4MRFrfqbAq3OpGhAMfkTJvSw7SDN4KUVG0kHYpIaok8ve0gY5iEYiXGBf-qDECpUaSVRRyF5wi7O6aqOSFhfyTs9j6O6p64Q7QT4vS5a8HdvUM3YYEC0tBo3IQNCpBXhLyAaBP3wzuW5D_Nyl6XrsatYdW-17PWpdNCOVWtimnG5bWEsHAn55eEVom8LXCm8S7_Zfz96YHKjgym6ele2D8MqppMFFtFCvra1A2TAnbYmPgoR4cJ07cOBAvzY5sJS8K9gu0gC57WbaB8BTgTI7md4vOvhSvk0m453-2IsAeBP_XZGuc0Rbf3kzRE0erdpdQTezp_m9VJbBNuSundCwN0tTb_FGkYAHDY_BLIYYyWyX_mF5zM7QY2JvNgKuKyc7DIMFqxGqgNncjQKpa7nXGK9QFaywYkxvC2qt-MUWMqrrXdSvQD9m6KjgRMPQvHv_IRns73AVPWdn4J_oEvPO3sOcsCqRVz3dhCdM8hN_cXwse9XAEKSNm12pANLTPX9wgl3pmFVPGx0iXlfOKFdndoKewPbS8wXW62wxmTUDu6B9qjVSMoNgUgIXLnvZkXFIPRVUYz2ALlvjUswmIwPrbXwZAszqm-7ovaQE4SBjba2fcZZ5ESkgmxgdjhCEx_Lyg006SP9yN3_gkG-hjBXGR9_SNerGH--wmtA73cxkSBo695fpA4GX2D42_7uFo10N2LPVBwIyGAWifQ7uIBkA1r2A6_LvPiSxKhCH-Vm0FiGHu4bLNcbzVye772y1Zma05oN-kx51fOo8ePpjiuW8j-aWch_86Zb8ukvRPOSAhLKE0zmIkLo10oTMN5XttgQyzUk9oUdHVgiecYBai9jSqDf8iRoVQsV0A5gM8R2yOOh3dRahcBJGYhBBVALHD32flSb9WYIZhZ1PrrdZT2jf0bpboNc7z1xdPyZrG6YCoQKMT2KmsOS5P1Pf7OQBqt8ttYgI38JP0frSvNBdkloG7ygsoFujMNq6b5VDvmLXyeyrTxLfibhPxcqLt-A6si-Jljn4OGmOHiTSusJg0og9U5QEDCbdTvfFQIrGmWgzZQFg9Zk7Bk-r79fE9Zut2emRdmeIIfRY4EtXjd4JxUlsqMOBVJigdK8bhO0MlbAtA_sA5Wn6QI7HV2TAyAlOpiVuNfR-w11aDhq_XTr9kMe7JNO3Os4nNpAtDQ2xY-UwiCJa4y3hTEwPU8ewhdNwVzchtrcKphhIpPLR3BBh__KBqhI7V8WUEPdgQhvwmb-xn05UO-_x3JTU9r6elDBRwPit-6dJxDynRZ-MyZ4GMWcTWTQF000WOYonZ7uVzDk6NeHlTF_DOGKbMnzkJBw1YBBKM3JXihQM5qny52GuWOGPTroC1nTD0GFy_yB1cWTNzRg__2zrYAuzQvknFxRapijZ1W2hYQBtlYVKyARG2BCWS8wmDy9UARhIdn1m8Ypl4aEMmN-JirLNPu-ZzW_lFbS67A-UbpAtnARYtkCc4r7goeiGEo-iwakpEi0bD-k4tHLslaOdML0jDxYKw07YZMHkuWbcqu4zgFSx9PKlLCBvR1IV47U8hFSfCHyv99I5EIXCA1i04fqC2bfoI64os4idEo-1xIxmAMMqo45KuYs2K6Q5xE9KWIE87eseWFHoEpJ3ndHofW8gGmN3_Xwe5MHyfljLpguwYVTF_Qeu-h_eQV6HKySu3fZI5-NzvKUPMU6vrq_ILhkDAPMe6q0_gBXhE1gy-s6inMwy04ZpV4zf4VFHAu0wMlhrYUw_ZvNxmNKBd3A1YAXpHpPdaRMBl-COwf6Nv9z5-Vkq99lwHsK3eviBihMBAYeN2Yp3IcPBlY1pTkbAdA6sBo60QNr_NQlDLCI2ZFE2CBfTW_XhRc_TgI_S5jl2njHpZEHvet4B6OxVuGqOz84YSoRUKn8aP2_KXus-IjoKgDq3dMFHD0tNPNTNDOyX6AB-pxga3olwmWhCK9e-6oYtCtlfLWkVv3XL7BWpLvREi7zJj9xwT-rC3-GsT0gtV-drDIBe6PhTxqzbmJ_KIsyfCzCKiUrQTafuMM1jRTraZ1vbbOPI6fM8hBW6ClUc0yc1fmsQ_9SqfM-B1oYOB6Ryb5DCSkqGo7J1VePcm1JeciskqSxy7qTYaV6kikF3M-Q9L74yxKaanaLA2hjwtEx3_JtPRyN1XUSRHrHhpMhiCXiI9iopTRbYoR3IarjwbNoIGd_ZqatoOqCxS2Co41bUtixO2sBUJJWDu4m6VbN6MAZFtdd5eJsNGfLQ4hNXTpQHfGGnCuwqW52XgK9CIrCuEvk-vo0zGX1kkAmL6mSVonG8bzk0nWAdzmDnXxZHmc77kEAAXssjdIlrVjREmQJKp0agczcDoa9aydk572iP8BT-vbHLMAYy3K6piox7WUiRmmkKAmognr-hLYRjaCl61YmofQTRl-3mXSzvbjmQ0NSlWeHuprqHKIE1VMoDNrVnf7YGha7OZ8y8Cj9HfEm0MsdRfd5ZRcCDm8UGCIOW9nongQk7nfG_A5Tq4V2_VwxJ89ve2QcQxutBWk1QoWtxWy-DfkYBkdNjk6ET8cuqT-H7wvtoUJyoZiZTFFmvX33llDF7oW6j2Ej_0wGT3jk4Lwj9LFg8COGIKCsSOdfSBtv2iinpUuyEXXMdEtOep3TjhPT1r4s4kC-PfRkEyEpKAcA262ZGyOAHtZPMWv5DKg_VfAGgksDU0Fu23dhN5Qh7fCzRnA6rknSjnGn-5SIx-ufTAsVyEX9od-tKjmKRKInrurZorAgIrQODNJvj2-y8sPVuTh9cT_7CG6b1Qa94kcujWzQxdB5mSEYyH8SEakOPWEfsEsOfyc_jtYGA2i0sPlF2Waj5yceVsFjz-T3wxAgma2V_oqcfpqXrr6_aUGR6-5jZS_MotXMKkxoEJOQNn1VFz--fhnlp_DByy-nAYS6DhIWD9CjtaeJbuo_w59AQZD2pWu0g3P0huXc4u6NO4R49VPtaXBJMXVgleNzGZmMsetI6n1FVqp8Ovmxns2Zh0FMcU2D4Soxg_FZCbvKLRjFm5CeftCpKSvluZoDbEQKnm9-EiLJESiU26oPzNnrAMlp1e1-Z_Cp08hSVjdGELyipMHMJpXXxrpo79yo-CNroUbMlCb-2rUYMMiBgIV-nMTPmaBaxGgi6RGnTpIII1gPqbfPlEw160FOp2mESDlauYVv5YUF46V-Q9s9bkS7MFpJ0wx-0NVPPweA15MJJI01gbdFVoKtbRCyALp-IEokMBNk7zm156Fze4J-aNLY7BqdMJ8OSrKHp5bAsZbu17kXP73uqi4j16Y3aYcVKXjg2IyRMc87Xs49K17-4SAuLGRB-dh0mWT8gn-UZ-8Bp69oh270jlGovt6xEa-5ftveJpdwiOhNqZ7msGEeOnI1i0a55H73-tAC74dbYpTC3n_Yoj1NmVe8uNjK7_mO0xeSEHX5VkJAvHCYK9RQ4xijXgu8FLaGe4xzdx8aqdWM6sOKJniLzGhqJeGBngSsEsYz5J7NHAbMDi0gjoMnJyno-qFrWSg8XAU3BmHeelSkePNbbVI1Xb7zW44QpIN1MNrYofTg4fasVBdGZJ2LeaYK8GII70I5pMynDJ7jSHgMG5-F7WIVmT8avQ-F12BAbBtz_lRq7pvERYTHmQlhAetYZ5H1GKLTkfbAbfNXr6fu32O1hWXXMZHuixJsk3lyJEiSgPHInsLZugBHMOBohlm-a3Vw8AU-TacpM_0BbWDDjuv5bymvNof4sPRs3jbtM0rKW7dW2LLjRjc_R_cpPbtQXStsIYIsnxosgSHq8VaGxmmE_kR0icHOqRCOOfO2DrYhPm53wn5URqY4pwaUhu1ny-6pzdqe6ousDBf1LON3a7GUUyxxsIETmDoqTmxUCxV7D6wYs6ffhoUc47HBhx6RtCIPUgD0FOBWinM-6ZCVF4O_gUN4SEjeQaPAWhg8S6Zk0DQQNeDLsOVTZ0sa-YO06hh4kBMfTvO8pXZIzA0eOiIJ7_xNcTlv6IW6YVra2bGtU8OEoBWagxhL_oiuPQPQD6aLtEJYsA1vGaGan3iDQrRzY4iOEGJHD-78Cl18N3a3b4f7ulctpsgSWNB58a2AOfdOoaG69ePpjNOWcIm7XbpawPIm_Icwci7zBCATQ4CFUZ4fhXkfyLa5UQ4ZJNn1cwQQzh-j3rbprc5niq2UExrPjqKO0je-8kVVZ_YgE0Vw7kIcDmioIjoEn_Uuen1d40m6AlR5jMXRuJHSfQoIuxmgfylT2dlSrZg4qVWfiNWV__h4wUp3d_ZDfQjD69lwRMzb-DVd5uMTpWB8B0Xd7vlIJFqCd_iyYm6qL5_LUldA0o5_Army7McMLMPan0JyGzdTZwdJiZMdTqd2CD__5hN1kA5u7KaRyCrOv-uXsQWX35lughtYDAfM6bPOgjfhE7AVfwXwmEGJQTIifCtYqimzYFgIRpkStd_AbPFjYkMp51ZCCHugJKxhvwyjX-Q3P3QInYwK82ZlNhJK7EdAnKOCMO41PG6NJvAC-njOKOib4QW_QA7sPvmkgQMnemKM6drToH-MnRdTAuzF3wSaamxZRLzKMMMZlRWMqFsNUzvC2THZwDry3UZ9oLfDkUjikj29iYkiYaV4Q4vfh9ZMB64Vk5egajqUGq23OyvNhNm_SA8foKM823hnDjrdr8UHtpfj1DIj9UFwJHDrZzkMgWa_n5HUzb_VDQrFh93SSgj3sJN956ABbR8BXTfaFkWGC6iIugKDxPvX2GTFMa8yP2qO5Fcoo6p5-KVszAjWkpvS3pFo1_yRoKw18hxMd1miU5SdNz2Zsd_x9GoxGyafC1H3_wMjBNAbkiViHJ-xJXzVh9n9LYnYOx1swI_aauUV0bX-qkWYGK4MEdbVe6AhTCcNp5Z1bm9XHjkO19GjGkJ1gwjvDXEJVtyomq9WREzMrrz-n6T3DjZExhSxgBp2WwWid_-bQir2SJlrzDw5mUUo0o7wQGZx21TD11W71xRXvN83lRu6NXzsISaSU1Kz4EbZSSA8MvGzQMONGNL-e_oMdvX-y2S2GGqYCG0hkj9XcUDCGuVTBG5O4Sl53QqdHDMNbeXyeSeXAugC1GfyStHquu57UcZyT1SEId0SCEa4grbEZhQ-w0bPl95FIV8vJ4sNTbxE22AX2hRdxf_S3NYBUPyzAHSW3Hc9OgaMrOLWx_2Y1y0btmnjBzMqAhBNUgp_J79wXM040T5v09OL1_06eDxwp1aDSvfcbZvVvEXrtiS_o3lk_TjgBy6j0lhXYfEC0fTCZEuMlBwIYUBDBWHL_-4R1yXiLmEq4ktAxGvkW1FzELgnVgZ_vf6Xca5aavCfcI2W6bdGJPEUjrNXOtYRPWKMXM-V6aHTRuUi9EK9x8ezPHaU1uoCWnjAlYQDnGywQEvso0aDH61SZR8g8z1SBsssGYbhdi6cJpFTZvZcOY5rP1L-EYS7NrC2JcZbYOxZja_NdRd-qZjMcbAUgVdjjZ18aiP7yY-qq9t3elkW9lQkLzhIuI5uT5WqA7ucjXwElKDgJQjp_J7D8-1Ed8B_2dtApqBCGsmzcSpem8gvsesgN68pTw8KDvE0MODdbu0do7_7Hqtf9wE29ZPbx8EquRAKPLjrRw-XbAaQ9LGvlN5LEHbTak-MEhtU3Hkq9D2fRmyY4kBNJ0e6jfsk0dNehplg2APiWB0vohV2SiNL47OSw3tKRSJXeXOnunBPRou2hj6HPuqhOq-G4s81DJzKySKZw1bVpwI1CUUVqYI9ntPtE5-fYJ4M6UaeLi8W_8qfIFIWwx2ep82w2B7dKRaGruE_yCjvbFqzphm-dct7FETuBEHDnjcyz5MbZDEdWU04UrkKEh7aWTT4nneVYdZrOuV0xEwkcufV8UkCgozW2ao8gNDHZW8n1gZ2pbfUAZp4od5-hRvXJB6KCs6mItSSgN0aVb1Xm_oPijidfn0agqxv2et2gHql0ojSEcp_-sCN6-_Qrh7Otz53yDLm7qFhEjsmURwySXG4S07LXdJCdJyzMAmZ09VhH81NxDJmZLwCI1uTyuIuz-cMtpHcsI-EDPNfavSxJ-34tTJ9x0LOY9s_35D5THo3ImxkGhjqCz83kiiwLb9tPL0Oxcj7oniIJLKZcOiGVInvVOWutxzBqoIi-cNawP2jIHW3q5wtx8BoIeEk16WgC72oV38Bf0c1Xiz-l_Z_JRDenFmGVx0lmUp_R35OqxWWqVD0Wo607A29NErrXYlIX5HM4-9n-0yfo60mdzg67LijJc85x0AIfg4wUm5zZBmVDqjAnDqO2XYej6lOEo9Gos12nkRo2uFOPlWs2-hr0lJXyZH-DSYuQPPWqIOfbAWBRp261IvsHAXpKoqawDOBbIks4qXBjl7q46uf8HuMzxqFFDgJk7v5BF-DGYQwrYxlYyl0GHdS6QGYxLaQ6MLp0CqUmleIoP2TS1rP0notoepcvFG7PjTHIKPFLYdrNWquHXGfhdP5XAtxR1BDE0Ch65bmZ4nBbnjF0EYEmUQoxaJGrrMcun_ZJD-UUvRqqlzZJTIDgceMHw4cGz9u7oWohYdmLh-YDwb-vyMsiFSYjv5_pplTwPL0S8Z1-JUXz1P7uz-B6vuRltk7Isz7FlbJti89NtC2SIFblc9_DWBphmJIx2nlxS8Ps7CoVNBtX4ti9kwbYOoYtIBNiJPgfaXieGujc0qm_Dut35sy46guFSMz5fRCghVKeKvjOWm-EeF6u6cyfhpzHi2KRVwyrxq2-Sfn4QYpDBqtqHsaR2eDj8G19aW65YmyL1yIbfwe2Ca1oGp7Slerd7K6lJDQCnD4OgvU0lqNBIg-FsJOcEs0Tfv4PGH-6fCtzqfoxx1l60P3x3K1gW4zJl-OXSb-n9h9pOvHxULC9HnQVQ9C4_-i4t3-lMSb7ARueFIBH9Z50InklursMtSrca-z8_eTyRX-SehkZrjPV9Ml3zFlCENwVAvQabQv5B4-3qZQEvtMwjwtS-aYFYhAi2Ju1ywE2rtcN-5ApAlDZkh7C2juOvnNOxC-Lzb-Gka5VLhz1DulnK5o0sLx6PAMwzvlKAVmQ4c1Ac3AthyUWGDvQ5_E_g9fkJy8q7JPOFCOg3qqDILw-JBw-kesb3JKujlqGzuiNtJ1hL5IbA3q4BGyseTWAzCGGUWE0o7H4kZzzaSKM8xEtIjb7b_E_Wzmo5SuiRLzoHads2G7i9Gxf9Rt37wfhD4oQ1_WBa6Zo1KeQJzK1imSniE2RbS9lAsAfX3YP6jWWFEQgL9eXjgjiGiq0xa2zT9Kw48qnW6IY9F4SA_CpMkm5gmpeyUqAty0PS7BZ11iGmv-pku-zfFyb2a1uQ582Ld20We30vj0JLsezD_ssoBq-H7A1WY4iyQKDqqph6EvjZIVnrAOOM3Tq-FaaJtrKQALbbsk3OAWe354iNFddojEtXpPdkFZYAJrvLGZaOb59HlF2jpuD0EN4fIqM1YLe-ypM-vWXh9aybm4dGZf6X4vplZgCOFeZweZoOKsh0gA6S8OJmGcaOktrx9biddpiLSxSohpy28-J8Nu71zBmX5Ur8Gi_yA7bHSFWrQuUBCf9joA6uBqdeRqvJRmqqkAvJRt62pyg4QTWIi4mGRJ3YM4kIN0r-CETNsRz08JoQuPHY7hOPyTVb1mDqO0wZK09PM20l48OB_HGi6WJNDal3C4IVk5dRxvEnOHdrpBPBxJx4I48sQq3zEi_wBhfW2wyJiByv1L9dO8pJvUXjX1pSBsFkHfQ8J8svFJUm9ZDZx-1yfGja43Khdfntimn92GOdMdk4XFK8sI1KpCVCVEkvgxTyeZhXO6H_fwtP1rODd1_h_tcqmsRvN8xOtDolcMP3q19adqws16-S3liTfp9LIn8aQ76v_cYv56-oxBo6W7IivrbUMx3IkK1ngCGdlVJ_qpjLEWgjpU4dJ9koKE_svOU37cqcqsCHUNX8x7xNwrzgLAUAlRuKcstgOuk9iGzQiXpj8zYMIYbW8kt81aqZCLHuSIYpi9cRuox5tvxtORcHKhi-H0FcMbTMIpBhXTmMsWhlPSwb21ygj1Rqdbsdzc6hmpZ3UoSYMjwkDtqYEe6E5r1715ba0fQ8eHXUoX4PT_40_Jq1RyB9lS8SWIBWkK8Wk0Vjc5tm3Tf1_XThqdhLZemdFKYnIzISg6mdVl1EgCL7npZS-H4b1zDCFUSAc69iLpVAyDvAND2_KATws90bfBCDL0aBZcdGS2iVdhKbKmFfOzqHvXcV6obAwee0C_nsPcAV79sbqE0x2KsEk1669TNwx88mFjdJt_iU5ROTGtaVqeBzRSxoKtFaLOTaH14YJ0bTF0tZm0mjBE_OKHl3I9Cy8LvJLIantmFI0lp61L1xV1ytnIv9AD4fXN2Zg4G6AhH8QuwRRd4pmtZGbHVAT1Mk6uCazOOI_2DwmAomuxFg8QqZbjUwP_PwPcPx9nJJJgVbJwD7Q499Lr9sVilwZadnBZUnkcu57m4oGOg1dC6BxlVFyql-QpRfHUPFwh3_ujJaIHSpvyg-Hjn_iAk7JWQmb-Ae16gsG4PjnM6MKCp40oDroVPsUlZ5JknzcPaq3Swer4mq-3RbSnaNC7dPIvPNUXqgFo1ZOajhFec1X_hWoNoaDJ8vjko-GTT_XRfHerjegUcDF1EP4mlqjgyqjWZmBreav0scV0xDr8TuFk75ADRknuL-CEKgsB6A6Zw9-PXZXaHZP9huc2_4ro2RCUnIvPNUQAfHagD4PqjO0qTWQE_b8nuzvQVuZ7Q7BZczK5hkaYxbRdvMoj2sKAYqe-fMXGe6W2BEuYAX-WvX-xpO0LBJTcKWkDEK-ctBhx8WmWWHOZV7ycH8o9u6H6TdMTOtUdEc8yA_zYjGcWV77a83hYBbFsblybTq5YLxXBu59jw7rl5dr7rXGfjV6p5DrTPomm5bOyD0-xNmFp3DbIPK6O2dUxq8amgq6QAflQPsdUSvlSczj7me0h53-IQe79FLn8BT7xJvLQrGwmpzsf7SdtsBR_af6ex1p8pLJWnbJAMyC5NUMQt7pyKaPrDGfD1i20XS9Wq0Ag6fLHPl15HRUtTnwHFCaZhSz206-ru-AnbVXPuNtqPgKClZWUi4o7gwU7JK5NsCnSxSeMucwTMmOtyGgkix1FPf-9LukPeagkITjz8vwdtmIkV83Sokekcmwv9IIcjDk92aN1O4b9TdxoQbLzIv-yzr6Ik7ocVH5hwMpzzdT2xfxCt-itoxp0d6p4Cc8wCm0LRpiR-BVe0dGT_X0ziPtxkxFWjsiop6vsz3u-w_Xe5pdBH66IVNeFH2oB48BWsEjEBSVqJDD1YytD39Bpf5GIGMC0aqOuPz_DB700JDnVsexNTbonLmYgiZJFs9k9kq8e6r05yNeDGpgroQxkKD3RkJFuZ4U2MW3tDfv4DT76YkcXYWVevg8aDS0O0mxbO8A2Cudlq-wyIyYc8hXsOOBYoo5sFf07aNxjd8Faydsg1gE-MMn2dYL9kb8E_SG4yvo6xKqZZR2SR4gSGcB2bINNMhFc10qieSkiMighUwCnH5WrDcw4lmn98ySNvaDWq6N8X6cBThPKV9OOZJSE_-T7AcptBaU7TTd1Ww_32OMF6nz79JN-Q5JzIT2_YusCkryVh6AN_Z3H-j7nU9Dnbf8McD50qpYB_fLCQeWqKc3ApvlFp8R0h6sufRO4Eql0QYNlZV1rcvy2GqGp4u4OJ0oFhWegB8kJN29dAdr8KI1n_wnehjtGsN_qxrTxGmd6y-Xys4OEQQRrM52B04cT6c-RGqdp91m_EHiYm2Wb1rAzSfVBPKmOgvEmUyGsE8ymao-9_qnoV1lol3o_DkjrjQCSnHostkOoS59jl_1ZU3LreWbXXI3DNFwUKPrPeUYhIilyZcHIT4J87X8bngrt_ULSzs3I5E611L6oPHZ7-Y43DdeMdP60aQkzlIQPtDyZujbLYzX2ryJKYIMv0GAXyDLNeW-SBAc7Nub0extZOv9rK0ecvIyjXz_hobsMXT4rqVdWKxo3fjQahtdCdu0ji-XIbd9tbfYKg_s6GC0VYMn5r4qymxPFXZlM7ClVGXzfJ-zbhhXiMqq04zNTnZRCIktsD18tIEVka_PyEDSd3zJ0woiJGeCWslpmy9n2Cfz3DqLFhqJ5Xmx5E7heqfVao1j3bcQtqySIz8e2F01rYAPK-KS2GCxhwh3zRBbF0CsfQp2TXl_R1xVjbUpR9Qz5tdHXwLiO-zWeY-lszL3iJqGvseBqa2HPJDkE9TwG4X59ayUcZU3zdLtMnIRPnXV-dbcvYx7FMejpOLJDRpmxsFS6fGwj9j5wgiHek-3kuqrCd_Zvc35S3kf2koIoecnMGwVPn_4YQoQ_co1h2KQ6H_tDciQ-THeyEUAzRMNNfXWe-iUMNpbtz83-eKZhQd97RyFb7bPSpsuhWz62LJ9Ns5jrZH9IMV4mrkw77tYL1fLUPoy_LleIEYyVLKsdsmjq2Le9SUy2BmdRBllB6gh3YdIxsUp8h-WOjwNEyR7LbrihE8zKS9nLqR5_bmskJaYLNTV7XtzKzr6K2BMQ2lzqlL52a2jTWrKCOFbb_RE_-1hZ_gQmV9nYMAQtKVmUjm8L5FRFDH9j_HSF-U-Cy-JW5keqhvo10egDKRhQBy-nV9-icEO41pYy_bxh29kxi26SEwlmsOZtuXSxzzEjL7VlVPCtU4rJ5tuhqswrRuoLGxmWrcLCI0-P7G0LkurYN7kRjNZhxqsjEYgsug96J8BO3Kao-Kuhy_7SREHcDbvS-dbzYYZD3-AhKwX5mx7o3ZPVvncLjkYUVzKfUCVJMc4eoGtq2fJG2Ne_52hTFSqgr-vU02dly3JWD3b2xvnpNie7LL7tTbmgRu5wqOSoReLioJHo5Iuo0z3WH-6vD8Gn06EFjc6BKWmYsF7SQjd9wCUbGI2BYoe1Cl1x4epeybix70TvlTYAcQhOim4iiStfA1Zc62VQ2cYgg_K-ALs_fcGpWoEWZponR-MLpuGDhG9NdtsgoSkfG9N5M6O7UGuDdailGqrKUmlSOGQuH4BovRL_-jmP8ASNioSdhNZBFUZT15jOvPvFrA2WCnIAXJ69mxMf9nqLY7nBZDmJlax_QO-0uEdqmSIEY4SPDUIfKm8fusKWZ-4nz-u9c3IL8VdOpFnGpd_eY8o4O5wcaS3EiMNeYhRJK63p0uG9-WebrqHwqSgc2lTjd0B9h7a-6HiOZolcAF4bb3HefKrAm3zFlcM6JmbRSjqJMbZc7RNY6yM2u0G43WM4hW0lBrAboUifj2irCaCFnETy6hqgevR_Ev9_1XtdjqOemMsxZg6LJtjjwtgzXwUO8NTGwkhelbKd1UHaAzRjTpofkfu3-_MWTgqRLq2g86VSlAZ4AXKyPg72LYJGY2GbbFRINMPntS4fkg__iXNO4P2aDAFEwgnZq4x5YfgcrmLAZcO0gP1ATpnYuz9-fxkcMBKLuORTfv3DP2bHt8xiV43M3S5vIFhM_mpcGED4qLVhQL54TLv5u1OCzguaM5g-c9IXTRA_2Qw4kqxRFEgadLe9FiZrMuS63s2LuG06DGmYexx0QZ-snnG5bP8CvMDrTHuHM-tQWhZKeod_2QK-f-VS6f6JeGrFUBE4J7T7d01Dvwe0vQs6AfE4eWuk4KFk-tE0FlUmDdajXvRCOwuDt7CEki4rTXHBWxS9owR7RTPCQL4e2h6pYQTbvS9rYSa1LX4VSMSPFy3ENngYVMwW46CuUkCsfpBfQLkf0-xL7YsRvUosCTfaQwupR03fPsnhoCgbi30mXWCcDrRh9qDQmonv2h-dFfS0_Gps4XrcCyyG-xhS8Df9YuyNh7lwrMQSeghvRXk7gnLr5e4VBVHFpqzA4ygFWYnRqt7Op574A17ZGc5-IZu9WOM-LWdcXea2uEigX3A9wm32kbNhmFdHRByXaBBWRIrumLeHCz-qWCYD2jjZczcERtLewbvirhJ4vmr0kp5Q60GNRO9Ca7P6GAGZsd7T1QYudhui-D7SZcqwfru23VlL2lbPpjaEhVwer_StDu_RhposUpXlcHy2jjOLZ4NSCdoGaymnC7OsCtHbCJMdBgspCe2Ql0aMD_4WJJCMDd9jtwh9NtV1t8job58ivUOHVLCBG9MclhOwDAjR1zBo1vmEUAr-TC73Xrfd5rpzNIhsO5OnfxIhDn8qv_w_AfYS3WXLlf2xoquIm3JSfK08T33rCoiCN6gzoj2KJWSuUaUv7kKILlr7sETfsVTTfHaFijYGfadvXbrewL0Ht1GZrdndqL11cDclvmhIsXbj9OQC6gechw7607H64IOI9ZO6QeuKIL3aCLs5dUtClD9jTkjqYu0gVHDVT2w7FdVi1qp3ohkDVuhynIC1NOvmXekyOEZGjYWPyLyCVrI_8X6ogS9dHQaK-VVFE-rcJZIvp7RUvZ7w-oKiJ6Wr-5-auPDsxiE21uHIhEu7VhAwKenZPd3nKozN6PhhAA3WklazcUqiVNus3wR6MO2IE1v_kAZ720ar6_XPbTWK53qZZNF_LaGxe9k8-B3GZebhCfx4wfCJcxIrTdUZJdF42IaawO7VIOMOX_r2q7BjKQLA1Ak0OKnKRQk3gbkTYiMxh1ayqc4fk0jVjqJgjEJPXGGsz9NledE57VjbL07Od7ZuirS9_-6TzaYlrQJlRqigc3zBxZV0JAECyaoPQedOR2u9o-D5ps-5kPXcJOekItF4cebT-gKDWZGnGgHMFBLp2RN9wRzEGrWG8s4EHkpAyYUe9rm9Sqxikt88Z8mciU3_tkeVJkcCRalDro-ydkiLT-LNzX3h30bLTSw8P-wGOQ0IMc2oDOLHfKKDLfod1TR9TsUM_Z5g4v-lpRG8MgMiMcq8axsZgwFda-810kBn09c1Yj4xrdBzfzNwpRkjFkEsVQ01BQmKnmqLlafRa0pwkmbYzVxx_hDq00t3pwAIJxI78JPCPgHJYLAihqk71C5X490apSywPT3Pqtleq3CUyCze1TTlMBR7atNgn27V8jk7V85Okwc-b37IlyL-ZUSLhdgfQOqXI0JWKD0KgIp0jXvwCWMJwXK5Zw65vmBYfwJulEaaWohYHkIROdVNnj80qqYLGMIJscxkTCJWLKeRCd7e5YYJcnzyzAnfOk2ZO7xraos_SJYSZBCkCvMqnp9HW3J0xZ-S6FN-MG0KuKrc2XTsv4x95EdvcgmgYjwHfrVrDo8H-xxC573u5RsG2dxH8rgehvJzbWIvRYJNyzUocavRz0JXYjJ9ldsUMWO96GCzILyBalvr3gRF4_zoJfD3dSpWgugMWOBZEa96Fs7I6b3sYJvTRNu8uRr5NsMFV89YhMB7tBOamzj0g1jC81001dNUhc668ObQYCjs0FqeRcaovkxTieg3cP0m3PXMhl9gyDhLxTu40gwA6Sgc8cb6DJdqyC9BuXKt8l45mNfRFVdzzSEVN-8jdz1CHsO-FSFooMEFYUR2K0oZx_vv1xkxmdArAhydI61_vDFiJN8YSsD6S_ovKPscbt5TJ33SMfdBFZQ2HahJiUouEOl5jmujfHGnJ1n9kYG2o53sfMwiEEyihTfeImuYWRhc00-ocYQi23YYD_G5NP5QReA7seTbQ_h-UvWsy1WEkU6rRwMuyxcyjLlBxKWIFpTQM6sdlIpUbc2NXIMNDWln_l0Uq3eknoYV5_RczikYhcm8_kMs-ko09u5ucvta8ZLNO6zUlmoem1BG3pbatfMW61l4IqMDVkpqu1iGd5wknsvficYYNIoaMt2qmk1gIOX-9aI7kfOYpcc_ygqagXLV1P_Fk6fALD5BsO_KuaOEqZo1cEa2u-KOjDDLHnB3MqeEsopq62qLYopUkfITR7p8LUTPMYSS3G1G9vg6y1p6e2eXiXIoJtMreY--CCuO_jWHF5toCUN2Dmqw2DREP5k9kHOB64RSMfHezPCwg37khFWz4XY3NdR5RExgY7FO4AAh7TvUjQbcgC7WuL3YLRz3KhD4Ysq40i4S-kAPCZypuywLGhvXLqLEPrTvJJgFSvUEl9Y58euGITU8CtxlD4civlg48Hn8tVRokH166U4j8EDIN9MhP6Jbl3IxR7VUtUydkoBu3dTR5mzyStYEfyDqta7X5oh0m_esgGFnTsjCqDDT5-f7oE6mDuyDWfkBQroTjfhXAoe00Bm8pwVR_oN2btOfKw6I961nQHX6JCigJw6cJEJemm1y22IjecQ5be3z6TyUzjRum7bu136S1t_knhGwlvR01oh2s1HcGwxQsgaXkM1k3KuseD959YAHOm1WcOdlkUI5iitfEDwKPPGeCQ0gxuECwccD3bR0hXBYNVGpR0JpjofInmBTJEwo2JjAlwNu6mC-KQ1Bi-kLP_j3eX9DQ0H7PnAb-gjR-ClaeMadawiBwlaoTBOjRgOav9x9qaczFb24e-euSSNSiZdHKyae1-MtqJTMiWBXG7msf6ZfGEwiceSnqKeF7uOJUlJi6yruKFzPHT2-wtNLa6GSMVI92IJAAJd4GcTrrwZFYA4GTqLSoJ5yZlDT4TztjI8Rp-BrM9F_OERaF_tti3JiRwVtTPqtMqmrNw2WNJJyGUA8vhTkNCsAoWbPEOLFSqA-obaxm8un36X4ajioaJBTTiiJA_HG3GIDZdI6Jp7m3GN8TJ-gpJP6ABLyWnNKaf02yJyPdSCMG5PeqgjN8S647RnW7sL3eMeD0XNGLW_L5YyjJFMNwN2bbP6wGVn3ttTFXcalben-_Ozdql-Fq2flzAo6S7z-BfrQvvFXCjW3bMFPCa7A9TPBp8OcZvOGOTZ0ixcgOQsW564MY0zGjIZbcPCmssHSrSXN_CJ4iE4eynmNbr423E1A-mepwIkKqZAxhVV6wKg_3ljI-P64-nAjXCu9kPKz_GHEUUyX02-9Cb99bRGa0HIzhKBwClxeBqBKs8upCowfQCzqWIXqqp0RqNIounivrqVQYmAmiZ2bevcJIrj5o_VSz1sogd7_idvnMKP7YN6iCa5eSLqO2HumIifaFRga_LoOpSYtElPukOAfVNEywfm9PwixciAFxRlUN-63mEjPieEOra1PL5gDSBq42veEnxEP9DZA5eWnt6Urz1UXLmNBsSUI2FjjRrkZHa9OVYfQG6gGJrqHcrCaMcr6LIV9rqZzky1ID-Qd2VRrX9KwSm3t5uMF0GExIKEuOaWHLUqrFxloJW0FpHyCcgMYTq15R6Osmpa77Ir28pZP1aTQkZwh2RnEPVaCN5MvVzQzUL2zgv-Tv2qrgG7iVkVMnq7YAtUX__uMwtIVE5w_ATsQsENsiw_n4cCXXs7Httnp-9mKqs7Cp9G6_99CtBm2NwyRO0FXoSvttme6fW_ThJhyl9BpN12IZZ47qP1essGD_R9sVAa0obQZ7Rx6d5KIwOulzcSrD0rNTCiKEamUrMaIIP4usVxk2C2jmQbWbh1MgLl8k8lsPp9zoYdymjth-KTduz2MiNhp7xmx_fdxBLjrylZ61Ems5pOtPc3660LxxmzQFTQdn89iUeK8ZHy2IjC2SvFtb6uu7MAVmziS4lCPvuXgwdEV9p_0tlJIIr2PnYLrP6bx0eW2U-iYW34QIJ_LIQHHkR7q3adjNhjf3gkXdbD07Qx4i3f_wp11c0T8V5ADW7J5R8otzvG53Afn5R7FCH5jmJfhG_jHxo5VzrQIFxfjKd3_yaiShaDreZd3uCEtGUkCeZKMRqxK22EFdW2yNZ-GQqlqbfahP6hvpRm8US7Ab80UIEg2j-68AgKbQIKkZqJj73AWBCdfL517J4Neq8T6NHmzyPjRLRTQuHGgY7QjzqaVhB7eqg1TM-15lZfzovlvmXqj2ajOuNzt9ayut4eyE-MyOYWfUaEXDN22oi0B4iD8R9yyDTsZ1OBaf1MxfHlSu4zU4DgfdqkXDY0U3YRxIbSTPzOVN8EwFxBCEPLg6lL95-vLiWQCgDhJ-CC_CviuGZeSdUJCLwamQxzBc4KD9BIMcbFq9FqAuF_IZ9LdF2yFuGUR_tDXih6j_FIWv87ME7PR4F4-vcl11HhKpRkfFHDJ_Ko7m-MQ-M1wa32WbKr7FRHhU6UNieq-_eGie1slamsuFSX3K26KOCSPk4zWPTk3QjuI9QWb-GcO-GGQ_PX-Kp588kExclpyL94Sax9_4k9T7xZmd-yh-iXEdyEkTq9KxZNxiHPUSm7EdvFzHqeXxAskxay_RvG_0dA0GJ6xIUUIJpf1UNRE0fpgEHIk_KZun_dvu-1PbWWQsnuuVNFe1xhowNHxt0uIKPZjyg_IKgQeu6cJRGJrTJAixaakAJpbSBQZj3hsEY8vKRSPKU_2b5Hc0vg5euRtNUgbBBclCvD-f7qLCKFREz8P7GMGemyICg6m4XAsmup4R_xwLAGG1smA8FaCcEbjWPf4eWHDw6NUhLAYHW1MDB_p9DvlBMwrRYAVCUgPr5FduMwE3cCK18kJAD9IngRkaB2vXq3Q09W6INmA--TcbVk5HpTMHCXAegJBBaVLJl2ZySN1MDat74eHJWYy9ZLamZ_cPIGZj2it5bnVVyBmjBQv_1wf1SYdh-vFTZXpxztQR_v2zo11T3zn1rq9d1-46wIpystsKL4R5zj0aKev-42RSvWOltI-XvFwrcSUZsn_f-ddC90E33ucQubcMGTnEsm7BrQYxktMNDqkT-YlOcaHS3BsNIaVsdsAZw-03CginZiWD9N6JkgU9xyETHJx39e7VXooShtDsP-BXsZWYQ4f_qSFOhbkhKiChYSAUvByBkgiGo7LYHZrkBkDntpGPhdE7NJk5lugTK2hfZC7KDpcM7fN7npqfdiTBlPzXE8p1mtCUkSEuVmmD_l1_58dX53eAW5qAk21Ev-xOQkgmBEdLnyVje4m2lkDmJIfo6U6Mn1QplTtmTZy-7gHND2jf1HQ-OtQrmwNfgNno-f-OS69mizyl_Yngy5a8CY-OTsQBnN5YO-9fZ14xFuz8O8volHK4OYl7kUejQxcXTVI4F996M_b2TuetoKaKwLiFZrTqJQ-uxdZ2PC06Ncm9sM9zZUxZyRGy9pzn1-cjEDdh0XK0YPpyzrvWEWxIvzNzlDKtFhhYfbDQ3cptIpIi66YgP4ogkgiVfz5h_PNZPZ0WZmWG60Yu0dMe91BcDoKctGxaTqfIiYlFriITWR3nnhZdTWAPWS3d5S-F0iADKNKTBslofIh2cC1pZ9nmFIXlxov-PwmYyo9QG9I5P1xdwZIeZKIgz054tvPqzekXV4rBsiQNRwqFiHT6m6-qVVY1cCoP30kdBx1xRPXrm9sR3jABHB-ZpHJOp22TSZ6aupQAXFyb-LBrjt0t3ypnofSVR6RQpetUOkFjJsqvZAkj7GsUJfPXg24xJqbM61BWpGDQWn7VdU_YzYU_Lh7R4PRSPOKTLDKttWEnbOhfxDsl8enyR8M9MsJwbAGP0881KdWU4VnAynMtSMozVm2I0gPLtNfRKGlbDH8kHVfL9Z_PlD5ScKbiUMaJ04cBSzewWaQm_kM1Sq2Cn1qyKUES-YqAwTphw-xN6ZsetAjflyrd_VgcZEh6vsqlIREqYZAkn6mFqtGSTsUTxYul4HvfRG23iKTkM-YvawrrO19-d-7xoMd66MrBKG6VT3FO6m_c5qAc49rZs180dkJpp-9K1rZezwHPt8r1b4pgQNPy4NXk2kIQSk6KtpuppYSEzkPFyOOnLgoja5KrKRDtMgR04wt4uQZR16w5BZHVk4UFOZ3EztR7VyVL0grBtZTxEFfP5MBzB1Ln61drPgjd551-oOkcED7wqVENrb53qGoNR_3N8NXJv3EwZwhaeGkKyOjp48kVzNQKhKAQMx8KJ-GA8r4DK8vp9Y4sbRdmrqN0srGfe1RhlAibPTVotop7KaEMX8xB-YqU3017uMelmT_aU2XzqvnWxVFwCMId5fzklYSh0-fAXAnBolrYaIyZtIwxGm3LvrZ69Iag0B8-rrsGUWxiERsjBqZzZ9uu_IG_MrJEQ7_HJRifrVQnlp8JsduERibi3funiJnLoNA8SNeZmgjVB4npZWMBog6GHvD0XUNxy9dpBFxdzGWmmcFqrGuyjkErSTVoDJUPQGJCvMI8cASMYZ663eZV3tDvf_RMmRbXUYw4bY3bcN3AMBJR1VY2COZY_-PUAWi0awGkM2mIH2JL9YwiSYYTITKk-tkOE0L3d1lJOhQuABEfz0r_h48uU0bEPqB-IDnMqGIp-69pI1o6Tuz4z4wWXWMJKBJ6897Z5rI2Cs2d3uzzCpJfFAqphXUvGxsnyefARV5Jna-1C4bfLEve0XdTpEO9-e-6KlsNE_XhX9mBwg696K6uMSUzaPoM2eoZg5vkx0cdtqdGJTuhpYRlMl8G06F61mXm-kfBYkFJZ-euUXRmOGfN8lPxplqmUogbafaYGG8w1n6yNzDCRxqzxImopBrYIactYQvhhVbHvqnonRgnURzmqhlBRosC0aNzENCqymo-Z5I9HFKdNJx1SQ1uo8pB728VXyK7AWeaaBKElVXj4009C9w6bluKSHZwu6b5EH4O5rTh5HNVAzxL-gSnq2_kb3k79676W6l6Qbz1r2-X10PY7WtxRzIl82VGjlIBIHSHDCt751zbzgxhCyaTUEmnZuWYv9s0zMMHgQR22zJGHuM8AX6fIda9ibYynoqoH4XYd0vDMLtLcAj-7Cyf6ST1LUrwrAGgLzajNE4Pt6gm3Qo83aazQvS7HDSOW1aXAhxb_HyfMNlqrSmHNMqsQB1qj4qe-YFasAQwk3dJpEJ55jf7c5YNLVgLxIQHRAlHG5VQg7a9ZcOnC-uZQDV1BcBnsBJr7kYoNEs4wtLcOXCjknu-ySG1S5JWkeCfykBwgDPyk5CrbIFHWhrXudwsPJsuUukWb2mKHHr3pWhbBVu-XqvrPZFasMRBKaeqhJOX9swA2uRIkg9b-OT1kdPK9Q-E15p3UZOOAwrsnVOjtebSm8ZRYLOQv4LIgS2V69wTU5LDqj_Jm3tkom8zVSHNdJZ2zJynYVmJghrsOoCQYQWyPNCrUxy3iFboEPkHBibK_h3Y1IDCpTn0Oz8Fuza1LGR-g4iuBdreRV39jZS7WWHM3tZYACnntVFSwTvtWGldE-ejC0zNlpHpzhTFYojukKd1sdYdmcixVtGU93MDlMlNPyYzsIOAmsgiPK_FYf2YIsbI9sk_6A4fKIifOzavzVa_rka8UeYafkDoqWFw_X58oI24EDt1h8pFSDU_8Y4C-1mebReoeE4xRo4J8LTeYh_wFPxlb6qitk6F0CnEAHbApzGVsQmU-WOCru5aTHkAOougewciLcxzCbEy98RLnfsOFL6O6196xYi2J6imHO1iJTEtcQnJKhvoyPKXlUaX-la5zBylf408HUMMnH6NfeLIwVFUMF-jF6Spv7Y5jSrX7G1Dpcf9wk1muDq3yA14osU2twKo-CcQJuDU388x3HkaMhIUpo4s6rDwHTtC9AHOM9GoInPunXTbfTHLE1mKSTqo55tny04HFZU4hH6m36r1wauCVOG4w1PmpePua5TRBJoF0Llu0HTnie9r-MqRx1oHvwpnqDzscNK3bXHTIlsbtAErSSoW8gEe1RTHmzgjD5PcVi9vKJnyzxExLTLs9ScD9vai-omO-phLDtN5ip7CPNqFqprzbNnOzRxU_8m9IwXysIiMiGsgEr9-dXGeUhXSzu3VMSYt8amLgJgqrd9A6cAplaFgSdDfLvNPY2BrijQ9OihFDg-uXXdNg8L_NpTzTl14t7UG7IiW1kph2d5rDcF2nd-iDV-Zy0pq5x-TNIET_m3gcb4fCSYHMHwBh0ZzRcoUQZKmZgVgocb4UixivRqoQKMVTnOJT4ejAXK8OzzZ_VJ67bV2YhEl9Y3MPWMn21dVq4p_RleCSNDxTrpncDfC5pnq7IhstiOFxqYgMqLJyQXkXkIDSxKHrqmG5ildq_-Fg5ZBuyRTF7dLoDRJKmltrr2Oa3q1_pJ72vpNbw5_dCXuHGd8Zi-gPnu8iEsID-F5En1JSnIZG1xDJXviEAtdbhAhT0jXCL7KIwSd7TvcSrqQ_hqanWpoPgB-bUI1n6BNZjMGN1EOxB5X4wGNmQBBSzGy802hAHp3UmiwIVA_KdSoqGCLC4GCEiuGqrLZr9Zdvp2UHNp_8BCdefvmk8RR-Nk_q-HowKD_k1OtvwBS7BNx7wxBaJU479At1WXTbxgcEc_8Zaw9hEd2sWM8bh5lL--PQ_y-lo-nGN9s60BtHl-kMQttmFt7h4VzlOj8lE3s1r4yF7oCTjd7ZkiVt57OulevdyB8K40WYVF3NJt9UYpVyALaxbKBxaLyjpy6pODXqO-6KN8PqKhCd9D61VvOG3YSSTkAeZJEcGrLxEnK9U0UqjLoqFx6IZevhYxoQRSd2s7s4EE-EtnzV3YTgWqsj1WEgybHWUTQtyK29_O5x3CUmKbR3_cK-yipMvBYl6zrOBb4vVDYZwl8gUdax34whtiY-rjGoUVy4itvlP6EXS3Fe-Em5LSgrt92ah__aiASYNZEN-4LzbaVMwh36YHBs8endLyCzQB6gu5TgDN5B0KLf0HCNqEomCR8CncopSClmXIKN4a3wHs9zR2P8OMjIV9CzMGcu2itiR9s6ThmnBawECjb6qX27EuE0QX4T18CTWjnTWXEnHy3ACZRvIa6hZYdJLsuky8DNtr5V7mFxMDDgqeS_cIxDoyNOy2V5PwbRc3fVRa04bVtfUOM7q0OiLtJz_qEr6Ig2InPA3_eUKk6du_mdfNfdgBr-T7DCBxh8-Y40VMX8rA3CA4uS6L67gCuTE7jXXMtzugSyORCs1RUCaYyXwY6paaUhWUlJ0a1aDO37E9f6Vd28JqyK4YzMAss4G6-a5W9PUVykgGhUoE7WB-jWwxOlBPSU_TMphlcbkF16Q5piDgaaWxgi1Iz7VAm7XablxK02ZRET-qTUU83OxF9hHv8z4fVIANu_q-Xc6QuSARnSbx_5veQkxLr584rjx1_fErQPvn_ajBRZ3sPgflmRG5X3bjqJbOe4nkGyAv_vE_4i-MkDOWcMMnNKBBN7MnjtkuU-_bMZQUwHOUVxaRnJpGz0grj7pydtNnw6o1faqK4lxn8s1Vd-NBPbCShl6lbhZkDR3D3fqUd14AkRbRxYjgOYfE_ug31pZqCKEwix5aU2d0ulD_DOXpXIpVHrUIKU4W20iM9hMU8boUDzdRZplVS6U-yrUJXzxezKcmLExsH1aAbXuPeF2IubQ04wsi21XiTiy-B-MMhzWIdMNNnHkXG2XnrwxHN3FMPf5hH_oMXdVY8KZsIGEWVAibxqGu3UVCTB5D9pKUdelln_D4BCsoBMIEKqH16Nq-opJP2XWLVdbiB1SRDYym8HlBEw_V_XjvGfxNGaXv5r2YBXxuLM7cNq4tXEu6-jH8rLv6UgeB3V6Sx-Xx3cpwo88jgA_FC9-azZdZt8gCWBHaiKikPp6wUiIlYiXXq-Q6-Jl9Hg1s-N8cmIg1hcuxfpX4MNl5sEfPl-9j6GSL1L0bArobjyxaJEBI61mFN8FubrYN_z_1QmXcVKbsQbkofaVJFWuIdmhWllzlxy1sXX0O19nusF-DV-9cd4s_z8qcLFtipDPQ6KUyNVqehxYKrXKbizf1u3LoNvXgtOM-WPRIFBg8SS2Jd-GZW07E17pNjDEMpWl_xZJx9PIyBmeW4ioVt2QaD6mFz3pH-lr5CuTcYdt4IRhMXlfT0zArPJl1FKTiZtnTzat9F72Othnlovpxt0VBy1oQtkucuaZsdUJpw3QX4m-KtDu1Kf0ArE1c_OEDtAChn-YoTn3JWqVy1epWi8357-eARtmvwLlMjW3Po_6llLbSEUQLHB4GzKay3G6bhl7iVtXLshAOcEE1Aw6gYrrNlYw2s45QgGywKf85mNj7BFp2WMFME0qDzkG5wNLW5wRcHEmjrPoLv_phXmeOAqmYawnEIdn_fRqb3i4jxAL6_Rys080i1K7JThN1YfG72YZPYSRkSZ2S4jLA0ZVRZTbwXwd-NL2HiThfh2J-Tx0yJhFz_uRs-JsWqQDTDvaaAIIL367U357jb_Q5RgNWm2SqbzvGnZJxdgsyC33kssgDopBk8x0cYNJL16HAw9G-2mMHgJXzjmPQbeaE9fwBENGI1SqKaYUoGe35AaxQNN89VR71yqnnwBcIOi9hw7NrjabSwSu9oSWJ-NjyvzHctASCwTGDSvqIxWPzUdvao7zUXyiXeYVPf6x2yfb1uOjOpSg7svG-hQAzF-_V_VCksUlZKtUmqSBlXMeS60oXVc9HZwpXAtTVYoiT5gJnypfZPeujfgLALoVtfDS3lUZtWTbqsRQr0YgV_Ib86gf9YzmnjCwlUbSOIPh6woMbTix-WT2FgA2H0QqfIoB8-d8lEvcJ4utWW-elUEtU_Y2988mSE0lz1e5WNZr1FCzMn_GoHLb9pw7qMSn1gh0IE7TVoXeM5gWU8tXH97TvUK5N2Tij-QnAhQ9j8nPkf_VxNiuKKe8gAsUF7pJlMXOnSnga_VpWnGAv5Xylf9xj03RSqWLWDPwkwRRz7YPMKTnpGfeTabZMflFkotc837fsbi6-J44XJF-aMwlV6LexPAS1ym-UB-nuHx6uIJCONHDqv046DQng8yjAS-LCPUVkmLfauCIHJ536YngVuQYwRFKxfBEkepeMqFKVoIHD4KmNusHlWL2BeYQDfZI3RXOcstEurSveYdhQSrp1p0NmxbQ7NNgQQMjSNEwlhtOuApjiZ96mlOkq4-KzYfeiSC5ZLJTTaAHM2LvHmsyXz_CN0gjm80X4uXQgOh92JmVl9qTJB_RL260GmABXAV30vdtR2etX_6NjnjgK_oAuS-PRhQX5TUnBOcqyDmp8-LZv4RbMouvP2LwZYbb8jEQ1L0Z1GRbPdgjYMiwWmd5GErS7G_GIBmRqLOmfEAxxjLmyGxXbu37G0JITCFDjRye0sCCgJ-mnVgcg_hushfiVO2wAOlsYmcUOJhQ3iyBWevNjTIcVwzObL2olfVoS0SshdG0R7sdN7EXhG8nP34pb1ovSs1HHj3MgfJX5Nf43Xkxq53d1WGxzpEzbde4jzLNHpI96WN1y52OUJ0AMaQSk5LMFRWJEvlSiW1Nc4cRSAVpMSc3VRAojzLJ-Tue8ff0fqfMqAy1Zu_t8E1GDy_xpw8DbRbJVqZd_xr6R6cNoXTD1Qa_vFn_dPZB5MPP3kRg-SwJvh_Fmrx5pPl09Y2u9kmYm1T6ZxVY7PBetsQOn0_bLWB-iS0PRGlNYnxh5fyhWWxQjmeOtbCf5IOHHDENhXUenCumZcKCxOfjvyPBdAy0lFg57qOMXelb6jU5pJc6SLH-tawkxkjIid1C2iueMll3xFAfqGGGF8OIjSHmCD25aJiRor1G_uPhYpDInv3oJhV9Mdc1JqbenXPh0tyh84J4_gh_GSfICmUZk66RSDnuPPP7yaRSbneHr6_ikCsd3IRCBX73Nu3K13hHdO86fHHgSIrZ32LG6iBd__5BuzmlSJEIV989xija8XHaEfX4uobmCcHgBnHtXkAjpuNRVQHdHw41K2FuRzBd4xuTfbI6vt4R8V_U-L-5ynZW8ZPktod_Q9T3JgHTtNYCKeTONJ-ZERYFqblzN-5U_ndSh4hik6STt8KP3ms0GvqAphDScZIDBsYKpN5d2nQeKQOYrdSg474mkzMJZ-JFfsc0Fl-Lz_JkHZUX9yBL2SafGCy-LFIXBuN3qLlO7TxdpJRnHdod0ctOcc-enQrj88QxgBq4UQ5QEphyuiWvXQhaPUE9cyGytDqgiCGM1Bf32PINEG_lWb8CGdNUUc_UcM8TcYfL0EUzoGyplYxs3ckX4EdU-HmSJLTxyKFto7sNeLQsFIKgH004TU5H-AiEW4u3hSdGCEtu3uyPAHvsLWJNwlaNcghVIVK7MYU0sqMd9ZHx-IVn1VwWBULL4FIweESHCZsRKR-JYVlwPkL_aQNA63SSs2wJcDtD0CY64iQ0aDKTc2nc-0oz93vpmO8PpVrgCcbYI7IPFxQInxsXFmkbwCtnfN9Bd5-GhROuwi5wnAxjbGsY7IUOhwsBGFa9WwlJIc-6kCao0OGs56-mupp2NWCk16pzYEEvl3g8x7fF5mQ1s-UdfNsAPb7xzJzXzvRW-wxUmajRWzNAxQ5LBQoVDMijELudfjV63NYuS-Rs1ZYICR579NPuscbL7pmx9cl0Unm_TMSgM1QCLx4ygMlVdIiL7yoyjLMaUO6Ouvy6elq7cIDRzI1F6EQIuL2-PY7vZ5v8yW-qdG2_tbztnZazdEVlqIZ6vhV6O8hdsD5O1cnqU0hZJiLW3rdWnZIvBqRuNwE0yycg5DBfRRBtScSsea0qoElAgQ6QuvqNtFQKgDWzsGR44pPctRcyudSrhgjZ5Tp-wMicpLTif9BG5zn53D6KC4IG7hLuVtvBSjRlt193EY2cs5lVqcPGJUOVYbSX_LarP3vwvEDHD_poJOlpzLnuGO0NAO_XcA75FLUDWPiZ4C1FhIy0_ak-J1vghYOEdWyLP8hjqWUcPPe_62IXzON6HFG_k_B0tX6sjyzl4VYdCB2xj1iDp3oQg1jmr42NEe_ry7DdmfPwaSh1AWoWN_NdEA4gIzgkCbEcpKrnKSrxYc5qZav54bVHq13KFixXt63VPSZxY9xFFEK1aEL_8be-0fNcbyJjwEuY6xkC_gqmaBsKUX772iBrGMB_115VYm5w7DSaq695lGmqZfx71tvXA85kryA3S6s0rULSl29njqIpEJq8WaHRos60otg4iUSKqAaKM2_W886mjvrHxNYyruqlwQGSD1GurwoaVHfiuqmFhbL48YTdq9m3p1lf0qfvSBlSQDur1Ry0ImzSDxC1eiDgnyGhM2MCO82FMjBjhsu5Nx9lfPccDSdZnBjri4pGMf_whWnqc42cOmjVxARZPnH0mhodx4twy-nHS3DfleqoKlmP_JPZa8P__Oclnqemt0OqnJqWd31_aCCHmMA1DKvy6P2N_ajKwLQd3kSWlmBGkhhDQ5INMDnZuLJ2SQ4wwcLeebObodGAw7_8hNQQlSNfDBzVzkW5jNNn9MyklQiBYtueSrbtJVYZ8DI6pzeiK8mweqbePtmjKq1WzWSp47sPgR1wSwxgKfGhQta-920CxRqXuN9GTq1zz8VAEALhu8zfomn-cXBbFN6YlCXXMhx1hl4C4If4QqH3QKQ_fHN0xIGWgTw6fDCqozwUgx1r-NxuCMGpXk4yxvg5_AQXsZA0C3wK7JUdqY2L-fT44iRjgt-gIOIBugMxRpRxDw6_19WDt4oCDkqIH3fMX6PJ77Zy8c3_dh5y5npsf1YUVqP7WLpcdWkWyTmKhxfhYwzStBsbPhPQZm4EN6O-GgrGGChfwcdJoXzS4olb28cGIH0G7WCPrmOL9ObXjSxW-NYaNEeMkHe8JUApacCpIqIIWZgqykZV-Q_tQJtHe05YTHGhfmpXrE2DJlbd19rJ_dMebLZrQbi7lJnOXP1o3G6ElARhLUqi_v55lNvZrSaA2O8zTFxnOMkh4cVxBYF9TIBVeQtXfSHtRXtuB2MuGsXmT4YwWa7Bf9ujfVXJ4QjRnjvcfKrZ1moQUhzrZg16cdr8-K0FHzWloMQJoHqj78shy3_6uco82RH7yGC3gjzdf6p-27_waSqw6Zw6tb-6-K8e52hdj5oFlJwopsu_lZE3uAotw9IVrv4KOBfao30xy9zWPksJmi1zO0q6yZYpAlLSerp2ZyyyQUffvkElo3f5Ls_4tyez3l4Z9JDqTlAq6okT6TpbBnNs4IkKAMBA31gPjkGePeMTXSvI9jk8iE_F89SZqu-AlzkAp6C6TT4l6ntR4yAcZcvfnmkJE2HXPwogkZo1ktTeqW72tFruy7ayMfCuq5PBxehL8Z9YLTNC0biVKvmjGUVIWmGXGEmSEfiApi2ALYXO09yPHMNN-FAmFPb2bt5V-mAqzyy2zJgyGVhZXOjH_UdU5xZuFLenYEwgZNPjRhUZt6QL-7cmUGUW1nX7vSsEVsaap44J8oiUazdSSxyFb6hUNLWvRalzgiUZ40qvyX7ccLCv30tr0rIQUUyxr4fkBNnuj4u34ijGGY7kYcMsRNGJYYwp6JSuGbfSVjRpS5RYfYz6Y8iHVTDSF_-uwQ9F0PE2I7byj3Du2jEwCaaJCJET7xhlWIQYWRbNePtHCv24_xoL_yg02ALxZE0eNm9sr2Ux_7IOZ_QXUsXoVesDszXW51Tjp_Kl1u7vLf4hAvasj11sl24JM5ffIOcu_pV0MnIil4CGBMs9mC4l_rQkniZTOdXOMDTm-LLRtTMDsB_RujRko5MNPgLilg2u2fqNqDijSuWI_WdBQL2UsqAOcMKvu9_sIThnuOlm3PKZRN5rnM5yiiWzJdN9qugB42PZN7-GbumaJDUtdjOqqBc2Xd7u8b6cil3sGWyhfm6XELHNsUXZKMgLjlJfH6YOYBPp6_wO7FBJ4xRK2zSAgGZApNtnLizyS4RzsWkuVha91_rZw1ToPwliobOyleLUFS8sWMCfROm7u3ZeLE0qj0Z91TZLgRI2DepzjnG5nor6Nd6hsJjLGu4LMZ-eSvj0IsJsN29p-gj-NGV3a5czaIZcC0IpGJx_r2bbrXwHeGI7xTZ76geM3RjgrLuXyyzlgcNU4nqUX_57ClrBc02zRE0pizFUBo2UC3CGso53kTzx3mduQ8kYajlNWiFmIgsAXKnwOe6XWsg3X6pTjKn4S33LLoXqDYTpmxTlcKRsikoRDfor-ymVRTvuO8hkT-coFFekLH7_z1lOyuMPQPHj3Kyv17hQebuSQPnZe7TguJgtjgooHYqJbnXXUNBgUsadelXSw_YRQCERAnlD0Oeu_zGfx_-6KSGki0TzMU9gV5HueOHPLSAp3QTep_EOHq8VbofhK4siE_be1qIyE-OhtQOD527vFhlT6hOC2tFw9M7joqc1PqwbAs2gEFKjB0oue-qpBqAujXUChWjNQbtDqYIYgFF4rWkxiHOERxJnmJ9jTZQW_jUyBmuFxDi4cLX8XEtpbtZib7GxRyBbXXMC5sLRQEM7vTGvjLEo6u2PrTtzN8yY0DMnIq917FpdKZ5DcUUbi4o3qhYBarbPomDN1G1CiANeLbQs_AvaCfsJH2s90phYwV73IEUt9A_kIFcRRhAOg-kB1nTz_B6f4y2_PS1YJwTqXdimgNLvQ-Tmw_m08J53BgXSEAXEMh7LcJsTxXOs5YidnqKIrwznKB1z0C3_FQYZ9Gk-F3AZU2zkYm1cDWjnFJEtZIksrLXYYmRg9mP-d79me_NjRuVMYk3Yo42uY3pMWkDw8kZCfpCWSknkuhz6TYo-apOA2lgwLB60CErTxy6MCrrCSTdmFVzyfX9BhzUKtKv4l1G9DiZzqAYUvAwKZ0DBbZAldFhKoidNZc54Mjoih-pbtUaH_GWj78SgXfZVaJ4LLwkrQKV6RcRPCB1Qlj--YzYVnGDKcCobQlk-2QC1_zSCh1xDi7Vb_Dz6gSsDONZD2Oslx_HsOgow62h5tSKhSeUUsxCeOY3K4ehNhLL7RtAoYv3Xy5jon_W3dvwTq953UD4DJOcLcHxP_TSoSIb1n_VpJahJxGPW_WYllnizHJKqbcvWENYphLm3CzRDQF4Jcl6TDQzIamgvPedIT1xjnaJwvUsgfeaybD3mekHIkoUaewqbvqEDODw5ni2NiM9aE7Jp4TlqNx6eCskrEtui8ejoETe8Kx_j5n7Di-eCeXgB9AsXZQbP7MsLv5AgneTBarUgdclr2Ok-KAGoaHUoWqsrRNJmm8U_AglWKjBze4ePPDTxVbSEJhZOu0abWTC9JrU0k01aCcHb2PpuaT_4Ki6hxsNyaimKyUnN3DnH_6Y3vGNo2MLIAuebjHOTRVUQ1tYHqu9V_geVzNXpKxZo7b7TvyNI2_9nE-pdc1B_w1AsvzUxdfwo9sehZCHdW9uR-R4AiL1wPnpgz9-4u6QR-qJFWCK8NKKfTA3s0jPiZnNn4TI0eQKu-zsc7DR_STisl_6TWVdjvz3vQoZE3mJNCnfB8oSyIGh-Ju12REuUQiYNChNtnl9KDAxPo29lilAmBxW6MhSK6Ao6-AMITWfFP0TURmb_67DHw75-nXbXdFmP3sjgXmuo3Ep5RRxtlMBPS2v_E1WUqRLetCQXlUZz1vBgV8QpNXxMkdecjiFc9l--fDCdJ2yE7llMYUosarA2uOwH_7NBPuM8YVcICh6XMLKjXo8dcl1Cv3MBS0EZeJ2W8qD_liNhqBfSZmndd-62njZyWdbmpmr2dH34g87yjWgkEbos-3rWRMrtz_yJ4TuTwS2aN7M5CgcqjCq-1AvDHgb7OevX9MQgnw7onOUBgmF3zlEZLYUy7KEVDmlkOt53ynlXXkEUkJbQyEyeJ0NjIKr_GtYXD3WaPbEvOyeNlIBEAhLK258Z2eX-PqTvTVf85GmQkstVjKF7KV_izcRhL9Vpx2w3JWJZUvXLNuQZyqLTNrezKrukSBVVFVHZt2ey8AkJQ97JK8cLpvelUXtzQVahAYj4POMnJXCVovcMQ8Pv9dUk7hznsl9Zp6Uw6KrmMYbz4wKY6YFynAPHpzEoYqSDwxcTV6iYnzfHL50YMdb6pwzP5qGiMkf3Dzne3Y0KBzajm5bE3Xfv97dPiMm-0quC4h99gg3H-A6SayBYFVwtMVnXuH6t3z9Y5TL6FLUn7H8W3ZJYX97xCxzPpwaNdFsh5Htgn4iNuwT6xRLeLfgxhNd82IumnksGJoaxgVgFoBEPgLWbs5Nvy_fc1JXTfhM5mCtCmgffkDS2q6RtpHVoUU0XvDE8u9g6_fl9NWn8asl6O_-1XzYuxtm1vCmOgBEehyopN7_I6f2OMLE1vu-sQoFFvqqZXNJ344odkDqYwgkpYYCuPPQirxjXCPKKkQD5RTSy3UDIj2h8_Ry-T8Sef9V3sd83iZtA3FEahFNFOMg-PhBx0xe7ODNtj_uUVrg0Dd7G4gGEd4aoZ2j-zAUE5htmCGbsFgTMAOt6xrAeWAq8V2rSu3UXYQVOKXsZcFAvpbwE5VoTMJmN7IEqaqEAKkxV9wRuaAkUw8RjMw0LHNdIZL2CzLXW_u2LMFu4izSaBhUDH8z1ewBA84rS0D_xRq2qMAboNp1FKHsy15UCuJkXY5UfV7W0QRe7g-ASfcwq-VzROeeIIxzfAg4z81PVbeJXhcUwVOt03GO8e9C_Es0h2rQS9asJBVzMMFy_kXeaHMGW4wn9QiUDPJFwetrZTImp1HRXd8fYMZxcDOPYNPnwc0vBa2BwJ_J55IME45aqQ_j4OSeBO8IGh9urcwMTpC5emeUZb7wge6P5Cw7lV_d_lOCELp9LB5hPtrhLo7Fghh6-12qUbBauZpmgm-ewVeOq_ms7qYn3VRwDQFzkIR9YLQZk8SqdkN-Yh5uRPFDiwF8nh1FCxTRmacqCMvauf0_Q7ULFxpexnDkoV3ZsBa6SwQViAupJRPUua3ZIF8aGWmkQCbAH_-EoUdZtIsc7UaWblXJTeXBAJQJzy8yxL6hRlECtVPhVnYJmv5HQKTwIkAQ5b9YJnK9iOfFPmG4nRvRrQu67Gt0BrmMPoe2eoDwt4jkR6FNqgEZWP2MR3AuZ97azNuvVgXZESJ2zmD4To-wNq2QUmGFiZkbvWz0svB1ngY3K_WpPsMVeKqrnzeEexiFyXOT6d_7_iPm7WtYhgJdd1HP7616ZDYw2icWk08byrYGs5h3KRN25JekwwR4fEawV-ki6Wexm5klopQP5k3HQP3uQsuiDoyilKhc-adCOeIehl7u0AceOTr1syFTTpGZpGe1y_1_diWtxAQHCjNvptlfEMsePqnObYFDgnmqbPX2TtMdKFZln5FWbJhV6FU_17FRopAewRMU9qgsgBYvIcWDOKWzZNY49RvzOsYK6wIq7VVsJWzwkD0Vsc0jJD8zTJ2CbLv8rF6x5eH0lgbMAO4fw9BpM6Ff9SGV1RC-4iHglROHraD11v5nQsob84fGyMWhHuhUMoI8q5E9ikkvhD0K-BLhNcxBIgR88DNb9yn54RYnEgGpkeGi_m9eVO8N0k42u6axhNw9cHTa6rEWVsJv4sgspNilvm4HjUaRzlU4LKFyNMX3eUyIVP7V7KpLhsfAQV1CK5qJOeqyEQkXfiJQw2XOzuE9wKN1v0oBwk9KcwUAeMt3giarxs7nOk_w8FKHZpPOFZwMu3CabdEI2ruIl9QYF-IeWcmVuRokW0LawNuXjx4DITqrxIizG7yZMy1wn6u0jrfR66kJ2_wCL8SFimZO9-rvmQ2tR0JeEuGZFAn5FVrgdgta-kz8zyrZSb3n5iPG1c4kN2VCTwQM_R_2aXsNYllV6xHd7C-YqqrFxhpcV90yBAHYGSn32A87yJkJkpPuhHfFD7Yi7h6QkRJ8dGkiI0y0aZDH8Y8vgsFZ4dUnBuHccJ5IvKZ__uO_W84cSCR-d143PRYj5EAmP9_smwT9u9i6xIWVTV40epi9S_tHYQpc0MgQbauQuJsyxH4PPFThBiCH2P2MMTjWLCnsyRtKvqltzhSe4GHo82taFpnZ5zUwZlGj0XNoab5QNgVxWC9WTRRic9Q3DGDH5gPzfq6sP575WdHm76kOB1oCqyNY_xLUA587DHnnZFvgJwm9Y6aW69-iC18UDNScF7_vAZIzT_XGz7SKsSGAMt5BoF4IGb22gJRR3kvw0OpuIQD6AnOqH2_3lVS7Nt6SJLQ0y9xNdd5QhXe4pGVt8hz-PCt8Q-bwCL3Xm6g308lPffFbvR2Q2pIY_G8qIy-i0n4AYHBwmDOMpqhdiAw0HBOWDdnAWK6vvGZOJEfMz1n_lcndZPuDrbMQKvTaxIWFq_zMz16xFLRJR02wklDlkjrPwqwR2AtZwz928SpG2Ge5icOpgEj9un8Thhjt6ApZVi9nWdPt4i2mXwzWxO2f4Fo5_g7I9375P_0eq6-gRo9f2I_rZWNJQ3laynuV1dTl791iIjBQ2bG4Rr7IqB99JmG0flTKTIx9QDGuBmKaChbpAmTMRrHTuZ7w1Te3oFzPTE0JsivIl-hs7z2zadV8FVMSBAco-lthxiXX5fCeG2ngkn6leRMsodfOUbSjlDV9JU3z_n7bpK9EpFXPGTthivHOeEBx9ILJy-lYKLP7wTnQRGsBUMZi0OFSz_rc6ag900BwavICawLCsSNC8PDtbd7kvXk5aSj7zlWEMK7yjo41R0TBK6pZIJZDoAcqZaXLC_aYjlgqHf2AuZfpZbnPaWFREXgTUSoAw9dX9I7XQrIGQi4KohemafIAmUenTHkrMwcdtI5mQLQQvuWQeanbB-aFwSnMhEujKd81hPOnjXOWgNQXCDB4WeNuxIMqLxi1wxEbJVV2pVmbh2D3LwLEQC88MhvDSs2Sylhh7iP8T0QF18awRUW7LqO-32P-qio0j-AzJYLKNd2FCCEqas95_OdLNPA6TqH9cR-qOSVu7_s2m_TzFxCG8zfYv9Fbf673A33IBFVz-zY6VqS5jYRA8Gyc6KNAiwUCw-7j2zik2PF1z-STXZFJUdQMT5U5KrHKY2ZIqrItmblKK9vv5edSAJKdiW95lnurSV0ufqmOT2Ee_hyuJP4DvNF4ynq4hq-hsSew8hXwmEZ78v2JjOH84Sf4WCn6cSNAdIIIn8M28xb5rWiYdnrbyBKceYa5_IkWnWG3px7jPAcZb5uHzNKbHuZHNm2EHVWIgEcLQWQ7g8xbrPzV01zQFcJb_F89u_lU11pkZBFXtvTjUsvBY657XtprznvnsmqUyDvB838D0F3kglVaOYWJ7OqLpUHP_7oWQr8kZWOPLmwRY1HTk1up_JV2QouRAb8UpgrDeehpnzI0X3Ulh7DGk6flQeVyR9E6TlgK_3HbWUgUz3g6xUaLpka5L8BKymA1gIb9VfFpMS2fdSe9aKCSw9nldT8VB6BLAsqwBZovvmAwSxrSMrv2DKnHfuFHgKttPk9rOg8BiJNgP5v4uWHoZbBta0TGNCORViMKa7iK4UIHM_0V5jD_zse68-czoWOb6BX71Wym6SGBlnX-avD-r7hHeZDYe0VRCCgcZIqx9-k_SuYzyo6CpyK4_0aVI1_z7KJOXEKQmMbSYY2YUvYB9owVHTMrRwpAQStXmRROZD6WdMEmjTJLHdAUnSQaQgXTNf0VAqEhrmnPG8cYe7TOz67riSzZIMt4oQC3QEy2_zoHvUkP9Iewh0odaGb8-ge39LVg1PnCuuc96eX4jE9nsr3bkHGRWswZc1U3nR_tRaOc9S7d9KrNWst-kpd31afEAyTgGKgunDtGkYkMPgsSoJx5BdGWnapvMXiwOaPL8xu1TNcuPfPZpyGQDCpW6lLgjllHiZ2ANMX6nldTWAiKgPwJ60yDFsb9QKogvnkEOFBjaNHkvqgIdpgF5Zh_L2qGcreTtey9-mepLbY-nopIXRphkOQ6aHrHoIhKgVqA_USGu6rQp65TFUG-nM7WhaMVOyi7LR7kdksoCGUCg9E7bbCitNI3k-hULLwjTYpldkS26aC5vPZYVPRgF5wdft5USgBie-dPA5CekdjQOqpiHBYgTb09uXkvrEU-DT-ybla8vh-8Jz48nmoymsqPPm_akAddciSB9yj9j0YSNTM0jkTqcQnyRMiPFVVdetqJ55-7RFjJy6w5dgh5z6wiLgXwsIgqVjb-1AqVKd7J4dJ-vlEMcLMu9Z4weh-3_ho1XeBdc1oyw_3739SmRBBJQCleIk2GUelNHhEhUQ14eDb-8mIA1QYD027NRS4eHdb4lI_ArvR_hhw2O6rjLYFVbHYtT7bzHvUHuq6sdPzFoD0WinM-gO-s3ZqcXVE6dlAoGvzN5OhdurOZT8lrarJhVzm2hvOao-vH0ZqkKamnv-sGgjX1ENoivUjb8SeXmGvYxGbuuNGKN4N-vODizG9bAK9trtwPt7YlLXH7NXeERHOQ9ps8X6FM2wko5SHBniI7zr8VGay-AzF63bJX98xtk2EOwD78ggNOJd0wcvbsEHJgqgH3oEVtKwGGOqb1DJXhPw-fSxuKsn1j5gXh6oWaQsHJWa8ef8wAG6xfy_Qas6Vs5CukxRAG-XIbTW8FuxuFLMgtpCxMY_sucMDRafiay29jZKZDS6rzczUrgo4lVoanzf4bv-Nr4r77YpC2uoZDDdNcYJYCChTfbWah66mPftCj1pJzvQ4-Qz4avwhwnmjZ7dIQLlNmUrRzfNaRI6UZV7a0VLEIRb4V0Wscin1QgyzLnVWBSjpJHf4UEBaUx5f8SlxJxAMmpZwayIx5lcPAyGGb1ACve4j96afuF9IGryFsH-lRs-zodxQBHsLs_wg3huRPEL1MvcfF1NGxPhzNKmmOltjxCUGqbusKQ_htjjNPOYxLRMJl_lAfNEdYsiPuWGN8WcdLOYXayzL-GSb8eKeylix-L_Abzr-1RpFtQZCXTXG43xL6KUsVW7EQngkoTnl5chAKVQZ1euJjfJa6v8W4w27ixOAwbfZ7SGfua85FqaGEFJFWaZ71_e37XBcIlmtir7uq7HzRfPrz9VG_NhwOWJVaY9dBUyV9OeHIXL7k-tQ0ap1SirrQZipp17HpDz8EhqeB_RGKWOMlC4-QbrsHGV6h3ruUvndGy9UPq3atF666r2GB1tvGTIfFyODCusGEVMZElRZep3VlP4Q1ruEKlbQtb5-cIoMKlOvfNAeW5LkdfqkIscPylV-nSvi2uOic_wkgdKyzrUEdCXPhmwjYRISjx5pRFXY57HS8qjNcy13Z63MZGLJZcmstO4NQNPR1J71U6LIJK2rJfmT04tlRF9rg0BKCDCb1SFFBFBVfqCFroeNwEiuOZusKT0umRT1F-w7gPenHbcizfv0yRpJob_HBqdTLb5kyDRk0Y6aKr3UxPKdfUWoYEILT86bdL21ILTSAEPg7m4EKi7wjjKQXR-QLVFOmRfMMmcuJw4_WHN5bZFmr34uMImxybfHlzUPGy9FDQFzs4ieDKr7AoOXSxSfAOAbq-cxCHamT9R1qZefzZIW88U30kfRm7ctZ_y4dBymiqPfz7KBs_XsuSgzUTAGOnb38vbPWLxs04o2RZegE23FAvGuoad3VWoUW9SK2ldHAPUSmxtysdu8NwK9CZDp3VjFhplfC_noxgz5e8UgpoUfQL0JTAhpnE5S3w2PJSmzUhNoq6WBo9TdD43wgKw5l0mz32v0MYWQK6vPGXxNIltBsr4MXRv0owC73JDoH5NOznuCRJ_JFoZg138HXcuwUNFK8ykODTUC7SQ5XMJAnVRJPRUycraFzh-wppkAkQ2sQt2nQhP95w_MwoVjXsLiyo02C6mBuF-qJKshhafUu5SGOVUXcBj6EBtnM-mm92hwAP0z6fVWuesLcP7ERq_5VbJqS1D3tHSuUlgX26V1ew__R_Qz1p0aGKls_W66tDSpoI_YrNc_jsD1ok9iR7afYTZmYX-AjazenHdMzi1OcDrCPnCfCyFYsTqhDGVzyo1nyIGzLeZExlxHzfvh7bu9IU_TRxCw8nmXvBuD8MdgvaTzrvmp-qSOWBa4kjfNVGKQA_7peWV47h_pa6XHivnNo0O88K_C0NsNpLI1C30fCR39oZ1wcjTA6etU7hAarkZKStsHWv-bJphWRlwtyfTQxtF9yo2H1J4hU-NGstxx_WIHrGQ4cAt83CBSpeeVzKtENAjWofdnuQCYIGBJ29SEywyQpG63XzHHybpXrsjnXAhLYimi5RsOmlawn74gPN9Y91-HxwSPWfgvhvpTAmu0oXpxSrUjLCTpmd0dcvPit_vTeo5AZNs4Pag1opdg4V49nd3fubwSFksIm6tnCGVNn0KarIGyWsSv1xrTFy38TKuTsDgoLrY4oq8h9X8_lA78GuOaqzMSRCJYh_IHhAVNjJDKAJP_arDF2M5a0LkVh3dr0BqkKSl7XM5TXd-3YkQiwSTMnDBUX7kVUoo7TGVV98RZTnpA3Nicl5fQsgUefCNa1qOKIyT6hYfotZwGpo-nQrT9hHXnci7mHMmiw_E2PD_5g2MuL0RvUm3YmhZFDaw2Gbgv_yiXtxr_fCg1UB8uQV3qHIrPbx4kzs34mg461fvxkouVb2dA9YpAo0Ef7pg_lJOP9TsEuJUNZ5NdwIjhHv0t1hLb8b8q19DvzdmiuTNSOSuMpzcQZmc5RXnw9X5w-JXpa7J4_GpiWM3xPIWdfYEJ3LoMh5Be6wg0J8nj_PbaTWaxioNje8HeV5fgMDtFZaFsfyuZ_VkuIm9A8M0wRfzaHyJ_3c8cv0U4W3N0ge4fFpYRjDtQ7p7oTQ_2wCQhZ0SwuJ9J5kh2biqZpGclBAHhAXvrVmD6KXLQzOABGaGLa5yvKXmZNBZkLBTzvxHLHhwXDMATH-VmriBFcmci0pIGksUhx19iQ9Ved5ik4GkflTYcbTm29vxxUFOsfQsvQ30oK3Ac3-8vUpZV7D16d9er2PxSPIhyEm0AUutR3ZRTje1KB_9BNtNkF2M5rUIEa3iFC81igJKtv9NAhfnKDHRui11HBkYJ53LZdx3pcrWLB9NQPp6zhGqUBQsYZhHImXldSCIuiSILUafGLouS0IKbplN4CfdP-oPcginSIFUfTMVQa89mgbFeR9tFjGM9gSeol1M4D_razzicJWXFXeMIRTx0piP2FajsBYhXj57BRgAsmwPIyv8v0oIIv1_GPQdl2785JtqazChrxFuYPU5Oz5CPuRFd2qQCCmeNXzKK-MLjv_WjwE6IJUpe7gBWoSUoz7TbD1oPfoKC5CfH7WVdKZ5-pQFjY3xAQSr1YHtkV8ZhmBQjINVI12ob7S_2rSjpIhC6hVAZA1tqgpyhVfMzjKn83dZaB57o9Ve62lgZS5ou3AJ19SkiMgrEuA4UulA6Cm_aQXBkAEh48GwFyAYkhvffxfREftdVuyFIC-h1ccE3xGAfqKG9vzSj0IDha1hEUlRep1qbsShvJsUuYN6KytNp6iTOD68VRBvNQryjvPP89zDec2s5qetC8Ilv6HYuwm57KY5P6eGefm-FXtNOOB3n36cIBoFJ1AdN5KZFydSf5x7RDfdaHE0orvIiGFwDKtWaSb_ZUHLWZodswK4fOOJjDyADLMErcY694yr0bVyrBGtNbWbd50l-DGonEIFHQxVIfZp-Ed13Gm8-XQm0ZUcBUs7xYh5GYVLtWDEl4O1Hzoq8JwffPz0ya2b1z7YP69qP5iKUKPnfJnRg_Yxq-hXv6ZB7sIdj1OpuA0pvtpt_fmVKGOpUuf4sjLxOjwKIyJm7WOFAdVIb6JA_nCoi7axKsaCmZ4RHeFhND5td8Bq0Qk6WQ-aYl9gYAsNZci8sFyGHiFC04JdPUeU5Ibc8sw8lfr_y5m8--ultYCx7Re1wjFfJqRejyLjfBvJWvvKOxu4rZs8G2v6bVkid0fkH2tuIIZJbQ715pME0d2gBUnSRDVX31s0oRugyGKwxhR3VibvyEqT_6i22_ZkHcB5d23TnRjNZBpeHhYpDMumAUdfobGNtBhHGodO-q0_zMgPTc-UL6H5aOsItLUHo-uuBDd_ml9uwhNST_2sYdb9DHMWHFZ8qpdnieGH9upsI8NKie0Qff_-SrD3jaLSYZ3ahGLiPHOoVcFgRDgt5EuzQHppfSj0PuJvI5YEAtOynT-KMKkR5IJmbsYqGdN7sDC8pabDtT6Q6kM4nO07Zmi3fW830CcWlWqcwhh1-2x56OI7nKdiynSmZq7Z-d5HAtzQcwzirissuqn29jz3bOizXG2AR0m25cndmpzS95f5YEX3mARSdkvmeGz7juDv5UI_YXGkCfDxLrcZE2byq3-BDdJsyaNInuKj5xNtdPWnPu6o8xM-B3nJApjpbQyUsrCmylYoSO9BkNgSBj8ABgB9dSQI0_4ZavgP-mt1cJYiAfDMlbSwn17qnpvoEMpjtGIWeq9_8dLfNi54frTSWJDh2-2c7PVQpyItyjLLLZ8_l0iVBIymUVqtEXj9E1Ghm8PRjb4Gunv6n9DP5wTOb5gIPbTzQS65nsyKjiUKQWE515h1MGdf7uqtinGiNOcK3_hK6rUDc41yvu0ceWoM_NEn4d8lQkJKCI31qEpuVGpYEonNf26TZxhqzqN9EXx9tNy8JloakUULfEoGxeKR3RewYXrJUY43KC1LgC9W0fJsavebkTNx6T1uJW3beH0vUI0NLmFwHQdOrQQb2970mfgsjw_JXYI5iVYxuAK9g3m_n-L1o7Og-fNzahKUQieSlxMkj6eTZEkBmb5D5i3KjRXNdI8FTk_mS6JoKTJpE-i33KBM9-jgfr9nf0fkF2RfNnnjDtP5drxp3vhKQKOCNmsTbl0p-F1NplQdRMDsdyo2coHsbTtDAtAZlTVWoXadUkT_I6Z5ktPBwLnwcWaj6q4PXwXOR53gFy9mbjr3za3489k1TKeEPUmQJWzywkw0cKFlwa_pvDI7RZnizIxuJDcu-pF29SoU2jb86Q9BF6I3iIVRYWyJRa_yK6V9z1AbtgQHeaNdSrdfeBWsICEIxvgVDZdAWQCuphPe3FAb_kDx28LYyLL1-tX6r-ncZReyFu4L7aRNXPPEhxLXRQA1jP2Tow8-J94g5_QHQ_nRLovo27dHtjQOYsPoAutrMH6TdoPMwYwvgUObfIyRTAN9tPLzhBmdsMNUlM81YjokIfxberB2ZbOH56fnfC0C8E8ILQ3Hulsgt61iYdZDbE1oPYTHK6k8A8AYW9EQnqIdyIyEt-4C6ns5SIxpLUTmgSsIY-aqNUIrhOvPYXygVxKc9khoaY8Qw87WrZ-9hUC60xCyCj6m-2L5g4pmZe1YM8iE75TQFXb1CfuR6xyy7BD2bHG5WuJsgiHAi9kYQbj16pklfckmOI7A9-sj0qDDQmCBggvz2pOsv-paR_epXbHIZhXSbV4eJBycckrW-oS2OPv8GiJfbn3QtGyrNueaDgCYvz822EWcN9oeEXLCR4jZAYXC383yQXmHmCkxBrL_exay5fByefVyc5sSK2Bsvq1wIqbZJbPzheDsN-hWmOPJECimFYPcpocOK0_XFM17yUKVBuyxWeGNXlBVMOR7oinV02ERLb1ZPN38jiZA7-y65KQokMGGBZGIY4W_qe_U5mqOO5qKjl7ck99dlUooKWgTmoIBuX8PN-qatTsFhOCxfIhP0RtvPG0uP3eGb5VmcG4G0wgAfeqW7rVuMXnB7gyLd4spcMaUeyzmSa_R-CHdXDu6vIovUNqMjw-EzidTiXzBlTvuT5-nzcibbqqJwmO2hUSy5AZtPh7R6lxyHLQnf39gEB0HqAUH512wIIMPZLl_LbdmQOSJESwI347EQ1m2Y37_Xj9fXmVedUDmkSbYaMCaobBfym-KZTYmPDO3rdHf0NTFQLT78vGdog4FvxBwiaFXypHgv8WI2UxXsgeV7oPVGvitoKCh0dp9SCSFtpBskzzvOhI_n3aA9RpEU6O5zLnMam_ueqOIG_dezOqOc_pGtvSNmbJpQ5PAgYNTEsb3zLAopcK0l947c6hR_SG7fCjOg1Hyu6UIHQjTsggB8hhWuNXsW0aLeMrVE-ZCqt4KV8OD1J1EgEzb5vJuf6AVIp_SKrZ124CxdNlgYDj-TByCna6ydw8EGuzYq8DgZfImlgaSfpIWPxJICPGOlWaVcdF7I1prEuPa-eajrSLOdKRfM5pLlLFt2S7rPhs1mCUaBqrMj3i3YJdhykV3rZORVkWBb57E5MKJq5v7rCBwGxLSVjaCdMudDUKG0NV6Q4karv7ZqGt_oNN2qHnaQc5rh2SovMnbX9TfGAtS52uWnlinDM-XnB41IoiLGdAJKjVA3PPLi-2Zkvs6d88giY0_nuVw7R-ZBYmBE-E-72R4aaos6Ed_tDVdnx7DhWKi4b2l--s80kCmeBzV2g6lA8vWPFxlDGeeS6GugvBpkd3le_YRsM5Aj6oq7tMjrf3fwpAOW0myzpeCBg6HKrYO7bIthwQ2sbW1UG0uwyKUP4lQ9VDln7qRiXz4bBf7iyztfrmiMHwuupswf6uhbhkSLwJtuX2eJYroOvEpL_cgKhk107NWi2qIw_WhxGICYe3GpO0vAr_Kg6YTzzeTGU11P5653cgd9UPhZKGN9Dc659f3ufJbTnWdpMNw2XRmCs-jOjz9M2SCZWqJs0HItuioYvMobXegN60wOBMBvCZEpVPIP9R3lG4KAuTquMMl5OCX5YRgX0xXz_6OmbJbSMIQrw7jsHLOSc-LNVNAhCySm0ybaAN2Qz7vPP5TT4dl_cBdE4j_gqJcyoRQsXf-0-pMm0dx6NqFqBKOzceDc1CQO_YB2IiBpbrF6ANZS2C4unIaTgNAbyLQsC9fGj1RqrR6kXXsMEGosqrlGVSl5zM_yYfBXeWIsoxISBWgA_yeEsiZni8SlEqeS0ly4hHNHWHFe4tp5GZSTxHrteFEBEMWVIRR1ifQtkiktqg9R1-yYgqnhR4wNBuQ6nFdLuM9h-bLuYbB8m5sDzCFTkGpHxveu8WxUEWmxorzbuWzvBouro1BP2LDo5RcpWjOfosMvcDXIvD2dzPi9KnBBWsxh4QpTMbm831Dgz3nkZa88Vfys3RJ60hN72FfFMYq2_0Jjb1d22lPqXVdzKL6BRNquhMnNcndIFqSWQ7CffvZ2eB6j_dcSOMx2ZNKo5UN3LPUcHv0eAjZfXYLjdQ9paTOLxMPxQDf__Yy1X3nh2oyCPfdv1JH80r4wtMxt3mI5B_aOWY_AaWtx_CaOdWTnY3giMM7rD5qJH2X4Ga6quAPJMMiKpy4R645IbdeWUP8POHV43CVG2TBtdrFZ-ZF4WBnit0a5cuGox9DBnKW8eIPg0x-04Or4NGfEyo4avebOzyrBnLetr2jipBFYKJ0lN1vI4zkjtXRpOGrOsQh7kerzQh9Khbm70sMg5tuZW2O-QYSA2KRkfl85JGgwDaAQ6lNa5QQQiFrMl_WQcnSQV3RgIXfUKCi2ENp8sRx62YtkYEo-rnLtYC8snVzpAlL51Y1Y1TMFQQPydy3jm-9Wo3lr-gfoTbbPyxsY-ZbH-QEyUQTcGh5p8ie4s7S2dtHqk-ZQQMpGNi-9ofeFW9jighJH7GU4vfiEXUKS5piReZ5vshmBWXqxuL2xj60Ts3qas6cz-0daLGCSANq61l0pFWF4q_CRo5wvu9QLcSKibisVEEQvNfVi1-xX0Bqj3hyBC87w9Px-BU4gYzBbJ9CSjmNLDrulOtShQaiID3lkQuM5TaFrLECkMDhYhOWyXiMIsHJhVWJgmPX7onRRD1bJnX4HrouyGKuibEKYxqHBrRoQn17Fv-FyckoWfREYi8Kcz7iFg3mi_yYw1-8H3Tr82YaxYsL6mVDajivEEgsiQAXzYDpZdimSo6wb0PiYT4ptYb0rIEMqKBtLIXrWELvTyqDN1N1RRm0GmbuevCkJ256Q2Fph1V-DDbCS0566ZQJq70y2ssiqh12i9say61alFtNH8zEeEFWwXQWy_4ABqKlRglGS5aumqRIsW46s0Adk08Zfucgz_Y2lflYlw3i-hrkzVG1tsOwfppv5czbLyKv0h0pSw3gYYLIsAPQMJ5g-u45-CeGRa-KVxIRbBpnW74dPnSv-w3G0YnjHt77w21QcgiBehqctGbfUOkVHZqM9cSpiOLwCO3okqxab1GOp6SkpHzWeXxB5fPzDO8Jn_anEFSDLGUxUoelJVvmCM5uKLAeyKkqVdkHKW_eHLwxxawa5yrTv1GZFc5ChpEWpgr65sbkjTADL9oARdp2XbohhlI6PGG9WNKkcW36DPYqfnFKgaPsqzeMJf57ir2qEkL0V6sXrHFM3lLXMRWjmF6ma4jZltpyOC0sw-rrL2cAufRrlXEJ3No2A1u5fyB_UIWq5u_saAlNuUIAg0xOx_apSWH79qJQVMeyWKCINqLpOBe4bGXrZ2KEs10r0bYhQGBq8X8epkJ874dD7_HDjAPoLChI98LlwwMrCT7G62gEN-VK8F5yYFhcn-jWRs03jjF8_aDHKFnd8k1Uf4MjvX7VjBZUku3BiP7s0D-EZtxQ2i3SEsISuaB_Yliwj_IFth1v8eHs4mrHbPRD4oAEODY_Fi-afPjPI0gVvIPNV-wlk3bFKbes2mx7alOtoPomSOEBX84Ep9ppmcdgD1SBnHJYckJwp9ZVrRnA6r1JiyJHt19PckAZQbWi8BNW_PtYQeuawRTzpIWo7VJ04AQtJCYHELVxKi6QfTpKQVop0Az7iBfvNcAQi-vwNHrz0pbr_ccX-zCfbfoXvNQCLI9a8Nnsj3jgbIL0R-M1SjCx-p55TxzfDOATYBuxq8OeNtYnnrxqiBcW79O8-OkNGcfusD_vcCFWJOOJxGmo6ey0cxC5M8EsAfjLU94PZrzZhoJPv5ha-MaYKAMSh9fOy4WKxUpYmu2HX4cRyl865-hZgh13f1EFAsQGUg67e4P9jk8DeZqd3ScCP0kccd0fJdCDhCAXhCKdE8PfwY9m1-WlZDXHZxo1nzXhpH0XqwU_e7iVnSkSa70HFNIyTZxozafSvqlkmjkiPji5j6zJ0q10Z_OJFhIphgGlMlTEp7e1FqtZF29ThWfWwIgPbLouXPTjSP02VrECQoeHxaB13ajD6aPjCeLl3rdU-OhDlHLGWlPP-uM-pJLdsMGAVbvZxHM_713Nh6K7Q4D9YD3TFAPYH2a-87Mkaw62jPOobWHK_xkXh6smozNzdbJO4KgEap16P6jbcoiEBKAL6u325pjSYnUGr9aHiRlBxayyFaxhHeuQ7HGCNgOqFRisj7bNBoY8Kk9DGdD2_nf64Uhevus1l9nLPPTw0c0kHlT2Dm_ahziQzR59Pc0gE1zgREfQEg_7q8f81BgZI0FhzLesis9xSZnUPbFmobygbOWQd6sUztilrXQEOUb-2vAAkoNoicpE5wo1H0HalXMv-Tza7EkjKHCKoPuFgzYg4FN6R-43GG1jagCM5zdMoXeToTO44dpl_0Rsx3ewmbWmNJQS3TFfloNXYtwtNxXaylAghD63s3DOc9UXYZZfwmhSdc3419vZkRGJmvwz5tOhb3tbLrPXNvTYtzYr8f9CW8x6Yi20dd3ZoD2vTv8lZDx8lmEyOmw9ww0yYHyqLM9HCSESVXYgUvf-JHqsi6geF2-pECdcpIvKKhVcTAg73ogvUn6yY9KTgmf3iwA6VRwS0-hTRjWHZKsahx5Y2Fgt6GGnZqvpAudyLk6WiwWXBO4EpI372u2pBsOmzivwaBNq3UD8tyatUBpm_61-HlhoxBE9mZZGciI9VZDl71W3l_7Pkne9qBowJDmRdwgZqsh6IV5dt2vlC2Y5NAQG2n5GbjcchpdVfJiJG6znpKlX9CBjW7y5eG6c0RQl0E_P92MVcUnS9ZDf6QtEDre8qlWuv_qtEltsFDfvIjG4xA0Br_UOGcVDKu16eWh2jUHrckLTEbHeu3zOBLer5A6hDLMoS_vFBpGfkf8pXn0-61Jke_AxDA1i649sUBg1th3iVJNp26ND8HXyHkcqcUPvNqgmPCa7EqYYIJn5shXbxWgqDsM-SEwtLBOyoI4culqiKCzkzrwGQ5oyt9CNzQ-IrE4-BepfgM9kOgAcUUpETkONh2hWEhoL0afiwcpCWOnvySBgknlJfPCFqHI35pqLXvw9jHNz8NhCYpaOzkd3DfYQQUEjLc1njUDI4YBbCf3ZYs7lr-G5ZyOMLVimDI3psAQxC9eZ_jAY-Gn-6L3uOGv6W8Jt0bdpWGCk2iJ4DGOwdq2bRlAoXy9p0M4mh8UScU3yJfL25tvOLDk9ziPMoYzxZ9XTDuW5b4kHH4axAzZnJq-j-69msZn6TzNUB6dZRcVUcSAJhWFX5RS85I8az9rcyOy2_T3HmqKVBNDrzsLtHOznc8xgwKyGtHbtMUPdETdStXEg-e7mCxWFry3oBwXAYAFq75pj_gHsLKGyakGiIUc8v7EWLdiuE25JKx-5EYQFV90Ddzp9PM3xFfoWEO7XhQ8dvn1GefaicySOsDgMSHam91mFb9akXaRjJuuoOYj4btseiPVD53AqFjr7mY3ws6880pjAi6pyrjLGa76dLPNLCV_yf5PbNrZtfo5Jd-dPKEwO7JNP2zElICBARa64ain9tMA9xKf_uFgweh38Zn_gcLKo_2_0PTsVk6ZnHuSYlKolTBGvx2-KiLWuT9qlse1pDjODjaZrsNC4_GrvLmCeAPh0xpKp5hU3p5pqZSHNEXtAz-65V0rocFGpbcHKFz71zmkFxQkRen1GS5HhboGuiZcgTTkVoQKkgO3ttQn44N8gTB2nkjY_VMjhL4jIG9_2oumun9Fe0EOTt2RbbBd55PpYQHQ0e5VKQsa1M4oTQU_QAtjuP1IhiEuKzXomSPDYVMmitfMrZ1QkX4Embs2F5Ck5h4EQg93Pliknv8q-5Efdy3ramk8CV5Wd1S0o7Tn6151hdWXsbHi5G8lEpdC4gRJsvnS816kuVnqNEge7_k2nhVk5PqLPd1DZNMW55mtRnNE-lHMBnX5MbnUcle5pWCzbf-2VBUTy_vXplzNrSzx5kqiuKGT5bswfak2AiZhiJIFcg1tZtxcbBTIbhzY3HVUsQGNyL7FbSywNqi4ESJeOqSZWMCjsPxz2lUpTCuO3LjK2D30XgwtRFODMeA1xvF7K4G0ijD0JSmanJLWLQAADnGLS6gR0lacIOOxXSjeYcIa0TfgLE6J3py_QDu0FCNmUrx3Sy61oUQn2g1yjTStPCDrouVh-F9rEf0y3vZ41w4aO9EnJAVBWrdqp1xheJ9-kKhEnTVfROFXLQ5-SPtTe6mvgaSExw2dUfQVNAgEX6fW3AnR_c73-liZ_oSsTHH_QgARfQyzgms9HXXBziu_X5xpyorJpU-DtFivAo0CiN2a8jwwSpyu4KcseXNvBW3FVbtE5So_8CTz_wBNPcJLfofBhc6r1UfdDKLUHPHptHs9OwVcEP-UAfTv-7C1DzAeKkZYB9TU0OEuvLj3U5kA63LuS-C_XVWU56mVr7D5Albgl6QgZYNqaucgI3ch8A05CwXBIe2Sh4G7NhTEbzn-v08moNsNgzcFQbpxLLgfB9GxaCLrxmHh1LbuD0gFNTG2f1TrxM5MKB4Vuxt69q2FYKlShKZEjX3rnV1j5W7gPQAqh-94YvMvtv0iLcCj1U9BQ34dGwe4jQzfRqgJNYiciPYBMkIN0P7CEHh9-CjtbVU9op8okOBTim-E4WOAsKlw0AsiZlJJUgo4CGuK4eODu7M1oPuJo7mV5hkwlyYUCs_fi2Twz8pXfQGCMqgmyQKR0eOW5cQadZhu2W_p9IjI_rlyiewIziyWy2up-Gu3Jtke5dGriH2JdjrCkJTWNPma-AZay9yF7t5NTeGUp99dgBSGwS0_Q0ibQ02rBwI0KrLCCj1gxZo2cyDh6YrV2iIUbw6p_UW9Owa17t0JxbOtWyR3pHTPiOnEod7NgS39ETvzd38QyQdt_q6kPW-QmHqxk9vLGW3849d4bB3SqU_rPulw0s83uXGPHcSsYfSJCvRSJCscBeocL-UmWfMWVmVNgFNKQoKHNlf17wfPZPLjG9jp7B8t3gX3tahmfWGZzns-u875nTjq8PtklB8aI7xLWsKPNDXSdA0mMKTzn03hOkAaXS0NEO5S_BA2Mi_EWF3ZYSuNfnr7x6JIOSA0lcatBkwEh16y4H38XmmY_HQsSxSGeZLq2Gij6R8L5AaF0Wev74dEjPX7tWftaHE0rzRBPKqkNYdBmtRHf7wtYSovFXD7_zD9D0YAa8hN1_xPbWuYtBo0dLBmsX4bubLoxhTE8iwu1L3kyL5AQf-bDkH4-O6Up0JZZCQ8cxn2WzMgxo-PXcml-rlkurICJAAV9iRF9bOGsv7FzNJIJWauokNZoVfRX6GUvr0b4K6hS--F7YV-zjZpwOmghFgH20ufolBilzhwkzfkoPrG_G-vR7j0W2hdxXsRl3_2v7b59zP9UjKTx48eqkdJ9zQU4HZgqXnT9gwg7gaZKeGv5v11nfK7KWRwrOpGV1uoZ_gwmY0nZ96vaSt9uhW5Rf4SjG-g3962jC-9q6lDy4spSY3545ef9YjdnnEPGxYp4N_MFRN4DJCEAKCogpoC9GmpGwKbUe1vOG9vyj_El7VepOYWilSs8hKxfmefeAeNAbSfUuTCuUT6cv0ugTkmHrNMV2nP1HjwEAwLbgeRw0nKzjJ6wUeTLVE4vxsEQUu6EoP7vqK8cEGO-hd6Hf2BtGNoP9s9iIVdjLgFuAx3i9oQba3G30mwlX5WgTJZPp80WPOBBg1uqTtX1Ypehg92_eq3S0lCb1LXqYLvYlIzgjWr1E09zoq4-uW7CDwS9uKqcoOkrJgM6XYZk4VNdiLkziI5n76bkzz4OyzVoCCBWWkM0R3nRXS9U6IyoJtchwpg7G329daDkFNTflSKvg4eg4nIsp1jPqhHrnnBPLHxR8YavrC6fAwcF_8NmeoH7hDtM-U85jAYMtVrdqGfl29YJwJLPRwzMUUI99qIy49Luo16kJYWimw7RL_TQI4lXCaimWYEzLzQOMCTpI8i5I_XeJ2ud1DosrjVdJEs_JJnDqvM9YhpcwOQEMjpPtK8YsBOWYI7dRS28K77uRuph9kx5tWEFf2DgFQvr0awigqncxikcPpmxdgbIn-jRP2Llaj7tZ6-DuMoDK2fOdHLNG_j4g4XvCwPaMFevpJFpDNihkYdflhcO6VK7d3Mg9REyfDNoudEULk7SRhjnVizsRUe4Dso6NdhBkGFL3XoaPapQSJr1rx8QuxB36FYibNelgWbSG5ez-SKAbHBkpv6DQtRLSwAFJJ3wXPNgncg_RF2Mfc5oGjCo5udM5B54YZ_v8ZQ_DjMc7WR7aw4dpMFYL0fegHz-w4OornT6N9VH09fhC2V9PUIU5GviJxUjykhcdLPvva8Jo69nKPqvabIEDV2OAD6VlGh4lqRCE5qsr-Ifs0-X3tIlAnhdN3g1OKCMENeuO-gvyv49mI9JLJKDv-i2FxEGz_xHIEtfkjBMWUp9Itds3dUeepVk8dtsA3P0qekxQWIth9EARHsdRke5cidZGVKMpesWoxj-bsL0M_xZU9A6taEJGCTocGsoo8Y2RDdJ6T4CixLXJ5QAC93Dd51yZonG5cf6QBT1rgQJadnHW1MhkWPjnHI5pz4iLZ9pMm-cT2dPfGNjXO8y6ub-HRGEq_SPnwPK_gynVIWMZIAGSFX-M1Fd9dVBAOjeBifkho2nHYlH3ynio2FwCs4DGkKQbKe1UHNcx8CnDh4prT51nxgM_Ck1LhWy1Dr9rXLC903-YEv7MtnyiKkHKuIMIanbcYNOdGbs0ntWBDyuOq6ahEblLZ8dCjqRtC0_hwRI71GhbJQygqKlLwblM4uLnLdcM2k1GbkBgKmcLrqAJOWI6fJHm8b0uulzQqcwVLE8samQbJd5BhXfiVeCir2af-l8DsRa--PGz-skeh1aKTbVX7tIalafV8fyhActUdc5uE1OGHOZmIKTzerzZw6lI8zkblOfSrncXCmaAnHsuHY6Gom9Naye_EkqyUA3Uw-0pQc0APa6yTU5JsyFdQ5x_qrI8k6yGLap5Av_FRUatc9eBaJfhc4ikHjF-LzqOzXKwiMOAjMT7b1a8u_6sERqWQSJLnQrDZGgzsnnL0tOkhFIYAjl4jr4H4aN94e6jfOkur9a9fhue1KFdDU-puOrL8MNQgEg3AvB7vyo_Y4qeIQnmUFzLuGWM50edjxECjLqFfL9xd5fW53WQFUzxpRlKVdcEhT2YbskVI3fqERMSMF6SSeIfOoW4ik0C0hW26pMd4QYFYjXTycRoKhIiL072RF-N9hufa2g1WEqI-6EenXtzMep6EQ6FsP2MdhLsWm0JXMFnszrUXXIHdkieV7Rxp6-o5ihcOJX6uOpcISB9zw9MdG2IXaHIRF5kv4lrxBMeSxp884i-oITAY_sGvW0MbxIe1J-Y-E0S3R6CedCYYxZSvo7RQdtVFzfhO3HltvbtWSXO9S5UC39ZxTWcIRemMhm4hS3oJDyGXFaei3mkiOYEvWZFG_4m7LCMqtADCPdfklWZCktsr6y4_yH50P6NeHwQt-C87GSH26usHohyhs1WiCED8gXT8v_sDgtN5-vG4v444VzzXoXl-mksuLe_nVI5IHhpcT7YiBOjoCyoaoIzqI80hlS9an4dj0rolRymoVZLuh83jjZc9JQfajRR0RoiHZ29AQ757CH4RzEBG8hK7r0kSWWcDOXFFmfVd2JDAIBo_C9W56JoZEZ19CyOy7ErIPLpCJtGntSkdLAFw1WP7IkwVGGhJZyCJ6nEYXicv0vLwR8h-aUx5CA85crt89fLp426vaVfgBetiZnmN-9pRTgc6wTYTlevkvtjRTde5F30lenSyBaKdXt8uFZnHBBpQs4GVWb3l3zqvpq5X9uUMWcFPB0tQi8wAC3WQvQO-wssdY9AXFBr862ezu4_2V61NwhzoV9V_0MS9sGgewOhhNerdE-d2B-3uGCwH-yMjCUjt0h3SCM4ry3685i5G13q6_834kEAhOQhTW13VnfCqbmEBmGJqt6X1FHartQk0vJvRv3hat2Ev6ZjP0fcYIt-UZscX8YldFWxUxXgE8E-4QcUzU2L2c-D_88Ea9oRfjIBDAAMm4nXgPuAjy0-0u0g08ZwqrCswD4OS9CklHPdAZwXzcMumsjUyzGaA83VtctKxvRsaWgvqnLebGPxCV0q3f67uwpsA3Zf3xUq1_UvoItz4JDjZIN42umMxgx6MrF_0MmZPeyx6XiWn3J0JcJvs6F6TdhnfGIc5oRt9AMuS0kFaBzurfvWriJCIPMLp1tOmQqnBZqodAXA9RptEysl93Zlxbg_L9O1Cm6OuWx1iN-GIaWQaB0rHtGvNd8cmtXbj7FZerKI8DUE72yKpazNSm-9owrlRRKz6uEW34k0u7oAksSrWZOVn5L150WzZRNgNUcHstsmxlpfcBgVxShD3E3cnCh53Jd98tdtbMT6qzmTYEb1PPbUI1LURBNgBXHUBxSxmcUV3gyuUZUlOY1VWz81VU_nSjXsM0jwKZISsWFoJ6oFF8SJ6P9lOwrE1up1EQ38nFaQawbLfPgtvCTyGE-6bVyBApu18VQfE17KpGp_MasxHDeW90mf3-4ogcmIMWF-Tlxnp-3YfBZBNVrSPWesagIz_75BV6rj6EjIeOnV2r0FNIwk_h0-hSNcazVSb757Vz-S5dfCCVHmN_QvyjH3uLt4T1kGENUD5x8bfd5Kx-LklauyWDN4dbBIZYFNqDbSeB-mnyt2fjwWh6qFDbFw1ScbvXIdwS9e4Inw0iehnBUcGoyk5XQY3Rv6IHGsFBU_unSx6wn67oyLyDVu6l1VZkab6oPFcHQE3t4etQH1dFp1KLZFoXiZWdYEhR6L3jNO4ErMrYvSasl3Pi-WcdTYdXP7RTcxp35jF8x7HVuFNHZUf0rEdmXEVnrOL8qMS9OWgQ85Gjc6cDicM5BXuewIki1oS11r8Z8M5pEWcdWDgou4bwMGvNIQ9M9PmJ_HN1ihlUCTjjZfjNgKtFftvoj2FZs3A4GBbNNxrLPexSaQT1kdCdgMgqUUgufN29jHA2uE-_-F7s-FWXxq49B-gnm65Gp09tZrVfI64FDm4ismvO4qN_hhSCAOwA1xUm9REFPHLmk_hOfoy-0m5CP7U_h-B6JGalTDTd_9xlrb1QheXOx0C7IihV0kCFwCShArpt97V77jWMWhteOzKjKuRCCVN_prbu6XChWkBWJrp1jE7TLtFXM098FeZ-s9mr6_sQMIU3k90PThE_5bvX2W1DdjTPKWaWBSXi8XNOyDbm5l0zyRb1xI2oKiAldOjPdKkTl7xC7lWgOdPXV-CjCjkf0OKWEm3lZdq6ZSM7AIVU6efWjpUt9XuZocbIJlFgB4wOLZNPsQSQSYLG7MjyM6UsbcMvyIRR-XIkAIski04q8e2gx0GelAUZZvktwBnZwQrj5nKT4ADvW13yPBQg1Qrvls_UW4GigZyfgDuyqo8Ztl_gKpgmCgFMB2diFAAh7MxxoOP4mDqUbyfQ14Ca8c12kpn1XZ-I5O8foAxhueGhMpBIArHl5s2gSR2l5f9crGDaEvEj95C0TfQfVIkk6eY3TjmxUWdJ8RE1A_4SK-ZMrgmsF-jOdl2yW2lyWyjQ9zrdBy6E2_0IT9CO7yUDqLoGkmV4rfYEOiQgrcOR8Sx3IbwwqAmqHuw3RKV4eys49yrSsRbWTwgnmyTeLyLDZTpCMjDRozepd-rftQtcZfZd9UVoEsfKQQ8u3aikUMFQZzw2h5uUKSZVTl8iL_mGUUgQSbgh7a6wY4Jx1vyGxe5tHgQ39JJU9sZylqVLZTDSsCejPo3OUgpD9y-tEm8WhWH1DVzo_sLnYdosUOtTgw9No0X87782rCSJ1kbpGyrAgyZPhnpcsReeAg_OwtmpO73XN6bYMRXCBMtnYd44IbsDias2og0jviRzJulW850pdBAuESXAPCkTce_b7yWKEBP25aqihZrmq-spbwwqFOVpN-38CHTPGyHOXF80lqnYdyid4N52uy4mVjNZpE6AIl8J0ARXnHmNOhwyBluge0V6RU5mJGcssQmz3sU8UWnAi6W9KmhQC5XUOkismNhImECSqNcj2tgbvPnPY2gfRaHbFWehjuRjdvWTaFeKl9Mr2Hoj3hJJ9Rxy_RvaB76uqqOZUAu5sj9Ys9cF5R7_soNf_9HXzIc8y83p1iZ56EHlCUxZr-I8mQe66XgMUeG1vSETteCgkPeWNvkEyxGPSOi6dWdgV1XgJzOhoKEznzbEmSgcp2Ma7wFOgZCGVbLcHrl3-o9l5kKK_02MsnNNJr0YvZtq-znECVPTokNjWB9mNLkXYeFTZCMRQS7FdHz6O_0Pij3fkjYiP8vKzFmgaFlm9Nf6ZkC4O3L3lXH6Pt3MjUH0tKI8s6LCpZfymqSoDagMs3AvMv_Ew_0fh86qFzlU5wQAwq7LiTViIh97tOUG_R8FOgjeQ-jCg_s44PTbOaHGV5Axa9Lkh49y-FcTO95Wt7A6HCLq_sZGgcyiGjaIoIAU1ViJC1_oQDHp2qXAve6834AkZb0jtK4UqnmVjCY8v2BDgTCFjmoZZHVAWSlYtItq9HHoVfXYHIg8nL-zarua1GNXGlOBbzZOAR5fms4mgJ9pJ_zAle8angWpl7dptWkwg3In3VThXkGrpa3MFi80hLSkknu3LaxEmJrwtolKDrM1EmXc8miQxin6lFcQpTkMsgKypARE0YY3QVJdKfYN47wAwfIYHG8ymoDVZSGitLAnMm9zerlh9mtJeqDf_adqLyPdm9VNfR7HUX7ex1g_rS6ZPVWppKS1W8fcolKAoVehT8wZ6hRpITGuXa7rP9_ITILI8tfrSEeE4tv8qKa3vaaJjeKUkIpzuqNnrNzX3eJCI7yjvFmIXxe_pTP6G1hSJpN6fSGLFY1Z3nfsy4fIKLMtEstHn09cmu3zCZnMGSGt6S3GS7_olBDDeD-xXN1405OBNJK0T8r4m3RN07zavdiI6Civ1BMBX90cUhuOPLMRCkrGVg9KbJyZHO9_wkw3VzDKt20uhCjx85yVrXja3II84JAkk1N-MN0yJhb89VgtFaHCTleSUxKR23CTcjlImhGCU1TawOTAWFPChsNvxJlEGvkrzXx2ATP2AZ5yiz4-uso9-LioZFAIU3d3TvgO5uNNYwVdIsmUq-LITWPAT_hJFRMCVikdGTF6cj9FthSL5Tk0WtD3Id5Lfz-MU5yF9g_jEArER6_hBc1insIvTtnvykNjBigtzzItiLKgCM5_6LEcrL0sWjMt3a61tDvXiwtah0qWmmA4quHNmkvdad2Iq2krIppS2BdkYysap_JA7PaN4-4ZIS7Gd4j4mRZNXRgw08uVoI2S2av01CmTMipOeXpvTyy3wTZEVI6p1dA1hKBW4jadNSZSChGyBthc-y3FCxlJAy6QhHDRJBBcbgaBbMETvqRhRutXantOilae-wC8xhHcFlcJcHE6EwrkERRaCgLoprmvdr7GDn93eiPRtxtzUfo_LqV4wG-qkSiy5_Z0dULd1IQs1FBE_qzFkZa4qkhe5Ru1rPMyosaTU9mxKS-xmiQM5XXYRyrSyx7HIplPHz-HaOuvcUyF9caOibYqy2CCVJEQuC7QgWG0NQCIeiKgPhKFLL2tWS6qOAhoiKXXlPUJGtVhLHu4HBD2Bdb9JLYsG0n68qsY_QAGBeQ2btc9w5Vbd4uIsvPgoNY8tk59rVXxn0izWgg0eMwiXf0fvK18uoppyXrCIBpd5SATXe4m1hsZE5JKQeklT89lG0nR_mqD4aUDZb3aiv6f2pp7OC_OA4cKYpT5FbDLqS_IAm5jlEVTJSZy30aCYkP1zDM5kMS8-o2Afl0nk8EwxRdYB2RqhrtJ1Q6bJJOnSMSs0DoyjctWqAysh--vZYKNcIf5liGv3_IOU1F3K0BmLyeGehqxjiaHnCijvcyeNLGtPj2Bq1YTVilpK2q0JfA4dLjxbbAnCqEHsVVvB5E7Le9TWBhFVWaYsXysszjUxInVQBt-Mpzo4e0AlLKE0F7hA0OdACTdaRv2TPR959d0VhXDlWM-wLDScLDvwgWF6r5xHDXqYrPSDGt8wAdAHL3g9joGfYRXpp8lRaCYoJ8GWeWkDH0qRNzESDqoW7KK6Qsw1B36eMtibvXF34KVOR8vkygEL1v3vwhHfWxpjBhZSkI4o4WL3ZFi6bilyRgP6ARPTgDp0bg0p4TazZyidlo3EQSMzXTiCf9pZK6sMh2ZVZXsrUhhBClW5z_hFe006GO1GomZxFQ0nqHMr4geQJuvBpzA1UNIme3enqkht-o2HSgULk5BqTX5vGoQXD9zuqWcia7Ou2A3DD0qWAo4RTgKlXk1x7qu3qAbhuMZPCTLQ20Illa0JP9Dz5u7KoxzaoZak5_bqv5BeH_i6HRjAb5-W0d5fV2Os8_nBeR8_j2fu-ZZSrmGPhRb-xu6FC3RLeU30mFVgSGgQN5i8q5r0cpPzsgQLoqAyOhI7pQ5wM1viy6E_D9AhyXvRuF_rp09_4y9keNA4LWpojwr2Gal44rViCmBo9-7_D374xneWZRN1hJ694-Ny4-RcqN4y7YkxLLvXAjvEeY8eu3Qoc1cA6_rpZaZEorNw_WAqims_h1vwoxxhG-GpctDYQdVGkWZdxdRfepDIvdzhP3Z2OIkYIDSGKdbDXfuLYVhDT0-GIPmYrVW2ErM1DqzDCDXC4MlV9IwPJ7G4zZhllBiIWCo0r1Y-v_vXoG631A8Td3kuqK6u6rY5kDyJ6TARm6caZjy8mQDOCXeMkHzI5WCidcE4AXoDZMUt3VNs8E0NBbVNQHHjNkx2JDWexISqsIQzH4i0bbjAnhmUGawO9Ep13BkIbmeWGJd6F-OebRpRW_8g2CNZtFC9NGgMFD45srXxUkqxgFqBDo2KVPqJkox1dCppEasN1snoFnp9QeJj6mp7dW5zRSNvDxE-tx3SbVqsEftLXKF6RWx7s9M6VcMheZQWbJnzGAOF82GZ5GIZDChcmkcYJj8EkFXzUo3w5FftKb-kWXbCC7xUger9Mdl3CTYz9en0lrkhYT9-JXWUfp4f338Scs3Bg-DccmbEXz_3PdDmghC1wIBpdTxhleAIMhi5Tqqp9OFNNeo-WtYoQF59ehOEY8z65nPJXCy371W9qVtvViDcqvjnVFJjfvo896YWjffNXn2Ij4Kb99wQv5CCLRdm0nGEEl1DU5_z3cmK5-IHzHxcrhKZAGLg9dJEBzD9cBjQGne11PG7GTZ_nIW_houGOxzwO5SWOhM5JaSAgS-mnzZojI1gzR0-w3G7TRIjn1aK5tUauKflAQM6Y96vlzHO8XeKXeZXa-V9szj5nPv5tWN-Mn7ERCm3HlfYFE00nmn8SYWlnRpPrRoa84ycuLKsDuTCe7nI_Ow0fU3SlzBDw42b_BygxKRTuKa1o5rDufgLeIHYo2M-R3wbFx_JfWj0f1pAh3tA3co8m06ijje4GzOzAbMpl0Mn0pPJ2Eykb8xJQ3gdoqGP31bxyandMs9VIj5-MedyPb_onzOuLSAx9FRAp_2uego98ziW7B9FQRdUNIG-1Rx6MmYWR8r3R0d8oegaFjYPXlffZReOAFVeHXicBNFFEcJrcBudDOAlyWKFB3g_Z_XoohEZl90dmvyQPjYV2rL6GjKSjBKXX8LofNQtogvgBgzx4A5NUYs2pxXdxIdfKlXj8tU-fNCcHEY";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
|
|
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)),
|
|
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}),
|
|
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=
|
|
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
|
|
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=
|
|
85
|
-
`;try{
|
|
86
|
-
`,{mode:384}),
|
|
87
|
-
`).filter(a=>a.trim()!==""),o=s.slice(s.length-
|
|
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}),
|
|
90
|
-
`),!0)}var
|
|
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*${
|
|
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
|
|
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
|
-
`,
|
|
97
|
-
`)}catch{}}function
|
|
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
|
|
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
|
|
102
|
-
`)});var af={};on(af,{CAPTURING_ENV:()=>Vo,kickBackgroundEnroll:()=>Br,processCapturedOutput:()=>Ur,resolveExecTimeoutMs:()=>sf,runWrapped:()=>
|
|
103
|
-
\u2026 (output truncated at ${
|
|
104
|
-
\u2026 (stderr truncated at ${
|
|
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}`;
|
|
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}),
|
|
108
|
-
`,{mode:384}),
|
|
109
|
-
`)){let s=
|
|
110
|
-
`,1)[0].slice(2).trim().split(/\s+/),s=r[0]??"";return s==="/usr/bin/env"?
|
|
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(
|
|
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??""}}
|
|
115
|
-
`,{mode:384}),
|
|
116
|
-
`).filter(i=>r.has(i)||
|
|
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
|
|
119
|
-
`)}catch{}}function
|
|
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
|
|
121
|
-
`),d=Buffer.byteLength(f,"utf8");if(s==null&&c.filterId!=null&&t.session_id&&d>=
|
|
122
|
-
`)[0]??"");if(
|
|
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:(
|
|
124
|
-
`)[0].trim()})}if(e.tool_name==="Read"&&(e.tool_input?.offset!=null||e.tool_input?.limit!=null))return null;let l=
|
|
125
|
-
`).length<
|
|
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"?
|
|
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
|
|
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:
|