@tokmizer/plugin 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/README.md +6 -4
  4. package/command-templates/tkr-status.md +1 -1
  5. package/dist/bin/tkr-agent-hook.js +13 -13
  6. package/dist/bin/tkr-codex-hook.js +75 -75
  7. package/dist/bin/tkr-context-hook.js +1 -1
  8. package/dist/bin/tkr-copilot-hook.js +12 -12
  9. package/dist/bin/tkr-crush-hook.js +12 -12
  10. package/dist/bin/tkr-cursor-hook.js +12 -12
  11. package/dist/bin/tkr-daemon.js +131 -131
  12. package/dist/bin/tkr-droid-hook.js +12 -12
  13. package/dist/bin/tkr-exec +0 -0
  14. package/dist/bin/tkr-exec.js +74 -74
  15. package/dist/bin/tkr-gemini-hook.js +12 -12
  16. package/dist/bin/tkr-grok-hook.js +12 -12
  17. package/dist/bin/tkr-junie-hook.js +12 -12
  18. package/dist/bin/tkr-processor.js +103 -103
  19. package/dist/bin/tkr-qwen-hook.js +12 -12
  20. package/dist/bin/tkr-shim.js +66 -66
  21. package/dist/bin/tkr-trae-hook.js +12 -12
  22. package/dist/bin/tkr-zcode-hook.js +12 -12
  23. package/dist/bin/tkr.js +267 -252
  24. package/dist/hooks-host/post-tool-use.js +88 -88
  25. package/dist/hooks-host/pre-tool-use.js +13 -13
  26. package/dist/hooks-host/reducer-prompt-submit.js +1 -1
  27. package/dist/hooks-host/reducer-session-start.js +1 -1
  28. package/dist/hooks-host/reducer-stop.js +1 -1
  29. package/dist/hooks-host/session-recap.js +7 -5
  30. package/dist/index.js +87 -87
  31. package/dist/native/manifest.json +12 -12
  32. package/dist/native/single.json +2 -32
  33. package/dist/native/tkr-exec-darwin-arm64 +0 -0
  34. package/dist/native/tkr-exec-darwin-x64 +0 -0
  35. package/dist/native/tkr-exec-linux-arm64 +0 -0
  36. package/dist/native/tkr-exec-linux-x64 +0 -0
  37. package/dist/native/tkr-exec-win32-arm64.exe +0 -0
  38. package/dist/native/tkr-exec-win32-x64.exe +0 -0
  39. package/hooks/on-session-start.mjs +2 -2
  40. package/package.json +7 -7
@@ -1,135 +1,135 @@
1
1
  #!/usr/bin/env node
2
2
  import { createRequire as __tkrCreateRequire } from "node:module"; const require = __tkrCreateRequire(import.meta.url);
3
- var dc=Object.create;var Pn=Object.defineProperty;var pc=Object.getOwnPropertyDescriptor;var mc=Object.getOwnPropertyNames;var hc=Object.getPrototypeOf,gc=Object.prototype.hasOwnProperty;var we=(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 pe=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},ps=(e,t)=>{for(var n in t)Pn(e,n,{get:t[n],enumerable:!0})},yc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of mc(t))!gc.call(e,s)&&s!==n&&Pn(e,s,{get:()=>t[s],enumerable:!(r=pc(t,s))||r.enumerable});return e};var ms=(e,t,n)=>(n=e!=null?dc(hc(e)):{},yc(t||!e||!e.__esModule?Pn(n,"default",{value:e,enumerable:!0}):n,e));var bs=q((kk,ks)=>{ks.exports=ys;ys.sync=bc;var hs=we("fs");function kc(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 gs(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:kc(t,n)}function ys(e,t,n){hs.stat(e,function(r,s){n(r,r?!1:gs(s,e,t))})}function bc(e,t){return gs(hs.statSync(e),e,t)}});var vs=q((bk,Es)=>{Es.exports=xs;xs.sync=_c;var _s=we("fs");function xs(e,t,n){_s.stat(e,function(r,s){n(r,r?!1:ws(s,t))})}function _c(e,t){return ws(_s.statSync(e),t)}function ws(e,t){return e.isFile()&&xc(e,t)}function xc(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 Ts=q((xk,Ss)=>{var _k=we("fs"),Zt;process.platform==="win32"||global.TESTING_WINDOWS?Zt=bs():Zt=vs();Ss.exports=Nn;Nn.sync=wc;function Nn(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){Nn(e,t||{},function(o,i){o?s(o):r(i)})})}Zt(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function wc(e,t){try{return Zt.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Ps=q((wk,Os)=>{var et=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",$s=we("path"),Ec=et?";":":",Rs=Ts(),As=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Cs=(e,t)=>{let n=t.colon||Ec,r=e.match(/\//)||et&&e.match(/\\/)?[""]:[...et?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=et?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=et?s.split(n):[""];return et&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Is=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Cs(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(As(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,k=$s.join(m,e),g=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+k:k;u(l(g,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let k=s[f];Rs(c+k,{pathExt:o},(g,p)=>{if(!g&&p)if(t.all)i.push(c+k);else return d(c+k);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},vc=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Cs(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=$s.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(Rs.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 As(e)};Os.exports=Is;Is.sync=vc});var Ds=q((Ek,Dn)=>{"use strict";var Ns=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Dn.exports=Ns;Dn.exports.default=Ns});var js=q((vk,Fs)=>{"use strict";var Ms=we("path"),Sc=Ps(),Tc=Ds();function Ls(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=Sc.sync(e.command,{path:n[Tc({env:n})],pathExt:t?Ms.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Ms.resolve(s?e.options.cwd:"",i)),i}function $c(e){return Ls(e)||Ls(e,!0)}Fs.exports=$c});var Hs=q((Sk,Ln)=>{"use strict";var Mn=/([()\][%!^"`<>&|;, *?])/g;function Rc(e){return e=e.replace(Mn,"^$1"),e}function Ac(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Mn,"^$1"),t&&(e=e.replace(Mn,"^$1")),e}Ln.exports.command=Rc;Ln.exports.argument=Ac});var zs=q((Tk,Bs)=>{"use strict";Bs.exports=/^#!(.*)/});var Zs=q(($k,Us)=>{"use strict";var Cc=zs();Us.exports=(e="")=>{let t=e.match(Cc);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var Ks=q((Rk,Gs)=>{"use strict";var Fn=we("fs"),Ic=Zs();function Oc(e){let n=Buffer.alloc(150),r;try{r=Fn.openSync(e,"r"),Fn.readSync(r,n,0,150,0),Fn.closeSync(r)}catch{}return Ic(n.toString())}Gs.exports=Oc});var qs=q((Ak,Vs)=>{"use strict";var Pc=we("path"),Js=js(),Ws=Hs(),Nc=Ks(),Dc=process.platform==="win32",Mc=/\.(?:com|exe)$/i,Lc=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Fc(e){e.file=Js(e);let t=e.file&&Nc(e.file);return t?(e.args.unshift(e.file),e.command=t,Js(e)):e.file}function jc(e){if(!Dc)return e;let t=Fc(e),n=!Mc.test(t);if(e.options.forceShell||n){let r=Lc.test(t);e.command=Pc.normalize(e.command),e.command=Ws.command(e.command),e.args=e.args.map(o=>Ws.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 Hc(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:jc(r)}Vs.exports=Hc});var Qs=q((Ck,Xs)=>{"use strict";var jn=process.platform==="win32";function Hn(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 Bc(e,t){if(!jn)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Ys(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Ys(e,t){return jn&&e===1&&!t.file?Hn(t.original,"spawn"):null}function zc(e,t){return jn&&e===1&&!t.file?Hn(t.original,"spawnSync"):null}Xs.exports={hookChildProcess:Bc,verifyENOENT:Ys,verifyENOENTSync:zc,notFoundError:Hn}});var Un=q((Ik,tt)=>{"use strict";var eo=we("child_process"),Bn=qs(),zn=Qs();function to(e,t,n){let r=Bn(e,t,n),s=eo.spawn(r.command,r.args,r.options);return zn.hookChildProcess(s,r),s}function Uc(e,t,n){let r=Bn(e,t,n),s=eo.spawnSync(r.command,r.args,r.options);return s.error=s.error||zn.verifyENOENTSync(s.status,r),s}tt.exports=to;tt.exports.spawn=to;tt.exports.sync=Uc;tt.exports._parse=Bn;tt.exports._enoent=zn});function sf(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function of(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+=`
3
+ var pc=Object.create;var Pn=Object.defineProperty;var mc=Object.getOwnPropertyDescriptor;var hc=Object.getOwnPropertyNames;var gc=Object.getPrototypeOf,yc=Object.prototype.hasOwnProperty;var Ee=(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 pe=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var q=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(n){throw t=0,n}},ps=(e,t)=>{for(var n in t)Pn(e,n,{get:t[n],enumerable:!0})},kc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of hc(t))!yc.call(e,s)&&s!==n&&Pn(e,s,{get:()=>t[s],enumerable:!(r=mc(t,s))||r.enumerable});return e};var ms=(e,t,n)=>(n=e!=null?pc(gc(e)):{},kc(t||!e||!e.__esModule?Pn(n,"default",{value:e,enumerable:!0}):n,e));var bs=q((wk,ks)=>{ks.exports=ys;ys.sync=_c;var hs=Ee("fs");function bc(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 gs(e,t,n){return!e.isSymbolicLink()&&!e.isFile()?!1:bc(t,n)}function ys(e,t,n){hs.stat(e,function(r,s){n(r,r?!1:gs(s,e,t))})}function _c(e,t){return gs(hs.statSync(e),e,t)}});var vs=q((Ek,Es)=>{Es.exports=xs;xs.sync=xc;var _s=Ee("fs");function xs(e,t,n){_s.stat(e,function(r,s){n(r,r?!1:ws(s,t))})}function xc(e,t){return ws(_s.statSync(e),t)}function ws(e,t){return e.isFile()&&wc(e,t)}function wc(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 Ts=q((Sk,Ss)=>{var vk=Ee("fs"),Zt;process.platform==="win32"||global.TESTING_WINDOWS?Zt=bs():Zt=vs();Ss.exports=Nn;Nn.sync=Ec;function Nn(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){Nn(e,t||{},function(o,i){o?s(o):r(i)})})}Zt(e,t||{},function(r,s){r&&(r.code==="EACCES"||t&&t.ignoreErrors)&&(r=null,s=!1),n(r,s)})}function Ec(e,t){try{return Zt.sync(e,t||{})}catch(n){if(t&&t.ignoreErrors||n.code==="EACCES")return!1;throw n}}});var Ps=q((Tk,Os)=>{var et=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",$s=Ee("path"),vc=et?";":":",Rs=Ts(),As=e=>Object.assign(new Error(`not found: ${e}`),{code:"ENOENT"}),Cs=(e,t)=>{let n=t.colon||vc,r=e.match(/\//)||et&&e.match(/\\/)?[""]:[...et?[process.cwd()]:[],...(t.path||process.env.PATH||"").split(n)],s=et?t.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",o=et?s.split(n):[""];return et&&e.indexOf(".")!==-1&&o[0]!==""&&o.unshift(""),{pathEnv:r,pathExt:o,pathExtExe:s}},Is=(e,t,n)=>{typeof t=="function"&&(n=t,t={}),t||(t={});let{pathEnv:r,pathExt:s,pathExtExe:o}=Cs(e,t),i=[],a=c=>new Promise((u,f)=>{if(c===r.length)return t.all&&i.length?u(i):f(As(e));let d=r[c],m=/^".*"$/.test(d)?d.slice(1,-1):d,k=$s.join(m,e),g=!m&&/^\.[\\\/]/.test(e)?e.slice(0,2)+k:k;u(l(g,c,0))}),l=(c,u,f)=>new Promise((d,m)=>{if(f===s.length)return d(a(u+1));let k=s[f];Rs(c+k,{pathExt:o},(g,p)=>{if(!g&&p)if(t.all)i.push(c+k);else return d(c+k);return d(l(c,u,f+1))})});return n?a(0).then(c=>n(null,c),n):a(0)},Sc=(e,t)=>{t=t||{};let{pathEnv:n,pathExt:r,pathExtExe:s}=Cs(e,t),o=[];for(let i=0;i<n.length;i++){let a=n[i],l=/^".*"$/.test(a)?a.slice(1,-1):a,c=$s.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(Rs.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 As(e)};Os.exports=Is;Is.sync=Sc});var Ds=q(($k,Dn)=>{"use strict";var Ns=(e={})=>{let t=e.env||process.env;return(e.platform||process.platform)!=="win32"?"PATH":Object.keys(t).reverse().find(r=>r.toUpperCase()==="PATH")||"Path"};Dn.exports=Ns;Dn.exports.default=Ns});var js=q((Rk,Fs)=>{"use strict";var Ms=Ee("path"),Tc=Ps(),$c=Ds();function Ls(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=Tc.sync(e.command,{path:n[$c({env:n})],pathExt:t?Ms.delimiter:void 0})}catch{}finally{o&&process.chdir(r)}return i&&(i=Ms.resolve(s?e.options.cwd:"",i)),i}function Rc(e){return Ls(e)||Ls(e,!0)}Fs.exports=Rc});var Hs=q((Ak,Ln)=>{"use strict";var Mn=/([()\][%!^"`<>&|;, *?])/g;function Ac(e){return e=e.replace(Mn,"^$1"),e}function Cc(e,t){return e=`${e}`,e=e.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),e=e.replace(/(?=(\\+?)?)\1$/,"$1$1"),e=`"${e}"`,e=e.replace(Mn,"^$1"),t&&(e=e.replace(Mn,"^$1")),e}Ln.exports.command=Ac;Ln.exports.argument=Cc});var zs=q((Ck,Bs)=>{"use strict";Bs.exports=/^#!(.*)/});var Zs=q((Ik,Us)=>{"use strict";var Ic=zs();Us.exports=(e="")=>{let t=e.match(Ic);if(!t)return null;let[n,r]=t[0].replace(/#! ?/,"").split(" "),s=n.split("/").pop();return s==="env"?r:r?`${s} ${r}`:s}});var Ks=q((Ok,Gs)=>{"use strict";var Fn=Ee("fs"),Oc=Zs();function Pc(e){let n=Buffer.alloc(150),r;try{r=Fn.openSync(e,"r"),Fn.readSync(r,n,0,150,0),Fn.closeSync(r)}catch{}return Oc(n.toString())}Gs.exports=Pc});var qs=q((Pk,Vs)=>{"use strict";var Nc=Ee("path"),Js=js(),Ws=Hs(),Dc=Ks(),Mc=process.platform==="win32",Lc=/\.(?:com|exe)$/i,Fc=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function jc(e){e.file=Js(e);let t=e.file&&Dc(e.file);return t?(e.args.unshift(e.file),e.command=t,Js(e)):e.file}function Hc(e){if(!Mc)return e;let t=jc(e),n=!Lc.test(t);if(e.options.forceShell||n){let r=Fc.test(t);e.command=Nc.normalize(e.command),e.command=Ws.command(e.command),e.args=e.args.map(o=>Ws.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 Bc(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:Hc(r)}Vs.exports=Bc});var Qs=q((Nk,Xs)=>{"use strict";var jn=process.platform==="win32";function Hn(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 zc(e,t){if(!jn)return;let n=e.emit;e.emit=function(r,s){if(r==="exit"){let o=Ys(s,t);if(o)return n.call(e,"error",o)}return n.apply(e,arguments)}}function Ys(e,t){return jn&&e===1&&!t.file?Hn(t.original,"spawn"):null}function Uc(e,t){return jn&&e===1&&!t.file?Hn(t.original,"spawnSync"):null}Xs.exports={hookChildProcess:zc,verifyENOENT:Ys,verifyENOENTSync:Uc,notFoundError:Hn}});var Un=q((Dk,tt)=>{"use strict";var eo=Ee("child_process"),Bn=qs(),zn=Qs();function to(e,t,n){let r=Bn(e,t,n),s=eo.spawn(r.command,r.args,r.options);return zn.hookChildProcess(s,r),s}function Zc(e,t,n){let r=Bn(e,t,n),s=eo.spawnSync(r.command,r.args,r.options);return s.error=s.error||zn.verifyENOENTSync(s.status,r),s}tt.exports=to;tt.exports.spawn=to;tt.exports.sync=Zc;tt.exports._parse=Bn;tt.exports._enoent=zn});function of(e,t){let n=e.slice(0,t).split(/\r?\n/);return[n.length,n.pop().length+1]}function af(e,t,n){let r=e.split(/\r?\n/),s="",o=(Math.log10(t+1)|0)+1;for(let i=t-1;i<=t+1;i++){let a=r[i-1];a&&(s+=i.toString().padEnd(o," "),s+=": ",s+=a,s+=`
4
4
  `,i===t&&(s+=" ".repeat(o+n+2),s+=`^
5
- `))}return s}var S,We=pe(()=>{S=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=sf(n.toml,n.ptr),o=of(n.toml,r,s);super(`Invalid TOML document: ${t}
5
+ `))}return s}var S,We=pe(()=>{S=class e extends Error{line;column;codeblock;constructor(t,n){let[r,s]=of(n.toml,n.ptr),o=af(n.toml,r,s);super(`Invalid TOML document: ${t}
6
6
 
7
7
  ${o}`,n),this.line=r,this.column=s,this.codeblock=o}static x(t,n,r){throw new e(t,{toml:n.s,ptr:r??n.p})}}});function Yt(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)S.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),k=m>=48&&m<=57?m-48:m>=65&&m<=70?m-65+10:m>=97&&m<=102?m-97+10:-1;k<0&&S.x("invalid non-hex character in unicode escape",e),u=u<<4|k}(u<0||u>1114111||u>=55296&&u<=57343)&&S.x("invalid unicode escape",e,c),i+=String.fromCodePoint(u),a=e.p--,l=0}else o&&(n===32||n===9)?l=2:(n===98?i+="\b":n===116?i+=" ":n===110?i+=`
8
- `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":S.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&S.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);S.x("unfinished string",e,t)}var Jn=pe(()=>{We();});var af,Ve,Wn=pe(()=>{af=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Ve=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(af);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Y(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function qn(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function wt(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||S.x("document contains excessively nested structures. aborting.",e);let s=r===91?ko(e):yo(e);return e.d++,s}return r===34||r===39?Yt(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&S.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)&&S.x("invalid value",e,n),e.p++,!1):r===43||r===45?Xt(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?lf(e,r,t):e.s.charCodeAt(e.p+2)===58?cf(e,r,t):Xt(e,e.p,r,0,t)}function Xt(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)&&S.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)&&S.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||qn(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Vn(e,t,16,s);if(o===98)return Vn(e,t,2,s);if(o===111)return Vn(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:S.x("illegal leading zero",e,t)}else Y(o)||S.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!qn(o,s));)i||(i=1),o===95?(i&1||S.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Y(o)?i>9?i-=11:i&1||i++:S.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||S.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):go(e,l,10,t)}function Vn(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!qn(s,r));)s===95?(o&1&&S.x("illegal underscore",e),o=3):Y(s,n)?o&1&&o--:S.x("illegal character in numeric literal",e);o&1&&S.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),go(e,i,n,t)}function go(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;S.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 lf(e,t,n){let r=e.p++,s;if(!Y(t)||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++)))return Xt(e,e.p=r,t,0,n);if(e.p+=5,Y(e.s.charCodeAt(e.p++))||S.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Y(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return xt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&S.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return xt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return xt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return xt(e,o,2,s,r)}function cf(e,t,n){let r=e.p;if(!Y(t)||!Y(e.s.charCodeAt(++e.p)))return Xt(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return xt(e,s,4,!1,r)}function xt(e,t,n,r,s,o){if(e.ld){let i=new Ve(t,n,r);return i.isValid()||S.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){S.x(i instanceof Error?i.message:""+i,e,s)}}var Yn=pe(()=>{Jn();Xn();We();Wn();});function uf(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)&&S.x("control characters are not allowed in comments",e)}}function oe(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;uf(e)}}var Qn=pe(()=>{We();});function Qt(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||S.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||S.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)&&S.x("illegal quoted key: multiline strings are not allowed",e),s.push(Yt(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?S.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));S.x("incomplete key-value: cannot find end of key",e,n)}function yo(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(oe(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Qt(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]))&&S.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&S.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&S.x("trying to redefine an already defined value",e,l),oe(e,!0,!0);let u=wt(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),oe(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished table",e,t)}function ko(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(oe(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(wt(e,93)),oe(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished array",e,t)}var Xn=pe(()=>{Jn();Yn();Qn();We();});function bo(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 _o(e,t,n){(t===null||e.uk===2)&&S.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function er(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++,oe(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=Qt(n,93);c&&(e.charCodeAt(n.p)!==93&&S.x("expected end of table array declaration",n),n.p++);let f=bo(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(_o(n,f,o),i=!0)}else{o=n.p;let c=Qt(n),u=bo(n,c,a,l,0);!u&&!i&&_o(n,u,o),oe(n,!0,!0);let f=wt(n,void 0);u&&!i&&(u[1][u[0]]=f)}oe(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&S.x("each key-value declaration must be followed by an end-of-line",n),oe(n)}return r}var xo=pe(()=>{Xn();Yn();Qn();We();});function Et(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 df(e){for(let t=0;t<e.length;t++)if(Et(e[t])!=="object")return!1;return e.length!=0}function Eo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function pf(e){return Eo(wo?e.toWellFormed():e)}function vo(e){if(ff.test(e))return e;if(wo&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Eo(e)}function tr(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 pf(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return mf(e,n,r,s);case"array":return hf(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 mf(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+=vo(a)+" = "+tr(e[a],Et(e[a]),t-1,n,r)}return o+" }"}function hf(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+=tr(e[o],Et(e[o]),t-1,n,r)}return s+" ]"}function gf(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&&`
8
+ `:n===102?i+="\f":n===114?i+="\r":n===101?i+="\x1B":n===34?i+='"':n===92?i+="\\":S.x("unrecognised escape sequence",e),a=e.p+1,l=0);else n!==32&&n!==9&&(l===2&&S.x("invalid escape: only line-ending whitespace may be escaped",e,a),l=!s&&n===92?1:0,a=e.p);S.x("unfinished string",e,t)}var Jn=pe(()=>{We();});var lf,Ve,Wn=pe(()=>{lf=/^(\d{4}-\d{2}-\d{2})?[Tt ]?(?:(\d{2}):\d{2}(?::\d{2}(?:\.\d+)?)?)?(Z|z|[-+]\d{2}:\d{2})?$/i,Ve=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(lf);l?(l[1]||(s=!1,t=`0000-01-01T${t}`),o=!!l[2],o&&t[10]===" "&&(t=t.replace(" ","T")),l[2]&&+l[2]>23?t="":(i=l[3]||null,!i&&o&&(t+="Z"))):t=""}super(t),isNaN(this.getTime())||(this.#t=s,this.#n=o,this.#e=i)}isDateTime(){return this.#t&&this.#n}isLocal(){return!this.#t||!this.#n||!this.#e}isDate(){return this.#t&&!this.#n}isTime(){return this.#n&&!this.#t}isValid(){return this.#t||this.#n}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(this.#e===null)return t.slice(0,-1);if(this.#e==="Z"||this.#e==="z")return t;let n=+this.#e.slice(1,3)*60+ +this.#e.slice(4,6);return n=this.#e[0]==="-"?n:-n,new Date(this.getTime()-n*6e4).toISOString().slice(0,-1)+this.#e}static wrapAsOffsetDateTime(t,n="Z"){let r=new e(t);return r.#e=n,r}static wrapAsLocalDateTime(t){let n=new e(t);return n.#e=null,n}static wrapAsLocalDate(t){let n=new e(t);return n.#n=!1,n.#e=null,n}static wrapAsLocalTime(t){let n=new e(t);return n.#t=!1,n.#e=null,n}}});function Y(e,t=10){return t===16?e>47&&e<58||e>64&&e<71||e>96&&e<103:e>47&&e<48+t}function qn(e,t){return e===32||e===9||e===10||e===13||t&&(e===t||e===44)||e===35}function Et(e,t){let n=e.p,r=e.s.charCodeAt(e.p);if(r===91||r===123){e.d--||S.x("document contains excessively nested structures. aborting.",e);let s=r===91?ko(e):yo(e);return e.d++,s}return r===34||r===39?Yt(e):r===116?((e.s.charCodeAt(++e.p)!==114||e.s.charCodeAt(++e.p)!==117||e.s.charCodeAt(++e.p)!==101)&&S.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)&&S.x("invalid value",e,n),e.p++,!1):r===43||r===45?Xt(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?cf(e,r,t):e.s.charCodeAt(e.p+2)===58?uf(e,r,t):Xt(e,e.p,r,0,t)}function Xt(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)&&S.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)&&S.x("invalid value",e,t),e.p++,NaN;if(o===48){if(++e.p>=e.s.length||qn(o=e.s.charCodeAt(e.p),s))return e.bi===!0?0n:0;if(!r){if(o===120)return Vn(e,t,16,s);if(o===98)return Vn(e,t,2,s);if(o===111)return Vn(e,t,8,s)}o===46?i=2:o===101||o===69?i=4:S.x("illegal leading zero",e,t)}else Y(o)||S.x("invalid value",e,t);for(;++e.p<e.s.length&&(o=e.s.charCodeAt(e.p),!qn(o,s));)i||(i=1),o===95?(i&1||S.x("illegal underscore",e),i+=11,a=!0):i===1&&o===46?i=2:(i===1||i===3)&&(o===101||o===69)?i=4:i===4&&(o===43||o===45)||(Y(o)?i>9?i-=11:i&1||i++:S.x("illegal character in numeric literal",e));if(!i){let c=(n-48)*(r||1);return e.bi===!0?BigInt(c):c}i&1||S.x("unfinished numeric value",e,t);let l=e.s.slice(t,e.p);return a&&(l=l.replaceAll("_","")),i>1?parseFloat(l):go(e,l,10,t)}function Vn(e,t,n,r){let s,o=1;for(;++e.p<e.s.length&&(s=e.s.charCodeAt(e.p),!qn(s,r));)s===95?(o&1&&S.x("illegal underscore",e),o=3):Y(s,n)?o&1&&o--:S.x("illegal character in numeric literal",e);o&1&&S.x("unfinished numeric value",e);let i=e.s.slice(t+2,e.p);return o&&(i=i.replaceAll("_","")),go(e,i,n,t)}function go(e,t,n,r){if(e.bi!==!0)e:{let s=parseInt(t,n);if(!Number.isSafeInteger(s)){if(e.bi)break e;S.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 cf(e,t,n){let r=e.p++,s;if(!Y(t)||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++))||!Y(e.s.charCodeAt(e.p++)))return Xt(e,e.p=r,t,0,n);if(e.p+=5,Y(e.s.charCodeAt(e.p++))||S.x("invalid date-time: date part is malformed",e,r),e.p>=e.s.length||((t=e.s.charCodeAt(e.p))!==32||(s=!0,!Y(e.s.charCodeAt(e.p+1))))&&t!==84&&t!==116){let i=e.s.slice(r,e.p);return wt(e,i,3,!1,r)}if(e.s.charCodeAt(e.p+=3)!==58&&S.x("invalid date-time: time part is malformed",e,r),e.s.charCodeAt(e.p+=3)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););if(t=e.s.charCodeAt(e.p)){if(t===90||t===122){let i=e.s.slice(r,++e.p);return wt(e,i,1,s,r,"[+00:00]")}if(t===43||t===45){let i=e.s.slice(r,e.p+=6);return wt(e,i,1,s,r,!e.ld&&"["+e.s.slice(e.p-6,e.p)+"]")}}let o=e.s.slice(r,e.p);return wt(e,o,2,s,r)}function uf(e,t,n){let r=e.p;if(!Y(t)||!Y(e.s.charCodeAt(++e.p)))return Xt(e,--e.p,t,0,n);if(e.s.charCodeAt(e.p+=4)===58&&(e.p+=3),e.s.charCodeAt(e.p)===46)for(;Y(e.s.charCodeAt(++e.p)););let s=e.s.slice(r,e.p);return wt(e,s,4,!1,r)}function wt(e,t,n,r,s,o){if(e.ld){let i=new Ve(t,n,r);return i.isValid()||S.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){S.x(i instanceof Error?i.message:""+i,e,s)}}var Yn=pe(()=>{Jn();Xn();We();Wn();});function ff(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)&&S.x("control characters are not allowed in comments",e)}}function oe(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;ff(e)}}var Qn=pe(()=>{We();});function Qt(e,t=61){let n,r=0,s=[],o,i=e.s.charCodeAt(n=e.p);do{if(i===t)return r||S.x("unexpected end of key",e),r===1&&s.push(e.s.slice(o,e.p)),e.p++,s;i===46?(r||S.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)&&S.x("illegal quoted key: multiline strings are not allowed",e),s.push(Yt(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?S.x("illegal character in key",e):r||(r=1,o=e.p)}while(i=e.s.charCodeAt(++e.p));S.x("incomplete key-value: cannot find end of key",e,n)}function yo(e){let t=e.p++,n=Object.create(null),r=new Set,s;for(;e.p<e.s.length;){if(oe(e),(s=e.s.charCodeAt(e.p))===125)return e.p++,n;let o,i=n,a=!1,l=e.p,c=Qt(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]))&&S.x("trying to redefine an already defined value",e,l);let d=o==="__proto__";if(e.uk&&(d||o==="constructor")){i=e.uk!==1&&S.x("document contains an unsafe property",e,l);break}!a&&d&&Object.defineProperty(i,o,{enumerable:!0,configurable:!0,writable:!0})}a&&S.x("trying to redefine an already defined value",e,l),oe(e,!0,!0);let u=Et(e,125);if(i&&typeof(i[o]=u)=="object"&&r.add(u),oe(e),(s=e.s.charCodeAt(e.p++))===125)return n;s!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished table",e,t)}function ko(e){let t=e.p++,n=[],r;for(;e.p<e.s.length;){if(oe(e),(r=e.s.charCodeAt(e.p))===93)return e.p++,n;if(n.push(Et(e,93)),oe(e),(r=e.s.charCodeAt(e.p++))===93)return n;r!==44&&S.x("expected comma or end of structure",e,e.p-1)}S.x("unfinished array",e,t)}var Xn=pe(()=>{Jn();Yn();Qn();We();});function bo(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 _o(e,t,n){(t===null||e.uk===2)&&S.x(t===null?"trying to redefine an already defined table or value":"document contains an unsafe property",e,n)}function er(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++,oe(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=Qt(n,93);c&&(e.charCodeAt(n.p)!==93&&S.x("expected end of table array declaration",n),n.p++);let f=bo(n,u,r,s,c?2:1);f?(l=f[2],a=f[1]):(_o(n,f,o),i=!0)}else{o=n.p;let c=Qt(n),u=bo(n,c,a,l,0);!u&&!i&&_o(n,u,o),oe(n,!0,!0);let f=Et(n,void 0);u&&!i&&(u[1][u[0]]=f)}oe(n,!0),n.p<e.length&&(o=e.charCodeAt(n.p))!==10&&(o!==13||e.charCodeAt(n.p+1)!==10)&&S.x("each key-value declaration must be followed by an end-of-line",n),oe(n)}return r}var xo=pe(()=>{Xn();Yn();Qn();We();});function vt(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 pf(e){for(let t=0;t<e.length;t++)if(vt(e[t])!=="object")return!1;return e.length!=0}function Eo(e){return JSON.stringify(e).replaceAll("\x7F","\\u007f")}function mf(e){return Eo(wo?e.toWellFormed():e)}function vo(e){if(df.test(e))return e;if(wo&&!e.isWellFormed())throw new RangeError("key contains illegal lone surrogates");return Eo(e)}function tr(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 mf(e);case"date":if(isNaN(e.getTime()))throw new TypeError("cannot serialize invalid date");return e.toISOString();case"object":return hf(e,n,r,s);case"array":return gf(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 hf(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+=vo(a)+" = "+tr(e[a],vt(e[a]),t-1,n,r)}return o+" }"}function gf(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+=tr(e[o],vt(e[o]),t-1,n,r)}return s+" ]"}function yf(e,t,n,r,s){if(n===0)throw new Error("Could not stringify the object: maximum object depth exceeded");let o="";for(let i=0;i<e.length;i++)o+=`${o&&`
9
9
  `}[[${t}]]
10
- `,o+=nr(0,e[i],t,n,r,s);return o}function nr(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=Et(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=vo(u);if(f==="array"&&df(t[u]))a+=(a&&`
11
- `)+gf(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
10
+ `,o+=nr(0,e[i],t,n,r,s);return o}function nr(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=vt(t[u]);if(f==="symbol"||f==="function")throw new TypeError(`cannot serialize values of type '${f}'`);let d=vo(u);if(f==="array"&&pf(t[u]))a+=(a&&`
11
+ `)+yf(t[u],n?`${n}.${d}`:d,r-1,s,o);else if(f==="object"){let m=n?`${n}.${d}`:d;a+=(a&&`
12
12
  `)+nr(m,t[u],m,r-1,s,o)}else i+=d,i+=" = ",i+=tr(t[u],f,r,s,o),i+=`
13
13
  `}}return e&&(i||!a)&&(i=i?`[${e}]
14
14
  ${i}`:`[${e}]`),i&&a?`${i}
15
- ${a}`:i||a}function rr(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(Et(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=nr(0,e,"",t,n,r);return s[s.length-1]!==`
15
+ ${a}`:i||a}function rr(e,{maxDepth:t=1e3,numbersAsFloat:n=!1,strictTemporal:r=!1}={}){if(vt(e)!=="object")throw new TypeError("stringify can only be called with an object");let s=nr(0,e,"",t,n,r);return s[s.length-1]!==`
16
16
  `?s+`
17
- `:s}var ff,wo,So=pe(()=>{ff=/^[a-z0-9-_]+$/i,wo=!!"".isWellFormed});var sr={};ps(sr,{TomlDate:()=>Ve,TomlError:()=>S,default:()=>yf,parse:()=>er,stringify:()=>rr});var yf,or=pe(()=>{xo();So();Wn();We();yf={parse:er,stringify:rr,TomlDate:Ve,TomlError:S}});var fc=ms(Un(),1);var us=ms(Un(),1);import{statSync as Zc}from"node:fs";import{extname as Gc,join as Kc,resolve as no,win32 as ro}from"node:path";function Jc(e){try{return Zc(e).isFile()}catch{return!1}}function Gt(e,t,n=process.cwd(),r=process.platform){if(r!=="win32"||/[\\/:]/.test(e))return e;let s=no(n).toLowerCase(),o=(t.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),i=Gc(e)?["",...o]:o;for(let a of(t.Path??t.PATH??"").split(";")){let l=a.trim().replace(/^"(.*)"$/,"$1");if(!(!l||!ro.isAbsolute(l)||no(l).toLowerCase()===s))for(let c of i){let u=Kc(l,`${e}${c.toLowerCase()}`);if(Jc(u))return u}}return ro.join(t.SystemRoot||"C:\\Windows","tkr-not-on-path",e)}import{existsSync as rc,readFileSync as X0,writeFileSync as Q0,mkdirSync as ek}from"node:fs";import{join as tk}from"node:path";import{constants as nk}from"node:os";import{fileURLToPath as rk}from"node:url";import{StringDecoder as sk}from"node:string_decoder";import{readdir as kf,readFile as bf}from"node:fs/promises";import{join as $o,dirname as _f}from"node:path";import{fileURLToPath as xf}from"node:url";var y={};ps(y,{BRAND:()=>bu,DIRTY:()=>Oe,EMPTY_PATH:()=>Yc,INVALID:()=>v,NEVER:()=>rf,OK:()=>U,ParseStatus:()=>z,Schema:()=>O,ZodAny:()=>Se,ZodArray:()=>ye,ZodBigInt:()=>Ne,ZodBoolean:()=>De,ZodBranded:()=>bt,ZodCatch:()=>Ke,ZodDate:()=>Me,ZodDefault:()=>Ge,ZodDiscriminatedUnion:()=>Wt,ZodEffects:()=>ee,ZodEnum:()=>Ue,ZodError:()=>W,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>qt,ZodIntersection:()=>He,ZodIssueCode:()=>h,ZodLazy:()=>Be,ZodLiteral:()=>ze,ZodMap:()=>at,ZodNaN:()=>ct,ZodNativeEnum:()=>Ze,ZodNever:()=>se,ZodNull:()=>Fe,ZodNullable:()=>ce,ZodNumber:()=>Pe,ZodObject:()=>V,ZodOptional:()=>X,ZodParsedType:()=>x,ZodPipeline:()=>_t,ZodPromise:()=>Te,ZodReadonly:()=>Je,ZodRecord:()=>Vt,ZodSchema:()=>O,ZodSet:()=>lt,ZodString:()=>ve,ZodSymbol:()=>ot,ZodTransformer:()=>ee,ZodTuple:()=>le,ZodType:()=>O,ZodUndefined:()=>Le,ZodUnion:()=>je,ZodUnknown:()=>ge,ZodVoid:()=>it,addIssueToContext:()=>b,any:()=>Ru,array:()=>Ou,bigint:()=>Eu,boolean:()=>ho,coerce:()=>nf,custom:()=>fo,date:()=>vu,datetimeRegex:()=>co,defaultErrorMap:()=>me,discriminatedUnion:()=>Mu,effect:()=>Wu,enum:()=>Gu,function:()=>zu,getErrorMap:()=>nt,getParsedType:()=>ae,instanceof:()=>xu,intersection:()=>Lu,isAborted:()=>Kt,isAsync:()=>rt,isDirty:()=>Jt,isValid:()=>Ee,late:()=>_u,lazy:()=>Uu,literal:()=>Zu,makeIssue:()=>kt,map:()=>Hu,nan:()=>wu,nativeEnum:()=>Ku,never:()=>Cu,null:()=>$u,nullable:()=>qu,number:()=>mo,object:()=>Pu,objectUtil:()=>Zn,oboolean:()=>tf,onumber:()=>ef,optional:()=>Vu,ostring:()=>Qu,pipeline:()=>Xu,preprocess:()=>Yu,promise:()=>Ju,quotelessJson:()=>Wc,record:()=>ju,set:()=>Bu,setErrorMap:()=>qc,strictObject:()=>Nu,string:()=>po,symbol:()=>Su,transformer:()=>Wu,tuple:()=>Fu,undefined:()=>Tu,union:()=>Du,unknown:()=>Au,util:()=>P,void:()=>Iu});var P;(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})(P||(P={}));var Zn;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Zn||(Zn={}));var x=P.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ae=e=>{switch(typeof e){case"undefined":return x.undefined;case"string":return x.string;case"number":return Number.isNaN(e)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(e)?x.array:e===null?x.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?x.promise:typeof Map<"u"&&e instanceof Map?x.map:typeof Set<"u"&&e instanceof Set?x.set:typeof Date<"u"&&e instanceof Date?x.date:x.object;default:return x.unknown}};var h=P.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"]),Wc=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),W=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,P.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()}};W.create=e=>new W(e);var Vc=(e,t)=>{let n;switch(e.code){case h.invalid_type:e.received===x.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case h.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,P.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${P.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${P.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${P.joinValues(e.options)}, received '${e.received}'`;break;case h.invalid_arguments:n="Invalid function arguments";break;case h.invalid_return_type:n="Invalid function return type";break;case h.invalid_date:n="Invalid date";break;case h.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}"`:P.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case h.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 h.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 h.custom:n="Invalid input";break;case h.invalid_intersection_types:n="Intersection results could not be merged";break;case h.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case h.not_finite:n="Number must be finite";break;default:n=t.defaultError,P.assertNever(e)}return{message:n}},me=Vc;var so=me;function qc(e){so=e}function nt(){return so}var kt=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}},Yc=[];function b(e,t){let n=nt(),r=kt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===me?void 0:me].filter(s=>!!s)});e.common.issues.push(r)}var z=class e{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(t,n){let r=[];for(let s of n){if(s.status==="aborted")return v;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 v;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}}},v=Object.freeze({status:"aborted"}),Oe=e=>({status:"dirty",value:e}),U=e=>({status:"valid",value:e}),Kt=e=>e.status==="aborted",Jt=e=>e.status==="dirty",Ee=e=>e.status==="valid",rt=e=>typeof Promise<"u"&&e instanceof Promise;var E;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(E||(E={}));var Q=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},oo=(e,t)=>{if(Ee(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 W(e.common.issues);return this._error=n,this._error}}};function C(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}var O=class{get description(){return this._def.description}_getType(t){return ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new z,ctx:{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(rt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parseSync({data:t,path:r.path,parent:r});return oo(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return Ee(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=>Ee(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(rt(s)?s:Promise.resolve(s));return oo(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:h.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 ee({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return X.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ye.create(this)}promise(){return Te.create(this,this._def)}or(t){return je.create([this,t],this._def)}and(t){return He.create(this,t,this._def)}transform(t){return new ee({...C(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Ge({...C(this._def),innerType:this,defaultValue:n,typeName:T.ZodDefault})}brand(){return new bt({typeName:T.ZodBranded,type:this,...C(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ke({...C(this._def),innerType:this,catchValue:n,typeName:T.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return _t.create(this,t)}readonly(){return Je.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Xc=/^c[^\s-]{8,}$/i,Qc=/^[0-9a-z]+$/,eu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,tu=/^[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,nu=/^[a-z0-9_-]{21}$/i,ru=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,su=/^[-+]?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)?)??$/,ou=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,iu="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Gn,au=/^(?:(?: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])$/,lu=/^(?:(?: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])$/,cu=/^(([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]))$/,uu=/^(([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])$/,fu=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,du=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ao="((\\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])))",pu=new RegExp(`^${ao}$`);function lo(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 mu(e){return new RegExp(`^${lo(e)}$`)}function co(e){let t=`${ao}T${lo(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 hu(e,t){return!!((t==="v4"||!t)&&au.test(e)||(t==="v6"||!t)&&cu.test(e))}function gu(e,t){if(!ru.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 yu(e,t){return!!((t==="v4"||!t)&&lu.test(e)||(t==="v6"||!t)&&uu.test(e))}var ve=class e extends O{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==x.string){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.string,received:o.parsedType}),v}let r=new z,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:h.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),b(s,{code:h.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?b(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&b(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")ou.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"email",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Gn||(Gn=new RegExp(iu,"u")),Gn.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"emoji",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")tu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"uuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")nu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"nanoid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Xc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")Qc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid2",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")eu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ulid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),b(s,{validation:"url",code:h.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),b(s,{validation:"regex",code:h.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),b(s,{code:h.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),b(s,{code:h.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?co(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?pu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?mu(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?su.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?hu(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?gu(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?yu(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?fu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?du.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):P.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:h.invalid_string,...E.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...E.errToObj(t)})}url(t){return this._addCheck({kind:"url",...E.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...E.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...E.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...E.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...E.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...E.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...E.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...E.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...E.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...E.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...E.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...E.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...E.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...E.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...E.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...E.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...E.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...E.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...E.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...E.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...E.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...E.errToObj(n)})}nonempty(t){return this.min(1,E.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};ve.create=e=>new ve({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...C(e)});function ku(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}var Pe=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==x.number){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.number,received:o.parsedType}),v}let r,s=new z;for(let o of this._def.checks)o.kind==="int"?P.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:h.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),b(r,{code:h.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),b(r,{code:h.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?ku(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),b(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:h.not_finite,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:E.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:E.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&P.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Pe.create=e=>new Pe({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...C(e)});var Ne=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==x.bigint)return this._getInvalidInput(t);let r,s=new z;for(let o of this._def.checks)o.kind==="min"?(o.inclusive?t.data<o.value:t.data<=o.value)&&(r=this._getOrReturnCtx(t,r),b(r,{code:h.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),b(r,{code:h.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),b(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return b(n,{code:h.invalid_type,expected:x.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ne.create=e=>new Ne({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...C(e)});var De=class extends O{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==x.boolean){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.boolean,received:r.parsedType}),v}return U(t.data)}};De.create=e=>new De({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...C(e)});var Me=class e extends O{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==x.date){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_date}),v}let r=new z,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:h.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),b(s,{code:h.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):P.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:E.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:E.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Me.create=e=>new Me({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...C(e)});var ot=class extends O{_parse(t){if(this._getType(t)!==x.symbol){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.symbol,received:r.parsedType}),v}return U(t.data)}};ot.create=e=>new ot({typeName:T.ZodSymbol,...C(e)});var Le=class extends O{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.undefined,received:r.parsedType}),v}return U(t.data)}};Le.create=e=>new Le({typeName:T.ZodUndefined,...C(e)});var Fe=class extends O{_parse(t){if(this._getType(t)!==x.null){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.null,received:r.parsedType}),v}return U(t.data)}};Fe.create=e=>new Fe({typeName:T.ZodNull,...C(e)});var Se=class extends O{constructor(){super(...arguments),this._any=!0}_parse(t){return U(t.data)}};Se.create=e=>new Se({typeName:T.ZodAny,...C(e)});var ge=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(t){return U(t.data)}};ge.create=e=>new ge({typeName:T.ZodUnknown,...C(e)});var se=class extends O{_parse(t){let n=this._getOrReturnCtx(t);return b(n,{code:h.invalid_type,expected:x.never,received:n.parsedType}),v}};se.create=e=>new se({typeName:T.ZodNever,...C(e)});var it=class extends O{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.void,received:r.parsedType}),v}return U(t.data)}};it.create=e=>new it({typeName:T.ZodVoid,...C(e)});var ye=class e extends O{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==x.array)return b(n,{code:h.invalid_type,expected:x.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(b(n,{code:i?h.too_big:h.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&&(b(n,{code:h.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&&(b(n,{code:h.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new Q(n,i,n.path,a)))).then(i=>z.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new Q(n,i,n.path,a)));return z.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:E.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:E.toString(n)}})}nonempty(t){return this.min(1,t)}};ye.create=(e,t)=>new ye({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...C(t)});function st(e){if(e instanceof V){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=X.create(st(r))}return new V({...e._def,shape:()=>t})}else return e instanceof ye?new ye({...e._def,type:st(e.element)}):e instanceof X?X.create(st(e.unwrap())):e instanceof ce?ce.create(st(e.unwrap())):e instanceof le?le.create(e.items.map(t=>st(t))):e}var V=class e extends O{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=P.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==x.object){let c=this._getOrReturnCtx(t);return b(c,{code:h.invalid_type,expected:x.object,received:c.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof se&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new Q(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof se){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&&(b(s,{code:h.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new Q(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>z.mergeObjectSync(r,c)):z.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:E.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of P.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 P.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return st(this)}partial(t){let n={};for(let r of P.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 P.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof X;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return uo(P.objectKeys(this.shape))}};V.create=(e,t)=>new V({shape:()=>e,unknownKeys:"strip",catchall:se.create(),typeName:T.ZodObject,...C(t)});V.strictCreate=(e,t)=>new V({shape:()=>e,unknownKeys:"strict",catchall:se.create(),typeName:T.ZodObject,...C(t)});V.lazycreate=(e,t)=>new V({shape:e,unknownKeys:"strip",catchall:se.create(),typeName:T.ZodObject,...C(t)});var je=class extends O{_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 W(a.ctx.common.issues));return b(n,{code:h.invalid_union,unionErrors:i}),v}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 W(l));return b(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};je.create=(e,t)=>new je({options:e,typeName:T.ZodUnion,...C(t)});var he=e=>e instanceof Be?he(e.schema):e instanceof ee?he(e.innerType()):e instanceof ze?[e.value]:e instanceof Ue?e.options:e instanceof Ze?P.objectValues(e.enum):e instanceof Ge?he(e._def.innerType):e instanceof Le?[void 0]:e instanceof Fe?[null]:e instanceof X?[void 0,...he(e.unwrap())]:e instanceof ce?[null,...he(e.unwrap())]:e instanceof bt||e instanceof Je?he(e.unwrap()):e instanceof Ke?he(e._def.innerType):[],Wt=class e extends O{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.object)return b(n,{code:h.invalid_type,expected:x.object,received:n.parsedType}),v;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}):(b(n,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}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=he(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...C(r)})}};function Kn(e,t){let n=ae(e),r=ae(t);if(e===t)return{valid:!0,data:e};if(n===x.object&&r===x.object){let s=P.objectKeys(t),o=P.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Kn(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===x.array&&r===x.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=Kn(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===x.date&&r===x.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var He=class extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Kt(o)||Kt(i))return v;let a=Kn(o.value,i.value);return a.valid?((Jt(o)||Jt(i))&&n.dirty(),{status:n.value,value:a.data}):(b(r,{code:h.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};He.create=(e,t,n)=>new He({left:e,right:t,typeName:T.ZodIntersection,...C(n)});var le=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.array)return b(r,{code:h.invalid_type,expected:x.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return b(r,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(b(r,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new Q(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>z.mergeArray(n,i)):z.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};le.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:e,typeName:T.ZodTuple,rest:null,...C(t)})};var Vt=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.object)return b(r,{code:h.invalid_type,expected:x.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new Q(r,a,r.path,a)),value:i._parse(new Q(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?z.mergeObjectAsync(n,s):z.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:T.ZodRecord,...C(r)}):new e({keyType:ve.create(),valueType:t,typeName:T.ZodRecord,...C(n)})}},at=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.map)return b(r,{code:h.invalid_type,expected:x.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new Q(r,a,r.path,[c,"key"])),value:o._parse(new Q(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return v;(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 v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};at.create=(e,t,n)=>new at({valueType:t,keyType:e,typeName:T.ZodMap,...C(n)});var lt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.set)return b(r,{code:h.invalid_type,expected:x.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(b(r,{code:h.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&&(b(r,{code:h.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 v;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new Q(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:E.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};lt.create=(e,t)=>new lt({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...C(t)});var qt=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.function)return b(n,{code:h.invalid_type,expected:x.function,received:n.parsedType}),v;function r(a,l){return kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nt(),me].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return kt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nt(),me].filter(c=>!!c),issueData:{code:h.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof Te){let a=this;return U(async function(...l){let c=new W([]),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 U(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new W([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new W([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:le.create(t).rest(ge.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||le.create([]).rest(ge.create()),returns:n||ge.create(),typeName:T.ZodFunction,...C(r)})}},Be=class extends O{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Be.create=(e,t)=>new Be({getter:e,typeName:T.ZodLazy,...C(t)});var ze=class extends O{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return b(n,{received:n.data,code:h.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};ze.create=(e,t)=>new ze({value:e,typeName:T.ZodLiteral,...C(t)});function uo(e,t){return new Ue({values:e,typeName:T.ZodEnum,...C(t)})}var Ue=class e extends O{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return b(n,{expected:P.joinValues(r),received:n.parsedType,code:h.invalid_type}),v}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 b(n,{received:n.data,code:h.invalid_enum_value,options:r}),v}return U(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ue.create=uo;var Ze=class extends O{_parse(t){let n=P.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==x.string&&r.parsedType!==x.number){let s=P.objectValues(n);return b(r,{expected:P.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(P.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=P.objectValues(n);return b(r,{received:r.data,code:h.invalid_enum_value,options:s}),v}return U(t.data)}get enum(){return this._def.values}};Ze.create=(e,t)=>new Ze({values:e,typeName:T.ZodNativeEnum,...C(t)});var Te=class extends O{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.promise&&n.common.async===!1)return b(n,{code:h.invalid_type,expected:x.promise,received:n.parsedType}),v;let r=n.parsedType===x.promise?n.data:Promise.resolve(n.data);return U(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};Te.create=(e,t)=>new Te({type:e,typeName:T.ZodPromise,...C(t)});var ee=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{b(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 v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?Oe(l.value):n.value==="dirty"?Oe(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?Oe(a.value):n.value==="dirty"?Oe(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(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"?v:(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(!Ee(i))return v;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=>Ee(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);P.assertNever(s)}};ee.create=(e,t,n)=>new ee({schema:e,typeName:T.ZodEffects,effect:t,...C(n)});ee.createWithPreprocess=(e,t,n)=>new ee({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...C(n)});var X=class extends O{_parse(t){return this._getType(t)===x.undefined?U(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};X.create=(e,t)=>new X({innerType:e,typeName:T.ZodOptional,...C(t)});var ce=class extends O{_parse(t){return this._getType(t)===x.null?U(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ce.create=(e,t)=>new ce({innerType:e,typeName:T.ZodNullable,...C(t)});var Ge=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===x.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...C(t)});var Ke=class extends O{_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 rt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...C(t)});var ct=class extends O{_parse(t){if(this._getType(t)!==x.nan){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};ct.create=e=>new ct({typeName:T.ZodNaN,...C(e)});var bu=Symbol("zod_brand"),bt=class extends O{_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}},_t=class e extends O{_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"?v:o.status==="dirty"?(n.dirty(),Oe(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:T.ZodPipeline})}},Je=class extends O{_parse(t){let n=this._def.innerType._parse(t),r=s=>(Ee(s)&&(s.value=Object.freeze(s.value)),s);return rt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Je.create=(e,t)=>new Je({innerType:e,typeName:T.ZodReadonly,...C(t)});function io(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function fo(e,t={},n){return e?Se.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=io(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=io(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Se.create()}var _u={object:V.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var xu=(e,t={message:`Input not instance of ${e.name}`})=>fo(n=>n instanceof e,t),po=ve.create,mo=Pe.create,wu=ct.create,Eu=Ne.create,ho=De.create,vu=Me.create,Su=ot.create,Tu=Le.create,$u=Fe.create,Ru=Se.create,Au=ge.create,Cu=se.create,Iu=it.create,Ou=ye.create,Pu=V.create,Nu=V.strictCreate,Du=je.create,Mu=Wt.create,Lu=He.create,Fu=le.create,ju=Vt.create,Hu=at.create,Bu=lt.create,zu=qt.create,Uu=Be.create,Zu=ze.create,Gu=Ue.create,Ku=Ze.create,Ju=Te.create,Wu=ee.create,Vu=X.create,qu=ce.create,Yu=ee.createWithPreprocess,Xu=_t.create,Qu=()=>po().optional(),ef=()=>mo().optional(),tf=()=>ho().optional(),nf={string:(e=>ve.create({...e,coerce:!0})),number:(e=>Pe.create({...e,coerce:!0})),boolean:(e=>De.create({...e,coerce:!0})),bigint:(e=>Ne.create({...e,coerce:!0})),date:(e=>Me.create({...e,coerce:!0}))};var rf=v;var $e=y.object({slug:y.string().min(1).max(64),description:y.string().max(255).optional(),match_command:y.string().min(1),priority:y.number().int().default(50),strip_ansi:y.boolean().default(!1),strip_lines_matching:y.array(y.string()).default([]),drop_lines_matching:y.array(y.string()).default([]),keep_failures:y.boolean().default(!1),strip_on_failure:y.boolean().default(!1),fold_passing:y.boolean().default(!1),fold_passing_threshold:y.number().int().positive().max(1e3).optional(),mask_abs_paths:y.boolean().default(!1),preserve_exact:y.boolean().default(!1),truncate_lines_at:y.number().int().positive().max(1e4).optional(),max_lines:y.number().int().positive().max(1e5).optional(),scale_with_level:y.boolean().default(!0),transform:y.string().max(64).optional(),transform_on_failure:y.boolean().default(!1),on_empty:y.string().max(255).optional()});var wf=_f(xf(import.meta.url)),Ef=process.env.TOKMIZER_FILTERS_DIR||$o(wf,"..","..","filters"),ut=null,To=!1;function vf(){return!1}async function Ro(){return ut||(vf()?(ut=await Sf(Ef),ut):(!To&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
18
- `),To=!0),ut=new Map,ut))}async function Sf(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(or(),sr))).parse,r=(await kf(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await bf($o(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=$e.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as Tf}from"node:crypto";var $f=y.enum(["normal","compact","minimal"]),Rf=y.enum(["off","light","balanced","max"]),vt=y.object({enabled:y.boolean().default(!0),telemetryOptIn:y.boolean().default(!0),outputVerbosity:$f.default("compact"),reducer:Rf.default("off"),filters:y.object({enableAll:y.boolean().default(!0),disabled:y.array(y.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ao=new Map;function te(e){let t=Ao.get(e);return t||(t=Tf("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ao.set(e,t)),t}var Co=new WeakMap,Af=256;function ft(e,t,n,r=t){let s=Co.get(r);s||(s=new Map,Co.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(te(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Af){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as cp,readFile as yi,writeFile as X_,mkdir as Q_,rename as ex}from"node:fs/promises";import{readdirSync as up,statSync as mi}from"node:fs";import{createHash as fp}from"node:crypto";import{basename as sx,join as an}from"node:path";var Cf=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,If=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ue(e){return e.replace(Cf,"").replace(If,"")}function ir(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function Io(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function Oo(e,t){return e.some(n=>n.length>t)&&Io(e.join(`
19
- `))?e:e.map(n=>{if(n.length<=t||Io(n))return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}function dt(e){return`\u2026 (${e} more lines omitted)`}var Of=/\b(?:ERROR|FATAL|CRITICAL|PANIC)\b|\bpanic:|\bTraceback \(most recent|\b[A-Z][A-Za-z0-9]*(?:Error|Exception)\b|\berror(?:\[[A-Za-z0-9]+\])?:/,Pf=20,Nf=4096;function Po(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r),o=s.filter(a=>a.length<=Nf&&Of.test(a)).slice(0,Pf),i=s.length-o.length;return{kept:[...e.slice(0,n),...i>0?[dt(i)]:[],...o,...e.slice(e.length-r)],dropped:s}}var Df=/^\s*(?:[✓✔√]|ok )/,ne=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function No(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)Df.test(a)&&!ne.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Mf=/(?:\/[\w.@+-]+){3,}/g;function Do(e){return e.map(t=>t.replace(Mf,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Lf=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,Ff=/\{\s*$/;var jf=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Hf=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function Bf(e){let t=jf.exec(e);return!t||Hf.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var zf=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Uf(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 Zf(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==="&"))&&Uf(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var Mo=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Gf=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function Kf(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 ar(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Gf.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 St(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Lf.test(o)&&Ff.test(o)||Bf(o)||zf.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Zf(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(Kf(d,f,n?s+2:null));for(let m=0;m<f-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}var Jf=/\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 en(e){let t=e.slice(0,4096);return!(!Jf.test(t)||t.split(`
20
- `).length<6)}var Ho=/^\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*/,Bo=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,zo=new RegExp(ne.source,"i"),Uo=/\bWARN(?:ING)?\b/i;function Zo(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(Bo.test(s.replace(Ho,""))&&!zo.test(s)&&!Uo.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var Wf=/^(?:DEBUG|INFO):[\w.-]+:/,Vf=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,qf=8,Lo=1,Fo=2;function jo(e){if(e.trim()===""||/^\s/.test(e)||zo.test(e)||Uo.test(e)||Vf.test(e))return null;let t=e.replace(Ho,"");return Bo.test(t)||Wf.test(t)?"\0verbose":e.replace(/\d+/g,"#")}function Go(e){let t=[],n=0;for(;n<e.length;){let r=jo(e[n]),s=n+1;if(r!==null)for(;s<e.length&&jo(e[s])===r;)s+=1;let o=s-n;r===null||o<qf?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Lo)),t.push(`\u2026 ${o-Lo-Fo} similar log lines dropped \u2026`),t.push(...e.slice(s-Fo,s))),n=s}return t}var Yf=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/;function Ko(e){return e.some(t=>Yf.test(t))}function tn(e){if(e.length===0||Ko(e))return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Jo(e){if(Ko(e))return e;let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var Wo=new Map;function L(e,t){Wo.set(e,t)}function Vo(e){return Wo.get(e)}var Xo=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Qo=/^[./~][^\s]*:$/,Xf=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})?`,Qf=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${Xf})\s+(.+)$`),ed={k:1,m:2,g:3,t:4,p:5},lr=1e3;function td(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 nd(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?ed[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function rd(e){let t=Qf.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?td(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:nd(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function sd(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}var od=12,id=3,ad=180;function qo(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>ad&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function ld(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function cd(e){let t=e.filter(l=>l.trim()!=="");if(t.length<od)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||Qo.test(l.trim())||Xo.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let c=ld(l),u=o.get(c)??[];u.push(l),o.set(c,u)}let i=[`${t.length} entries:`],a=[];for(let[l,c]of[...o.entries()].sort((u,f)=>f[1].length-u[1].length||u[0].localeCompare(f[0])))l&&c.length>=id&&c.every(u=>!/\s|"/.test(u))?i.push(...qo(`*${l} (${c.length}):`,c.map(u=>u.slice(0,-l.length)))):a.push(...c);return a.length&&i.push(...qo(`other (${a.length}):`,a.map(s))),i.join(`
17
+ `:s}var df,wo,So=pe(()=>{df=/^[a-z0-9-_]+$/i,wo=!!"".isWellFormed});var sr={};ps(sr,{TomlDate:()=>Ve,TomlError:()=>S,default:()=>kf,parse:()=>er,stringify:()=>rr});var kf,or=pe(()=>{xo();So();Wn();We();kf={parse:er,stringify:rr,TomlDate:Ve,TomlError:S}});var dc=ms(Un(),1);var us=ms(Un(),1);import{statSync as Gc}from"node:fs";import{extname as Kc,join as Jc,resolve as no,win32 as ro}from"node:path";function Wc(e){try{return Gc(e).isFile()}catch{return!1}}function Gt(e,t,n=process.cwd(),r=process.platform){if(r!=="win32"||/[\\/:]/.test(e))return e;let s=no(n).toLowerCase(),o=(t.PATHEXT??".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean),i=Kc(e)?["",...o]:o;for(let a of(t.Path??t.PATH??"").split(";")){let l=a.trim().replace(/^"(.*)"$/,"$1");if(!(!l||!ro.isAbsolute(l)||no(l).toLowerCase()===s))for(let c of i){let u=Jc(l,`${e}${c.toLowerCase()}`);if(Wc(u))return u}}return ro.join(t.SystemRoot||"C:\\Windows","tkr-not-on-path",e)}import{existsSync as rc,readFileSync as nk,writeFileSync as rk,mkdirSync as sk}from"node:fs";import{join as ok}from"node:path";import{constants as ik}from"node:os";import{fileURLToPath as ak}from"node:url";import{StringDecoder as lk}from"node:string_decoder";import{readdir as bf,readFile as _f}from"node:fs/promises";import{join as $o,dirname as xf}from"node:path";import{fileURLToPath as wf}from"node:url";var y={};ps(y,{BRAND:()=>_u,DIRTY:()=>Oe,EMPTY_PATH:()=>Xc,INVALID:()=>v,NEVER:()=>sf,OK:()=>Z,ParseStatus:()=>U,Schema:()=>O,ZodAny:()=>Te,ZodArray:()=>ye,ZodBigInt:()=>Ne,ZodBoolean:()=>De,ZodBranded:()=>_t,ZodCatch:()=>Ke,ZodDate:()=>Me,ZodDefault:()=>Ge,ZodDiscriminatedUnion:()=>Wt,ZodEffects:()=>ee,ZodEnum:()=>Ue,ZodError:()=>W,ZodFirstPartyTypeKind:()=>T,ZodFunction:()=>qt,ZodIntersection:()=>He,ZodIssueCode:()=>h,ZodLazy:()=>Be,ZodLiteral:()=>ze,ZodMap:()=>at,ZodNaN:()=>ct,ZodNativeEnum:()=>Ze,ZodNever:()=>se,ZodNull:()=>Fe,ZodNullable:()=>ce,ZodNumber:()=>Pe,ZodObject:()=>V,ZodOptional:()=>X,ZodParsedType:()=>x,ZodPipeline:()=>xt,ZodPromise:()=>$e,ZodReadonly:()=>Je,ZodRecord:()=>Vt,ZodSchema:()=>O,ZodSet:()=>lt,ZodString:()=>Se,ZodSymbol:()=>ot,ZodTransformer:()=>ee,ZodTuple:()=>le,ZodType:()=>O,ZodUndefined:()=>Le,ZodUnion:()=>je,ZodUnknown:()=>ge,ZodVoid:()=>it,addIssueToContext:()=>b,any:()=>Au,array:()=>Pu,bigint:()=>vu,boolean:()=>ho,coerce:()=>rf,custom:()=>fo,date:()=>Su,datetimeRegex:()=>co,defaultErrorMap:()=>me,discriminatedUnion:()=>Lu,effect:()=>Vu,enum:()=>Ku,function:()=>Uu,getErrorMap:()=>nt,getParsedType:()=>ae,instanceof:()=>wu,intersection:()=>Fu,isAborted:()=>Kt,isAsync:()=>rt,isDirty:()=>Jt,isValid:()=>ve,late:()=>xu,lazy:()=>Zu,literal:()=>Gu,makeIssue:()=>bt,map:()=>Bu,nan:()=>Eu,nativeEnum:()=>Ju,never:()=>Iu,null:()=>Ru,nullable:()=>Yu,number:()=>mo,object:()=>Nu,objectUtil:()=>Zn,oboolean:()=>nf,onumber:()=>tf,optional:()=>qu,ostring:()=>ef,pipeline:()=>Qu,preprocess:()=>Xu,promise:()=>Wu,quotelessJson:()=>Vc,record:()=>Hu,set:()=>zu,setErrorMap:()=>Yc,strictObject:()=>Du,string:()=>po,symbol:()=>Tu,transformer:()=>Vu,tuple:()=>ju,undefined:()=>$u,union:()=>Mu,unknown:()=>Cu,util:()=>P,void:()=>Ou});var P;(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})(P||(P={}));var Zn;(function(e){e.mergeShapes=(t,n)=>({...t,...n})})(Zn||(Zn={}));var x=P.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ae=e=>{switch(typeof e){case"undefined":return x.undefined;case"string":return x.string;case"number":return Number.isNaN(e)?x.nan:x.number;case"boolean":return x.boolean;case"function":return x.function;case"bigint":return x.bigint;case"symbol":return x.symbol;case"object":return Array.isArray(e)?x.array:e===null?x.null:e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?x.promise:typeof Map<"u"&&e instanceof Map?x.map:typeof Set<"u"&&e instanceof Set?x.set:typeof Date<"u"&&e instanceof Date?x.date:x.object;default:return x.unknown}};var h=P.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"]),Vc=e=>JSON.stringify(e,null,2).replace(/"([^"]+)":/g,"$1:"),W=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,P.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()}};W.create=e=>new W(e);var qc=(e,t)=>{let n;switch(e.code){case h.invalid_type:e.received===x.undefined?n="Required":n=`Expected ${e.expected}, received ${e.received}`;break;case h.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(e.expected,P.jsonStringifyReplacer)}`;break;case h.unrecognized_keys:n=`Unrecognized key(s) in object: ${P.joinValues(e.keys,", ")}`;break;case h.invalid_union:n="Invalid input";break;case h.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${P.joinValues(e.options)}`;break;case h.invalid_enum_value:n=`Invalid enum value. Expected ${P.joinValues(e.options)}, received '${e.received}'`;break;case h.invalid_arguments:n="Invalid function arguments";break;case h.invalid_return_type:n="Invalid function return type";break;case h.invalid_date:n="Invalid date";break;case h.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}"`:P.assertNever(e.validation):e.validation!=="regex"?n=`Invalid ${e.validation}`:n="Invalid";break;case h.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 h.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 h.custom:n="Invalid input";break;case h.invalid_intersection_types:n="Intersection results could not be merged";break;case h.not_multiple_of:n=`Number must be a multiple of ${e.multipleOf}`;break;case h.not_finite:n="Number must be finite";break;default:n=t.defaultError,P.assertNever(e)}return{message:n}},me=qc;var so=me;function Yc(e){so=e}function nt(){return so}var bt=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}},Xc=[];function b(e,t){let n=nt(),r=bt({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,n,n===me?void 0:me].filter(s=>!!s)});e.common.issues.push(r)}var U=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 v;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 v;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}}},v=Object.freeze({status:"aborted"}),Oe=e=>({status:"dirty",value:e}),Z=e=>({status:"valid",value:e}),Kt=e=>e.status==="aborted",Jt=e=>e.status==="dirty",ve=e=>e.status==="valid",rt=e=>typeof Promise<"u"&&e instanceof Promise;var E;(function(e){e.errToObj=t=>typeof t=="string"?{message:t}:t||{},e.toString=t=>typeof t=="string"?t:t?.message})(E||(E={}));var Q=class{constructor(t,n,r,s){this._cachedPath=[],this.parent=t,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},oo=(e,t)=>{if(ve(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 W(e.common.issues);return this._error=n,this._error}}};function C(e){if(!e)return{};let{errorMap:t,invalid_type_error:n,required_error:r,description:s}=e;if(t&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return t?{errorMap:t,description:s}:{errorMap:(i,a)=>{let{message:l}=e;return i.code==="invalid_enum_value"?{message:l??a.defaultError}:typeof a.data>"u"?{message:l??r??a.defaultError}:i.code!=="invalid_type"?{message:a.defaultError}:{message:l??n??a.defaultError}},description:s}}var O=class{get description(){return this._def.description}_getType(t){return ae(t.data)}_getOrReturnCtx(t,n){return n||{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}_processInputParams(t){return{status:new U,ctx:{common:t.parent.common,data:t.data,parsedType:ae(t.data),schemaErrorMap:this._def.errorMap,path:t.path,parent:t.parent}}}_parseSync(t){let n=this._parse(t);if(rt(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(t){let n=this._parse(t);return Promise.resolve(n)}parse(t,n){let r=this.safeParse(t,n);if(r.success)return r.data;throw r.error}safeParse(t,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parseSync({data:t,path:r.path,parent:r});return oo(r,s)}"~validate"(t){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)};if(!this["~standard"].async)try{let r=this._parseSync({data:t,path:[],parent:n});return ve(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=>ve(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(t,n){let r=await this.safeParseAsync(t,n);if(r.success)return r.data;throw r.error}async safeParseAsync(t,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:t,parsedType:ae(t)},s=this._parse({data:t,path:r.path,parent:r}),o=await(rt(s)?s:Promise.resolve(s));return oo(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:h.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 ee({schema:this,typeName:T.ZodEffects,effect:{type:"refinement",refinement:t}})}superRefine(t){return this._refinement(t)}constructor(t){this.spa=this.safeParseAsync,this._def=t,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:n=>this["~validate"](n)}}optional(){return X.create(this,this._def)}nullable(){return ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return ye.create(this)}promise(){return $e.create(this,this._def)}or(t){return je.create([this,t],this._def)}and(t){return He.create(this,t,this._def)}transform(t){return new ee({...C(this._def),schema:this,typeName:T.ZodEffects,effect:{type:"transform",transform:t}})}default(t){let n=typeof t=="function"?t:()=>t;return new Ge({...C(this._def),innerType:this,defaultValue:n,typeName:T.ZodDefault})}brand(){return new _t({typeName:T.ZodBranded,type:this,...C(this._def)})}catch(t){let n=typeof t=="function"?t:()=>t;return new Ke({...C(this._def),innerType:this,catchValue:n,typeName:T.ZodCatch})}describe(t){let n=this.constructor;return new n({...this._def,description:t})}pipe(t){return xt.create(this,t)}readonly(){return Je.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Qc=/^c[^\s-]{8,}$/i,eu=/^[0-9a-z]+$/,tu=/^[0-9A-HJKMNP-TV-Z]{26}$/i,nu=/^[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,ru=/^[a-z0-9_-]{21}$/i,su=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,ou=/^[-+]?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)?)??$/,iu=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,au="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Gn,lu=/^(?:(?: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])$/,cu=/^(?:(?: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])$/,uu=/^(([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]))$/,fu=/^(([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])$/,du=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,pu=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,ao="((\\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])))",mu=new RegExp(`^${ao}$`);function lo(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 hu(e){return new RegExp(`^${lo(e)}$`)}function co(e){let t=`${ao}T${lo(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 gu(e,t){return!!((t==="v4"||!t)&&lu.test(e)||(t==="v6"||!t)&&uu.test(e))}function yu(e,t){if(!su.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 ku(e,t){return!!((t==="v4"||!t)&&cu.test(e)||(t==="v6"||!t)&&fu.test(e))}var Se=class e extends O{_parse(t){if(this._def.coerce&&(t.data=String(t.data)),this._getType(t)!==x.string){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.string,received:o.parsedType}),v}let r=new U,s;for(let o of this._def.checks)if(o.kind==="min")t.data.length<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:h.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),b(s,{code:h.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?b(s,{code:h.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):a&&b(s,{code:h.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),r.dirty())}else if(o.kind==="email")iu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"email",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="emoji")Gn||(Gn=new RegExp(au,"u")),Gn.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"emoji",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="uuid")nu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"uuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="nanoid")ru.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"nanoid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid")Qc.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="cuid2")eu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cuid2",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="ulid")tu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ulid",code:h.invalid_string,message:o.message}),r.dirty());else if(o.kind==="url")try{new URL(t.data)}catch{s=this._getOrReturnCtx(t,s),b(s,{validation:"url",code:h.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),b(s,{validation:"regex",code:h.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),b(s,{code:h.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),b(s,{code:h.invalid_string,validation:{startsWith:o.value},message:o.message}),r.dirty()):o.kind==="endsWith"?t.data.endsWith(o.value)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:{endsWith:o.value},message:o.message}),r.dirty()):o.kind==="datetime"?co(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"datetime",message:o.message}),r.dirty()):o.kind==="date"?mu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"date",message:o.message}),r.dirty()):o.kind==="time"?hu(o).test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{code:h.invalid_string,validation:"time",message:o.message}),r.dirty()):o.kind==="duration"?ou.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"duration",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="ip"?gu(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"ip",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="jwt"?yu(t.data,o.alg)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"jwt",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="cidr"?ku(t.data,o.version)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"cidr",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64"?du.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64",code:h.invalid_string,message:o.message}),r.dirty()):o.kind==="base64url"?pu.test(t.data)||(s=this._getOrReturnCtx(t,s),b(s,{validation:"base64url",code:h.invalid_string,message:o.message}),r.dirty()):P.assertNever(o);return{status:r.value,value:t.data}}_regex(t,n,r){return this.refinement(s=>t.test(s),{validation:n,code:h.invalid_string,...E.errToObj(r)})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}email(t){return this._addCheck({kind:"email",...E.errToObj(t)})}url(t){return this._addCheck({kind:"url",...E.errToObj(t)})}emoji(t){return this._addCheck({kind:"emoji",...E.errToObj(t)})}uuid(t){return this._addCheck({kind:"uuid",...E.errToObj(t)})}nanoid(t){return this._addCheck({kind:"nanoid",...E.errToObj(t)})}cuid(t){return this._addCheck({kind:"cuid",...E.errToObj(t)})}cuid2(t){return this._addCheck({kind:"cuid2",...E.errToObj(t)})}ulid(t){return this._addCheck({kind:"ulid",...E.errToObj(t)})}base64(t){return this._addCheck({kind:"base64",...E.errToObj(t)})}base64url(t){return this._addCheck({kind:"base64url",...E.errToObj(t)})}jwt(t){return this._addCheck({kind:"jwt",...E.errToObj(t)})}ip(t){return this._addCheck({kind:"ip",...E.errToObj(t)})}cidr(t){return this._addCheck({kind:"cidr",...E.errToObj(t)})}datetime(t){return typeof t=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:t}):this._addCheck({kind:"datetime",precision:typeof t?.precision>"u"?null:t?.precision,offset:t?.offset??!1,local:t?.local??!1,...E.errToObj(t?.message)})}date(t){return this._addCheck({kind:"date",message:t})}time(t){return typeof t=="string"?this._addCheck({kind:"time",precision:null,message:t}):this._addCheck({kind:"time",precision:typeof t?.precision>"u"?null:t?.precision,...E.errToObj(t?.message)})}duration(t){return this._addCheck({kind:"duration",...E.errToObj(t)})}regex(t,n){return this._addCheck({kind:"regex",regex:t,...E.errToObj(n)})}includes(t,n){return this._addCheck({kind:"includes",value:t,position:n?.position,...E.errToObj(n?.message)})}startsWith(t,n){return this._addCheck({kind:"startsWith",value:t,...E.errToObj(n)})}endsWith(t,n){return this._addCheck({kind:"endsWith",value:t,...E.errToObj(n)})}min(t,n){return this._addCheck({kind:"min",value:t,...E.errToObj(n)})}max(t,n){return this._addCheck({kind:"max",value:t,...E.errToObj(n)})}length(t,n){return this._addCheck({kind:"length",value:t,...E.errToObj(n)})}nonempty(t){return this.min(1,E.errToObj(t))}trim(){return new e({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new e({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(t=>t.kind==="datetime")}get isDate(){return!!this._def.checks.find(t=>t.kind==="date")}get isTime(){return!!this._def.checks.find(t=>t.kind==="time")}get isDuration(){return!!this._def.checks.find(t=>t.kind==="duration")}get isEmail(){return!!this._def.checks.find(t=>t.kind==="email")}get isURL(){return!!this._def.checks.find(t=>t.kind==="url")}get isEmoji(){return!!this._def.checks.find(t=>t.kind==="emoji")}get isUUID(){return!!this._def.checks.find(t=>t.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(t=>t.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(t=>t.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(t=>t.kind==="cuid2")}get isULID(){return!!this._def.checks.find(t=>t.kind==="ulid")}get isIP(){return!!this._def.checks.find(t=>t.kind==="ip")}get isCIDR(){return!!this._def.checks.find(t=>t.kind==="cidr")}get isBase64(){return!!this._def.checks.find(t=>t.kind==="base64")}get isBase64url(){return!!this._def.checks.find(t=>t.kind==="base64url")}get minLength(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxLength(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Se.create=e=>new Se({checks:[],typeName:T.ZodString,coerce:e?.coerce??!1,...C(e)});function bu(e,t){let n=(e.toString().split(".")[1]||"").length,r=(t.toString().split(".")[1]||"").length,s=n>r?n:r,o=Number.parseInt(e.toFixed(s).replace(".","")),i=Number.parseInt(t.toFixed(s).replace(".",""));return o%i/10**s}var Pe=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(t){if(this._def.coerce&&(t.data=Number(t.data)),this._getType(t)!==x.number){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.number,received:o.parsedType}),v}let r,s=new U;for(let o of this._def.checks)o.kind==="int"?P.isInteger(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:h.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),b(r,{code:h.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),b(r,{code:h.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?bu(t.data,o.value)!==0&&(r=this._getOrReturnCtx(t,r),b(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(t.data)||(r=this._getOrReturnCtx(t,r),b(r,{code:h.not_finite,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:t.data}}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}int(t){return this._addCheck({kind:"int",message:E.toString(t)})}positive(t){return this._addCheck({kind:"min",value:0,inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:0,inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:0,inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:0,inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}finite(t){return this._addCheck({kind:"finite",message:E.toString(t)})}safe(t){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:E.toString(t)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:E.toString(t)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}get isInt(){return!!this._def.checks.find(t=>t.kind==="int"||t.kind==="multipleOf"&&P.isInteger(t.value))}get isFinite(){let t=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(t===null||r.value<t)&&(t=r.value)}return Number.isFinite(n)&&Number.isFinite(t)}};Pe.create=e=>new Pe({checks:[],typeName:T.ZodNumber,coerce:e?.coerce||!1,...C(e)});var Ne=class e extends O{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(t){if(this._def.coerce)try{t.data=BigInt(t.data)}catch{return this._getInvalidInput(t)}if(this._getType(t)!==x.bigint)return this._getInvalidInput(t);let r,s=new U;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),b(r,{code:h.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),b(r,{code:h.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),b(r,{code:h.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:t.data}}_getInvalidInput(t){let n=this._getOrReturnCtx(t);return b(n,{code:h.invalid_type,expected:x.bigint,received:n.parsedType}),v}gte(t,n){return this.setLimit("min",t,!0,E.toString(n))}gt(t,n){return this.setLimit("min",t,!1,E.toString(n))}lte(t,n){return this.setLimit("max",t,!0,E.toString(n))}lt(t,n){return this.setLimit("max",t,!1,E.toString(n))}setLimit(t,n,r,s){return new e({...this._def,checks:[...this._def.checks,{kind:t,value:n,inclusive:r,message:E.toString(s)}]})}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}positive(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:E.toString(t)})}negative(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:E.toString(t)})}nonpositive(t){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:E.toString(t)})}nonnegative(t){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:E.toString(t)})}multipleOf(t,n){return this._addCheck({kind:"multipleOf",value:t,message:E.toString(n)})}get minValue(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t}get maxValue(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t}};Ne.create=e=>new Ne({checks:[],typeName:T.ZodBigInt,coerce:e?.coerce??!1,...C(e)});var De=class extends O{_parse(t){if(this._def.coerce&&(t.data=!!t.data),this._getType(t)!==x.boolean){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.boolean,received:r.parsedType}),v}return Z(t.data)}};De.create=e=>new De({typeName:T.ZodBoolean,coerce:e?.coerce||!1,...C(e)});var Me=class e extends O{_parse(t){if(this._def.coerce&&(t.data=new Date(t.data)),this._getType(t)!==x.date){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_type,expected:x.date,received:o.parsedType}),v}if(Number.isNaN(t.data.getTime())){let o=this._getOrReturnCtx(t);return b(o,{code:h.invalid_date}),v}let r=new U,s;for(let o of this._def.checks)o.kind==="min"?t.data.getTime()<o.value&&(s=this._getOrReturnCtx(t,s),b(s,{code:h.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),b(s,{code:h.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),r.dirty()):P.assertNever(o);return{status:r.value,value:new Date(t.data.getTime())}}_addCheck(t){return new e({...this._def,checks:[...this._def.checks,t]})}min(t,n){return this._addCheck({kind:"min",value:t.getTime(),message:E.toString(n)})}max(t,n){return this._addCheck({kind:"max",value:t.getTime(),message:E.toString(n)})}get minDate(){let t=null;for(let n of this._def.checks)n.kind==="min"&&(t===null||n.value>t)&&(t=n.value);return t!=null?new Date(t):null}get maxDate(){let t=null;for(let n of this._def.checks)n.kind==="max"&&(t===null||n.value<t)&&(t=n.value);return t!=null?new Date(t):null}};Me.create=e=>new Me({checks:[],coerce:e?.coerce||!1,typeName:T.ZodDate,...C(e)});var ot=class extends O{_parse(t){if(this._getType(t)!==x.symbol){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.symbol,received:r.parsedType}),v}return Z(t.data)}};ot.create=e=>new ot({typeName:T.ZodSymbol,...C(e)});var Le=class extends O{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.undefined,received:r.parsedType}),v}return Z(t.data)}};Le.create=e=>new Le({typeName:T.ZodUndefined,...C(e)});var Fe=class extends O{_parse(t){if(this._getType(t)!==x.null){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.null,received:r.parsedType}),v}return Z(t.data)}};Fe.create=e=>new Fe({typeName:T.ZodNull,...C(e)});var Te=class extends O{constructor(){super(...arguments),this._any=!0}_parse(t){return Z(t.data)}};Te.create=e=>new Te({typeName:T.ZodAny,...C(e)});var ge=class extends O{constructor(){super(...arguments),this._unknown=!0}_parse(t){return Z(t.data)}};ge.create=e=>new ge({typeName:T.ZodUnknown,...C(e)});var se=class extends O{_parse(t){let n=this._getOrReturnCtx(t);return b(n,{code:h.invalid_type,expected:x.never,received:n.parsedType}),v}};se.create=e=>new se({typeName:T.ZodNever,...C(e)});var it=class extends O{_parse(t){if(this._getType(t)!==x.undefined){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.void,received:r.parsedType}),v}return Z(t.data)}};it.create=e=>new it({typeName:T.ZodVoid,...C(e)});var ye=class e extends O{_parse(t){let{ctx:n,status:r}=this._processInputParams(t),s=this._def;if(n.parsedType!==x.array)return b(n,{code:h.invalid_type,expected:x.array,received:n.parsedType}),v;if(s.exactLength!==null){let i=n.data.length>s.exactLength.value,a=n.data.length<s.exactLength.value;(i||a)&&(b(n,{code:i?h.too_big:h.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&&(b(n,{code:h.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&&(b(n,{code:h.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((i,a)=>s.type._parseAsync(new Q(n,i,n.path,a)))).then(i=>U.mergeArray(r,i));let o=[...n.data].map((i,a)=>s.type._parseSync(new Q(n,i,n.path,a)));return U.mergeArray(r,o)}get element(){return this._def.type}min(t,n){return new e({...this._def,minLength:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxLength:{value:t,message:E.toString(n)}})}length(t,n){return new e({...this._def,exactLength:{value:t,message:E.toString(n)}})}nonempty(t){return this.min(1,t)}};ye.create=(e,t)=>new ye({type:e,minLength:null,maxLength:null,exactLength:null,typeName:T.ZodArray,...C(t)});function st(e){if(e instanceof V){let t={};for(let n in e.shape){let r=e.shape[n];t[n]=X.create(st(r))}return new V({...e._def,shape:()=>t})}else return e instanceof ye?new ye({...e._def,type:st(e.element)}):e instanceof X?X.create(st(e.unwrap())):e instanceof ce?ce.create(st(e.unwrap())):e instanceof le?le.create(e.items.map(t=>st(t))):e}var V=class e extends O{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=P.objectKeys(t);return this._cached={shape:t,keys:n},this._cached}_parse(t){if(this._getType(t)!==x.object){let c=this._getOrReturnCtx(t);return b(c,{code:h.invalid_type,expected:x.object,received:c.parsedType}),v}let{status:r,ctx:s}=this._processInputParams(t),{shape:o,keys:i}=this._getCached(),a=[];if(!(this._def.catchall instanceof se&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||a.push(c);let l=[];for(let c of i){let u=o[c],f=s.data[c];l.push({key:{status:"valid",value:c},value:u._parse(new Q(s,f,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof se){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&&(b(s,{code:h.unrecognized_keys,keys:a}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let u of a){let f=s.data[u];l.push({key:{status:"valid",value:u},value:c._parse(new Q(s,f,s.path,u)),alwaysSet:u in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let u of l){let f=await u.key,d=await u.value;c.push({key:f,value:d,alwaysSet:u.alwaysSet})}return c}).then(c=>U.mergeObjectSync(r,c)):U.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(t){return E.errToObj,new e({...this._def,unknownKeys:"strict",...t!==void 0?{errorMap:(n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:E.errToObj(t).message??s}:{message:s}}}:{}})}strip(){return new e({...this._def,unknownKeys:"strip"})}passthrough(){return new e({...this._def,unknownKeys:"passthrough"})}extend(t){return new e({...this._def,shape:()=>({...this._def.shape(),...t})})}merge(t){return new e({unknownKeys:t._def.unknownKeys,catchall:t._def.catchall,shape:()=>({...this._def.shape(),...t._def.shape()}),typeName:T.ZodObject})}setKey(t,n){return this.augment({[t]:n})}catchall(t){return new e({...this._def,catchall:t})}pick(t){let n={};for(let r of P.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 P.objectKeys(this.shape))t[r]||(n[r]=this.shape[r]);return new e({...this._def,shape:()=>n})}deepPartial(){return st(this)}partial(t){let n={};for(let r of P.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 P.objectKeys(this.shape))if(t&&!t[r])n[r]=this.shape[r];else{let o=this.shape[r];for(;o instanceof X;)o=o._def.innerType;n[r]=o}return new e({...this._def,shape:()=>n})}keyof(){return uo(P.objectKeys(this.shape))}};V.create=(e,t)=>new V({shape:()=>e,unknownKeys:"strip",catchall:se.create(),typeName:T.ZodObject,...C(t)});V.strictCreate=(e,t)=>new V({shape:()=>e,unknownKeys:"strict",catchall:se.create(),typeName:T.ZodObject,...C(t)});V.lazycreate=(e,t)=>new V({shape:e,unknownKeys:"strip",catchall:se.create(),typeName:T.ZodObject,...C(t)});var je=class extends O{_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 W(a.ctx.common.issues));return b(n,{code:h.invalid_union,unionErrors:i}),v}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 W(l));return b(n,{code:h.invalid_union,unionErrors:a}),v}}get options(){return this._def.options}};je.create=(e,t)=>new je({options:e,typeName:T.ZodUnion,...C(t)});var he=e=>e instanceof Be?he(e.schema):e instanceof ee?he(e.innerType()):e instanceof ze?[e.value]:e instanceof Ue?e.options:e instanceof Ze?P.objectValues(e.enum):e instanceof Ge?he(e._def.innerType):e instanceof Le?[void 0]:e instanceof Fe?[null]:e instanceof X?[void 0,...he(e.unwrap())]:e instanceof ce?[null,...he(e.unwrap())]:e instanceof _t||e instanceof Je?he(e.unwrap()):e instanceof Ke?he(e._def.innerType):[],Wt=class e extends O{_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.object)return b(n,{code:h.invalid_type,expected:x.object,received:n.parsedType}),v;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}):(b(n,{code:h.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),v)}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=he(o.shape[t]);if(!i.length)throw new Error(`A discriminator value for key \`${t}\` could not be extracted from all schema options`);for(let a of i){if(s.has(a))throw new Error(`Discriminator property ${String(t)} has duplicate value ${String(a)}`);s.set(a,o)}}return new e({typeName:T.ZodDiscriminatedUnion,discriminator:t,options:n,optionsMap:s,...C(r)})}};function Kn(e,t){let n=ae(e),r=ae(t);if(e===t)return{valid:!0,data:e};if(n===x.object&&r===x.object){let s=P.objectKeys(t),o=P.objectKeys(e).filter(a=>s.indexOf(a)!==-1),i={...e,...t};for(let a of o){let l=Kn(e[a],t[a]);if(!l.valid)return{valid:!1};i[a]=l.data}return{valid:!0,data:i}}else if(n===x.array&&r===x.array){if(e.length!==t.length)return{valid:!1};let s=[];for(let o=0;o<e.length;o++){let i=e[o],a=t[o],l=Kn(i,a);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===x.date&&r===x.date&&+e==+t?{valid:!0,data:e}:{valid:!1}}var He=class extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=(o,i)=>{if(Kt(o)||Kt(i))return v;let a=Kn(o.value,i.value);return a.valid?((Jt(o)||Jt(i))&&n.dirty(),{status:n.value,value:a.data}):(b(r,{code:h.invalid_intersection_types}),v)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([o,i])=>s(o,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};He.create=(e,t,n)=>new He({left:e,right:t,typeName:T.ZodIntersection,...C(n)});var le=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.array)return b(r,{code:h.invalid_type,expected:x.array,received:r.parsedType}),v;if(r.data.length<this._def.items.length)return b(r,{code:h.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),v;!this._def.rest&&r.data.length>this._def.items.length&&(b(r,{code:h.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let o=[...r.data].map((i,a)=>{let l=this._def.items[a]||this._def.rest;return l?l._parse(new Q(r,i,r.path,a)):null}).filter(i=>!!i);return r.common.async?Promise.all(o).then(i=>U.mergeArray(n,i)):U.mergeArray(n,o)}get items(){return this._def.items}rest(t){return new e({...this._def,rest:t})}};le.create=(e,t)=>{if(!Array.isArray(e))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:e,typeName:T.ZodTuple,rest:null,...C(t)})};var Vt=class e extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.object)return b(r,{code:h.invalid_type,expected:x.object,received:r.parsedType}),v;let s=[],o=this._def.keyType,i=this._def.valueType;for(let a in r.data)s.push({key:o._parse(new Q(r,a,r.path,a)),value:i._parse(new Q(r,r.data[a],r.path,a)),alwaysSet:a in r.data});return r.common.async?U.mergeObjectAsync(n,s):U.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(t,n,r){return n instanceof O?new e({keyType:t,valueType:n,typeName:T.ZodRecord,...C(r)}):new e({keyType:Se.create(),valueType:t,typeName:T.ZodRecord,...C(n)})}},at=class extends O{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.map)return b(r,{code:h.invalid_type,expected:x.map,received:r.parsedType}),v;let s=this._def.keyType,o=this._def.valueType,i=[...r.data.entries()].map(([a,l],c)=>({key:s._parse(new Q(r,a,r.path,[c,"key"])),value:o._parse(new Q(r,l,r.path,[c,"value"]))}));if(r.common.async){let a=new Map;return Promise.resolve().then(async()=>{for(let l of i){let c=await l.key,u=await l.value;if(c.status==="aborted"||u.status==="aborted")return v;(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 v;(c.status==="dirty"||u.status==="dirty")&&n.dirty(),a.set(c.value,u.value)}return{status:n.value,value:a}}}};at.create=(e,t,n)=>new at({valueType:t,keyType:e,typeName:T.ZodMap,...C(n)});var lt=class e extends O{_parse(t){let{status:n,ctx:r}=this._processInputParams(t);if(r.parsedType!==x.set)return b(r,{code:h.invalid_type,expected:x.set,received:r.parsedType}),v;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(b(r,{code:h.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&&(b(r,{code:h.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 v;u.status==="dirty"&&n.dirty(),c.add(u.value)}return{status:n.value,value:c}}let a=[...r.data.values()].map((l,c)=>o._parse(new Q(r,l,r.path,c)));return r.common.async?Promise.all(a).then(l=>i(l)):i(a)}min(t,n){return new e({...this._def,minSize:{value:t,message:E.toString(n)}})}max(t,n){return new e({...this._def,maxSize:{value:t,message:E.toString(n)}})}size(t,n){return this.min(t,n).max(t,n)}nonempty(t){return this.min(1,t)}};lt.create=(e,t)=>new lt({valueType:e,minSize:null,maxSize:null,typeName:T.ZodSet,...C(t)});var qt=class e extends O{constructor(){super(...arguments),this.validate=this.implement}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.function)return b(n,{code:h.invalid_type,expected:x.function,received:n.parsedType}),v;function r(a,l){return bt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nt(),me].filter(c=>!!c),issueData:{code:h.invalid_arguments,argumentsError:l}})}function s(a,l){return bt({data:a,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,nt(),me].filter(c=>!!c),issueData:{code:h.invalid_return_type,returnTypeError:l}})}let o={errorMap:n.common.contextualErrorMap},i=n.data;if(this._def.returns instanceof $e){let a=this;return Z(async function(...l){let c=new W([]),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 Z(function(...l){let c=a._def.args.safeParse(l,o);if(!c.success)throw new W([r(l,c.error)]);let u=Reflect.apply(i,this,c.data),f=a._def.returns.safeParse(u,o);if(!f.success)throw new W([s(u,f.error)]);return f.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...t){return new e({...this._def,args:le.create(t).rest(ge.create())})}returns(t){return new e({...this._def,returns:t})}implement(t){return this.parse(t)}strictImplement(t){return this.parse(t)}static create(t,n,r){return new e({args:t||le.create([]).rest(ge.create()),returns:n||ge.create(),typeName:T.ZodFunction,...C(r)})}},Be=class extends O{get schema(){return this._def.getter()}_parse(t){let{ctx:n}=this._processInputParams(t);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};Be.create=(e,t)=>new Be({getter:e,typeName:T.ZodLazy,...C(t)});var ze=class extends O{_parse(t){if(t.data!==this._def.value){let n=this._getOrReturnCtx(t);return b(n,{received:n.data,code:h.invalid_literal,expected:this._def.value}),v}return{status:"valid",value:t.data}}get value(){return this._def.value}};ze.create=(e,t)=>new ze({value:e,typeName:T.ZodLiteral,...C(t)});function uo(e,t){return new Ue({values:e,typeName:T.ZodEnum,...C(t)})}var Ue=class e extends O{_parse(t){if(typeof t.data!="string"){let n=this._getOrReturnCtx(t),r=this._def.values;return b(n,{expected:P.joinValues(r),received:n.parsedType,code:h.invalid_type}),v}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 b(n,{received:n.data,code:h.invalid_enum_value,options:r}),v}return Z(t.data)}get options(){return this._def.values}get enum(){let t={};for(let n of this._def.values)t[n]=n;return t}get Values(){let t={};for(let n of this._def.values)t[n]=n;return t}get Enum(){let t={};for(let n of this._def.values)t[n]=n;return t}extract(t,n=this._def){return e.create(t,{...this._def,...n})}exclude(t,n=this._def){return e.create(this.options.filter(r=>!t.includes(r)),{...this._def,...n})}};Ue.create=uo;var Ze=class extends O{_parse(t){let n=P.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(t);if(r.parsedType!==x.string&&r.parsedType!==x.number){let s=P.objectValues(n);return b(r,{expected:P.joinValues(s),received:r.parsedType,code:h.invalid_type}),v}if(this._cache||(this._cache=new Set(P.getValidEnumValues(this._def.values))),!this._cache.has(t.data)){let s=P.objectValues(n);return b(r,{received:r.data,code:h.invalid_enum_value,options:s}),v}return Z(t.data)}get enum(){return this._def.values}};Ze.create=(e,t)=>new Ze({values:e,typeName:T.ZodNativeEnum,...C(t)});var $e=class extends O{unwrap(){return this._def.type}_parse(t){let{ctx:n}=this._processInputParams(t);if(n.parsedType!==x.promise&&n.common.async===!1)return b(n,{code:h.invalid_type,expected:x.promise,received:n.parsedType}),v;let r=n.parsedType===x.promise?n.data:Promise.resolve(n.data);return Z(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};$e.create=(e,t)=>new $e({type:e,typeName:T.ZodPromise,...C(t)});var ee=class extends O{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===T.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(t){let{status:n,ctx:r}=this._processInputParams(t),s=this._def.effect||null,o={addIssue:i=>{b(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 v;let l=await this._def.schema._parseAsync({data:a,path:r.path,parent:r});return l.status==="aborted"?v:l.status==="dirty"?Oe(l.value):n.value==="dirty"?Oe(l.value):l});{if(n.value==="aborted")return v;let a=this._def.schema._parseSync({data:i,path:r.path,parent:r});return a.status==="aborted"?v:a.status==="dirty"?Oe(a.value):n.value==="dirty"?Oe(a.value):a}}if(s.type==="refinement"){let i=a=>{let l=s.refinement(a,o);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return a};if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return a.status==="aborted"?v:(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"?v:(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(!ve(i))return v;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=>ve(i)?Promise.resolve(s.transform(i.value,o)).then(a=>({status:n.value,value:a})):v);P.assertNever(s)}};ee.create=(e,t,n)=>new ee({schema:e,typeName:T.ZodEffects,effect:t,...C(n)});ee.createWithPreprocess=(e,t,n)=>new ee({schema:t,effect:{type:"preprocess",transform:e},typeName:T.ZodEffects,...C(n)});var X=class extends O{_parse(t){return this._getType(t)===x.undefined?Z(void 0):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};X.create=(e,t)=>new X({innerType:e,typeName:T.ZodOptional,...C(t)});var ce=class extends O{_parse(t){return this._getType(t)===x.null?Z(null):this._def.innerType._parse(t)}unwrap(){return this._def.innerType}};ce.create=(e,t)=>new ce({innerType:e,typeName:T.ZodNullable,...C(t)});var Ge=class extends O{_parse(t){let{ctx:n}=this._processInputParams(t),r=n.data;return n.parsedType===x.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Ge.create=(e,t)=>new Ge({innerType:e,typeName:T.ZodDefault,defaultValue:typeof t.default=="function"?t.default:()=>t.default,...C(t)});var Ke=class extends O{_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 rt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new W(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};Ke.create=(e,t)=>new Ke({innerType:e,typeName:T.ZodCatch,catchValue:typeof t.catch=="function"?t.catch:()=>t.catch,...C(t)});var ct=class extends O{_parse(t){if(this._getType(t)!==x.nan){let r=this._getOrReturnCtx(t);return b(r,{code:h.invalid_type,expected:x.nan,received:r.parsedType}),v}return{status:"valid",value:t.data}}};ct.create=e=>new ct({typeName:T.ZodNaN,...C(e)});var _u=Symbol("zod_brand"),_t=class extends O{_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}},xt=class e extends O{_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"?v:o.status==="dirty"?(n.dirty(),Oe(o.value)):this._def.out._parseAsync({data:o.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?v:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(t,n){return new e({in:t,out:n,typeName:T.ZodPipeline})}},Je=class extends O{_parse(t){let n=this._def.innerType._parse(t),r=s=>(ve(s)&&(s.value=Object.freeze(s.value)),s);return rt(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};Je.create=(e,t)=>new Je({innerType:e,typeName:T.ZodReadonly,...C(t)});function io(e,t){let n=typeof e=="function"?e(t):typeof e=="string"?{message:e}:e;return typeof n=="string"?{message:n}:n}function fo(e,t={},n){return e?Te.create().superRefine((r,s)=>{let o=e(r);if(o instanceof Promise)return o.then(i=>{if(!i){let a=io(t,r),l=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:l})}});if(!o){let i=io(t,r),a=i.fatal??n??!0;s.addIssue({code:"custom",...i,fatal:a})}}):Te.create()}var xu={object:V.lazycreate},T;(function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"})(T||(T={}));var wu=(e,t={message:`Input not instance of ${e.name}`})=>fo(n=>n instanceof e,t),po=Se.create,mo=Pe.create,Eu=ct.create,vu=Ne.create,ho=De.create,Su=Me.create,Tu=ot.create,$u=Le.create,Ru=Fe.create,Au=Te.create,Cu=ge.create,Iu=se.create,Ou=it.create,Pu=ye.create,Nu=V.create,Du=V.strictCreate,Mu=je.create,Lu=Wt.create,Fu=He.create,ju=le.create,Hu=Vt.create,Bu=at.create,zu=lt.create,Uu=qt.create,Zu=Be.create,Gu=ze.create,Ku=Ue.create,Ju=Ze.create,Wu=$e.create,Vu=ee.create,qu=X.create,Yu=ce.create,Xu=ee.createWithPreprocess,Qu=xt.create,ef=()=>po().optional(),tf=()=>mo().optional(),nf=()=>ho().optional(),rf={string:(e=>Se.create({...e,coerce:!0})),number:(e=>Pe.create({...e,coerce:!0})),boolean:(e=>De.create({...e,coerce:!0})),bigint:(e=>Ne.create({...e,coerce:!0})),date:(e=>Me.create({...e,coerce:!0}))};var sf=v;var Re=y.object({slug:y.string().min(1).max(64),description:y.string().max(255).optional(),match_command:y.string().min(1),priority:y.number().int().default(50),strip_ansi:y.boolean().default(!1),strip_lines_matching:y.array(y.string()).default([]),drop_lines_matching:y.array(y.string()).default([]),keep_failures:y.boolean().default(!1),strip_on_failure:y.boolean().default(!1),fold_passing:y.boolean().default(!1),fold_passing_threshold:y.number().int().positive().max(1e3).optional(),mask_abs_paths:y.boolean().default(!1),preserve_exact:y.boolean().default(!1),truncate_lines_at:y.number().int().positive().max(1e4).optional(),max_lines:y.number().int().positive().max(1e5).optional(),scale_with_level:y.boolean().default(!0),transform:y.string().max(64).optional(),transform_on_failure:y.boolean().default(!1),on_empty:y.string().max(255).optional()});var Ef=xf(wf(import.meta.url)),vf=process.env.TOKMIZER_FILTERS_DIR||$o(Ef,"..","..","filters"),ut=null,To=!1;function Sf(){return!1}async function Ro(){return ut||(Sf()?(ut=await Tf(vf),ut):(!To&&process.env.TOKMIZER_DEBUG==="1"&&(process.stderr.write(`tokmizer: disk loader disabled (set TOKMIZER_DEV=1 to re-enable for local dev).
18
+ `),To=!0),ut=new Map,ut))}async function Tf(e){let t=new Map,n,r;try{n=(await Promise.resolve().then(()=>(or(),sr))).parse,r=(await bf(e)).filter(s=>s.endsWith(".toml"))}catch{return t}for(let s of r){let o=await _f($o(e,s),"utf8"),a=n(o).filters;if(a)for(let[l,c]of Object.entries(a)){let u=Re.parse({slug:l,...c});t.set(l,{...u,matchRegex:new RegExp(u.match_command)})}}return t}import{createHash as $f}from"node:crypto";var Rf=y.enum(["normal","compact","minimal"]),Af=y.enum(["off","light","balanced","max"]),St=y.object({enabled:y.boolean().default(!0),telemetryOptIn:y.boolean().default(!0),outputVerbosity:Rf.default("compact"),reducer:Af.default("off"),filters:y.object({enableAll:y.boolean().default(!0),disabled:y.array(y.string().max(64)).max(100).default([])}).default({enableAll:!0,disabled:[]})}),Ao=new Map;function te(e){let t=Ao.get(e);return t||(t=$f("sha256").update(`tkr:${e}`).digest("hex").slice(0,16),Ao.set(e,t)),t}var Co=new WeakMap,Cf=256;function ft(e,t,n,r=t){let s=Co.get(r);s||(s=new Map,Co.set(r,s));let o=JSON.stringify([e,n?[...n].sort():null]),i=s.get(o);if(i!==void 0)return i;let a=null;for(let l of t)n&&!n.has(te(l.slug))||l.matchRegex.test(e)&&(!a||l.priority>a.priority)&&(a=l);if(s.size>=Cf){let l=s.keys().next().value;l&&s.delete(l)}return s.set(o,a),a}import{readdir as pp,readFile as yi,writeFile as nx,mkdir as rx,rename as sx}from"node:fs/promises";import{readdirSync as mp,statSync as mi}from"node:fs";import{createHash as hp}from"node:crypto";import{basename as lx,join as an}from"node:path";var If=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,Of=/\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function ue(e){return e.replace(If,"").replace(Of,"")}function ir(e,t){return t.length===0?e:e.filter(n=>!t.some(r=>r.test(n)))}function Io(e){let t=e.trim();if(t.length>4096||!(t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")))return!1;try{return JSON.parse(t),!0}catch{return!1}}function Oo(e,t){return e.some(n=>n.length>t)&&Io(e.join(`
19
+ `))?e:e.map(n=>{if(n.length<=t||Io(n))return n;let r=n.charCodeAt(t-1),s=n.charCodeAt(t),o=r>=55296&&r<=56319&&s>=56320&&s<=57343?t-1:t;return`${n.slice(0,o)}\u2026`})}function dt(e){return`\u2026 (${e} more lines omitted)`}var Pf=/\b(?:ERROR|FATAL|CRITICAL|PANIC)\b|\bpanic:|\bTraceback \(most recent|\b[A-Z][A-Za-z0-9]*(?:Error|Exception)\b|\berror(?:\[[A-Za-z0-9]+\])?:/,Nf=20,Df=4096;function Po(e,t){if(e.length<=t)return{kept:e,dropped:[]};let n=Math.ceil(t*.7),r=t-n,s=e.slice(n,e.length-r),o=s.filter(a=>a.length<=Df&&Pf.test(a)).slice(0,Nf),i=s.length-o.length;return{kept:[...e.slice(0,n),...i>0?[dt(i)]:[],...o,...e.slice(e.length-r)],dropped:s}}var Mf=/^\s*(?:[✓✔√]|ok )/,ne=/✕|✗|×|\bFAIL\b|\bERROR\b|\bFATAL\b|\bError|\berror|Expected|Received|\bfailed\b|^\s*Tests?:|^\s*Test Suites?:/;function No(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)Mf.test(a)&&!ne.test(a)?(i.push(a),s+=1):(o(i),i=[],s=0,r.push(a));return o(i),r}var Lf=/(?:\/[\w.@+-]+){3,}/g;function Do(e){return e.map(t=>t.replace(Lf,n=>{let r=n.split("/").filter(Boolean);return r.length<=2?n:`\u2026/${r.slice(-2).join("/")}`}))}var Ff=/^(\s*)(?:export\s+)?(?:async\s+)?(?:function|interface|type|const|let|var|def|fn|impl|trait|struct|enum)\s+[\w$]+/,jf=/\{\s*$/;var Hf=/^\s*(?:(?:public|private|protected|static|async|get|set|readonly|override)\s+)*([\w$]+)\s*\(([^)]*)\)\s*(?::\s*[^{]+)?\{\s*$/,Bf=new Set(["if","for","while","switch","catch","do","with","return","else","function","await","yield"]);function zf(e){let t=Hf.exec(e);return!t||Bf.has(t[1])?!1:!/=>|\bfunction\b/.test(t[2])}var Uf=/^\s*(?:if|for|while|switch|try|do)\b[^{}]*\{\s*$/;function Zf(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 Gf(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==="&"))&&Zf(e,s+1,o)&&(r=o),s+=1;continue}o==="{"||o==="("||o==="["?n+=1:(o==="}"||o===")"||o==="]")&&(n-=1),s+=1}return n}var Mo=/^\s*… \d+ lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/,Kf=/^\s*… (\d+) lines? folded(?: \(\d+-\d+\): Read offset=\d+ limit=\d+ before editing)? …$/;function Jf(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 ar(e){let t=new Array(e.length).fill(!1);for(let n=0;n<e.length;n+=1){let r=Kf.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 Tt(e,t=3,n=!1){let r=[],s=0;for(;s<e.length;){let o=e[s];if(Ff.test(o)&&jf.test(o)||zf(o)||Uf.test(o)){let i={inBlockComment:!1,inTemplate:!1},a=0,l=s,c=!1;for(;l<e.length&&l-s<200;)if(a+=Gf(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(Jf(d,f,n?s+2:null));for(let m=0;m<f-1;m++)r.push("");r.push(e[l-1]),s=l;continue}}r.push(o),s+=1}return r}var Wf=/\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 en(e){let t=e.slice(0,4096);return!(!Wf.test(t)||t.split(`
20
+ `).length<6)}var Ho=/^\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*/,Bo=/^\s*(?:\[(?:DEBUG|TRACE|INFO|VERBOSE)\]|(?:DEBUG|TRACE|INFO|VERBOSE)(?!\s*:))(?=\s|:|$)(?!\s*[+\-*\/%&|^?]*=)/,zo=new RegExp(ne.source,"i"),Uo=/\bWARN(?:ING)?\b/i;function Zo(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(Bo.test(s.replace(Ho,""))&&!zo.test(s)&&!Uo.test(s)){n+=1;continue}r(),t.push(s)}return r(),t}var Vf=/^(?:DEBUG|INFO):[\w.-]+:/,qf=/Error|Exception|Traceback|panic|fail|FAIL|Fail|SEVERE|CRITICAL/,Yf=8,Lo=1,Fo=2,Xf=/^(\s*)(?:Downloaded|Downloading|Compiling|Fetching|Fetched|Installing|Installed|Collecting|Using cached|Requirement already satisfied:|Unpacking|Preparing|Pulling fs layer|Pull complete|Already exists|Download complete|Verifying Checksum|Waiting|Extracting|Get:\d+|Hit:\d+|Ign:\d+|Setting up|Selecting previously unselected package|Progress: resolved|cargo:rustc-[a-z-]+=)/,Qf=/^[0-9a-f]{12}: (?:Pulling fs layer|Waiting|Downloading|Verifying Checksum|Download complete|Extracting|Pull complete|Already exists)\b/,ed=/^\s*[-+~]\s+[├└│ ─]*\S+:\S+\s+\S+\s+(?:created|updated|deleted|replaced|refreshed|read|same)\s\(\d+s\)\s*$/;function jo(e){if(e.trim()===""||zo.test(e)||Uo.test(e)||qf.test(e))return null;let t=Xf.exec(e);if(t)return`\0progress${t[1]}`;if(Qf.test(e))return"\0layer";if(ed.test(e))return"\0resource-done";if(/^\s/.test(e))return null;let n=e.replace(Ho,"");return Bo.test(n)||Vf.test(n)?"\0verbose":e.replace(/\d+/g,"#")}function Go(e){let t=[],n=0;for(;n<e.length;){let r=jo(e[n]),s=n+1;if(r!==null)for(;s<e.length&&jo(e[s])===r;)s+=1;let o=s-n;r===null||o<Yf?t.push(...e.slice(n,s)):(t.push(...e.slice(n,n+Lo)),t.push(`\u2026 ${o-Lo-Fo} similar log lines dropped \u2026`),t.push(...e.slice(s-Fo,s))),n=s}return t}var td=/^@@ -\d+(?:,\d+)? \+\d+(?:,\d+)? @@/;function Ko(e){return e.some(t=>td.test(t))}function tn(e){if(e.length===0||Ko(e))return e;let t=[],n=1,r=e[0];for(let s=1;s<e.length;s++){if(e[s]===r){n+=1;continue}t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),r=e[s],n=1}return t.push(n>1&&r.trim()?`${r} \xD7${n}`:r),t}function Jo(e){if(Ko(e))return e;let t=[],n=0;for(let r of e){if(r.trim()===""){n+=1;continue}n>0&&t.push(""),n=0,t.push(r)}return t}var Wo=new Map;function L(e,t){Wo.set(e,t)}function Vo(e){return Wo.get(e)}var Xo=/^[dbclps\-][rwxsStT\-]{9}[@.+]?(?:\s|$)/,Qo=/^[./~][^\s]*:$/,nd=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})?`,rd=new RegExp(String.raw`^(\S+)\s+\d+\s+(\S+(?:\s+\S+)??)\s+(\d+(?:[.,]\d+)?[KMGTPkmgtp]?i?B?)\s+(?:${nd})\s+(.+)$`),sd={k:1,m:2,g:3,t:4,p:5},lr=1e3;function od(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 id(e){let t=/^(\d+(?:[.,]\d+)?)([KMGTPkmgtp])?/.exec(e),n=t[2]?sd[t[2].toLowerCase()]:0;return Number(t[1].replace(",","."))*1024**n}function ad(e){let t=rd.exec(e);if(!t)return null;let n=t[4].trim();if(n===""||n==="."||n==="..")return null;let r=t[3],s=/^\d+$/.test(r)?od(Number(r)):r,o=e.charCodeAt(0)===100;return{name:n,size:s,sizeKey:id(r),isDir:o,mode:t[1],owner:t[2].replace(/\s+/g," ")}}function ld(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}var cd=12,ud=3,fd=180;function qo(e,t){let n=[],r=e;for(let s of t)r.length+1+s.length>fd&&r!==e&&r!==" "&&(n.push(r),r=" "),r+=r===" "?s:` ${s}`;return n.push(r),n}function dd(e){let t=e.endsWith("/")?"":e,n=t.indexOf(".",1);return n>0?t.slice(n):""}function pd(e){let t=e.filter(l=>l.trim()!=="");if(t.length<cd)return null;let n=e.findIndex(l=>l.trim()!==""),r=e.length-1-[...e].reverse().findIndex(l=>l.trim()!=="");if(e.slice(n,r+1).some(l=>l.trim()==="")||t.some(l=>l.endsWith(":")||Qo.test(l.trim())||Xo.test(l)||/^total\s+\d+/.test(l)||l!==l.trimEnd()||l.startsWith(" "))||t.filter(l=>/\s/.test(l)).length>t.length*.2)return null;let s=l=>/\s|"/.test(l)?JSON.stringify(l):l,o=new Map;for(let l of t){let c=dd(l),u=o.get(c)??[];u.push(l),o.set(c,u)}let i=[`${t.length} entries:`],a=[];for(let[l,c]of[...o.entries()].sort((u,f)=>f[1].length-u[1].length||u[0].localeCompare(f[0])))l&&c.length>=ud&&c.every(u=>!/\s|"/.test(u))?i.push(...qo(`*${l} (${c.length}):`,c.map(u=>u.slice(0,-l.length)))):a.push(...c);return a.length&&i.push(...qo(`other (${a.length}):`,a.map(s))),i.join(`
21
21
  `).length<t.join(`
22
- `).length?i:null}function ud(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function Yo(e){let t=new Map;for(let s of e)t.set(s.mode,(t.get(s.mode)??0)+1);let n=null,r=0;for(let[s,o]of t)o>r&&([n,r]=[s,o]);return r>=2?n:null}function cr(e,t){if(ud(t))return e;let n=cd(e);if(n)return n;let r=[],s=[],o=!1;for(let p of e){if(p.trim()===""||/^total\s+\d+/.test(p))continue;if(Qo.test(p.trim())||!Xo.test(p))return e;let _=rd(p);if(!_){if(/\s\.\.?$/.test(p))continue;return e}o=!0,(_.isDir?r:s).push(_)}if(!o)return e;let i=(p,_)=>p.name.localeCompare(_.name);r.sort(i),s.sort((p,_)=>_.sizeKey-p.sizeKey||i(p,_));let a=[...r,...s],l=a.every(p=>p.owner===a[0].owner)?a[0].owner:null,c=Yo(r),u=Yo(s),f=[];for(let p of a){let _=p.isDir?c:u,$=`${p.mode===_?"":`${p.mode} `}${l===null?`${p.owner} `:""}${p.isDir?`${p.name}/`:p.name}`;f.push(p.isDir?$:`${$} ${p.size}`)}if(f.length>lr){let p=f.length-lr;f=[...f.slice(0,lr),`\u2026 ${p} more lines omitted`]}let d=s.length===1?"file":"files",m=r.length===1?"dir":"dirs",k=sd(s),g=`${s.length} ${d}, ${r.length} ${m}`+(k?` (${k})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`)+(c||u?`, mode ${[c&&`dirs ${c}`,u&&`files ${u}`].filter(Boolean).join(", ")} unless shown`:"");return f.push(g),f}L("smart-ls",cr);L("smart-read",e=>St(e));var ei=1e3;function fd(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 dd(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 pd(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):d===0?"/":"",k=d>=0?f.slice(d+1):f;if(!k)continue;let g=r.get(m)??[];g.push(/\s/.test(k)?`"${k}"`:k),r.set(m,g),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")&&!i.includes("/")?fd(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=c==="/"?"/":a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=dd(f),m=d?f.map(k=>k.slice(0,-d.length)):f;l.push(`${u==="/"?"/":u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>ei){let c=Math.max(0,ei-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}L("smart-find",pd);var md=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;function hd(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=md.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}L("smart-wc",hd);var ti=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,gd=/^\d+% tests passed, \d+ tests? failed out of \d+$/,yd=new RegExp(`${ne.source}|\\*\\*\\*|Exception|FAIL|ERROR`),ur=3,fr=8;function kd(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function bd(e){if(e.length<=ur+fr+1)return e;let t=e.slice(ur,-fr),n=t.filter(s=>yd.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,ur),...n,`\u2026 ${r} more lines omitted`,...e.slice(-fr)]}function _d(e){if(!e.some(s=>ti.test(s)))return e;let t=[],n=[],r=()=>{t.push(...bd(kd(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(gd.test(o))return r(),t.push(...e.slice(s)),t;if(ti.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}L("smart-ctest",_d);function xd(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function wd(e){let t=e.join(`
23
- `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=xd(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let c of l){let u=typeof c.line=="number"?`:${c.line}`:":?",f=typeof c.tip=="string"&&c.tip?` \u2014 ${c.tip}`:"";i.push(` ${u} ${String(c.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}L("smart-phpstan",wd);var Ed=/^\d+ \| /,dr=/^\s+\^\s*$/,vd=new RegExp(`${ne.source}|\\*\\*\\*|Exception|FAIL|ERROR`);function Sd(e){if(!e.some(n=>dr.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];dr.test(r)||Ed.test(r)&&!dr.test(e[n+1]??"")&&!vd.test(r)||t.push(r)}return t}L("bun-frames",Sd);var Td=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,$d=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,Rd=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,Ad=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,Cd=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;function Id(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>Rd.test(n))}function Od(e){let t=e.some(r=>Ad.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(Td.test(s)){let o=r+1;for($d.test(e[o]??"")&&(o+=1);Id(e[o]??"");)o+=1;r=o-1;continue}t&&Cd.test(s)||n.push(s)}return n}L("curl-progress",Od);var pr=1e3,ni=200,Pd=60,Nd=190,oi=/^([^\s:]+):(\d+):(.*)$/,ii=/^([^:]+?)-(\d+)-(.*)$/,ai=/^([^\s:]+):(.*)$/,ri=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function si(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>ni?`${n.slice(0,ni)}\u2026`:n}function Dd(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Nd&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Md(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 li(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function Ld(e,t,n){return/^\d+$/.test(e)?!1:li(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function Fd(e){let t=0,n=0;for(let r of e){let s=(oi.exec(r)??ii.exec(r)??ai.exec(r))?.[1];s&&(n+=1,li(s)&&(t+=1))}return t>=2&&t*2>n}function ci(e,t={}){let n=e.filter(p=>p.trim()!=="");if(n.length===0)return e;let r=Fd(n),s=new Map,o=new Map,i=null,a=0,l=0,c=null;for(let p of n){if(p==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let _=oi.exec(p),w=ii.exec(p);if(_&&w)return e;let $=_||w?null:ai.exec(p),I=(_??w??$)?.[1];if(!I||!Ld(I,!!_,r))return e;let N=_?{line:_[2],content:_[3],context:!1}:w?{line:w[2],content:w[3],context:!0}:{line:"",content:$[2],context:!1},D=s.get(I)??[];D.push(N),s.set(I,D);let M=N.line?Number(N.line):NaN,H=t.astGrep&&I===i&&c!==null&&M===c+1;(t.astGrep?!H:!N.context)&&(a+=1,o.set(I,(o.get(I)??0)+1)),c=t.astGrep&&Number.isFinite(M)?M:null,l+=1,i=I}if(s.size===l)return e;let u=[...s.keys()].sort((p,_)=>{let w=ri.test(p)?1:0,$=ri.test(_)?1:0;return w-$||(p<_?-1:p>_?1:0)}),f=u.length>1?Md(u):"",d=p=>f?p.slice(f.length+1):p,m=[];for(let p of u){m.push(`${d(p)} (${o.get(p)??0}):`);for(let _ of s.get(p))"separator"in _?m.push(" --"):_.line?m.push(` ${_.line}${_.context?"-":":"} ${si(_.content,t.astGrep)}`):m.push(` ${si(_.content,t.astGrep)}`)}let k=u.length>1&&m.length>Pd?Dd(u.map(p=>`${d(p)} (${o.get(p)??0})`)):[],g=[`${a}m ${u.length}f${f?` in ${f}/`:""}:`,...k,"",...m];if(g.length>pr){let p=g.length-pr;return[...g.slice(0,pr),`\u2026 ${p} more lines omitted`]}return g}L("smart-grep",ci);L("smart-grep-ast",e=>ci(e,{astGrep:!0}));var ui=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,jd=/^[|\\/* ._-]*$/,Hd=/^ {4}/,Bd=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,zd=2,Ud=1,fi=/^commit ([0-9a-f]{40})(\s.*)?$/,Zd=/^Author:\s+(.+)$/,Gd=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,Kd=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Jd=12,Wd=5;function Vd(e){let t=[];for(let l=0;l<e.length;l+=1){let c=fi.exec(e[l]);if(!c)continue;let u=l+1,f=null;e[u]?.startsWith("Merge: ")&&(f=e[u].slice(7),u+=1);let d=Zd.exec(e[u]??""),m=Gd.exec(e[u+1]??"");if(!d||!m)return null;let k=Kd.indexOf(m[1])+1;if(k===0)return null;t.push({at:l,hash:c[1].slice(0,Jd),refs:c[2]??"",merge:f,author:d[1],date:`${m[4]}-${String(k).padStart(2,"0")}-${m[2].padStart(2,"0")} ${m[3]}`,zone:m[5],end:u+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=Wd&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,c)=>`[${c+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let c=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${c}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function qd(e){if(!e.some(r=>ui.test(r)))return e;let t=e.some(r=>fi.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=Yd(e,t?Ud:zd);return Vd(n)??n}function Yd(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,c=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let u of e){let f=u.slice(0,o),d=jd.test(f),m=d?u.slice(o):u,k=Hd.test(m),g=a&&k?null:ui.exec(u);if(g){c(),r=0,o=g[1]?.length??0,a=!0,l=!1,n.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(m)&&(l=!0),k&&!l&&!(o>0&&m.trim().length===0)){if(Bd.test(m)){n.push(u);continue}r+=1,r<=t?n.push(u):(s+=1,i=d?f:"");continue}c(),n.push(u)}return c(),n}L("smart-log",qd);var Xd=/^[\s=]+$/,Qd=/^\s*=+\s+(.*?)\s+=+\s*$/,ep=512;L("strip-banners",e=>{let t=[];for(let n of e){if(Xd.test(n))continue;let r=n.length<=ep?Qd.exec(n):null;t.push(r?r[1]:n)}return t});function tp(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].trimEnd();if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].trimEnd()===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}L("squeeze-output",tp);function np(e){return e==="compact"?.6:e==="minimal"?.3:1}var rp=20;function sp(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}var di=new WeakMap;function op(e){let t=di.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return di.set(e,s),s}var ip=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),ap=new Set(["grep","ast-grep"]);function mr(e){return!!e&&ip.test(e)}function hr(e,t,n){if(e==="smart-ls")return cr(t,n);let r=Vo(e);return r?r(t):t}function nn(e,t,n={}){return gr(e,t,n).text}function gr(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_lines_matching??[]).length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=op(t),o=!t.preserve_exact&&e.includes(`\r
22
+ `).length?i:null}function md(e){if(!e)return!1;let t=/(?:^|[\s;&|(])ls(?=\s|$)([^|;&]*)/.exec(e);if(!t)return!1;for(let n of t[1].trim().split(/\s+/)){if(n==="--")break;if(/^--(?:sort|reverse|time)(?:=|$)/.test(n)||/^-[A-Za-z0-9]+$/.test(n)&&/[tSUfrvX]/.test(n))return!0}return!1}function Yo(e){let t=new Map;for(let s of e)t.set(s.mode,(t.get(s.mode)??0)+1);let n=null,r=0;for(let[s,o]of t)o>r&&([n,r]=[s,o]);return r>=2?n:null}function cr(e,t){if(md(t))return e;let n=pd(e);if(n)return n;let r=[],s=[],o=!1;for(let p of e){if(p.trim()===""||/^total\s+\d+/.test(p))continue;if(Qo.test(p.trim())||!Xo.test(p))return e;let _=ad(p);if(!_){if(/\s\.\.?$/.test(p))continue;return e}o=!0,(_.isDir?r:s).push(_)}if(!o)return e;let i=(p,_)=>p.name.localeCompare(_.name);r.sort(i),s.sort((p,_)=>_.sizeKey-p.sizeKey||i(p,_));let a=[...r,...s],l=a.every(p=>p.owner===a[0].owner)?a[0].owner:null,c=Yo(r),u=Yo(s),f=[];for(let p of a){let _=p.isDir?c:u,$=`${p.mode===_?"":`${p.mode} `}${l===null?`${p.owner} `:""}${p.isDir?`${p.name}/`:p.name}`;f.push(p.isDir?$:`${$} ${p.size}`)}if(f.length>lr){let p=f.length-lr;f=[...f.slice(0,lr),`\u2026 ${p} more lines omitted`]}let d=s.length===1?"file":"files",m=r.length===1?"dir":"dirs",k=ld(s),g=`${s.length} ${d}, ${r.length} ${m}`+(k?` (${k})`:"")+(l===null?"":`, owner ${l.replace(" ",":")}`)+(c||u?`, mode ${[c&&`dirs ${c}`,u&&`files ${u}`].filter(Boolean).join(", ")} unless shown`:"");return f.push(g),f}L("smart-ls",cr);L("smart-read",e=>Tt(e));var ei=1e3;function hd(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 gd(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 yd(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):d===0?"/":"",k=d>=0?f.slice(d+1):f;if(!k)continue;let g=r.get(m)??[];g.push(/\s/.test(k)?`"${k}"`:k),r.set(m,g),o+=1}if(o===0)return e;let i=[...r.keys()].sort(),a=i.every(c=>c!=="")&&!i.includes("/")?hd(i):"",l=[`${o}F ${i.length}D${a?` in ${a}/`:""}:`];for(let c of i){let u=c==="/"?"/":a?c.slice(a.length).replace(/^\//,""):c,f=r.get(c),d=gd(f),m=d?f.map(k=>k.slice(0,-d.length)):f;l.push(`${u==="/"?"/":u?`${u}/`:"./"} (${f.length}${d?`, *${d}`:""}): ${m.join(" ")}`)}if(l.length+s.length>ei){let c=Math.max(0,ei-s.length),u=l.length-c;return[...l.slice(0,c),`\u2026 ${u} more lines omitted`,...s]}return[...l,...s]}L("smart-find",yd);var kd=/^\s*(\d+(?:\s+\d+){0,3})\s+(\S.*)$/;function bd(e){let t=[];for(let i of e){if(i.trim()==="")continue;let a=kd.exec(i);if(!a)return e;t.push({counts:a[1].replace(/\s+/g," "),path:a[2]})}let n=t.filter(i=>i.path!=="total");if(n.length<2)return t.length?t.map(i=>`${i.counts} ${i.path}`):e;let r=n.map(i=>i.path.includes("/")?i.path.slice(0,i.path.lastIndexOf("/")+1):""),s=r[0];for(let i of r)for(;s&&!i.startsWith(s);)s=s.slice(0,s.slice(0,-1).lastIndexOf("/")+1);let o=s?[`in ${s}:`]:[];for(let i of t)o.push(`${i.counts} ${i.path!=="total"&&s?i.path.slice(s.length):i.path}`);return o}L("smart-wc",bd);var ti=/^\s*\d+\/\d+ Test\s+#\s*\d+: \S+ \.{2,}/,_d=/^\d+% tests passed, \d+ tests? failed out of \d+$/,xd=new RegExp(`${ne.source}|\\*\\*\\*|Exception|FAIL|ERROR`),ur=3,fr=8;function wd(e){let t=[];for(let n=0;n<e.length;n+=1){let r=1;for(;n+r<e.length&&e[n+r]===e[n];)r+=1;t.push(r>1?`${e[n]} \xD7${r}`:e[n]),n+=r-1}return t}function Ed(e){if(e.length<=ur+fr+1)return e;let t=e.slice(ur,-fr),n=t.filter(s=>xd.test(s)),r=t.length-n.length;return r===0?e:[...e.slice(0,ur),...n,`\u2026 ${r} more lines omitted`,...e.slice(-fr)]}function vd(e){if(!e.some(s=>ti.test(s)))return e;let t=[],n=[],r=()=>{t.push(...Ed(wd(n))),n=[]};for(let s=0;s<e.length;s+=1){let o=e[s];if(_d.test(o))return r(),t.push(...e.slice(s)),t;if(ti.test(o)){r(),t.push(o);continue}n.push(o)}return r(),t}L("smart-ctest",vd);function Sd(e){if(e.length<2)return"";let t=e[0].slice(0,e[0].lastIndexOf("/")+1);for(let n of e)for(;t&&!n.startsWith(t);)t=t.slice(0,t.slice(0,-1).lastIndexOf("/")+1);return t}function Td(e){let t=e.join(`
23
+ `).trim();if(!t.startsWith("{"))return e;let n;try{n=JSON.parse(t)}catch{return e}if(!n||typeof n!="object"||!n.files||typeof n.files!="object")return e;let r=Object.keys(n.files),s=Sd(r),o=r.reduce((a,l)=>a+(n.files[l].messages?.length??0),0),i=[`phpstan: ${o} error${o===1?"":"s"} in ${r.length} file${r.length===1?"":"s"}${s?` under ${s}`:""}`];for(let a of r){let l=n.files[a].messages??[];i.push(`${a.slice(s.length)} (${l.length})`);for(let c of l){let u=typeof c.line=="number"?`:${c.line}`:":?",f=typeof c.tip=="string"&&c.tip?` \u2014 ${c.tip}`:"";i.push(` ${u} ${String(c.message??"")}${f}`)}}for(let a of Array.isArray(n.errors)?n.errors:[])i.push(`error: ${String(a)}`);return i}L("smart-phpstan",Td);var $d=/^\d+ \| /,dr=/^\s+\^\s*$/,Rd=new RegExp(`${ne.source}|\\*\\*\\*|Exception|FAIL|ERROR`);function Ad(e){if(!e.some(n=>dr.test(n)))return e;let t=[];for(let n=0;n<e.length;n+=1){let r=e[n];dr.test(r)||$d.test(r)&&!dr.test(e[n+1]??"")&&!Rd.test(r)||t.push(r)}return t}L("bun-frames",Ad);var Cd=/^\s*% Total\s+% Received\s+% Xferd\s+Average Speed/,Id=/^\s+Dload\s+Upload\s+Total\s+Spent\s+Left\s+Speed/,Od=/^\s*\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+\d+\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[\d.]+[kMGTP]?\s+[-\d:]+\s+[-\d:]+\s+[-\d:]+\s+[\d.]+[kMGTP]?\s*$/,Pd=/^\* (?:Trying |Connected to |Host .* was resolved|Connection #\d+|IPv[46]:|Uses proxy)|^> [A-Z]+ \S+ HTTP\/[\d.]+\s*$|^< HTTP\/[\d.]+ \d{3}/,Nd=/^(?:\* |[<>] (?:[A-Za-z][\w-]*: .*|[A-Z]+ \S+ HTTP\/[\d.]+|HTTP\/[\d.]+ .*)$|[<>]\s?$|[{}] \[\d+ bytes data\])/;function Dd(e){let t=e.split("\r").filter(n=>n.trim()!=="");return t.length>0&&t.every(n=>Od.test(n))}function Md(e){let t=e.some(r=>Pd.test(r)),n=[];for(let r=0;r<e.length;r+=1){let s=e[r];if(Cd.test(s)){let o=r+1;for(Id.test(e[o]??"")&&(o+=1);Dd(e[o]??"");)o+=1;r=o-1;continue}t&&Nd.test(s)||n.push(s)}return n}L("curl-progress",Md);var pr=1e3,ni=200,Ld=60,Fd=190,oi=/^([^\s:]+):(\d+):(.*)$/,ii=/^([^:]+?)-(\d+)-(.*)$/,ai=/^([^\s:]+):(.*)$/,ri=/(?:^|\/)(?:__tests__|tests?|spec|fixtures?|__mocks__|__snapshots__)\/|\.(?:test|spec)\.[^/]+$/i;function si(e,t=!1){let n=t?e.trimEnd():e.trim();return n.length>ni?`${n.slice(0,ni)}\u2026`:n}function jd(e){let t=[],n="";for(let r of e){let s=n?`${n}, ${r}`:r;s.length>=Fd&&n?(t.push(`${n},`),n=r):n=s}return n&&t.push(n),t}function Hd(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 li(e){return e.includes("/")||e.includes("\\")||/\.[A-Za-z][\w-]*$/.test(e)}function Bd(e,t,n){return/^\d+$/.test(e)?!1:li(e)?!0:(t||n)&&/^[\w.-]+$/.test(e)}function zd(e){let t=0,n=0;for(let r of e){let s=(oi.exec(r)??ii.exec(r)??ai.exec(r))?.[1];s&&(n+=1,li(s)&&(t+=1))}return t>=2&&t*2>n}function ci(e,t={}){let n=e.filter(p=>p.trim()!=="");if(n.length===0)return e;let r=zd(n),s=new Map,o=new Map,i=null,a=0,l=0,c=null;for(let p of n){if(p==="--"){i&&s.get(i).push({separator:!0});continue}if(/^[A-Za-z]:[\\/]/.test(p))return e;let _=oi.exec(p),w=ii.exec(p);if(_&&w)return e;let $=_||w?null:ai.exec(p),I=(_??w??$)?.[1];if(!I||!Bd(I,!!_,r))return e;let N=_?{line:_[2],content:_[3],context:!1}:w?{line:w[2],content:w[3],context:!0}:{line:"",content:$[2],context:!1},M=s.get(I)??[];M.push(N),s.set(I,M);let D=N.line?Number(N.line):NaN,j=t.astGrep&&I===i&&c!==null&&D===c+1;(t.astGrep?!j:!N.context)&&(a+=1,o.set(I,(o.get(I)??0)+1)),c=t.astGrep&&Number.isFinite(D)?D:null,l+=1,i=I}if(s.size===l)return e;let u=[...s.keys()].sort((p,_)=>{let w=ri.test(p)?1:0,$=ri.test(_)?1:0;return w-$||(p<_?-1:p>_?1:0)}),f=u.length>1?Hd(u):"",d=p=>f?p.slice(f.length+1):p,m=[];for(let p of u){m.push(`${d(p)} (${o.get(p)??0}):`);for(let _ of s.get(p))"separator"in _?m.push(" --"):_.line?m.push(` ${_.line}${_.context?"-":":"} ${si(_.content,t.astGrep)}`):m.push(` ${si(_.content,t.astGrep)}`)}let k=u.length>1&&m.length>Ld?jd(u.map(p=>`${d(p)} (${o.get(p)??0})`)):[],g=[`${a}m ${u.length}f${f?` in ${f}/`:""}:`,...k,"",...m];if(g.length>pr){let p=g.length-pr;return[...g.slice(0,pr),`\u2026 ${p} more lines omitted`]}return g}L("smart-grep",ci);L("smart-grep-ast",e=>ci(e,{astGrep:!0}));var ui=/^(?:([|\\/ ._-]*\*[|\\/* ._-]* ))?commit [0-9a-f]{7,40}\b/,Ud=/^[|\\/* ._-]*$/,Zd=/^ {4}/,Gd=/^ {4}(?:Co-[Aa]uthored-[Bb]y|Signed-off-by|Reviewed-by|Acked-by|Tested-by|Reported-by|Fixes|Closes):/,Kd=2,Jd=1,fi=/^commit ([0-9a-f]{40})(\s.*)?$/,Wd=/^Author:\s+(.+)$/,Vd=/^Date:\s+(?:[A-Z][a-z]{2} )?([A-Z][a-z]{2}) +(\d{1,2}) (\d{2}:\d{2}):\d{2} (\d{4}) ([+-]\d{4})$/,qd=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Yd=12,Xd=5;function Qd(e){let t=[];for(let l=0;l<e.length;l+=1){let c=fi.exec(e[l]);if(!c)continue;let u=l+1,f=null;e[u]?.startsWith("Merge: ")&&(f=e[u].slice(7),u+=1);let d=Wd.exec(e[u]??""),m=Vd.exec(e[u+1]??"");if(!d||!m)return null;let k=qd.indexOf(m[1])+1;if(k===0)return null;t.push({at:l,hash:c[1].slice(0,Yd),refs:c[2]??"",merge:f,author:d[1],date:`${m[4]}-${String(k).padStart(2,"0")}-${m[2].padStart(2,"0")} ${m[3]}`,zone:m[5],end:u+2})}if(t.length===0)return null;let n=[...new Set(t.map(l=>l.author))],r=n.length===1&&t.length>1?n[0]:null,s=n.length>1&&n.length<=Xd&&t.length>n.length,o=t.length>1&&t.every(l=>l.zone===t[0].zone)?t[0].zone:null,i=r?[`author: ${r}`]:s?[`authors: ${n.map((l,c)=>`[${c+1}] ${l}`).join("; ")}`]:[];o&&i.push(`dates: UTC${o}`);let a=0;for(let l of t){i.push(...e.slice(a,l.at));let c=r?"":s?` [${n.indexOf(l.author)+1}]`:` ${l.author}`;i.push(`${l.hash} ${l.date}${o?"":` ${l.zone}`}${c}${l.merge?` merge ${l.merge}`:""}${l.refs}`),a=l.end}return i.push(...e.slice(a)),i}function ep(e){if(!e.some(r=>ui.test(r)))return e;let t=e.some(r=>fi.test(r))&&!e.some(r=>/^[|\\/*]/.test(r)),n=tp(e,t?Jd:Kd);return Qd(n)??n}function tp(e,t){let n=[],r=0,s=0,o=0,i="",a=!1,l=!1,c=()=>{s>0&&n.push(`${i} \u2026 ${s} ${s===1?"line":"lines"} folded \u2026`),s=0};for(let u of e){let f=u.slice(0,o),d=Ud.test(f),m=d?u.slice(o):u,k=Zd.test(m),g=a&&k?null:ui.exec(u);if(g){c(),r=0,o=g[1]?.length??0,a=!0,l=!1,n.push(u);continue}if(/^diff --(?:git|cc|combined) /.test(m)&&(l=!0),k&&!l&&!(o>0&&m.trim().length===0)){if(Gd.test(m)){n.push(u);continue}r+=1,r<=t?n.push(u):(s+=1,i=d?f:"");continue}c(),n.push(u)}return c(),n}L("smart-log",ep);var np=/^[\s=]+$/,rp=/^\s*=+\s+(.*?)\s+=+\s*$/,sp=512;L("strip-banners",e=>{let t=[];for(let n of e){if(np.test(n))continue;let r=n.length<=sp?rp.exec(n):null;t.push(r?r[1]:n)}return t});function op(e){let t=[],n=0,r=0;for(;r<e.length;){let s=e[r].trimEnd();if(s===""){n+=1,r+=1,n<=1&&t.push("");continue}n=0;let o=1;for(;r+o<e.length&&e[r+o].trimEnd()===s;)o+=1;if(o>=3)t.push(s),t.push(` \u2026 (repeated ${o}x)`);else for(let i=0;i<o;i++)t.push(s);r+=o}for(;t.length>0&&t[t.length-1]==="";)t.pop();return t}L("squeeze-output",op);function ip(e){return e==="compact"?.6:e==="minimal"?.3:1}var ap=20;function lp(e){let[t,n,r,s]=e.slice(-4);if(!t||!n||!r||!s||!/^\s*Test Files\s+([1-9]\d*) passed \(\1\)$/.test(t)||!/^\s*Tests\s+([1-9]\d*) passed \(\1\)$/.test(n)||!/^\s*Start at\s+\d{2}:\d{2}:\d{2}$/.test(r))return e;let o=/^(\s*Duration\s+\d+(?:\.\d+)?(?:ms|s)) \(transform [^\n]+\)$/.exec(s)?.[1];return o?[...e.slice(0,-4).filter((a,l)=>l>2||!/^ RUN v\d+\.\d+\.\d+(?:[\w.+-]*) .+$/.test(a)),t,n,o]:e}var di=new WeakMap;function cp(e){let t=di.get(e);if(t)return t;let n=e.strip_lines_matching.map(o=>new RegExp(o)),r=(e.drop_lines_matching??[]).map(o=>new RegExp(o)),s={def:e,stripRegexes:n,dropRegexes:r};return di.set(e,s),s}var up=new RegExp([String.raw`(?:^|[\s;&|(])grep(?=\s)[^|;&]*?\s(?:-[A-Za-z]*q[A-Za-z]*|--quiet|--silent)(?=\s|$)`,String.raw`(?:^|[\s;&|(])find(?=\s)[^|;&]*?\s-(?:delete|quit|exec|execdir|ok|okdir|fprint0?|fprintf|fls|prune)(?=\s|$)`,String.raw`(?:^|[\s;&|(])(?:ruff|black|flake8)(?=\s)[^|;&]*?\s(?:-q+|--quiet)(?=\s|$)`,String.raw`(?:^|[\s;&|(])eslint(?=\s)[^|;&]*?\s(?:-o|--output-file)(?=[\s=]|$)`,String.raw`(?:^|[\s;&|(])prettier(?=\s)[^|;&]*?\s(?:-l|--list-different)(?=\s|$)`].join("|")),fp=new Set(["grep","ast-grep"]);function mr(e){return!!e&&up.test(e)}function hr(e,t,n){if(e==="smart-ls")return cr(t,n);let r=Vo(e);return r?r(t):t}function nn(e,t,n={}){return gr(e,t,n).text}function gr(e,t,n={}){let r=n.verbosity??"normal";if(!t.strip_ansi&&t.strip_lines_matching.length===0&&(t.drop_lines_matching??[]).length===0&&!t.transform&&!t.mask_abs_paths&&!t.fold_passing&&!t.truncate_lines_at&&!t.max_lines&&!t.on_empty&&!n.smartCode&&r==="normal")return{text:e,droppedTail:null};let s=cp(t),o=!t.preserve_exact&&e.includes(`\r
24
24
  `)?e.replace(/\r\n/g,`
25
25
  `):e;t.strip_ansi&&(o=ue(o));let i=o.endsWith(`
26
26
  `),a=(i?o.slice(0,-1):o).split(`
27
- `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>ne.test(d)||!s.stripRegexes.some(m=>m.test(d))):ir(a,s.stripRegexes)),s.dropRegexes.length&&(a=ir(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=tn(a),a=Jo(a)),r==="minimal"&&!t.preserve_exact&&(a=Zo(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=sp(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&en(o))&&(a=St(a,l)),t.transform&&(t.transform==="smart-read"?a=St(a,l,t.slug==="read-tool"):a=hr(t.transform,a,n.cmd));let c=t.slug==="read-tool";if(!c){let d=ar(a);d.some(Boolean)&&(a=a.filter((m,k)=>!d[k]))}t.mask_abs_paths&&(a=Do(a)),t.fold_passing&&(a=No(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Oo(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?np(n.verbosity):1,m=Math.min(t.max_lines,Math.max(rp,Math.round(t.max_lines*d))),k=c?ar(a):null,g=k?k.filter(p=>!p).length:a.length;if(g>m){let p=m;if(k){let w=0;for(p=0;p<a.length&&w<m;)k[p]||(w+=1),p+=1}let _=g-m;if(t.keep_failures){let w=a.slice(p),$=w.filter(N=>!ne.test(N)),I=w.reduce((N,D,M)=>N+(!ne.test(D)&&!k?.[p+M]?1:0),0);u=$.length>0?$.join(`
27
+ `);s.stripRegexes.length&&(a=t.keep_failures?a.filter(d=>ne.test(d)||!s.stripRegexes.some(m=>m.test(d))):ir(a,s.stripRegexes)),s.dropRegexes.length&&(a=ir(a,s.dropRegexes)),r!=="normal"&&!t.preserve_exact&&(a=tn(a),a=Jo(a)),r==="minimal"&&!t.preserve_exact&&(a=Zo(a),(t.slug==="vitest"||t.slug==="npm-test")&&(a=lp(a)));let l=t.transform==="smart-read"&&n.smartCode!==!0?r==="compact"?8:r==="minimal"?6:3:3;!t.preserve_exact&&(n.smartCode||n.smartCode===void 0&&r!=="normal"&&en(o))&&(a=Tt(a,l)),t.transform&&(t.transform==="smart-read"?a=Tt(a,l,t.slug==="read-tool"):a=hr(t.transform,a,n.cmd));let c=t.slug==="read-tool";if(!c){let d=ar(a);d.some(Boolean)&&(a=a.filter((m,k)=>!d[k]))}t.mask_abs_paths&&(a=Do(a)),t.fold_passing&&(a=No(a,t.fold_passing_threshold??5)),t.truncate_lines_at&&(a=Oo(a,t.truncate_lines_at));let u=null;if(t.max_lines){let d=t.scale_with_level?ip(n.verbosity):1,m=Math.min(t.max_lines,Math.max(ap,Math.round(t.max_lines*d))),k=c?ar(a):null,g=k?k.filter(p=>!p).length:a.length;if(g>m){let p=m;if(k){let w=0;for(p=0;p<a.length&&w<m;)k[p]||(w+=1),p+=1}let _=g-m;if(t.keep_failures){let w=a.slice(p),$=w.filter(N=>!ne.test(N)),I=w.reduce((N,M,D)=>N+(!ne.test(M)&&!k?.[p+D]?1:0),0);u=$.length>0?$.join(`
28
28
  `):null,a=[...a.slice(0,p),...I>0?[dt(I)]:[],...w.filter(N=>ne.test(N))]}else if(c)u=a.slice(p).join(`
29
29
  `),a=[...a.slice(0,p),dt(_)];else{let{kept:w,dropped:$}=Po(a,m);u=$.length>0?$.join(`
30
30
  `):null,a=w}}}let f=a.join(`
31
31
  `);return i&&f.length>0&&(f+=`
32
- `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&ap.has(t.slug))&&!mr(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:u}}import lp from"node:os";import{join as Tt}from"node:path";function R(){return process.env.TOKMIZER_HOME||Tt(lp.homedir(),".tokmizer")}function $t(){return Tt(R(),"install-id")}function yr(){return Tt(R(),"content-cache")}function pi(){return Tt(R(),"restore.json")}function kr(e){return Tt(yr(),e)}var ki="user/",rn=1,sn=null,hi="",gi=0,dp=1e3;function on(){return an(R(),"filters")}function bi(){return an(R(),"filters-trust.json")}function _i(e){return typeof e=="string"&&e.startsWith(ki)}function pp(e){return fp("sha256").update(e).digest("hex")}async function mp(){try{let e=JSON.parse(await yi(bi(),"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 hp(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 gp(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=hp(e,r);if("message"in o)return o;let i=$e.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:`${ki}${i.data.slug}`,matchRegex:a},tests:o.tests}}function yp(e){return e===void 0||e===rn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${rn}. Update tkr, or write the file for version ${rn}`:`schema_version must be the number ${rn}`}async function kp(e){try{return(await cp(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function bp(e={}){let t=e.requireTrust!==!1,n=on(),r=new Map,s=new Map,o=[],i=await kp(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await mp():null;for(let l of i){let c;try{c=await yi(an(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!==pp(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await _p(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 _p(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(or(),sr)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
33
- `)[0]})`}),{filters:n,tests:r,issues:s}}let a=yp(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=gp(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 xp(){let e=[];for(let t of[bi(),on()])try{let n=mi(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of up(on()).filter(n=>n.endsWith(".toml")).sort()){let n=mi(an(on(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function wp(){let e=Date.now();if(!sn||e-gi>=dp){gi=e;let t=xp();(!sn||t!==hi)&&(hi=t,sn=bp())}return sn}async function Ep(e){let{filters:t}=await wp();return t.size===0?null:ft(e,t.values(),null,t)}function xi(e){return async(t,n)=>await Ep(t)??e(t,n)}var vp=[/\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 wi(e){if(!e)return!1;for(let t of ue(e).split(`
34
- `))if(!/^\s*[✓✔√]\s/.test(t)&&vp.some(n=>n.test(t)))return!0;return!1}var Sp=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Tp=/^[A-Za-z_][A-Za-z0-9_]*=/,br=/^([a-z]+)-tool(?::\s|$)/,$p=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),Rp=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);function Ap(e){let t=0;for(;t<e.length;){let n=e[t];if($p.has(n))t+=2;else if(Rp.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function ke(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let l=n[r];if(Tp.test(l)){r++;continue}if(Sp.has(l)){for(r++,l==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(l==="stdbuf"||l==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.slice(Math.max(s.lastIndexOf("/"),s.lastIndexOf("\\"))+1)||s;o=o.replace(/\.(?:exe|cmd|bat|ps1)$/i,"")||o;let i=n.slice(r+1);o.toLowerCase()==="py"&&(o="python",i.length&&/^-\d(?:\.\d+)?(?:-\d+)?$/.test(i[0])&&(i=i.slice(1)));let a=o==="git"?Ap(i):i;return a.length?`${o} ${a.join(" ")}`:o}var Cp=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Ei(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 Ip(e){let t=Ei(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function Rt(e){let t=Ei(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=ke(n).split(/\s+/)[0]??"";if(!Cp.has(r))return null}return Ip(t[t.length-1])}function vi(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}var Op=/^(?: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 _r(e){let t=Op.exec(e);return t?ke(e.slice(t[0].length)):null}function Si(e){let t=br.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=Rt(n),s=r?ke(r):null,i=[s?_r(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Ti=`
32
+ `),f.trim().length===0&&t.on_empty&&(e.length===0||e.trim().length>0)&&(n.exitCode==null||n.exitCode===0||n.exitCode===1&&fp.has(t.slug))&&!mr(n.cmd)&&(f=t.on_empty),{text:f,droppedTail:u}}import dp from"node:os";import{join as $t}from"node:path";function R(){return process.env.TOKMIZER_HOME||$t(dp.homedir(),".tokmizer")}function Rt(){return $t(R(),"install-id")}function yr(){return $t(R(),"content-cache")}function pi(){return $t(R(),"restore.json")}function kr(e){return $t(yr(),e)}var ki="user/",rn=1,sn=null,hi="",gi=0,gp=1e3;function on(){return an(R(),"filters")}function bi(){return an(R(),"filters-trust.json")}function _i(e){return typeof e=="string"&&e.startsWith(ki)}function yp(e){return hp("sha256").update(e).digest("hex")}async function kp(){try{let e=JSON.parse(await yi(bi(),"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 bp(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 _p(e,t){let n=typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{},{tests:r,...s}=n,o=bp(e,r);if("message"in o)return o;let i=Re.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:`${ki}${i.data.slug}`,matchRegex:a},tests:o.tests}}function xp(e){return e===void 0||e===rn?null:typeof e=="number"&&Number.isInteger(e)?`schema_version ${e} is not supported: this tkr reads schema_version = ${rn}. Update tkr, or write the file for version ${rn}`:`schema_version must be the number ${rn}`}async function wp(e){try{return(await pp(e)).filter(t=>t.endsWith(".toml")).sort()}catch{return[]}}async function Ep(e={}){let t=e.requireTrust!==!1,n=on(),r=new Map,s=new Map,o=[],i=await wp(n);if(i.length===0)return{dir:n,filters:r,tests:s,issues:o};let a=t?await kp():null;for(let l of i){let c;try{c=await yi(an(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!==yp(c)){o.push({file:l,message:`changed since it was trusted. Review it, then run: tkr filters trust ${l}`});continue}}let u=await vp(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 vp(e,t){let n=new Map,r=new Map,s=[],{parse:o}=await Promise.resolve().then(()=>(or(),sr)),i;try{i=o(e)}catch(c){return s.push({file:t,message:`not valid TOML (${String(c.message).split(`
33
+ `)[0]})`}),{filters:n,tests:r,issues:s}}let a=xp(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=_p(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 Sp(){let e=[];for(let t of[bi(),on()])try{let n=mi(t);e.push(`${n.mtimeMs}:${n.size}`)}catch{e.push("-")}try{for(let t of mp(on()).filter(n=>n.endsWith(".toml")).sort()){let n=mi(an(on(),t));e.push(`${t}:${n.mtimeMs}:${n.size}`)}}catch{}return e.join("|")}function Tp(){let e=Date.now();if(!sn||e-gi>=gp){gi=e;let t=Sp();(!sn||t!==hi)&&(hi=t,sn=Ep())}return sn}async function $p(e){let{filters:t}=await Tp();return t.size===0?null:ft(e,t.values(),null,t)}function xi(e){return async(t,n)=>await $p(t)??e(t,n)}var Rp=[/\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 wi(e){if(!e)return!1;for(let t of ue(e).split(`
34
+ `))if(!/^\s*[✓✔√]\s/.test(t)&&Rp.some(n=>n.test(t)))return!0;return!1}var Ap=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),Cp=/^[A-Za-z_][A-Za-z0-9_]*=/,br=/^([a-z]+)-tool(?::\s|$)/,Ip=new Set(["-C","-c","--git-dir","--work-tree","--namespace","--exec-path","--super-prefix","--config-env"]),Op=new Set(["-p","--paginate","-P","--no-pager","--bare","--no-replace-objects","--literal-pathspecs","--glob-pathspecs","--noglob-pathspecs","--icase-pathspecs","--no-optional-locks","--no-lazy-fetch","--no-advice"]);function Pp(e){let t=0;for(;t<e.length;){let n=e[t];if(Ip.has(n))t+=2;else if(Op.has(n))t+=1;else if(/^--(?:git-dir|work-tree|namespace|exec-path|super-prefix|config-env)=/.test(n))t+=1;else if(/^-[Cc]\S/.test(n))t+=1;else break}return e.slice(t)}function ke(e){let t=e.trim(),n=t.split(/\s+/),r=0;for(;r<n.length;){let l=n[r];if(Cp.test(l)){r++;continue}if(Ap.has(l)){for(r++,l==="timeout"&&r<n.length&&/^\d+(?:\.\d+)?[smhd]?$/.test(n[r])&&r++;(l==="stdbuf"||l==="nice")&&r<n.length&&n[r].startsWith("-");)r++;continue}break}if(r>=n.length)return t;let s=n[r],o=s.slice(Math.max(s.lastIndexOf("/"),s.lastIndexOf("\\"))+1)||s;o=o.replace(/\.(?:exe|cmd|bat|ps1)$/i,"")||o;let i=n.slice(r+1);o.toLowerCase()==="py"&&(o="python",i.length&&/^-\d(?:\.\d+)?(?:-\d+)?$/.test(i[0])&&(i=i.slice(1)));let a=o==="git"?Pp(i):i;return a.length?`${o} ${a.join(" ")}`:o}var Np=new Set(["cd","export","source","set","unset","mkdir","true",":","pushd","popd","alias","ulimit","umask","echo","printf","sleep","touch","rm","cp","mv","chmod","ln"]);function Ei(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 Dp(e){let t=Ei(e,!1);for(let n=t.length-1;n>=0;n--){let r=t[n].trim();if(r)return r}return e.trim()}function At(e){let t=Ei(e,!0).map(n=>n.trim()).filter(Boolean);if(t.length===0)return null;for(let n of t.slice(0,-1)){let r=ke(n).split(/\s+/)[0]??"";if(!Np.has(r))return null}return Dp(t[t.length-1])}function vi(e){let t=!1,n=!1,r=0,s=[];for(let o=0;o<e.length;o++){let i=e[o];if(i==="\\"&&!t){o++;continue}i==="'"&&!n?t=!t:i==='"'&&!t?n=!n:!t&&!n&&(i==="|"||i===";"?(s.push(e.slice(r,o)),i==="|"&&e[o+1]==="|"&&o++,r=o+1):i==="&"&&e[o+1]==="&"&&(s.push(e.slice(r,o)),o++,r=o+1))}s.push(e.slice(r));for(let o=s.length-1;o>=0;o--){let i=s[o].trim();if(i)return i}return e.trim()}var Mp=/^(?: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 _r(e){let t=Mp.exec(e);return t?ke(e.slice(t[0].length)):null}function Si(e){let t=br.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=At(n),s=r?ke(r):null,i=[s?_r(s):null,s,e].filter(a=>!!a);return[...new Set(i)]}var Ti=`
35
35
  [YOLO: omitted]
36
- `;function xr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(Ti,"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")+Ti+t.subarray(s).toString("utf8")}var Pp=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Np=/^… \([1-9]\d* more lines omitted\)$/,wr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function Dp(e,t){if(!t)return e.split(`
36
+ `;function xr(e){let t=Buffer.from(e,"utf8");if(t.length<=256)return e;let n=256-Buffer.byteLength(Ti,"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")+Ti+t.subarray(s).toString("utf8")}var Lp=/^ID {2,}TITLE {2,}BRANCH {2,}STATE {2,}CREATED *$/,Fp=/^… \([1-9]\d* more lines omitted\)$/,wr=/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,3})?Z$/;function jp(e,t){if(!t)return e.split(`
37
37
  `).map(o=>o.replace(/^[ \t]+|[ \t]+(?=\r?$)/g,"")).join(`
38
38
  `);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!==`
39
39
  `&&(n+=o);return n+(e.endsWith(`
40
40
  `)?`
41
- `:"")}function Mp(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
41
+ `:"")}function Hp(e,t){if(/@(?:p)?\d|\r/.test(e))return e;let n=e.endsWith(`
42
42
  `)?`
43
43
  `:"",r=(n?e.slice(0,-1):e).split(`
44
- `),s=r.findIndex(p=>Pp.test(p));if(s>=0&&r.slice(0,s).some(p=>p!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(p)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(p=>p.index):[],i=[];for(let p=s+1;p<r.length;p+=1){let _=r[p];if(Np.test(_))continue;if(/…|\.\.\./.test(_))return e;let w;if(s>=0){if(/[^\x20-\x7e]/.test(_))return e;let $=o.map((I,N)=>_.slice(I,o[N+1]));if($.slice(0,-1).some(I=>I[0]===" "||!I.endsWith(" "))||(w=$.map(I=>I.replace(/ +$/,"")),!/^#\d+$/.test(w[0])||!/^\S+$/.test(w[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(w[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(w[4])))return e}else if(w=_.split(" "),w.length!==5||!/^\d+$/.test(w[0])||!w[1]||!w[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(w[3])||!wr.test(w[4])||!Number.isFinite(Date.parse(w[4])))return e;if(w.some($=>/[\u0000-\u001f\u007f]/.test($)))return e;i.push({index:p,cells:w})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let p of i)r[p.index]=p.cells.join(" ");let a=r.join(`
45
- `)+n;if(!t)return a;let l=new Map;for(let{cells:p}of i)l.set(p[1],(l.get(p[1])??0)+1);let c=new Map,u=[];for(let[p,_]of l){if(p.length<40||_<3||p.trim().split(/\s+/).length<8)continue;let w=`@${c.size+1}`,$=JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),I=`TITLE ${w} = ${$}`;_*(Buffer.byteLength(p)-Buffer.byteLength(w))<=Buffer.byteLength(I)+1||(c.set(p,w),u.push(I))}let f=new Map;for(let{cells:p}of i){if(c.has(p[1]))continue;let _=/^((?:\S+\s+){4})\S/.exec(p[1])?.[1];_&&_.length>=24&&f.set(_,(f.get(_)??0)+1)}let d=new Map;for(let[p,_]of f){if(_<3)continue;let w=`@p${d.size+1}`,$=`TITLE prefix ${w} = ${JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;_*(Buffer.byteLength(p)-Buffer.byteLength(w)-1)<=Buffer.byteLength($)+1||(d.set(p,w),u.push($))}let m=i[0].cells[4].slice(10),k=i.length>=3&&wr.test(i[0].cells[4])&&i.every(({cells:p})=>wr.test(p[4])&&p[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(k&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:p,cells:_}of i){let w=c.get(_[1]),$=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1],I=$?d.get($):void 0;r[p]=_.map((N,D)=>D===1?w??(I?`${I}:${N.slice($.length)}`:N):D===4&&k?N.slice(0,10):N).join(" ")}let g=[...r,"",...u].join(`
46
- `)+n;return Buffer.byteLength(g)<Buffer.byteLength(a)?g:a}var $i={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Lp={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},Fp=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,jp=/^On branch (\S+)$/,Hp=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function Bp(e){let t=jp.exec(e[0]??"");if(!t)return e;let n=Hp.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 Ri(e){let t=e.endsWith(`
44
+ `),s=r.findIndex(p=>Lp.test(p));if(s>=0&&r.slice(0,s).some(p=>p!==""&&!/^Showing \d+ of \d+ (?:open|closed|all) pull requests in \S+$/.test(p)))return e;let o=s>=0?[...r[s].matchAll(/\S+/g)].map(p=>p.index):[],i=[];for(let p=s+1;p<r.length;p+=1){let _=r[p];if(Fp.test(_))continue;if(/…|\.\.\./.test(_))return e;let w;if(s>=0){if(/[^\x20-\x7e]/.test(_))return e;let $=o.map((I,N)=>_.slice(I,o[N+1]));if($.slice(0,-1).some(I=>I[0]===" "||!I.endsWith(" "))||(w=$.map(I=>I.replace(/ +$/,"")),!/^#\d+$/.test(w[0])||!/^\S+$/.test(w[2])||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(w[3])||!/^\d+(?:s|m|h|d|w|mo|y)$/.test(w[4])))return e}else if(w=_.split(" "),w.length!==5||!/^\d+$/.test(w[0])||!w[1]||!w[2]||!/^(OPEN|CLOSED|MERGED|DRAFT)$/.test(w[3])||!wr.test(w[4])||!Number.isFinite(Date.parse(w[4])))return e;if(w.some($=>/[\u0000-\u001f\u007f]/.test($)))return e;i.push({index:p,cells:w})}if(i.length===0)return e;s>=0&&(r[s]="ID TITLE BRANCH STATE CREATED");for(let p of i)r[p.index]=p.cells.join(" ");let a=r.join(`
45
+ `)+n;if(!t)return a;let l=new Map;for(let{cells:p}of i)l.set(p[1],(l.get(p[1])??0)+1);let c=new Map,u=[];for(let[p,_]of l){if(p.length<40||_<3||p.trim().split(/\s+/).length<8)continue;let w=`@${c.size+1}`,$=JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029"),I=`TITLE ${w} = ${$}`;_*(Buffer.byteLength(p)-Buffer.byteLength(w))<=Buffer.byteLength(I)+1||(c.set(p,w),u.push(I))}let f=new Map;for(let{cells:p}of i){if(c.has(p[1]))continue;let _=/^((?:\S+\s+){4})\S/.exec(p[1])?.[1];_&&_.length>=24&&f.set(_,(f.get(_)??0)+1)}let d=new Map;for(let[p,_]of f){if(_<3)continue;let w=`@p${d.size+1}`,$=`TITLE prefix ${w} = ${JSON.stringify(p).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}`;_*(Buffer.byteLength(p)-Buffer.byteLength(w)-1)<=Buffer.byteLength($)+1||(d.set(p,w),u.push($))}let m=i[0].cells[4].slice(10),k=i.length>=3&&wr.test(i[0].cells[4])&&i.every(({cells:p})=>wr.test(p[4])&&p[4].slice(10)===m)&&i.length*m.length>`CREATED suffix = ${JSON.stringify(m)}`.length+1;if(k&&u.push(`CREATED suffix = ${JSON.stringify(m)}`),u.length===0)return a;for(let{index:p,cells:_}of i){let w=c.get(_[1]),$=/^((?:\S+\s+){4})\S/.exec(_[1])?.[1],I=$?d.get($):void 0;r[p]=_.map((N,M)=>M===1?w??(I?`${I}:${N.slice($.length)}`:N):M===4&&k?N.slice(0,10):N).join(" ")}let g=[...r,"",...u].join(`
46
+ `)+n;return Buffer.byteLength(g)<Buffer.byteLength(a)?g:a}var $i={"Changes to be committed:":"staged","Changes not staged for commit:":"unstaged","Untracked files:":"untracked"},Bp={modified:"M",deleted:"D","new file":"A",renamed:"R",copied:"C",typechange:"T"},zp=/^\t(modified|deleted|new file|renamed|copied|typechange):\s+(.+)$/,Up=/^On branch (\S+)$/,Zp=/^Your branch is (?:up to date with '([^']+)'|(ahead|behind)(?: of)? '([^']+)' by (\d+) commits?(?:, and can be fast-forwarded)?)\.$/;function Gp(e){let t=Up.exec(e[0]??"");if(!t)return e;let n=Zp.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 Ri(e){let t=e.endsWith(`
47
47
  `)?`
48
- `:"",n=Bp((t?e.slice(0,-1):e).split(`
49
- `)),r=null,s=[];for(let o of n){if(Object.hasOwn($i,o)){r=$i[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?Fp.exec(o):null;if(!i)return e;let a=Lp[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
50
- `)+t}var Ai=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,zp=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function Up(e){let t=e.split(`
51
- `);for(let n=0;n<t.length;n+=1){if(!zp.test(t[n]))continue;let r=n;for(;r>0&&Ai.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Ai," $1 | $2")}return t.join(`
52
- `)}var Zp=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,Ci=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Ii=/^… \(\d+ more lines omitted\)$/;function Gp(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 Kp(e){let t=e.endsWith(`
48
+ `:"",n=Gp((t?e.slice(0,-1):e).split(`
49
+ `)),r=null,s=[];for(let o of n){if(Object.hasOwn($i,o)){r=$i[o];continue}if(!o.startsWith(" ")){r=null,s.push(o);continue}if(r==="untracked"){s.push(`?? ${o.slice(1)}`);continue}let i=r?zp.exec(o):null;if(!i)return e;let a=Bp[i[1]];s.push(r==="staged"?`${a} ${i[2]}`:` ${a} ${i[2]}`)}return s.join(`
50
+ `)+t}var Ai=/^ (\S.*?) +\| +(\d+(?: [+-]+)?|Bin .*)$/,Kp=/^ \d+ files? changed(?:, \d+ insertions?\(\+\))?(?:, \d+ deletions?\(-\))?$/;function Jp(e){let t=e.split(`
51
+ `);for(let n=0;n<t.length;n+=1){if(!Kp.test(t[n]))continue;let r=n;for(;r>0&&Ai.test(t[r-1]);)r-=1;for(let s=r;s<n;s+=1)t[s]=t[s].replace(Ai," $1 | $2")}return t.join(`
52
+ `)}var Wp=/^( *(?:[~+-] +)?(?:[\w.-]+|"[^"\n]*")) {2,}= /gm,Ci=/^[A-Z][A-Z0-9_]*(?: +[A-Z][A-Z0-9_]*)+$/,Ii=/^… \(\d+ more lines omitted\)$/;function Vp(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 qp(e){let t=e.endsWith(`
53
53
  `)?`
54
54
  `:"",n=(t?e.slice(0,-1):e).split(`
55
55
  `),r=[],s=[];for(let c of n)c.startsWith("WARNING:")?r.includes(c)||r.push(c):s.push(c);let o=s.findIndex(c=>Ci.test(c));if(o<0)return[...r,...s].join(`
56
- `)+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(Ii.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:Gp(c,a);if(!u)return[...r,...s].join(`
56
+ `)+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(Ii.test(c)){l.push(c);continue}let u=c.startsWith(" ")||/[^\x20-\x7e]/.test(c)?null:Vp(c,a);if(!u)return[...r,...s].join(`
57
57
  `)+t;l.push(u.join(" "))}return l.join(`
58
- `)+t}function Jp(e){let t=e.endsWith(`
58
+ `)+t}function Yp(e){let t=e.endsWith(`
59
59
  `)?`
60
60
  `:"",n=(t?e.slice(0,-1):e).split(`
61
61
  `),r=n.findIndex(i=>Ci.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(Ii.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(`
62
- `)+t}function Er(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=Ri(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=Dp(e,t==="minimal")}else n==="gh"?r=Mp(e,t==="minimal"):n==="git-status"?r=Ri(e):n==="gcloud"?r=Kp(e):n==="oc"?r=Jp(e):n==="git-diff"?r=Up(e):n==="tofu-plan"&&(r=e.replace(Zp,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Wp=/^(?:\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|$)/,Vp=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Oi(e){if(Buffer.byteLength(e)<2048||en(e)||Vp.test(e))return e;let t=e.split(`
63
- `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Wp.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(`
64
- `)}var qp=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,Yp=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Pi(e){return Yp.test(e)}function Ni(e){let t=e.endsWith(`
62
+ `)+t}function Er(e,t,n){if(t!=="compact"&&t!=="minimal"){if(n!=="git-status")return e;let s=Ri(e);return Buffer.byteLength(s)<Buffer.byteLength(e)?s:e}let r=e;if(/^[ \t\r\n]*[\[{]/.test(e)){try{JSON.parse(e)}catch{return e}r=jp(e,t==="minimal")}else n==="gh"?r=Hp(e,t==="minimal"):n==="git-status"?r=Ri(e):n==="gcloud"?r=qp(e):n==="oc"?r=Yp(e):n==="git-diff"?r=Jp(e):n==="tofu-plan"&&(r=e.replace(Wp,"$1 = "));return Buffer.byteLength(r)<Buffer.byteLength(e)?r:e}var Xp=/^(?:\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|$)/,Qp=/^\[tkr: previous log line repeated \d+ additional times\]$/m;function Oi(e){if(Buffer.byteLength(e)<2048||en(e)||Qp.test(e))return e;let t=e.split(`
63
+ `),n=[];for(let r=0;r<t.length;){let s=t[r],o=r+1;if(Xp.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(`
64
+ `)}var em=/^(?:[A-Za-z]:)?[^\s"'<>|]+\.(?:[cm]?[jt]sx?|json)$/,tm=/--(?:listFiles|listFilesOnly|listEmittedFiles|showConfig|explainFiles|traceResolution)(?:\s|=|$)/;function Pi(e){return tm.test(e)}function Ni(e){let t=e.endsWith(`
65
65
  `),n=(t?e.slice(0,-1):e).split(`
66
- `),r=0;for(let s of n)if(s.trim()!==""){if(!qp.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
67
- `:""}`}var Fi=/^(?:(?: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|$)/,ji={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},Xp=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,Qp=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,em=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,tm=/^\s*(>)?\s*(\d+)\s*\|/,nm=/^\s*\|\s*[\^~]+\s*$/,rm=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function pt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function ln(e){return Xp.test(e)}function sm(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function cn(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 vr(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||nm.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 k=Qp.exec(d)??em.exec(d);if(k){s=-1;let p=sm(k[1]);ln(p)||(r=cn(n,`${p}:${k[2]}${k[3]?`:${k[3]}`:""}`,r));continue}let g=tm.exec(d);if(g){s=-1,n.push({kind:"code",text:m,num:Number(g[2]),pointed:g[1]===">"});continue}if(rm.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.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function K(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function om(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=pt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(K(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(K(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=vr(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(p=>p.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),k=d.split(" > "),g=m?{file:m[1],name:"(suite)",loc:null,body:[]}:k.length>1?{file:k[0],name:k.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(g),o.push(g);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function im(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=pt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(K(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(K(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=vr(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 Hi(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}=vr(i.get(l.name),s);l.body=c,l.loc=u}return o}function am(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>K(o.replace(/ \(\S+\)\s*$/,""))),s=Hi(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 lm(e){let t=e.findIndex(a=>a.length<=2e3&&/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=pt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>K(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Hi(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 cm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=pt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(K(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let k=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);k&&!ln(k[1])&&(i.loc=cn(i.body,`${k[1]}:${k[2]}:${k[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 um(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(K(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(K(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(K(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){ln(u[1])||(a.loc=cn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}var Di=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function Mi(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(ln(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=cn(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Li(e,t){return t.push(K(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(pt([e],/(\d+) failed/)??0)+(pt([e],/(\d+) errors?\b/)??0)}function fm(e){if(!e.some(g=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(g)||Di.test(g)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,c=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,u=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let g=e.length-1;g>=0&&f<0;g--){let p=/^={3,} (.+?) ={3,}$/.exec(e[g]);p&&!u.test(p[1])&&c.test(p[1])&&(f=g)}if(f<0){for(let g=e.length-1;g>=0;g--)if(e[g].trim()){l.test(e[g].trim())&&(f=g);break}}for(let[g,p]of e.entries()){let _=/^={3,} (.+?) ={3,}$/.exec(p);if(_){s=_[1],o=null,i=null,g===f&&(a=Li(s,r));continue}if(g===f&&l.test(p.trim())){a=Li(p.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(p)){r.push(K(p.replace(/^!+ | !+$/g,"")));continue}let w=/^_{3,} (.+?) _{3,}$/.exec(p);if(w&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(w[1],o);continue}let $=Di.exec(p);if($&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let I={kind:$[1],id:$[2],msg:$[3]??null,inline:[]};n.push(I),i=I;continue}if(o){o.push(p);continue}i&&/^E(?:\s|$)/.test(p)?i.inline.push(p):i&&p.trim()&&(i=null)}let d=new Set,m=[],k=new Set;for(let g of n){if(k.has(g.id))continue;k.add(g.id);let[p,..._]=g.id.split("::"),w=_.join("."),$=[w,`ERROR collecting ${g.id}`,`ERROR at setup of ${w}`,`ERROR at teardown of ${w}`].find(M=>M&&t.has(M)&&!d.has(M));$&&d.add($);let{body:I,loc:N}=Mi($?t.get($):g.inline,g.msg),D=_.length?_.join("::"):"(collection)";m.push({file:p,name:g.kind==="ERROR"?`${D} [error]`:D,loc:N,body:I,exact:!0})}for(let[g,p]of t){if(d.has(g))continue;let{body:_,loc:w}=Mi(p,null);m.push({file:w?w.replace(/:\d+$/,""):null,name:g,loc:w,body:_,exact:!0})}if(m.length===0)for(let g of e){let p=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(g);p&&m.push({file:p[1],name:p[3]==="ERROR"?`${p[2]} [error]`:p[2],loc:null,body:[]})}return{failures:m,summary:r,reported:a,counted:m.length}}var dm=12,pm=[cm,um,fm,im,om,am,lm];function mm(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 hm(e,t,n){let r=ji[n],s=e.body.filter(m=>m.kind==="msg");if(!t)return[...e.body.filter(m=>m.kind==="source"),...s.slice(0,1)].map(m=>` ${m.text}`);let o=e.body.filter(m=>m.kind==="diff"),i=r.trimDiff&&mm(o,s.map(m=>m.text).join(`
68
- `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>dm,f=[];for(let m of e.body){if((m.kind==="diff"||m.kind==="legend")&&i)continue;if(m.kind==="diff"&&u&&!/^[-+]/.test(m.text.trim())){l.diff+=1;continue}let k=m.kind==="legend"?"diff":m.kind;if(a[k]>=c[k]&&m.kind!=="legend"){l[k]+=1;continue}m.kind!=="legend"&&(a[k]+=1),f.push(m.kind==="frame"?` at ${m.text}`:` ${m.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${dt(d)}`),f}function gm(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 ym(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function km(e,t){let n=ji[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:hm(c,d,t).join(`
69
- `)}}),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 ${gm(o.slice(c,f+1).map(m=>m.f.name))}`:ym(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(`
66
+ `),r=0;for(let s of n)if(s.trim()!==""){if(!em.test(s))return null;r+=1}return r<2?null:`tsc: 0 errors, ${r} files${t?`
67
+ `:""}`}var Fi=/^(?:(?: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|$)/,ji={normal:{msg:40,diff:60,frames:6,out:20,bulk:50,repeats:10,trimDiff:!1,changedOnly:!1},compact:{msg:12,diff:24,frames:2,out:5,bulk:20,repeats:2,trimDiff:!0,changedOnly:!1},minimal:{msg:6,diff:8,frames:0,out:0,bulk:10,repeats:1,trimDiff:!0,changedOnly:!0}},nm=/node_modules|^node:|^internal\/|site-packages|dist-packages|\/lib\/python\d|\/rustc\/|\.cargo\/registry|\.rustup\/|\/go\/src\/|\/go\/pkg\/mod\/|\/libexec\/src\/|<anonymous>/,rm=/^\s*at\s+(?:.*?\()?((?:file:\/\/)?[^\s()]+?):(\d+)(?::(\d+))?\)?\s*$/,sm=/^\s*❯\s+(?:\S+\s+)?([^\s]+?):(\d+)(?::(\d+))?\s*$/,om=/^\s*(>)?\s*(\d+)\s*\|/,im=/^\s*\|\s*[\^~]+\s*$/,am=/^(?:- Expected|\+ Received|- Snapshot|\+ expected - actual|\+ actual - expected|- expected \+ actual)(?:\s+[-+]\s*\d+)?$/;function pt(e,t){let n=null;for(let r of e){let s=t.exec(r);s&&(n=(n??0)+Number(s[1]))}return n}function ln(e){return nm.test(e)}function lm(e){if(!/^file:\/\//i.test(e))return e;let t=e.replace(/^file:\/\/(?:localhost)?/i,"");try{t=decodeURIComponent(t)}catch{}return t.replace(/^\/([A-Za-z]:[\\/])/,"$1")}function cn(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 vr(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||im.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 k=rm.exec(d)??sm.exec(d);if(k){s=-1;let p=lm(k[1]);ln(p)||(r=cn(n,`${p}:${k[2]}${k[3]?`:${k[3]}`:""}`,r));continue}let g=om.exec(d);if(g){s=-1,n.push({kind:"code",text:m,num:Number(g[2]),pointed:g[1]===">"});continue}if(am.test(m)){s=n.length,n.push({kind:"legend",text:m});continue}n.push(s>=0?{kind:"diff",text:d,segment:s}:{kind:"msg",text:m})}let i=n.some(f=>f.kind==="code"&&f.pointed),a=r?Number(/:(\d+)(?::\d+)?$/.exec(r)?.[1]):NaN,l=!1,c=n.filter(f=>{if(f.kind!=="code")return!0;let d=!l&&(i?f.pointed===!0:f.num===a);return d&&(l=!0),d}),u=new Map;for(let f of c){if(f.kind!=="diff")continue;let d=f.text.length-f.text.trimStart().length;u.set(f.segment,Math.min(u.get(f.segment)??d,d))}for(let f of c)f.kind==="diff"&&(f.text=f.text.slice(u.get(f.segment)??0)),f.kind==="code"&&(f.kind="source",f.text=f.text.replace(/^>\s*/,""));return{body:c,loc:r}}function K(e,t=!1){return{text:e.trim().replace(/\s{2,}/g," "),minor:t}}function cm(e){if(!e.some(l=>/^⎯+ Failed (?:Tests|Suites) \d+ ⎯+$/.test(l.trim())||/^\s*Test Files\s{2,}\d/.test(l)||/^ ?FAIL\s+\S+ > /.test(l)))return null;let t=pt(e,/^\s*Tests\s+(\d+) failed/),n=[];for(let l of e)/^\s*Test Files\s{2,}\S/.test(l)?n.push(K(l,!0)):(/^\s*(?:Tests|Errors|Type Errors)\s{2,}\S/.test(l)||/^\s*ERROR: Coverage for \S.*threshold/.test(l))&&n.push(K(l));let r=[],s=0,o=[],i=[],a=()=>{if(o.length){let{body:l,loc:c}=vr(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(p=>p.trim())&&a();let d=u[1],m=/^(\S+) \[ \S+ \]$/.exec(d),k=d.split(" > "),g=m?{file:m[1],name:"(suite)",loc:null,body:[]}:k.length>1?{file:k[0],name:k.slice(1).join(" > "),loc:null,body:[]}:{file:null,name:d,loc:null,body:[]};m||(s+=1),r.push(g),o.push(g);continue}let f=/^⎯+ (Unhandled [A-Za-z ]+?) ⎯+$/.exec(c);if(f){a();let d={file:null,name:f[1],loc:null,body:[]};r.push(d),o.push(d);continue}if(/^⎯{3,}/.test(c)||/^(?:Test Files|Tests|Start at|Duration|Errors)\s{2,}/.test(c)){a();continue}o.length&&i.push(l)}if(a(),s===0){let l=null;for(let c of e){let u=/^\s*[❯✓×✗]\s+(\S+)\s+\(\d+ tests?\b/.exec(c);if(u){l=u[1];continue}let f=/^\s+[×✗]\s+(.+?)(?:\s+\d+(?:\.\d+)?m?s)?$/.exec(c);f&&(r.push({file:l,name:f[1],loc:null,body:[]}),s+=1)}}return{failures:r,summary:n,reported:t,counted:s}}function um(e){if(!e.some(u=>/^\s{2}● (?!Console$)/.test(u))||!e.some(u=>/^Tests:\s/.test(u)||/^(?:FAIL|PASS)\s+\S/.test(u)))return null;let t=pt(e,/^Tests:\s+(\d+) failed/),n=[];for(let u of e)/^Test Suites:\s/.test(u)?n.push(K(u,!0)):(/^Tests:\s/.test(u)||/^Snapshots:\s/.test(u)&&/failed|obsolete/.test(u))&&n.push(K(u));let r=[],s=new Set,o=0,i=null,a=null,l=[],c=()=>{if(a){let u=`${a.file}\0${a.name}`;if(!s.has(u)){s.add(u);let{body:f,loc:d}=vr(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 Hi(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}=vr(i.get(l.name),s);l.body=c,l.loc=u}return o}function fm(e){let t=e.findIndex(o=>/^\s*\d+ failing$/.test(o));if(t<0)return null;let n=Number(/(\d+)/.exec(e[t])[1]),r=e.filter(o=>/^\s*\d+ (?:passing|failing|pending)(?: \(\S+\))?$/.test(o)).map(o=>K(o.replace(/ \(\S+\)\s*$/,""))),s=Hi(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 dm(e){let t=e.findIndex(a=>a.length<=2e3&&/^\s{2}\d+\) .*›.*─{3,}\s*$/.test(a));if(t<0)return null;let n=e.findIndex((a,l)=>l>t&&/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)),r=n<0?e.length:n,s=pt(e.slice(r),/^\s{2}(\d+) failed$/),o=e.slice(r).filter(a=>/^\s{2}\d+ (?:failed|flaky|passed|skipped|interrupted|did not run)(?: \(.+\))?$/.test(a)).map(a=>K(a.replace(/ \([\d.]+m?s\)\s*$/,""))),i=Hi(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 pm(e){if(!e.some(i=>/^test result: /.test(i))||!e.some(i=>/^---- .+ stdout ----$/.test(i)))return null;let t=pt(e,/^test result: FAILED\. \d+ passed; (\d+) failed/),n=[];for(let i of e)/^test result: FAILED/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""))):/^test result: ok/.test(i)?n.push(K(i.replace(/; finished in [\d.]+m?s\s*$/,""),!0)):/^error(?:\[\w+\])?: /.test(i)&&n.push(K(i));let r=[],s=null,o=[];for(let i of e){let a=/^---- (.+?) stdout ----$/.exec(i);if(a){s={f:{file:null,name:a[1],loc:null,body:[]},lines:[]},o.push(s),r.push(s.f);continue}if(/^failures:$|^test result: |^running \d+ tests?$/.test(i)){s=null;continue}s&&s.lines.push(i)}for(let{f:i,lines:a}of o){let l=!1,c=!1;for(let u of a){let f=u.trimEnd(),d=f.trim();if(!d)continue;let m=/^thread '.+?'(?: \(\d+\))? panicked at (?:'(.*)', )?(\S+?):(\d+):(\d+):?$/.exec(d);if(m){l=!0,i.loc??=`${m[2]}:${m[3]}:${m[4]}`,m[1]&&i.body.push({kind:"msg",text:m[1]});continue}if(!/^note: run with `RUST_BACKTRACE/.test(d)){if(/^stack backtrace:$/.test(d)){c=!0;continue}if(c){let k=/^at\s+(\S+?):(\d+):(\d+)$/.exec(d);k&&!ln(k[1])&&(i.loc=cn(i.body,`${k[1]}:${k[2]}:${k[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 mm(e){if(!e.some(a=>/^\s*--- FAIL: \S/.test(a)))return null;let t=new Map,n=[],r=new Map,s=[],o=null,i=null;for(let a of e){let l=/^=== (?:RUN|CONT|PAUSE|NAME)\s+(\S+)/.exec(a);if(l){o=l[1],i=null;continue}let c=/^\s*--- FAIL: (\S+) \([\d.]+m?s\)/.exec(a);if(c){i={file:null,name:c[1],loc:null,body:[]},r.set(i,[...t.get(c[1])??[]]),n.push(i),o=null;continue}if(/^\s*--- (?:PASS|SKIP): /.test(a)){i=null,o=null;continue}let u=/^(FAIL|ok)\s+(\S+)(?:\s+(?:[\d.]+m?s|\(cached\)|\[[^\]]+\]))?/.exec(a);if(u&&/\t|\s{2,}|\[/.test(a)){s.push(K(a.replace(/\s+[\d.]+m?s\s*$/,""),u[1]==="ok")),i=null,o=null;continue}if(!/^(?:FAIL|PASS)$/.test(a.trim())){if(/^exit status \d+$/.test(a)){s.push(K(a,!0));continue}if(i)r.get(i).push(a);else if(o){let f=t.get(o)??[];f.push(a),t.set(o,f)}else(/^#\s\S+$/.test(a)||/^\S+\.go:\d+(?::\d+)?: /.test(a))&&s.push(K(a))}}for(let a of n){for(let l of r.get(a)){let c=l.trim();if(!c||/^goroutine \d+ \[/.test(c))continue;let u=/^(\/\S+\.go|\S+\.go):(\d+)(?: \+0x[0-9a-f]+)?$/.exec(c);if(u){ln(u[1])||(a.loc=cn(a.body,`${u[1]}:${u[2]}`,a.loc));continue}/^(?:[\w.*/()-]+)\(.*\)$/.test(c)||/^created by /.test(c)||a.body.push({kind:"msg",text:c})}a.loc&&a.body.some(l=>l.kind==="msg"&&/^\S+\.go:\d+: /.test(l.text))&&(a.body.unshift({kind:"frame",text:a.loc}),a.loc=null)}return{failures:n,summary:s,reported:null,counted:n.length}}var Di=/^(FAILED|ERROR) (\S+?\.py(?:::\S+)?)(?: - (.*))?$/;function Mi(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(ln(f[1]))o>=0&&n.splice(o,1);else{let d=f[3]?.startsWith("in ")?` ${f[3]}`:"";r=cn(n,`${f[1]}:${f[2]}${r===null?"":d}`,r)}o=-1;continue}/^>\s/.test(c)&&(o=n.length,n.push({kind:"source",text:u.replace(/^>\s*/,"")}))}let i=n.filter(l=>l.kind==="msg"),a=Math.min(...i.map(l=>l.text.slice(1).length-l.text.slice(1).trimStart().length));for(let l of i)l.text=`E ${l.text.slice(1+a)}`;return t&&!i.some(l=>l.text.includes(t.replace(/\.\.\.$/,"")))&&n.unshift({kind:"msg",text:t}),{body:n,loc:r}}function Li(e,t){return t.push(K(e.replace(/ in [\d.]+s(?: \([\d:]+\))?$/,""))),(pt([e],/(\d+) failed/)??0)+(pt([e],/(\d+) errors?\b/)??0)}function hm(e){if(!e.some(g=>/^={3,} (?:FAILURES|ERRORS|short test summary info) ={3,}$/.test(g)||Di.test(g)))return null;let t=new Map,n=[],r=[],s="",o=null,i=null,a=null,l=/^(?:\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)(?:, |\s|$))+(?:in [\d.]+s(?: \([\d:]+\))?)?$/,c=/\b\d+ (?:failed|passed|errors?|skipped|xfailed|xpassed|deselected|warnings?)\b|no tests ran/,u=/^(?:FAILURES|ERRORS|short test summary info|warnings summary|test session starts|PASSES)$/,f=-1;for(let g=e.length-1;g>=0&&f<0;g--){let p=/^={3,} (.+?) ={3,}$/.exec(e[g]);p&&!u.test(p[1])&&c.test(p[1])&&(f=g)}if(f<0){for(let g=e.length-1;g>=0;g--)if(e[g].trim()){l.test(e[g].trim())&&(f=g);break}}for(let[g,p]of e.entries()){let _=/^={3,} (.+?) ={3,}$/.exec(p);if(_){s=_[1],o=null,i=null,g===f&&(a=Li(s,r));continue}if(g===f&&l.test(p.trim())){a=Li(p.trim(),r);continue}if(/^!{3,} .+ !{3,}$/.test(p)){r.push(K(p.replace(/^!+ | !+$/g,"")));continue}let w=/^_{3,} (.+?) _{3,}$/.exec(p);if(w&&(s==="FAILURES"||s==="ERRORS")){o=[],t.set(w[1],o);continue}let $=Di.exec(p);if($&&s!=="FAILURES"&&s!=="ERRORS"){o=null;let I={kind:$[1],id:$[2],msg:$[3]??null,inline:[]};n.push(I),i=I;continue}if(o){o.push(p);continue}i&&/^E(?:\s|$)/.test(p)?i.inline.push(p):i&&p.trim()&&(i=null)}let d=new Set,m=[],k=new Set;for(let g of n){if(k.has(g.id))continue;k.add(g.id);let[p,..._]=g.id.split("::"),w=_.join("."),$=[w,`ERROR collecting ${g.id}`,`ERROR at setup of ${w}`,`ERROR at teardown of ${w}`].find(D=>D&&t.has(D)&&!d.has(D));$&&d.add($);let{body:I,loc:N}=Mi($?t.get($):g.inline,g.msg),M=_.length?_.join("::"):"(collection)";m.push({file:p,name:g.kind==="ERROR"?`${M} [error]`:M,loc:N,body:I,exact:!0})}for(let[g,p]of t){if(d.has(g))continue;let{body:_,loc:w}=Mi(p,null);m.push({file:w?w.replace(/:\d+$/,""):null,name:g,loc:w,body:_,exact:!0})}if(m.length===0)for(let g of e){let p=/^(\S+?)::(\S+) (FAILED|ERROR)\b/.exec(g);p&&m.push({file:p[1],name:p[3]==="ERROR"?`${p[2]} [error]`:p[2],loc:null,body:[]})}return{failures:m,summary:r,reported:a,counted:m.length}}var gm=12,ym=[pm,mm,hm,um,cm,fm,dm];function km(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 bm(e,t,n){let r=ji[n],s=e.body.filter(m=>m.kind==="msg");if(!t)return[...e.body.filter(m=>m.kind==="source"),...s.slice(0,1)].map(m=>` ${m.text}`);let o=e.body.filter(m=>m.kind==="diff"),i=r.trimDiff&&km(o,s.map(m=>m.text).join(`
68
+ `)),a={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},l={msg:0,legend:0,diff:0,frame:0,code:0,source:0,out:0},c={msg:r.msg,legend:1/0,diff:r.diff,frame:e.exact?1/0:r.frames,code:0,source:1/0,out:r.out},u=r.changedOnly&&o.length>gm,f=[];for(let m of e.body){if((m.kind==="diff"||m.kind==="legend")&&i)continue;if(m.kind==="diff"&&u&&!/^[-+]/.test(m.text.trim())){l.diff+=1;continue}let k=m.kind==="legend"?"diff":m.kind;if(a[k]>=c[k]&&m.kind!=="legend"){l[k]+=1;continue}m.kind!=="legend"&&(a[k]+=1),f.push(m.kind==="frame"?` at ${m.text}`:` ${m.text}`)}let d=l.msg+l.diff+(n==="normal"?l.frame+l.out:0);return d>0&&f.push(` ${dt(d)}`),f}function _m(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 xm(e){if(!e.loc)return`\xD7 ${e.name}`;let t=!e.exact&&e.file&&e.loc.startsWith(`${e.file}:`)?e.loc.slice(e.file.length):e.loc;return`\xD7 ${e.name} ${t}`}function wm(e,t){let n=ji[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:bm(c,d,t).join(`
69
+ `)}}),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 ${_m(o.slice(c,f+1).map(m=>m.f.name))}`:xm(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(`
70
70
  `)}
71
71
  `}function Bi(e,t="normal"){let n=ue(e).split(`
72
- `).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 pm){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:km(s,t)}return null}import{createCipheriv as wx,createDecipheriv as bm,hkdfSync as _m,randomBytes as Ex}from"node:crypto";var xm=Buffer.from("tokmizer-bundle-enc-v1"),wm=Buffer.from("rules-bundle");function Em(e){return Buffer.from(_m("sha256",Buffer.from(e,"utf8"),xm,wm,32))}function un(e,t){let n=Em(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=bm("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as zm,verify as Um}from"node:crypto";import{join as vm}from"node:path";import{mkdir as $x,readFile as Sm,writeFile as Rx,unlink as Ax,rename as Cx}from"node:fs/promises";var Tm="state.json";function $m(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Rm(e){return e?.dir??R()}async function At(e){let t=Rm(e);try{let n=await Sm(vm(t,Tm),"utf8"),r=JSON.parse(n),s=r.timeZone;return{...r,lastSettingsRevision:r.lastSettingsRevision??0,get timeZone(){return s??=$m()},bonusActive:r.bonusActive??!1,...r.bonusResetAt!==void 0?{bonusResetAt:r.bonusResetAt}:{}}}catch{return null}}import{createRequire as Am}from"node:module";var Cm=Am(import.meta.url);function Im(){let e="1.1.0";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Cm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var Ct=Im();function zi(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 Ui=`-----BEGIN PUBLIC KEY-----
72
+ `).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 ym){let s=r(n);if(!(!s||s.failures.length===0))return s.counted===0||s.reported!==null&&s.counted<s.reported?null:wm(s,t)}return null}import{createCipheriv as Tx,createDecipheriv as Em,hkdfSync as vm,randomBytes as $x}from"node:crypto";var Sm=Buffer.from("tokmizer-bundle-enc-v1"),Tm=Buffer.from("rules-bundle");function $m(e){return Buffer.from(vm("sha256",Buffer.from(e,"utf8"),Sm,Tm,32))}function un(e,t){let n=$m(t),r=Buffer.from(e,"base64url"),s=r.subarray(0,12),o=r.subarray(12,28),i=r.subarray(28),a=Em("aes-256-gcm",n,s);return a.setAuthTag(o),Buffer.concat([a.update(i),a.final()]).toString("utf8")}import{createPublicKey as Km,verify as Jm}from"node:crypto";import{join as Rm}from"node:path";import{mkdir as Ix,readFile as Am,writeFile as Ox,unlink as Px,rename as Nx}from"node:fs/promises";var Cm="state.json";function Im(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;return e&&e.length>0?e:"Etc/UTC"}catch{return"Etc/UTC"}}function Om(e){return e?.dir??R()}async function Ct(e){let t=Om(e);try{let n=await Am(Rm(t,Cm),"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}}import{createRequire as Pm}from"node:module";var Nm=Pm(import.meta.url);function Dm(){let e="1.1.2";if(e)return e;for(let t of["../package.json","../../package.json"])try{let n=Nm(t).version;if(typeof n=="string"&&n)return n}catch{}return"0.0.0"}var It=Dm();function zi(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 Ui=`-----BEGIN PUBLIC KEY-----
73
73
  MCowBQYDK2VwAyEAj/kMlXlhTIGHRKxOKMuGFa1S1ybxxwgdYcAE0YM9fgU=
74
74
  -----END PUBLIC KEY-----
75
- `;import{existsSync as Om,mkdirSync as Lx,rmSync as Fx,writeFileSync as jx}from"node:fs";import{join as Zi}from"node:path";var Pm=new Set(["0","off","false","no"]),Nm="network-notice-shown";var zx=["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 and the plugin version, nothing that describes your machine: no computer name, OS, hardware or user name. 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(`
76
- `);function Dm(){return Zi(R(),"network-off")}function Mm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Pm.has(e.trim().toLowerCase())}function It(){return Mm()?!1:!Om(Dm())}function Gi(){return Zi(R(),Nm)}var Wx=300*1e3,Vx=120*1e3;function Ki(){return Ui.replace(/\\n/g,`
77
- `)}import{chmodSync as Xx,readFileSync as Lm,writeFileSync as Qx,mkdirSync as ew,renameSync as tw}from"node:fs";import{join as Fm}from"node:path";var jm=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1"),fetchedAt:y.number().int().nonnegative()});function Hm(){return Fm(R(),"bundle-cache.json")}function Ji(){try{let e=Lm(Hm(),"utf8"),t=jm.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Sr=y.object({bundleVersion:y.number().int().nonnegative(),signedAt:y.number().int(),filters:y.array($e)}),hw=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1")}),Zm=10080*60*1e3;function Gm(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Zm}function Km(e,t){let n=Ki();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=zm({key:n,format:"pem"});if(!Um(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(un(e.payload,t))}function Jm(e,t){let n=Km(e,t),r=Sr.parse(n);if(Date.now()-r.signedAt>Gm())throw new Error("tkr-daemon: rules bundle is stale");return Tr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Tr(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)=>ft(r,n.values(),o?new Set(o):null,n)}}async function Wi(){try{let e=Ji();if(!e)return null;let t=await At();return t?.signingSecret?Jm(e,t.signingSecret):null}catch{return null}}var Wm="tokmizer-default-rules-v1",Vm=/^[0-9a-f]{16}$/,Ot=null;function Vi(){let e="XbS1NLQXohYf3VjYwySg3tyEpjD_14OmLipUWCoAnqknT6T4_Y-PRlONdNY_s0t0fK40VBa_YroIdN5vLkJ_EFplzdm1STEl3jRJZNrmGiwjmRH3qGEJeImkMIm2fJ6SBKa79UbdMUzfvQCnu5jE-eK1Ii3LI__mUSA9YlN3e2gh8lzV685ODkIgmfHxtz1WzbzXzfsU3ZkhwcMOp10Y9a983fTXayhZmnlRurq9J43RIs4UIwEvPo3-2LsE1TfRuWi2v9hR5-L4jLZp7TlOs3p1zHxmOo1NZ9VZhf5PFhaFtmDSkkem55nGn9AyaFjdmf57V0scD2vO_U0IKPSvN6Fvh3XhMR8OcxotBP8-z4tRJ9Oyx4Yo9hbJiZ5d1V1Afy8it7PqbLdttUpPpNJO3C9AwhG0N6PO9nX-dNJqvpMCwEtnm3k6XVd95Ey481ixbvtYnnbnZPMNjYpsH9ETbof3qOcPkIXjZ7Oee9FsZpCbuX5_JyLlw6-v2uho724dkGOlGeiyrqbgTUbuVBunv0aJGXP_3G3uBDQkQh5fbAIQTr065LxoLpjpOR5W5JSrZItb-iHTfgnhGPS8IJAxw-Ob07WjJr8x2T--SnuRKjftyW9tgFCqUHbBhqTHMUldlS2F5FwN5r2b34Hy9iw7wxDOlk77TN--lndReOovwAOA0ubPf9bIhzUEmSt82UAs53ncx191JQ-9z_ZW6On7xMaegGHMD_t9mzh-FtuK3wu-MUmG-OwnWgqGOp_wejgtEcFC0cqZKtHSN70YIMQ_85VdmujSHbO4AfipBHeWZIWBtbblCRLpuHo4ixRGptkHiI69FV_NV7HnQYhq7D2C2ZLDTwCEFm-OtT-8KKAEOTTvXuxRcCtTWX-SnPKIxD2mLBVxw7O0OZdQeaLbGW_VTGNtLrqYL4unzWzX-6eCqpAHnmBaGBi2Brun5oJOSaLik_WR8c8x4eEaKrS7iJCNWjbtxewderHzRkFj7WFDXDBWpEsbuwZAkff43p1q5fiNZzxNqvxrh_4C4Oy-pajsFAH9Uf9eNmdOIa4RVND6FqLi_SIuPsCkiUtI2hhYy8HAGe0cCzzsFqz-H0gGFAh5PKADbOwQFdH6BGF4My-USFJ2AwgsFNzf0KEMyZm7oJTMe3wzldClxj1ZQ-ZFaoyApD7GniA6bK6jkqDq_dPZR7wPhgLURrYZRewinKnPFqntx3cK-ZuMNKaBeztUAtcBi9-cGqMit2Z7v-ZOKOb6ZCKf1TddKnsNH-ITp2jlO64dTwOUKfAsXgps4S0ZaemFoXU1-n6w6u0-cVV63QFQ21JO4mMpCTLJv8bXHn34GC6wVDH0GjElhBqXzgXQtZqb_GeoE2s13Y4d3Dmi9rL92IXXA08Uhzmqqh57DSL9gGIcoA56vIBP7PhZu-g0pMSyHtO9CheC6Xwe3KDbC926z7Da2KL28V4jgczF06pA7s40XT4ehNZim55j3_X-Ohd2ReMIrqExo29eQXaxNQi3_MZNiUIWbXFHAZdqxBUdhMi_5gkBqfudPhBx-OhTblRtatzRbyFqH7LpWYnBTCg6J1QsbnSQkNoxVjrFPejAZgFIqL57baieqcZFlmvUfihlGL0OB_Z_0_-pua7H-ukeaun3XXsJcRJrbOhTgmXVNHjT2KGYvxE01hXKzf87RIG6BZeXB8H5b0t-hQnu2CvKom_0y8lEqamXY0nKlLrbCnNvxvrNuOiqESVDX0DRIeJVJU9nuWJzsaiRaY3XUy_VhcOldovRgd3-Fzviqj1MOP4Nbzyh_MihMXS53VT4mXVZw-MUtuBLyOFS3lYjCmHn7tP82Nu48vsAp1y8jNr4PEbTB8_2QYDRvYrZsZL10uLr7mkbYFVMF_6rro2kpw9F0RU5-YFbWuOqOsFuVsrGFVUMJeUY8_rtwpVMj2N6yBcFEvq-Zu97ip8ZJXCscV9i1_gcvfGqZgeK7stGH6yMkncozjM_k5zJsJqq1N-qnQdaIqwtW9MUS1X5UwUQwT-nen9uE2uazY08_yLWlZprcAN2KLFTd0TVBSlB5nzMx37Dt8_QGv8I9h6LqAxAFyqxzBUrkSLkZBp-9l6wBZmfE4wlPAlLCCr1j8i_Dx40EaW_TJ1mcYrfbVEYFQMgySEOd8wOarZRrEhht0Y2m6wRVZT5u85erF0yDWwIQd5Mc61k7vmA-bWfYXff-y7-JIARq1zw47V4Co0tCudcS6TZDgO2qsGTZ9hZFU0W0u6UpJ0D1ZjQVWx6q6mrDPoF-9kOAYqORVLstPRbeKlKZ9WmghbekSqHBB3q6Hi6WIjn_A8Zur-amGvo2cFk0ooF5-_D9RTlzAZQWjuub-lMtEKJmlv1ZNX0IpRZkEEVZOsQsaXNpkcAiLQJ6AqiafP5AeGB_WOU8JmWfT6imi5wf6cgXl-0z9Apb3vljopFDvqvSqQBU9OAH3bQNpuK_2TYjRjIaWb-x_J2NKiOmv83d0bsNwXsiGIjW0doqXJ7G82LSmeDbT5PieqX3qtFdINv4Zo4CZYrys0jpawuNo3VnRn1v2IWxcU8FLIbm2oLefLSLIJLTcQ1gji9cOydOMtQXAUCNsla027WcvY7HkwAAls2VksJyOFVFGVDK4b9O6bU0S3PMkqODYeWTdgNgTgLNw_qSyjqVsaJ2nrrJikGBS8BDirvRYSszREyktbW5bEosulpR3kk8x3f5BghG4G4UbxYhivtUP4MxujOaN_dOQhYoOC1SW53yfBM0vMbQzEQchmHePO2dO6O3SgB9hvYlyRV0ttKjujrtGy5EXQxGe2gsZ3jFl8HZDapF2li4nNlNI8LEZdwvGktmJNc62pSXo528dT09VYKOcPZuYGEbnKWpzDZaIaV-ffy8HurqiC9YqtjzMKjZIxOgZPd2rbnlsbp44F8en3EabMN9TnSWGyodhMDEovj8YqKX5kwtRfMElBiWr-7Bd9_T13g6u3TtPZfwyvq42Cos-OnpcAFdMfhmYlWYzLfrM9idcgt38GD28zxHDCAYaGx36_ikLdYzfY6vUVp7WsBkiOTcG37_WiZyGDQBLgYDn9KXssKDJLBKEGVeuWkD2BN9U_5sXjApb18L9P4Rp0FlmdIHmMlJR1uxmgLSx5OFTH-CTqRJbqNbAYQKHIKqEzySLBrFgxkZeyQqfngstfHN6WCdz-Ee8Uy6wlJ1uOZ2zl7u6t9IqiquilR0ZUwYbF7LMveLUDVV9TJO1RBu3NC-5q-RjMOuF5v9mZ3T781bL_r4OIBDwv5-_SDwmifeLHNuG2Ib8LPPB5Ocf9db4syOFkXYtpt459IAv57giq1DKBsox1xRl8AgWNg6nQRrKsil4bAJ27lLKwr2iNrsFDKRr-oS2LsqNtTkWsFSK0-hdNS3a3lbNxLNo7lb9wTjCkG5CLR7j-J1dAsOqP69cazc9U0N9s0EF1ZZKYRXHi3BwbIr90uMYzJzuivAefUQVz3EaMYpqVCrQWqU-UK_67Zfn6nlEpqArWKVbX2_B8K3OkyRhDwKAI0n5F-iURYbmAsO9QFatt2Wg2-sVIW_LLXOnaVmHiorCb9S-_qP8xxwivr4IG-4WPIGG2rwg7QizZCThzgGxznXs2AMtjQkemekgd3VJgLPwnhbReaPE2B2enheBnWnBRVnPyjXFVFo8AlkQHl03K2xl8VdRc5QZETDvupCFTP6zd1VHR3dLkhyjEt9s1v2EdOtpkJLSC1hft5fGxCBxERMMXtuvFofZs20pSCfo-z4WiW24OsJDdFjnQ2sZ-60qvNsb0FrEMbRPyAyMThb6WAre1IT-vncMXKVPSyeOi_Ci6QB9n6wHPqgaGS3D9zfMIxahP_vrHzgA1REPYw0s92LdTPwGW1XoJSwuE8LEj5WQgYiNX77NgLvJCL_bUhhYBw0ioITZjwSsQIioaBdm1IoUKaFym6PTIo7JvLKKTuWu0iVcRQGChpmOXkqariNahC_Fm2PS3wHXmbEA-TS85EvWZB8f3Hwz_CPX0AGmtPQdn6qekvKkdTWLPZsgW4k8WlMKzATIpZL0zDVbNUhKBLx6fqdrXfhlarzmuPCraxnm08qVHYJi25rr5VbFvssmIjuCzZ_gt607yk6gsFfCpqd_YodH6NgTShcLQ2GkwigGL1Owg7aT2Wk2LUODOPo8GeSSIHEuwlqWgtxLEHBwSB9WRX8gd6_6uIzTRpm0JIV7c1f-pP0alVnK9NIKK2qpiZfBzC-mXgT0iIgLUrvn2sbBXKNosrNVRcGwYj-PiXmPad3d269nFzaYojQf-yrIBPg5fdARHXE3FF0SFcFKOM-TqbRrHLD4atwMBt5CNRVV0kvUWDZ59vccAhMXKsWGbllq2EblDUyG2yaiSRTtr0tLV_0aKnRqtRuCiEmddQb0bj6nrEEROu7aSKMX59YYC78kyyPQ7qAj1fKHBBKj6aYVaVkYIz5vJWoQ2306PvEO1n2UwaM5DhQxq0MA7k_1rTpG9-BMdlQVdXtDpMmckjiJv0pSpMMhnYIneQTulr0d4WNtwhI4rhCdwlTn0Th93SwMLQgppvYty6M0S8rQ3AHUbLQS5p98rt83ufLYHg8LyVpwES9vTP3VPxUE0Bb0ZCsCR2VRzUsFtOlB0z09R9XU9-Nqf2TwIMtVEWR2X2vqeKovZPgLfcw6V0ZVHeaf0CzKoWjV9rg4j4Zlq6ORltaZabgi0gXkqY08AySq7L7uj2KiKseiWeq8p14Kxt6FWD8MIyqlOY4fREgR5NL77ehspogGKHk0MUiDkAUny-UqW437w13FrawxykqVGGy9SCohEOKA3tsI6opNGlp0y5VNBCRSQG9Ceffheo0roMbO_72quXm46_vFfWrCVZH8aOHmIqgzOUzsuTwDnuoJ84ORnXPJBLI3yrVmPuQC4MNv-R4RYri7kufaNeKYS66l3fo22jPO1yiUJh1YPtE5-77PG9E2S2DqwjtFx3x_WwH23PN_CPf7nPF7Xu6NEpxagSsaN3E9Cx2VovbmiK2wCc22G4AEiS6vfYUR5iw2U6aq813PXELa-K0ripCyJduHNswVAMYHhnUnVXP1gDU4u-gQwkLfjCs7Hhx3bzTLl5hQXARE8i39A1ZxL02ctrDZC7t0b1DtLDcHHQn4oZYuF5CjxO1bsOatl4tbkFZh8l3kGaqMLZ4c16NZQuLRJ_RbWgvfmG4inRYn71MXm5gf5MXdXkCrt_h-27FoTkqP5a5_JotXIx8firCG6OUBs7uKuZ3EDlZO_l8TDMn3cKNhZrv-gKvO374pWu22EEmEn209Wv15T--x9DajVQ3lpZuW46KtD0uAA9P5dvExrq_HGRnUDY3PaWkf_66wwnR8CJkZrxbuDw6wfrXN0h1IHa9ZyDfOjWFLee6UX0xZhczrTnkuvZKkxd1_b-VI7Hkr7wE03lDWYrxTF32lYFESWrjboI3pWxBDKN5wCHQYWwcSgm5r5Q5lVA966y7WYUuCZNVtagb4dEOllhqou-Ma7_bafoaY-6heFEBEGSEHs-cXlMadYnle3DFms-J6JTHu4cDNnMdZbnoF3uj-HtNzsrbDItfy5K_i98EDz9klgg_zp5Id8dCZs8gGh3bpdFkg6pzh6R-ay5wqdCfap-mPuJpIsUdGodFGWOG4HLI2BUj0AYucLdB_QxfrXz7Mz7kxcuUb9mDC9WO0re7l5tUVFQpl-GaB4Q74rj66xr81CkkjIEXLZXBAXA6DIvJAQatoegJkezS5QVw7bz9uWa0NGLP_dqvq16hGZk2EIUU0mcZ1-YSP5zdtrbxZTNcJDohKr_6HD1YT8qOn55WMoR3QNH1J_F7YFQ3ivmS_Dflye7CMtjliPEee_u-yyxbKzpkzDecaU829HXBOOF2mb5WUFwFn2oDF9bIFgOQS4WdQ2ipMmxmncXddXk2INaqkZTxFW2YLIef3AWVpQhQM0nt1zFWvuliBdv1z1pnJufUukFIv2eUhPNpnMDN86SA9gcnIZoQ8flu3qaKIaLewiMYDnYZKmpKcSvzoQHgtcGrEzZX8DP62YHimrWkvKBj0rtu50k9AFWmEivk6ReKrdiv3ZdblPOVJoQUaiSuc8-FFJtuOqgf2UOh2WIQq3YF07bz5tSYG9_tJ_je2eqmJiuuONby3h7_sRcoXEVGJABNvIFtqLpXLSuoSqwcKcxyXUnGg_4xFZhdL2uOOD_Ilgc5PW5GL5tHgTlwxuYn5swWDqMoPPrwubvyKIriThevZUjHO5KXk9bilglpIE8BZrTrW7qWnsngGYsoeYRM8z6ZPJYakl32-sN5m6mXErCkyLqJNX2DbdsZ7-H8I_M13pSL26d6spJGomvkE_4_T6iuJaJHJupANHPYLu6imvellci7FHCmuH04OEqVdMHALf3qoCfvZ8YhxhxKT6d1H7U4NrYOQ-xZqFHMHG9ViyfIvKvpOubDyFtgor0fuecNYFn9jInL9c3X_B7fAS64p-JAUGkh2aw8fo4MET4qCc6yMxNXqYI2ZltLaLbhhNsZGQ7hsy7DUjLD2rH3LgxfwyJvI_cZOMWNsWwLbVwQx9XTVn5LZrDrkOWnE77MyBvBseyDmHokuKEs6yvp3SCrGoa8LxuLAYMI2YyVnfR8R6SdP-grUgi9FIRjXKOVlQFF9EBbXLh_UWDleI5tKCYrZjcfFJh7BgulOOYOdqYHqPGGr_tehGyYlshcSU_xhFHIpOC644zrp2vckquwvz_OzTyLk2MAUg-NfnQFsBEiywR31jtS57CtzkB735HaCBDRXpgFCqB6SzpGeLuTy_t59wMaZT8-T8Qk2KmCHESZZ6--IYFaNR2X6L4H3yLzFZo5EtB-YwZI9VBBRONjht4DHTlq3WN8aQaFVpLVw9SyW1RfFwo8E2WvMd9HEuIINP1M7GVyth5yrCEiWxExq9IeoqwlWv-DtGkgkym_x2oa4hGVcMIJE_B-y22a4DXBNYApmI9pcU6owRFdugrGmrQQrAgMMhlzdMQgo6yoCBqH8cwic9_YjNCqbb5wGguYzS0WFp18kIz2e16zGqutN7pniPD0rB4ZwQmTnfW6lqHR6IMoAYHX586zPtdjyVDINoLCr4-qGdrq1U607Opy7JzVi31RHjyY6fPs6UP-jn-pOV3KxfWJQtKNDJI57G4N9oKRmlFQXmAAq92q603-xkTEQsNPTiWWmj3ftwHl4huPB-BE1ORkjCe_NHiqDegs3EqMsa64WEtlIh4tZnNzhDOKcvtI20Rcz1lvKclRv51ZM0lYqwy2sc_1svq608b8hh3nIB9kQEKefw1Bi21QtvtzDuuxaWkvIz2a8kAYm_c5E-FBZdZ7_hoBCUV-NCuMzYmh2TjQ2fYM7c84pKEchJKEuAgYZ-SipOpqTSsoLtqn0laSM7A6ZBUP8ZPmcDQEGxH_HYl-Zua33IfmXCZNOELsg98hI8sED0_082_1WvoNiOI2DbGo2R9buNhpU2RE76Am7p-wvXKjgAuTcMq3gvKns3u82WiNw55ebCx4XDt8dE9E6TFY_zIFZ_KclvrsXthfxyuu452Z3WCiVzWD7k29NbFY25YQK3NqyRwlt6v2Dsy6gSqLnN_0Aklg2K6qxSOOCijhagpk9d3PgJ9yZnwzom6q8OzKM490L_CNmQjpok6pC1G4A05iuyI5FDrdZrbZCS9HS0Jf2GOnUY67BA-WMXV_3o2__K94NZPzHjQv4mXiierRxDk_b_GJQ42en2tFujNfyNVi0rCmw4NWNqClw78Uq4MJiZDGY-IajzNnHCRwfGjE_P6lOPanTJyfIwLa2b9B_nBsURl2qlzkB5TbZ0GjOgK3Frz4cQvisDPYPz1rhns0yC2biQfNeG0EkwrI-_r9lKOwLd7ySoVGFlMvZv4qUj-MnDVXTrgVuItwLUL_kQKnl8pqVGXEiI7NB_yfNKg99rYQahW0eq3E2h-h_Sav1acqNB6v4GRe5Zi934P-TtMpLDmeroF7zOzF0APjffy8o-lN3u6qna0mVd74VXaZkCrRQzFOkVCYWGkjBgmMSEEzTD6vOkv0m3yVMMIblz5qsMCKiDGjpKYSXR5BGWR5ZTppkwnyQyEMApmoOLTYrgkIo3u7As71D4grSsJJuskPFlGv9QRtRyo5l1XIt1WkUJSwgEkheYp409M1UFYCB4x0P4MP98xMR_GZt4Mxhk9JYO5SIO0zAkX9FE8tv4oyRjBCnqyTK2AU919nIZEfO0Dh1uhv-t02FJGhfS69ODi20ljqAi8EGdpne_7JzJZYpV9ykxZRUYAuhh7xzPVLGdax4utUols_3TR-KL61DXzmHCruxVcEhCjdklxIowzS6f5jJZH6THxz3OcUiOOgyP6Jr5258pgLrMly1G_17zSSffkYLkI0l88QpvZgtGi6IaQiIllTX_GEZCKwOSkyEFfBVhm2iTyPvwUi2EjTBogUZ5HUJTWTkARPz-XnsSviyuHvR8Dww07J27MLQ3rtjesMlhwgmlENQdFzdmDGi0xy_aF9rKhIZnPI-OGliAGCWbDTHfZUikGeX2sP2Urqw1cXnLdKoBMjVE0N7-bwibrvPLwWY3BlmdyQBpMT-to6regxx45ebe7BNpj-mihOu-8Jy_vBdGybxpcCWF-EU5dKYDVEkwC_I_W2LL5XYo7_fCqXjXkKSr9aSq9dk3oj4F-kIXND143cVzwQM4r5wzYLOGMWV7GyJmryw49EwG8XI4K_D6RK25_bA5CXWuf_a7p_TAgxaHBwQdDxFQLkQIp3-78bwBkoXM1ON2lhTHjCyDTlpwhaR_t1NmaiT-HYGfR-kCw_8Otn6i7IIGSDcr_C3ZM3mSLHccQMISbUgLvao55E6629Y8reWBLsoFvJ1ILIlpaeMOp0r9SJy_Bl0czlq53VC3a4p1nwNrm022ppk2-VGp-8OQNB9N7GcMk2jMq7uSLxN325UO4-kPVGUc2xzJuLzgolYeZe_2kf4j4ArvIfYWWpWhuCzaj7kTOawn6u_uMN-FNGnGSoheywEwt7kAkbU0m-Jw4jtA8scXBCzLllzT1gJjzKWpzm7TkNRoFit6c6fkflyoYV0MQZayJ767yWhOIFRoAU9fUCgq24Stv1pDkf8bd3zfKYu8Ws-_4_Cwi_EJtODA7uQ40ITYjALO4bepwanlvlGJKALL9IG5Z1U2wkUXh1jjc7jQWxSaa2Dg_jNHmyXq7d3FIIxHdthh0l8ywPRfAhvI-eqrkbTVfJIQmLCdl_29o7UsbeML9g6uPY3QZhihrRjykMct8zcRaMiWPbpuezE4ty0_JvGkgQMZixO1m3FOLKr_xKCnB73Ce5TyKIBoIDjTpH0gAZxx6JJcA3vCB5KHiTBGvwfz6hDMbtyjrgETU6Hp_ZbsRcZlGGjZTV7F9uT5S_4NVWy37lA0Qh24nWt_KiAtuGyDZ_hz0PgXpVm1oRikoduRSEOFlMCHsbQ1GgW-MwJjS9z12MzZp5pyb8S7n9gvipLRoiEELrGuRIZtiVutk0r2AGhtg7QAqB5POV_S-29li4_znqme6gen8eRh3kTtvmhcTgAh74Tloc45Ovf-u96pTIN9zs-R8O2573TU-jZeioD1KyzZ1sf25MW8R-P46A6Zi4KRQ-l-hySLXmid1WjqeL0ugTf4P-y602ma3lTySMXfjFTpNaUE2w_ihJnX3hL7KUesbsaumi2ZFZraMHr7R0lX9ADfPY0ws4PG_plFP5ZeU5Hhbs31FyJkOf-KsxYDY9_Teo5OUHbr0Q-uZWOiQW5mQynxDBKuGyz52a5ZY3zvg_sgg8RJf96Q1l8aLmAGcHui2QWL_zb_pfzGW59vnSRF8014IbwsLf0CLTqCC3DmO1fz0FDhifb8NUhq7j2_pQPhR6o4i0-Q83LFcXuEsBFhliFWOXIla0jqP2JhLcBErowuqus-a6rGwOSa0U3bFveg8NveyeNwT9eTioXCCSGrkP-_FJbp1biKrYFeivKFe9VBN8XpyuxqM9s8LXeeawtGEw-WNvIRPWJD9uwgx-AjdwgemcL6tLEvf-yKzL9S1Re8Z8XxEIiave-yvUSlJbMQr124X_p2UH-A6N3aAhhufGlzto6VUp2SE2njbQSDuC8XhkGUFiwpsMbPXgkc_ivpBgg3Tu4yBYmMDW_N9AaBbeqx75OVlxQDSGtcwT0T6SYvt76DD2nuhIeEzsUmW3MsheiKTHuVyo5BXaI35mVJT2SkPUlC2qQGhJz8MvsnMqgzGGSAGqANr9gZz76XC5SslticNJ-ZmieMfilo3r0jj7j5C9RPI3m4cF_IowHp__mXUUPQyK7RjMA8o8rdkVeZu4A0RjBdraFfJ8yLQ_eJ8iob35xF0SrMsp5E4b0P8p_rC19-N4eWbw7Ga5z-NhPP7297qnbn8sZU_77knvwGx7-v0KDWiqF7wXCaxnI6yRD3BP9k3uYmdIxYFnztWQVGmX2f4ld_92EAgdxizwHnlPpjFJYfRCv_Q_mYRS3eRBDAiJ4NplbJIPJdMVGoUa9JRdqY1NxllW-WAv9JNaiR0t1tBxaw29_8UCmEQA_fNEUNdBmtiVa1fNK6ByFWyq3py4BDuXLHU19d82faFxcJoTM-LxXZR8T6Ks413-cPhPTbBF6GTZ9FaMimz2D3e9NTXLXjReb8brEbQiOBtbt_2KqDpjfqSDjyCwd3maMUlMqX-rlbFC4UdHdMfm_0IzNcS6caZlZsHI_JNZMV_4m5oMEvB1ZmTpgrT9h-dA-jE_5mLmdzWyK8PtxlqIOldMByMp-4zk6X1blaq85h22oDJNI7WEl0eCy2XzUmpt7J7cAPTpUfKrS9n46_NCHb2ZuXUs9151yN308-TP5aPxUd8HX86Det1EnaVZhQvsfMVSyjwZQH4dQKtsGS-OR0SOqB1klHESUeTppOZuj7VnfRCGVw8E_o5dQerVLuUEeNYoJmcfb9ilSQ6tUIlQSU8ujyf3gJ2ou-P4_ZLqKXCEwry6j4ht5zHVH_2GLp1D7tCiMOZ7SYZADIHXCN3R83zWTXRgEZFQAH1qDt5n9Zf6RBrsP3dN--v9AroMdv7c90blIMpvzDAiBwn1VVVmH3AUEuOqU644fBfzsfo2tZDox153mGSQHDkzoM2P4Qv17tFCN6kj6Y1sv38zZ18r65Ii0n9KMWQHLmVclikaDTrfLX1GnRTtnZXfgCSC84qbPvfF-jQqvmunXGGnRCDrw3vKxgZXL71m8EAKvgf4feDzweF9u-1sSeYdWYCrZBNremBlKEKlousPaETTWYqcJQBHSmf2mjBfPNxJgPwHDQcTQi2m6t7jC0b1jz9-filkHu_f8kMgqLbnlVxG-7yi6p4zPZ97hwNQb8rfOvMY2IQUlK_hqywvoNLsupceU4Nn6BAZ7bLL_d0cxJKkTF2YFG85wbWkhFQh032tV4NifBjx_lXwnjNneVCSbR15hTjxeTcN7I_cNxYNE3YpPQibXV5H7fMgpgjqQUOBXghX89vThkMi2usxcsZwJWNLDXW64tGn10A9oVo3HnksRgErrn4jGaf3X4jyE8llwvx1RKhCgtcOdwU2LNky7Xx28Pjxq5CdumkA0WPXPCQHhV9xxGN6crnNvH34LT4HabLb3YOumsj9dBdNc76WZKKqzQc6E5U1_C9bgpBkmKymFNNE2OJp7pExJ27FqlRVb-dxo6SGV_0O8USCe50fMv8hNY2kXaK1qmzuPE9XPbfeH6WMICPtNG2t7NINF2OvAUieYA0VoHG5T994nT8K7JoBwjBEYofboG6kibFzYjPKDY5KZdYGyzavgWao1PY1zf1ZfLAWKCPvF36zZ3n-f41Q6ox0xF2OD94gfY0pRkoMnAxkwRaMpwBMdkl-RK0FWfJgWsk6WTUhd2SmeXI7aTMFs8uPQXdONa0gV6w1UjJIu9Rpedux5rf0X1sfw77GdNY7kAP56NN3ZwgxaEP1dQhunTjyzkE3pntiFjyVJmAw4q5nMPB8OSAXi48m0fn6sp5Do2EhdQlZ9N-eNtJDlqTj-kSgx8UWJfMWcorhLGPfDJQhCKeiLr7kyTIhvEmpyAA0xv7SlW1lEkS7XgcQ9KxRX3c1q2bbdxZ1b5-hoXqx4vvqU4Bft7vqfU66mabIG156aMY99FeaZqoZNv6kRaVzA82XBL2Btj7QD0pEjs4O2LnrZHPNX_UcAuYWhCzw_9V3N9pQVZmAx7G_5ZZj49j5j0DctCkd5ZhEc2NvMa1X6IAUdVFPR7Nc3VMz08yEBnYB0z1WDut4WxhlNoqqikPm7AHwkDPUK0Yddlsu12usqTEM37XjfPrW0rWd59l9g1UUMjXDekj1I-b9L-qKacdiO7XVC4k1gGwra5BAbQcduon6hVV-hWC4476ByeMRIGPqOHndfBZzvQgGOt-9sx7B5gtKHOEDCr2Fv7FaWwEaBdv4qyuT8ydhrg3DBbnqnW0h1vKq9vJF3EQ0C8UCUY4w72dfcC-BhJ8VjnzxgLJ3X0E_05URZ8tdDSgJooZvrMEGQFTBNW0-5tNr0qSqa3YEfIFxtsz3hnjYmUmjj6uSnGD4dq18BDNR_nhqCFE2Uk38YjBijfKeN3AbIEnIJWdxjye8MXLrekTUNldJJZtv3m0EYBVgZaBU1auRGow0-GDEkqAGMXW8sVs3D2ZNy4Y2fvHOvGDIrpDnROftwVpPdSI9w4Qa-SXetaepM_xccHA0lpBhOe8RFMY9jbTTBpSwJ9ABGgvhTcfli78AB-UlSrF6UxO0SfO-ANaDSx1O06xQioT6oBHLYJo4D1AyF90lWg9gl4zTcWyD_6C0JdL2n4pbTC7YrFliAToI0W__WriXaG3ChhUzOFJ3qzpyBi5fl4pzRtfM-54gxR8m80lEYdgtAY8lrfM8QAAHhXTUvjKkU5-Us2y3XlYBrOp11N_UYbNsR-XybHlOjKmW9OvFtW-MJV2iNSnvH8HAO5p8062CExqmb51-sHhkcPJLS7t8fLO2B8Gff9W91uJCBfnV4rJeU8uQRrEOLi15TcPvPgtchvV09UBGON22rDghs0cHNdFMieBZSJatV4GVMQzVsA8X4Pvlnnb8wx31tvfozYfWE5K712MsXxHTnoefZIirglgizWrGH1dASGoFjvbiXN7KeBoyIriwBtbs6DjUqUFnA4qWTJjUNSdowZ2gg02zN33cKDWBOp1sp2XAkpREDCd3GwbeEIOTLNG8sEjyhZezzGpQVzxOVu_kmTf9Y5h887DFNn7na1k1tQIYuY1mC0I2WBYfGaAHpgpcppvxy79pl1rRmGBLXJCbYM4vtvgVa4NV_AuAw9gcmkQLeC6LcR-mN3HUmNuhmO0SS-_7fi47fkEfmD72K2AgmoqAs5ZLx00AAoiktS_fFqtwwD12Ugkcfd7su5SDpjVfat9x_TaXoakS9gCKrvv16Z6MHyIybwcNCdh1cCmo9KIELH14uDbdRHBUgwAdfwkbpvZhRgC6pOhAL7nB-nAjF80ePnXmyDRn-qxDSfWbZEwsVP2YgaxVDomvplQqSpilk6fLSKpQmo1L-oQDtGY_enushPPAKHiqEf8bZTKg6wyY6qo7lWbgqiTuKpl8EptdgcqG6ChNmxhDqZ5ecq_wljwJEsDYqTZHkgcIOzQz7npmMEswrpC63dYLH4HYjM44RnQPT5e1ZA9VOB688-P2XM8zyGkzPm-I1cRS5e0L4I8rsf4HOKmbc2RP53QTXBJXeNAZXBxF0GFvQQkbM8bclhSK5wxpYuBEsGnLT9sEAQQ3bLKKFlphUbzfFYc5i6ROoYlXnWdNamKm14cu0OH0kpwghSHXfnP3QvASGhzEGf9xlKQEIOFsS-ir_inlpYF_ttAgWvdRM8-hBivYLExZHv5Lb0W6ulgKCkOzIlxJz-S6IvgVQWvmc2kq4pSdQFyW84TQFcaQ3Kbvz8-PMXja30a-yIqpCq9H4-sATuGAfUSlHP76uy8xz5eTSl3tXe8mTxlMErUezuzIhuxN35hL9WC2MuWhpA_ArjdZhrizjH8DqNw3am1g1V_OJwc5Xl0AKYzEiqOq5fJZIHIBMPosDM0l0WMrGpKLQcMuTQ9OiqW3zqkn2HnvFjJMoTYn6gMjj8M-05Ai7PIQio65eNuFNwJvT4RNMaxMQyWRY8pG9qaU4C0CtSiyxENK68_OZLpCPJWADDtSDSSCLlT_sMEgzgvqH9WHj3ncW4nzPTdXLB58Nb169xVXMgEgC-MkvLl2E3w3_bhj65k_8h2zq9A-IOsKh8_UxDiV13UT1NpQ6HPXFPGQyuG-b0yqXEE15ZHIwYx4hLC6qkVRmi_gOX4swII9NgU41Kf7ss6ngz2a5FtD4TH6BFK4dWnPsIXbxOKSHBxtdNm8BckyOuXQOje0_DMc0lbUAmDMA9KZvxlIEujDAj_remxEoofkXqmM9FPEP6MC43KGS66EItoB20MenUbk8SduhFlI2i93TkXJqYez-BrP5CcxLsq8Y3JIWRqx-l4TpJyq-YRdRwUjIrZM4L27tNWnWwLiJ29u-Kpp0VBy90ECnI8Ao2Vrfso1fRQmLFkeI4UETJWmqcELmKszhVHbrgkd4VqAqQNzAFqhfMps7Xu-p6vtPRuwfe-imHJvxE8J1Gb8sVCuID2OEpK-uTIWD6f_vuCu3iXJ7sXaR43BVC7UmbvoXGMKU2tLqf0p7PJG-xPqDckKyq8iEUGHJsDr8veX-TZ_Xj2T3lUarnKVcAQs9KpzmdQKdnHIUCGeNVLmPe2aRVH7nCANQerQKOsq4ms5B9BDI7xLgPStBWSwkeo3PIm22ZXwCyNvX1NnImx7fV4tkWEMpoweXjPntY9dk9wJPVHY75h8lvFA102ZdCzDs3o-qoolfaeRUWhpM2oMBO8ffhIR98sgcUcyUyX6tK5RKihj8_lNhIKUBJ3qh3_W3-ebCgfp9g7SnXYHA2qsM4HJTMaw8TWugDeN9NggNyQTA0rUGu58I0E-6IJwrkcuBifvX7dawyA6_RJAjNKMjdJw_moReVwWxfiKGW8VW-zbG_ccd9RPpzQRy8fOCMUbMEZHbSUC11zSy60UB-OQnI3fbqngYzwGI5mX2oed15GQwRX2vdGprOHv4OQCVwy5ocrxua2xZgclf9KHngG2OlPbNY1yuRhggQK_uUsD6CtIPfHNeaik-gjjglJl-2mgUaCV7H5B7BId_am8XXmHqS18nOTb57Io4sicQAZL3UPX9P11DdGXeQa6ne0po1HfD9SP5a1r2vFAmomK_CczKEYQVaeB3uljaehJJ6P5Xiq-prwrs3mczdS5E0IuJ02NN5Wmbu_12EOfs0f1WKXgqSjA8ESBBfwRX94AIPHhQyBornCR_t07BDT3rexfkOIMKG8MnmwFkUIyQZagXR1faaCwKhvo676-nN-YdACeilylqiNJ2nYWTg2sybCj9kAfs5ZaCCNcxIFQip7T8gKLYd39UmHE0u98JyPu-pgDnaMDQDowe6RNxrx3cTJbVORT0I6oPh5-wdv4xwBIM0q_-Lp4gfC1jyyMpBbfX5-rThK6gZA1x8s6zS63SrFk1ihp-HWEjRpP7jblvY3OIQvrflQ_UH9Z_kwJ5sFx00lPBahiHaoAT3xKjVz0FJsv7-fm5aF3N5hCYMpYHmYaPwjYypYeEPUd9tSb8neYzUQGi13fOQjmRRZ8okhiGE_2LKAQJU21KjCkPe-OCfXW6zy6jI8S3uMRdWGbwDpGEfWBAD61NzP9bpDiSzj1LfAZrvQC_UAC8p4eRvXGYHIZ2uXSWh_LbXa8ZBdvdv_IHuJYtFJJXqV3Jm6R6zyvnDmCE-dEX2acD-O3QlUL1PJK13MJTlxwgHgIGyU-mE8mSUrtixxYpcMylTQCxihRhMi4bpvyXP0GqbhvMOYimiiSNsucaTByRHASvI7D6SZk5SyMjK7UQYPidHRvDsrKFbNwXU6qxXZMW_x277atNBCSCQz_pDXqvAEJlK4vKbj8cluCO1mdpfwLr8nCmsJkr2NoUMrVg6S4C0ywSvjB8Xe7aH6AAQxFTvoSlpqtusSebpR-kPcZeI4xRVdBLDJOOn4D1y2fZHy1s8HHt7iOE2pzXx_NFaF2iCnrVv5Ojnl41H-42xduTpH59qbobV7ty511h6YwT2oujZvpN1905itSFr3FtdJqjRv1hF7IMwpzvf86rcmetQ7ZA2oxaJ1vrMgBl1fh03t1EHIXypzVULs5iNf677vXM-KC-SL9mv4SludOuqq4Pvb7aX5BkEjAnNMZ8c0F1Wsw05W1sFePItlx7x8-uqmoYLGhQCxM9Qyca99EO7LlWvQKfIu41Rw9CbvZb_RkyuPGMaCwsOGbhzITeH5y6DXBp5EyqqR_5pQhftA4wFygAzKdGp_NIiC0-7wgK09inKjbbpgJn0XHHyQakDW9l3_wqdWSH2DxnS8cpmWUUL7MA59PBs23FVkbAzl23BHgvHHfBQ3FzLjHi18jFpT5Qdj68qthNiRAZjrmL1AYTKtJWyu3L5uM9YFtX3E6bFaBE4dUZNsfAMcm5rbr3AG-KP3_ZtTrWJbZ3jnsYQIfLeSEsuvPottO-vtu7mp94peugOvrHBrKB8QOpvfjObMG1prS8uCvT9E9WK0jhzUyqGVFLj-APnuLhtqXYcxe-C4YxRX39OCDTDHe-1kS85iCZHx674OvLtoNiejyP_e_V9Mz-GV6feBBKEJcInreu4WssqBkgmc-cVZdt766Z61YsA4Imyxy2RvoyTD9ViH64Q3VDgB53yMeFFgmFhHDOclypdfMxDClY4UqeuUxVmXmoiEYnUGKLfySzIulTAHj45zxgiWIWx4Q9aZRGi0LT4FSmZfi2c0GewK7Yq4ayrp13z4lxKixU3i3S_YLtI3dyiIeQoNivQa7jUAVCE86rXw5OSoAbVnfZqPD1BuvJhYIU414LCDL3oNQ2BQs_pQDbTGrIL-Z5P_ebfKc0YZVuBB9w-t_qfvWclr1DIOQNmv-C3nACZ1IF6vIyuSX-kWPWxYVbgT3iPxwH8MMUTOdZiHeXqSEQEiBN_216eLss1oPJOnDNMrIQZomja8Lk-_KoHRS8ETZy8A0VHbunzUQurFODZeYV70wZkUYbZfhymJnCHj1Z19pnw99T5zep-bifKn-RQjY6bueAq2SpMCI3Lbh4LXaX6O34MMQFOJlTslT13t44JubKxnvfwmvH2ONhI3BKZzeY9VSQuimQFzkfGRDsq325lPTRVGJn6iBIOB4Eo8Z7aiIt8pGRmVffKYnQxizxi3q01MX25WqW30FtJSdMsmzNYp32737lc4_zsmCR2Wl75V2hJUPW6_CsjxQssjvp44UhOQTNx9O9TtkPxsQXsvqGh4TajBUiB1VPJxyZQJT4sNWonL_eUJTXj2ubR80BtDp9uNlI_UoXQtFws3bFnTwF6cJtmkMhqwlkxpQFvHKvIAKp2R9DVRBefO6NotWlxGKu69RKncZiZV0ZB5TEHq6-Q7PXNXYUY20UUs_h9Jvh4aMk6B-d7I3aVqnSPxx2Fjxhzfd7VlNVv5prePFtCsVfL-VhLJzA26NqV3ZZVOvSsHO9SMyYyc4nzCCNDrOpoP7OzGcG-HQKzxp5FYcwOA7WCLdHfAezL7vlIyoe_Rds2KaZk0BebLOoVmP8BHO8iPfOUKJR1doD7dblTdjRAjmj7V6m2txeVqope58T645q9TYHId1kBKwUn0Ne2DOut8NkFRla0jJ1NQMIgEUmksD4CtOQ6xy56U7RYD7tgw1ke94CCMkwE4GVXg_lrpWEpUBm-2zBeYVDlG2PqnF12Ok8QaoyiiwI60-OecA0BD7-j61a-3rwnZuzjO-8mFwLZFS2npPO6bN8Oz2dyGozrwRIWDjVrk2Y13dGkIbo_8Ca1bzpuTl1M0ZGvG8nkMukTvl-hkPBi34Z4-sARRrTweJ-OrheFdhTU1IZt3QDLeNcgrhB3Ia0VH7xyWQZowR4lBSgsSSQr2H6_9S2jb-JoaaBBI1p7ZTZRHFHcQ2pyFA1lL8CnnGm7J63rHW0Li03_YRqWifEF83v9dCSOsWKXS3WOz-i4ZdDrzrgfcPA9BilKMsVY7kl2u9hFKK_x4G1dqigjLxVnY2yX9lf8CaQqC9ZdcTdXf7ja_nt8hLg_TJOfULgIDFwaw4BYfjkdzVi2Yuj8mKdo-VSXrw0JgKelgVnrfVfYskUav3ji8xjd0yqoUcb8CDUD2ZtjaKyw1H4rcEs37Scil4Tphp6zYpK1dRpstRjp_pVFEctOHX8X2N0CTYp-BKxr76O1xX7Vk9md5TDNKs8v-lSJKGMeHGdkdND-7kBB9m1MDN1gXL3UWEn_ZF1QXpVN2Pkeh6EJ8h1ym_B3Ny2igdSz6ueLPwXGcnIYUQ6G-s2J3npRmarPPD1YWhqZh94Hnf0yg_fK9_hI-sS94MMa8YFt5c69yf-ch3RV17_7OEQ1nI1Z8LjlnSyaGZcLSCYh-zpmcB0XBf9KaKiVpTdJYmINnzzFFG7PRw226VwoxnwK-ryOJRDztURsKcnhGGOvdUNfi-UBMoEIp4Ky3VlrGuiXNsnkJlqY6NdZIib6SeuJ0Np1mFMaasLYk5J2t5rBsbcCT5x0fb8IfeBWIde1Er1y55m8rCYNpRCJpvY1pOAABeHabfZWzmPZ-qALQwLMqpwcpghURgFT-_NRI_69zMYATY-XfZwjWbagKDwuRBnoGu4KwRxI-9MIsx8jPmkC7djLpm4g5xNcAmo9lVBwp-Zi_lNX0sMhgEi1vRgFkqhjhWC5WAHe7epak6h1lIe2LGvj-xqPn7_uCtFIhXNRp73e12MbMnD0TPDAnPf-ziBH66bRdhbnDQmdyC_EAPOGLVltbM_J1-jSsx4uxv_uNOSy2iyk_XLLPvk1fjchXWMy4oVpGnlTxj2Zl-26RlzvJQt6So_Gx_Vl8UZverdJ3oc_bmyoPNLz6FRI9A96OjNha7FzFEdPakEXgaMWcuRWayE5Xl_Y4Dqwk2yBPy7A_W7Yd5i6ONHmtE-fDGNei9lVsvXugX9lECUfX1PzrQ-1x125kM0MbzLabkhXdBkRFSZoxfTs8Q-c7pSEP_RbdUr6QH3qSYWTISnMX_dfwBe5y5g3XoHdysoJkZqXrI8U6qNu1uE6gYtCKIoRmICiHoMozDHyv66Fp7MQs8a18pPSqlB-znPQiXPb4yst6X8Pz2B0YrB9dyVOmzxai1SiALKLCdMBOZo7XMLHmhEsntjJeGfAhQtN0bothNRT-zrBEwOxPLFg1tjNa86QNGDtEtKmnGcaY4TJS38ifkk6aJQ_TfDg6zNrJinj-sEteK6kN4C97JhJIK4RcIXzWxneCDaKVP8VkTW8O76haRQq06eDTuW52hv7NssakP6RlCCPlfv0C9AD_vZ_DVV3hoca9zdD0tRUhetQ7lLm2oN3GFxDJvivWd9wjAC4unABpowhA9NfKDeZ4yWHHSDTvJXw3iBBQ2vO6HoREsq5VAkEmjggHII3TfPaQ2LFaDgtPb3O8LE_sGYoamaABJtIVV_Kt6E3IOyZTAhVLwlIiAtVdLsUTWhs1zYKISJuJlt97y38AhKup_AMizWAEnWPBufmzqH1LP_BKQSjavViTzkvOnM7x_pouHFkT_tEWofAVHoMpEy8mZ-iQdgCqcPQZuJ8w2_s-ngQKGtKTAylARIQ_GV75Oo7y9hk0g-EmSI3fPNZXRhmAVOrwGVBYCrapNPrVXyrPCve56kv_ve7KIKs5KROZkLww_gVfw5kFuGYLYOJ7_G1Hcvs2pHv1GTuE6tZQ_QYaaFlUwETqyHHusKyaZihXWZA-HgrSbguZS8aK-367YfmjljMd7gtI2pD-MwkYJbVd_Ufn8kR7xAAlqkYXjh884Bu4VzW8v3YvkLC0ISCdjzuzomoRIoSn-SLJUGDUDUYJF3-L8QxSsjcGcRqiP-MwFjnPfs4BbU-D1AppHH13LoBAd6SgeIIDkbzCEK4lzVsj0OlcUnzO2keLiWlNxjACkOSikgW9DVZyS3aLxweWs9gxuagV61Jw9htb3Fcs8xmn6j92VOrF8eYVxOnUg1cx3XpIDqLR0Ip0l5XdUOwJsI3u30f-wNj_por9J4KWD-sURC8HjCUVCAs5NokRl0pOKBhOEQ3Uq75P8nKt4zE-Ls1HWZcf5KBYRhWByrwi3aBmYLlFl9PPsoSl9AQWEPZ-AbUUCS19sXvjyr4Y5uIgOoMBdst1woFdFBhx-z5h5SkuFJsdPYW98MEXdWU81JwnTEz1mqigJvfcu1u81rfgw5p1DIu0_WvPmHKVym8HB-uaMblZ12FcOPJ1S6nhq_H32Nn6unu3cV_UxQH0jU3buSdYSawjgoAPardJPD3L_6kPBmZcNU-Hd5hKk11r1GIbRGI0758C2L4mjFHtwNgSBv_zH82OEz1EYVBJiFUAya_3vpSqiUnWk87Z9OleiEzPwE4cFMvMBJzeGRTcMGQvjXwHZ_wEhKhoGWdp0DOvtKQmsONMfRzWSMQ6A5u1uJrdBC-FBevHj69wQVNBxUOgFvTvidvg2YJ3m9IU_VInQcsv-tG8t5sLz1d6XqaPmtvHrdy3FgdJLk1OT4o9Vzr90quCwAHKWd0opBMOiKqLlanCPfm4lvl6LvAKD3d7L9gSNlgIyAx8cL5vnEc5bpOaZ1GMxiDrDqQ0iX-roMiioWn2y2wQxOK5qOAjZaTp7fwdufnaTunZTrdEcq-Fzvs1xlgQxxUliuqQqPxWC8A2eF6eTKM9acFK1DPy-iiIQ01q18Mjus8EXNW47TwaRTyaQ5Z3q9DGf8Si3TlwrTIuwrQt0Lz03QwXpD7WTK4HxOwSemWnhO-P1jHCBMiMvvLzInUC9SQAein3-upV_h-b2QV5qRbXKNJAVN7igDsiWle_ub4r30LKGOTpoL68nl_EbVc8xsTTbiVNFdjfIsOLLptRGMT0hymV9mc6_z9NkfxspmslMtDpoVM0V6j7_S_22nDNsCWbUVY7VwlQYYor8YL6rtipokjL6OykQtEFy0A-hOm-ODHJdtG459QVuheBGN7uWyooUE508qjZTHJHjWHSbHS9Ihg5pJZUNGwJB6qXigbC0HNTATP5JZwC1vidSsmpeFNBmYUGBAMayarI04kBXJvZjjffCUwUTdhBmLuuCz4FryWpvRat5sHjEG-IwiBm7DhifCbgnWDUpvot2iZNyEf7XW4huBDgL_cKJaHdrgl1RquULPsw_Cqxb4-hkNgXk_kN3BdfBA7DmCyR2twLTrX6R8zO1dAjI52SQT_2cPKVlAMIGFiLTc3deL04MxQQW3AGX5wdDDcF2pS1PchMAgiLHEThA5FluwrvrB5R_YAEBYgi3VIqN8HXppaeDEZWh_iYIelzvD3gDY1GNGN5sr0h1cjex32QMZTitpYvhFhjA4uvYmbZqg4zdot8NAhxCWcLKXBnl1_NxSwXg8WZxITEgjqa-bfH02FMwEanoslfbAvuHCcshJqKLmwTX_1hxEx0lvQBI-J9f_BjEMSerg1Wl6h1_xbJr94lhd7GwsYI9TPW0jYl72Fd2GdfAjeeA35HhVCW46AXHtaX9hbgInWpJ4qmUtsO7Mgs4NgLmHvGD4SsnmNbu5YwbT5aF9iA4jZltTH3SE2lrDNp-ypF90vOQT60eCR2BcC3aQLWPq0pS5N53T5dxrOmew5jGC8XUlyjIo8vu4EkRM-Q9s2MQyQ2xWJj7w3aKnjGlQvf7CQp8kCtMj9PveBeETkdZFYVClGEoI_z0QBwj5d0-0j9tLU91KM-LMupVObICznFEE1REyB5S2p9b280WfU7z-qD2fMoOUDfSW9scaZRIiYii0wLkCfETJ4Kt0CGTVtrGBiy_Z0B1vgNFYbYwDp4iOJ8lYjdrU5swJTmYsXz-TLx-6P4_ccRB_XN_pv05se1DZ3mzHrp-UzMmh0uB47Y7sitxsrXN_KTnpyiJMEuel83iATLTuqO2A7um9fXBAXYcCPz-iqmtJsAaH1lB2tnI6BqrNFrVYzUgMqg3pcG8MyYADWe3iyDHfFDvID_rM9hkkr-BcVCaLEi26VBE-g9ULkVNYsjs0ptagSn2WEizAleNkB-NCFkU2IhKragP654rEE900b0uMBUZPxBCHgYtotWhLEhDuP7tqXlVrRGZ6qua-5CjyhMD0x9TPqS-FmWRovW1y0yR9jzVdwL_BeLXyA6G6nh83rSk-rceRyqoJefzI32oPbF79YyYy2MSnnQp3AWn2Qv7Ik2G_cRK-8bP8F8bwDp7IlGeznPMcZB1DZ-b6oNFkoAiXkdrtSn6hyP1stoghxINbWOc0eeY4nXY3NCrkNRmzIi1EDx6AeCzpLZRKrA2CZAdW6t624uq5USDfExzv-E_rEAQ5i3dAKmHzhYIfzFapkq3WjsDpIIjnkPh1mxPmPi9xhbwNHutTey3NPwWjYej3KlNVluydTcn837-oUdUV7X48fzfQfLXQqmUqMC-CXRegxEUVhi93A0h44ObJlnHmYsIn5SiE_tjQNhE3qcwzTcCDnZAFpsEoSEgvhMIE2yPcFDfBbWhUGIEVTg5hvnaMoocl3ct9RHYrkhlqcI2ltcd14nZayfrGrSO2A-RcM9TG_MQWsx4ZAgjcnd5VFOhuQbMDqBZORCEruT9hDfeq5BYHwjyIMiRej1qcz5CLWpJhIlg4xKy89CZlgeJ53SWHAVUvMEtNpupeJ8VG9rveeS6NXeFE_jwhieALuhZ_VHStegAdlAX0UKYlKmIwdCiTUE1havPtavnZTJJNpyD37UAXwxCgi0p4WsfbP8KaZ576EoNJDpYp2B-HmWt0CevERfWxTatvv1NWFWoOP5yd_Vu3ZLP56gLHOfI2wsaso3ppBFsADLrHPSxLu5BfwXFKDb5eytko-n2h0WlOevXHDibs86EfchsEHR3lQIv-8Y0u56w59gprJGFYmC7S-dgoj6_2RFOCI2EMD-m6VZXggX952rvBHUi3p1mQTGMM1st95nwVI_d_DxdUt4sw1M3rHTJFwmz0sRB_NPDbo5GEX5D-C355cl4A-XP4ge3OfVOieQXNjtwG1X6wdlM_NqFHsKl9uA9U4FK3t2ugxDSLcKb4yx6NsRUdcTev-_GqO-dy5Mj22Ki0hAsjoCmVbhyejYgw28Ic0bZwEeyoce50JIS493kW_SDB5eCl8nMvGMKdE-1Tajxh60Lv_pIg3OOF9PfZ-xIR9zt-I7rI7hUVGnB0xE6MVdwDRazEP75iDkMNbihV9elJFWKX4ET_ByNQFUWJic_m9mj-xNUrvU158mWVE7c3PrIuT9IQWF6Hu7e815SvrjZ8d2bfuPEsWW5B4SW3v5fosfTZlALprQh4dqw9w8tqyJNlX9p4H941-mYWh7_q431pMY2eufwNB-w-UMz-Lm3ZYEpmJkXsqoRQyyNb1-KuY8JizCBJyZhmHZstpIPvnI2_8MsGPi260WQKrIwMpD1Dca0LaUBQm4dNoFhnaLUcAhiI1i_cH2ssnI-GQnNtJB9D3HgMKLvKQqR4JWK6Vjgpe-yhWkAf_VORscUo7eSpvHu2HCVZQI4Zsyi_Kijth79VasivafcEmi8bCCYbQ_ncJIPTtmy1Xe1AmGqykejWuSO0MiygJ_DPdOs-xLuHhX_laBirVJhUmsmsZVb-RO441fKLaE6l12pKvBjK8J2kMZDVF2jopWKdGudb6TXOfQ1iPHPEK76yc9mutFaSD5EVt9vUUNCtW1mmAex-JJm7ScSzqfM09Dhv4XD0vGfBoX9mVToHRjichMDyGXWhA1dUalXcWcffe752_Zx5S5dAPPvnwyGwd0kMEno21O-ZXWYdxBceWJ-O_w6NOS-1dYtkiB1nhDoG8h5prS9zL7Jq0s0ck3dFGJLeKt-sD34CSEo3fk_vCuXphi6Y57Vi6ZlatQhh0GSljpWiNs69sOlSSCDlptZUh1dX-6RIrtTa7YFRX7utHBK5l3S-BYPtqmC6_C0CuvwRgweUYanbOUpm49Jwdl8U3owPFVvwNG5LK7ADwO04ovsWYjIoksjZNqc5IjsEVyB_XBzQEvGHMxovmT1jxPC2--45IQUvIK3J-B40Rog4DnFx8YM2EyLYeo-MetudlSZbzz35R6QQiqxCTuXd8GJch9Z-rpA1al2vcixL7HpJDEIuFGVcZUe6UWsn0MI0aNUUo-mXtMgNBzMVWSUeUK41ui2AhfDsS-LlBQOc2PtGoY-xy8VlJuPvqKmA9MUTLhyf2YLiv9nTqNcmGfXcrqbtmt6AVdlRCdt3FnQfGW1sK1Cv5POHbZBXTUZc7PxlveydeQ7Sym0KRpkBOG2mOsUpMrlBzb0ua8Apll7Nva8zkzPi-J2micW2MJb1K6E6FQnCEO3Cv9bnkx63EcVRYbsE9AUX7JGG4oVmHeZI-Z0pPxwQKAK6no9DWe5C4lt7m0NbPMJF4yFYrbvkrHLVTs_d3_T96T27dRz-a8UAnZIVFToHwbsVPyLWo3v7V3D2bfYfgywI_jBi_XQ5ZJ5wX8NrM6XGD9_xkJkhmUvvYjAAkMsnr_1ESaOT69DTExDtoEVzOYo_MUrghoJ2RNAsnkIvu3PcHTa-op21oLgiuHjI0fb1JrMJW9fFQfBoDX6vvb_zwC6X2yt123ckb0ehkhtBy4JKWwuyFFvs1-j_R5hKkcGaciesMOBHBszCM7GltVcmTDRnsAgQ_4q1yk5FRcOx-AOsYpZTGOsIfKSAcBtJosMn043-jGii5S4FlXYby_WktVyGhPTY3dQjhDcxIcRkBD_DBuY3oRgjMciYFnhiYo3-UuMO5s__XzlzHwo0wARRpmhTuDE_1bJiHbr-6SI75PyzrdUffEDkCcRpyL9bATswkCq32Zj1D7mbJrVs9toelOQeX7HJBLnPJ49T26Bk9rSvedzFEbB6r2x3J6T0Y32bco8i9_ydaTc2eJ3cvOf_iqfxEK5s8jjJ7PVYhaducawc52azxyEuwIYvSvzMYV0MjoLQrbh81vdYaf81pLAFubyIDQUiU4f0xUtF9tps1-myYx1erc9-ylWFmNJ6mSno31MxA9E21sihykktZem1nue1NdG3YcNGPgyVZvUiw05tf18HT_seHxtOXsIRN4o1qZ827dsKoJS7VOOMG_432qAE1gZYHPlaBjdN7glBYpGuscL1OCL35bmHXlNoAMXtmj3XZfbg7zBsrQBINHycFVrNKKhbvluTijZXAclEPKoZOa6Q5J_DsqvIfLhUHFl0arskrwt1iy6PZxdem0OwIrEDKxJXwVEJpy8rxNzZv-OpYmNwbHdhppHz3Fe5NBNc-CrGgl7169u-HxwNq4UedY-pUPxlO2TMQM0rG9k4qhifQ235kYG09PfCe-WlRIFOj7WaM52Q3V-8tDXW8P8ulKXQ42rTNa8BDpH-Qh4nmBlKStpqMe4-lqXFUJtKz_c_oGKag45TEBGYqoch1qNp_M0HnI5Sc6z9UU0RLill_XU1Zyq6Vi7nFcfy0R6o8wcX8FJ012YtehpZI2fobwoQbB2HuZ9TFDhv6HRjMdaLVOQSLMIJdi948FSsuOuMUme9LgMilev_7-kc1jf3jISkOnVVNcClRqJpWpo3kkTubh5XKYLdmWqDfG5F9UWNfw5m-drRNKI36uwYPPOG5rTVzsZ_hSXObeAoKf8ao5gI9L_ZwBKQEqkMMyM6sWb7SMQk17AOXZzzayUf9pCauCv2eYSFfdp_bMqQjjPp_eS3QIr7dZTs77sabHTTUdFn949Nh_0Dtq4vNAiDmlu_4SnEssy9CmDuUlORPyohSWtIpI8QIm9f6Vqpf7hTQjzMQlkO3FfKs2npEIZlV7mLrRmdW6WBCWpX553dbcynp-Nqv5lfej7enc4BBGtEMclQOST_dniVofoEdoH_452Cy_f0als2sN_0Ff3sQdD7OLYTq7lrR-hPb5BsLJSoxym1hY9JsSFGaMybCCXvVc_AhDWORfVA_S-BrbC84EqSwypssZ19Posr_bz3TcSjkTQWb2ITtznbvVGQFq54_Is2NT5yFpoBHZv2YU8a_Kn5p-5fFooucTrCRxhwq6IQHvm5-s6woW3iIlhFU_792ngO67m_7Wq3LErM7iEuKwrn0shUdtNTNsH54Sjtm2Cu6Nkh52btwgSCLZ7fri14QtVnbiSxH1UjlgC25C7yEXUG69v0nlyr8fxAArTVOM5g3FDQd421JRYJs57EoyiIO2dqypf8r9HbUuEYVNzCWurs9HdKZd9BbjJ_sb7vcu59CaurV_cVxj6GreEdGj_cVganGVY_6ik86B5SpDwwc2vhM4cCMS7UzDu5N2xRRxA5sUTBFqyVgHK--MydTfIjN9l64GzRSQNq-0VYMZtDWrz64R5PPTHcntXHFFYPB_KKhaPhA7J1VPB5si_xoxAcDDHB47bMZmCG-LKIhuNZqjQDPakYL8udt1208BszhtTYhR8oariaXgXCt24x_pwn01eboUkmmL-5MyrapNapRbntJRJ-9HYEFWjeeVLhGKNjMfcvWcRiSrPLD788JGD-wzXtyhrgvs5LDI27zEZqvcN-kA1y3uSq19i8khCMTB6SFPc3GZEqh7ik2UFv_bCaN0BvpZoLTsXBvTynjLVCeeXefH66h79ZUZJj8_4JvJcMsJu7JVROYHas4vA9ZR3FGZTbTXzm4y7JWtyeLQY8O2SQIs9VWAazoh-RKSenB26yg0k-Zs4vlf_7DeYJpdY4WGtL-GmIVblToGUjGG5vRohrV-R27_xkuAqfWOwvTBLCsQ_u_A_9scAKzxhOIsP1rc5bkFv5TsdIPMyy56oERFldWOO5x-qwP-EwHD8L_S7kHOC58Qam_R_-qmMZiLSeDk4rJnQn9Jm6-uysvksml0BBaCfSbrOqzJDZbCddwcoQPtqk7O8Oh5F33q8neGHENw2j02xB2cLpQcEI646xvgDSp4q42Vt-Y9uQNyM9Dlg317gQd_3sIs-0yWNpGEGUUyh8pHWs_Nn0Q7QoECJUOrgUxwTsZRalnxsEx8ZQ0LOwTeOrcaRO9S29M8LjyxGs9IGVA1Rdy3vO7E5EZ0yNX7jQyY4BN9Dj1jRRTXZ4EJVSkVa_c6ufeBAskaldZfTCc3MTHdKcTdoeo6LQCYpeQ387KqlF38yEEFfV1MktY5bPy82sSlnTtNxl_LWHkNe3Gj83u890wwmOwexmXfOa3HmFGz49-IvK7HOMNBOe541PHN0YReYbOzw_JpmroqejLHOoUGv8qrGSttqBFH89oo-L4IYblUDVueZd6rB5NebUcKqh6VcrxFrNE--6zq9Z4DDuCxXsFKh68L18cGtKpeb4lCPOoRxC6Zh50MdnLpVKtUKBoCyaA_TQF3A0TMn5fUo_JNc9-OHNSenZn2tUR0LAJe-5e-vr4Wb-7VyRLZDVH8X4T_EZ0xdiK_oqQvOSpdpnHZwwjLFLvywcbHtSPxaSpMHqcocUWX5hovzSQegafVc3KbfMXOvfti8p1slo8yrX8Q7pBBkjk23MBO0nLGFMHXl0bSxHtGV5srAwjiPPrvbmoQjwq3YrYf9p0knKMJyl-K8ADbxxuI4g_z05bd7uknjABygWOasFCx_2DaWynpzBVzcb6M_HeS4VNZVmvitL0YzhBv5VZFAhdv6QcbAXUpks6AawaFg2lp3Ckqxg4A7DF0zzDcMXKhZ4iPzrIpmfzU1qsMom9ElD7VAlHb8vFb5mp3WBT83kowbkcxfIpfBEO29A4NweFvPlwVhMfgh0_RN9vdCdWCJn0sPWGHZ9r1OsiYF4WH_OastIK8bWHP69Nfv3Da6Swa6OB8uchHAWkontf5w07Ea1IQJsjkuUrPJaFPHA6eioILbVkxbUcp16CS82f4nWhnFZmpf03alrPcPxVO733wGOaUSaILYjTRoZBGFxzsxWtz1Z3R_QMQqo4lGneqd1tVJGMP_cJ5wVWidgHkNO1KH5PtW3gD3QPgcF-PdZLRjOpHyL719l_KQxsLajQa4tmAQqqjXqjWcHe9Qv1wGgtKm9Vapw7uFlcp36wb5s3rVrhIqZlrmxR5dW7A3pet2VKAvTBXW4fjHemesslXZCWcs3vr_unibSkrn6cJ496rSBR5U_LRRTos0VrVRf7qqb0rmTTppdNvIJqVUcqVbX3MhJSc0E_Ba0n7yfkRwBb5QxZEWY3i9YGUMJ87wrhT_-iS9Sh5_XVYYfTSMiiDuHLYHidwZ0k3wg2Te8XOxUeGIQ37vj01lyU7cGuqyF65xXiFplnJFmBw5mzqHiGWuWoNp5P4IqrIGqN_hSdgfPDrRe0veqSbk5Rk30gtrtGt7qlw6Y5ujXtgolCrUvVvDgZIREMgtviUC_17hKO6wDyS3de5VXhmczWH3ulbsVLat9qK28XSiphFuCHaAOp9J9m6LOMWLr4gYhpI2v43NSw0EZG0lH5AImQSWpcwXWNLSaXC4c45G33lAWrKjKj_IVO4CyK-pQfPAYd_AWcSt1iYjvR3qMkTufUQxoSxZYVV7NBjX8so3Vj-sGCKSjPEQFEdXSYq2xnyAk6urdcEqg3OQgyCpQ-kPZGMFts5h2IYQk5cYacfWwcn6TrBM0yBEq5p3dvplZwVqUtnNbKPKXujlC8xHfgy2LV85lGK-FNoZfUO1ZvGRhX_GYNQ_KE1r6JHQvI2TXcFt7-Z9ELoXqdwV1lTIAwWsp6wm2X0ZfE0wsZhERCIpGaEOeYLbQDBwFq75ruIrWDL-T5-gSb_dc8PpXChFi1GH6XVrVQwQ1X9QcSJFj2JxeRV1nNo2RJnZeASU_4NfltTxAinOsasKk9GB8AX6e8tDqC-yOIzvZ8vG0iheqx_y5vVgoubXq3G3h8cwECHor1YbIDhoiL_QFxMukC2sbs-FmU9wDyZib96vAnrvsxNMQh6GOhJPTKIUYCVtHvbJARgTMfBo4LcVlb3AuqQ2E2uaHDP1Wcy1qP0SCw-PDPexCkbJ6cA5YShm3kOcxx8k4r5DiNWIyphb53WaFHewreVc0NFUIe74n7svz__JZZE2QfcvIj6l2aKxDuKxv7grzg5Evh1XcLJYj7qy5gZetms5Fcu-aT1uQZxRccpuIkRKd7urND0BjzN-eQ_YB4LoruqQ7wyX-vIJIFIrbmvjAtHny3Bpi6olvMMB56MaUHlXvR0DRSD7XKA8GNxq3ptC1nAl5yuu4TNAxLmbT-YSw1h931iEXDv8jBw7209Ji3GG2flzZ76wqrS80nEW20J8R7Rz1db2VkRTt1aGjHhmHiYDO-6M5uFBl7Th7iWhM-Us3hE4yKmw1ObDESQfbQuryMs9LATzfgPRtxDqmJUHqclJt4o6-3q5AvlE-AAZFpRlILqWTXl2VBFsjAwz7MRUw5fy89eAnvrBjLLw790TZkRBPBD7zQaa-8Zn8jQTSfnJWURJzzff3BlS8M4LFVm1uw-ccVihI5Xl6wFr9ohL2J4OepESoWbmbcviQskalLbhBUhweq3BoUN3LflIE11QbXWl3DF_GVDEFG-mWgB8WPoyBcAZAKDjDSpgYrZdGaZObl6FKjduEZsKbyaCEzVoFglDCuTkjwE1o-wZxUbsVd2STWd04VLgXDQh9PYxCF64nh6g9aIwhGGtdL_EVdhAxRe9QO2y1QvfHkb3Y0cQP1trBX1lR8wu1s66hYiD46J-jfHiK09OKlLMxmrGIS8yzF9SsSIlOL_3cTbQY2DaP4J2qHbs-0mbVHqIsF39sWDH9I1XIwVH3XTsqvlYdOk-KV2-g2IVqN8r7j9Xn8sHsfwctkIMc_fZBeh995uWHxhN4D4EfvWlyTPr9D5xjUJkl2gFp6iiv6DRLyE2aV1Jpel3q7I7qRQ1OGeMVteaJZIDN5w5cTlvY5Z3Lhb8j_u1faO-uiqbRgNr4ZxmnevQrXBYCn7Est7CXBwu-mavmXAmTMII25zX9nmeTVHS-ikxfyU8TNtYiBJoumhzgBJknDvfnm33S_L-r1_TiGLqDGXS10U8XO4JkggMO0bGnTb8gq_J-V7OXLwmUpUuKRFLqG1VxicJcMSTmarRXw9n-HS2-b8xHWfvEoIIs9TeGtkmkm6tDXxpNZDziG3wyfWmTDnQ0UU_oYY_DyQZSeAyhg8CG8_5q9PMNfVuF_Ljkq2OpSThNHO7GgzTsN5ilsV6gQM87VcHVHngQseb_7Hwa62ipVOV3Jb-axFGtxAVeLWE9uFTJZZTnTB0XAfXdps7CmTDuHsEd3zdJRatCzL7NfAGJDcsXU1H_-k522A0s53Cnikoj6JQ1McZqe1auIX9YcLdWHHCTHLs4NrZqEKuhlvDED09_tQsmvMS8I_eXR-qswbA_PbSUJwazSRNpwWLeD2gw78eDO7vvRKIl0FclNEzYHh_hlpVScDtmPwO95ANhVcEq1spwU-mO1uAuHPm-LVbOu3qD3AZhop992W5IZcZa4boraUhkGy9RfZ4LcCJ6maCA-oJJe26rwm5A3jbZprw4vKSFJZK9ybS5ZsQdZvuuDUY5ZXGSu99x8uBJWidilzhnOrvbLUgjJk86k_rV7fbD3zwA9Ai_Oe0rptAW357sHh6HnClx5XPrs_q6Z7oZ7bUxkxqmjspr4I-h4DjU3sv4u6F6MjRgRyDjimDP-UU9p8eHZeYu4VJ8yjrirIYjucUkfGfzCvHCwxG6dRqVGtDiWdSNdd-vcAKJ_EV31_AHgY491yT76uFCHSdmNlAMj9OejBW-6amudzcNCxNZrucre6wZBjaSyvFFCxQ15vtZP7JFapvck2PwLOOiNqEVjD4NITECzaFIIajwNZ2ZLb6W6QaiRKCFfPxLfxFRq-Ha42ztrVe-S_A_5oVxbhd4CO72t5rtLXMu68B2nrZqC6xtlMES0OzIh1qRCRVZE56_6RNT_dRzkiOvk1tU8DLhiepVVxTb9uvfXN2kVuY4ixb1tdqdeikgOtHaNYra7lPcTjNLDgGrsVo67OpcMWRFUotq1HieQ0vQVNjK7zW6khDukYDGJDR7W0CA-wD7abfJNkggjiuTm1LBywYgB4ENKuOUV75Xf_zu6M3E-xczQLbbu-6bzTzoFh0GTlJmWW_2n294OwvST__1HERhToEVKceYtFZa_b9bC80PMyF3er_Xh4-X8lDOo9pdb9WGsx4JDQj4w5zpw9nXHm_Ip76iWQotf6sx4pJDcO-2GyZV_3-rKHams3inMrkCaH6iDDNhGgaxY2XWB5QIvCgPEki9akYvbFyVX_p2tdfeVfh7Ufv6PhgQSO-ROslqQcPjouNyxsHVz6g4kb4Q08nQOo3Ksxn_15EtuhBjzvP_RKIlq61E_RHKOcm0q--f0dXzyjrRcV91lYsFXOMqtZYs_b_PcQ5ZnNYjjpOjWPuWd1s8gBvtgdcD59pwTG1mwsz5ZnL6figWegyrCP55VwnZ0HgrzdIB4vFjo7BmhkCisg_Siu7zUM3RJecj-Yi3AgvBJehLrgyQ4AuhO-uEJpRoMS8mfnlo2MseSXscFUFZlXCypOK97AFPQO75P_KipUKELRURY1x7lV5bVXnjKPcdEd8GLVpRnglHX02ddeGju4YMXU4j6y91L5iohEtX_1VSgXsPxQvQUlPvfDQHx9jqp45hCgiqQiiaEL6nIMZk67alKUL0vpiv0-drqmd49z1rs67P-Zi7xUJBpGtMtXL5gxxpXg2T-LAkofaU5ZrMhLLM57X3gU9tNciulrs5n6Wt7x-eXsTSPylWavtploDgmWBBgKY8-3eUXEf2FwWL4FhKQqDdjXD16IyvgB62cHiMRzm8yY7JQ1BzyupzKSn8NUllJARXTvMWKB0zYGXEQoNt4R_eAaIuhhZbUIaGBPvS4JYpnuayyEyoLUfjcAl--4i07rK6jk1UWf68E3VzVRGk5m1FZpRo9hXtppP63mr8Mkf5eBxilf76SQm4cFI9gYd0ooliaKuQOXFUbBEOPU-ja-rdkB0gS78fmwYOB_I0iQn2CMsFT-r098SG8JDNxgIkRT9H92ihj5wesW3K9YQxKHIH0PVIkQeR9_f1cIABRtfDCzb7eJdv4FikACoVVjjfdbR7dn8Ljn4CUFvDVo-gEGOeQI6-r83OgwsJgkK3NoEZV7XwOrANWsmHuF54UurIQrBQjGgUVoqsUZTnJxZhMmmuO9waNXSt-Htay-OLWVUtnrUFgtStJfz-rlJLJLB7SE08an1lBAwA6ek7T19p_bqecQn8LCkn_FXYCXjdWXIkM8297W3ue1Fk6-8ErLelTeuTtc3X74eutPbyo2xIwpgMVC4yIviIjeifPYwB5IsDks8VxyfaTC8uBdzmCVCKTMBZtzSQDW4y7MnTADMELHQjQYXj8XwABnNt19lccwBhCloeGCQy4jA1cQUt9vIQ71HXyun25J7rayezNIcToOufCnOwEJiwxNNUoMCuw4yVSM64JNv31v--mbVD5gxLy6w_OsttnUUtGen2NqF4MdSS_hthYDYn5inytvwNDkUiVJoKiQwAOjQOZqL643WXZDIcBiK_XeXH761aozcCvcN-bYKtxmWA2e0bOi0Mpby1Xrt_lRex022FTk1UvNsXTesvIHP2uSw4mKoaLl_Cn4jmS4HEz6N-pr-NUtZVGHmpAPwfEcTKgaUYGhwgEL4LcPjdrUSOzPmvJP7k_ORCNQbQgI3IbbNKp8QdizzU3-ew9q8W18q1gjDGYhjxEUe-tNLKXEvBFtpVjCqsQw-6lmfNdIMV3bBN1K6FkFEeK5rRrFJA7rxqsA2glt8Ag3Qb14DkhStPH2icoAph6lLegU0Bfork_XtTdk-io-GAvdhjN88IFkpKb_9xeG4N_AGr0LU8N5bAPyy_eIXwEHppw4GKFgKtvsZ8sa_8OAZ9v3ede7nfTNnfVUl4L1LL3HKHVxVp0ppyubSSIQnra3_RRQQPXjW1v-rmxlj86OeW5dLT5xj3rAEGMhlR1cfJGwLbnUHbsrW6wn2qEfRom68F8BAMFTfj8ewYQwXKipq4OhLk9fOxVeKqIRJZF0epJLGyXESYTCPvdP-P8gEfXAwknVQVGORHDEkFZ-tM5DDFvIA1OSxhxOMwMwByEIw-q-KpWfpuMN0_QdxyKtXjjVj_7hD-Vsh1WTUMjYXTEOS_xTHUUlbM1FxlZ7fQ95I9UNazVP9isoxbj_YHtF8jGBZ3xiyzK5z-Q6fF8BxcoVtxS0UoMfUxn7s5M7LSyuPu3YR8JIf_F1IcvknWQOOMZnMBbDR8nfv9TUNK5lcN3ZMlMROIP_6OZSUamB9zcq_jSUhjPaahM0VnHKuzibCNh33QiSDisWm0aC3JsMpXeRSRptCkGbLzbSYLtlyj332oYdl8wLcUFzNteqgSbEdqcOXi5OWzFKN8BGKzzatgLUK0z-uAeKr9np94bCmbpW-ShmrmaQFt5PtB2s4TfmuOW3mQA4g-gNffEbFhH_KU5b0J6Ft29-z3guHns1OaZr2srjTyWh75sQXfZ06PbizMbaVP0m-P5nFrPWEoQ-VXKDe9LzZRqYVdmgsYvUUiIWqm3TrrBTzrH70QicMs5tM_nzCZr3pE3l3gKmOjGV5V8opdLktSGHNd_Dlm-tAgdtVegIpDHcAKccHP-fUX_2i_TlnGIO9MAxbFGkcEOiFXrKdJVZCZ2NBMWCXajVm8_6BPXgsiuLIwf5UpPQPaXta6HCTI0h5OG5nD0xtIuHxMW0qEj2NhcAuHKruowcDmjgdQxLkVCXO3J_dgkR7D5NZvdcRFGj9DtGwNiIzTnT41c1psyimOYRgoRrSwlM9zq-aCUAutA6_w27ywwkltfGEcsjazfqMM-c-OpazbQOBNt3h7ULJVV_t0vlz_vEGsHMiUwUCRRpjOJK_amxIQwqAQrAs_lwgLSUPdK2XjIejDQOSaRGtnc9JKnnjQpQmwJQNgZWeir_D9o00zS4zjkEXWdFi6U8z5AZq1TnstAI7whGWL6F4hF5W-UMPnzroKrMFtH64hB740xyAzil2cma6p4Fl4McndfNoRP9wt5MjwAu3a4pjOv-0N2N8hQGQyjLOGEHIqS3dpQE6w3Qlz8m6aIc7ONVvml8DVytzN4FMlbZ-koiSKzXlbtUtzhNqQnWtAG6EmvecvOn4gBK4rdr5Gm8BmtsrwuxtgqkgeS33AcLBPAiSIuLUhfpksa9PSzTHpigGzDQbGL36IFziynoBfxbVcMHawW5xwIb-vWy01cEVcsxDdHpDdBID22INrJNSWWj3hJCNk3KLUWka-DgDc27NQm-4PW57hw8j2pJT7yt3_fmrcrxKR4d1p4oAdvuhRWitZ64WLA3cMvKXBhyHNZ_Tzm5ZmKGExPhuiVsVJ9QCh92QD0EX9D_AXFl6zvzwx1jSKiuKFJ6TE-CLyuokzdHFEcvWNVtFTEeUy2rpjHZDjn4I0Hf55zPwOYZ-nSRgL0iYFS4T3eSktNbAgAt4R1n2DeMkZQn0d4xF0Qg_5NO2DhyHbwITuZa9nFkGNOguoqMgQ8599lT_DTxKuwPu_0TLDUIVb7xlh9ELC7nBjFXUQX6yYv2BkQEekNT_o5E1vTn_Qo0SWGMKx344B_kvDAjPhD5mZOXRC2CZTUtG2iDeWXR03TEbk9jVgbyl1m7f_erS0XBglf3FH90JDzViqTl4TkKZU1O-ksEyI7af6O1Ry1UCDmHmOPCbi0NFZjjSlRpgyVLcV5bqd7PN3R8m507r4K8Pv-0FOm8JR_THMcmMnAFZp-aZUwKv89Pa_y__O7AxsqTOixU1R5sXHLiR-iCeZoAvvA2BAvn81dv-GTGAqonpRz-0YEWqBj6kaEyNOEGdoLgSIEsYW0uWC5lNV9ZEKm1GsetakwiwqoslnZdS7upRIlEKAmiqCl6Ga4wF7BHxgLLQlj0GzF-dzRyD6chbcopPwFyDrBmyE62ngic_TkgoPtF3loHR9ixULm8HJ89D4KOo_bMO2VCg3IJDh3qQ_WoqlLL9u9eoRa4B4kKOChJ_97MNrggxL9d7d7EL1GKlk8WVyC1ORpHoTXjVMT8xG0sxjJa_bnagWfpDC00449bD_Kdqaa6YcAFCXF3siteLDYjujNfJ7cz7GKmy_K5G0PwFSxWneAXBrZ6QGwMRIkJXi8EtEKb5MdaV6Tirs0cxkGh07mcHg3EhW82zyg-TmO6bp_zZg-6c-9-oOeUYnEdF3a3weiBcVKl-MH1VVvfkQrBsMvF4KjWSto2fSZjpjfuCy1ZY8tsdTZQks-xFWqKuIu263vPJzNtj7nMG7mhl3yWSYQ5rQeSWkos2VYpdm-j9stHCqeIRvQ0EtE0TxKQkAS4nBUuRKHJ2SkpWAw9GEhPJbcE2P3vivmAmc0oMPfmkBBVll873qZJLW2E3PtIWXzVmF2WwXZXEF5Tx1upY4Wypp91NGgJiiLPK8Qct3wqiyukOXGiLOoWcB6LPHU4qocxLLnjmAn6eQlO7hs0NLN_4EK1gSFNXMrjDKsFHKu5_kv5MY1o1RwJl11HoBbLDhSiV7ObjfdqJ6MSUcsHVEbJyIIjCFxLAHvntoME3NBjMnIXUmnipOF8RwkQZQ5uG4UEWmsmUK6Qs-8zDE8TvKl95sjVPHYrcfOA2irggKR7PAekFK8oiV6dl2aUxmZqX7cACl_IM2D9ONwzd2Hz-80nFyciUKUTctY5_aXY9QHSNKZAWmAXSuxQraOzmFUvIWGXcx5FlrLEIHGF8812EPT2uWEEmNCBYEKmQOi6B80feG4muBR9dwGdTYiu5wttGWF_ixJs3aqpdmXBzpUFtCPG7kFOPyJrs6x45_Txn0z7-kL_iyoyzyzNRU-xl6ODcTxbqMRvqI8AFD4IJpH2vdJ_rvaI1Q6WtT-xBzLNoZv9G94N8yFG6r5QGED3BNHIt5pOaQTfLwysmgy9E5qfAHQKlLPgXjWarEiC3Zp6hmQf9By56v6-Vs3Rtixliabe0tc8dnNFMLTNz-e0FMt8Hl1KR2JKnLCkXzW2bFOfMW5KZaMLVI-0AGEin5p1xhrnUvYepRDVOWjeIG1iVQPTXnX7D2shOGZ-RoQwC4n5zAH4e4Zoktc8C-omv6w0pW7xSp0xXlQLn1G7LwIWSg5TJ_jkBAPLoHlj5VIsc1gK7B0wiYcubgQQqsfSq1WUHZ3XDrzmu6r9TGvmccCRRXhZI-Ybz7CdC-9_YPsgxt5RcmR1ns435X4ylDaTXm7O_jh3aS2xYqlTNBNP8athq7O16LRtoE2xEiAMP0OIHyhJXwevayeIImCBhxo8zRMyDcGFoH9YdQV2jBltmKHRDavoHuDQV8VoqisJwo4hBnv07jldisv_CYDKpKWWWFt0QAzI0D0v3cqrq_bGvJV9cCyKkiTSf6vI0aMeKzjOyGqVqC6ILN4sFVpkCc1CbvrnKEuELWoTeW1_1Dri2LQylr3CAxgivgIb2xsaNtz0NUTbluOIJ1CX6Q_IMit2h7Ar6qthcLcEruKQaBclv4uBxBOSYJOQAcUPFi0dvtPBTlXB53h_9GOliTKkDE5AHava1LqVejMufQsOzxVqjpCUvR7O_RmqndYy0rPL8pv8tPjwZbRyy9Tk7n-t77iHqTtn4Gtwyokl0c4u2vgGjyiO8kMnuqVkZlfr45uGIyEnEiYVCvsc546V4o2B4UMhOvicQEPwvAknQEogQv48lY8DcsGrU4Cy4thl0BKh7ug_CGp4PVe9PntNCfslE8uojpV6hPITIA6V2QGclqun7UB3GUjNItICkSfykAEc_shhcS6atQ66AWjevuGw0sACOFzKnD1O3HKJcTKEsd9yCw3cPrO232fSGSKfbQvs6mqtFGMKyU6XwJJO6SiTCLaH4I_4UvlPtgd9DHKxWXw4e1Bf4Ufe1ZbNQdkK4v7wZL70Sei6K0-n8tlwdNd5_bE8fvuBN7Ulj0RM4JXTmsIUQjd2wJvW5UHoMvHISFU7XzQnAaH00dVP0S-NMTONTvjabtIK1Hm0UTuzxSUG14-l93DT2p0rMs6zgIOIIy4O1AWyAQZNrL_l-funbWx-PKcor4hsZtb2T5pVx3EE70HZlQ5M9jONSNyswNYmaMh410tAcNlf0RG0brRoz24OjgMKg5ZmPLrv5W6NVHOxj55vmAPvKB7P73K-ZfDtwAUQ7ZtPG-hRLhDR24fugUwC8t15ZlMEm_LiPNABTwQevQawsTKLtns1N1BTKqn-Ub286z-qpWmZ1DNi-uhymXoF5gqSNBVO3BTVC_C4uQpEWgJkbpaW5yn5_t3DGzGdrJCt5p8JG8DDT2IinG0HebrtykBRFS0a2wS1AtJC7Px-uoe6HpG6AQTolkb__ms34jIJ0ugnQWYJA14HbPHp7opDu8uYUyk6mlVYw_vYhd8cYKIFrZQbfgYFqk9lYGoPjiHElzNByxXuxiHo2UJU_hbki45eCtSGjPIIY0N1KevfhlHbREBD-pxFaIVO0dQr2Pbo04VUJX1PudPZ9X-QfKEKR6Cag_WXw1-0m6_bT9aKlaLK36WOE9pUXPn5Mg4Inj3k4QNwZqP4X7kDme4jUUdVSDxBkGDYN4AEDGKzpRnuVSRlBbzFMcENYUoXv4pedcOFFmw6mz86XfTgG2R98OoF7AoPXWBxEhJDaD8pIrSkT96uA3ljCXEhkMlhxdceHPszojHxxJyy4VwV9ftfk0acEmU_4VJapRlQQdEReNY1BKdTHTeAVeixPegg6xN46D_RqTlesiHiGfsshiIoehg5f5jk-qATiWbSclPGBcCb-W2E5voIFTGb1z65vbRuWIfG2cCJ9Q9W0i8Cpd74ThoG-NJXIp2-HR1HWusVQdS-QXDxmNAuC-epe32nBRPPoci4HYZZ7XfMqncWMdsNK0RDRe57WjOmooQV_QTv4thVsBwHhgaIjM8y4lqBoFIUTP4_IY-2dpAjXv2vha9zhhzva3zBv5NEbF6wAOtQ5U8_M4qSseggGahCijwFaspPYwuGjmx41bA6fABuSvV_ub5Wkw2Tkk3Q8ijfixvMXXBeOSyET3_8Ojt4tvwHiswdg9PGURMdCZt3MjUZY_ofV3ZFOW_JJK5MbBX-PuzOECvtVDvFUSOZQmuXrEivc4P-O9DNMryr2N7sFx8yWHTzU9q2Mjor3amHTWCY6uQZTCx00H9Bujw3xEzUs-R5wIwgp0YAy8GrnhmaKgvd7FjsCst83Y8mZpI6Cp5p8Dx8ZjjWPps7vEr2VTibHP9Fnp3iMEnFyUUwGtOSxpASYu-CY4DntdqCBvP9XVBMWXHj_hDtqMq9KsLbrYS1u7ur8TJ7tTGOm8V1CFyOU5lAniFV4SLfJFZXaB7vDjBI4gHwZJjxxlip_B4pb1MFyfOEeKxCjYTOn9MARocXvE-KHeszGyDcTRqkmQz9UzwvD5ZMRx4B4xykZFTR7mRkhweOBx7B3mJAcKrbMpN7_KpQRgIXF1zWCfap-rDRPSf15T5-qXdAE1eeDreSdWDjIBj4N3t02IeubFW8vX2pH15wSlHiVoTLnao1vH7GtB9AsZ6hvkByXMST0_fXlmQSczVCHsppAbfM2XX455NoEdsQhYiHK6qBI87T5Euf0auW4W47RHMXzW0eFXa1LpGWq_-Ez9l4CAKVS7Z9-aNsOvXz5w8Bej_1SDQW8AqLOLNGIwtVIqQzMMc-8JYr5lN16mhzUZ-lUrW-VxitC3sGHnuMX-veb3oGQhNtk-0fJV51GtI5lRz5QoWJYhtLCeobftM8x4J8bek-4-Z24VABR44Rsco-QOMBhj6XVNEEvYzXG8EfAB0rx6f7v9qtjpWsvNW7oRfWp13aMZ1Me6y8c11WJ-uM9rNEtUh3tz38ZAJMQOOLP6CKJqYFqnnlsc8L0uk7kaGvTbOCJMxfZmVoJ1Y7YXYO5sf0ZmXyi_AxJUSOgSlBx_6KEdHD5mKvwY3sMzLj7wuO-keiSbHmA7Qpnp20XZ2hoAZOxou6QaXU1LIrA5SJGG1fjMWtpXLmxiUzTwnhjN4A8v80t-EUIReDLLiQqgKoko6vz30AP74TG5rEd2UlaxYxzqwD-k1DUACFpm9ZK59Tvfs7ZBVqxMzZ3E4tWauGpLuWC8xQaPKT21935Z2gZ8HlgKeP_5flbYVL2od8j7zK-N3darLdMj_Jsw8xC6CWefcbDc4nQccHZOJIKmztwzCvGRiGnuZYMasT6MdkGJ3BBajH4MGEWjSrujALsSNuyK8UJugYhHEkb8kVPYqTksY2priWWJ8X9jPhHKt9-TurxEE8hO0aHEUloJJNrByRdaRvv75Sf2TyFYzL55IOwrqbD12tTp0T8BxKkcgc7OyWNe2bRGF0xaPi4kaQTmW_Ko8ibz8w5ZQQm1N0PYGm8LM_qlKd2ojxY13WIxuY11euk34SfGsahEaZMlKNt21KNywnkiBmpwzChoxF1cAeDtjhVe_ilOZHtXpJfg2zqb8D5s_xifQqReu7nN90KY3sXt0UDGddelRlNGXlUSUm8UZ5XyU96JavvVJw21KJNzXZMsbL2vZRRF7SK6RkgTpgXuFVIXbtj6qm0n_SD7Juh1FaFxtUaJO4Luzi57t77KhB2SGhtO3MXtg5E5Gpb_M0g3HZx44zmoK6823E2sx9RfPvri03dbYxSEWYuS_05aX7sxnGCdFbAseuahrMe0fZOwtkcoYtRbnAbHlOQ7lscVfd9AhfoETh7zepRhF-Ndz9coRdsTf27vK6klXG_0c-xVVw1tlErnt6JPgWUv40DT0-_SIL7tQ0Ex36sOvtbQm6dkh7XdOZcXqdibvySPjpOEt9t4pZYcvHKy6BMC_8ImZmq91TGwGu-9y0b3_L7KRVWYV-NIcjzraWBp_AdGCBaVtDvahie6D7Icm507VY4LGVnW9_pNEXipqQOvJKgkOnofVrKwk5jO1a9v0qxw16wOhTtxQkIFg5vwXkGXWiP_0sL-a2-mTNxf2NdH6aXesTrDp3KCbD-htPiHmDrIZSFTULgPrpZQxxirfWt4uJS3TX5rdrx577REdwS0rDdd_AAtcwTK7Aw_ACvX_uA4alTzVw-ck21hn9sB8WtEFR-lQRDMKcUzhvZwUJZZXuOOsYeLAgL5CdcZM5lxB3LNVRbVzz4JZwJAZ1oD4Bh_FNPxntOZSMURhvPJe8TaDQAXNVvpbBTwVdXL0uH4lriGjCI57G9dEEIwITAWfvkvpkUMrDbrwQnAKulQ-ZO2VSb_nUPNZ28xoJ8vBZVpAvDSSC3tfP0lXwNxfb3vS-SUcwamN0BRzEu0ZJVeRa4nOn2A-trTM-f66KL4R82oti5k3qyhgsYIDRI2usdUfVZdOUPQeI39WUBNtd_W9lLXQbEClzKOUHXG1VW5HP1TgduuzaFCO3SklHqI-wC_mu0keueCP2hAlI0yiNJJCWPMiZCkesGvr5NUrNG8Jthi2GDVFpG-dK2Atuy9HJISh1MqAmtoEZZK0v8SjSYjmfasKbEc4ROllBtzZJBdcQt_MekVu-f03eD6fo65tI0k7Xm-wEarn3lyMzGnYS4tTxJPDp-gYCebSq5qQ6Udl5LSM50o5fqkgHnFv6ba2mhDreHlCQdFF8egFs-RwAaLcOKecRDdJlq0J0QJccderjB3k7zDnsy0r3E7Y6QDNyJ-5srZszgd2_VU3mRecekq9LtIPMIeWmvu-y2w-LEamOv1dijlU_g-nERFK_d2-jCwqFyOMVZf6qqofr5oGuPA1tvviL7xRCyJW8c1NxOPBKsMvC4brNQ68g0kLFY-BcxNDV5p-2LUCyQ6U4Ieh4PzS3nGgrugYQgtCaG-DS54VJ-eaRMNjKMH8r7w5S0KCZ0Je-Vay5RGfeMc5zk-t6BAodZ9sAJ_RRkQJ2Ot7dLRoMgC-E86mX_vMk107C5CyfUmtjSefYYzw2IFU5xP1eAvyXVkFM_x_GdcZo-32XXkYxYbCOBzXGQTfyNiYdnIxdMP8DXBYIUQBYZIDbacIa88-JeNc8V_DJlPTI1jgjnCY5ZmSYnJptx5HDjQ8pn4L93XWtWwrcFwzZuB0h-LTuO0KkARZummMhpuX4rJNtrvo8lGyACRvhVPXJB3dUE_C-DvxWfY95cN585paFg1u4R_UaHxeytIGZ08jIt6je3N_ruYYjyxusQOuXFnluRI1lcvzHvlEG-YnMduR_czU_n0oyQCpQd8AfETCwwFugUYeRgjZjIBFffwzcdMRrK2Os_pvmNKqnVdZG8b_t6bEjBoPuNuZnGKrPi_yxPUOppCcy_X9fCNCRF46PDDgnfVJ5vVXdqXrBPrUYlQ-d4SrB2-LYqvIP8Hwvv6ESiH4wu-_qKleX4g553RtpQPVEta_64t-yKn2dSDc3F0QAZ0eWNHsHdpHjlCDMdBa2g11XQsy-_SImeLxbhaCL7xEPCBGOQJ86IdxJRcNe_iwT7TR4NkT_KvxYVgOMfwDdp25kmMC-9SyZ9SLha4OOVBemD8CqaE3SPdiZdYXBd2wT9E0dsyzSgwUH9cxJ9PnO7CV2suTQWyCNZ89gmLRMLhwipKfRJQXReatjG8-6szf9TP5gxCX-H7z2U4pezmkfhfLdM2bD-vJ-exx_zTvQLp7-DML1MnShfMpN9YdB2hX4pPw42vbRlD3ztSHQkORSNOARVNaqg8MlVrI-4ss2k_TX1fCRqWgOJill1Z36jVsGI4E0pk4NJ-JpPrP3b6o5Asi0NymKGydNNw6S2VL_fdNsavuErdg_EJeH-F3Uj5FmPK94D-UpzzEBbmS68cHLXJl1TApEybAQDjAjxmSRRmrgSeQGJW04DyOiQgD0_Zbel87fvHo7lQIvfmu_vZ16ESWT0y4Ka-OgLZ7EBST-SHwJa1aJGgnxqDrAS5Ix-hEBmbZeb97AbtJuFnAQ-yth3aVyYVCjFmOpN1wTp9a8lvsyU1ajFUTVwTJOgrNLvkr6y_1hSPb2v6rMXHH6RESmv868bDBeXRBzA34HuvPskzaoSyqXEXyjdebAqVLniMTLUNiqJIvGdgepZ2i1zBJ3I_qKdrzgSlIa6W6LGiyxMKnWPSDReOqeCdG8Qo94sHhPOglciMSnFiCEnuoflVq-DJ0CEc_TrUx02Pr4S9DMyJeE2B6xgoLZjpvEerNWJoIn94WQ75UD5XtqtLucdOuvudBG3waAzNOzx3ZeK-W87_-ZFvBU8vu4NvB0Fe36H42UMf1rA-2lwEu_wMPoy2NolHjGM4Br6AF2RctxY0YrQtlziXJfO8hKY_qQ9mN1Dqw51o01t8iBndMD0lxq5xY_MPZKe0vJYn662rsbFeeBwGXDl0RSBH6CYotRBsxqxAd_SWDTBWXnqSvzyHLw0twyShoeFO2h-4ih98gkBcVmFCzfwk2c32lcQ8DI0PxW2u4v3D2P5KQZ5hPGrlmTKcqcWdwpbMIbvpqyqUq4bo-NaQl9o_h_oV49bCqJLyn7ftEi_EAplzcbklGH0yh1NxXAEb4vfpUWktwFbj3zYc9HKFNst5CuK32h2WJpZ3AiQ3RJgIPuX9oAUaBzQQT8kwwC9lLXIibZ_MflXbEyM4lmxTsA2g3LgAwIaV25vS508Na8jc1AllWs5MQJNoSDYgML19Dj5cwXQrp7AxP9fsvR6TJHa_rFxssWBtsxV-EWc0IERnY1E6-uVditq9kWbzDgC7bMKXcnrG96b8aza_78C6kwCR95KUmjiRd10KzM55PQJP7EEUYMCFUhpEoxTy34S2DFfMGqCSsiny6oOc8dide-LVfM6w3ymXQSw7T4HjXbj-sEoYvvGxlj-mJp7ukUugWB8qihTCcZjUvtE-CwLn8DSzQUwwd7kYpXqYfoV_z1L5UYkAREhnZr_k5SP1bdH_TL8Q6ezyqIUdljJqF4tfDQpCa9frk0-LCLk86QZef1X3yrnfMye_pj2Tu4HqbuUbcoHfS-_sT9D2OAVvKOCSm-pWw284HtBjD_wCbngwkyJkJl6dl55BoGdb22CzxGX_aZwk0X4diviZ1zUnzuthUBYg5LNf3uR1fLRmVDNo_PNt9GKV5COsiHB5VKXqqSEnetyhWNcFAuioSQFU0BbCTmzbYWYZpF5Gee69LMAvbvbjKfp4YBx8gomzc2mMGGHYWr0h_CeFVJe4HPfaUo3ECorDqQxdv3ivTeurNc4U6jaij3A_uGo2QhpCHsZrUFqXr5EQqgszG-P3Po7FkU5k4yq0AiE_MsovazzRxGlOsuHdYCqQ56lIOXUb9iGXjketOzStKLrWpe82599zGuAYAvAbH1dVFG_a-jiqETTCcosQJxgWqFaxS60lbZVkNvp7DZpfBbilShApRNsEosv5wUlech-tW9D49TcAW4yg7vIy_pytbASuk326HZG1xQ2UIfevcvk7J3mxqmyofMwPiAdLlVhTtXlNFsNOwzcMa_FP99U1adYzTzigvAYc3yp2uKiC16MQfxzBUu4DrfSlo39_E-Gj4lhfEQ5dHyu--SUATahl7nZBJCW1plh5VPvOy02PUhctQahFMa_XHYSrISUYY5bCKDUkXRlLXPUmLjKaNtAnrRB9b94ON0L5YoyIOx0qzdUKD1aPUQE9cc-Dkv4r2934E-AowXgPxsayQ_u1la_jPOlyg1O3oFXM6__GBv37kAa-8jUP9aL8SQcmo4mm2VAQrDMWf3-pKA6WFfmzpQwMGDmYYYQkQ9IcAmgaSXsYuHLy74ZyyguDqM9TsdY4cKNFOq31fd_WdT2dWj8aZxgOrk7kQvFqCE5l-W737C3vR3ks8aw4GWFPPIIxQgIHoVR5TB2-P8PdM0TfK8LXrHFzAPtlRL2vt4x_-BtD-GrvYy9h6h6vib7NILngEV5SM_cmXNlzuIHD0ZUoHT2LTAL4IGa1j4-q49pw_fMtQiFv934mTXDn8LecmEymJiiwyb4cecenGVCX8C1uigK9G12FJx9-yZ6OzcDurOHlX0OEtNxgoTL5mEEppkIOdHQK5DpgK28hm0OIHjTFiwW0fusw3yeQSUodRpC6dpxNjppa5iPQPxWxY2bSxKfIbmzJ5K6AbIFfkqb_9EVc43bLvJe89aTF7vJ4a7pwqY-VFPgG_UZrEXqjchhQB72iyJNaN6_FmUuFkn_xu_q4rW1QUVKo3L4I1TjD6F_FDun7WrGGVbc-dnlWL2EdVbX0Kbr8wTPpxYNuocHocZi6T2CAJVCcWTHcNcLBVreWHmNGQUspoiWZevgO3y0TUqB01aIzF_QppUl7g7ZdIAQCFI2e8DaYTkB2iigcnxSVlHvImcju5a21DNmwxHzAhhHo9b7866n8SqoFd1P5ViOd-yWsP7ZLSFyg5AudYRDoxwqmtrlJq0l1m4WUw51F4yDf9d45GDfiILFZeVzJ8LBY0_f5QT6juBDVWY9q9nO5No7c1S0GQvlv8ioCJu31iUQncASYdIxa71cRqab2Zgk23zWLS1uFcoIFhKtb2zDF4GlOScOGOKzXMygZJAB0igKQkGDF-GgTYkxop6LKkXgVgkwfDxBOQQROLY3u7H7oCR-EQztJOz6gw_WhxonarYf6IZmvCnbqD0gLO7_Kv9JLj9RAlH9H8LzMdoDziVm48Qm4m-KwHUFqRiI1SB45T6DSB0US582-SbzHmjAxSoS2T5KAthsRzFKvS9s5NHFnh9DqyMamdDLhtIogvdg8KuKG-MoUBSFHT5GBS16LiCWBlHWL-9YjoGLL_I9DWwBSBgEoX48s35RDmD3ZEx4Q0rdb1oLQ_9myZr-vx26_Xe-1Chc2bJvJpUQG9XQVtbPbyLyZTzd3aQ5RzMP5QwXtOGmK0pPTB4YechTrt42EM52w4A47uCIjbzIPkRyW-Ok1dXG46AXRqiFc4vSI7NxVUaCFkR0rVDtDmKF2iSJVeZBPSrWOIiCtZdVa3ge6fSx7urCvN6VFmRB0uBv2k4By_iFZPOvh8pjoQLVE5TMVqZAReg2-AbTXN5upEK-jMKxtHD27o-1IUiSxgLqQdJ2wYQLdueI7ur6hAgzP92z7FgvmbmaN_HPdcnCnAJ4uOTnoRNi-3IMZuHU8ErBV8duUULZDmuLca-gWqWU0_p0zegUQt24AvfH_bLuyYOVyTgI4k9jNIhC21rBcZZKIjYKFtLjwobZb31G0z-iudrPvjpmpgtS17JzIfIscr_2CCtQb5CCZQ3vt-X8dG-kx6UtpCWKVNz3ftPYW5ViJroWRcnBIjFiPR0KmmknNIrU2eYUFPdkw4KKpeIkXAnhH6TAncaf22PUyuSsaaxWPNoJll-N_p57mMFV-QWDxO-HTwvMPg8ayPOG1eiezkdI7n49GdAY29L-WYRNDpu11qJ6wSu8xFhfs19tvhyh3JYlN4xoOaPSXjUfdgNMc5yfXJffgnpFG7ATM4Avadz4Ty5Uy7G4zWVxmyKoucnhN5f7LUPMcNlDvsCOoqLjtRNCj7LOlJ864HtAqaNs3R1DtzKPWgU82moE-TP_0SxXNrTT0UEO-WmC3O8oJQoseqLHoyExHUqbObL2UVMRUuY7hFDas1yvXW-eJZQqIZ_7KjpLIYf8EzeUK8iPuPUwm130CJUm-IL5lsNZ3Dx6-jrP-H3H2TBuKOGCA67US_HWo5e_mrHdhpdm5fdfZN7WGzb9wL_0sFFwTL5mqD_7xB7TvHfEaIur1VUh15lS5fT00iNwAzQyKBXFUQRdAyJDEMowPuJlPyfYwTwjDdKhA6GZX4tlIhsp3bU7v6QH6mA2TYA5U3wGPsAOtBI6vGPvCmBWxzDt2OYVdozDylW6vkVoLUJX1i7WMpwYRlsOZi1zgGXMjmXC6xpw_uKm66D_zNq_SjLqplcnRpbvOkzaN50NCzBXL9fA3iLcoVEOO2h4wEmJldtRFntW8S99y2cXxHwKzUdy4IH3saZSryW4ZZulWvEkU7uuOgov8ZZy35BOZW2eqLlAQ7VGzlEDjRL6WQd6yrj19kL_oq31zzfBMm_ccKYfnENH9ZKjQAbGOR7J1b1s1dA5YOEPLucyd7473jbst0PYnN_y88MeJuaz-sRGBML5R0iiFzVBWvcttIC_BDcRbScfym5Tn-DvsYhOo3Wj4JvQdVwtuoJS-kXDK1ezq7EHFNBRUlmXa19qozyHR8tKABBIJU_uVeyLO8Gwz7-T_pzsUAc62ET0a7vvD6s5QBIn65WesFo-qGpskiJzF8LehAXdR6b97tGP3dQB9lms4v-_j9Xbrq0EeVWi0WruE4yVe0ZGLB69mOqWQuK8x4BdAZJBLbCVSl0s7pd8s2ZuMPQKgJsPEU-cl9gjG2949h8C_XdHaQ8OoPD-RVhkiEjEgvTr_QpsRk2ux8V87vlZ8lbrrhTIsYlVGgeIAGlvVOeGS93Ic-6ll1UL_Y6RwV0GEP1PjW4F-1KJH7cZ5lZDs483Hsfd_DGfJZhQmH9B1IMjx6lKz4VQ-BKzSbQOZNWaj486yDjSvzb7Zt9MBXH-5fFkq_VcmbyABPw54RpIc9Oc72SFf2ugz6Z4MqNUrO68rrOMTyKCD-29fx_kDLP4EfzNt9YnuB4IWq4-zgsR-Y06nSBkhYyajt6iKPVxnjhU5wdYTIM4PIBvkc2uwVIrU0A_rbwM51S3ZQ0yXv1UeoOS0FFtQUW1VYITKUKnMII0J52hyjwo2RvzoowSHaEbpTwHQmaifB-fJamJ5R2X-vZ2JaVTiAeh_6XdSG-dmy9Xkvhub4aY2OFgzRkTJa7oCDH1bVU_wPD0dwwx_UtKk98sjHV2j1-EM4vMfvGavceyjCZA6Fg-hnfsDXxvqFnHBhWHrTEBxIL_Pl19jGSL6IdXQ4ZCn8y9aG7sBJ12NHEF5mOmqIn8IxbsCHKIC_nLPpwgxj10XviBuitXYotyLrHIDG6XzXhd2O-4HDUa4e5a1zRODaVLLB7KGNmroykYFk_qsADTDxQOxOhV7r_4HlS8quMnyduZZoF0Q0haZUQhQoLJGLoa5CUSqMJl9-YFyXD6WuvjemlA6fEq_3BMKvFfTnEKo-W2cJ6Psdtya3P2gDlhzpbXOKg7VvurYTZMcbGUmYQmJMr6-t75sCrTX-QeZKrvq7yvXlgiBx1sbe0Icc5BEoNosw77-5otp64eQUxYJMjIMKwPl2LF4UJA_LOUSskaoy8pcAuGrUwOPTjnH5ZuSCGP434EOlsSZ4lDtqyYjFTWLwWeJ-KFpR5bwZYzi5tFqFHc-69t8iMtccc81ldoDAemYuO3Z1ejOj_edZw_wnS-ubog0LirxjPoNbX8RL-PVpUGz7rVcMw0zId8rMEPA9TYZKiSB3DW4ZV5KRHaLhIgVGo1HH-oiNdKwNG-Cr73Zr1ak0IpQ09CyUyLFdB7jIX25r9qQ9TtpqazhC-ZFDvPunwtLkAIRR2X9MdfFKGfwHdMuWa3omVGuqq_57ozxVXxSkpfYOqb29f8jnQpgBI7y8fVvzxrADcjOa7aOVH2-JU0svMLI1x8ni_s_3Z7wpXLUwXoYxc4zzgXtYdtLYG3Uh4e1jkRAwn3FnjVg3zrIu4hoJ0bQsFtLRniPVwR-Vjg2-RVUnc-H3D2kTdokQo95CCG1jrF37FUYM4rxU1fsg7Wsks62xsQqHXpsDoQbUvxqWx8_QvdayJEnVwLvcryT8H_xujBxWf-3_p_rK04QBDmEd3mvHm3jE66Lyq9K2fRaQlxrCpTdoi_38I2abBXvFQE0z3FNw_R80fgXSfq4TPKeTtq9gnaoDKEG63FYy-eHg-Yw__rtktxuCQ18sZOPouu-uaRd2wDB7p7qCf6jAcQDl_VsvT5s3gbE4l7A2S_lsAJLzaz1po10us4vfESHOBd1qeAmRFvHQS0JDQ4fIiJWAEKU_p3adjDcY25EI6sfwZByiPVYjzxyOmtZql2wgwFn_54Qbt0_I7J7t5mUExMxLx2-IVQ-h3Kiz8_me5ZHZdxwwAjSQAhsnTt2kG7PIGDdex92yivb7zJYSpe6R06_e92wr8PY3sUzJ5JPPGV88vWQvUcTJfL_z2cfPrLbtv5GERcW53MgY5yu6snMYHUa4nex75d1KSQRTFEOW5uAEu88AeCyh-s4zOhr7epaiHk54Xjbz8-uQHjnNmAdJVwVtwZbb8xHAxgpMmgBRkI_rdmgezz4UfMD6nRWstkV4ePZ1VpVQ9CB3Xq16dngRvedXz_qtYmX1AHaTLuQQEDY4VHGi4HoFPVwACLnVA9MQMNqZTGWFKGwg4LjJBWt-tbCuZWXn0HI_BWJ-rbTO2yxPz3kqUf3iSmUFC4gf2zOwJv92WmXMJG5gQtwbJD9aIq3zBqI06eEK_6yTs4uiMTxsEQ6zUseaaUNXkqdAyDQuHexJvFq-bjXv2KO3FbQruzGKKV198gByFkudiUYWRSW0QUbCJinXKkO1E7jzMDwkcj53DubEloOKs5kPuqYiOtUUUZK-coNP6HeF8sheALQLnQi8MwwyfKxAfqMW2elpct33uj_G1SxCpe0l3sHW6PymYTryIJGrgP0z2s9aZd7oW_k9dx8qcSBol4UYmv5jsByHlC_x5VrTrT6hCKAB6hMVFbdNiFynaP8bunKK9r06KvPH8MuL4yH8CQJUTONOayrp12NHXfrJ6abjkTnu21MO5Rpwd7-_HrUd8b53ZLHxbP-U0YVPk5MQWd4hZjAvwK_sExzr3kOjhEC3sOyYBN-t26HWeBGBY-LXJ0I5bDfpqmRoV8IhvaE1LM1mt3KBlb9fRhQHyezE4QSNdosQg3FOdUn6yN-JBnHxvApKfe2Flut6y0nwl6OVs1Wvpfy51WH1nrbL1tkaov4K9XrcPVN30cTZq6avTmujgo0jcbnY0bXwEapT_VCPnV6Un4Yg6Jg2xudpO1vzX0_mjcTqBMm-CrwbCCesovA48JlJHF1Ejwiaif44Ck_6KNfatHsTGWKzoUEjEaCvw-ccdx0xBDX8f5DYRzSRYruV_PbgrQjB2tsW0R6X04R4NVFmq8z6utIWCIq_CLsC4ExEV-tXweNKJC7SR3BndgfX4LCORhlWpv9J8g_dNPClPF0twNr3Ir805ZSJUVeYKlqbYRNZWk49E1CHcVdMZD1IyzNvwxz0QVQPtWIFH_ohghK18Lp1AaOv9KUALkYnhgoLE8-N3JUqDLTwCvbMegK9SkgfrDlQiqKhK4nFRtCpYgtnF_Z8XiHapWoddbXhDCsUgSX1ank7OCPb40DI0QrQ9DIV4yFxY58HogQov3OJAU4ZHQx23vsgT9mIMB3sR9md0ezdYRQk9dPsGLflurggmExi9a46qZbGVep8GutcWS-bdWWGtN6-1cGvDgrLKfWOhvYeZXz47_ryw8wYvxRk95Fahh00qdVY-sQ7N63bsPBAaTrk6ReFtY1MoFniP2G2Xj3gr1eeD5qFAwAUZstzgQU_Vd1vme6zgG_DvgkZRyfTp04VbyYpoEQB3ATpzFzJez3oW45al88DiJXUM-ugjv2dkVpfXRv7BNU-0Zm4Hn4f5j7Hv4z-eM2HnDATLNij98abXmx351uHl79Tu5_0bTEZdwvJSC6Xzlcqn5NdxGv8Ln31uP_NYfnU60IESMwFfygWnS4wa9ZF0-nC_gzjjFa_P0cnFznvvULGUAUOtN3ped4BWvOevMg3I5RsCO-T8jF8BHZ2VkJ1CqCMS-_At3U92_IWGc6h9kVc21uVxYdxeN83b_TCdnZe3FqJ_ZRFdIlCkJLKsptkM2EeVsfjjogJLE4cgjrC93ktt_ZGDDq7A2djRcYlGOzUFtGbuB628vv-ctBqcZR717D21exi5hktfFHXwETOtCfH-jZCNfNYglnTxnGiKQNFQ3DPoEi9c0zrDSnIRtCVc1VrV8tIKylgBh-MXnVhWbeyo0y0968Er3GDjiVcqKMakr7jTW9J3F7hSQouK8iKeGTONtujseUtaz-11hlAhIsW9UwmpvjLCElPm-NW6NLtVW5TXKdygMU4WF1eLQoFEqKFsFMWdMaJC9R5S2_bfoqVGxnWNWENBUFSiAOJ1eaG-iV_04dLbT7zeVd8BftxrRUAMoCfj_YhzkqZt1zQsjyVbPMGZtqZZ5pNOCg5lcu9hPeJgpbS_UPzzXs7gLkzoIjj9FNyd1BXEgx3ysg74rL822EmLCFE21zNlC_4gOn-vS_6bAG_oXfcxqAPfLdV9oHVqCRG0E6ioKl-_ASBEaEThdv7GCDqRl81WYI3zdkWcPg9CgDI_CLFv1Ryx9LAjaECLOeIfjLh_fcjaJVQ8gqpJC0FPHv9fPiThl2PswhWpI9ik2U7ehhq-ROXoPW0AReq02OoEK0N6UwSdcxN_W5gdFpVyHwMtdBqS1MB4nE9FIUtPHkg2NyvpAya8IItPbM0QHFJqholszRtcwd9pUG8eI-drldfzggzXXMNYsYqeE-XQl9fMy1Qk3BztAs22y7xquhSO6myTgLgCsnu0RK_WJq7Q3nLgQMpEtiKirNX5_RCohg4T6uJe4Icfdkir3KdTla1RcwB4Mx-Spqbl7BkPyUdkFKQWZNnbiUL_h8UgVdLUwHv7uwyZ0mZjn-aX9smGwCOtNQ6GyHmwYOieYE6BMuUchNveXAM-GHqg3_2ScAWRAr0ls9spugwYtBFYB0h2FksP7cwa6BOZWZQi_iPMyV0KBmxEDroG0mmS27HfH2j68_OrzCPDvJ_amHEgCdZw2JjC_eeGXq0n5fRIRP_V-AMo_a4OqUBA6ycgYAb1mllhZ0Bl-kw7KacvxHbE4oQxFBbEh4ViBn26lxIRM7B2W31nQ1c-HlU0XyCQwevMbGt6PbfOr3qoeyWSKnxcslCpOrvgHG1Wq0BUM4Jr0O0-MdwjdduTBCW83Z4AfKG5pnEqAr_yr8mZtO5i8rsnTcdycNnYq0r9f_SmAaNwKiUwk12UEIAS2Ovn-cyRFcB4YBkz1iKK-ileyD2N9PoNHwLn_pmdVdzPijjNBAIPKHnBbzTDxhk6_Jvhn3WXRfZctjWmOl9O_ISwixnfJAOS3QA0mfyONG6r4XHi7HzFo01I9gYju9oA-ZNtz3__JbDgnXgbNb30dSe9RSJWncS7N4nsb3BWDnGnymjHp9ip0Qx4_tT7aTKeWvzg2Ua5srPxEk2WTPPxS_TySsdbZU8HxFByNp3oALpu-LGZ8GU8d9vOTKygv7PG5-EHgDSolRkawiddzNC5rSXONB1_I4OcfJEobzSAEGY40Kq4ne4vFGluLQmxl9OLOyvmc12O87TyL4xrO_jfFhNcJSex-OM-fpkyNA_j1Kg6450vtukS_FCFgGx9UzdptZNLFPGpJAN2osF5Z8M_w_nStHmPmZVbWw2iyF_blshWlbvPk6KbMoKrDW9uj_P9lcqKYCmGGQy2iuYEyjfNS7tjDKuiU7xB479xPx52plrggT-cRtE652ezJncfnyzthWWHrHJwSGymRnzCDUIHD8cHpYtErnxaaEjJs_yFk48Spy0K6n5GghCodNfZz8QkHoVUXmI6X3WxM3LoFFBzwGg7RyA8OBXxs7ud2-WbN5lhGaorUNgvFj0Cs7WFj1MgPye79q2Snh0c-oKbP2MzOq8IJfGd-AsxpS2BufZrmlALD-Sz5_PAD7-K5798ZJpjFGSijENH91jHoCVWZ6sSbU3Sbh_R3icrV6cqQtTrXF8bVYc1ulj5yN-u199i-INQ69jteKlzRrwnqb0lRjWC3SDNOmHns8o6TCY9Ddct1Q9TjEn0HuhLPS7cORuPVqkkPr8EIJeXHXE_gnR-7WjxCQjXgPSn9-a5TmihWoUxnN0uTexIleHWBcturtOiCDPcn4FUFGGlbwCG7piZTe4zC0dHB12f_AzDeQ3wCaqIk9uRVrMmP6SHn4rLxUL--wjTHhEMqNZ6nkuNmFm357l9yQXeFOFwDvEn0H6K_02eAGdqmVP32pK16V-Ld70_-hFfIBhsAROaWW_ZbMsgt4SPo4RGuxh960X1vZykrc-rMnzont7-IBP6G0EwyGi0B1OXXsmEb_lhyQMusYXKiQkGGYwhDBtSiVLLLfOBdZwf_B1dM5qNzblhqQlc6owYHbzZBArCujT0rNraz-qi1UfFqTa9Us8YATSyVb1Wl7U8WpDiHT2stANHzjC2FvTYt_wJbZdfc5Vfrb-1hv_XfmHzeHnRwDrwvxrlJ3mBhlGfPFiOkXfLT9Ac-0S9f9Tj0eTnMuCEtQ6mNMw8G9me20cNdaZsOlIOmu0Z0mSkGOCgQvMz7OpJFFosHj8C8EuI_gUzdKOIgTZnH0kgIhyHHSquKJWr0pjfEs83gHmRSpKaZ4pMtgG4C1PA7evgpPmaPomyXDsN_6YdvC8l_WohPpxCPUaks-PHKSzLp-RHsX8HZ2yOXdOHm4spHFPH7NmLfFU7uRD2M0nB8V95p2rfCscGm1_7Ltj94lyFdOsoxpkVA5MT-2WYz3b0v3mUdsw77A6-SBQT0SEUKD6DyPpAE0Zt2paLRNbulmxQ10KDY0IHFXaYTUmcYsE72TH4PPcKsiX9wXDgKJkGygITvowX5tjAPtHdwXhWLdX9XcKfVpHopXA_gwDNN1-TAyuEHaMEKHUcC4M7OTyrYHYBgSKen0lNP2dfkLPHAcXM6rHY5B_CzuIDFH1SHG17BYa-StJVuVo8uH5txSNE6qzYOQxuDI2R4Ho_HFJIEvA5OFVUeHRijwptPLxUk-J2TS5i89NbKtVtVVBEqCzjZlNr-2yZTYbepwyYShSToRGkwJ_a_WFhXX8IT4IK48UBwnMST5ryDdBF7AnLU0eWYf0aPcrnmeBYaadiMZH-6HMLpjwt1mGSOiyuM0PGn58JRkowsmWCZkCSjYv9NxkjwDIEpLUvsPEMOt9SQ1F-jNMNxDHKf9ckWAbGbmFpxrwn6-qhbHC8YaSz3W7_R4X-BDDzx8Br1SBxL-gfsUyrLBHh_y-1Z4S5XqaC4BXew5AzR0DFHkfOCrfUAyDVNdGurxJVNEN8BDCma5rvqVTLKvJDeN_6wS2kT88Xd5o2vzMlFCXtVYjOzh3smX7Mp6ass1HSPMbJeg1OwsElHBptbb5X-W8BqutUuCEfgvBRqS-aXVgOf0edOuwAm-hhcKUxJ2Q0f_UkzhGyset7-lnEtd1LsfBIrEN-VDw6RyfTRX0YSqtB_1vb4j5qdhpcoK9VG8c3NzS6t7W0bALNnxgS1r4HwO7ERzlBvwpL0xxsT4trv_kLsGJwrW53cv3k5ZJ_k-Hj5y-gCqTMVev7Gnq8kEynDVryUnnxJT_HNec_HbYTpu3LRwRJtReOcuXQZKhzs952IIU5b4Q5G8IIvNjyPqd9PO8Zt3yAg0ZqSPbLX6V09oks-aG_SZ4nG-PRCjt34dGslFNMO9IzNZjmRCnuA0EoD8wKjgInwpmBHCkh9ejGeFu5ZnMRqIC-JXP_7hCK3TgwcM_lTYKrUVYNprZQVx16haoZfsteS2NHS-ejbhpEXjz0HNTBBiHrxEXtbkg1XMdJKaDdyKP8GGluZLcIV9BAixr6GRRzUiUO1DzRkYHJkfHlrwlD-Ocm6zJbFB8cmp_KTiLuYNSQi5bWbnymM1K23pmU9oFI_M-7etD4ONuQNDTRV9ou5yOxObo8cZJ2F9GOYUJx_2ykDNeYfvLOt0UoYo5n5LGx8WFMFKyBfVtDUaWOwtJiWbXWYADH4h-qGHzqQlE8_IO2um6JruJGIKSFtJRX6slIeeqSyQhwAEJWiAi11tuFn1M4Ym-kfux4LAxvcy1CL0maD0YfogoKrfVbUz_f2F3brwj2c0mQsghfi14nBFFO5R5ob7OtTP1CCcAn9Lq2zC5ZsWo1C3RDNwGuf3AWL9suvAzyCdukHKSraUuoXlil7GT4WwN-l_Olb_viKNEXppP5-2gAM7PQRHJTVPgYkEHRonrcsClrJLd6_ltX8lTZppQizQK5ld5GZpLxp-Z5-A6a7Fkz1ZtL1kRkolzgvBFjRylcNfxiiOFMlfotynFswhr2V8XdMm81E5Yfsqwf-NAAfnotZK3-124rrr01TH3-Z5bWo_2A9biF8FBcbAw4BJUijfHWXuUUtFeYHzR0iBoTzchpszl7CEfywcdt79H1wvwjD4P8dKCeaK_543BM5tAYp0eVff6fNI8m4PzrJpDM6ePk-Eha-9PI1RQPdQBNAU8zu2ug-XTimp7Vc7Qk8JJLAH1F4n_pR25k6lJpBUYiMrhzvrBKVxV-b-oYubaC5hIQcr9uePJxYyYhDTSn7YRfOTpU2VYabyIGjg_Gn3BqyZBsTmR2K0N4zNYeQTH1xlnNUSvqb6jUVyNRp07d-h8N0dqHpGGbC2OLeF0yNJkcLmOzZ8cqQIg5xG0OEYRq8nSDFNl0IHH_-5pv_Odoxu1vRzDCvgAujRk_Faq6lXTJaRk7oGw_4dnf02TPTfNZ-xJF3Bn1_DyEWC-tZiu9vqA37MjuIh81c-I_vzLsKqy4SsmfeeLYsM2-qCgA8DPVL-dpyYTXxubcvReWs-FvfiBm7c184Geb1cdIgy7C_XFa5zmYv0NmRUgUdnMf5v5O1NsaPe0ug_OMBY8fFvJQbfMBXf4jYlSUy7F6TE2aUW2uNTce2p_9Z-H_nLMJaDhRuCwOcRTg2VmoqtJ3XsGuFJaVe5c5V22uCV4Pk17-piuxNEJDAHJTt3YbPySPsiam0wDbS7nhhenQetGyFYxVNIwjFzTV3DB5j4a97KSxwsN6B-zunD_-zVISohVY8sFFAHqLNgAqdTNS-EWdEWr__ofe_xnGqYgKLkmMA0KijFxPJn0ZMcXtFyv4YpdmzM_1qtL24x4WOGm8CKWzCBwcdBxzF6f9kf6YvSDaM6VCOs-sfN4-uOKt1Mb6eR2UNkh2awHbk7s-jLu1I_TWAlxhGW3tyKRQv0zx3o7t7nxk7KhR6XjBY7iq22dZEuaaD7GyVP8cWcvICv0LvqMNX3-x1f6HH3jp3RvW-6pHeZCUDREaQutqoPMEizus-biHqzdX_9E-BtzvFfcFtMi5Vq2qBbcH5r0T2mvpkhcre5ILBV3hgLEvi26Uz0iRYj-hfRaVK213rxF-whpbnZfdTf9aRzhoalJoJ8IrO0TlrAU6f2PLrNzmZ2WPvIHd3MotxrEiDc-5AQsdYqw8fCLBLk5xTZwAGtroGz52mujf5HPHccmnyX1mgbi9IIjrdIyeewHCWZENcM5bpKFz_PEU-YId82hNrVohgut-KoPX3FlDwIXkOLWDeuSo9BFSC7XSFK_VIp25BwV3OSK4BcA8AQ35no9Cglf4EMExXlFBNJ_iB8m6YXbpRQkERseMBb132GFV2Vlkuo4Ga8uZJpRedxmAcx9pcB4eVelBPzQCU8r1fu0g6bMtXM_xghHd6WQPkYd3HKR1p7T8zMJ1QCFfkVhmIlLJrrS-K0fGGKC5Sr1OxHD0kkGIYvJtN0wd9RUTZbZZrd9d5imMga0G2DE1uZTgYV9Z6hRSpF7D5Qv_4darNR_0_wHL6HzvE8y5VAHypK-KcZ8YPWaWsTk-yzFVkiuBg4I0hSxZqEdcePQDIeLgSY_lUtIXQUewJ0_4yHB0sQpbL2UPgRGM4XJR39P7KRNt6TWx1Gbw-T0srg_0H1wgZMb-74xYdpEsZ9hY1REx26WtFI-yVFMcLOs-ADbkDuIyI2MbtZfUIIH7eTADQCifyN0bCaF-D7uwlu_l2D78s6StTY7TA0p0t_ovl0A0-MQPVklQlVTHOhICKFf2njmPR1IGVD0nIlOA3oBvhjh9mS1dg4fkPozSjWGJNwMKS9gNyCBU9y8No0AFDoSLlCvOOtQcXVQyMFKbz1QATcHqWqhENdEUzRjbpy7riLeYdf2I_JedaEg1J_C2X09QcaBQkDQ5aseVTFcibjeKBOzeA0ESeOy-fiYWbOSFH2FvCSbNuUFfr2AnfsxlP7mleaHCtTWJW6XtOx8QB0g_lW2x6cikMe9lLmdi_QEVvWfcIahdTqhiKY28WRldAr4tNYkVT_PQbfMpe6w3ZonlRWGzQBcQL6_fYLzMHlThWg_b4eeIu00K5-jw_qvS8goxbgg1AdoLchHYEEhf1GohLlgBOGQflNqp48We2I2ThZD8yaiAtrysSa9qniED_q4So7EKCXM8JjzgyzzUs87ap19sX7q4s2x9Qawifj_vS74g-2sbiuzRBladkCQy135TWdYh-CXW21zGWDTWkbmCZNfQZwOWXjn8g_z5WHVhaSEW_hJlr0zZXNgGIj_w8DKJritEgV-uu9ffvJYLFhaOfx098qhKbzecKneAiPWeMNhpX3sQhI5NTtYJ6v0lFS4IFiSe_DVORq8N6CKSVTfotvESCi_7nWACNinAdcvIzMBYWheQTcoUfGE3c6jpwlgdlWgyzSmScLnZeQKWi9pH-qdasG-z9bZNVYBm9faAEpghiiHGHQcAZVlc-wLREEuF2QP1hQjbx8NRWcZjjW4Qy_EmxGQU9CpcS9mECwHOxW3Ed4YhUdk1PP9iKv2aLVXlXAqYgOyXvUAerveG_7wDsNWFte0hIyo-vkgSIlf_oVTrlybDCbLj6ElvAV1qT13WYWwPTqCaGbxBoyRzlQvJlq_MHCeKSvJ2RYo00wxpe1bId0HVkoOE65mkuGWqOxIgv-phlJZ2LO__TP7LXpK8XeT94H6d1GTeCEdtkdNxQ9dSTA-kmDBZ4KpjHV0wlRPY925zVUPDWSnYsJNkoS8yaPsMqwnBMaGPcq1mpPd8_uyE4ume3Qv0PmbKjp2w9Qbb5lchA_5XVAamUXEaRMWv-l3UIJx7hT9W0iiv--6zXGT9XDzkIurL4hsZZNRs-FjkOvtL9BixXwexkfOjdCSXicYUwfhk8Fgk6EOMxW-6Fgepxc53gQ9g852XD7u3sbxmwe_QzMbTtCq1yjcUotg3C2Kv9boQPJzmtrkPPhQjG94ZMtgzQ93XmeFXxBuE-dMjrl2VJKE6YkJ_MMKSW5m8_uK-ejdhAWRyYXwQTQnKbsSBPVVp3-nH4nAMTEpkytj_mYTmCkWntdQLzjaZrjVbLQlzFFef1RxWBARNdxipQb_1cz3re3kntbED76zTpFJLKOCS7T_3g7wfKdQAXSmeIFMdggM-pwgYxMInC0PVYjSn5qw0PDPpLjFmkKXOkaVkmgEa_EjiembsKwRKRX6sayCefQBstzxrnf5WtQvqbuH-WHOE3pdt2eJPpTMZxkGUN9RnrPnqpkuBBz0lX7VNhgvQm6kn9u2WSM_r02e5FYog29A0vEp-po6lmqqCopA9yEEUiqBLtggxB1g33WvAyxaXMfB6ZF-qXgmD3eiTieYMMKjPmKMnqcp4qIcLc0pjquNhltkwOXn6EqO4bb0B4l5f2EtcXWGX_BTYVrGem5b_EFMTRqWIfa38lDov4I6QGMDzeExuFAqXPk_wUAe4xTMUKR1OMa65TOhu82jbktCAzlthwyzBCic3TlrbWXMkd9gLqKNoYz5JLvi_6T1fLcchtANtEDzskCTNXcNPw0lORQeCplafG6KeGHz8VUyO_YwcPQrw0vg7QSdhE_4P0Ebxsdy9qJRjugy9bTMFSt65Sp2kWwUzu5l9UBmcIE0NQye_IBhHboL69IbTqPpn3xWm4cNlgd2bvTTVITT4fXPilaJPbIEohmCK6TJV1uwx9srBzn3vuYVGXL7pFRc0l3w7wVJCerK7ZJ7v2Rp9Zi1bJZFttkkUE4iqbJhd9m9orhTrAWJf8BPW4NmoTpdeWEoUYaaddjRrYSlxKrAbKkj2rx1TUXcv3TS5ZYMG1nE7b-Bm5irxAoC8Eyg1Cws_VXwdg1Wx8J1foRtDd_9BLOH7n-Nb5MVMOqKZ6PJFKvd6zCtKpfySZrps8ImTnTe0Ab9Le0t9Gc3Bf-ZgFQzhCYHJnwujU6UYiH7BD12xLKbyyy3VSzWorEXEXzW0TQvdtBAaH2eIz55ZYbsRAyIweKbuE_O9c9GHyAZZRqADPl6RVTIM1nsbHMhrRtwthe_X8Ew2wQeGQ_zcfg7Rd3uAyusVreXJNpXaqBCiAcTP-yOLBROW7I6NK3R01DelZImaIPIj8k9rRTcZtlU7QPmZzsgAoiLgHE9AjD-P3OvgV9LOti-B-VfHvzrMWqgcK6BCBygyHViZbxTjCEuJ4J6ptNbn2rvL2B2yb4TXjXmWmKiZK3CXcRt8sibLYpwYvCL28BwLM7inhiIyCqb4njWwK0xk1hhVJZdnypSZnxey4R0E7Rv1cAl21ryA0RNnFWajo4LU-X85ENT9fyJWwNvABAHgRq-_IapjfQGuP874fFMK30jcgFCH1bneHBMB4DfRDhipbhdB8aH_l2V0pv0no4opXtPpnKljw0V62EcsWS0kETonjvYQRxdz1y8o9uv0HoMqllAnQXLCdqbmmLT1CrSVWD3ncI28ycjDasPmhxQ8WHKop5RRr3z1indEtsoyfrCrFDKgOQIgIq2gWNKaNlpdKx1B2l4LvEzruN4qu5OkB3kygBbSzI7cnKbzTs1YNFP_ZV6ovi2sAQVQXYgexbf7S79FZ6ilu_YgtJWXWYhDUeVmGGy84p72YpfyaqJmVVPd2h2yenhOBF8PznjaO7Uijck-XJjBaWeF1NvYrMHCx3bBoiwOmaZ90x_YyIlaIDM_rAPi9VEYGqUPYuVkIJrxzwbE90YVWgCDnYGNgFg3XcoZRlxsVUyTg_Mxtfqq6-2tQKOK4VkVNAbSlFgn8gABp3vp1mAh1uqLIpFLpFMBWSB7Mryhgl3JSktETNGG11DC2G_TlCLPruGQRecqMiMjTczbIkFzHUzBT_0WPpGv7lsJwmplOdixhBouS-KeCDsHG7JkLnAXy8Ftufws7wnR3eyPomQ8QcU8tEpNjE1mD9RPUHos5CjM9uERnDq2-14e8aPW0VM5x57vhjx36v5tbcdpBOayhzAbXzXZNmJSEhAgKpUQFGHLVwsDQpihZeEhbZ-JC04Fy0mCwppSQM1JKU9fJG0geHEGazdVn9mqXKPPJ-qFGwzO3WIphN1nOF1E3pytWNUaKEST65Jz8_CyNgZaaynyvxwV154HmCHyVdluozPoPCmliUA5db5nJ8eAaGTqov8-xR3cPnZ_qygCKNVR2pBzZAV5DS3kBMCD3LSk0hbGjiG6mJvl7_OLAZJwuLI3wJFN0orEIGlko0VZ7c-d9slfGq0kvz0ADK03D3I4EtLD43PZMuRLVcL1f6NRdo4MskgxyTchYO9w-_oNchL0Ec5vllwDV8MmWVnty2y1yL1bqp67e9k_sMYvjYtZg3fh64a999EHROwI60Ap04fgPij2r67D4ZPdoyQIm18eK-3zhQmhht8QxljdbVtzXOarnGZT3kVikfYLV7A_xIz53UhE7cjxjEzgqAkGev9iLlZFvILuVcB05ZvmUn7Lf4anEQ2u7kPbzqB3P1DemwOqk8TgXE4UUxvGZxA_W6u7df9AguU7tTM8jGfZO4GG-zpF7V61MQ1aF_drKSlihtBaBPXaNiFdn4lPbUSXlR2QXDC6eBOJ4dZrRt4NcAxaDqoEju5HOZ5qXTx40XK-O8vWmDAmmFWXHrRYsaI9Bn-AsBZ7gvOQGswyWC2i6Yrgv7UYwx_I5zf-KLY73HAPjVLBnBYQqpg31Lg0bITOvjYCA-9G2NQRsUhukOHZ9qy_SbkSBUjyoDaKCwyVzpOSwdIvwzzWrape3SfeDWWaYhndZUtjYDwlJJOh5_r5GEOmZfmmDip4iiWb-xd31gBS3g44QTgFnHbxVB97p5-J-qTNcNJyf8ICsvra0Gd0rJ2-u2glVn7d39wxoR5SG5OR0dle7YPsw8BZ9XifkXy5A_mJ9Wuwm2LjGPHqg6gJXfsGBGrooVUYzy1BEmf5aUYe9ZkepZKnFf6otd5xpBlfpNUMXYIYDxZzD8lbc3qxzsZqaLZbS41AoTDSdgxkv91dpYDE5MDPS6gggm1nFgPJfjklr7CkAhbzC97i3dyVyHWSfBiW_GCe6WJJEx_hCJa96Wziv_irdq1bVKqKhY_bKhgkYmRydjEM3kTBwEzTPxvaK92_6nBkvReVNBkdiIRRbgY4TS9829ZpgfqgXiVS4-nzo6Iq1dc0Mew54GWA9lGHLgvFlFj9D4ISKOZDLB_xE3dsmPDGfvBbLh1z_lfMi8NXuZNmD4j4_aSHCGw7cd4yjsSV6QlBe7q-gZ-TU0LwpSiAa2KaSBLl1R-v-_h9iGpo1TVeVIfr0eyq8gO_I_2QpxhoMzYSyZo26qTCzkkYmILyKCqpGP3-yimbWlqQf0Sx-jLZKO4qRomoDMKnnLgPVq09AeMfJWmAe_CxpGPPIBioTFwcn83Pr4E73IiCaCRYD2tHH779mHgh8HVpWMLfvSeXtVWNnTsxI_ZOiEokOcv8hkIg9GY4YtLT8xZxTeGkhJ5svqwUyeGgJUrj8BB0RKO5QS4ZeHScCMgI5CDqXeKtxhcVceubdPOH1B8ggxgI8xKHF162Kh_RBBwNtdrkU2QprXY648jCZHq4ot_omRho9l5kyr-kozFJh8cYAtdfzk-AtbMdgWN3ovx4HCWnGIMJ5tcIt_XXfdDgsmgYHDrpi6l7j8-uQ9obyewID8-1QQhm1PlliISpOaUoLIz2-qTyvKj1a_Ok0PjR-8dG6YTodh3OKUrIJAZI7vSuIgplDu-hUHS_xBvwwIwJ-CAfZMt0fDEOG2yza8V_f_SosIET0R2bU7zf6od7HR8M82czI-ak9m2uX1tA2mAWhSTTLd3sfoT1ma8MLTlvgkXN1KzYNac4WvNeuKY7bWPY50o61ee9lWyvoEQNrGytOHGl33RxjkMja33q19dH6T26LDvbyJqbUnsgpGm4U0keyih1B1D9VQu2GQ3SK0KsQlVuCbR1M99WWCekLXB5woZfAxmcTfsE2ol8hNd6LoFPimCxqaFrG-CsumX4ywuKCWd0wlnjIb1hvWYoZ1pI3Qjfy6DyAHjZxtAUyG75I32h8JdtgwcLDmMDxz9daQyhQFb6_GsbxsPzRwD3IELhm2dQJ-VRat5myyPqAUNW4CUAWXqTr_RX1fQMPAY4XT52TUGX_U8HCGyr4n2hZH4HMgpdNNtkQXWpqSmDpHhXZ3lG2EKdfJRqV8RV1GkPC7FQm-yim1VtKUIXvg2BwdZCLA3vpuFZ8NRsza8Lp7KrPqVCcEAoWVcwiYsRHYnZ-B2TFHJf2LW5_A2Rc5rq7Q4YX16njy8QfD9Fntqua04IV8OZru5-jUfNZYOsu3JXJbyLieps5RAchwKDqZEdPEMDkK_L_9KSe1wyv2wdISZhC2muoPKQhAE57K2URyw1TyChQdkXOZXYpzXc7EtoY4u8E5JqH9WUJhqv4L1R3MHwoM6S_cnbUwIQQesmrrzRZjdnnG1VD6HPp3bQQWkbPO8fYsGPsUJHxX8o4OtgcOPwe6HHSBKJRLdAVfUwRhyR_Esgv3caEtABHPdyhNZWNgNoq0KM7aF-lpYQUxKNuGkWVPx5z2aDlqnFS3JNVX7BVIsf5TKQ-qJ0DDeh6cNvIgF9_Aa71XLwj09r4lCRiqKgMXnb9o_T93W70PrF2B1DOJN7PWASoX3JhM0ouukk7BlCERxElFwfs4Jj9oe0xynApj-ySfckbRDTMm9g4RomYxBVB_k4-eOCyuITJemC0oTu0k6zmfjEWVdNvDd3RZXiu3mdZhRwkJoCLx2GuHvalEg0M7gUfjct5wUUdq-68fWUIo4p5-lU6Uh3hnzoO4ne7un9DxkY27zQKIeL0a9o4vbabNRqF215k5SSd5xWSXob_dZBduks5BpizelRHhk79TgBu9CKT75tgIYvtcmG2F6SVaJiIhBWxje2qilUNdC8VHkprHJGl5xHw1sw3eaKmH1UGSrKAprx8G0akmi1YGiUHbM31E-hdBBe0oLOpLEhvYQ6Gg4EBTkIOZ3BS8xfMVaWy-MLNyCw3PwBRjx0JepHXLzpYHRDBVXBOipshi0oZ9BvvDX11yiQN6SvhcprM7yJeKdwFbyrEjZeUgBRfelXtwcTWx6UW6uwuzRcoh2zzu-xQtCjDFFIyDmMMvGO2ao08cWbKEtk4Y0Vnz_iyK0hkRQZZXysgp7IEuIwLFuv4wrLJ6b7cxVmukHT7svXPY31trlS2C1Zh3ePnlMwrLMyRy5wqBLnx4sxkTEhFTp_SpSbQSNP1q5skSG45k5sjMNRz1UUPf78RgV6TwJ5A6pc4nqsQhqfWmrVCxtL7QRG9uWkS1wueUrFaEu7_fIebNcrpkSgEtFcjc9jsMMsE4oDIDa1MVnye40ZDCd_5Hn_bUOYkraK1sJsweexj88fpnPIwShcnDAWAEuN8Eg6kVZbR4Xq2vnSi4u4e1WIam-OQJ-ABWZuoFuf-3SkS7ibGTdL5ZL6zPeVuJTf_w6zV3ID-uzAhsWMZE_jvzmNZY3K0Eu4TnlbOYM5WJqZLakAq3wUA_HaRSEN65jQGcH1nHZGKE6GqCQMgT_aMI5fTUfHUgTHlAQent5ulDE2RxOYpoU39ZeusmuylPOgtIYzb01ET610bcwZLtQFmghmPucArqaULswjiHfCfz3b4hl27A28tDDtbkNfGpB7-kGXGe1DmfMsjXrzass-ghUqb12ZrDpMD7GtWdrPAfLAhvUuBYGqCKKMQjPlopW1fIiAGtmhyTewlhCmb_-0nwvLvczhNocW9jDiM-wq61DnYEZwfKESz870a6uFmw3whB8sGOtzYHOq1LSsveBkEM2cfYcqQo50XBrThHQ0G9QXV6cN8RarcS7Bxq2jX6_K9BsKII7Z-fbBOpAvNzkfFCPMgJurfL1i37CixQbKb3jGk57aVNJgMMvtYU6JAPPx952PQdUAECNiojuF7Vi2cY1dymSSHlNGIUSvKX4vqpVEiNcprm5TPB4rSxANQv6fIUa4E1WtXDgNy4irKFYtUFSdoopg5B1v5AeKTGNoZdb1ASMPN3dhGJfnmYrcS_XPL8kyrMZ7cXWSMxJinM5gHqsVs9PzQYGFbJXgsPv7DymWYFIjju-eNuHfozqw1iEuC_s7c5IouxEBW24iUaeWXKXJ8Ig4kd0TtuS-w7d7iORnhrgYPp-7iIpCbphbq8EZ3dPVMLo6nBlzz8A3kfzygDvVnz8E47U5YsUy9wtY2yg0bgmSSQlMd2QwXdiHR0OcXaQ_8B560mFpfOHRSkRKzOpQ83bwHF1JQK5vmdV6ux4eJvGaI_9mCxTgpkQgjP68BQ8mPnvMd7Hfiu4rUsOYjGsK7lQ5_1BHJI4Ym-mZVwYyeTOrC7bzBXYLW54g0pHbJwG-giaCktSM0N-05uh4eiJ0T2-OGdqzmax_Ga56ZYqOc-_joBK9aLsIEC7b1hTZ7ZQEdVtiWvZlperGgz8fv15BYqQDIm44Rk5sgEbksnypaKSpmlN0BIvBoXj3-FoFIInp2TU9nES8t3-F4uK9mGOendYdSFpRFZpqiMsvQv7ZGY5ciaOqhxZZ0izBnlLfG6BKQp29sYqNbvrth4ykp_JDBkUqGhgAz0wbH7axXsQRKv2Mo2GSqZGHCJhOUBscP7AaQdN6E5oe1QLd25qn0XGqf5gZTZc5ktKnNWWRh69eyuumIPqeSnUF7WI1gBh2n6VEbhORbe4OqvrDh_uVz50f9a-VbqFgoZAWEXDvJTWTtqDWKWu5RlAIJr4uzIjW6Usrrmydnc94I97A2rvD0WZl4Be-xOkVMSTwamnzEW7WodhLFhAgQrzGigpPUb4gDGfFaYa2xgo-Xj-tGo2-BYmVKM-bY-IMi0FAm-Iof06YYUvkcYRC3g_Srypbo4rTkybA7QJHP5TKpTgo-U-UGXEXkttOXwISlaG7q_hqddj8kfMDTxUyqTGSBIFfo9Uknk_7Iq_ThqWaRc-z-kpRkEb23p_0T_0_WejK3BXGuQCHsgpGvxa25ev5nbHiyOhQVXUsfQXkqaTbp2UPLy8ShAUHPnB_pkNy4aglyAhhcvufvJNjzZ6_wU0CWOuPpYWsI2urfKEjYJjTydBl674Nhykt1hO-tVmBsnMyLysyO2nokkS_k5pFHT8M-PR8HgybhaE3CqZoagbBQ6nNR8FNF0MuvTjrmvcPCXqV9uj7gUZIuyg4N51IBI06-XF_RD2M18wf2DLzlOVoRkz4xIsMnB98PQ4fb4_WhIlgxps74JlkabT_qejfLuMV31mXPQFx0qmncaXImoWf0jznm7CHg-c2a_75wQWiG02VOXNwd2Bbh-pdofPJMv037gBa8U41puFw43cVhs3FuXYMe8fZRyfw1kmAUHNGdvdCRLQzOMhxECfweMJgmCyUEViP6uMSQo3maB0QSUiqov-tQVicY7pB3hCeq1AZqoPWr9OVy_almU6bIsRhSuoaWa2YQUzyiotRmqCdEKZqeq5pK7NrTNHj50--Ca3o1E4783dwmzdShwFqlRmKE3EgJBz_SywvlN4G43WWCl7iTZZ0pf10DwrBck6X2gDJQy5qoQDdKQD53zPZr44FCTku2e8ewX4WVthKVRSvAVAE1SQEgLGJcD_nNq-Wmy7_u4RyjN3Nsh5lU_6JXujzDa3djYAdUo7AmBJ_W_M5sYGjiZ_JSeWQsML07X5v7W26YP63os4jk-M2tu70e99kR-Cp0AV1SiDJDbR90DzsUuVZQeKaMJpvJ8H2G-gP0eu53U-I4DBHc2eDWZdzLfoJy5hw9YSmD8SfmeNMIQmW9EYhu2VOWYPhk1zaysOwjK67vBgyH7oHB-_h0rb7rOjN9qCUtW5xx-MX1XfTSMXrPrqyHCUXqvTDC1uvRGW6vnOxzcsPu2_ZJTGzwCnh13ZrgdffxRuoUpxct2nZ_Ug-xfr27Mg-aooAB7_E_T1_XB9U5U_1wvMozEgDZpCJV6mqB-6r6UNrOOfmQczw5Z0KjntA2vjD_Ez-acNoznUnzbGiYafHqfGRrxE22jr0jwFTQu75oxxYmcmsuKxIEBb4VGUwFIovxVP58tciXa-lHXkOYsrw9LFS8UupY_XJnLZh1pVBCL0Qv1FRPbcsCW_l1mm_A3eRVnv1yD6JkErJUJar_n3WRGGDYHcF2ubjDXoxP0BMUeNhWA8YUt2UZca2aQ8CmdS368-k-hgn77LgFeQzAS4XoUeYwN6TPB1VdPqKwk7yilZjXxylrzvKTxNlpAdq6WLw-HqrtUMpl5D3AWVNxSzpcr_45tEEZWFXuXP3RNGlY2XT__8pBFWfJCDgg5Qwhl_PlyDSAmianZeYssl9E1uejJxybbDdB_EuThqwRaFcQnC0vNsuS-49ApySRrYTgR3HmYsdivQn20OuA4WlPyflIC9XGcfZkN82gdlls3LQ800xLGwlVgBoieGB2S9tO5YxuqxSeHY0OjpA1SDdXiYSLwkR4HMTm3ouFMEAoIZEDWMW6epN-vyKj3qW3aICFkLk0DVV5_ZZUaKCBDlXncUEOeEHVmI9u4K6D3QIz-S8DBJwFh3YtMazS9dEXE00k3Pk0Ord_xW1jQBoOwfzN_XeRanKjl3RLjyXYByhh_EC-3NF7dz8aTlhcvyuTMOO_bYLU9LstcsLDAv-1Sd6nCaiMNT---hCNCsG3-KYNpOA6CbFl4sHqcTUjxnUPX66QhUxNxg_XveuapbpIcnz69fWDh6zV7NFdqmCqosUzWKqi-2W9H12x_spwz9Hu-LoAXDHR4c76rb5SgU60vPtSXf0dI2wCJgxbqjPy_gIjrlD9GgWHPVccfbodh3npZLiz63YSBBel_it8srCOdoMbCIXPTZYpsuA1Fb2sGGygQ3DLLOH58dOCLZUWBxNMTYZZMk3z1g-_egb-IYvMd1ZJUNzWI89mKpe1-pupOVkITSOpkg47IzeSe8e5itbRSq63M9NX7CIGCYAQlZ5r8hPiq3h_Xn8ps2JH0zQrdwgYPAbTFhC0cmDkE-CG0YnKACf2Q8OBghxs07HvqL7HoBGyVlyvoauM3dsrBCHUAi-HQjZ2bwQRZKsEs_x2Mj9O-5iGLEk1Nku-WaKGo6294UVfEdCJngG65P7470yXgUyn2M3c8O6PCOxJUMlc8GEqYbNrZFkJnjSEgrPvhvEkEX6kwKMyhVgoJcmT1z-KCmBi_s2SFuC0rYHnPOe4URx0Nxy8X0aJ1W-_iXUoXudHnf9x1djUVsw48Eh-eWW14i0kJSBiaSIRG6htxYpRK1jD87ECv6_1pSTfL2pT_a3fg1ghgF6wNTek8Nq924MxaZ930MbC2BjO5i-rUX7al5Wd_qvuHWHppe2pS7toNCpRpqM1CwRmdo8G7ZmixiUmQpjYkue0jcwiXuueZotMMRm7X6qGAm5L83phzHqh1ZD1wtyDIV03K9nvz8QcG87HVGw54602yqudisKJeql90dLUN6n3aaN8YR0P5FGa24F4y6x8Kd0mGGgEIaEPPCNrLnq2dbAEyeko8gOPeRrMInLZb9ExUt3uzTOGoNouxTIRWt9RiSA4aMU9LxcQjBjIUruj_m0PH20S7As981lzPbSgKHQDICI0XO98ypl8zF4vcKc4FNPnSD9YOcj20KOB1A9nebASVrmJSEY2HiMM4r_LZVo3Opn88lCn9qI7a9rXi_4fGz9v9UT2keUmad7wpI0DJJe7XHon67KKsaexA4iu9Sq_dCm4a-RgPgMpJChn3Vch4253G2tkHTNV7B9ZIZT0YslX8mcl4bmwcgxKyuAkOfWF0u9XhJFl8pkk4PTBcKSexaNLjbxtnpMGRw6xEHAi0s4hPLRXXfovi7Der37iVguy1MY7bVmpp8Xd-B32OAlPVo1OLoAai97At--bvmWo6mQ3_xZgsY5fxNlsdUPn01UoCkBFJ7xEJ1N0DClAZ84ANhS6jxnKwoq6IPgUGuEKomX78euWCPyceTF4eZPdcQcWxuqdsKkSdPipZJeZeo5rQXnKvsxtB2qgCR-QaS_OTWn6Af4GOfEYVQZbBuidck-cCpTqLvfvCS63R_BCgu3lp1xl3cck2px28VTXb5OwIl3xsJtdJd_MSFrkZXpf4v5DQEYqYgL2jTEYhN5lH7GDtfthsackxRHqBXzPu2iDlZrHpydnqX--eS-ZQ7LmWO2BiCx-x9esEgNJueqL4dqpAl2vmoVLlUo2EoWxdBV7nibKIyD_6HUW4PV_S7yaGr9R8M2SCOGcZR-2r9UEeuiVA1zFcIPPYeyIjCk8kFLwLjB6YBs2kMMv76Bv7R0CY_vdGdHlA_vDneq5ZxUV3YPqYM5OR1-6Supy9XRG1ynblMRLVH_23WI-WtojG3bH5YCfUoFUSOuSEgv-Q3FYx2zPBT89oHSL8G3EV5mC9b2in71DL4h5RdL9_jJeJQxQysm_CUtN7oUGlqtv_5mOUpmw0LSLdfXyO35tvwDcV9_Hh2yLd_x-YsRZnjoGTzW3vCIFxJTnCNtAbqLUfE35BHnhBGGB2PshTWAoy2H9cy6EX017zhoT_JsFmFc8m9b_TZwNCRxOnrcoCWXwA1cb2doUWy1e49W3xZjH1VLunsh-yX6BMKPEDMtZPmTmz-fmqRWnkoKcF85qDIdQ3b3zPEG7-SfCXOmKnB4AzXVKuFqJ0Cpk_ImbqC6FozoAQGUl7S6TerQQrGnNLMa2R-dZaZbArooI_l2GYcSboC1H2EjpBhSrHMYRoNCelUHh3qnvs8fpcHz50fgA4jBnoSee4nnuMg_x9FLj56fAU9POcS5IjRepFCZK1gIOOd2r5UpkrtVetUVVOMUQJoFhdvxwbugnfvYXW_hYMea4rHwdQExKlqlXJ9t4wUR1f1pg05xkvajxzOoLjWHYiJXmx9M78Q2YyBKCG7UwhPbRNiCloEAWa12wq94WstMbS8_UjXaacHBrV2k6nOc2_rJGUahTeTj04URohS2ETDPks0GPM3oy5c36lpKFsQVNGt69uft6Cg7O5CgQx-yy8cMhB6stvsin2BWiaiG7riQoZae3mYVWqGii-mDlfLO3BdWU7FBiSJ8mglZnNQlapeMJwwCvmhlfV2HrTlXtTNV4eRY2GHsWY4-NY4MqWLSVwig6fJqPuSgOEFaIEqGdn6fTfNHSM0C6i9GB6k69wTRxehYARWrBtalwNg7ityJB0Ta7qO7R6VmFR94B7VyZAH1YcSlJ7bZAUn4oY6bnc2QyEHfDp1GAJqkwSsUXEAQDP-REUzVnExP3lBJ6InI1STtK-p-didVIc0d91vGYUeu0VrZAcn-dtYYmNiki_LAGi-juxUTjrx7m3E9QbuYz4bpH-WFzxsTjKa0UMau3nOmzkVdjip2__DZ0im7PyqyV6hh8jIy9YcrxNSIVL9ViHwglvGskim-oPslIecNxr5e-Lt_Pj-5afZubwli1G8O1TIoYCcTs5p1bhYmnV10cTeXmEDWm5VGKi1FoKlcU10g_0AUnXivdNDgWD0hS8ZHnmcEiMzLFosSAoIk-IbQh3FvWiJYbNPHnQRH-TA5y9tT4y6MPhIZHQLPT9a7_3gndVXK0aeorGV6DrrjuQYxpl9A9CRXXeEhRhb0JFLQ6rNm5EVGp4fAFZ62GNF5KYww2LLJ0jM5KGG05XlLfXCK52l1qfv_RNuImSd2HyRgj-C2dkolkISE26SRpmBFU-qgjlICufz_3hh8syYsDN5hGtPniO7unVxgEY0bXqG2ep4LNUTvP4ClHIci6_ixOXG9zC83BTjGnJzfhUQBFCBf34MAlgS1g3n1RuP_aCWqwWf8Wmo5CySlj-G3tDJGXViFYBgem-hu2ODZ8L7mKJcCfh2pblZeqv2cc_PvOYWDL8Wz-cqU8hEaB9WnS3cSDGkccKcnSV2ijHTKorFj3APalKOUZFOYI_ArdOvnm94pMj2LttN96cSSEIMeMUy5_tISsAKwDULoQwmA-ckCIk0a0lGdImid2CzEAWSvvvInlyKW7acBx-NI6N6H0tWg2OL4KLEbiiWub2pw2yLDn9AyS6SuM6xInVxH40-hjrOq-FlJN1rJtGOR1MDdxn2s-x4pj4IgIIj00bVrzDMHDebz-jNuX4fo8X3fnaV7Bpr2SkK9vVTlRNE0NmVFFvzaBoln8V0MONOnaWOFoz6H1gfbTpnww6WWpn5b42_9c4GOQoQT2uTGQ3fbd1JKYWnjXXU73k5ozY7Drx02LwzvWUEZvYt1aWzM8DAqItueH9IlSPlL3Ioe0by2o9lbzMHvW5EN2O0pblQApcwpoVVXx1niGET1OA6qfnLHkSkLorWHAJo0-wwS_1IZXmXFyOWnuOa1MM0R_NdjzbPohglOYWXyVvfd3vLY6lyz6xE6FeWwIzibMdNw9Z8rmmQeUaPsAQqUyxm2F_8Rxu4qQ3DmqYNzGkUy7TMEMVPqk3bLlM5gtHhbhLJQpNuY7mDQ3tCc4Cb0pqMacIDk864XxntzYDaTg6bis0V0ufCma6LYAptLZP2cFw0PY7CL9B9Sq7ySjyVT1RWKThjHN3vyMPx_GmxwaUDPbeREjySzVDi44lASUY4PUW1GSTja9R0OSoTag8WKgthCA96M1L61j6rcztuQuyDUhRlvua7pBJCff3uYuKCd8IP5wfjW7j_ucK4lRx8b5ymXsGASMWpZWa3-r9oZfYat7pLIPeXMJTawqrKmHcVUcW2AZrMp7RpfVctirPUgPr0aEVo2FUshlgxrRXPHqqUyucM2EKLDrKfgnreo-iyE44JIqlC0WCtkz4VwoB0Evx9DtTDAYHcy1gJxdM7fQNcDV0pUd1BcizYrofqeJ72U-vF7dfb9LPeROWx2L9MQfCPj0t6EKV_lhRBjzr30nsb8iX-AYZNBiKHoBNJ3_wbpu4ZfO3YUQV0DwWUIijIKjXwSvYDBwa1tcXELE5nBUheXKfoO1qWNbGYZkC3jhieEfVDKLGXVBX2CuFpXqOyQmpqVwXpkp7wuwulypaq2VzE0MPhrl5koFUICRPIOqUJQuu-eN1jFso5Fgvs6Y2aiW52kO_itwcjAzVMqQEwVlXmcUCDlrnellYspyuAzuJisUU9T1Bp5asq0IvL63CNvQPH0ZQnI2mLbFaS8Khm0yOoUCwdmloYKFGuVGu4-WJTugSrRD-SVjOKw_ZVmZF8VYtCNOz1eC9Y16fUcMHIh-8R18XlPOxMSqkVCOP-6rPDn__Os_REeaAJBPSGrLLA8-P4_RQSntFpGGsWKcwbFEJ1dHINPo3IaZhkyrWCyJ1hHSv6e_PPGgGg-mKKK07B1li10oM1wEv5S0UMXAltqXmBvsmQFrE5NbYfgRZutJAw137ozUGhtXdDVTPs8zp7Voz9ZXfJBQpK4QRehChC-F7zstX-xWcg3ctqKEVVGm5Vx77pGfKuWpyR_oS3WG4HtD88v38YJBfyPy1AmJgUpJi513wlQAMI_hdcgMYJNGCNJ7Z0s2l5c976m9ls9es2fH9aRIDDoLLqmZZUyjG6bIERmWgIZyOcNJk0xvMiIswHp5asBil3AqlrAVWHAvsxqrCRAcXKb8hWTDC4R2WfUOywFrdqaZFoK_p0ClAze4OCumEKakUDCqWkLRYYBRrBMq80e3hvS9G4arsx1TSz2oEyw1WfqQmfoHinyiV477oKNH7hxfLladOtKz-tuCtxq0JuBW2Ner1udQYYAgc7uzyWxJXNYDkRb8F_OLp4NIFcAlDp7ST2A92oa9OGJusPN78r2IHuIWQmFtbX-djLrC5k0QLfnIqPj8b6rfKBboC7DZyxJLHD2zCcVqUHaK_Er_1xxppsGJOGOIXEi0w8gLZKS8v0F4Z0uOrTfUgNICmD9GaG20KKNt3Soy865-aYlGQMSGuL8VxD26PZWNgE6vaztLEeeuDocoFH4LbBU9uQytaagCpoESDj20bVXLzSCBCtsdcMspDhjs5OiKtKzHGUwoOGj-Jx4wBZ-agQhoG7hNRRAVivSkm661svuSionNGpqYicQdSiwDDdaTufQJF31OFf15zDclqm5-wYQsZR_jMHpSRvd4Xf01SlkPQzhOXfiJeYV66dWAcMa0H5TL43i7dMFgYwPNOc0N39Q7W4fiN2FOSDL7Y-zhV7PNEmcNAQAT4_UUyZ8IrZXjXgnngopEiSdb99Iydti1HmHdrS78ct412O0En3UVdNvgWZvqygHduBeaIoKaW3Ux2CwXrVfH4fYnl6zvkughunZcfeTGdGBtD7GKmIhqlL5bnBC8QSxFB5oo92ROfQC4gkAMGeqNW6ILSPD2G7KRqkTEai9FVWga9ybNjiLo8QCdDu_qOgntKT9bXEbh2W0qOr4ZJlKMT5nr32QqpDGPZGMqaGGA9LTGCHVaF_JDDSnZae9JdS8g7BXUWoP9k8DvERt0PBQWaCljHmTYtJQZGWSwXZUKGre_gCOmb_5X2SNgyp6e8lf7mgCCdNlrv0feKVMLxzUsQDuTDnuB92RAkkvz6hdOzSjGoqkpSNdM8Ps26eY8YBcsQtPHb-bVtzLWkk5G9kXFaujiEVmV2EhtIRQ4q56r2CMr8KcFco5R3u89kDGuJALPDvAwDRbfa8uRPchgJxdJUMRRAWo7sWVSPqBqUaPDk0XgjsPEU0uaXmamVsZ8vFpX2nVuK5dUZgKi0Ix7CLEiCgMWWJx6r8jhlRwi6rtCHsDhj5Mw5C5BQUM7vX6C1hqiNGAxY00-SteEzBa_60_XAPlTDwH3cmbB_QTpLCLDbtIgX4aCB-HMxXa0o4CgtCbHTUkYRXCcwf6OqS7NsPhkSUj62YvqCLS4cdxfxz887WSi7oF9Np_sv3gdJ6uTQ8FaicHoExP_7kKk54znu9-e9Cw02HsHQMrtFR7NsEqTKL4a-BigU0QwTy9VWpTTzx-ZUcNVCpEtvMuVsA2vut3uyIohiMhw3jFsBhMECDKctmemD05CiqPXMB3HuIuhMp-J4MLvqmk8c5wFTXmUQjWN01qcj0yzzj5uihE0lT1O2vPBdFYjJhA7ueMCL1h3Zfu8yJ8Dk2pYI5vr1wvCKiNN8v3dPR8CamXAXJ1Dk6JRWAkxi9iI7g6IY6iT8-Y0q7FfWE7h5rAOZZ4QrKQyjpfWBXYc6Lx2Mck0g8xgsdaIrVUusRdGYlcxJ6sCAjJnmMAgtKpN4C7Qv3oVi3WVqAq1ldUWSbC2VvxX9QGTZVqII8sCyhIfQl9XxrJxYvURIG3yjeNiNxsj86rxq1IaJ52TVjWLj5BsWkTGhd-nZUohHsHiUZsvxbmQY5y20NqKzOLIIIJdgX9n3AzCcYspCgDp-ZNm8tsrVgygWU0HdHkvjGpu-iVdCNbA7mrNysu_wurMy9tGOFB8dp_tqGwMAo33jNrlHRBF-s_kEuLE-7k4O9v4W5H11vXZyGkwrlkIuyJrVYPd4MwDNI2bMCeEK5y-Q2zQIpwhcEd-zqZqRGyW0vDDrxzDZtmqARCIO5QbVe3VO0gKe5KWkeHqlaF0C9_Es_jfd0qv1cX0vlVtvNFPMmVg49JHPlDY6y2FlIvZlBIug8rFl8O57GMN9urnisiK1dBAyyns04MY88ux2-e5Ezuwe2MhN-2h1FeeEJwYBCKROP6EJM-QG_2BLRiM2ChlBkxe_LqmL4jucGar9hX-dNkrs5NWdAH1cyHq2_CeWGUBVGt7uTi9rMtmPJt2if5R5bfE3B9UjXodutJmKMeiP52876tWk05i6fOCtS2bItc-rHaH2oEnHWxZsoUXnzU0lVYLi9JXtE_60MkdQkUE2FdyKYp8_b1IGUMTi7zmcaOU51Qn_l6QaOmpQ-z86pbTbX5yrEyI69ZXvipkYWgoB1nmUtVf4t-lsVe7qwFBXYREPniTSBgm-wRvPNv7vgBEv7g7rk70flqkJQaeqTXP32fiA_VsmQVShY7UaXki0rCWgyCyoqjuOQKTLPqOM7U1fPo0D1uDojAFxfXD9f7Cgh3ftR6ZlvfUuoYeMCJgPiYmxDSjAXWM8P9F7p0qFD-F2bgRTgxtBhFVlYFBRyJICeqa1BhxB4I8Gh4Vg9VEU9IXowBIzr5LOiHMC1iOpvJXTtWxfJq6lI8lpLPOleDTtnpL_sMPaxBBhB2lmn1N3KmRhuVrLQjJM-Z6KEbDfyDcHQmgVpmkLP-IaRpxUbDduW5JPC0rFR84GV8XYG1rfV4xv4BJTbMouRTgtgR8oRGnlJODf8Ym0jD-Ha17Wq4WYw-e8GxB8McH2nvmVE1y4G3zDwJ8mowWQGHFx7cqNW04OowNy3MaOaEvXHTl1lYQs1TTVDbbdBF917Gt3z5DxtA8Sna0OZy5R8etb-De0ru_BJwYcr-B13J0cGlJEm-OoZbTxZEWe3iLI63aSNDb_jgC0-x1SmvLwB8uO2rstjQF2IunSVuFSNm7In2UMXuSk5invw9_Le-s5JNHx2MDEUnCoWi-gD177sYVqVRhf2z38McwpBPxkYIm1a7k0B5GnVfr0GNxjfAadgQrNMCZZ1phiIl3Hp1w8LJjPHT_ZaTIxvy1qd6Lp1D5tIej7vs2oLjv6E0ZllKz33tDR9hqqXA3FgA8eK3_-LGa8Ig30qEtp1tkhvCFmj8e5dXrpEJpHkkZsMYCkFbMv3GToINOdrBCvuI-w0x1mncrWGCWz3nYbywAlzKME9wK3avTFHrCzCO2WKmKe12w6iT_SeOVMMdn7jZhsoeA_7wOBJuiVD-m5vD_uW45B-hMUYF25OO1aMQHKmOB99PPNfiA8wUdT_S8WiFr8YDc0uvBuuVQySSU_NKLn2sQnjLmbHxvMw49btnVLm2faHjfG3zRPs9n33Q6_XUVGt7zWZmTvePm2JyN48ZtUwPkDYLer-irgCDO2CEAMPcP2438Up90_lB9zNQ9FZmPrVzvNeiJc7M_eepQCPTgHXWFoh1ve8XolfxZr3F5EQDML8hIN_OxMXdJBR93Oh1VacYVnF8e6S3qu3FoqZwucYMD-knYJ7nZKkF3qHobmdwMiRjSuoBB3zabx0E6zoo-BAM4yMKw9ppAL6IcmVxawpJcHk0u-NXqrXPnKSOTgzmSRi7vGiesv4eEHRNlMOJF2sBwdoEvCnu2-vDbrvOhwgsuLBLwgr79K01AnV5fDyI8tiMnL1zby4k2zB56ejf1abaJHDWpDgIjJmAmI-LhbSuUelzVlqNhRNRc8L-ZGj7s9-UBsZeYvqKmZcLot9Y0YXM7kDIoqk9sAzXUKx_CcP3tX-m9rPhrzKYbSCHLjhwgtistTkZDB0awotgrTAqfe_i8gta1tyJOob5MvNSAjT-wT_5jMrsLukonqBMUfcEaxIxnq0pfrhN4XoDZjLDdqqf1EoYRJ2n_yWlJny3-aRtAYYogQN5NqdM8BLqAbQq6IErauC91erLPbf7HG3xvA_NtnqGgVVor3gnn_jcILysj3qtPI7eSePrELL2WVLm2cmA2eSVqB7WKR6BRTjjsn0jvShxh28bYpEUjRitfP2P4h_gQngmpmKxfqM8x30B8gX4ZfEEdMPN3rri35rMxtt1p6tMp1FBB7EiOUzX5A8o6QE70VDYIj18fBdXKPxm7MxU1SXJJDFn8yNinyUrckX9bfJs30hKIXcFTZS88ZU1a4Rn6hxz9ii96gBox2AA55rW12wnAGogu1A0S7jkSzGbLz4-MM9F_DivKjuLvxXbQNzf3W-VY0SauDiRE_5k1RrjC2Ec3J1hjeF6u0a1U7bRtWW-cVyWdgA65DqcUZOb2BbAjatWILLxNShpi-f0hQ0Oxa1c8GrGJnWjUfA5fZB6rGNwZv2q7VwgDpi2wI5fOcsy9EWM-niJ-0BauXEerTckV8gtG1a7QgPKbnXgSBJhQZaNLo834ceNFJtfemBqnpQUB2YAka1EP3bTWlBf8LC511gK3sgQ_QrvHsDoP_xEJtJI9RvTaRHNN4jotsmvPJMBo8u8Iue4H3n8q85uoqiTGxN1IHO-stS4EU9_TNKRh3KfuNgSQadih_xp_6qkuOyQqUQWoswFQGBmTu4bqPYm1084XmbCHILzfpJbGFD94ho1FB31eaR7mA9pGK5MP8XlnE8ZOavAiehXra0anHxzum886VfILS3KtwXzt0FKwqCP1STsxPb3vz3apb-nNh8QHchNmenoK-YNJUD_EklkcPOfZiIhSwL2XtLiVKOoka0WUQE4sB0HP3UIEO3YGpK1Ll7IshKk-58HT7vt4NY8nRM0ubi10xUq1mPiJ9e9LpnhcnmDlqcICPhK7DuBlTxJQJerHYYE2gMIxTBE6J2gtV2UrkxLwnl3WYjaO5z8VrtdVV93TMPrcVKQZRhWxdw_swkOlv2e4OrvuyUDGsn4SY2BN0NVRwJYf_Uc_5oTv0jqfD2cWnPe-TcYaOGNvCKoXW4cHyiKB6olTjFvQnhKkLy8hNw_rSohzxvbzVCav0hJfAngEFOSS94pEnuwZ4rtOVneAysz80JruWguWoasLdylIVLpIfcI6ZYKCdYn3Hjk_RmLRXPM2J_YabF05dEUu-hj8TubWBaIDBMDKFcp2D1GC-TuYr1kurkD4Qo5G5ikZw_1T2IB2r73rTgmI8k5LdPxTx-rMp3NumH20-16hY31jVTarRwXEoYyZPF-0AeYhJl9qOZ2WxFR-6WKvxJoGrolkmdUtnQ1WlHn7tpLE-qdJLquB_1I5c48iivVTc1Lr1xXCEblBdOiisW6c6KPmwy8yfMA50SLBXPXipvKkN7WX4KrwMGxP4HbzNEAHYxARVmkdSjtNa9XyOJHZSchxv_Z3r13jlugce_K8vD6I4Hb8kWGkzvoD_Uxhg3kreASMd_92Qe8Wz4NNjScrNjQQ_tRaW_Gz5KH3fqMY16FJaCdeAXdbkvETkkBhRwRba74sTI3l3x948Wo5dhYpyvBOQ9UdPrqSLGl-YORwyEPWsZuKh8-MQd0bnXNT1vFmNYRp8u4HF_QdvCVWf6M_e9mU2fr1MLaYCvVeOYHpLdmb_oacQ1620D5rWBN_4Mfd-XwWO10fNnne9We2V9e8Koi8Qie2KYaNEkLQqtkZcxxYfZvCUhuYgDBxCsjKUR08W0VpCFuLPr7Xps_ijfx57jV7HOBPHFAS3jXNwoNBn049SIJE6c9ziWA3lsKss1DE2lNSbQr8J2rq-4uWhJnLOYRsqDW3hpki96BeMI0bVVPZQg1aQ84yGHMm4aL1daZw71tZ5wWalO7wgyIb1lxtad5j16wj-SOkEqLpLmArl7gBl2QcFC39MKlLt9gvpXOfLiI9Q6Xhd_zkbJIPeetbTJKP-rbMPAHW5J0lfr9-n8CLfqOh318-k3W-01QENdQgj_Ni-oa1UJPEzYVqyOomn7H91edSPVncN-io6tiaHc_NYKwURJU9i0V1FUK0OqgTjyK08XbLFBw_r6LTgUDjtxYwCkuYITCm8adPNp46ihc8jUkO20iBZAGF5rGuC6yhrRvP-cnOfarGYbYi1lHxp_cTZ_JM8-DrIZC4u4cbsFveLmfmO75QS-ZvBmJAhLtra4UCBHioZWOOWaZp_cjFMlHI0PAb1IPZ5zED1M8s_ITHOk7_h0YoTgYXPoUxnkP_T2stxK6W25XRlm-JtAsfyP61yhyiCcAeWcj_Je4G2qdzvo7QUWF_f6IvyozuQlJmZmJ6B7bT_RYFLpc6-7heYB4ePZAODFhEuO1eEP5Rowhtugzh_PST73dqpPM7iV5Ofi8tegZqlPwzfAXtuVPwbeB-17VdPHdHc1ZKhC1AFUC8_mXfjjEg1EreDfZovu10ixnXjjUzcuElt9HqgN7YXKM87_IcJeCQtCEG4VoFoYO9xdDeuTW9fAXrB9h9NJWAi7s5yEBV1FVMFtpZIlYw_BsDpvWUkyjmcjWsr22wXcGagUZOkhRGJHsPFu2YTDbTSh9TdhHHlu8APePmjmXC42bKsAtvQk9mycAnLidS2TXa8Dwt3ydHl11_GpEw7S3xveTQtNTVFtXYaqG_PQeKlqGwRvJ63PlVb-fyfNO46L5wO6R0yv0rgZW5cdLzGhqeVd70XKCHhZYEM1r-A3GERjdG5LIgk-9RPuhFd1mHFNFZ8C0mrED4yKFjkQIRQUUGmZgtiGM2qkXYkqKv3QQgSyvLkHFpBvN_GosSJSp-A8bdmsOOkx_6-TSusUbasdZeGdR8QSm0Qow4pnphfwj_Hl2SCK7VkWRLCKHwvvmpJrEh36Nr6MtrkF4hjnXPB9rav5Y15Tgf_h5473RVOcXEQFLxswZ1vK3m_wx48LOpGlYvSUgzDopSbtbwSBc2J8Ya0kGxIllDqt4BbjrNFmQ5k_qr1kt9wkOgovnTr9LWdQpiSrG8fiIuhK-07E9IoZDKue72fGMBBgezxb9MQSSxeQjhTh43hUPE1_zp1OEogplpWNrz8x3z0s3RUcqcX9-vpeGOKN384I_K5K8rqStMd8rkcFTnwpyMvtUe4Zm4oL9k6yfd5dAfvLGqHDmfr8p-sm0KeSq77MvRLDKoct0EAqidMPQJ301nukRwHEuNaq_o-xxQFTbZThGywBxXXqbwnae_9ukmB-W6XzqrMGH2mEks5yy6NPeSMROMTVhIHp-1Px1P76RbFaeNOlGTu10KZQAdJg-biWze5WBb4o0FX7XDTuUVAk6DmGsc1Ml-ikOaNKxpA7G_a7ZLac2o2UY0xhP6gqM-hsF7PieVEyhyZM29lqnnldY7Ydk0N5xbI0ZyAZMMJnZ4QR0YqoqKrXuOKQra2u3Y7V_UTZUG2UExJEsR8h0CIEx-1IaVD2AyRDfa4lagM_DCmiLzVoo0V18bk26wPNAL0KPZQ4iAiEnx9kuclVZwHD1n8y72YRxuLFpK6150yIK45qvqrd-_tsvU_J6OK2SP2YvuFv1EXVgB9VkgMUbOy9_ldYUFm6WK3e5KV8trVklNZoGcwFEaDahjE7pqllh1iL1tubJmBBcOTQ5-d_mry9athW4xxiKtwfU1UFITDpahaFb17MPWmMdU_JbyYEXYOH9cU24AfrjD-YCfgE7MMGxtTVfxCBFQvrf7LzolFnnGFxmGnKkvPVYb-nlKzY3erp_gBOGKtYTBtkJHI46vFqF_4BdzFgfnT6WgUvC7QkQy5pXgzDJ48narrFNqNsXCxCZibhc6yt3mgwo5CO0BMITBnWmXQoT8OgXHEKbB0f7Q_1CIqXaBT7R39j7mhwuZuuj4lqSlEgLEEzsrEGxKjxph_W1NB0upZzHDhW0rSaRJg3naOxIBzDBUfyPEQzwF0APDTS1qBVa-91Lq2vDRGW3aV6HZdUWlcwtb56fsItlgrAn_YALT5_MPWZfNrVR1uuyPsHU0Z0QEeSKvWdXxuNqNBdJFongJsmvakZoLUGMJcXGxM1Js_rqTjXqjwfXBacR0Y4EZr3KuIB48PKM2dIXbfiMtDVVhxKVFPbiIZwEVaZB0LQFh1ncjCkKbtAXZLLXI-4wwxxnSd5PklcSoNAptIZwC6T2jxLxp3xm9XWwkz4LWmFDpTrqXeWbuJ5g6HMzfgHmovLlndofL3zQGonF9h_VBJVOrpIuetIoWv-g7_dRrOe1r3vlQZUpsmqlfGT6Z25juBDC-I4RdSy5yrqH1R4YBhqjN0zNcD_9tfNeowFnbBeH2tvPV32rwY0qw97BQvxed4qcMh_JcdDdMj8YD4ullC5MH1Wnbnw8PwG99N3RiNs7AUO2eniHXtUCFmdTUmPAuW4Gu74qoe1m2vGK9xARyoYELHjq7Ztsvg-331SOMgmD6LcnitmngetH_WrfPBANr7AABp1-7WshozSHJ-SzXEJ_Xyb8I00Rn5FnqE9sUgSZmLHU9oupLkx5wQRhw_dw4P614-dgANjMHPJLdeFAXbYVmzW-jkNwMd8IeVcChMrMxW1JYCyhYku9ggCV_aQ71ppF_BSkYnCFOYX6c1fy2xRL28H1Mk1-zp4d2SsqDXpMM8r2FzuJ0PrJx-CgayjgdnVL3xa3NJX10glzCYjT_dzWQpVqNotz4ovHi4zRt-M5VeoZmUit8gUhDTaHfUU-QpTWL-faYQrN0U-Du0_c_3xzePwaQax5K3BvBzHZPs_13nWSF5mpg8_zLLG8Jc_djrzxJ5PYWbJQUPbt8qfnvIYhVcDFgjn8PobEoZuuk7p8zkOdkfl74FzEJ3zd24_RUiTyLlgnLPz3bRuJarKXrOFpa9OGB7tMwraj3QqcNXl1lb2l2Bq-5VkKwUN_fOWY2jNu3GIoqJD70_JvUZuWz_6V83heiUdhCM59L8tTGTaSorff2bDbhUv5u4AAduyyh69EduY10vAdyjb8cZAZSK-cbs1CpuS4AXybqhZK4BptxC4szGI-yYkjx3kaspE-gt0YV4VujHbxM8nwmcgWQXiwDrg9KDedmbLqM48jv9uyU1VTkOLNcUciRmIbWLfibjSB-uAitgElGmIvZV1kWd6SeajLUFo2VWuRUiOVFGcvZYimuYeFlGwI-OJD457WLyoWco11b-4Pqg_8BfHqG5ydIlM95XQFdPq0C7PK_qnnd-Q9lV_T7wX1IAuuE5wWM98sc7Bz0CUabrCEwZT366qDnmA6gqRDWcv28FoCoQOrxYok6hrNb7DUD8zt6CsQHP6IQ1EeUHBH1h0Sj0bin3UCKmxQFhXksb0OPIOpeDcGSwXMI0JVRVrr2TbfiQpz65NsE81R9f7tI09eFSoWXR5LtbdzP-vDCZGTyeCgijUpS2msvgJ20d_qSwHvazwoilGSzvkTOJuQmfvi2tEgJjeRrcRiHOouiSNRcsoexI7TZsFtGDpfXKmT_JQbeFydlDiTvvI9WHJBjjawXzyYAUpB2dtvMgpYl6UE_-Zof2IcEZOlICo4pWtHvzjT4ujl617fn1XpPWuWgNKqk_90fQHwnica4tUDEDNsTm3q8erSwQlpbiqHX4-WDQ0EPWCRPLnmv4Yjf1hG0UKxGbK-t7zW473cYcDTFApk5vIQcc0EvNq6WMp6Ebg37PwXE6KKLV77biWE02PeDil4kEy396wYaicMZaspngEP7jZSeKt26TXn3AheOMbqFLViwSlCCHiKRHf6KtvxB7rgMcuTTtayZ9JAuyomTzSDeDhwVaOStEVby6phARds59eLDVhw1XysKn0koBzLw6o3mQtd3XYJgJjMeaXH0JAuKNyMmVR2RyyWEBtiyyAb76Y4f5iZaA2OnY-YphE7OYVeMrZE1Rq8JK7G74XjIz39_iRajz1y3QitDIm4W4M-cgpHQH_yCRUeXcOSo4IAoTk14KC3GKI5x8g5dOA_oKc4oUsUGOQV_ilFc99pkY6Vr2-40EaMMxB3ghn-7IfUay1YwVQZMPd-5mfw6V0C2KCl95E990v8sPXPOYOr8XOxF04RVw-3xDI16hHykHfhhaSMZ5qGjr6MfnbRVPT9lH-U7Puy40-v7m5Mkw7rZKvyNq1B02H3hFaZNQ54Z59TrpiWu1kuuDPHGhY7x7hjBUKKDcDhoSXLnhJYTF8HJ7jao1A7hcNczU4mMoJUUUWjHKM0rhcZtG0GiHqeYfqWZlJ_ap5IChGHKD8UkMrbrSvDTIfxaUmFxv8M0t5CtDSZG-Sa_KJrdRZ6W_NQXj3tFhdFe6oPp8cwSwCpTuyeUwaQj6JxGGr3pyorsz746iWdv0IP0jCGLtqxWPzeOgMFA451M6iLe2RQeSSvpLONaLL9czekuq4TZL67ahh_I6q6Tp_l_HSqJBmaRx2v9fHaZOGGTqtNZqylvgGcfMx8rFopWqipiUDtfx83Ij-wtgvt4Uw71Fw-tM0duocf6pU_56Bgt7BaJEyRR5d6g-aMNBns_sFSthJLh4M7KqpEy8ORQaOdr4ySn6NFt0GNWy1fCJXdobCPImZLvapauy7KbPdlDmfi8UWnKbJK8v39uMtwhA2EYTmk19XV2v7KSdDg8VYODhlbgRX8HcJu8kNrCNsUwFYqFT6FnUlG2OaQ7eLsWCGzesAtl3mHp9K4RDokS6S-KysuD8vCzKa3rhPQjWDmgjpRoKBP24jfBbMM4O_BJ66u4I1pK6Y6zI84Wsaqlf8bVVgVcmYoD9SuTRr6d2bAiPK0BRl3TP5J0-V1LEYng2nsBfzPN2ei6UEu98VCqkbPYkeh7gmPFKdXzA8Q3UNfWImRRu8c9HDwowXCYlVcSkrWEGWTd8cZTK8n0r-3CVvcSQG9jY-NIA5OHyO_lR4PdK0WYKnz-rYg3QxNdPMJIL4Fccok7nWBtfXNYRoh4aRElKOCK9O8wR9qE9h4tV-CyeBd5kKRYkuJU6koheGFlHSf2vtA-sUYi0boE5y8ptVlKTl2NSQWrQeF1vSV5Klm73fu97GnY1_jEiWyV3Tty-89KdtXubIaItZbcpOrmZphuxwzO-WqFK97kinCQlLlvwV19SPkxFPfXmeYRfHfPwYzSuGBRirG3w5bVWVGHMm_9C25zYWpW1Eo5EYY48o64jfLxN0oBYlC5e5gksiRCc_Xf6CZ-wuFfxNMcojk3k1XAx_er0a7spUAzO93B-SVycV87OeuiUWw_pwGBIrxvg3V_x8J7UyJPFSmxlvOZ0gFjLknHYo51bz_p2tlVg9y63w_XITyryoLVsCqSfuonikGCVhvgGFC3l0PI_DrKHwuNIteGRM2mznn6oLCl_WJwA0oaUwKPXyD8HJXVqyI5unpU5I8IJfLeNY44YUqjR6RKgnOH6dJm-oxsA5W5Xv1FOx3WjzzGTurqOSzujFOUI4DbYQddndqBlRaRYBk03PIGJZJb5gUjWcmLFvT5IkPfR2XMURQsY1iF9ZfoH5DF_xIZ1kFBZHNobCwjjVxssE2oDjpT9X_w061YWkvGwEi6rnCgeJCumadh0enWLN3cHb6Pl7zXFgu1h3fbcGKIizhARcW8krc0ViqJg6Rv1UiN2olUhan1Fvk3v_6WvNdYlqJh2D_Sd90SI0NjbJEI2-VkAy1_HwHuQfs7UfeVGVlSJJu342Wq4FG8K2pEFcspv3t-G68RXwMe9GIexLYC07C8p8eUo3jP9lN__JJNK_GBWa1myvezD-rCKTsj29PCXnhp0HVNd5G1A-thLVANDXxSnxDTM2IA30K9FN2Mt658X62tLiFaxCdmMjPBNng2H9bIGsZaGDmOSAfrlQslHwMfNMLpnYYCReIIpRyAZwK7QSrydb7uWGqNOqzlk0-Z7zm0X8obra2hwyH60vXFo3S5SJchjagj-NtiF7x-jsGaLvGTB7I1OYVkJNrY9rwHKO-VK9j1I7f8N2VVw_k1N3mbey-DbGgejY-K7bx3XhzqLZZwCeWr4Ice37yq3C8cpBAst9890pBW_CRsU5ISSxvddSplIBEh6Eg-w_iKlMprXkZDRbwBrBRxh2NfvlGeG5aySxF1fLUQREhpTna17gyI8u3VnjIXHJ-bLOj_c5EEZBpUa6gMTj_r4X4t4fWkayYh7u8qn1fi42XN-c28vWGw-KbT7pFJX7OkTmWOOEpnEFe6rzVdYHleMhj82V8yhd3g9JSoQuc5HdNnqsc_2mlr83UPuictnleTLhlv_BCc6dANA3VUqMQLbMnbCXKLshS0v6fvRWz-G8aK1lAp1ASkcBmW9m-b1khHL4qvaBmUqhuy8BQedZ6s9WOHsVdu9D3NkMB42QNuYF5bqQhRpa_sakkPelsRQboSwsBI8hz0jUkz197TAD1xP4AIUAbKAENeg2FRg8p3XllRZO-llP0UKnHS6SmCSs-YvMhUnRPOSzQrAnth44-JwY8-71urHwOw2xKmhnEn8qkg6Q5U5Ozlp8VrB7GB5eNOyN07fKDWVuem-TtSaC1ilhnWqQYyIGHVRRdOZgxkVbw4SajCfYYuolfN48D07W4xNKJL6Vlq4Fuj3T5vlwpYEv85UOrEdnu155ftFsv_cm3tSI6kznZorl4lE-VGD-Rx5UfdVjm_oi0Oieq2yfld_g20Z-ZY4EJOP-oSr5EtmP6LvAi9ALVG8IskY_KUzfmSeA-0r6DwugX_A2l-pD24C5ag9IjoaHhJKKpkHiAQ4IU8jgcDRoHp4lIS-aZSbDSVATXYMJcaB83zFIRwCHRTOSNsw9KIHGyzAcgSxCnSgkog_zGGAEyP8N4-yw6dwGa1ikxdXRaUh7E6psIlF15nhN0t88WNLzfAakv7oQRAvn9AIQpnY0PTDFR2a5QAW7xpI3kuPf2YueyBOeazLU-NaFIt-BzAj_dQGSwMaQXcY1ViovnhEM7-NAQN9xSU4BORYg50Nbo3iq_zLDrP76yz8ePdm9Zn0uy0RQ7I2uwAjzG612d99e8en4P4wbFYJGUvobrKlx5bFc5qmkIBo91EeOlb5kJBs4R4JPL-14hI8S_ltDfID-7YXz7rG5y-7BjkeJqfFjoxuV6X6y-D2cXyiuSM5K9PL0TCBAI_nqY9WvmSRlgtc7OptVctmv3qIwfk5k2UG06hAxNxjHkD8nDY-Pcd0X3JQgdeXvVmuikGVN-xutO8WGp-GOnXfavQFyMZooJmAEf7StYfmGtvGpYluL5IPWMKGa7yM5sgla6zwo9PxbPDfL49xDdPJ16IlGi749YetKKda3bRc8rhzkZdPp8I6Q59Ic_Mkm6SMWJd8Vf-572o28fJOaiPvy3NtXX2bfTaOPCHIozB39VB0Dy8exQ6fhr11r5eCVx63wZHItLmsBF_WKG59RLZvK8pdQCNn0UcHu7UzbaZiVpV_Y9JoYyb2CReF-HQUtLjoQgixRxLH8DlzdpWkm9XInaxDmBohX-U7IOB5eLYgGczlqYn6gbGeZxxECUOhAHwUScNBvgYUCye1vTTlU5MLpLJzBoLghjgPhZTEDTHKagAz3iGeG0WgJNhnHWr07hTlo9G2kR2C0dqvH-4oNyICHFJN1Jtk_hUN3tA4js1JuAixGg1s8h2-XCAIcyroSK9j4MvURV2SduhUuroBoloimaWNBBlJqXN2gP6ag61yf66TYZ9KGbLn3k0BjdVaKIUKFfLuh2b0q4Yq_Nv9cAZyuJ1x_dl_yAe9-Vs7vrFoRdXVcOqMo3dQdVV0-kANzQIR1j0CNDrnHWIjbK08gL3VEgfBt-to5odbbWog9uW_kNDKyIF55xI2kxGYaPks4J_DPY6UW6jC062WOW0eK9doAXopvk_BjNrvzHtFVZ25m9-MRzwKaMT0NBxpaE0YMCPZpyAzrhTqD_6RG05vosJtIbppWoe-nQvkrBKlnd038Ypmv6lUv0bnuY4oZRqqvqrsa6hjq-l-vZ1DyYz7YSEV9xDsf2UGJRIe1enQd4AbPqmAe4riP30JsdfZqc1SQjTVqmDjsw4JMABSQ0cMj31cJzsVGuyxx4E7XRRU6Aey7OemO48L0FYQeXr0mlHH7FN7AiKfPw7fDSMf3pgcl6ck-1Lvr752O3f6CTSSggf3Zqt_cRoh-vFoH2k3BwFwRwHr7QuTauSiKuSMfh1UEWWSFfJAGvKPt7DEuluJqSoNndjiqihvjlSJqqXEyYjT5xIjxiH3KkFlWBd1V9rCtvFhDUc3ZPjW7rH7l_WC2zaDsz9tBTtxtg46wjzBSOF4YE9tQ2uhzHzGuwSkLJk8JQxW8wOlVGoXC2HYHV10Hc5sMzXIfw87ibXEKY0Oxa5pP7D83ZOExqcrrewE5_vpejhnemEsBVFYjZGPFjW2iL_tymIo1ur6Y2hgFNpAByEpwEoPPUUH98YZP2U7D6tacfK5y99m8G867p0RSw20FvytBN1ryABXW4K5ErWD2nZlQwFj5KzFrJJpGy_Zj1pPHly1rgQ8wZUkIVUFMMoUsUHRN-G7R0qN5vISEldtoE_0EeeForZ9BKeOqdbKysH9xvvpt2BMLnL19H-RZPgLJmrO6engJMlGKg5Xz5u6jx4LHVXNKg8L2fKFqb9537Yj7IuePX56puJH5rLD0vz_yE1E1GpEwcNKLrK5qj8JnqpH3AiGu_Yf0ba5dJXPDH5YsHOCGixaqr8tcxW_FmIo13f4zkbgeaE0cU1P2C5u8y7v6dWGLtgmOfYsLlGniewd8-U211R6GpTsU6xlvqApxOs4GaxNNrDpg2fqZtCoSUW6gKg4fvEYNvQ1Xs7tnV2JseD9umIoKdmssc114OfkoDzytF9IHBTv4lm64cCvfFNZg18XhAIHfC18gk_lQETQTkHLshUDHSoMnO8z2CL6Z_IQLDZ6IDyB4oGrrwiB1oQviT8qSiGJiSBSkcIWWLOuFZ5V5ECIv3C65GqGpNm6wyDcwlyF4akNwGAD3mGpKXibtBZu5giM_h0_kaAfCQxrHGHDMvevxKLK5ieSF2OcIVsf6JfytAtRNypiFPcqCVcdKK9ZA7xECUKZM4A-9TZ98gZIOXoR7aVlNgZGvZFz_A1-9IaQRaXPJegW7bpExul9ifHTDBhGqe19ihPuvljsLQzgprHfd1Khkd-9llO0IsAnsRyc_V1ONc0B1HoxI0wgH_i7qEso9Br0YBpSR8_1nSkyrO7Bz3N4PHY-GzbVFS6TUn264H5iuji0kCvSPtqA49sdNzEiQN1eN5Nv9k2wqdrlC6nPCL4GcC2ywrVvyDyktCB9mgvWjK_9u0knEsQdi2rmkMzDIjatGzkjJsk8aE0z0Me6M_whUkBHzaJPeOB3_55mq6yyP9CrZfD_LFxqTWImNHXdex4s8wlhCo5JiH5Fsjb5wf9V9hS8U42rn38L0cPX0p6sykcovLHkj_rbuVbGOcL5FmJ8p4rNIOr_uLqs464hPiDPS_4HzewQ2TwP4-ViDAh04SHTQOMI6uxsetg2mgfRhsi-vj5oSJw-HiyHIK0a231a1an9kGZWurpzheq9LCgOb257rTf8vVMOSuuHqWfRiXR1KM8Biw2uiKZNVhFw58qAVtfNKOwY8Uu8L4o8mxOgLtytDqzPV3wjQrzTjbGtq5K04byGZ7-HHlT4we7gMjEaOARQwejViE5D3Qvmo8nhwyrQuVkoOc7L7N09Ol7oVHtLW3w6jS8icpbbqa1r-E0Qg2efwiw0OlstmWhwQiH7ZfVmggriLSGazfH6CwioaDApXPYyTgfzj2Euu9Fq38tTVYxvfgH2YdXOnOAVJswOUxMAMpjNjd6bm5I_mhuR-cNewTOe4xgRtrMKHjUBUqn8UbQVDbFU-gMH-rpYzdNjRTxOtu1n86xOvMij_kGRGB-1lAuaLQcDRP-0I4inGRFuerYFfHNH0HS6WnuOJOmMLdzYvD-4IrwEWuEfo6is0prrlAJdt-F3m-JRklJNnhGVuy34TI2DocXbp9qfwbpz8nlRA013nBvLfcFA7sIf3eX64H2g6n-fNn6q-RvVAASVBZFyYuh-75OlAl5pd3oZbp899YFAVZJWbPaJ9NZy6lEuwtMQSd3Gt7TBAOTnWMPbZE0ZwHpvXJqKTdXmKN91PkUb0YTD7C56ICjqHewRtbQWeoo_19hPTylXHf11XP33DKfTe1Xzy7Vnt0drY6XCGWXmugNXDa6LiFzhz517X0uRgI1AiiEHR27VsI-4-6w13c5Q52nGc9Kja18WQcNoqcO1VlJ3v93rrdWfHqP6HyuxXX0D_NyFKyl9GH-uNQ8GihIR8Lt0uSUqkzMEoXqZsCgU4_GWiF5KbeAvoaM5bq08HL6x6tYK0blifHX-aotQxFKdBQXZVB4d7cz2koyyL_vX-KM9EtxvY2CSKcszBDuPuS_BT5BGC7oaiyVq_Uou3V75BiC3pQkRnAIsjm1Ncn0o6hmaUxxGyWfAzBQdrmVTdnO837guiCKwBzNx9ghzZ8TTwGuqVUBtsVp_vXu2ZiiOXAzVRw0tWmxMsKKJ_LbGE8ptLG1lxYPqMZsAgo8LC8J2BZ_HYULxvHWslVNLpE7nPFp2XL3jKVkfK1hs6t8YZ0aJ2xcDdKSgUoeJTyqRMvvmHWWeVxkezGItYLIesGH9-dcGEePYrC3uQGh45dzLlE1n-rF-Ao91ZpDhd5C1wwz_QDiCYMaBa215DDYlIycVIg3UTm1damSP9fmAtvmSuRO3usCF8CjqknQhjdzc2GwP-TVPxGiJ036Zz08Tb7_gXd7maGHp36D3FZEoTKLQWiUfJiTiVXyxURTvd4R1wiX2bQ8TWO2E3o18bV_kTSwVeTdNx-B1qk1Q2cLL3NIfCrgo9frzSF0J2SkmnXapjTnFaoovjDiSGUe6T-yNDik8AUbzNyNs-j_Cp75_q8ul4bluLUL5cfAewx2vavhQ-F6nMiBGhasZ_C3cH7iXLKF-8bt3HzfB_oPkx87TbKE0mHTRgAfOoelBX1vz_VlZlyuOrTs4P3mQ3n78-z3Si13yXCdarW22vk2UywPhtyrLXK87BPgZI_Xa2eK8dUm3zFsZTFsS_StgID9uwn5Zhn6NRYpwqJLiKTmHdlOEuiuO02C2pxqhjdfqhJYXrpy3vhL9B52lIUetLoRS8XC8TM7JOzrH5naBEd43GT5W0crYhIRj57X0QkkAVLx1qtT3l-YSfYNehSaZ9W1EFnW-amY56lrGH-a9NGXl25UUNd3YUuqSYUcDDGdhTyNgx3OGfobnMDXb690RZ2_eeLIRQSO5egE16JhfJxNAjIv0FO_TUu7x_Wv34fzhReROTRrrOtdz-NmxRV7FN0UJu9jlKdTqWmo8fEXx8OI5SPNN_LAkUpSfjRDV7W5L63YJzY36rnulRiF5Qlmzmh8VfQU07D2jgDA6XCBMiqd1MMH7zf9lsGbemkpLXGxn2xwzE6wH05nOWMCejZNS6xXeb0SM3z1MwBqBPUFvJFIPwkxLlK3yG83Wan7bDSbk1ZTQ1A-c_kuJpGullEH5Tyj2fftzL82a_trpnDoakEnDHdopa9SEBsRvma1_TKyoUJ30NdoYZRbD_b1VkWOTxq2sZHzfK9xJvu12PPnPfVOQUVfSAQYF7A2GwjHbBlLi_olDCAzex9knbHZ9VSylwC3YBpeX9mLZVJexQh4hH8Oq8WIqb1OLYQZnmMheEXb9gk5j0eMtj9qke-D7nL-ME6x59vTRv0wv0QdPfoFNcMbi53pLCsOLN4IbHE2qJWr6I1zJP2Dwwwo9J73lEmosgmVvfK5MmV92WlvzzDxfbv4igc2moeEZtqx85HcT5ukuBuYO9LJCDg-Jnd_QpWWqnlE4jjSBenxRyuJRaRrmFjS8hKhAmjBMDLypzAlAi_ggj_wW__5B93Bw9NaAKE52w3wS6GxMwN4sE460rkedhdwGVbi_DYoMEvhc1bimYjP-FK_JBsJPyFaxfupke1GiZDnOSjWrd96KVur7febp0TeIu4_xyhde8OWPH4xfdRl9Bng1Sn5k_Uw916RyADml2NDpJGsKiPoV5mmkiXWshA1-9vqA6IVArETbph3aB1e5ua78GsOtvNbXx7SFLTrkz-mOvkQh1nBVuYJCiFtq7AevqN8ADpwI2eVHIGlHvjG8bFExn1VezmgYakvVqU1wRdsx7Vt5OmBM1so3FXMguzwFhNMx_ZkaHkfP49OtCwKb4quFhd2oVJA7l2DpU0uU3MkqqgeTlLrBdy90My4w8i7MlxKE3VuWay4FOv1ksKazVhDN-DGMzCajbnv-e0BW75np1qK6xS-ZP5zTeWvu9pqOk8kgBD2l3_l8zUBm9OoP_nzFlBNVzmB3tzki5pvUw24KJLVY2b0zKy5KgbhdAOmFN3XTPMQK7X96VIITWTO3G4FBQ31D3DoH6w_WvZD9R6zI_G6J2fTxb0ey6X0vd9Tm4y5a8LKAoUtC3J8wFlX5M7EIuGRT4wfu1W4RAcxKFog_HTZnF9vJgS7_rdSPQP2MDx5hzY80OVoa-locvqu6s2ToJcFWv3GAiLTPLHPwfSoVDw_Onb7KnY4G1eIIrg_Xxmqabqbzz-p8MwwN-LF5PhfXBzmHel9kdA1I0jEWGS-DBj9IT-EYZWiSA7MoPKxRpUpmGpc_RXOVIHATMXOOd3luCWmBiX4Ae6CQCB5MAMD6mzb3CoiJjp2Y2p4DZd_UOu6UPy6ml9Kdr9XOu1GfX_0XjQ7VXvr4IKBMRD3TuS-s26fMXnufTJlBpLADf-szgv2I_eN23TaNLkOGyxgEjE658kBtc8RJSxMLChrf2cXgO1SMjNuiaZRM4MYqCe7fWCyvpbeUf_USDAzHzg5xM7BW4QgYOztDNcUbMMt2uKOlaOj_rUMlJMEouqhKKLLddkwjmccenDEfaapnzfQXTbGN350-9CCrnIckE8L9-8WTCigGrwOhb_5BCrKtCmJrnzz17BvV7q40V5NO_CTdvTIlZmdp9609coDd5t5rdy3qyy0899GQNLnsFSO6Y_AqG7M_sP1LnniSwwCKNokOQpBnGSiGm0aAaGXmPm7bKhDg_ZTz3JHbnRTDxO56R-aQ70Iptv1a-BIWRPGGc2HkGS1XfnS4urTI_JbIyyDaa8Ox3tU0Z826kqOwWmPj1C2ka5y2xooosnysP6VmPwjD9SorM9WtxHHSZmFj8dp-cyt9_QfIAQIeubfxtiyaO0cEZVlOXm98_EWxMXuayZXL34EWk8yNE6p5U5jFkJsm26o-3yTqu-8js1cHHs7jyfE7xWG6fH9jTUR7lunLeDyjg8-rzEyD8nFQOd4CubqYiJuV4yyfz4xwB51fAuiPn5tsuFROnYLQ0VaWAZKGZ3pFXzJcy0WuSnyEdBf8HIj0jigB0HB7dGxWpADYTo9jlMD2IvH5OOWXomUg8PACS7Uqxvcz49vAZBFnuygtF-YMOOcpgHFLuUOlhy743zA4lPlPhxcKylHRGNhRD5SG_o2NFvI6YS_fubVAcG_LJctdgwmEEprUTk6lY2bwJIrRzdFtaeD0ThyHGlxW770inRHVjyy68qK5hOg0PfXFdBAuAovnPBDR_6N1372kKU2wBHIDhADXuN1BhJL6Nrq2VcXINQSuv9kVjSTgcGa2HnG683yK95jhZiiTd0361My8FaAznkwdIROvbliySLrZOvlx69HvC674ikLJSXiohlq6u3Up_aT8pjerMVYBpnXD_z0Drj-Klh2QfHJ1QAn5Pa797CGN8FkkirQCxIcf4msaeUfG0KV01hOyPp6Slm4ILGZTE9RkvoE24oqOs1X2LpvBUJiNI3H37E3Qi0poQ2Gvqk_5oMln7rheMjZV2SR0h7nLNKcR_ppHZWSnxz4LDL2Z0mqyxp_l3oqRMNaD9BTrq8YGI-9TsO8dcUwIE25A82C2eIb32VMMVaodiBMx_kG-PPArA5Q0FZW86SNJJ9VrqO9u9nW0q_V-hsXjcT9JxRyYeAbK8Y8ahfvhERnLpDMKJL29CONKbLSdszomuEHZXq0_eXteJaSYRCsL5L5F5R_9rOkS6k7hf-JURu1fGLmQwR_QkNxrYjeXrfgyxU_PzUFq3rMKFDQ95cA08IcdG0EKQ-L5N2zXSO2JTHXHEZtgV3kX2kcKLUwYyfBh4UZHFuhCXkD4ZDQtWPOCaWA34nVRtpLbhg709wvZbwJdNmrmiBez9WwxMWsHxbVbAGyMsr070X_47nEq8hTCb0_P7W3CzlIYx9laoGiw8Jc3zAthG0E4bM67FPG7uBrtkgTEbBSn5vr3EClKlZkQ72NqP2gHp4NagYJ7-DStgeLKchlNT_cAYVZD7KronYn-q8diBvrbN9Fp7SsOfEVTtB0i45m9XbV118fHnzx4SxvbQZXyyVh6YMKZauU-kf0mZiN34pPE74TMBnKw9p151xnBHAqQgKVH-HM0P9FHUy_peX6xTlWxSwmK-dfGllDXdYUp-M6sEMt2aSH4Ob91UWwPAKnarfppJekhlw-42aFsNwZvNgdWCpNLFwpAmxbeTI9fpm6iuzEQwFVlizwsxU-rN3m1fPfHjDORvtMrNiFPuqVGSulZxpEaCTKNj6_5e41U-HAyHBgqysJQLQVoULWTY8kBTZtpEH_4bOxx4NlCY-K2otbQncAJ6AnoLtQ-FbvhRQ4vMc6EmFQuKw6KV8a06bxshjviQsc8Fcj1liUDH8e5M22w5XaA8gVAKw1ki5AiFZTuCGu6bmSzxYxo4RE0nmCh5jdbWZckKz9OEQnmF8ABUgBN3kIEIx0hQBqhAoe8NsMQQ6Uup-1WgK9oubdsYo5lDSp0a_2UnivuBSgoRz6viCuz1N1a3XOV2sVuu6yT4cIiWyFHGTM8152EPGRXSVqElMTOyb2BjxMXvQubpiKc-w0DaM1fjEB1DQPFeLQAbTKrbP2NBWiJab4RaFbd1I4296psHhN_f0sEib9xyNEsnHLJ7EwQXKenHM8nuED7JJG23S2dZCiwvSjybR3GOvUks4Ws7vnorj8-36VjGFSqrPWiPe9Zk3x4PkUjmzgGJehl0hyEFPlF0HK2y7OsBJtW8tY5-k81dzSkkowdew_jaRV5q-an2D6DOu3llUM5y7mQMOzoU5s_kvgRTzDGHj6dW8P9_Exl7rCXb4AVfTJy8Tdki11M0cjq3xRVCJVTjD2yF1Dhn1Ms9e2z008Li6HaTqDZutxirJC_W9Dz1Wbvt0hEUif0N6NpG0RUr4O89EfvgMrWWAEcNYtlSGUqcrqxUvS4ddTVRoaftzI7Qobx8Gft9PLPmOSvqLmJdXGjx2ZAtjAXz9jQbNVx7uL4fMifiC2dWTPm8kutPA0fhkTr3EFphfEtU-6Rqxwt-c7QLz94VMEDNJ1hAEX8YOjbno2dXjG7xJLN5bW8eL0rwHDvHiXjzizD1NlvltRZ4TfbRcjfHLzHeJ77FsEeNYvA97ugKEQ5qiWol5JGdtgEGjC4DaP9gKfLOlWno2aB3klMnj9nwV9rHB15ygC6Sl8xswRt0QI2Fx9qnp7g2eeldq38O19JyCvagU0Hqdw-eUXv_-G9gBBU31wvnAqDSkvcKWW6VXdJjLH-ATRUwZnTwqrBoyJ30SVKVuhdO6YTgfYaJpcyJ3aXMEc-FZ-dEygie6x1yQDp5UflZ0YkvleAaaC6_6vbJe14kQzkm-3G2SWfIjbc3ap4Hi0NNsojEpWkBNUF3Kc7E_xEzRq1rouqdfXvuQHe-K_H2RpmPp5ptmmEDuFOuO5nHnJf4aVxwD8swyB5Ydcgtc4fDwBDEvy-LQHhH1Pn4b3AdWNUwnEgnvHrgE9qMgmb0A5q2b9PklWxDpLZ1KppvjsgSE6OBrfPAbaoz0M05czFQZy2I0--iLJgBzN2F4d28wJzdtVE-ldkoFooFO5X-oYGkKN6qC4uQs7MLQYkcdKLR9_L1cz-Y9o9hvqtNopKhy3LY0YyrNjSTn0PR-bnrqYlU0cwN2zWLMW6lvJmggg1sTbwVduMw9bJoZAV8PyYQjUpIeL-ua6akWR1IyVs56nm49UUwg7mxHZ87cr3lkXhYzFHNzgFIGwNXAJO2zny0LHRIEKgVONQbMRfxpBxgdRbTdGJEkdSG3NgAJ6GqLwNE2FjlXsPhEVPWSJqe-Niq59ibiUgdWjt6Z_eLhz1SqWmz86-nxZxJ7TpKYCndM8OLlfZjN85QKOoCWvQ0V2k29VZl2mRgqqpP8E6zH-04XHvwKDW-95XbsyKJUTI1GwmoSNzXY4XUCohdndw6bPp-zBG6togEOm-o7a2Dxxo3xsFkAmMIIwQfjJP_tTTVCO-N3WJswkFNy_a7iFIuote2_9WUS8eX8TF-7tiYar04ZzYmiraYKl26Jx_KqNhXFlRkhwsga752E-N89ShM8DmoNQ__nXEjep-6UnRKMeWn4Me5ajRtTusnG_7Cd3uzKXl9d1OOe2Py5QfO8O_LiL_Zff7PYeQO46yISNrwtf2kpkNKHa_t8VmGSOJjLgc-oMV6MeroXFD8xD1_18f7uPpV0_N-s8SsT95heGswaF_XUOdDkhswL9B6mfVtzbYDvzZE3nXnaBuvrGxOKLcT5R2XS2jbY72aa1b2QIrsleD-rKBz99LcIvtWLKyqECZbs2xa-IWnB4Rw6ugRMvqJULXbHQNHCXfOS0p5fTc41G0JCEDbHYYW4cw43jUkrM7FBOaa1qI5XQfO0yv_VjmxddjqQVIHQ6tmELi_b_tUYg6Hh9hqLK9DgWmtq33h1JLZmmQvvm3odtPmbdWvMfTvkhSWkHyLB7UbCJvseO1YJYaQ7TiDNihpcjCEPgPgF5tuoaPC2NrT7XrAmvzrzjkGy5nItv-qGrBz5dUi0GEWzLKcv26dMes6qM3fni9Bc0_KNfNF8N6_Q1b0eGVbNEJwRFkVJ0gsZ0SuiXnI4zlHxmCY66lD71w2C37PabFh2EB0bppe1S6VPhrXq4CxATCROdFh6jcATR0z8axox0YPfJ5Ikly8WdVUMUiTeAYl5dvQOkWz8h8JF9HX4UBMzg-IhYIvN0YYS8eFheP4-WeBPTBv-ebyUkjnQOPr1CMNFdyclYE9FnQ9pTXDdPlNaQAVWAzyEPEN66KZznpGJ9WZpe-H47U3E8QxARSo_g4BPMgFy1IWBkrpbr1XvB4d-Cm3CEWismiVKCLYzRZC-ETA4r0CFfyA-4yKiGU6DeMoaEVOQwrKBzOZa4RzIuduXm_ff-D0J9Crus3wOnxi9qoaW8mf7nUgToBLps3GbMS1VeF8WhECLt7GaxoaMxKk6Rtf-VEASCascwn56YA15cwPw78Mlx78IyLFlOdr9tFjPjLJYOln4MbkGNh305pc7B-grCCZv_9PPbnELrto6i6BGHiPrMv2Y_1vK7n3CYB0aByqiSqNnHGNiqAn7RTkzuOg9Y4Jy2lqbupEr2x7RKlbK0iZnfb3NAvLK87p57YmrSJfpJfmF0DV8mSv9EsRVTIx9CEQulurZu7fIakEkIpANIwdSJHfupo4DT3aAu0eswH3SxRDTkfnaQLXsWExZAY2Mws_GmRVsn_buE_wGtoMvpzZRlcAR2nK95uYAZiDk1X36YvQK4mpbUYJq1-pjK3VpgXlKPVt5tKe-k9RXz-xMcDwGBUR_MtbEMeIItSGmek6TdmQbXSTfDCSyTvJFKtw_AQJHgXgDOpdSZoXD48E6-bK90Q3en809-U_clS9sfRAZdXOb5JYJKM-bqxlEvvZm7A2QLUA_eUqrt6bht_ofhb3VYwexPOIQH7le2mJeqJHtGNOh8aRjaUjWEBlru5N3cK9vgQpDaN5OQZii12IVJQvUUGfLXxaCalYUfqUoXgui8VPJZVQ5aI3R6MknkP7XI5KEPjCyEaUpzF04oT2RUvogIL5_jywd4ab5XryuC0PhGDFNvPleqBwDjxZl-y8MX1UG3UbTJMMkt-FwYh-SRgKM7QTeHQV_hvHj1yL-DBk7OQA84Kry-jSPg0n8kFZNPkLcLZKWQMkjiYHfpjcm9y1IHq-luZpNUpH6KyKEDNodQyRDS7iADnpCVQj7N9przpIUzx6jLysxmis1XdYyAWkxBOcWHjZhLgUs2TLO1yxytp5LCPnnCyKs5vDxQf7CYM7HUOljSa-QBHgKlaNpPU9OWdgGblT6q6RYHlT4Fxp5z23MfuxrgcPCX8ag5l_Zvm8bbABV4HGQQGv_1ldIfsMkSLHu2S6iNpJ1IrYoWFHtIvYeGZy7KCw30iVc0qDbrfZ5rxLGkrHWyB0VEPLUXFHUjBOPQW4IyIayFDkbBki9Ig4hg5Z6oA2-HsySPOgGO7gslR55iTIs3yLmshBKBBR75RAosr1LGcxzEkGhtH4sbJ01dJuk-k0vkwdhH7eSgQhKoLTYGzCqWZnFrBIEj3zC7nXcg-uOd0JQN7Mf7qEL23RMI9m_uawxUpLy01y0ztQunnyweMuUg6JdizU6HurK908e-f9rOPeirxOJ4_CactoWaND--L0W7mXVkHzq0YgK4SUxja3nzAFT1BYdY8o1UWk0c_VP6sFrwSy5nllkRFosg1tihlpeJEIU-SeK6lVNYeexh-14cH91y1-p9ozESxdmWDLYQ5cU6HeSCBGnuj9gr1dPE3_GnRYY9wTwjpcKA6ppm7nn8EZpj1yG9QdSMQUpHydOV3gZ_QJgPoTYpqCsSsfdm0fPLvpM_fBv6qnQCiQ9om9EuxkHNSuy3sV5PBwuVaTR9JNP_gUTjefSbLuFYh4ykoQEvuluZLsQ1R6gPAgSpv4kpFybkHevF8xu3ZNZnFAAESuXgS3XaIsUeuDKO76v9_6zrd7VYM-fbwr4EkLPiTxzc368u_6J47M_A1djq4x65Wh7h5zIylSpLbpM1kUwnp7wkCjHzEl7v1c2o2tDGyo53aWnON31JLTAA1-2_k60n2hmH2ZlwIgR3aQTsbHXydQEmQW0Wtc57oJtkrbuGO4d-4YLpG_7FUmAX1HTsNYB83hR4p7xlSKwpYAPuS4cvlBoKqxEG-W1WO0iAlDXwg3oHgRp92Qt2fenIOn5BSfIDAs5UXKTMPYou46HOIiYuB1cQrNUhanPn8ULBTJoqpkGtX0zlPWYC0KxatBGMLpPaJhkVBJYr0wmCxLgRZYebaMpKtaJAJXTiTeaRrvlak2cN5fQlJicg_PnDtaxQ8Gg6Y1yQHq6nIe9HyODq0GQmmzuD0n1RfiE8gVqRDRYDVMrDOztFZ6f5RhVvswv0h1ANo4Jolwpugs5uYCteNps2XOIIVOczfXrnBExmpUsQ3OCCVyJpHrC7w7RpGj_zcVnw2C64DRl9SySCTZJIJAu8-X-ffYkwScn-qg06Ww62ULNBl4YJThWY7YRsaO-mwrcul3j0rLLgXmowY6buyr2rJLVc2wd354AelidwE-Wf-AIfsrIhajWgMe0AjlxpoOXhCdIrDR8ga-wFyjSFH5VlK46pdeXHIChXXG9h6u8aHAcVkm-Ow32UL4UiJ6ssGNnYzn6zyTrhA2y3wdrF92cVnAEZi_XZzg1ZTvORSmnZtogkU8gUrjia-xedqnVqQkG-QPrCNaTueF5Qa8ag-9xr7SNd7RMJ2EjHJ3BCRuTOF2pYhvcaAgRC3AQo5QIupnCAJ4W7jDTEe9zVEsI7VrPImvwTjsjDFuw_tiASGVrP4SXesAfG6n4V5Zns5nBrx3WS-eh_5wxGOiFT2pUWKejOnOqcmOLTtxfEFk17oPNs8i-sFRiHuybcd43QLLg8Yuv--T5gDFlQEw3k8b34TcAChFHktdycyN-MMcXUnFvflji49DNd7k7JcCqlZErXV-4ScDmFBIQYgQjRcajYo2RRFSM-8JONFhFMjJgd3kPzxqctrwoyds3squpuNSnMsZckoHoz1BVtEW2FMcjf1javrI_rRzPuB8ecBRPCmk8Ah0zRkV7QJwhddsrbI83J1TOiMgAnIdwp6acM91KKlQmdt_DbAotl79bdSCnkIzmHpHH2UdU6mcefDsgPBvc_qO69EKQb-c0TCih64toC_N0tNOJ_-5U1vpdDKs8PGSVgUUVf3XrgvRYhMtoZEfd7ehNjMViVp6rVhydK2WXoeOuXCG_se6h6ugRIL-i9MhTwxnG8ybaLsS8H_4PGR1_mxi9jQ4lV5u9LBnXMJTJOf9hOj8ygKUuOANR2zV_ShjKw9HXGHSeotDEjYCVk4h0kTrzTEZzSPnl1SH65ZfxDN2y5Z9CNdDfufuhLCoXeoGGl4g4oNWWg07tQwNqoSVTdQWyhbuzVZvMjNeVvUJ1RsfDdeE-d4vPH2Zg1ppASIBlPa-4nlNnPJ4qsYl-s7nDske7y4j6VR-crdKvZ2j5Yk8HjEY6pL2vN1Z9TRoR3e1QNn88Hltv6CLB_d2Pci5LVTRTlqlOBuNNv2Z_z0Lx-zgVoLFLeF7W-nsZo7WpuK6etvo6lUvRmfWquMRxnzP-2q8xnK8zII2ZSt8xOzUkM1LZln2YD9ER8CgzuvOcRgNMzdEjtAGNb15XDTeAz0HkW1KyaTslxwMNxkGGH1GYSkC5sSqE4srJuz50iH69ZkjD3pxZDt3QF7z7-jU0RvRMd2o-DUdMIcyET_8m3yKB8CiZ4sEf_bZ7dI75kT_T3wZhT3DNXOtMDaUm3EcAnVp4NH5RMdK-gN3kgADUsaDk86SUBNp9748NSFPNujuWEJbeGoMXgryJi3KS2rvx1ldBQEJ_P5PaQ6gj24fHrtSs1v6KdUf4xXSsW2DuxN4MOdQLTHm_H7PUli7_PtB7gsIuDkVGSM6-OASP9ykjXScRqNzoJP4NawcDR8iVR8LVHs0rF7Mflg";if(!e)return null;if(Ot&&Ot.sealed===e)return Ot;let t=null;try{t=Sr.parse(JSON.parse(un(e,Wm)))}catch{t=null}return Ot={sealed:e,bundle:t},Ot}function fn(){let e=Vi();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Tr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function qm(){let e=Vi();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>te(t.slug))),e.keys):null}function dn(e,t=!1){if(t||!e||e.length===0){let n=qm();return n?new Set(n):null}return new Set(e.map(n=>Vm.test(n)?n:te(n)))}var qi=null;function $r(e){qi=e}async function Ym(e,t){let n=await Ro();if(n.size>0)return ft(e,n.values(),t,n);let r=fn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var Xm=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,Qm=2048,eh=8192,th=32*1024;function nh(e,t,n){let r=nn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return ue(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
75
+ `;import{existsSync as Mm,mkdirSync as Bx,rmSync as zx,writeFileSync as Ux}from"node:fs";import{join as Zi}from"node:path";var Lm=new Set(["0","off","false","no"]),Fm="network-notice-shown";var Kx=["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, the plugin version and how it was installed (npm, Homebrew, Claude Code...), nothing that describes your machine: no computer name, OS, hardware or user name. Command contents and output are never sent.","Usage stats (command names, token counts and install health counts) are sent only while they are on, to spot when compression gets worse and fix it before it reaches everyone. Check with: tkr telemetry status.","Turn all network access off: tkr network off. Usage stats only: tkr telemetry off."].join(`
76
+ `);function jm(){return Zi(R(),"network-off")}function Hm(){let e=process.env.TOKMIZER_NETWORK;return e!==void 0&&Lm.has(e.trim().toLowerCase())}function Ot(){return Hm()?!1:!Mm(jm())}function Gi(){return Zi(R(),Fm)}var Xx=300*1e3,Qx=120*1e3;function Ki(){return Ui.replace(/\\n/g,`
77
+ `)}import{chmodSync as nw,readFileSync as Bm,writeFileSync as rw,mkdirSync as sw,renameSync as ow}from"node:fs";import{join as zm}from"node:path";var Um=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1"),fetchedAt:y.number().int().nonnegative()});function Zm(){return zm(R(),"bundle-cache.json")}function Ji(){try{let e=Bm(Zm(),"utf8"),t=Um.safeParse(JSON.parse(e));return t.success?t.data:null}catch{return null}}var Sr=y.object({bundleVersion:y.number().int().nonnegative(),signedAt:y.number().int(),filters:y.array(Re)}),bw=y.object({payload:y.string().min(1),signature:y.string().min(1),enc:y.literal("v1")}),Wm=10080*60*1e3;function Vm(){let e=Number(process.env.TOKMIZER_MAX_BUNDLE_AGE_MS);return Number.isFinite(e)&&e>0?e:Wm}function qm(e,t){let n=Ki();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=Km({key:n,format:"pem"});if(!Jm(null,Buffer.from(e.payload,"utf8"),r,Buffer.from(e.signature,"base64url")))throw new Error("tkr-daemon: rules bundle signature invalid");return JSON.parse(un(e.payload,t))}function Ym(e,t){let n=qm(e,t),r=Sr.parse(n);if(Date.now()-r.signedAt>Vm())throw new Error("tkr-daemon: rules bundle is stale");return Tr(r,{signedAt:r.signedAt,fetchedAt:Date.now()})}function Tr(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)=>ft(r,n.values(),o?new Set(o):null,n)}}async function Wi(){try{let e=Ji();if(!e)return null;let t=await Ct();return t?.signingSecret?Ym(e,t.signingSecret):null}catch{return null}}var Xm="tokmizer-default-rules-v1",Qm=/^[0-9a-f]{16}$/,Pt=null;function Vi(){let e="njbqMWIA0iPXGp-jqxdzZ8EfqvnGpVKwsR_7Gfg6LG4_v6YUsRMTkO-CspkCOZfUVqwRA7YyFXZIttzspSUwJv0UK8Cv0jGgjyZiLGhK1OCI2MsIaqAVHyR71tsDZ7JrH7SRGDoRk4pujlAwhvnJF9Qqn7zrHhBw3yQ2i_-DT9Fs6Jed7VnJNh8W4zKVI6evAwitl9oijb8p9bc_WeXrtOy06bU-rlCsWiT1_1MltX8o7EoHlu4lcbZNGkNsugQddBYELLaHPmISHWkF4k9_HJ7gFFRXw6CrqauXWmswTrtLnwtEP9u8FTU-lFQN_PaoHTrQIDyMZbpR0a898ruvqXWG9Dgltem8FL3djdkQgjOQMO3A4Ys9sfV5eKXIbT3cT7zFv6DKYwR2knn-yBcm04N_TcgsUrL-1uGSycI-cxU9iaIjgCN2Yh2cJMhukvkoQ0dxcM17Jy2X9Y9kBYbBJshuwdLMIFiT6UmayAOsjj2JQl_MqdkLPlDMFMA1ERWD270RGEkRSoTQujqjFoRZ3M9TCBknF8ksLHaam3pLT8PStDk4Msx1ZbIaa815IWi_4Yn1kTfvQFdbE_2XofT9pEzFe6iEjYLqEP4llnfuD7fnu8BSnm23AJqvzN1JgclFMZPEdMpWh5LdU84XLZ9EB7dtcGSsRgD82dG-mqeSuerFaLFkmnk0CEK2sc7Yd60dNmO7krV0z28H0pfrO7FXykv49wZyaCo_tSGGvzpIM15t7oIEEOd2SU75XFjD5l1sTwyfLDyxYNMKQn2sbi-cEt1IhYWkpGsAdxxC3840hNE_qH3ZlMEIK9cXFrnEPQKJmZZp3ijp9F25J3r0GwUseqquR4ZKHetPuX1NZj8lTMfmrvSf9SoEoGQl4Fz4K8IrBkiAYzrLgjULJODrzZI-YvI7Mx_Ce-NErgWnBPlw0OqYb59itj10JmGUqzNd5fTaKz6Y0CV70pLQMEES8tsAzgrlx1zFD9eQDRUZ5Aw7ZHYKc6ngo6dPYsx-OwifAAD88oss0Yi49AvjfvT_3jR17jD1l6hIJHrUSv_a_kQoeGh0CQb5t4Ts0MwmoZ7OYqN-3OIhtiDDGpA-VTwKej_EYNa2PKwHiSD6DrmfXFZV59IV9DEY62oz_Q_PBDbIXeaj4nQcazjUgWx_i5nL7F_CL8TCAj9iQ3WwXh4a7FUEemnc63VLQH6ya75E6Lw9RIxh173BBvukW2JRJKJEu5fJvxyc4jfsqZPLF6GkhBp8AIEcFDqSycuaAqEPqLzl0SQF3kMwPEVC_mx_gnNjUpaXvXbI5-VKnFtzTx4p7nbvWaEkKuh34JjWDQZvpqFGaODLIHJJVEFAkdTqIgwfRmYRdz3myAmUaPgF6FfZoZIsynkQLyQe6K0W6JkPUmYHt_j4clSYg3lB1c4s_CDP3dUbXUkd6OKSGs0YbXMErA5kgNAX6vNleOmedfxW_W-38k5zt9fydtJE0wbBOAuYcIb4FAM6lA7OTPqPUGZBp9-aJa25sFdc-N6WwhYAn_-J0-ADukYM55K3pZpa8wr4rw4QuEK7KQvtSfh3u6m_n1J5H7BsL80uQra5v2_U6Rf4xsXWWoGa2azzmS7KUHCt7q49da6EhXZCxRioNJ7vjE3Z1hBcuM5tCF5mieRGznp_lkaphN7X6MOgWUmk8SESsfyn6zddFFdFpTZoYecH_Xg54q4X599ruOybyzbhH0sp5TISjsV6Xk9jxQM1xHHhi0c0fEudB9tcNZN9laRIvq6g8EiA2k9n-_3bQiSMj2qWpsQbCkGWkKlzjKhbamjnalXMr6srbIi0aSYVdls16_iKrU5aJBZUfFQfzn5puEOpVhUDsm_T45Hk6vBjW3wKSuurNazfsV-Q1lxIUfAy87RS-J6y9PSThuvezzs7gXtaMKSE-8B2CexyZGNF_yLb4ESV1A6qpObghtZZLncrjSSu-tBSocdfTqzRmC89Z4HTp2gJWYrlV-Jph-GKlHN5PuyVc08Ij81lts5yW8RVUliz7zAyFjd5VRyhrK0CFGNEY4vXsVVSX4u132EeeEHnnFbRFySo74AlBJV8EtUx7kEfyeWuiMpkgiqKz1VW16D4K0sJEuWbGFQ339joXW67AA930bfV76ngztuK1iYxeAhDVBE7yYT26LYBv2jAEsjm5aGGOUR2-RYFgKyH-atizEcmuu3nfxfM8WdRUcUz6rzzFTk9xIjfsRrvZcFZM3EuhiHY1PGDenPl0I-GVYmTL9_hU-av-92yEbnNZ9hyqK1EoVgL5M7S-lro530bamLBggbXDa1T2_DWpzyJfFGPLVA5h0rM2x0tJFQo2FJ_ndRPHpvKouqyKivTC0fdmqbqH1xc5N6ISn26A2yeo3CJW367KxsF7r7mMsvsPPP1Xfq981EdDiQ7PKNzX55uzkbUd-oX1AGoHhFt32LHnLU9dgYY2QiwrMerQHsiosoTU2T1ROR261zszLtRlRvXktFBe7HJKlNxGLXyBA10P5vLwJsuxW15mO5QQAab0ZABnSHdBg6ujqeM-2TAR9Dh5WXrU-0I5TQHDfX7vMlrY4BP-bRlfH6eSLJnD2_hJcAADAiL5bc8R9Vwr7abVi11_rfRTyPDYI8T53O7qjSpVXYS0mjAXzbgL2kY4eh6v00EtHMShAIF3R2KyQY5Q7dBY0ZFkWZiaEWxtl-M118PpxchTvdIqJEHMs8D8xZkvMCbXOn4IwpMCh0lJzrg3PAEVr2leOpiktc3JjZvT6IuTP94f7WzTdVNtP6gJuZq2iH52YM6JFskD2RQiaa-nZHldPqvOQWbLCePnqvYKUAvQNtr9Mavtcyx8Q-uCaCfrMVXwc5E5I6O_e9NUQ3SePkUbpl9MlXpNW2Ni3EI6fPLctq5pWJhduscQInU1rdTNc_z-_aQeLWjn0gpf-rKHsfEOZRnGWlQv-pB0XZKJeCVQ-XthpgmGcHMoXGFE4eIVbS9x629iKLGXvzF5o2KVWg18rQiiE8zEjekGoSXq-7WBHUquUu3QZndOv_Q3vjcAUjZXGS9MOY_q1jQguEJQpKkphsPNiecyXqvDl156r3g3c0_rMC7KunC1VSeK1HtfQOVmYgi9_gdpZKiV9DzQspzQiHGQ1UTYxkeWSunuUxA-nvgbXWkgW4iCaM7PpZBOuEX6e3Z1VTlozv9G7ojZSCit63MiRvqoStVqtD8oyWWw2Kkvy9UCjU0BSjBwDbhR4pg_cYyb1poUV2TEFhLGryPpbHMMDcYUBCHIoA0Q1HOnN29dfxinp889Znlb_8cQvw70H742guHoQTselEiZRtH4IXnfZ1SEM7uGD0ojE8rMcWO4OIJNRNLHOwAJ56HQYp4zwpqlIbkjAg4l5A-L9bykxrTEwaKuQTEptmM1dx--XYlvfC8VrCCjVO_5Fe_oJa5HGvxcNKLorNSBk1CRYSSUXoNURm637wAclfmFks07uPHLyrqq2Y4CfaAD7hbEgaOmRHiDFPhPxAQcVRZoR5dPCnBP3sWoWHkeiykmYQgCXpciZ7sy8IMi0WCNQ7hJz5JpSDXYafb_lJ32RtlRqCDZzk5dnZtlqqJXCymbw3wUOk4rhX3duFIigE4Vm0lk5npboCRACYsaP_5OMQ2QlGxHibEVXv-NFNUxlxxungdwUBCiZJFAxGuhu3Wvp232uYXJWa5y55OHB0jxJ5zWCd_KKhQxs0DYs8e5-0HMGOCetfdpEDt9cfn-yQm7m7D3IxZesIDXUGFcvcAJuEQj-AyCMKQM0FPSOaQ-f5SE_koWERU214MU2sgyZPnaqrLcJWxbqhAtBhbXLmXI9W1R5BOqiH3yyENRykuJJ4zVsYFy5qEyKCLzCozeyxWa2Uulo6Y55pFFwO55sgti7GeYlhpoQRejxaQUtkK2S4D4i4_JqVcohz9PAA_sFg8kZXOmcVvPA2_5Vpek7yaefU7Pr3TRGr-7nG1rGFwSwAlasdZnlUMIRIgJGiQc8BIkImgVwxYzOm4qVJO77Cs0KylKMtrnNw1S2rrjpR8eRTf1vkr_MhdS-7dnmdHNlQuFEeB-DsxFrOS6L0TbGttUKONtd5cnt273ixaHAJSLsXMSL4sJ9ciHjoCOxwCWU5fZeBqZhrofslPaeycGaggIFaPXB6QOiQdbYbEXHFcX5Srv4UCEhWzYlLkH4b8sxUe0oRWlkmFE31CP-6vTyGNMtXf6ZSXoTx7tLWgKogIew3h8xLTDmTOBjBfOfh5Tm4lTOb9TCoiWbC_MemoUVsS_IzmUFxxRghFq2fPAGAUuH418PjyNr4OFbm1L6Fd7pl_TcF_TjkfU0Y7CTzLl-X9sx3QHGe4zFqtEZVjzES6XmdILdGxPBSLX2kUJlpwgpWgYa7IVrCwFbjPhB3tP4kHspq6A74iFyTbZW-hMpTwQeCta84RQfTH_TdphHkn9NhngVM_kwZf_h4SPDa0OFxg_vSg0bX4ZKfLN4JulZ17Zg_N_KoV6b6lxVSDaSnfj238F-zfNGOc5vz2x_7i7oIdfxptSqv_zamE9TkBlP6DqbTRfYece88sOWbPIVllVXtgdERWYY1hFQblAoHAUpuJ7lfbDf2h4G45XY7HainZr6PADGARnyN_sF1J8AGirjI8wDRgWaqCUPwMQguWqV0ZFhow-HbUZJr8Ov7TQk8sGmjHS9EYxRqaEsIHLP4yRbULUz2BpPd87NQaXRiMW0weGUOSSw03gyae0kWpHC3WDSWUSy6xeLILF-pLsFPtb6nMDlBKBsbOB7znVH-_4svlADUAk1mPrNcSLBAGlg8rp3MhFRW-IZtpjP4N0hlDW36EAzf4dV47ZyapL-Lr-oTMiBzQbRNhN_H4wwFylMU39-AuJtz6YnkYXSc8fxhfmMShI9JbBEmF7YY_-792MxpU0FrvzfdZ1P2QTPYwLUzKxYtp737ubOwWMdzEarwR9_a3mAuUM-x1a_vEretdbLrV0v0HW5b3S2TTPymEtKglcxs9U4yrhcZ1iecfI6sqSqHCWW1vVYqPV8SP2SoeSB-fH_nUZdrMOqYZFNHMkuWkDd01h01KGdjtpWp8H3sOds6w3qPoX-TBOeTaxIAj4KxUnn0NldFnaq_ie0FsjJzH0jQZessWxMY1T1vAIyJEUzrJundQbRYYkFOHus6hWD7xwueyey_FioI8MOEHV2xdIXhlHnA1c-v5ijI4ALNOsrSivFS5PxiVe_5xg-QFCDkhcwdaAcJWTR4YxlNxXT9LcWLf1LiscFkvAz-a1RHA31MXInEz7lJkmxa4VWq6N6NIK-icwguzhOWdjwcZgwhc1BY-vQNv1wqznJ24W1vjdiTPtq7Dn1hv0WOkSHfgpzPnXKKnaBxMMZMRgXIy3cPFwlPDMIOFWihtVEBqi6Asd37cDwgH5yBKR55iZ-wwb-xsMXYaLtTCnkTE_LhAg8UYUN8P3ifg00tHa9AmGhzdM8AYTjuuFBQDkwRBzT_eOUdRHuj3dK3iVIWKMv51Sob7MdySdpdnImJ2GvLaDKn9fUi1AIvbsaU8TTLU4pa_TECQ6hBv6w0-mtAnZVOC4RPfzDBggZQYkzwrxuhlUrxX2-eQg8PTi62FpnX7T1ihbimK2wyIfuXp9ypVuVpp7DqRonPWgu9oVF-Et0jiiOq-VI0lDVY4Wob1nE7tl510Co5-ocQ91k49IgOd2OPAXY3VQkr-o6wLaIGdr5uW0XgfSMAQFgoIOLkT_hHxkyh5CL-SnmErl_ECmdlDYqP2-bkpL-PuYVvyZXAMqvMNaSGQViHBoi_uhSBDkHTBKNswGmJCk_c05Ym0vU5T5-pmutcBgWVW2A7zo8oqMXsi3MJBGYpGs3So4pEQmm1ZcpaYGngSdP7BYR3b1YMTL4maX5mZxhEeRlx-IW9ZdEsa_frxGWzCDhnNOYjOMcGLzBj63XLwf2c9toq72N103Ma-9j1H30Ox3wmqaIpapxJdEWkeI3EuB5_jy6mJcl5jnHKjBFgW3LL7FN4cn7rT40FH-y1-3zwcBnuzQNE9dFN-7igo8zqqkpJQ-DWdI3ufXZ3F44E9iwXq8idPbBdCgt8W7VKTVcZhYdWKkoWyLOj46GqG0A6h4D0FbYew7hdoxSCsZaXhDiaPB8vTD8PcCoupXqnGhN08qD_lNzBlnXsssphssW3IXjLqmxsOmLnaBdlC4piRIfrHp6Se_xnJozZgxYI5tSgIig6_vk5NTXUDveerV7CFcc6ta-0l1idPhaMoyRtU4pglCTbGIfQlfoaowjMadCIMtJTHTd_pOALLQ7aFbCGfuG7h1alEabwPOThj8rmK1zl_Bsor0sb-JljFayWgibdsxPFGXl8eKMg2N9LYQBofmdxr0kKRovIzaxQ5FDMUUdRZ4O3BSlK9f-1CSLkf52MsVuBH-mIbmkAOPFhd8NKG7ab2ptNkvN_KCB9VsPFOM5xyaO7NXYcKD8t1Eto8L3McjdKIp61YDicZ92ehaHuVjFL8fVQhlwvLQsUGwTZJHwBdLi23RVwiz1ZqjH9Jx-pHomYoHPDXw-ArPmhz1uNGQFYwVXervVQ4V49WNDr_S1NekfE12ZCM3Y0ME6ORYcFufuPO6UPwDayiKjKSx8TW_8qDuBMoaAyIh84Mt21JiqDWGHr0fOC6vmibFOFNEmWi4SM8bZuXpx_gTSK4OmKRXSAqUE4szX-SwidkH5Tz_9oUKWfFnG7qHOyFZpMm0dYbUPUWJ50oDsJ-9wF0zRHpcPqbrQw8YL9Tj0Ksuf0Nra9JDaaROAUv_XX_IQG6s2ZfNGCZmCDPz1tq_nrYB4tB0ew8lk-bk-SvG-pSVJ9CXLesKpN3QIZKa7l8c74vjqaqaqE4jSR3cOxKyY4ph1Spd_RxhNrEN9AsocSUL8Osk10U_w1S-ABVdKEWPyxDRzPOGZkypuAV5_MF1peDLW6Qks8VGh2K8SD4XuPuGCgGDqY3RUPc1I7MTzMgO2X1Y28xf6C6dWVwaDvGk7hX3k5yEJYwGOhMjJ-imqCjmtsAw-wlDlTDhBItTbICxv9OclB3QiRgiOhuvTpqZwLD2WoQeWk38iBE8SilFCrpo78UxQOLPDC3tfzeARDw3yBrFu42_wxE8moPI8lMo4JGbs3Lp2klsCkfCcQgA2GykeYcc4CnhlygRCYno7BsRdWyccvdk9Ydfm0gnw7DJq6e-GcX8_QcvDNjdLm9OYCPA-gJL7nB5xN_-k1BZ5c323rOI2goD9DFbTjfntYlcxqhjooR2OriHdW9CzMZopMcigNN5uxWHSmuvWLYLSZVlf3qTXK_wsWMntSXDWenlfXSRdL03oJikvI6GxJA8A4hADzNEuo3h0kfzdiTf7BMZJ-LZI2yUaQ3ZZFG9dBtMIm1s4BRseolxooVJv0-3yj7x4G6cmTIJxqUVLRWLuFOGx1y85-xceVC72QpLFbvEAffcm4neV5WILS3XfAlt05cc_b9NZD53p9Lymu-GqOdXfmyUVcSXC6yrfnTGt_kwlxjWXlIxJgPuJLSYcXO91hlpJlHrYuA1BzcolVwNC7nDA2GtTWqAdTltErK8UEyoNzf4yI9DPWv-UfpFiguYo7m9tqh3bSx_PSYSKW_J3VlV3s2XL-TQVFYLjZdnkh6Yge-3AnRO6DVarxBSLC7IkIHqda3DQx3tTPAP_Pjp6Lj6rmRDHi5FAdFJ4kFJnKqE_u63xOb2rMbDXk0nT65auNR3UC5Vyzty3tXYPXNVBmuuJvs3SlFN4Tj1SLnoPeKhDIdFrzKD1wt5qpaXu9bB1LrIoGFQ8ZqHeIu58Xt_ncQBUhpY7Tn_aT_Si_AUwxrcHqgyYdObrSEBGFN27Q5dWU964lmOuazW9xFyQuyGV7o_txXqU9pXeXNBAe75kZ3LYC2JVSbhfdhnOdhdHVxL7mbnqxs2GwQ7scrJFdEfhhMG6H8JFTsSpwkYHGgo_CsCJ5JmTkAmdkABSKzpfOwLe0X8wj6sOOrBS5PvKSi1AB7Q4J5DKKv4Gjfn9_xE5U3a4csfyKlwC-mpLLdCtlokOW3C63BLT6SHpOGE7Wh4Zdism4xjelzsrfI-IzgbRDBH8RMX1trTYjzWHoKHdm5of8ukUdFiug9sZbZ-WoSEwGoBg3FlKWT4cQTwrVBErScTY0eq_foaIHFVnElLjLVEuRK4aQ72IqmNOIZFkFfFVXj0djuH6wwhatPHsyWgNKwmYo2lhIB5hlR7bUTHa1yAP1ryPW_HhQj79pCfubqohRxwO_DAwHsE3IwEN41NwuUB5ipzEqEOVUx3_WU1-IxI2nipxO1pI7LBy3rsDEFheJv8I-IIxd53wtVORTXWrJjWTucLTmBs2Lxe4hn4TPKADBkST-nfx4tWrzFByAwAsPlTwnz3tAvsg9CIQoepqKGLBkVcdKvNFmKWXGn3sHzCmXGfK7NMUVyN5sjCTDqzaKmqJquSZi1JEkL-CRMby8_FEUp-Sl7kevbRO9Oj8cEUGPumWYPfPCCMlHjNWZMTnTZn-RT9Bn5xo-5IJy6-VqsLJWFxC_dafNj1Tm2CT9vcpDPES4Ac9SjE5nqlTR0pMwpP81Xc92H5kL0nIze7g2ay29GPvLO0aYJoMUaqsJduZlGw8wxaRmjUd5uzly7nOKQW_YhHLDcLf6XeO37-zLQGORGWQpukpYJBRFVv8AVX-ufZBPsL01S2-s30m7gN7N7V16t5fjyiB1F9Bt2u2v4ViXATyziu2oIjvHOEHsIIKOg6yFwKOIkgvHwYuqzWv6Co0n8ObZo5B_0B-P7OrdlAuOFzKrygBGdCVOfUm-XJbpMrlIzMZgKCRcoYWVGO_zfvCpZItG-eRpHZMOGx_7_SsTLNnErCszAuZZ80J-pJ7AEhHIOZqQPjd3ueKV7LzvpmGwzK6hkuiPgud8ZTziXx5P4o3Ugr5sAepT1jyf9Nmqwx5g1ctub3AtOG3Wz5hiOXUJDwGEHUCPYkbkbs3by5lf5eQqvgsfyWnhM-CiCE7HBsQ1XNUTttRFJZjcozoezkpxyl_bVOHfdv_1YeUq62xpMtjH4qQnx4oUs4tLKjqseoShaK84FikmswNfl6089xD800vyljagx4075-31G6rUC-OB5s74cGd4lQi1xfTdSHABf2xRVbZWZ28lir0vxTYLrd_tKLIA1xXlEwAvGHFlP545AmS1o9Ojt6QmZZGtCfyjTnLHbVIObGf1Bxt6fWmK3XrGqssjaeQJTqBaQHB_6Msj1KYTzVrZP1HsA0fjw_DKT2AtyZvYfnQKRxRHITQN8TpGvx3ol-7exGEpkeVGKCkvM-9gMV6-SEXtKCNauF7AXdRezKVxSYdbnYVviEBB8Vf0mzWuYo3owdPj6qeb82hNuJkx82EHg8PFdRnD5nO0ECmYy0vRm31kah9K1bTadvVhwrjozMQafzxoURe8j7VOJgyzu9FgMYZ0sIPNFUqmfjnvA8j20gAG0mhLy6DtAtYzIf5Caquumbb24jUX1BBFzgWs8z2Cqbx2Y2gLV3W6QDa4pc-DARFp78HkuuOi_tbepvVu5giAL_QyaNihK1eQ8sbdA75DFZUA4aEFz7XGHsayHsq3-jgeCBz9TcptTggIRH2gRGl-WntXNmQH5iTXyP_aMIYA4Q9VprqkN9bl4S7sCp8-i914Ev9cn9ukqg3ewyqhpa0U-D1G_Bjbdn-qyTbjIMZPioVoDEbfEDMQhS8hBAxp-lP62BMxf5NVhqHSXTuw4LkkkPtVlQtivlP5Z_T8XJQf5FN7jiNCnD_uJxcfISe2dHLLAAe-j1flbCOFq7lpLte_ZKPkiEPFSFVYBEb2lu1dws4DsFzq4Rn2oZ3UKaKB_1OSt7RbpBy0hqOTS5YYj80iSW5nH9py0j8ycL8oc19FNFSdOCdh1mb4gqgZEkyJKDP3C0pbMxWg2CwfrLajM-Eo6wcZXbpqnPGlwmymuv0wVUaB5DwigAkE6bNrHauYDU97NzmApV-rHFN8zm1k6g-BU2TmvD800iRCReR3MFNbuVEVmQyWRhFBzJhkg595ZmpricJ8XUMkwUqksqZdB8kREk1sH9e_kWczAnk43Rhz1v2dtlDE1LlqoecCMj9z5UP8YkxDn1lSNcRbFaOexE1-KmMFhIBow8Rp08dbmO3PtGzb6ryoFA4uJIxffYQDJ7c256i-tS5i6fpvwSxtMA3tfx7MCZlSqpdS6Bo9n6kP6ry-MOE0HyEO4Hjb-2DtFuQ26d3oMDr0t-IQxPtfSeG4feXLYUXuknR-uotfn0KgeT-WRfhF04Kz6vYSxRdf09zyCWGcvCMrZJtsnwBgfh3aic2iDvzZYhYuh5ZEiTvupNLcKSNGVhOBCSq3eOZxq7OhBjgu2fiRIuHD11n6xhV7FFXolqT3CEqLzjyfJzGdEauM8PxTHLLVEWhQuLRaNsqnpZ0p1fLB3QHlKz2B5aSpEEP8v2U5xvVQFngvtJ5i5xx4YSu35uwTqiLy59-1_LdihskLyDkpScRfQkz8e9FWLJ8CL9S1CPa4vD5bZjt6b5zXdXtINh1UVDUG_A9DZd3eZkONBRBawpzod4IL0GCE_dzzMmxbZQFt9gUgfb12hZ5NITHy9uqj0tD89TPYtk_uSnYdLckZ0rhrFu8ZJyS5z1N6S5-KKd__lpO8NXB-Jpwt3BF_Y1Bx_otTSGEGVJCMMZJEsEN6WhAQ8avk6rti14ayv4sTmUYZPBn4-ND7QqFuCN4D0qtJmzIvlm0D_tsLq8aLhicTw5gLGRbjgPn7oUzpEd_5hO48hQNlPgjVzAeB3WWG67G-FrLayaA48NZHaPsth807mB8k1syaOxdJZcUxc2MnCYyI2sndJs6fwnglm7SQh6kPTmQtDCCqGUY1I6DwK-zkSM6Gmq1tRzLVasM5cg4p1JL0_pb-_yBYVXMtBdPY5ohFoWQTQjYTX4wMN01m1z5zMzofXrylF_DCxLw2RZUn5PCmnfvJ8PrRwaORA6aFAZvZ5VPwbOKLbeBXHTMR8BrI84Nbllp65HeMJO2IG51cgYwzPiqJXLgkJtFGu9kteekTXFdc1on6QeGNKURfBTW2MWyECch3JUbhErrUTlN7ABe7Gh1H_E_cYnIQOU307EgPkLlIJGzZozpjOD_kTCNrvgdGaybIAF8Iog06kkd409L4_HDty65u-sLAzRGrSDSqRiEGMfX_xz7fzEwnlyksm9Yoa3yfQJt4QZUisL7qN_XxyNTScOmO0B8_G5TlI7wcnWnQ0kfveTT0Cn1ntvFIOD-NDGjntKtQIWV9p0ZPd44ZtAaTDYArUUluRhrALPatnV0MWdqG52yUhzh2LvrLKa0h-heMHrQR0-3VWKdajBnfRRahUPNBjv6P7f0ISvQTNFEyEShFevXk3sQWHPY6-di_PSGUpK0YE_yE3sXgTcCEq91EAQRQyXAZn7fCbanSdfC37zlpe7jp2WePLqr1fYynsV4PeAVlLdte3VApGbNaCON1MV5DhDf6cogxoaZGJla4XcPRLzJXrq2luN9VHRCgwS70e9Ni_nwLZrDHYfPHtqp3QOYOrdapwxBIXWPbhDOqXOfmIBMTLQKYDOfhq1B5TWzvkgJgMP7bqFhtzXOoQOmxrzWpbIakg073iW-5knaOa4PaAWM363ukCS8UeU6gYcfWwFyIgo0c_gkBrgw_qZhv6GCKjmfX2HMsBKvTwUiZDKkEUQ9nxEVvqMAzKAWcxlQjZBU_iFi6vgBAU9-GXolRoMdZq0H5msB3FRXoQK_p0lpjpKuwTO-Iy0EzkcbQdEa0HKDHcqiJQ4mU9KyRKDF0U6gf4Udv8jfb4Jc5XcMScxbqZeXK0IVxdwczkHXzmnjslutwLNuasBaUr8HCYpB4oT6HSgepi3YXKDFxWBwJRRbE_xgylHkU_LgwaRdMwjoNyFUne39ATmDihSZbdeVZM5cy34ziu-cG_j0S2Phmp-bY4nXEIqA971kmPrIQ_xyFiPBSRjtfQT1K0PQ9zqOwclS0QZOMwZZXWZq4ab7HzlDg5uojRTaEx9fWyz70yEXRyy4ylpqJrqft2t37a_Mv_F5SKno88j6uxVxn_WztNJCRn9P62nsl2urCH4MLLhAShKga2AKVwk3iwwWOC5_1nh3Y0O7L5utmXGl71REfe6TyfyROh_5OIroQOOCMwNmOma0PsmQlyvkz8LfvZKiGSIlvldHlR5dHGVL86WtFLcGfpR2Sl5qFCKP4q0yQhzVsTmmUToeHFh0Sm_L8uOQwVwQ8FqNXyAZvh0FmnpYxwr8TQf0sTKUcku1YCeUNQichS-oTk4WlKGlMTVonPUIGGgsGzvQ2msxO0J-HCXtQC1TdVdoGC-3H5W8W5xoOl1gTeqRl2ehbsAmLIR_vq4wE1XwXuwjx8z26arnLbs--11ZCY_wJBtbk6tyui6b8LenbzFRxZaBpuCOTvTTvSuw38bF6i2v04l6xTwnTNiQ0qG8BS2h0Jyf-juUqynNtEYqkKDKlars8TbmVfrubHPOY5JEEtMZS0fLwVZJC824fzbzazHBn4fNjG1WdIaJgpYrrhqsCLHAYxCGqAHhV82X62fxrH2ux0SKOujLWQY7Q-DX-JebD8xsoyHjzjV4uIF49Fb9nPuathPIVGZmZDT6s_PPeuNlbSEGb7fNm8IQp3RbJW71nUT1AVVcQvn_abiO1N_007MQWahDyFkxdTRNLgncYgzJ4CNfJAlbtLLeWF5D2652_mmjeVU8bzDn2Uh1r-DvnkSxlOdiB7ZARp6_UQrGQIXIKSQsEcRBwPAhTh9P9NUrjvOnyBAYEakDJLG_6qk1ROjEzMR1hRP-G0xn5DTminfgpdD2rYhLdll6Lw7PpOmkJgomtHp2nsHcnD4V2NXuafv1L8kUi860utO7zBPQdIUACYkJbrbGvkCAxxtgckgAE61iQWm0lLy4cx9QfrByvu5lCmGrYS7HxJKt6880r8561K-KXZ7idqgSviEA25iumH9cbqyCuD_8ed1wEnpVMvMRQcfXhiB4iIpRdf8bE25e5Z1npGJP6m7zaU4JmQ-_DVSlttUzANVzCvQWTCDJpM7Azee151CYYi6Ru4KJr471HRADfzuubvg_I2sRpnqZvDXOUCzWCImow5I0qoDW34Pjoze55QE13ZOfV9vdk5q-UJ0I1qvYaVkb6UH6BVB1x2oto914OczT7CQ1C9xYNNWqyWQKBLBw_FWlwaPj89nVTXcWnt88Xb-OqTyGC_rjHI1BwYChEwiw7gANfN5zgtMsIy6Af9UGFbhhnNgsWlCL5XlSVjKPD6ptzGjE1egsd6dCa6irh121iyYbQ5QsmLbZuZ0VMU4dtdwxQKlR1SjRyzyqUu9TW5scc8gsYzzspnkswHVGtkWZPp2TqOoUP7cObGndMS4AYVl9yIMF3z_blpPC3bm95RWJKFlS1hdAhW8PfmQrgSA7ypj7_hbZ-cDObiBt8YBQJFmf21mOrBINMl6K6fjZT0gNWQBLoVX71ZDzKfyM74SjScWtzW9UQ8OCGMYMF6KKt_rz9gUv2n09I2aFB2wFz-yQ0tY-fs0iT5i_4EkPNdued7MBDg4QsomDA4h6ZOw8K9jX0Gqj4mq9mw7Uw-hEl8p1u6lXng13aEKRExuzK9Im-Ldy8QYv718lumR1sqvKmBjkTdF1SGVNOs3KIURdq-SWiGJJsyXLu9q0epFrV73dzae1LyS8_o8xb9qLuAtlIC1Lw7QFmcvzEZas07tgelj2LFfocjF0VWhioJ3HK7iq2olQ_Fpz95BU7ZQWGBc5-wviMXztoRcE6WDL1UYpQLsnFXHM4k3sKIg_fZIyXWPpFguESvruecFInGA2t4vyjf3FuI_fULKnAkt_mOz2OiWSUIHJn7RQ3dE3lY-M0re92Lw-jCUY689Qbuc-eX7BWTkUwJIUsBNX_KlmNtVg_YLy881ZBC0j9ttfYkVjcyM7qFRw8qq-19G2FlRfEtJaHHNIFgDKlzv2tAXq-kvRgmNfajW0g1TX6-hDmag4AXOI4XKpZ4ttwk2r_-lHHqMe1wJ_ZRtoY71W7jaFxdQk2tibRvkkDO2rp4aWsEf3hEKZlWpID9lEgRYnOqCjVVaU-HcnBHTUpH8uv5DqNNd148kHogWtAPb0LQLT2DYnxasMfeUj2sH8XI3AHKNObFl1qV3C8b4e-12j1sI5Ek1w35JFBlAge6VKc_-ZPFZUElRCKdflBx38Et7oKY1ZG88Oi8fAepp5f2eFIsnXBK_kyrReVlYxvVCZzKQkDZeqJc0o6d-anc2aXLq4ZCbj6ZHW72lOj0e_oqr61WEQObPxQSCC2TP7jYHtc8foDWOKlldjwnGGxmN3-b4B0XcWGNeXi5rDfjF9ncvr_gixJy2CpVaMT1GXOvFTKOdcjD9uo9tby4Bc0reRge_NqZUmYox5yRneB75rKws0TDnAdScO21DH45IWT6XnlcGXYHEeYr5GPvc1PTQ4_am3HjGLc9eEB8uG2Sj-vE_WpTsVnMaTGA6dmC9OiR_Bb960kmIVtHc1kXGchgN0tRi2ubWgPyVtybaGxwQliVTmMC-dkKNPzji-9GnuEZJXuO-NFvNh3G4xO-8EjmW3z8ZZDXWXhDY2Kt5SJf-c-1QREnZZc4DuLXdEyz0HWU8xP5cK3dGTtLEYYAC4CSMX_QRumgC835Qcr-gM3Ct8LJ5nV3uAmmWMNLiqa_3ZlYxbdZcrCjTORg62up_jYr6R63MAio-jUkAKN7ZygBJn9SN8rvG2lPYMVR87oPZd0UEKlsKrth3TpMgiyzII80pAOmnZJBj0GaTgAqHCW0eHCTqo6Krbzeh7RwbHpOooeMdzJupc7n57cyJdMEhtCeNIT8Tmw1RJ-9nTV30XnL_rKWJuoOqyXi1GHQzUD07fsfD6N1qLNbOG_njacx_YZ06geZakdz5bPPAV4B8wXlpHwvcxUS7fDBHKgOiVQPRMjeZHASCRg5rBC767PfWILD5pEC6me-kGfVR6dP6o3dK1Pl2U7Of2ydUDYga7B-RqLd-OAOzulo1AjE9_4ZWnD0TYwWk6AbEsRbsrnExZ_5GgMzLLnIhkLB6dHQQuuOndMqdjUIUsxfqYpa0Czh_3ii2wwG4PEaT89Gz51FadaeWMH09tuT2SHX5sVSAa3CZrV2l1YwotnBIPHgLJIpuXYFUtKdg3QbpVQ-8NcBhzol1_gixUXpnJBWV_dL5Ip33yNALg1GGIBNBUZXZryYtG9CC-oo-gDwXqiXhQ8pJbhJK9B3YeVheYW98kgoetGeHn6etXvYf9EXKcu4xuC5npYTVqb9xlowPhnbGQX0WMOUygza972G5ncBpnBKgN__uHtapTC9IcwxyhrZ6kaPbynbPwTMsZvM-5MbvD6uqB-Mwag0i0ouaJqbelBP8gzcD0cpuVIGfqRySBFRzk5ba1bFZxLn9P7bBtr55GJD2mwJvYZ1aG_PaDbdPlXcHpF1xuZHvnQ7Z-eDg_WBwenbTB7sL1NEKPx1Ms0CVP3HyTjdjLztoUAxxHU70QrxrKb7jxjx3j8IBbnIIEH3t3BPug9Z87vkReq4yveg0xw1mYaV59K7XOGO-MP5U60hbtG9iSHvqhZoA1wYwyBjV6ZMHpj3yIcSfBuAobAR2g8afIvYx5ZwbJAv1xRmnUYrTbge5zGErhgqQLuvaffkC3eSvMWGsv8JZITwrRKpRkT7wea-1-dFjP-VPPq09-iZg6NvZbS7PA5bmmHi8FBB8jSxQNkb4E8iEuome-nxPydGeTKHNQf2zb9Jbb3jhk9E60uUXA56vD4sWiF0Omde5GLuLHWd74xapWhAeRlu29PNA6w2uvv8-AQz9MWqxwtntnqarVdBmlAHn8in37KYINBhNzhKo_Uk79Gt6PBAwX5_SBb3S7LleIKz_fKefAetQP-DULm6EhdzGpBjclFaxfUqcOFWCOdd781JJN6zBO7jrSZY_4VCZAg9IMG_0Pt0umwLgyR2NhicCWCrg6IrpuUUCk8aoohslxCan_afRCahGuhCPyYoUOw5NqN9y4b0xfwhgfLLRIy_gp4Xrx3nuLt8rYQk664xhFaui-GytnuShP5F9dz07UB2P0LT5RVhb9flUGW1Dyg09awuu2B3jrJGwsotzI6bQEISDSNpC9fA4b08bcKf9XIK0EmnQzPOeUztFE0m_54WPCzJ79RGLNU3kzrdhuJkhbk-8_vQBoaj1489z65Uj4OXdz0taTTpkAm2P-slh8dQQ3fgAG2JZty9VA8eGBmn0z3SujUtE_-NVPEds87ocndG6Yo_j_UbrFvW7W09nWFF1GPzHiecxN_3Xi2vSXkzbIbbeJ2gy0r1zz0BzN6BeL7804oI9DmHEkYv_py_t4L-ZeRKL34PCLGFNditWtuJC4lot9WwgnlfBSNeq965H0xAoaGQU8LRcsGHFEa_IkfXIIsNpa2rsiN95plufKuLLh9nyg6N6i9bUNx-oWf8qOMYgLvcVZa-Uuz3tp8UFCRLeWzxCaK4THRLIj36z7WVqHD_ON3UWrQ81dGW3UgszLfxibDM065I4O2jJR6yesc4ijB5z3nI0okCNetWXfRXTJxm_rE7c2mLy7HvkrL7arC-lBW38pjpjE0px5Ig_tL2_WPjEUFpDLzer-oRlKgW6wfJqRfuXaPCMeeYEXGckcxbKf40Z_Js_RAAfAJhsjBIO4TsWXYqKFbck48LvcS3OW1WwRGBBlN7QYTwZNBipxE9NAQATr2Nbk0k6VAbWQ5FMd3jIU0Ki5llRA2z3o1_oyAHUo-i2iGr-wMsRERk-Ewwke1KEST2StJdcR9Wp7jUcxIbWXqWUH5JtTUuDckXm5Rtko97Rp7Hrvg-kS22TCz3POw_dOxAhOfUSw3xdsV-bfrk6e45sZg3P7nKYm5u8KAQ8NGPLn786Zdj29tVBmS4Tzbq5G5miNuTge0DvNpB5rbLhMP5IddeBN_pvM3XZjJo4xUswFa-v6KUOcPQL_PJ2-N9T3S5MY46sJ7vmgVHUfWLYz0ODroVhQ7aAqeUtfDQmX9KFs1RdTlqCOk6nAjVKxu1Yp04MHNAcwxEql0413vU8BheDZKy9sSvHnSocc7qqIJu2-GEQjLJw7uG0MbM5TgiKm83Yyp0P79OdQ3C_anC_H5VxMNvWFP1G_e6HNdkINPeLsNbopuxbT9MofnkqgOMFRr46vtcc0W5Q-TmHWzrbLw6_QFlMpvuh4JKudRq7wIhU54SWHProFgQdT0F7VbY8IAcwm7lANarh3PZsZLoOcmfgvmWKpXtrABMOKsiCtjAlesXK41pBY4p1GelrlBhc_3V0RviT3FljykDgwVODy-5NC9is6iZ1VB12NPXYhjbA1H4ntTkqSI7EV2__sktSq3jPaQkF6-yVn12UOWp0CoNB6PvaPwLTftCTazyJL3hY4E1f-_qBwRilI19L8nF4V2IzkzMGTW3UssKesMyC4nORLQqLTcYa5sx3f8jG6OwMuqrVeEVl5d4aWSIJzOFZJzCrr2tWoR34aXiXqC9aX7502DgUn7Ajocdqk0kmqGw40scoTOg-km1Q2-_unUUnVTldydziaMlPn7Kpn9VAmQ9CVh3P4Ejd_xKPThOF8IdaPJ8K2j0D4e8jZObHhzbTKJZeR_cqZ3zaAzQwP9w4i-B_jlZfuf6cBMX3YiIoEubGMg7yaRZhnrXT3iB1j91UmZpvuMvX9j2bKdrWItjsqDg0DIx-T7bxFpY5s-iQILDq1YIyG6aEx1x6tWsbMzC5Mz1ksmXE0cp2IcBl8lG7czwpa7WrjDA5aufXvXSBoM1d7J90GSh0M2OEcIYsu61eDUQmYb9aFi0mLbXmesGwA1Qpdy2MuwmsEBs0qlQAru-ZwbditzKeS9D5lipnSM29Yz2hbdSVCq4Se59qmFEvaAvT-Xo40CEfkQHKgdfW456PNQ_XUgUWjY7iTImy44mliKdzjkiDYHdt47ZS6FbKWnnEOJxlC_dNU83e4WYdZps4ZA6-8au33pw8uOY3EA1Epuu3McZMgfw9sKxbUxDNzhzCMQ3J6BhT_tSaurPS2LaPcQRzCARNUbfux_3ObIXmoVhjtYx_kA8j6DwOtQ8eP8LLER1l7_y-pNKVHPisXHpiWaH3TUTyO3HrI4CLM8cpaZjWuyjbAW-aDuyx7YB4RWh9kMlTevhlb85j42MdFfD607B6T_9WtUb9Z3z7Lp1TIGqhz5u7KpSCASo4Vkfp11CIdkMLa-3pxea7JxZDzXu9RQkvKqV9rjQX4jCt4A_rY2oJRpBRVfBRaCOcXpxdkhYyLic9k0ASQ5bzoC3nBHSTLZuOsrdSSqhTikQSII-MWap8A92E2NS37c-yyRrsV3i0MVSO9U3RUc9IDx1pIGrM8DqFggLwg7HowHz5-zthLL6qVHSQNZlW2_t-2Ou94_SFhKgm6SaSTh2GHoXCbtznWZQsaDvdKP2ulLWxcEECZa2cUeCcBW4l-IB52lyJMt894Hx3mZPsxahg_DmwByVlBd6HlwaKtGT3GgxHjPe50wXT5jJDGAaXxfIV_hOxhfdiseEPKDosK5JeyLJ6M30Gtth6eRkoxr0pD9gzyvYqbj5suy9ugg6RJmHZyt4PyAebX81UjoGW2jRRA7CxveYI5XXCWstqlFldstKgFp1FmWutcZRuWkKAwuFKrGRcZno3PKEmhAV1Kyh9MaUDCiq74bBV8SLj7eODtEJ79ElUA9OlDPqYvJh_rhFifpyYVnAdgj8ADJBwXvRmpoapbdaIdBmQz0xyy7pJUYBxwG2pFrRm8DrLy-RrwBDk4g26J9wIrSUbcdx9uL96IRuBgl4NLtMdX9-Aa1-QtQYURtjJCqo_2jyqTiD33iihC_nRFKB6xGLhwRn-pAZcF0JFhWa55Ubwuwi_d4jarg2G4umASU8WZ4zMp8O5Gxj8LpHFltKkoPA3I9WaFWip9yFa4wbfqlx5XrfPXh7v41gr4kEXQ8AFS72kjjoJmFQm0EvCCI7n0kI-Ir_KA7eq1QrccF8crj-M7VtbCumkVW_11Wp4p_o2HYyo8v64peFrs-5_kR9BpXJn3B14DpKK6S6iu0-et8Pk4HK5lSgq5XxWHaedefIDrd1Wxmz5WU2ewxxpQfk8AXqyaDXRU_-C--_i2eoZklDyItMIDh8LdejCnRju2m5L5gl2apxYw6q5CxW2IWV-uuyZR6onD-iive2rW6OZrdQf_oCYJiKv5J3YlzWpJOPSxdowmjBfj-nnCcpVEIqIIMedevRc1VkTs3n8kt8lodNsimGtfY5Qd5jBLRTcJFMArKqlygPNsd5OoM5jBSILcUZmVpHr-gWFMNP5ldmnqoxlpQVJ1v7rZaK2udKRuAjnZkPGbaeq7tIYfwjsWTGRKXx_Hh330L4v_H4o6OBSMGqtVnf3I9PPCMMDqkBIwmMsaHehfLlghxjnQ8aXK7C5OyVmjQ9tt2CmGb2mIOvHbZmnMqdoQymbqF4twPvgGJm1wprRhzaPzrVSwwpx0TW43_24d-tJFTu2FR3NNa1yFoz8bL8-8uyvBuuU7ZDf8EivKU8O4BW_LlG7deg7cyRAuHFpOsMF4tp9jnIlOnE6pP3z4TkHuxA29mK50l69npAocDuXYkS3sUP6Kip7gTYE0G2qOLUiI5yqUD2ConBbFjNE1PKE-wNgAn8kDWlVaU5yG7hzZWhDG_vf4C-_l9_lT41Yi8ISzyoOe-y3kcorqbPFELxMfyDlcXd1hhADhwqmlIyRz6BFJqSNssdFjwO7dU1OAiLrfz8ZsGXxFelHc_1Xnf44Eiu3JsdPfqtFcNpM6_SxGu8-WBbUu26PXa7eXotXXNoHrgf3DTp9gxdaYpno0dPYNG46WZvTbfceKsdbe4uQ5kfbJaC42o61z64ncOOJtvT_mtc79s0Q1VmcGgPv5ZIiTLQSrdMRoGOC1o3Q7G5jnxVwP6LsBAny9Xou_bYQfzlLC5-6kziDT6MUWncmtqNOoGwPIPMB3Q9khJ2Dm0AI_cH5zfNpnjjxS7hwkB_c6Ve-GVvacNo6gv7VfIvo01n3_VQeaA9BKgMNH0byB5Rfr2UpxNAqfArWqN0QOXCJ93EHHsNFAJd4ZwDjVBsGAiUWLT_izRdFYNkmCRO-PGroCJHS6C2bdqs_0dS65v-HmgYVTsB4PCjhR6XWuwNuEKlRKOGsn1Gjzertx62ahs_uf4hx9WWR8kuXJQdbVcteC1BXlaoQnfIHEm6ulp0SMa_1B_B0EaYZ68HqtcanzF2u4eflB-nMP8aGgmBGUyd1mdD17riBquBCkewo19t2QgOBNOmP2S9ftZuu5NNlURYm7MmSRCGMVk7fjGzcznLZYMO5XJG5jVgp7rnyLjRqckzZ7qKlXCi-g1jZ6pY85OM2i3vCyRvZqSZRVQcASYT0QMBz661_eCWc9fHSVyk3eE26RUYF4auDeke2jjcMjzdg61aUxbYu7zXHMqf1DHlz-_Wjp_yiOZUEo8KeW4W2FEl-Ewftf5bKNwj0PuieJbRDQnpwC27RiNE2i4aAc1J6eGpOu_36V0wUFfjr0KZM_NAfbVC64ROS_9vj1EwXW4SEQQRVXgUIz-S9N-GnVN5doHAfZY9_8ee_vxezNJyUXzPDQ10KAdjgPHQQLIPS5IoRruf0ykB6jXfQH0Uxr6p6jEJAsGTrtHv10KYNsfoPOUGuzk2wf096hTkLYRbVIl_7Uw8dnrLdLR43a29Yk2Pfq0ukB04WQk8BJuDB8GcteCeTu6CUTHJKp_D9oYA7YjLT-uk-mfzUdvYRgM9NJHxq6EpnMLF32TIp6fLtFe_gbZlRaQw8fPYojc9QX3wwfxzl0U73NqP2Bjunh3JGNGuh5ND0HQUJtvglNemDIPryT39dmVyDTqd2_Qy8E-OQug26GmvogO0FcqkYzD0x-UmNw-er2G8dcucCVuG_iAmT_wHVuezY6JIHA_DTBmzFeEHDd7Lr-bPlnUSsAglTn6AArr7nKiQPveoQEkITL25_xLkQ4ew5Pl8japhmmGsgLg7OlyNzLrf8_BmKZ8TrVLjOVjhURVyQNKdcGes9Z4lpoW5T7qO5fHZUmA4uDBPMy9NXInj_7sc3Usvg-OoZtNo14RK5wZwxI08zaO8xXLQP6XnQ45GQx4uX6LLqC6lFoa-F07UYt_7yj0wtQJvcbPVW21OaJEyDa95M9c0B_Xre1oK7UUrmTm6K2tu-CzRZgJEDp36VeN_qON2_hf8RAkhn75wvj7WiSsuClOHUtP-0nl0DZQz6zPtn90A7jr2YtAWA3-R1Ku494iiYkMh11QzCkuUcpbmQ127Eo-gFMkNa0AGNfmY3OCW_u2xC4gIol_PRmMqYIA1Xg1h3kLKorS5LXl2r3VpD0fgznyjsZIaXsjvuqLP5KW-4WNGHcf0CCNs71DCkn6M6B3aDl95UZsKMhx0Vah3FSHr5TULKiVcdUsRlPW9vPMwe8h3nJ2mJ5jrHE_gO9rCqP1Rsbc0rj6XRr0tNW-XijmBGxIFMd4s-JYJH5Li4574f5m4LusDEpIZMB-8ucNHj5w71eMSUwWfx2RB1Yx-SJMaCVZnMfz77skzS_6JOK2ui51dLlz9oes6HnT8bPF1VPI9UFkFwbJYGW_H9Se2U_pxfA44rD7a8kzeHgUjQu2kfPAhyRdzZtMXT40etIbIaY_TjbJamLjPkolV2-maQDtsKDiXFR5zBztj3erwaL30KiVF5YitpLWlPzkXSNnk4B5q5tX2gAy-DkCo_FOj0XV3gvBvPF-OV1An1G9KgYDl_5u6I4Riy8d50biTDaKa7ZkWd0818WyEGV64YKCgWoBeJXpnqf-UA4wTxhes8ZnIjxEIVpkg2ihlBWOFBDsvA_64jOoNnStHaXll7VTJVV9ZifZh8SNhPgDhY1Rz6UheuU62heq1Y4FrCdVApscp2us5Sx3Sy7POwJd1knFd_rHPUtW0qfDxKHTXD5ZV2dJ-nU6iTUXOyqm3nMjwYLipV5_lb-7g1jt7QrWZLqNfYxRjj8lb9Yk6aX4yCvRwUQQegWQUhy5Y3ezXQe4DfnBrSExuk1BKVeC0AilKskjJpRrkRuUChldEWY_lz7klhSvbSJgjMTIZF16xCt2WpNZ-c3Ov-6_ZgKJRcH4FQ4L3TAZsc1i6mBJG5nSeF9hpfPIAWtKqEfcJAMwo3i9XKfpx6TKFFiIVSuGVa2dHKxwC_laG-iDJEMiv_CxhAhMHFwZq_QnnJ6dFCdKSKp0PZyw8iQAB7r6XVFLnNVoVvLfc9CjOh5FoTcnheeq9y5vVteT1ruT64B11ab7hB2joNONgwA2MJRkH18qEBnbH_odfCpDnHbhgWx5xtHrtHDM4LejK4oWPsBJIBYeAjSgbKGfzu7c5Lymn10OmJkdV4eDeA55BU3EhkUHYFrb-S4Rb1QlXdQhUsMfnYImOOlGrWe8CzFTT0rR7AXD8ktwDgdXL4K-JrqCdCO6r5og8WXc6xWO4JHXAINEhiZLiXpp9EnIto9u69zW-5izGDcDNGCYtQEf7pnfmCe_V6AFXu0yS3VnM6lRKBTsy-dMoE8CXttMfXHxhSjfebD0bK60zr1oY9WWAlTF80iNCtXGXvaIT7EeIo3Jv7g2c0bO7XsllfjlKq3Eiq6TzF5dpDEg3UwVkNcJBHke6Ar6u_97k1u-Zy_8cheOUVxIGzj7v86OqOEEw_eXOXJar6I8CIYl5BucMcp-R7CK6v1YOO2yB6uhGcQG7J7gCfp4AEdeKGEI64O5DLcpS55-uewA_F3ylQQbQSgueh7rW6od9WAW3NumLW_4Slntg55ktaFZmHPl-Y96tLYfume2-jR3y--FaELbk3cngXEGmdUMpDAgfp_iPJEZOkIyXMG6RKcwMQtIZx_2PogC3D7icSQuLcEwGY4sRubRNDr9UWnBt84WKvGKRzHIcsvi0MDotW2oDPsWFCQGvN3orXKZA_5iKriQtei963KorgeN7xV9pUHMLO6JbmMw_vSoAuVQOBpXXB0nxDW8opO9-TBJ-ZigTRn6UWHOWk3zgyY0RoiPPh8Mcr1BOpce0srte4UEvtlkPhgbsvUil7omyuXEwE-5NesAPOcs0TijhX4LzOtgylcrLJbX0Nz9WnsC1xdZO3LEkueQU8-bd1fn6_mOAkcEmPRoLeqgFJd1XFrgVt2to9-c4lNPSYvAn1hgUqSlBFAUuwmO3sc0HOEPUfWboCJdWcWYC26AiF2HARZkWqsHzjsOruq5WHU145PSdFZ4Iyw3TKbSa5_n9V_ILGs6ghz5YMJDbDRpavCnM0-sTCN8E23ejHL_kjm_tIstSSzvig9DUna6FoMhfgRAJh3iblwQ3Lr2lbioyDMoNMwUU9NYF-LtoUf3IdSF3qCy-ZyY6a-SnwF_rzxtwOpnunE7LACP3zO45H1bc5LY7L1oL82z74_rLjwkbqN-zHSYZwZuAOAK-_NqT_v78XmQlFTYzXg9y52Ek0sVWy3zCtq2m76Bge8cK81ddLFoEw1JrsWiO8VtCcajwS60qd6te9TdAA27gm1ooT1J0VHiEaTLmrSdlsLx-OXN_4wIvxfMTN1d68TpAxLIDqkn78th6RFdxk2CJXfEuwtBHLl_ZL-HRYhCOLu3P1aQ0lZ78hz4VilCIZijr5ScjfzmaYr77BmPTS68uXLPGNl0xZC21bpxSMTf-2RVYK5nrsLz1WGct7Rv8_fnJXBN9b7z7yTmJ9KRfJatVaeASlJYWTahhB_wmXaSnd2cwP0XVoj8D7_M9QQha6kNYYrCEjOxJcHhqc-SauaF713LYG7rrzdVhNc19bRSOi6i-2mylsz6G8xe9QwtYetQCnO9PjSeMuXbsvKb2UlrQIcPY_Y6fpaU0JSaXjnKYv0n3gSCAMrC5jTKu6chRl-uskakG791jBUf43agEW7srQJ7g4swUsSKY_CrLLxt-5miluh-hvqvHKOWmysbsRRpbkPrBG6r3Z7X5tZ_DGqyR1qCCwnTmV63vL8zCI0qxrFiUPXsg4zcOymf5Wxeic7ntDD7psak7zXhWbL_xJX6trOgBDPpQXBWa9FR2VNX5gBEboZU2LPLFBmYR7vheviwz6XPnru0hsmsTIqy_EsAfNX2G2j5mUAO-x3pNVaTsgWhXqOmVnRTwY0897J2LvN5q1sV1Y5BQJPECWLJ_KFLrQsi3I3rLoEnXDaWKjQ41JStRLrGuyXn07Z2l0aM-WqJm4ovF_RdypCyT0BlA-r8aM_pZCYNon3hBUiGDrPmGlGTwHqgcIaSCmb01UTyuipYD5as7j4CS2-8HpjKutVtSEebfwsIXdYSl5ocBwKF7u5of6Hmoz11uZG3KQ9FpY3__CflxVD2UlVnyDdW9Y91QFcOZuFacu2nblpJhN9w0OMj57-q8r8uxWpE1TNN-JbMxHPUGRj2LCUqGjLus23d-5icO5Dl7Xumxn-ztijAFpZvlqC0USdN9NnJWoT37rSduzF0Lq1m96uDjtqW5kHeqwNGsBNNK7HyxEnsgFjq7p1VmOlK05ePY0IXEahHYfgs-AANBze2OhVQxxKV8tQXizcYW0NL5dWnjiREN01nO2OtfYvvmz7K2RnQuHAXOehnhAKOblAY28svk-pKkmBJwpJ8F6oUYdB1wIGMKqAGppLPz1DOLQWW06pWu5UmVh4JKypM8dOLm0D2o7U4N463Pr9cMj7hlLz6C6zPS_wkxIye8efmdOsqS7Kv-WnxmvpZwmbiCFEshqNJRBIWxxiYttc_L5ZjbY5OPOvvRgOelYhxlwzrfTaf2QCvqbjgRqTvkIX7CBmGvIDQlMOQUGi2hMKZq14ry_wtWhGGVmYVK30lzfL-hktUl_tJEJw09sTisJgC6TpHgp-kGzUTDrTqmYZZPjzvcRdl_PE2mjTMhRYJ1hRMa5RFWswKKxzGW8XCcbghlbzqeeIzImxLZdjjOyMZrksEltQYE150NGaea-vYkb_oBDckWPWxcRoBw3t-9tCO8i2nlXYCPCthYJj6_cfJXDPzVpfHVuiKepTt2ugEKlcBlxotv_0Aal6_YY8ENAtws-hfa-4g9npoA1Z-7G9Sst007PMFAaaPRLMa_3mABeVPbgxyrFTHMhLOmaiuaTOKucj5DJWJ4tKlOqK2UwrQlc4AFG6yBDOrqQit5yfbaDG5XVGQoTfD5O1vXUCpghD6_Q_gr9Dyup9_3hiuDj2jHm1bH0e8weta3E9sX_Uobb0bOZCHeUBxHu9-KC724PZF9tQNpGZbthkoB-KVwVFHQVhezFnQOChJwjHFVJW65Jc_L3ZTawHTQNAIy1sID-IBC5e0cVxdOXA4P2BVZvKQ2iujeRIbpe1it7E3CGzYchEbApmr1OgKj8g_Nya1E55P6MGoT6E5pqbZG6o3hVK9ZsoG0-PpgwYrtxIEdXoSaHGv3KmdIBcMgQsWwj1SSHNFfrAcIuo6chaCqYyo-7DfIBa2bgpNryJiVZuOolBAq9hVTf5_aO4Zj3JitjVJM_Vxxb88oDNnJqBmUQys6JRQqIOjHJWH9aHzxwPdTDiYjUiCiOQr-lMceq080petryuASFIeKzFwdGvxCZKOERUn9cQdM5DmsHJ__GvetByaudrpiziCGf6NdwXmuUvFIdeUR9Oe8ubSXOEZQo6AFD2xLIjNu2I2eqQN-en4du0eJUwG_uKMoHGxZFrmhwscJnOJhM-1pSeX8mLS9nyEQrqHm9jgLjzTsbv6JNVjwzeekKUy3UivVvo8sP55EVJsFn3xpCizQsCVn7OCUiWObANOHhy-HI6GmGYC_WPDKuCSuwMrKPqdHcvZGFuT1bxiciqB-OHd0WRC1Se0cWnGtvQxB84HHnimb8QwVvWqn5RCqWYOy252HcPgkXmY69kM3zgMJ1GSLP1yJPiG_H2hGdCmG6CngAmYhiF3gwon6NBsSU_GhVRg71WjIce1nR-vm8kYA5n8MSezMUeyCQzLmerLr0hKri5hQIznQ9EOMiD6ugYgSxsh0UpvHMW_AUGEiJiEc-upKbFTBZawTc_aYPISQMTw9z91kWRcCr2nEOWN-AF5x4km6R6a5wkcGNvI1r7ohSjVTdtgn2JAKnnuwBEA7Hsc-Xz_SUB1Rro6aPZnNZB5P1_8FYYtpBmew-snMJ6ifpymSeQ35yjQthx0NCv8AqhHlqYabYH99y57nUfnhvyxx930LgiqlDEvIQrLjO-djUEcvdJQDgH-GmbQR9uPNCpSfp9XkhDAYs8-3CDCKEWZnSZOY-hOJPsg3ouNDI4WZH5rauTClIA3XR_4ewBiAoH1plgLS37BjjakmTVKJCTpgpB94DMEe2qAVpdbqPa2J96mRi1llUKwEtCQb-AK2lPqGt5s0V9k6s9JzVlPszYhTA-gU6t_Pa2dpAOZeQWRwwSJqBahOySlmf6QSAZnuJqPZtX37UXUYQcqT-P-SLE1qVNDL8ydgyY2Wbk4h-DJKIbkBwbAFVTYwRQXIGXv8pgqPjGdwH1rb4j81wUiIbnlKd1ECfJiK4T8YqI1QwuOpZxEKElzF2w-INI_KeojjQe56FcXC95FkF3KgAmdGSwQR9aHX8d8ZcTwosA-SzGWzKnhtUpGQOpJptyilYTf7mOAkrcJxUP4hw95JxlcVBJAC_9CSXW3ySeENPHsTIYWdRQDBqUvwlFdIJmq_fPZCw43NFV7V1FplkfTjpMQ2SVez7DRYe-M7WeLbJ57Cr4AuLvm4HADet-FPAIpshUFhBkqc3tyvOGkjqyqIN9zpttmIzbeaIAT0R_SzXTJ1ZD3bm_jT4vs5JVw12JMCdx_r72Wgjd02uJWEwDEP0gq0JXZMDzZoyMsNkL4TnLOZ8Er1hz5-c9d8GO-HFJRrrvAqk7XyOjWyfKf2Z93cnloWQu4bZQAy3xHvbjqZOwFANg9wrf_f40BCZ-fcFhRY-PAWSOedJeCiN1SqoKvSEFa1Lq_k9BJbwmesJWeGWG7gyetGGgCG9swPmOPOCZEQ4Xad1_mXJ6_fwk4M6MeRkGeAMqhN_7WWZQcMubMvfW-Tx-R-RulfJXb5A-12rcD2p6teA8oVf78taeAS8akBPBlcIgPUJ5AxkwtBHGb8oiRcSC05IyFTkThs9UiA7u33-WhDoHIxd7iAbzb1HzIoTDLMUpgI9HdoNSY3qIyme-rSuVINH_O6MOrY8-a7GEIU6jAvVaPvF023a4uGEcVZKm3VhIYZcjhKIpog441lHG9nWmSeCser4em9fThJPiDkEBc84eUq94G0n2VKZO_vvLCEYvZ2XJtMdYKhrD3zxXuiR75RKrD3PuEBEdIeKpGIPXGKWfT1ZI9wu-T-injAu_8N5QfBXk7Ng_bKnDoxdBc4z-2BhWfol0fb7--taYyn8tO6G-PwaXbCAl7Jgb6D4wMzK0eHduJSh2Tf_11wtZKsTscqYZ2UKFd-qOptcJ_WWGQMiucwHa-ONCsfHK_GaWftGEuSstCzwEgp9ZXIqCcT-5XKYkqLiUg_POBPLFG5FjsVxjMhWwwJTKXH7V58kdyqfsjEBFpdXYQeeUw4ieez7Or0NBJleL1s9Lg6j7xeK0NmHnnCZf5NL_SjNrZ0EXiyOG9jGBqX6d1RiTZ7em9JZlXlXTtjrDj36Mnvjf3v9rRda2JC0Xnrwh3hRdP0WNNhvrqmthDSDXtZCUYPGT9a8cSBQ2dTkePek1yr_7IOj5lCTxfWiTPxNp9a7u46p10HHajZqLtqWRmX99iXpZQGNG4meQt7P8Hh21_vlYQ131-1Geuo-5SmWUYZlKo0_PKPtde8UsyJ5VGntnPo5yzpfNhgQobl2IcQtsP92QekJ1_e4DBI7wcQ17dXEo7TFQedLsEwOtW0MCLEnn959WI31emIxsrL0dk7qSA7KloQlZV23wfHJK0d_DvvduE7JQmn53W1NMtA20v0GbUL4VDtqbiSvz0geenA5qgphlBjQ4HkK93n5tCIZkvswO8GBjtsEvgb9f7ycaE7f3g5naCQCuiTp73Ezt_Roh3yL6lP5caO04uy4mDZaMYWD3d4WrckALGczqbGke9WXY5aQz7JhkmGbgXGK7WREaq5thtaPTilhIt8jVLxFdxNGXL5T1ZsTGSUDN0Vgyy9vH0ljJzVBYfll5dx5YMVIvrnWeiE-8DUWYGnvKSauFtwdne_bZet1c0XVXuSaa6E3VF1KysAPTSrPNUUuXHWiy6wl22yO6jEUOqVw0XbsgHeylYhSEFHt4k0o9G99TDTOtV9HVQJ6tGJ7sY6xSDE1E2dZbL4T61TrO1EM2HEUxZIPxx9QQrVsCL45LxhyUUuCtw0l4yk_EFIERktl9N8_aEr9kXRVujq4g23s5bDBMjWiJNgkPkAKxZ3F6eQQiRK6Cq_qNgskJRoGsMZSJUwdlyoG7pnOJiD2MjhaIi2xnVSwIg8b7kpeN4cHsSSxW8udpOTzkMyxYgSaKWD_4-PhxVWfu62TT1pq35Kn_926oZXfy-K7ROWp39_eP70SxugIz1AiQoyh4ZrWHrFx3sOBhwl6_YIbMhtl9Nkwnz59T9oo9IE44kL02fZq_RqD4_wG1QFiuqTGgCMfha8lTHzspw6KQacujawLkrgUEmSj9psVl64pXq2YByL5KtKAmGd9nbTlhFTVSd4-8bwd2trIgNM_3AtTbHtFmIAu5LtLeeyax5JFz2CXfXzKZqTQ_sFGYnu1HYClLeKeK5kOpIPjhjzOZYGzCp8jJnIoh9vDA0Fd2-DjEkzRvh2Ao4sjwyIr9tq9sO82n_slgpXWmh0pFZ0OrolG_JBwg3Uoc8s2Gc5-0UdG9Vt9ZiCgG8eUIkkUIeFZKAva0CezTqCBAtMeaTNQBvi68LVoYlScGhVp472p5m8aeA0OirxM5wJieuK6DMa3-2vcX7nNqczB1y53SgLWOBbt_iT1xhYigkDi-HKJpYjh2K7kz1RQxqSeQwqfNQkDDGhIyiZL33ZEgQ-EX1WLG1usV0xHrkDjsqiyLnjEVbKcfGN6tejRyBLVk4h9Cjap8_WHP6U7x_yjKKDB5zt4C7oUSM0-udLIrytCWKZah9zU0VirMgAY-_5FyHKEKemq4Fe5g_li8cm_3V1FL6Vqi7n1DOT-UNuFJ1e5s72xs3vQiSIEmfFjdV2_jSCZwQvgEMOXP-gT_duZUc6171Qo8DhtuUWYPKT-T19ytNva7NO8ey4e-_gZluNjppzc5Y3TYZhGirO8LhQB0P1yzXYNqGsrIiWPRU0Ut9iXwjxjwZxkGtGQ4Ij92H_33ZbtZrH_QwbZ8qia2MB4OuPhN2C9CPjYWED93Ej-rA8afy7p0_9dkQORaEX7ev4jmuxjh3FE4FlkYpl6G6tp4jNk1-E_S9Nt9i-ABcMvdru8uiRgp1NcetAlcIC5vSv8gnQpKBIhVyleNxVVZm4ICpKXJ0Dp0KEEMtphnCugAkPWtOoHfKd9KPr5tx2NWuBb6gdUxQ-Yz7Vm8W-e8DWsUWfvcJyxV_N-6cV4WI2iLXCdbBX4f-MLLCsYyjN3Cf_EtO_CcXH34jZdawE_muRuEIUzbZBZSmZZPgjPRg8SnLYEcWy4hKCezOQ7I3_KqJs3zvt2aT_hF_LsQmeREjOCCSBKaJGu0MA50_w0vfGWqvabdOEHw-4hKdA_Hvx02htdU-PJ8VlAi1EtGi23jonAetZDKaLL6LAQICClR_Tyx49E4PH08fayIA-Hy3yAoBnFH_Lwy5UbI-hlgYeHbpC6Cbl9Fk70KSVDzddlwXa5vvPxKjpBiifOLzxxOfaR7u4PO6fADYEq3C0_4oaM382iJcr-3q5lemUxsXQMF3cuKphmLZ4e7gCMiMytLvACM4eV2AJatCi59zGA2DyybyGiM9KGMNr2NvPeyOcjLwcq-YWHB0XWPkn9SjHahzjmmMPlsI9pm7Nd5_IP9OBV8hA7Cv5oZxlHUZCXENIcv5tV_AOKyahasy_BRBz0ZbVwUBJ2l_LHp4nl-U8p0-Gi7hJO_rksDrAFnfHARsyzpn9N0MYb_Ryv5hxDsIGyoUu33qbgh8_q0wbuA0N4_juZZN6NZIpcRj2OdgrbdS8wC-Zry5Fhixvho9n8K9dPFwZFTxfu7xPt8c5q0u32gNYOK8dHWZZmaWLVhDtalEr5ilVobnu4NPPQYdHAcdnF4Abwi9Agilq-ZXoqlw-5WFutM42njw-6qZzzy0ckrT0CMvkD2l0RjPod0SeIPLgP3yZmp3IeRZ6hhp3zTy5QvLWelb9rMHuMqMEcyTH0TtXeng4gJjMaUdmqhcDMhXMhzt3_y0YcKpxX1TG8khqZNXI0TFbF_0IOOL-43EF3Qmd-sLeafPHVuF4CgvvP-sDTC_g0Ydjg7j6kD4gSWuNi_tFSVUrRODcEk5cGEUED8BkYUFz1mYEK3mB4pCFsu4pJZxhPmkExNrCgrEO44yZgHp5Ym45JoRTGDDkQ21bmPYHb2QO6pMl9gWyv52e9CPzYHstT_ry7a_1-tL0__NwSsk_O5wIlTbIUKV53UC5RL4SFwcY5vYqpUPq9o3K-u9KPIhzlliqN53Sf7Mmu_BtGWpoDWSXoou7YGU9gzfZbZnsGE5caDZtyResFVJ6ZuAuRII3hA9Zq-mpS2wJ7iEGEGj00ED-cNT3-NKSGfSIHXvxzqHHRP4vXMRVp6xauWjcx-h8b7-QC11XH3jWRZmisfRdkgHGpSoI1sbKKOx8Ot6cANL5c7pGs7VsQQYuQyC7uHJFXsEfchLTCMM1YD0hVjCjWQ_vIkZP_xUNwO2tCbg-MVzlPrfQi9-o7sc3UJNnpIuccCDPYcbetftn2S0foyfRMUjSNFcA06t6pWxdYhwnciTBe4F9oR5PKbBlclMy0iluY-7wWD6GpHNGCO-Yc9Ytbi3wpJe4K3OPNYD2UJiOs57_5P3DdHGkuEW2s5wTrlwPkIQA3nYR30D50cGBD_Ih2xAi4Qa9wpROFRBEaR4pnLJFAEKYEJfkElv57mj3LWQUcmYMkYJpEMivztbrYra2-hJyj6ifsI60zxKjSvzra1YAJAsX74SUUj41HRpii9mN4LGZSD4Dz0wTxWSmmVXZl7ZknBg3dKfms3RwLKcwDRpyuV21XuGOlGu0oyG5DJ3P0SRhn46FwPN9a9ykx1xTwSNsgjHOiTFK4SCeTxs7apb75bQSlUTHD7eO1asKpL-GmdilJEZbo0jioAS4ib43PIMQ7mezyY20_n_DtlktQhad9ZKm-keDbCz6jiBj1bpiXfhV-dek6HDS2mSZtXb3fUyhBtRnvt3juSEvlv9cy3zOeSnzGQqH9mzar455LJZBpBFxg0zqhITP_Vd7xS-_t2-kWTCD9C1D6e5nE-q0wHpzFLKVtstezTu6wI9oRHlw_sTTEFa-0V93LxpPZD0OShldFR4qgZ1f46GI_5EOGVctJ37FshAW-0pGXBSuXS8Zx_WyYOFo1lkyjn-WdrgrF7G741kuxPA7FTQUTEi6CZDJkLyNXSBJc0Kw8zmIBYB7P13XTY3Wt8B_BBzpjgEOaHJwONCEUz1mCPFe_QTODgNXULbDBtgPmiD4c69k3Vwxabq3OksCjIKVRfCInqb1uc0PZM_YzzhvknK6VXucSvhHhbTPiPIVVjGzkWxwLw_dlPT19sJQXiiAOnBljTh2XW3jjwsYl_7quIGSC5sYExdYT8hdtVRMH1IfjB8m7s-8hufowFMUyyHlN1KLKYoql_loGYYLcPR5IVwMjbN1pBKt57PILr7OPzn9vn36BbbKZncykvqM7btZ8Nx6ZpEdj_qLplOkAWW12xxPkuND-mG98LWUiQ9AYn7S2994FdSw1ZyX6g4hkBCowY7Ksskv1NXuaWcy0WcwakHXP3bNhSs8NbxOQubVdHyDGoV2Cz4BrxlXMw5HUg8Jkbw4ecoseuqa3wePRpeUg0sxlFV0rX1dTk_2xI6wgmmWQz2nKrz5rHyZDXkyTq3GydbdEETl9NnfW_NCsrdfae0yrNWEChQycuh2pBBgFefUP1FMdX_n74apwZmFmGPfwgGb_40kKSGuYkEnkrcMwjDhWa1j8CBR93WoDIp1Hct8r3wJLEeUiSFgMzqTC-IVJ4MDbBgQ9BWeF2Q4dqKG_O-1qOYgXvB9oUdbpOKvWqfb2SOiUcLZW2kH-TFKPg0N1xqZ1nZ_a3K0pStFSL_4BYodDwfzhv4p7MHAaw4petHC4lrE9TVx4KL8zvIz-0fj21WtLibrDw5rZ2aRWczwsRnAhY1pibZ00UxII99V11IgfdUl4qR9nPWGL_g75nu6rxEUBZp4wYsUPYBJCj_cdlzbhpfumC3w_pLwfIQ3U4MSb54uEAZwbR3ljCrCx7C9Hi_9DcpzRVGz3j5U0kUMA4eGLukZ2FJPZ-_v8HzdzUGf6bhisKiKVAFlaIab3uMCYY3zT_eIPSePeyGAUZ1H_G6CqQTbhqLGbrZpxHGRb3Wnsbt6hXPwtSExLAiH7yxqPqqowU240A6HWVC9SCjog5Dv-91KvKLixX_glyntx8CMDCslM7wM3r574a_OW7a6PYLYhcfShTI5CAau0IXrEg7cboiv-XdbZin1nET6Ewuf8HJpYbfYXoIKvTeecq1svScHdbvYxZtVyXTOPa-wl5kQtDqy_XAS9W3xfp9PwZ4kBDJFI-_ZO7WgEe143SUWYSprNiXVuB6ObbwxjSHhUtoWnTuKTYgCQmh3le2NgX_2BZ2xvvTY89ZvWg5dKfjEPo2sDiLERzVUCQwVFcQ5xZuFIxigPZ8lWNt3ap1QJrroq_XbAsXZv11aXeKzrSYC-yNUy1s3NdlTgkdxsJ0uNOGmYenZzaL2ZnaN0v13XgFmiC5jS5EdS0fxae8QbUidyWY9QAlCZVCeWW_W8-QS7jjSqG9_Av-4lJPpFpP5tS39EpiCeP6snH6nWU511QsFgz2IZlVKCC2nGh1174QF0FIsHQ664zyhbjSvuO3vnDgU7E825CixUM0wUjSDE-L_j3mQSK_0mkE1VjmWV-Vtkk1jd7quvoXgG1-ly_-4a2sOZXraZ6lkJrMkxgEztWkFMTNAnLnxWH0RDji0XB1cJqW5hWTLvN3GtsTwrlfT99rCrk1vm-yrpemLJdCamnqno5tInPn_jDiXU-6v6RNSxpa044nOLU44Leiu5z-7IkfzL4t27DbhLJz47l47rHWB4PQMZHIGjjgYNnoYJrvPVLss7AevWHHcdE5VaSGCDc4FLcCieo9vyz5OMLxRdPM2gqzx8DN_B8nDayVUGLFi1Q2IHBiEhhmjH_3btsLw6BD_wcUYjTKHPNbCK2rYjPSfQY-ttWaNCZoSzmX63ferFUPlIdzwe72meUPwk24hJxTtPO38eBAmzx9-o55HYMz0RlntTXRqDwcbNN_iQEtYIaXT3zeYQgNeITUEGp22GMbBZDVuHY80EYi8Mdf1ixxOunP-HGwwh_tv3MhY8GcsIADK5E5uzIKiEHrtc8edc9aijSji1WXixgtV1dYtLMK66GpiXFjxgXpOZ4MJ3Gz0Nu3CNiZVGeugye6CKuX0bZes6on9sUHX81Wz1jbPyYTfdLLCcSX8etOfwYxE3MelgBquwqbXOMJ7cxfngsbI3wRZtUzvzw65LaOl3unhakKaO8ae5NHe9on43Gh1BHP3a9au57uFSbLLhF5sh1W0rSwGD0ajupURXUa3YsBPXx1WvfEMjsytVudIv0yKZPjbu8-XQNnT5kuA_Dx5wUgZZOFhZ-wb7hAvbKTBrUqb7FvRw7H_cMfefBiZXQcWOs3o0zi5WtSd9lG-HYBTpr_Tcq-wEB1-lMJZxdtMZ7IxW4zHFwbGoTajqUpxubVfFjtXLog0mo49KpjYZUVIQ0_TAPRXPSX0_YHsmH_BmJsgx78suU7Rf71Ys53NOW7kxE07r8o8kB1xRYXmZK9sUt12-dWD7mPU53xGgLEeMtvh0yLQ3uwVbTz8tFtUAHjWIIjraRlyhfyAY-1h7UL9OLKzBf0UIGtjLiqyyfm63jUxVKjqBaKXXezjR1lXLoGU1PzYuwlPwE-XrWqM9Y_WSlWGtELc5ijoXRHmLxMAqee1WA7zif1vfTetPacIH4dk-7WIQtlXJXZ65pI0eUXpY-29FRAIFYiI08gvWrz93rdY_YbbVsrM8Ghbv4YKqR4sCnotacE7iFvf6J4ILKp8oMOpNcs0qISvGoi6aBVwGgCjrMHzMc6SWFOj1phJrlXYUsckaDr16sgs4vcR9cqIPqOIkv-HRHsKXnRGMQsAbWTMw4NYdk4slxV02xqweQTRe10kjwC3CDNCqCTiFHNXFFVsqn4fPD39lZVfLivJTtOW-hI0MXH7zN3n_jc4msC_MS6gs2iq5lA9eiHgPbQnwKNcZlXqtqZ3iQoWcd9FKdyk5Mq9ZSbK5hTL1d_don484S_ZZ5hV60YhU7281iJ_CMtBtV-d7O5xtvgtGHUOcZAJuF8G4OZ-t3dzEzWufv-GeltjWGRAJddrOurrm9yiCDUCERfX_j2gu_Pu0kkrTjJ_VamJMFbGUYgQ5Vtnfe4DcKzwhHuxlO_Tv6itUCUYLoUkacJJEiaMameZ4hYBheS_fWRaXooQMUqMp56Q1CF2YHgl0X3f3tT7dG8xdIckoaOINIxcVPXacr9aUBL1HCh5CCEVLMwGNatd5RCVUCpsG3cq0IwBaMHFRNsjlFk10nQIv4R_8oyWo01heG42R5S5f1hcYKhWakoQcqNPtQed2NyffN7RtiCYBY-HiUz7893TI9ACp2lEuJwWKH4fbWhj8BOIn22BoigwCD4LwaJviANNl0FvbjZ9YTLWQQ56vBg8o_S-npit_63cqCiV8JReQeYq0ekmSwLeNJOuWsYdQCrEibiJiQEqB9sDpaTFHaS0wI6dIEF8d_tcuo4sNVr6kNfOJsZS_CcRiKVpco9rzw2SAu38dfOenNZRJSQ5M1p1p5TYW2prdoT3LASdKoXcqEp1fFn8rd9CzBAD4yonbXe1muiTvDMC8Y42tPPV7bLS8XthQfdZKo_WrUd6t2GXBhFYnaxt3fsgOL35z-V7r15b_sEa3bCRLoZ3uq2Vg8QzCkpDynH1juuXnJ3Tch-_rwiY7fruiAR02bhxvGetD78fglNq-gRLhhpTdIshvoY_wEgfa9W7XJ7oKK-v9-VUjQzel6oa8tmvCSbAwojwB1gzrpRIYgI7iyFKLwdIy6gPEtYrfIyshwqHTI-5uDvNlzFRjH-nlfXtA9EPIMI6oPscNBF91IAdcdY1fWyCCmKVQPkkxDC7AXuVuPoTayqc9FhW2mjeq-kObBg1ik-3bIPCam8C_cF_mQBuqLwXItGdy2uSIqz85d6Yws6TLZxfn0scS_QILhAI-URVSqrQbUmrBal6DdzttBAVnvxtc7sviAXgbcmSrHm5I_MQsH82E7Q_P9d0Wgwfk6qgl_vIkHoI4-3VSHvVZc_YXTvsc9atMWUt2jYBhY80Q1WdRCV1G_y53cJ_FGN8PE9Wo3Wes8MOHAhqR6iPG4K8EQk7syHcOMjrPOdFVQtqe_qneitONBkPsqqlSekRqlU3w1Aqv3601mQH5Mq2m1ytUH-QvFnVNu5AWR9J8nkZC2nRho6P5VSgzjQesTX7AgEk3VZT9D38hirs04RkZ2FobafgiI2Toy3s7qA5k2qL45oA3oGaY3WGG8G1xHnI1WPC2quKWWM9DXwUVrLj98qvfqyRHWKAAV3A1JpoGCtyxsjBgeLufTWHqIYWPHOTqZ-31aJZwA50FnjHQcC-ifqMzGt9hXYmktPy1m5C_k_9GCwWTTyhrhZUBxbiPvSfzzFvCHmRcFbB-5z0zweRmQJ-Op2Ch3a5IrhWbhGnBy27ZBZNkXPYNt5skEggaYetBxv3tjm9SpAptqfu5AtwvGFcUUvfrpLJYY7l2SQhNSIuXW5pDwpgjomkFHTedHxm5h4QpwSENeOneEuz2-H3a7ZOvI9SkKOxw5uRqAYVDK1NhoCmOENoZefDkH_3iCdHCJKoixheLgT0tO2ZNTXlxObL3boKxiDPoBlZJLAjW5APmQR4pxINQxm6HaUEhhk5C7JM7vtslzoo1PzjR94ZmeoSpW674AK0NRlCyr4Pk-qFpKd6mUU3FteIQNBwY2Y4f6s3rpQI6mAcjpYkIAmRk21xQ_OX-JzXUVgjpNaXtdH3xQpiUMcRvaPLTCPbB4Qxaw8SpwZPnD49W9b310zcK_0xJHP-aVQKzYrSRtDeGtztC7N-na7xI19niHts5WYm72tr75P0A61qaTvWvv_eTLU7CW5TJrX8nTh2kDu8cmQ8RO-jUczAGsh2G7C-hYvF0CsUXd5j3xBvFYUlPqxByRC8aTL-EVb0FUPlVT5KsEU-J1E4H6CUpK22zBrELKKjGUeM5Onyqj7pdNvkWvmziGw7hnZP8sHBlMkgqHxI7h4OorPUhnSPh_uy_mISjtHDVOVddrFGZum2NIXFTrPTkp9g5zKpsKeWtKzgd6bw_ZHVpy8ZdiJMlDfw76O7MSy4gSHzLFR_HAF7bVNfea9pGYCFE2YQaNXzGdgSbZYPso7AS3O6wgcbxsTji6IQFNfhj6kajYdW3IpYNI_0ugRE3O1OOTL0qjq10DKxqUfq-R9kEyyM8stpDUk-fptHzdDeX2zCU6BHMYpF0gfQn5763aQNF9LqjM7-7TDj8TqYyezanZLSUsu4TzutqQwYcmVoVGYn2i8W7OEUhJnwS3634UrW0_Sx6drLI66tFxkz81BMzSwtsdWX3_q3Lqm7QSBp9xtBr-mCceMytEUCd-oqjFAP-pIrNJQ_T2JzuqE3GehXQcIXQkmy4miFBdyoZglIFg8l-1ugUPdaRjmXZLfmpy5n1dVfipalP8PuZTcN_u-lQTA3PXdIQ6YISVIeXZZALM-hgoZRh2168XiOtxfGBR1BCRMhAIJQLQOxYSxyjG0N7xwoRTQuWyoeyb5hDtwudX8vzXZt3Rz6_WM3eGOWpVqpI6dx4aKe9Y7Y540YjKuWJm6xllRz6xi68JWYhqhcOuzpH41nOF4fYTegDk3kZYQ0-P9oOBg2faA0z-j5q4cKE7LcBBEFrm1KwfKp5b592TRCZ9wN927D1hqHSWy2RA2ALO4HFGoLZJLHOFxAXX5oH89TfiQCNKHWLNdVu9CiPong_JzObuYIhSBE3szPikKTztfhnhTq54esvhcWkHK31-2xJ5SaWOMzngBA91QX7wWteDk9fYfYI3k14beJMN-Onvt8PeL3wg0amWL1JiLiRjfUviytiJNHEDHnCvPzFBANeoYoUCOv0ZDHYhHeWCkDMQR9pf5hGZb3Gzfx6p33-aoRFU-tHL1EQN5CF66JgdISOtPUuGrhl_rBO4773Rn6EPaer8Lx5kBF41Z9wzJeH7t8cbxTBUChSwvwio-ocGD3eeGSKWp5_YubaaUhcPhIRk1BV9FhUUIna6SLSG5SheAmbQmbb3OmCAWryQG6F7lb827Sg0YRjYvPY9KRrJL2p2F8sbmas-NZ_sOp5w6mgdufDcd5hqL2kAkdvEwU2NvqFffRYUT3RZEhZ2iv9lwuLgqLntG0IjhceQ_5UjvH0fdbwdbixdXoCxglQz6FKm5oJjfKAXbPcChrJTZ30XwsZsATpWR9Z_yYCJrqwT9Rb08dz4-QC6ajx5BMycR0IuvfWWTVClNUKcUM9cOFCG0dOeWDsbX3PcNNfbyi3H2ayDgpX2YBT-8gjEz79pbOOLR4VJAGQXw28kwF2nVpHYZRoWBVSZVs749gzZl6ZUE9Gww1G-03LQPrcxcDSSUY_t-AysBLcI4ITQMD6XUZuoI93V3Af_YmxXUNVoS9Dx2Wr3HAcODIEGzjjNJSurpI1H0-gEZ1MaQypYjTqiwL8u3DdN2ADcSakrQK1rCQhlkLL7kMRUEHSJUA85nbLpXuOjgJkO6p8oc-dV8vaHXmJkABWWdy_6JRZqrneifqYluYIizdkba-7LZe7R9upyS1GqbA-UYw-K4kawh-w0epBYhmKNugB1YE5M11pRc8G6CSOeeElFfpIrrrMNl0ii0Y667DRGWNcKNbi0VZY8IEkyGokhNmEikttf2TVmuvPtTz8kgRKFM90p0cfIic1oBNHdxjMWiGmnBnBgyVB0nlCBbg_3BKRPCpHXxyKnDQpXOKzwQ4Da0kEy_YWDij4e24Uug8MAaasfCGh6w1jUmBA-9Py70rARMpUlX-55OZijc34wWlpLBDYyjTRknTnyvj093XLiPvp7359Oa1Nd0xASlGbTUpTsYrk4TdTUIb07qIhFEyCkj6ASPBXNzyzkEZJamSQ_RdaO_QYBXMjBJdT4hHrFZ0mr0diFW3plOOXyullLey0noCFw8MWzvLJujcICF9s61HBt_ADyxx3BKvEkkf9nvcAHi25mN6KHcuN7ThuxZJepjYW69bfhOZaRpr0CePL1DHoEB-UGO3Ysbg7UOEz9l570rtl9fBerDO8PpfxgJdTHcukJtGjXKZrlesM4N_dF93eGWrXMxR_-qC_cLm5Qs0AlNTtE-7an-3c1kuUW5773RQ0P8QKfzVmwux62N9XiwcaZRAWLpFvlJ-TMdnITljkwEBynLfAOwhkiPQ1ocQ4bq4Nffc0kZ1QRQHqJaIbp6WYuLm9XYwE-GrktVyn_kXp8Av1C2KAhiEFOlVnYOKUbiZ3RbM7Z1Nez_sEoOSbNnVTT1mcLvnQDxduBa-ZP32QZ7cSEd97QBTJcV_T86bRHBNh76El4m_LHBqhP3f4zc8gDfAvu1p7yvi1wXc2KVy1AN9O5x4hRFWMr2qlWsnx9BR7xKMJJhoBTjSJmIjvWl7yW3jI0ogtWdQSLMcPcbiTCIhcG5RyqniQ-HCsQHhcw5a_vFttA9D61JCI0O0I4xQcBW5Mo7aFsIBz2HJhwLePBQlwlcr8_hK7V5f0BX9jreZ4XDFav9pV800ZZrlOK6VZ4sgBtZIZ5dSpPwx3mH-6JYQex15pyKNlRUyi2WFiKSIbagjRGHhxkIX_zm0dN6UP_OSWV9OA8mZGQm75WRJZ43mRV0faqWrtDAKXm_jgc5w-vgQ6g3BP7dCtj5z2bqdSxks9zLj9LaHwwLj0ISF-khhPjpnD__n9W9r5BeppB2E1wb06YrBzegyu0u6RShFj7L2XQurHd4g09VXhuWoJ-VAZMsV0skRC8UfAhNgvJIKT64rqDIALQPTv-5K0vgbqpBKptH7IalB6730-APcrjGS_9NdXKcZVRPga31NOPYrlmNIF4M2qj3ejvUtpX7tJEyVLhyrS7HidOBH4k4B2RXhA4lc3oTM2wHkX6RGeYqS0ise8pP4b-KZ6iiSPqFYA-eCVw9WcTHPSuMJ8NzTN5MEUpTXns6d96bzREi75IP8bqEKiMcKODwd1Y3dz_-ZeGy2V-jYi3ekOKhE9mCZGSWYwjgec2L995rff4Y8hrHSYiGOAIBsDXkdX5-1gJOt98UEsj4S1OArXXXHkImFdEbdiRrhlqrB6DFwqQFuWFeeQsS_FriDCAGcmg0wpaq6UmQ2TJiLTXeHhNjKjq2euKaQwd7BWtPwGXWxyhlQ-hwH3MQ_4A6f7g42egopKL8IspLC_KhD-gbu3axV4CTSkzpc7Ilmx7VFbdPYWogiqRJyMQ-h1sYkvnq9fGAexpf7BKtn3RyolWw4wzTur6P6QfNrma5NwuHa5rcaUAAIIklDorAi955vKVrxNP-bmhpB2mqhGDQ6zUCTAFSRVakAAAmqX5VZiQGvqjsQdjNKzwsXL8cizTOmejLsWJUqoUVh6iV5J7DkfYX0R-gp5d5azLL5s4QNHZeuNbcZbaRhA5PZWume0WbuNlhECrLHCRU-mVINh7fGHcy5vry0605N4sPsXHw2yQbvOoRlpPTs-Ra1rqj-UG04P2LXdLCXAw4fzWAuLYrQC8K2OzJlu9tKn32As3jkZYn_au9ozvkm4lZSq5TX3pHC4dHwerxWrfENA_0WOQHkqknf7MFWIa1XebgK42KeHE1oz6nlSr_FENh8-IPfft8zck-NruLf52QCjmHGfiF-FEPMBWINOeDNC-vPI3q2S6YG_x4jrxVNbxnuAzzvJWw7dPgwCHk4eHYunPrpcW3ZFbtfcXdnD6Bdzr1fU3S8tSyxLbpXECwYMPWlldnkDfTqIypaBYp0_0ShYb4SUs92Ui8gKZ7yUkv8Uj5aZLx_9w7dqzTEqfrlzE6z3bQ2w4b0XBmhzF6jt6l3eM9agD6ZliDFNXv9koZOp8GlEX-_7kAxCZzT9Emxvg1dQ0LnCOgayMgSXVesPberXF0iPn9RHCrBGP4lsrabf5feGVpsSE9zT2e_3NKv6wcVmZH0GDw02JbuyCpntUB__UHolQGLD1zHgse2AiHAp8XFLH9TWDHDGWTSJTj0ZxYoyU-I5vcclKpGEz8NzxkzIArNnzUBQZhUG9Eg5rmbSuUz1JQX8P5OvcQje9eMJG4EsxFfaMC47mnzmmIQW8UcQTmyhjpex6HELMp09ah3HnKlkLk-pW7SaRTnALwbvwZhKciauTUC9hrpeX_XJSZECOn0SEgzrGylHjCpD7a3ILJwspFchDBo9KiJCmNcn3WPQ5S68CSlqnnJvTm12RcnZ432Y-CqfAwAUOgrQ7mpzpRq5pRs36l1MrpFpgDTA7yNxv1bm25e3tSEW0dbVnbFi1jZ-z-hAk1OKlsDvjv-Cocu2MEZLH5Rg-dbEvbhhoVP5GfcRVPPD0bPTeirLriR0rEgIQHgWh9EQQtM68FavrwzHyghrCVUFLXY1Rmt6eiAf_6tamg65AJxRhpUZivQM-fxvfENfu84SedfB-O3wIlH-2IJ58eoItyzFMIvghY3P7HGPNGgUKJppU9OyRbMibnusQ-px_oRRAGiXfmbQFX-jFimhCzU11xErrho_BDgLrrsmgfkf5hPoGYPIvSbrwShC46rbFOqxzovtjraT2JpN9fRQ31FLLc_qHpmU8_yy3YRhyKPJPugwNjf_34XEEJ5P4IRyMXN4wL_3UVGQRVRh1lfCUATf9M4hhNvsRy90P4f0Rc34oeNXTC1OXGeeXP3PLaWTvnLhIpM3YfyJh1H3Wkp4qEATeNVs8qWS5iNJ3uwgJoIegkq4GkWeXjQn9AOsMqbmmCQg-y8f6Yu2FlD6sHPobQSxrzOJ4loMWSCjXxN_WV6U5fAptfHeLijlFQlreZ9HICkHgHnsTNY7BWex58srYigkmcG4pH42VItfbLqlp7K2CE6PtYHskw9xQo_czZDu9aF8qLpJPmiAeoYI4NDH47kqScHLYXGVbIlTl0TL8SxFj02f8kyKB-OgSHwAQGREJDcpMWW3kxrDb7ebokFJA_WF7KS3kVVPxFMx6cSEP9fgqnmE8UzXRx3z6ON6MdvGmfbBwlbJHnA3MkaWgsryBNbgPAaNWIyqeDzXjxDJh22nBQa-qXARvPCi9_jW3u-CCgQRZM8M-GV1XI9T3hI2ShGm3r-mR6h4xLJsX0rvgm7s_V2S62-R4DfjXeef1_5UG_OUDgIdF1mMI1V-CT1B7LjAnII6GFguNu1RChHQDTzEoqGg_t05s0laY9LT3lJ_wTppcNLHqgywaJj0dQUXIyfEV-u8N3jwXYGA9g5KC7MxvXRjoV_4Ey-mEa88hz3rfrZT6H8YFsVjg6nDiAEoaEo8Y7sslB_No4VxEaECoRwW-csQ9wQML_AmrmgSBdNyB2MYydP7wRm3q_uBWaejReDUfXZdKGQiZPUczQOAOZqfs_3ccmNV4CqE4XLs24tbq-oBzclfx1fZklg_LMODwwtqBPHHPn_BBWGEizXVqkXyc5unut-YC8Yl-N3dGciL1KxA6QnOK1_Grx_8oU1CMKPsjUXu3Nmouls5Q24cXX6hwnk6D60WRRrGCJD6sl5JiISC5aG6S4xRcoh09aH6BU-w3JALWOrNbPalSJctEj2mM5pBFXmBFGAjtUmpQ7YQzPfJ059oDp-qaNhS-vyznCUKlq4wbHCaR5gjcAQuaY_IFhjDE90SbOTIIwc7f9z4Gwp6H5tmpWVaNnM8uP70uYaUr5qrY6SnHAoynBe8ivcyUUsJhDKKwYQbcA3QiP2BNBapjBBfqL0Vp5CsVfH5gVP4LYdIrFIFXtVqX-seqG1JEEqOrmMbmbaek9QB2WuxjytpnIcbRQQtX0Ty3uW81B9pfVGZTkhxDHKpw214rvuNlzXZ9PIpy9IA14rnV7eh2SJxnQKg-EsDMXOXTeqK4uvUWzPUS3-XmfW8UrVvYxYtFfhOO7SSVY0xXhODOls0hX77H5eu6mnDVjTKDmco2SNkMjQs6F4wZae1UVPFiac_IosjdPgJ4Q3n8-3vPAH7SzU4MkGF6VbSvLa5yi4uWWpZskVWFMEjGWnL3_YRdbjQo1zKtFsMMFDAj1_jMzG7ivIGVCZQay3sh_EX67q4Y6D_u3GIwlSYYv-F3Qtfzcnpu3r7G3lqny9n9P7geYdkPYNSj7MC94YFH1IzpLILpraMLOLqw-D8kCkUW6N_gR2H30CnFcu_Jp084V8343RpjPwxCJuAgQ0lk6tICuxaeQY30_0zdr8q6lYlYjaLgLscfdzag77nhhPRSrKeyZ-jwr-o1ZkVCuwVjxZt6Psfm397zh8Jk4-3q3arwBFwreER3xLzK7Y3nYDEiFhitHoYW7Qc9L6AKTSkuZXuk1g6C-MVtTkvIDqRVtVV44SiLPRRPfL7cmvOTr1-TIcMKosIA_07bYSrRYQS6-O59PAXkGdhTcaRk61mKh0_f0NQTNFVYRA6whs0sN6-lQaXmJT1GugjKf783PhjhNQg9asQlWsZ32Rz1HA6ZAfF_rbB2moYfLl13HhNe-rCV1upr175Tka2ZJhb_nhq-4ngDfmgqdAEmbyvJIeHUIzUvKME-Ja14vvk1ObotO09bfDGwhtD7Fpg56CdOu4jIyerMr7svOk0UfCybfJpjUngGUIpe0_OCZMTGoKs8UGa89e4LrYpzG-nrHV51DyukznoqZbPJa-NOm32mflcNUBOdr8BlrCkpDluMoXe_O4nXO6X69UoOrILPUiCJ2t5RXBkjY1LaFsOqbcXtC5M3KmSs80a8q5CcwZ42ysoiCZ9DRi8-BYTbVhsu51WQm8gbbBHRQP3wDAB5ib7OHT-0m3wFYY9HHoI8k3jLJ6h27zbBvbebzr2WRk1UHP8o6bXs8JTNYD6uD57UX5DGCbieRTNaz253YU0u8jWoYcjokoPTqnCRccW-Jow6qJd5Y5_cg8jjuiV5KGyDJfOQ-tuY2SMk9gE0NGY2j7pfymG1n1YRkEoInXvts0kVGmIYKL4Oq4TwnBgBoXPWxQTqcPahEjBSJUvLyxLDfPoESLX9I6tzBlybcxSFaqtMN7Gq8Bc0gU75c3OSUkM45ojO2PMvpZ6gru03gH_D3ZARVKRNYjL7J7H5RPgMEmf1VPk3BxM3EBuvQJgXNSlU9v_D1r2KHdhgUGmO5gsFLwRuGUIF96zmznewO6pVxz8_mKPvXI_KS5vfWn32SeuwbbfWmdCisg2SjgHRfEJFqrhiEs5PzthmEWsHYrXFElC065K-FyRZG_UxEpn2gBmxzSIlq-Iy4r7HzrmxkWw3WBmT6882qBA5Pc-PSb4ykfKwDNCZa6bNo-JM8i92GD8hiv-BkKYBVD04ad7Abuh_5614JGRR4DY95LAUVvsd-Ruq9OHc6gIIhOs5t4GNEX4x-Fj8Ri4sMXjMYm2gsScZKGX7g3MXANx-cc7-86Z_Xsxr9QiFQtFS41UXnGExtXPePmgjKrLg2nn1FTg9hEcKgrXZoQ7lRoKdOAC9TcwUOWN5NdiQR7n8bgNmclFfOgGmI6OPOHpcr8wRv9fK5Q29_IBAWC0AiFeAD5Ds1sWmrI2TZUxV5YtXjEm0AP6ezPIRvUacRSMZ-mxXiEk04Q_sjstuAgYXAQmQ8bDp-_wonj6FkdMLQSj898FxlWTPWl4u3N6yY2ey99uIep95svW3kLaOe27dulXUhVa33j6tZaDEkJbUpKiCX7Dwv0fisFZtckOSI2X7mPa8ytUtyAQ4s48cBB1ruuEI3XFnypFGH1N9J7C126599bdnuINVnTGTiOe7ebDChqCEhnO_aW8UfAbrgjcl3As2OMA5UXeVWLDU4ktAc5whEkYrlWsA9pS-J5xUUOWCP_lEf-lIwsmgWlUq0lMQkKB2eP-i9IFkx-y-7Vozjty8HWNG-EnPlXiOzNzl4Ha13Oj3B2Az627HjrnYT1hWvgpY-FEfFyPM9FvfjkqPtyKZRbSMiQ3Z-48yFUShCY2GUwY8etn69YSwmJ4F3yfyg-K6EH5S4r5S26TSMzlCjPMchzRa2Jp7SiuaRh8seN_nJ4rJZlfnOpLFWODdp1PfxOlXeQYbLiCSru45mPVquXuBLwBfrwJahHOZn_lfGdJiEGTTDDZM00_D6XmrnVXrw7-UvYomrjeVLHq_jpYcMLrDt8HnOI38wmEDqlYuJt07OdoSpW_knu3xmsUDjIUD8-U1-31NcMSY_to_hxSxhE-68KjBCQ0CNTtgGzdbfPNH4qIMahhsfPGTyAMv4fBcM_E2i3jGXFvtRmA2BP7N7rnuGYNP9khUkc5i-dOvtwVhArFivuQPSqGBAL17DM4j-qziAgHk1oX_oqZXvM5NYakxaX-muUKtQI97mhr_cQhZ8bV4gpjR3ygmawpDMumTiTFXEN8agP2v3oBM7OttrlyvAznpxmkMa5zglGziaMNPKeK8ifxWOK0eaDQIAiOQ52plzMClZJuBJnphV_mB7mf8g2qynHzz1K_zgoh_Pt3EzJbGc1roPLR44MKbfNMtIawPNL8sJW1DG9gyI4G2QDvQIWQdO_XFbiqPUb6CQLkiYyzxYKqWE7Y1oXXRZOknn9NAQ-Q3ffpLi-rQtlavWUD5pE-0lh-cH69mtKPSseVGx6q3Fv3XA5nGEba3F4UXUEI-nrYoqiATUPnHF4Gd7vLeNVPtEnJBPITaI4A15z7xfc6jVMjKG5CyZWsDA-Up02PVZwoJyuRHImHY2fVzj4xUnB8GUatfoSq27OLEU8-LiPNIaT5ZB0INMPJ33IOUC96eKVnmcbltba3ohzBrkBhj4YXy4ul32IDmzXkTMQYjqFhE_e8LGfvbYDLtrJ_Zef5uKouccH2Q3zQedrvvuUONvAmu_UY7g8Z4NRBp_8MUtwV8VnRRLhA9Par7JWxU0W_GRerQDJyykaKcf9h9mptIYCB5vDbHQ3kHhBwkIsQc4Reg8yJYLK7Op8MidsFO9GsHMZvrC0HQP55EJ1d2lX_PoG7G3HPrOBVwXsqgfATTTDkPp_4xizewIbCQQJQ00KaXxkMtaqRactJOB0rUxE_4HDiXraim62Y3pTrm6ZRiVKXpSvgsapyiRUYi54jrh2Tt8yttfcnWkiCRzh2pFU6iX6AMJZkbFuJdVm297tr4fyKb61q48rcAgkOrsRqjGkYAQeuZiyjQJuz0j4oj9PfBSavE_34Kv8USTS6kvlkUN4lY5qcb1-U1yKqX1N6OJWPJDAus1PgONpyUcvpto_hNQ5fExWfP03zFQzAhPuQI_YpzrNP2Zwv7HZaYDcLaKSSQxaUNUESLy-8TDnFZuhUgMDbND73tGS5mS-sgiO_ry1z9ndNqY_vJMzvj6QfS7RhY53Aamoz4bziuXHHYKYz1Ms1x8K-2v-CDAyvVhILKbXFHBqj6E1mLJSVXxaI5LVFXxIOsbOiia5cdbPoayTIXpKoIl66Esl8oHMXSj9d7hhl4xJUY_TX1gfXr9VkRRy4sDMpXjx_fWjyCTKAFLOnIBkydHakpX3Du9_G0ZbhOJviO_IPHdp_JVgBJK6TN2AME0tD0bg4A_O5huL7j2hiVqX9Z4nMUnNQq5D1wG3iUPM_nZAvgyX9-EykMOdtuPvGbYBZ_ux9iTMksMDUGn98uGOWItUuK2qAYELyRrAuPgm0OWeHjTZ2b97Y2mNRknwXPjsCprppyr1Oxh6CXTJfdnfvvRaHIUeNSvP4WLJyl0UtcO03in_wr66TZ80gRCy30e_zjnWIoTdH0mAH-P9kNv86NYw8iP7rZFBsY4h9l_ChEIumnZCj7Wz-7S1fhljqPLVJG6V7ZSeIC2KiQ_0Ir6Fw3Kf6TFd27yJBIrmQwiJ7eSyUcV5kU59dDPR01D1EURrz6ZhvCuhMqM0o7A1Qib4o58eExyBOZ0BZKjIA-T9Jm98HGUW809NrlV-eCZCWPGFek9I4q7b9bGuAyGYXf9lHUgUXnENoRo-elkL6qFNSndg-hQYoeUS3xJvfTiVYHHfaTd99VjeiQoBDNuG84wAVRQFKpLaAKVmaiwPAY9veOHXTHh8s3PAQX7rom1uY7UmDfAtn_wHbu1zCIVTgIFz8kpDydEh6xTvsrLQsVPpWwTuBp219zZKsHO5WWfkHxw-mE5qxlS3bTzqucRTbH20Sbvivn7REqF-xNltI0MB9q_MP1EmJoNM8SJ3dCAnCUyUnqXq4igkrzExFWvF3-FfVSy40m42LceSr_R7jlOSHBsaIlnYOZIS1q69itLHAn7i9strBP0U2d9uOsm6jsbqXv-Lj0VwNj8dlGj0ZIiAy2QcY8NMQLWCOXGbzXwczspWBxEgNgAPldPiV1W-rQsvsdLaUl5RTf43wIH2zpLrgjL4EFSs9fs0AM5g3ET2g_jhL09SvgCKkbRW1h37id-MsULeyMCMQu1rJISiGFTbgOoimnYA5OIR885QZrRM-K_-RbXN7qWmCefJOKw38lyCUrevtEDhA2f7FovvBK2Ro3d1CyNIsXPT1Zv7_sjDHpmIWDbn67sorhVNoKYxMcVeu4YR_4U-Le2kvqJO3YyHhuKNKSuQRvt5wSf521yAhQIIkrl5_GR0Q_Q1qdqZ-0S7_sPuMHBK5ycNiTjf3qkC2MY6SyS6C6svfgX0v1UvdXnVdIqlzZ5Jcrnf6eQZBl_AIumBPdJRMkeFpU2ipN_pcjHODrPGai68fCGhNwKA1ALmNvD334dabeizkCOVv8S4eF3mDiPOYKoj0ctm8fxTVsQZK8LzXp_F18S8zdhvlpEqjtqhzPfhFsmC-RCA2J5g5vwF7eTH59gpiwEUirgD5MkEIkWLBUYPgx8byCOYiuPhLH6mbRI_NuTxorfQfQzw_DZ-2tE4I2BLNJsgGjD7BtBAoEk9a4yZQ2id5FMnM3WGb4tPebGivhgc87hosctW2i3p3bzyOgelf3Njy4HCAxo_1lfOGqTRKRpb2nKZRWJ-EBk2IFrEqhXxz3VgnXTFA9HmPp5_EqWT5RbdWotP8_VFCFXyeLLUK3SfeAb2CNpEKwfNTM26ATKjaTF7sOp9nr_bL_AZ0S2OdVafWCUdRS7mz9juiY1Ama3udRBrx6cKIW9abHVfmdPsthqQ8JAYqEmW6eAmAmHi3iqjjp7AxdcP-pH-ztPSsqgTkqTWw1o3ahyxeG0PuEAhmB3yvtBqQKDEqNcezr7obe9jgYCSG5LnCkuO_9RnADnj3_tS0CuX_wZCrlSf5_oKNobtvkwv1Zar8lXQidrHs6go4aqWi0IuXgsTSnKKBxy2SytqMmRdNmNzIs5d7u9KT11jCMXXtHBQUcGO7pBmlhZPCm-DXFFlPfhFhqkc64VbDJXDldjy0u9U2NAGr0FD_6t-4Q506AYVNLlnzlDc6fHFh2487a0EF3XZCfdgRK9B1NMnJTgO_FTXiYIel70gjHpJOHYkund-Bo79uqgJaIgS6FSv-ORQS4S5KxvDjOi-jsGQdpBJY82dK2zioZEmMMLu4qnY1WBovtB4P-daYhfiYbPMY6oNCJLxTvZT5WMgLSYPC8H-SLt15q5AKGESOWcTPR_DEAZRSzcm9qzoU6pG1VZgaSiZTT2URYbJvpGJdrWVb_P7MWLZkWzYAjeMqIiaM1vnSURRUp8TJauxsMx9hyvs8I_ZObXKmqID4F1uI-HCNxvV2GG4lG9k9C2hIbwvWwEopHG3OUd7bI_mtyOOSm6M9ZZ_UB7uCN2gfN26oHC4ZvHSXvvpSsA14ft0IgsJkHd1fkd0W5kvTbe9Ecwi-66kcyQOoAt29zxILWt113U11n2JHXoe0hz50OfOGwq83-odhCxOTBDr9GxFWonGNySLK6skkKSspWG0gme5NK5v9aM5m4EyHqe05v0_CCsKiJmVzdszzkqcBHbuYAdbrs7JYKCy7EIeDWhQWNlsENoJUb4Gb2hfcCAvwRiVIF6wEzEELK2R5XkrLBDTdeSgDs9SpQZqmh7gZ3vo9SMtpgR0MuMXYel0ImkS_WL4mynybsif4XNpqsGbYypmDkFgg0mS675ndETe7NhltMNXvunv7rAPbEmLcGUxlUiTyJVkMf-vny1iBULIbJWnNsjSDtjbbEq0_AsslIOB13VwEL6RrO0yjKZl2MAn7d-dI4zV1Pw3_agb8Xbd4m8TBqcEPPcrmecbVUUdNNliC7t9jluuWnC8938Kk1RQHizy1fhLeALWNPcpYme7oh6Kqva7H_tCRvZhChl6xJVA2inlDQKRlZ_Z0y3RbUoDHVr82KRLyfSg1rVXRcUxp-VGOsQc0Dy5yQHrzQ3RP7Iqk_6TH44Izj4YcF2-ISMJt7cdaq0ts7_G9qKonIikfK144FSzChQHPWgPwwH7ppzCJtK1ep3rkX3RAO2yq_AHiN16jfb6RbR29UDUKzCsIQAJZT47e29R1H1oCKkY1-knVNn2cUDj0Nr8G33QVxn78ZJmROd3veIYJO6Hjn8vhoaB7DqH_1z048w-e6cKbB9ITNIfwVagBvGXTjdE5l57yz7rJ8MdOFUrMcg5ZKExof2D90SQTpuiSQWU2N2TvsO3FQtBMwMPmBX66FMK2omX_10GTujX6qto2BQ3EG4Uv4uZEpv2F7ggKUaXH1ju-KQDROGoWeFbk0UekF7sbpyL96rDPiideRtJ3aFlWYOG4dEFOezvWKcKej0qGnyoS_aMe9P4IFcN0dgErPvCyAEV05YMFrFdcpussYoD68zOvlzXy43fl-1s4D2lFtcLKLlogJVf5LuZftZ8hAziW6caKQvRK2FvMwWUC2Sccno0bevZJxxeTV9JoTk-MePT1VwF_Wtg2pwYgHG5UY3wnI1DmcfnYxRU-HS430r8Hk8jAppZ8FPKt9YeHLokaitZKVEcINcWtcfqC-AN4Mzg-1NpVRRtcX_ktNc805CMzvp5jrYXkicoQ-Jpl5YCFEFi1wfAwYExlULWrEPHcFqXHUn2kco_ncS3lS02JStG3iOfVJRaeNxd38OMqcJMH-xD4ZFv3iyq1r00w86JbUiZn1OT5mPe4qcHXrAr5OXKuQ746MyK4b7BZsbZDUlPjTqVC5kel_qhhfJUkCNOJVqW-cEhvCw9J9EeVsn62-CLtbLN_rhe-I59GwOmuPYxhikK6IJVscPwKXZqfbkf66sAG3yh12N8ZRAufT0cGKa01pCqrx-hSLLLGgGl9EfGiEJ5DkFQITG96u_LAa_2fkuc2JUXHwhr0aKGR7lmVRQ2BnVadu9OPPzWbb0j-tjktJ6t9UzfF2hIqtJEB9uMTmEUTL75eobtmSUpsYEeXExXEA5Q__8bXfLmCA2j1lgng7IINLADa2IR7raIHcGQD2QlPzviBFb_-EF2ZZUykr0cfx_m_AZOs8bWAw-gujRqPNqT2pXvzuFAMVgB_G87WB345Dq9XmmL6ZzUS0l_G4z9IWDerUjc6xTWmWnV_DkIFO64LCGOi3_6PXw90vztA8gSZhCXji5ymjPtLA-fc3qZt7eAyAx21vRnd-Z2jKs_OG280brTvDGpGKhz-fWqBUYZczBakL3Vk_adbXp9dehDAg3yu6IgMwR0CjgoLGElvcwTAxlqwD51c-TfaeUoH6b09QceEfd2rKhqmEMzynVMPm5bWXdSrj1A2-SS74erziErCDcqjxtAfwsP8YiKLkyP5QE4IXnPHTe1WsgFC3bmMt5Ca1U-wExKke7RZyAcoPm2Kn29gpuy_lxZbkpei6iGOz8R3BymMA2MtX0uvP4LwLBix-RXKtg7qjgLSJYTY2jsj_zZ73DmJG7GGJyfCIVA3C1sKiCDcplJLrLKqPO6kKDg2tdAJNWX_bNkMPRuLyvmxAty4TmE4qRh-_awEo8hG-38TWax5nOpvjYGJHi_wmznfIX3GlJMeWMV0eNP9_alKsMVW-uZz5GW6w9H2ch7re4md6PAzNRaapDJ23XqFhWHipEG0xrmKnRPeSZ1-HQhJBENQMdJ3YK5TFCJDz5_SFsNWhkAI3kbztZm--O6YaTOlVEvOWNDhOMexZjJfeCRqwTn8dZqrVbVxCXS7t0TZnpNwxB9lU_4_-s9CHHCoZI3r0KSRVQSB1VzGPXWnmonZ6qyUhp3aW3M-ht_33leTzBLgOj8jqmJt1y2PRk8ieJKIof9yv7Nh-s3Kg5a4a5YKEmuvdjik_of22Na6gfZaBHZXN-UqUdmMbyER3AqzYlfAjsrp502_8CfVJbVFwbgbIcnsYn-UoHO-3La21E0GtVbORiIeY04Af3TCY4seFAgD0XYnSJ_YjY-2LONZ83uhpFqCFTonFXwKJHjW__c4fSuTLRc8JCGzTOkM_sOP7O_w6l5cniT2ptmFq2COzMfnh9mjdkW8fKc9Dp2YPEce356HJ1K7z1Jb97ly2LJvWHoGEyZIYwxzc6JdCWcNTICzjeNUGYVUOwpWD5Jf11utBpVyv7wpEBGZ7iZnHoTaSVWgm8rWfcV789dXWSyVkKDh-6S63jdy-MeKrTbH76zh16ygBNxo4I4KMar8r7tLIFAAfuhO_2eNGbgDkNNSf2uScPY2ClF9j1NDrviVWeB9jBCldg3uOQhFGmtlNHcOm5SxaqMdpZtFFWL5ST0LbETt_rs1Jms1ZqdzhCd0Vx3C4xgjUPhAXqVoS4TWwVYtFE1SAA1C2Z9gx96aQju9oxuzfe2fuuznmR8q2f5lXUXm2V5pyXj1NPJZHdwy1AoW0L6FAiNNNJwPknamYdifgcY-lRKAgAq1x5hgzhdOyJPHC4_0wpLH40t3s6TNDqXYjs77kyIPEy1VG0Hpi-gBwEWWveLaXoXb-sujO39Avmb6KJHEOVTu7GO9WBaczLyTxJxbx0Q8EMRjq_S0bbmCKVvBonWCXh_qFunlyxk8_DdmhLs1FYUC2MWQc6F82VX228sp-DRxiuUnuO7-_3ZTtRur3Vw0dFxhkkvd9gjTpfdvgaTHFKOdqxGLC3NDiIZNrfBaSY_AwfCDSs1nnShzSGDeX-Ig96YR_g4N0_UyOrV20vhVal9dgdSWQ4RFhr1ujQEexjLwrCtFV-Gj051kblvAn0hUoBRTJQzhr6tMdGfLvUJzSM7TOd_g1XA_WYeuXbnD9WQvHer4oWH4l-jSdriLbgbEQAHokXQgUvhtlTV51quhe2I2I-qqiWTJFmMKdl5RXt0mo02nRK-ZtorPPzhvy8OxV8J_Wn-G5EHmEMinyNg5timguo-YoKlH51sUORZZXXnrsKMbaoN43A2a3SyDIgGrhHH2IqjdL41BQD0TdkqqLx4H55EXbj-T1InrynwhHg4l77MExM6_fqExAzHzoaqzL0LpXq7GDsjtdWUuf0ORxN_vtpZsWYTZB8Nqcjupb8Ldw5jQOtW137Ofdgk_gfGe0MCfKlv_kEVFYduLqV6Gemm5sTghZRYEsYomugpnIfiUYo5DrFL0q1YT6E22D4Jkboppv-llPUkGeSnTnwOYfIBRlqm02xI-3eaBOIMLDQpQ5uOQF4ggKKEOr6x0FeIcZxK52JyWZFt_LHs9IbLDcGKogNX_2aumoIXrFkB7V8hxQpCraDr_htTqM71OcsC9a0V2dCFuTSOisQeZp0wNMMOVlRqMVf9zXC-iYO7nIHriCrLgblZcalrxacN5uMdOMD1sb7BUT_CMxv7J9z6vGrcrGVxrullEPXz375DO500oArEc9JlwaYGfRF-fnqB8rZvG3lFpY_GPl7zQOioO8y_m2xPW2yWI4CYTFz81AJLFmGvx3Sblef-n8-BgCXL1tEj0S-Z83HFWqgjosA3-qDGnRrFiDPTu9OVlujQhW2JgIagDKS_RekLhEi3g_2hLRzUZCR8oWR3-ZS25CbL108RunGKdibNNtI3_y0Yy_G5vWX15mxKd5boxN-w0qditssUypJ4jyAyqEAdSlt05KahKXdnZg3_TdwJ22KR19dfqNo-fO5ZlfkNQhcEK6hclSbDeaY8fGAgNFgc6PhnR2iZQqaGuYgwZY9ZIpteb6rPxjBDUWdCFg7Ckn8NybqDQVS7Gh3_axRfAGsEgYMRf5nsyq0zsl-pOPX_sQ2rBvF16kxCEjJEuZ1LatobTTztCmxVbGeRvZESugRFVAimsrUU3nlzSgCyZEZQIicS6mK336isSR7Uau0G_UczDtQOUnhg3Am6yk84zsJPV0rPLaTgI5r09khqqPGceySiEwP2fnDPpTCJud5fEYOcrip1e-GFQ2EVEum5NiGDaMoSsj_8xB62LS5noALyrgQqL3ZdPV2imQkmhL2kqJ1IMEQKU6RSGQJXDcQdS0SY24FuNEKvzcnO4MwmnHFxQjHtIDk_Y4hCXmi6EZ5JRioK1fisNDATmkr6dZml1asNNlwW89qT34fDM9emokKi48WMML6g7wPFzWNCwZoB1O3pkGaN5DOBp5imGW49LRwKssOqO5ctKlD5EmkhM1XqxNLUdS6PGbrcx7wGWb6Ttdww4xgI-VVwSlntrsvIJlKrdijxdiYgHY80DcwFzyMphSOH85HiHG6-qbVESsRmjjEVE7UBXLSaNC3NfLrdIIJcaCTLwmcxKecJtisutjOqKBvgAUVBJnrEyYTTqP9lKdPmiGq_IXgpe-MqMnFbYsY1Kpbt7qBddlfG3L5CKnoCIJuJLZb1PBcuyC_jxAGYM6YHtZJGicV55VecPWe28Ektn2pAtyWh4iNxmHWuykdPPfwu_5fRJ4t0ZXGjruTHe_XY2YIUvU9TL4As_12fzGXjEmCYkCwQoqrK5alZZ75uvhHYketvFDg7AIBsXeJhuk6rGg1yBnGoQbTAjLEEupAEbMNwdsDcgBuVSZSRdBg3TVHB80bp_YJ-11sLVczHvpp4MC9TWFFttjvmHPOsr7C7Qrj3LHrdAVJvxt_3_i-CkgqLzKEofpw7QdVANEaZCwBrHO5XYaUy7VjMNvBY-KuK3tOR7CkUUPlhUe-8wYUEjGecrvDTO5PE2uuhs7w4LJkaC1KiaVBpGBt6dJO0DD_5skDbp3wpPKeDDvq45dmzTG_PnJVPTw69zXbhhG42VJjw7sC6LLPwrI7UTAIFDjtsQzcYG1aC9KK4bCE476wPkwMfLR7U9kQSWVF6ePK7OZuBFlhB1KAxnLwK_8K9dQtBkbCUD0PVa4eznVHRP0OB9vEzW87LSmsKosPBGNZSzx7zZGMBv_JPZGHkhqfFRNgFW3GHoUdgt0GyzR5agUe4e2K6CkUcJx7xG7eu60Hxo4clj43Un-fJpP91ZADzrCun7COlhX746cZVRfSpzB8X3Z3GzYWR8oYr4HvxMeuHpdIPIr7BaOgN0fHP6Pm458m2_i4fMB2gozsmL0ZPYrtPQjbJyXBBry4h-9Xf5I3PacJ86P1R1j-DK2ZxSfZ9OEb4EldgtaIElEPNYHF1gE55iywoAPziBGKo2UH5t6zHigvNd-zsokl8k62IBHi-Yp9Dt-A12WM4LD1r2E9EsnBM4N8U8gEB7w1i6QBER-0m6D-PsGSphu85zJIqZvMQCzF3boIGF3s-1t8DU-SWZOvivyKrcKo3K3fH6iBoGcY6V-BWKvM5CPyOL2iRdAcCwdAEGFwzBskOEIoSBbNHUAx0DGK-23q0LJZgSN-LMVr3RZAx-uxKa_cTEDWkuMn23RqNpim6DABGxL1hEUGR70PUmU2YhMsgc4TQIlqDB1z_TsBYwjgn2CnsSEopm0orCq2u-zoZt0BjIjvDJdJvw4AJDAiwwm-SYLzPget-A1Q2Wv2w8AbdHd4oEcQpWdcU_Sakv4qKyMZQFqtVBlMI3Fb9mcil-lfoWsmIO9Wvxod1i-vyOBfdKACJEiyCEj2fqO3PETFiLp9I-xP6wjG2srycKZnhID7IpHXhEaj_cpwq_Eb7W6CAbF-7i1oDUhf8IiSvv4q1XrChaGst3mgo5cdVqHW_X692EH7Bx7tQtQA3KqhoYoNe2VcSI2RiOx6ftf3Q3Oo5stYItdSdtVwolyEwv57kSWkrF2ObMoMt35XgAYOGbUfgq0uhWeWkFcTcPWsKht5GG3CoU9OAJfSE0iqpu-OOXJETdl6lKpdXxUvbXgR9qD9Fl_tbJ6sGi2MOSRJ05OZmgAluLQKm8gIpGicB3ko-jmT43fjMqEQsJn7LbZRsRIpFpdqkXyiZLw04Klw6Q9ZifXlthYczsPDExcZtEjZYbQhMzd4MF0QvfIZghwZThQr99ENQ3LcvjtKc0v95bOtgddUraFuOsz5ImkqFBNAYZOLdZx3fRBLDPUQOyPA66JjgNfyAy77MyMECqnp2S5njAv41m-Dqev9zg08qz8IB3Gm-PFh6qQ4zM8M-TkTmjVWQMmMwdF1Qy0wOArmMwNn9XXe6Rt_o4oWIG_n6-U0MKwvOKrXzGF67WsIaRNywF5w5joXE2jsF2TsOfxrnvIrXeekcBYr01c-wBdmlMGptI-_kSUfxJDxPBuGdzCVDzWkSHHaianihRVw1pZ1jRAMtWdLBAsk2hvZMEv26dZCf6HzAxQu7CmgigFOzH6DHF3k3ewYFDLTdRv7C3BH1GghspRBGcnTIFFys9Sw3iKJqEF-gZbbt57-ZTv0sZ--dK6qQUtla1b4Tgse3_Bxi9l9LCeWBe3b9Z9iJwc5THr3VNyVuiolq4Uvi9AHls78cGIsx02b7ex4a2niPtDARxUO5UywtkR3PuRNiIGHoubMXvppERiquo2NBLkCQciOuxLG5GlGNzu8YrIdClP38ZrDND6jDXf618thbG0XNMd76oNl-ca3TRX8wPauPG-XLVL39cUQDwG0CcaMbZNkNUuccY0g7G9-GkZ0k7jkq9EXgJA-1K7R9cy1bXONiiC0sPQOThEYdD5--CXULVSftyiQMjT2ucU8rnlgG_KvOvXDD8FtGIZuQp1Gqi1KS23xCrbStV_DqDHkEIfwQeKHHCgqmTTnzCnGd_4D1fb-1SnpZcBpFHk1V676qZRIo9C1OgJkxO7sWzheBtk4IvCCWzjVTJws_oBQp8JdTaeyCSrkN56aO07ktP92Mnj_z8YSVnb9LHDXBwIXQysS4utl0a3ducJTpFZgwHP8zGyaOfLKT2WDe07VLCvqRvIqXvjLTsfT6LkJv5Uwy6BG_c4QcljOU85ic-uCUsCdkBdLPzkTit_I5PIWwkA7SAoebEqGBDKHNBdh7XI1z0ViH9mDkogqryDUeP0mlU0g2-1bErwPPdywsZbp-Qgb9Yqsz-J0YluNtxoC3pREag3djj82NccZiFO--Ixe6ztIAnQPWVrSJDZcHLB85LorTZOqldoVHBl7h_eeyl5yv7TieTtTvWwJLfuLx8DSBkBQfuS9tIxDid_Rqm9wjKrGsjzKXnd_lP7GVgs2tXZz1DprmwfroOrLcBvhaY8Zrw9cVaeJUIO4cTjdo-9K3l4x2Kru8kTbJ1E6yuT0Rhlb9I3QYGQk2Vqmc_KNWRFrTny_QTC9iUTLGR9kRKwQvGrRlq-rNXskPXavhjBGfJsPgtmD3XoZmAGk-UIzQtPnIQdhzSi9AXFuP2X7nXSMWDF5ARADyzu5-SUkG5S8nKzBkfz1RWjxWNFYRSyZ3ze_ktbIXSlcrOCnmeR7PeEC8NHSEiITr3puOgwSCNXQgu5w-x2H6oiPTW6OX2tU-QnsU_lHUNNMbWbURe2UvSXshFQf72pVDVj4ZWNNLSB6UAclie2Ci2xICxqt4vEGbif3EpOpNvcDSaxipEBUDaF0bTK1vSGB2HJMD-nUcmvoZeEdtAd5568B3lJiKOohV5-N9_hdHNjplrFOxl0RNvqyFfukvOEpHMaHcthGD1_CkDY1EYaHP3lRm105grNfepuQOIek9BwigTF4uC6mcJ3W9ihQS3h1zveQCiHNnYxuoh3FApYqbTrnuhFA5da3yx5XcLGt6-JxE74Ii-J7tLi14qpArcXprYqEYLmaElpYsnXY-Oj_z8BaHNFq0P4WJ3c4pbqSR1fxwZgBc38DJA-w8ErBiFE79lDpkbU3qTkZPazF87J2XeYu_IyyS2sew_MRzBbTDlD4Z8HgrTopAtQYkVn7umf48FvVBNUXH8LNzmJE60LaE9REMhGgCRBoUaOHkheETwlC4684SlSwtq1WUdvDCutW-MjNUDdPI_Bo39Nxjb2UV93023OrhNL7wCVt-SEUygNWX2OBgEdrESeF1vK7Lub4Bl5Q6sINtsOo4db3F0Mxas3jHOkE8qTIebmSnvrzdl5LJZ_IBCwKPoEr5dpYuKkfvKcZnrlf-X4tkO5aXzzQ-U1SJdDruSx4O5blja_hY0ZJ9OXoU106fIO3rjUbQOhJV4D9gz-frPJ1rxhZygIz_UP2yWR32g0alCS_P2TOec0XiA_moJc5pAw3_As-50W2GVPE3ltRzfSIRtYYtJ3abFyq9SAWuEYLHchFdEj08zcWOVU9clIrYeAElCxFUifGgLUBGrPfsaFCLFXaYtesnu1ddUldckNn3W10U0ICxnMsbq1DZu957za9lp0GGww8N_zsxsffDuasNDA5kWQeTb6WRaKcO9gzI7FU_wX0dtQQgySOn8nnYOu5SSi-cHXuA0qmrr9nUZdTxXnOf6jJcqI6DSThbsen889sYjlkUYfF-JhICNFmEDXOVCkfDgvirqyn1D2SJvgMBsIqG-dMUQwEUAJHNOV9BIWE7Ahpwz8YIKIKsmvrDOc1GylFFQUmVpUWz9F1X0p2zvz_srQ-4KlCYlN5NfnrU4ogId27DixjMum8A1rW9CuXQ7PT3Yztktvmymz8Ksl64t1K00wYZ0PPGAJt80M_WVoxxlDgN_ISOcB63F97_eTN8l9Ckf8wkHKMRgK4WDDSB7WqFASWocEAPUoQNZ3EVMaykaxZbRE6DMYbfA4qH4GmQwb3O4aLzoJ0S7aXY0RYUnbLcl8JjZtNRN9ZtKsT2VgdMcZPRvAF5zfnXZHf4WuVLbIVXokIqmgboyQJtOhh31NrJa-BTl2hPDNi3jS-1UXGB4Z5pL41uUreFkO8jNzvmlf82RjfyCi7F6NkpDfmEWu_XYTtUkDKoyjHmtUge5Dl7xcScw9eMRTYh0JyOpoIsfduq2_gKawu-ncP0InWIdLSP4xrhgP5dz5FKvsxWZZlwmqwuChRlo5mka_iok_mhHR-kvYcH0nJFqOhz_1CaLitGJW4kiDAou6nrF8YaVQglhz5nMgEBnoQBgEWTLIaa6HNOnUfO8oQm4CBsShaVspkMjkdR68lo8_1QAomtolsKjVsniOsOw41qz79_tYegaeHqBTxGenLvWQGYKgjM5mAoTVSWJ2aCnwODbYfD5GWgm8X7cCLuMo1dlghKG-op87VqXgnKRd3wAM80nA1l4bS047RWGxQykIw5rwrHCyH_Z8vXVAc7HsYVwlCItWzXCdfD2RTa3T5Cmmy8g6CVFJRjR7rshoIK5f5G3ntw7RD9SA0hDSOstDf7IQ0bDG_HAVH6HoOHzIALz0u6-Q7N6yv-euGjhjJ287It41i5byymcBEgqe-exEJJQEDyaieM51mrfpKNt0lQzUOh4hlvRjV06OQ4tSyRuO0GOWGQYKgD1x-LSuIcQvqYhYA3XgE9cIkxp98ofX0RkEtKGuBDNkn-o9kSgvE91Oq2RGAqluiKz3U9mlVbbqNjY0o9qa_9K-yQJ2ecK0WjfskhA9Qk90VHO5dUtjdrlyWgJEKVgPXpL7tvKR0Uol44Z_aYfRs3Ps7YSegMVP53tTCR1XMBzlRf5Z8MHqKM1jCZUxtPlZdugRpY0pQntVPVtkblMXmLP96ICaTUWCzouesQuTAZmduEBMbUAoWTdqa4bCPaRNkYBvLAT0XTXQ3jBMgPsx6L1xkBuxGgZTCNC7FV5gCvEAl0Wv0nN1sl6FqfLwoCH9lfl9e9N9JJcNLvPWoN9x4-5zDsdWje8oS1z5Q0rX9zMeO0-YS-6-vdLp2rzxRBdJ6fR9uJcP85ITqpEgDJNbkmr-9lSkm7wu0RK_eyu5eV9XcNA2Mfafh0UndB2fdiiLaqmNYY9vS7gG-hJRGZ1ya4gsB2nvEH3_dR6iPAX0hLGncMZaNbrQRi23vwTFX0KJqmwwmp8lD8OhI5OQBNn1l1REwaiAjdPqMQmgqrgFu-XHvs1fZzyAKb5EULHNBiCnmgNPVpDWICVbG8Gs6VsTOHSVtLSqh47O35_IYezrFfRP0Y6MaSw-9kd_yu1jsJai0w3oepNLK35cU58fbVf3pSMydrn87hwWZoNAt6QLnivoUaUzwpCg0ACqMkI8uznWaaZDp2Xx_PG69Au22Z80ygEzqOB6ZH-8MWaWVaNS0sayMDn3q0w96jlRbPIK-e9VI_M_Ajb960Ir-NHzlnJS-ZDsX_eEX6DZh3BImSMxgsUGqMn5uO_m_oWw0Xxr_XfJmsY-U6spobdWbBqUDeagIvpT5eiN-daLwxxZA4qYcxeUxseWXwhJFMevBQzmLvnDOXN1gJ3gGloTWsGRTXkWg-f3cBT74sgEQpNx1kFa2jTxg1frvtAh3MyIBqQUHtLa4DO_ZKsLhr_QHkna2R4eiILHMXr08-jjfPPmtfMpYSbtyBrjb3cpgHCkCmunqLh6w_EbmyMa-HTsE4P9ikprABuWZfznv25O3LWfhyKh6nQMyqzM3VuB4QYUU9_vnVonDcCyZ2eW5PvnYD9JDoTFwUF6kAkNLmQaa_Y85-Zpj8d_BprT5gNFd2hZFmFhLj9wKXwAHdLoBYDSRov1HMrR7sk-TZnMlIBk9x-VTb0pJq9SmBGtV9kJQZLRq_7rsaSS4N25kDLr9r_zFUvbwZpieN0vy7PuM203bw5jJasnP3a8CKI52ucO-xteky8Ga7WDylOuppohrpo8mAuHyPv3CDnUy9KQBZhs_wPQYIhEh0oNlkmEKluMyKGW4pbfmNBD2_v6weCUKawY1NB1SYUCz7GkfFo64yaDE14JpEoiaia1studAt6Pkcg5qvL9LXEjOjf7lhJvWXinD-WNQlPoLBACgEj9S6XAfb2lfiD5dicBgZwwc8EmQ8oB8iHm_C9fuiuyj477o9OkNiZaRgjNY6lvQ59PwWgwWtqGUtozDyaP33oCBwOYzjMahsERC-a7xR5WP6dRuH0T_CSgiHr_YkAdR1bfoEtr4O2QQT5MU80704TeFpWcFCEAuXqGCia1aUjSlQ--5MZvTbx04ysO4sjfwjXdhMew29o1fvyerJwGy2XEjR-HTMyB89XKNmIaB-sNLKPQkPgj67lL2TqrWwNW5Ti5BBGpxV-Wg7TX3dC8bEcbKCRKt3jfB1edMFwR9lSZUm6ggevuiaes3m5At_tp88Q97_kifnD8nEv9CR2B4VqJHWMb6i5xoCWHDRDNHkns_OIxjiAMykHGtX8Iprwq-x04jmYs14f0wbtxl2w2WmvIS5tQUK5-5Pk1NWbTrv5B9yzcSFaJt3e7qP7O2hCd8Z9xY8k0lIae83uetAM7PDtcNOcCHcs2aEOW35WJJ09alSdSp-b1CKvlDQx41P2GMZKAT9Xw42Q3YwfSuaGl08xQ5ioiYwXVKfyTKM6PFT8Odq0eSO4ra8934DDgf4xMjfmfBevNDpHV_5aEOvDjzBWWm1d7nn-noXeC_MpYwJkWpc8YSWwlAnMaIw0TFm5DCEu4o0QQ66L0mr5OGUvLKjnC-K1nEMvWibmlhpjX7PMldwkTNB8519-rwnIc3aa0O9WBmMMs2lkpBoSQ3nAewJlDeaXQ0PSvdBfS3gIyh5IJA2TzMGq4BNl5yBhMoJw0aOizReGSjUMD0n5plGkGYt0pECBK6Hfhe1vpDpDe_nvUBhm10jENeyFoGPIgEDq3nYasaHSTkGrsGaRVn6d_HT1FZWH2wiDn3TuIo0sh4kCmzY_u7IoYVWD7MP1PoRFr87M80np1y5QHkT2_Sij0onyc3LjhqiGxKGoKFpfOCP8gjR0_VTKPfjtxzIZ23BiGmYoVyyA2-TMJSeZBJ-y6pOydQh4g7U7MgEBy74cluBrOl_o5kej7vSN7G7maTsDN2KKfFR8yTJkIu1z9zsO3bi7O9xoQNLCFvVdHOSO2Eb_pCP1NcGD3JAnNq7yQmMXpexd9IVSWVIgIFRg_e0hUp3HsB_UfVhA_1NEHWYfMFmGEj70X-ETEMl-vcJcZsle3HnyjYNm8V7rcgwADwKqAZFDrQu-1jz5ZM6mrZCVQ9djAjhCFqjODhI8lPnYyCfGn_DqJeKWH15E1ESk633tVbYMj_7OS-nlqEMj09HDX_ChJy8I0FWJEwu9sY3XSB2dAbI-ZlC83Qw1VYsthJE6aJ0qjL-JLY50c6pLYtX589-qD1KOGq0iVu09YU94iRYk5_fir6ayDW6X8CXWLJA8AxcN2dGYQU6HZB4rl7eTV12AnIuU4-OyeP-IFGJJYB4iBB35GcsYrKJDxFOVVBPAtZjylx45MXhfKbpS9DxGH4ME6ttR9_b0Jty57S2NJW_C2tu9NM3VBMBnWdbPH9pEyVWb4b9PAmqQR5J82Uvyt9VPzC64dxb8dAjjLWMZySi6vVU5vLJjzYZOeIvqo2BL3a1ifWrxiojePG0SyPXTjZGn-QMB7ewJkB3yAdZ1TTlOITyz2SCpVUcaXUdhg9x4lofhZncDEKWzy8SlUVOqAcJdiuMozz8nDZuc4AccQbYfp0aAE5k_B-TXJo-5jxR8ixtrVCdN36OepLA3wU5JlFfc19Rd6HrqejnRax3bR4T2c8tRC-eYmKs8vK4cjJRdQKH_l9Zcq7pJMq-eGfQh3EJ9CnpXndVBlsw8MC4aUCiswGGfCEG4ysWgq6r73-xIHnquHkMLVlIiKjTVwjxCYt5L7I_zX9A9pZ6j37USNrbueIbMBGYyO_BTujmI7rR0UMe8kveAheu1oxU854UMDeYYW5wdUdhMBagyZU8nHNVwIAvZY0Xil8INukiF8sLlTbNs8xsniKpPjkWgY4VppTFiogwWgq9ZZnD9fQj2RmBZRl1j9s-ukQtKFyIUENn2LN_zJtJf35NPdw5ArnEGq0kHHp7mxeO4DWd4RS4jja1-Qla8p28sNg6D2OfOMIpYy-ARAv99dMu6EMb0P3VmEGr9jZGYuVxki7qnhu8ejHUkfu62-qWVX98KKEAoT-gdf7KK9ilwhENBIR2i1LBnB9QTFunrBG_CJ1gEiYQF9Up9wA672y90oxNFeoBsKvS_jnhFC2hHw0A2Lgz78CtUfnrVfBqOV1Zw1Cn0xpGo_kO5R1QC3GSHkVNVhKPbF31brJoNc-BFNnROiL4NFEVzy_Afq0ilM9kEE3tR1OD9dlAVj8j0fuJTm7zbKISMhbeIjzkZJk12sc388RJNeyuhLo9pfLMO6f6U2ndJWAoEksierjHWYOaGAhSBQzOpC3Nh7a6gKOMeUAKkOlS4udpY70lL0lNJuOgU91lOiYn2dGYMxCry3Ufvuk7PqyHXmzgY8XUhGC0xCpViUpckMPeEpg8O_H-YB5nfecWRqNbu78cPKpo4wX0Qr-nhQlDX9pEFRsUOg3UFnLiiqRfxSK9FeNH7USDJ2hGhkvdaAjgS3M0t3u71Jm9kW99UbvPZ28va69dOFqS9loXkr8XV6aTOnyqPC3CKKTwhkItkpSb4lU8KaQHaEVw3OdrDdPQBV-Lg0sYE8611SYGejsgbE2qruEWtqv0A5TT95kiLXeWp_uHDQx1Jesy5tTCmkTCKZOVYZdvT7HKSK--9mFr2peLyv--Sa3nWLQxoFDwCE9aGVYsH-cVxLpzbKzXdndNPrApCPhORNvv2aE8lpRlKHy6xywQVEHvmh6Fo0FaMZtFcoXRDXgfRoX2potI_Dq4FTEP8mbtQJYUHgG3DrX6hwhIrSzm96-3AhryvZm_KYuaRW6NDaBdBY1ERB9CTKnyr3ShI7JRGNfleAOq5ryR-rHn4ks5LbLdqOL7UGK9b93y5Qn2t9xJO9iU82aKFyNoMrd-vYYK6cQnDXCWEZxG2sNLdpd-4_qKZRjT4_cI7LQcCOr21deA0RVNlsGXfE2N3CRE8kzZqZl7KODZoxe4zI8U28fkOs9M5NQJBSswcU69Kcyc8kKMfrVhhvt3q5u8sTk0yLWuv8yE0f9dO9HCKhU3GhA_Ig8fgwG70oti51AXSxEbGYYZQWffgFpMfbnZM7SSSFW_CYG-uuLr71D2EmfJk05UYK4OZmzczK4WwlzTnibPKY7kOU01GgyBROcWisrweVF4x9YSR_GdGo549c5trhPFzjxHrNSR3FAtPCICxtv69I-9v-wDWtfX6oFVlfng0TtlE4pTjrsxXD9IM8sdxULeFC-qasqxNM9VWKrvizcww0kZACE4vr3Ip056k3hF4UKek029-y_6YaIlRmDH0WsxSSaYA81-WUTEWr8qaGrw91yX_bZuSKR_uBZrJLj_8MyCuly4A_fK_zqGVOgeGyDXAH90T3aQtlLRdDtuC3pkZmXwxeMAInBKAnL8iQWUWhAEuomtAaxw7kB4-6Q963CW1lrVD5F8yXtLCRj90Q26ThJjz6ZwW8dNA-fltSudGv6ikWMGnH3e3ep_xkqSxwl3c8WfCk710d9KpfznbE217lRAhEk9R4qqIQvSu4hEjXLVSB7_SE_LOIsV54HAxIuncNjFQS5HVTYQQ6K14n-O5kPtS2Qtxd-xqU5X32z9NeRAd-M7E72KQeN1-3jJSYSSA8XGdEx4rV8ekBEFAp0WVMFgfZIgyLqTlPEQUtwRuIqCRk44jajoNPi5TmtNZRJHg827jcmVkUBT3Q4W6GSiZd8Bsy7ygPMH-xjsRNu7mcA69oCQvQXX9R40jrXI4RUQ2zUBfOhSCPJ_wRvc5mw5CREID15Az0acCiGioAW_D7fGC4RZa09RntKg80ZazY5Yf0Zs6SEMO-20ra9y4d5g69jyosl4GejjZk4Zo_83QWclxkb6vm40lI2GQ31JHpvjIP40qGMFrlUbs4nKWu3zWH0w4aLDzKnvgKEG_r4YDomSU8_oS7OEgxGZqyd9JsBMKGH_-QupGY9AeRCLBr3VWasgMB6JCVRK2t8S_jzTebtNZZGLaqb8Teey8WBeLqC-eFGPyW1v0k4lm46ELqAa_HghALp88-HIUAS0tFq5D3FrYxcJj8eGF166Epck4KNwEbW5k7wfX_KGrOHz2C0AiYxK1WA69-fs38DZXJ4bPf3NjFWg7rM-GQv5dms3X2d4K31gFXQcWjV-RwkFOBAqdwgFB-W5nifKnOtJJ_Wn5LzkT-p05qioN28VFK7795myJJ6hxCd70n9neED-B36MRKpV6AGTiK5kFcFEFrfk-DkiWdM1ZEIGtbBUT2s4XPhk5zqO1LIn2SJZdpBFZAcVAlViFVPlwVZiZ8Uv-TlkuJIoW9C_D8d4WqfSgukSCH0KsIlRbi-ItHyJszVENzHYc9Gq5mxvUizIT7MY4jWfoY3asvkjUybSA0rVUMaLppzQfW_rSgD4WBpSclUZ33J-wN0RfHhLj66ImnfoJcUxsSCRr2FBbdZMwL9VQwg6TRQ9DcyDcWCjlD-AGkKpDgyXi6VlUvqIxPbpnweSc1dM-UoC05gcj8qvx2G5teOg8PJSHTdNIIGQWrBBlrX7xk_gCTjB_UUXFYBr4zU5j6y7UqOB6AQf53UVtJHKEuTOqa4Ps6c7v2iWtzC_x8FmkLc9hg0MsSnZI_n1hp5ALws3zDT6r4hQEX_Biw5UcRo6HaYkVVex4AiPUmeqdXL4UpICf0RjC-mcOb84AJEbKQ7v9FM7_x_dw1tQXgG2FNbL-JJrBkBdv37Ufs5ORxcys26X7FfllucH7QgeTgBQW4t16iT1PwiTD6zJgliJDqzGgbKssKmwM7gyjcjBUaXWSZnpcV_JeoFWcoC3xKiJa9HQYlYTu2XGN2WN5m40OuJ7P0JAA4p0X8ErtwyIQPvPkZB4ViclCqqhATmCe3oqdk3eE2m4s2uU6MvpKvz08EiFEwGroFnbNguNJHl0RRlrLc8ZvaohiyW-kyWjsF7PA3Ks9M-eNIPfl-we7hRvlYsRZFtXTEuaa9BOXN4ldIuLx399RRaTfGbhsF2y3RAb1F6hxiHRBnRUrQqYE6tzDVs8cFCDyH-R8JS0f28QMFupO25aHj1O3AnDeFY13v7j-uaPt0e9PkgPO2FwwSA2H89TEUWxsVN5iGEGmwnVJQcCoWnWrKDa2jMNcskZw2bvOKZmT5Etl_CdLqLARbzg-y2a7XkWoJsVkEjuCHXN5pe-Up_q3vCxL2sncY5M_dB_JELSm2DjMS8w8yK7OyLdV1wG4dkh6Kr335ld_cux11G9J5kTntSJvtM4AVJd7PMiMML9SLETpOoFO1fWj9bA03aHBfCZm-HbjZj4NQeY8fW1-9p8SfEWteJS81HAHqNAoy_ua9uLi7zBKiDdgKGJ-m-ZFMwRwG7w26gt2SenFGjJRHzYA_bBvAI2bWpkFuO4DlhBvqIk9u-_kQiVR4F5YrPlWU_rWkGGXueKeiYVh3-PRzWyqvTbh-koqxFusuc_maQWmXD6ADcRWEOsEShLdUQJQOUt8DcXNSMqyBrBTZ9Pjudjju2E0BIaXCAa48RIUO9LmAwDgwbGnwDdAaiugLriFpVd0-lFfnssIRo348kyUrlzmw5XmFkh-G4CsAF_RsMfGhPnNWeUdHdeSPVORMT7xbkv_CjcNqCG3jx6mzb8mKPgM1y0a7HWrNkx5Zr4vfu2sU3hXjuXPuPURCUEIBrir2M0GZnrg7pxDjBWdMymxqB2NE7bsXmCXI-fcg2_KjoZLBfYDeOf1kBN3KboFTG0Bs4iaxCdYDhVoyBVppD8Z4L0zUf7-0CPukiPqFBlV-ntBZv5XQ60meprVQAeSFIlAMisDA-APyiFBLVy99NTQEiEJkuLfWd9-aDOZBXroC1-KUBWZSpXASlZcc1W9x3IAX4uGFc5oMZYaSVquOFYO9d-BV2xU2rrB8EaPqtBVCs1JKK_jCkztxsXN2IuRUQV7PILni1uZYbIZPvDmjWaPTQW7OJdxU2-qvIayJePhclIhra03gV-guWA9DBaBznosdgX-SoxccNPbLE7aBYNq8xm_CTyD6ignEFAj1qTlyqi9eWaU4HYiYtvBxn_DXoRPEJeFFkeK9M9N6ryXlGjA9O_JrXmjvRRiL_f0IAg8RGj9TE4T_JXnpJAv8tVr52WkFXAqPS-_zP3b0iupGx_tZZ3TLzWTHSp2HdRybwRzJ64wmXTBQx2oNLWdxTydTqf4JUvVC4GhZQvaNmb27yvhtlPZAGyFvgZqnXTRCJSHRg7CGas953jlsMC4oMFMGxNsP3tDGu1L1h_puXoiKwZholuoZGQd8N0HhoozOl_GgXEDPlOn87FT-VBNwb6ezl8m6MBwhmIonZwM02I9tBY5R8P9K-latz1oVl6ZW7Ag_NeQJmQNJIRGxGo2PIClyo1J7Ussafo4ZSE7bE3unXGF0YHxHlixSpLss46UEijegsfFxbrdTmmek2Qzla5-ENvpXOl-BIJxCEd63We9GvHJSou0yiqbCotWEoo_btvUlmtlGvh0k-NNxW5hqUOBlZhvmJkC8bg5zh03KVtmh6kc3aDkcqvR-j5rDf0mZ4ehKwHz-p7l46i6UqzaDQkYHlvCTDK1kCtgWLZ4XmtgTC8WnF_XrKmtzw94n9ISjAUPl5HisfC4U3huaeqNnBVUtN0g5z4AmXnahejgACDJVxjpgJUGt4RvYlBgVlirEQx6vuvdOBbbyw5XJay5DkGkaHSrApjTLypKQJvYbuQATCxACOvb6zPIzgyJqX-JDuH56QA2HgB7IpehSkxORfKLu1wBxK0yKf8X4D7wb94l5dFzalTBtd_22NHkh1fOCE_4va7BxmWfIrqvuRwHYd8ZjN2JRxUkfk7daewXuV-j20KE3y26CkKJHGlhcyHH2WSh_zHRd18NQtb375icrkvfzDEDcm-MhDW42PHZSEGdIKPXn6_gcSr33bc3cU5HQTzhqCA8EoYvdW2n2N4nEtb5IID9nneVfBnrz7Zh0TRB51SV28miyfYw1FlNEFSxiWHZLFPmdG3mUCKU0WAQuWYS1bbbGgkDb4Xe3UQbyJqWEQ7E9lf7Yi08bO7zf_J1qfpNvpV9pdbbJ8_249c-vd8dHI7I-luzdAs6rGd8CuFPoVAtsFb_1OrFyQOixzCqK8cW8KRbSf9zhm0BPzQ5MA9YKaRDyE_xRgrbRMDpuDh2g-sjrimo48tzmEUzRxkC7g2NRpBTty0tKy1Fb2zbryomNvcim7xGZ3FbNJilx_YwEDW0aj-pdC-ip7YLCZrGZqYcPCQJ61WgCUUBsl-61sleqQ3qfOfTZt3j3gPsnFjfaCMCnFN4_yW7oNJbmCagnMUrJbSYCT0708yPLJ9-FFHNnRKmxjojH5y8VIYErUCN7v7cp2RW_11JVgsgw4FAT65Vo_SuvbDu1a9nOxt1b46f2-xgREv6_5drYjU-aDmCvT-aOf5t4pMcrYQCzwdRixPNcRGlz78SVAbL97eDd6mNHmHNWbITU29FLvJ8quxlAAvNXQ3exxEfnNH-Qb-T1MgmFBkUGAj-hW1lLhIYwJw_QNhY4P49P0-xCumPM7Vhza3vGWzQggQOdX7esL8doKBz9sq7ztBk-e_ALB1OlkIl2J9J4kg0Jpn6w2zCOoqrqB7jLD-wBKtv7lCfWCurhg_DfE4Coe06vaZaj8TS6Mt1O5IOuvCKQ9gws3gNHzMEz_NVko-C6Ae5wSPCsuDf9HbBOM5_qyguNAvX-F453bphNFIvCxHMtqpfyJV5VdGq6wUcmdlbk1iCXxKTC71Gk_P5MPYgheF2iTT331fTbZN2hm3VQmMzrU2v8kMf1zIwOyHkW6vDujyh1Fg8FJ5_r1KG0GcNknUPSw2y0CI5L32ofjDfkxt9L7cZ1P9-PXWEsxS24Q077KrZSJaQNanoChL3ZOo_34f6fFFc76lgNVHPosmyN-bNA-3LbQgGnMsMVOnNCXBAUy6HY-XSmWLAxOXwJ_ftMi-RPp_2ozE9lN7uyK-1gj0JYv8owPMGYhx8gcjdpovos9JFGSS_Qy3C0YdvtcewY5j-VsfIbahMvYAfnVf0H7k2NNYcxPzQCRjmg8lPrrDjEZDxGKDX8zWyZGd-O6dYDADFx0QOwVswhs846blv8yLGNTkudKNssvyxp7hFqhPRIZxMdZ8T8sChTkJHgKZVcd68ftAHeHOYDA5YJOpx4hC1zgM8MTrKP2lsUyfb_S3q8hADChr7X4nxvp_9-4FYoo3UI4kizf98YJX-YLlFlFHyReruQKru8iP2iL9rXBcdNwJSUUAZ4Wf2SIb39CtPDi0cVkttfKh1--tZuo1614TNfoixUWraexdQBRKL5r44jjAfqKBq2hyDC2VS7z5b3z4qAcJcnzkVxG14M3XmpxKR6E8TA6nJ-bHj4XD_tr6vyBthkSomV3bBZ5Fgx2OQhvAV786JsLpMTzGzrfgQOkAtEeEV5bzwFXyAGXPoFzOsMKStii1jaf-2o5CPdgHrQSRt-65wmiuZs43V61SzzITo_kFhCfZyb8sfCG-iIwUYjdoWP-fckDIcBXUj9U_84NKEuoEI8OuXzkl5gFCKVRO2-peNoicE4R9-e36P9y-j6N4DqgQ2v8-0cAuXoQazMdE7YulohA_8TbtVArUom-G_Sa7XryE04cJMtGGvR0js-tXZrEpPmL6xSNY05XJ1s582fGFIevkUhZZk-2DEC6kd9Z6k6NdYasN0TSkhmEotB6vfG_np2XrdaDimz52_5CijXHH_XZWSbzTFuFsVdQl8fPKu5y5l408aZ0Gp8i-ebWXQbsmvU1e325NGbCd9Vt73C-b7haTl0yyazGPYjPRdH6Ysho70slU_y1ypSyNiom95pxs2cQWwhQSp6ujHb6PRuOwXwP7oVb2rqPICMtDELiIlaHDkgOT0Qkx_dih_tWnGzzFTPy1PHUJa7hI3ZXhzJ22-ijzsCjjRBnBOQEZWR6QKMfnsEW8xhOPvDXlA1mzWRNLY2iRc5-i5t0cRxJ0t0zHJzQGOBMCpYvOxh2IwkSwZLx6AGVW-KDeXKAeuVZGElNNZMLHCqTVI6vRcasd0qO4lXX9MEDGWx7A0v5VPeQp6Uy-AbpX9wejywY5cV-4lqngiAib4lzfZ_2uDSrlN9S6jKp7Eu2yjCM_IQXL_QTEKKQ4SIOLaz-Cfue9JUgs6BE0tOAf7ilsNLXOby8w1js2SEZaqyv1GpnVYXUcjHSiyQn_LSaN1DJgY7Cg_WDO7d7bJFX3HloxkNIEkj-ISgyCmNS2lwEaAv3u0YaA7o7a2mJbBjM4eNMKSjUCIpNs8jg7nSWvF6bTUTaqURSsiskp7M3jLMXcv8YKG4PLmLlfz-5_Vi8RuOAz9Ka0CShaO0P3yrk0I-hf0qAl77xuzBaEkJrYUepzF6Yho4u0sQVqEZmwcAdqGuDhqlCLZ4xN0VQ0bnW0Cig5a4B3CA6GEvzbm1kZeFB3BiMxQiBHvD-RxpGjtcnjPMrvH0SaM1-z9VCwFVrazAU2rkK3MypeICyAZdcLMjcxvVIKyWXwFAOrXdIPY55gcOS6lpm-gxwplZBGpyYktSc_WKMly1kMwMoMOLSxWf1NVfPlgGL5YIPzQo5-WcsN-XNWTKjXiNR0gbzGb1QXftg8rODrDGLqZsboYHzyFm1RDLDKG-qsA5tZhWiY594-jYCPEIgaP6Ss1aPpqMqeXHh5xgthH9UCi1pfEr-YV4cs5RmH9kIOceFK66--PHR6eySF7QYErUoJ1UwwHt8vHVuBnvDZbm3adundxUv1OLJaF7tvP557FiGJd9bvd1F23siFOhBJM4BzqCvAw4AYfIb_KVGVthCxVwwgh19Uqd-pQCr59rvKkwty0gIQgg01ORZeEvaNiFwJ2f19kk0Tuep8nXKYxQ_G3ovjOw-FQgnE2qNKUU7hKSJNfALcaB1ckGNNjwDE9s9WegNiu-STIjtS-93RMBTxFs7BXDE3u86BEfyXnxS1y3-f4Z7lD1PdkKVUDotw3AHNSzJOq1XIn0VRs2u-X9nuyzNNZE9vLVemm8BVK3FUXxxghj2GInZ3X1xXkgJZ-87bfKnLJInN_VoiupgMM0YUH6G8nhAQ1IaALhu9yfGMdAtLSzjA2bQP-Qv60MerOrzpug-z4fMCMz2aMv_RcbeRRKYS3QROY0jyejSWKLg8RLxwjMUGqAlcAxTzMXI76u9BqQ-qbhpm4sN1lQnrWmPr3sDpDIw6O4FO7qEEfKZ25d4VnKlT8oEVIJMparS6Cb9t2zOWnjTbRRbifv36EeRWPQ-aCFBrz3PaMcuwd_uy6WVdiZkRdlN5zs9aATxOyfegnNWKB7x0IDqFshN6VCiSmYH4HtNMfzLHX6T9rh-8RVOBg7aXnIC7bBTgrwq6DUykOpH9a039qn_hGqDzwu3xY8XjFmW1fNig2ktDWd9R9tFv4-bhhDPAtA-AoR_8_gJLiCGUQcHz3rmDNGgvq9SjQJzo3Q1X4g_NQM7cCia12drREY1tBBh8eYhADKBAh0r_-5sa0uwNiHMOKwRMznjoEU9D0k9bZkNFoK9atU5h9Mv5zcgFcirt12I2DBR78ERA_wAUfhsPuUblnT1KucrENvrqKy6ozc81IXc8plghePekB8mHkdqsSnE5o9IcQ92E1e72EZStCmhwG7FiCZnkNBwdUHQVJy5lTWgYSZ2o2bQ_kzjbKhq2bRa7wyESRRYClKPwA74FTN79O4REXEEdViD0Uu2e43Vchi5fDiOqB1mdlefvdHVsu8K3-SoVleASRRmpDJ9ASwOFDs8EkOq-CSI_Sie54Ty3u_spd6SulIR9sgBW0RM-PqG21cPBUTpQ31s_L31nysNCFqTzpCDVjE_WGD-GyLiEIB-JOrLwUS16uBKBOCTTFJU0t44rPTCPN5iLSBs-XC5PfzXPg4DPar1Vx-NHXMKFC3OB4SSusDRJNQXje1PImZAJ0d35lS-wJe8sq5emKGmLQ5g2dVoKElXeNNPBGKEIr6SDL83tJWF02m7JOv6E4Q1eKqFVeOBsNxZSwW701o8Ng3loHs7IHR6u7Bv-LBZLHBYDre5jzxBpVmCBHYk-oXEpzZhqRXgbehh604CxTDC99ZadfwSPdW3zgZOibedhFdlJ_YmnVqXRMvZUBFTS9lzzwXdrSnmW0Ww-gjXqsEBnrYFXmEOtUFwzZEL_ZCMvn1VII_Fab2dtHWadngBd_66T8YIDFlSO2kBBW5WfSbE8eTHw8A-DX2WZdbUk-Mfbvgq3AZIeeS9MPJE_vo74fOQzIA7VmjRV4k26Detk9Q_2B6T3kZu8Jcvq_eKoMqkVZy__GNLQqxAQHpyQvZVQtWnf1QCeKEzkktPpisJoWIqbHCfUT8o1mbYTTX44sfBl4HyRynbzT0mK1ffUY1hm3FEX5rkkqV_SJFXVtdV11hfzqSsiDYStu08wiu8bH-K78kJMLwjEJOF1smICgDke-D5Z9JbBY3pqYVowrK7pS7IhznHSZDgkEkz7bCY_CdfncfxOrTeH_ChOrA7lMQiqKL7xQUl-4ZSOBbx7pLe-ckOJcRuw1BVuGMrx12hd5oDJSWSAomaa3uo-alFlBnolaEAYFM78FSc3w3G0wj7LdJV99FTqANS_iCrqoIPR1goKu48F8DoS7asLBdl9kfe3OnaEiYWVk-TQjqpQkPP1V-jys1O2U57Plv56jES2zDx68Y3uIE76_foKeBr7FClaskjh-q434cCf2KT0x-LijdBxNHn-Nssj7DBbziT1N1UYG-2Ank2j_f4nB0orcC4WQ1iOcp2iQ8nOZBR8FhksRkcmOXHMv4MpnTNrwzjpRCkYbVv05nSpnthcnjD9xl_zjUyY12city72gmau05F1Xfiq-UQiCQM-UROcZ9zffSiZbIHquKwExSqf2rIaDnQjjTJI-B-JcPw3Vcjej3RlaREPt3WederEPbJeTTJXlg-uypPRhsE5ZxluficrSTygkyw0CWI4npgI5jJZE97z7GN18NNtVolSSOHpanSTkPXjunbXklB3JS0eY6c1HcV_d_L7ACf0Tdb8vtcawnguvdG3U5d92tiCTCPnSs7-bqgqAWTdk9d3nbNo4hWmwJzoSl_f_3FtY9GhKFvOiX-W0FTrQ0cNFmwywJe9V208FV8MzRnCeYzFuc43u9KqB741HckLtp9B8CNlfBvZUEZurTFLdcuWrstv5KgrSWFTKhnpoY8HNNRw1mvwkgLlyBXJnoMMy4lzQqCQYcKYFjeFcdMO1F5h73D_gWer6o_PtcbUqjzmIXu4GCOJtivblKBG0LcvJqWwwrH93sVBZQ9bE_wFqsvnDDibJJDGgMTgCjgkoPm5Tzgkxb-C4TSbb37xASZ1R0sgQQTjg7E21Cl30XWwPj2Uke8TkvabdsqYmNyTbJDI3RuClnE-yhaek9O_IKE4DfeJkvpczSdHGGqMQBDJySN7ChPty3MPGTyv9m6u2MHv5vS2vvH8vUK-a2e6V_5O8OFMuEOAA2DzIDPUwYcJOBb4fTAv5N3AacNaRMwWWDNlPNHwW_vn8pk_8yzatSN-joZht2Q3K9CAKqTuwABjQlmg-La6NqKU4Kfz5UKacWpAaelBArkVieIGq_Gm3W4nwmRPZ7AjTumz7dDeLDjcNM3BKf4DNpROfpPuwfGWge9_xNCaZyMvRu_fSzvjx6MHMQnUkIIA7-fybGghGp-ivvuHg3GACWnFJ-upV-A451fYyWHo1jR5xyRUguQ-7xDtJlrMOBu69w5DLUtwi2Vln7BpXkfgNPrSs7F9m4SMoScVI8AwocjdiJLbPBbnL8gKo9YehlnMZYauC0BwnmoVeUFJS1QvUmjempxVf2_60xsPCofg7l_WupCuBvukr8PCmWjOAJI2y99Z3vHXKLQcJ88KEB8Mz4Rb4Nl4NZkAfn4Rtj_-g-QV4d27T4yrFH6DgqOiNqM_pmKRo8SCMGdNEzSDmDEY8banyMREE53aYvhaItPmCmPFezgFEXVgpzwW5Gjwbd1L8mZ1Yzy10Iah0cjLG0xnBmCi2U4GC8A6kM0dQ7ENrwpDWkKlVt0qSXIK0Ydc0Z-XU3ruXVKQDOPXSByyEN90roUg6XmvVBpKbuRgoxm06VkRHK-rgOuFCiSxD4s8Aa93HKSPEB1xAwL5eCoNmsH4iRDzoc8PPt3PtwxZYhzNIS2K9JVhlPpnOTf0sIZhAymQGJOyzOyS5ZSlRATCiJYIjbDGV59lHfVAXp2mgtbZkmrkn6HbXoly3fUCc_iUjT7fG_f8QV7ZA4enXLoS__bR3-nB4gmUP-UYBotM2c62Aih6fsUgs9q4R01Y-nT4VH2zFRtiEpYmm0_0grhcKQWFrCylUYzBN2ZTwxJLwocpa0oIK1oddHzRrVdo0-6x-jBurbqz29gwtV37HC0rJFtuuh0mCAgGZri-y3PBh00fQQnjNJZR84OxQLtMGTyoT1_sGZNoqxjMeGrlixdoTFaZFc8bx32_S0w_iZ30mdFqJagTS233B5tjplLvitgXtOrQNGEAEwf8nx6JEMHWZ8uEpVS0ro_mDJuJ6tRk5g14bZ3o6sHYfgyI6Otz5T_sm_SPg2wmA3n6ZCURm-_z75qoiUCHoPxlwNEkzY1b_USAMtHDQr3z_KOwqdv9bCJ8zflksnekS1pO0H-xelGNOH1KL_9tBY_k13WRSNmTKnxf03-NctHNyQgjPsujY0qtCVA0Tb-Hfx8-CE44g-PicJvzhSaj04qL9RfhSZR1fNVtNCzKCVTbkRkgOxjA3zGZ6vFoCyVQcpWtcD7cRsE2RWdKlzAMgfhfh3aHmHDI7JdzLR02ZNufXCl0WJPNUjCBYAgaC4pBmgcGG9TDXU-ZRUdXseHSqIv_dfszwvpgbt_-vKLHIgYoEeKsPMgYcQg17l2TVz8QtqIhG0cp7LZ2jAnU_N5zxYJaeUpWmHvUjrvnFrJiUxG_vSy7xAm8YosfidibCFhV9VDYHDwYGxpjQt6feBudpfW3M2QwhGglCI9ZBQU05JkQ1z8w1ImNNakI3deRztaa-CtMN0J_0KWpjGzmCjfI9-VMGheLAOooLlq1p9M8XMgnM937gdf7msZuAKJlCTA2UaeQJ8ERMfkVSspIan9zv7rWSD2l3TR83EokmqD9Q6Y2IrJil1l8UlwwaDDiUGOEEc6u7nd4BMMffxrfUZq3SoVgZ1Cx480jFodlRHJLQsJpqE5JBCkVFsaxpuCK0eAOdgt_vSPWAaecqK7QMmUmOwWlxPS4Ue5Zpos-f9U9kWjP6ihrg35qTaDctJ0iTjG3ec6O4aRAFn_emtP5gOlsFahYhLL3AojgDU1RaR1lhaoc0RRNCOIm8D7f5PlGWeEottO_5wdRxNiBitofoOptR9OCABPb-xxrhYZ7KzTPRsmBHhdppXhqBzOD4Di9gDfaktF23scNWpiytvzxhT8V0gfrmqoOBHE4YcymiNje1vu3YDNuxrm2y7AQm0WxeNxhbHvDesyuHq0lXxy0Jvs5mmVdSAIcb9TedDIP3nRbfrZffRvvhGtyxiMUzGGDrg3sP4ACLygLMnpei5k5ubf1Y7Ma1OD005xW8iuXnEcrTWGyxDvh7JMk0uLKRNw4iUFc05D_JAp7NX7kwTGj_VsS5MeaLm3jv1Yn07R_9wlx0J3iAFq7KmJBMJjMBtCtPkPVRSxgVmXsdcszs1bcw2CIXRM7Qkxksj3QGyTFviSJQmNroDybBuDK9qYIcRhUg3dle2evuEMlGl3r9JhgChs0G9MllWJMUlS2JA8_f7_fW_2oq0bX3xxN7g0qsTSLUOU1iP4O9TGD11oU2GorHOi7VZmB4XMLSUHbto3fVCEwXBGEGqMaQ1GsYmREXPUWHKQhfwIpOPqRXW7kzRZPDbtG0vm9y_IloNv7ZCMUzXbZAGCwAPrG13ePLt-cQu9sxL3vJn33gsL_Gfccw3kXARTBWR2LXIbWvjwNqZdIDUqqe_u_TP_n7QG-XyANc1Q8ozSs7HJSSehO-X85qbN3JKy9XgTMcwWi07IGIuS2xyp6LnIx3bRbxqWJ8bI30DIuh-zhPJ0Qu8Z-rDCOJPDSn-RGauVjAvAP8f935q0hZvquCuXIxV7PuqXj30w5SbO8HzRNGSck_rzDSiJ4pn4fsLoFwaEXrgEzQvkYO1Hjavt02M9sko4Fo5kSAoSGimXIspL9NTKfSUYlI91RxdOe43WBtGbKH14lyHyGfxNdOUDy94coSuPbpXGVro0sq1WoX7kDAvZiJJ7SRvh6Jqgo89mMDlotHYF0vNU3KBwZxXGA5ombGiFZEjolHKZ-UV1WtrXGhgliZceiHbVBzJ12ZUR_XG2t6Gqf_AAFruHz5ygLstCzHc4DiRUvaMUfGUTAgz9UwzBDGEOQ5bA5vw18SBOgz-3WNckoH-0fasIgXuWB4SJNYDYTI8a3wORtC0aeP8EJ_tuQGjm0IZyuoBXlNrdvI6lPB9mMw-2vTJ7Xy3IzOv44Vz0GB6DG3KYSIaqmJ93G0gt3rT3JoH1rsf8nDoIJqe2dLVV1KIEDNzcyOggR7CbYkQR5EX2Mvajo2yFoce-82WuKtrZL8PqYWr5j6u7-hQ1HefgVr1Ue22WlOCg7mpxOsPB6NnmIFE7rjIdaxK_QsaROaiW8a5J6hov4jqsB4t3796zGDRZ2zDX_ngsXiPsZxwxKX06x0iLO2rRcv8Utq0fqFbjBaZjo8cbI7kb8KP3JEVvVD2oI6nm-TgruKxRRoQVVVofKaQcn5U3GIuMfhbUCpjLXgb1diw6xQieK7L1v3Vhb8Gc0x6oF4_udi3ldF0xUgyefPNFDFYObNLUPxQSaLbV64VzOIHqF4qxXRjNEt21b4gZp32Nmu_6b6w9UaUVP14zZPUe3NSgGs6H0Hq2tudeBoJYjxRt1Iz--14uIYEkbNScRM6Z_Cn-yLsZsyf44an6fHnGW6-wTwv5bAAXa1F2NSNuOZCgo2XsyzqQcgMU2ILbEX3O_WtV_52bZlUvtxrcuH59izTe3nTy32AQf3hUVq8Y_y1FClXKT-0nDSTTce4EG9q-2ZdCzknF10Z6iWnlCHul0tdoo6pFuLbqC7z64vUBpTgmmkbmnwPkWM-kWEEkTSzzQpSFVH0X8FQyHEriGGxZqexKFpGdSELNv1hyvOA9yCfirleXFszMelpb55xUGvSTdC4EfgcRPWF71SMvwv0ohfQO8N5mvgMYtZNsgx6r5_98maYfLY62twsuZC4MIzYbBFvxboqkXT1LIHxgpxQv-qOpIYpj_RkpmRcr6p297JLgz8Bzpka_G_OAHHkpJf0x0oJLDMqLSOSonacPbT4xza-O0o609mHChiUHZVFu5x7i5-brUsZT3p_O26lY_oscxQOO51jE7exdM-E2tA4HG7VLLJ-9y-NFpajt5ztnFgoaeTIh2HHarjvJTvQekq3lm8a1rf5Fr7DiIcAQgRByfy1xXdHkgMxzIAmchLThDeK9btJdbHA6DmJXiiYQAs4N1vqYksOIqEI3pUvt3nwhoCfyAAPJSDlppkSK-aw0zJHwPHEZcvoenfMOdxFIqP2Ew4Lhwr2rT7RS8K4ZbpSeoHTY4blfNUFu0WxXIIZRTRLEZpnNxied7d06D9ViK_aKmon2xtQzz1qwi9rV690_7MHTiODGJMJPKrxhh-XP4SP7pM5mgv4RYRX0P9lwn4qtLGFbpmcUHG-0AvmcKWVArnUUbaOzfDMfxhYYexzKPgT3io_8PJWw5jNTx3HfsnDWRlWoGEnRvohQSNpaQvwi-fz52DrxC2URe3uWpORx9rtOSLlDuivRWa7vZPcmQ3Eozg_6rSYm8pPUoJn57C0m0htJaI-OLDp6Zddrr7NyL_eOHzf2rCSRDzm2rCzfsdEuFPt-nJfdhpWpXdry4eNQ6IcmAKCQFKgfeF9UmM4oHxQuA6xm1G3AzgEUdot8u7BWVUo4eFB_eG7_LYjAlXlCaJhLoHpApWVtLClkat3GfrUw2wQxZVZzvbDlTKpE0ZNTPoLZShul9yZjqKKgOWfNRW9G2AQXCAT8ZbnrjrDARGUH2MYqEJwe687tS7UCywr9dvEJ2A2q1YZFyJkmdwh7cFIlzd3GAPIe4XznfvnqSvYTZIJGECXx4iGi1f23-4wOnIqMYHJaqb8DiFO3V8HdfvdlMY5DRd-_ZNo4MX8Q6MvRI9kBgiYwnGUFpM1H3SRVj-3YaU0J999KSR9aMeHCcvXVe5Bc0-Pr-NQQ0v-IXExAN-38EZaBUNCDZMSeEURm2kOaT8uJ62-ac-6151UuGDyyR46LquvuL0RKvPPtGUVMqEAUI8KRjKzTb1hPXTfRejp6XmRzGvnswcpKro7H4_bSgIERdmT6Yu20NmHP553O1TovOjXwGiqbZWJ3Frp5caguv6t4QZfJfvq_anyFlZWn0utE_pmcI8tqYSvr8zo_Q0NY-iKzC5gW78bpHAAWl5TyheIZO59D2YdBDB4MVP4EfqujiqKiH6qTng5_H3gXKwADl3fXIyHjVgTiRGU8V6oPP_rEx6WSlYkxHxBiF7nVOu5P6cPLExHcBX8ncQ6rwSKW19s0oFSZJ2nCev3QPuSqP6bCVDx5DgV765LEj89V74qgyDyig-XO7p27-rAEn8DGwpFgyEbi_GI3bU9V_nQqryF-FSM1FQaZuJRRJsEw--qxFmOgN3QYtOzA-p7UwS7F-57KCWm74qcwAIJOpBnxWSclKBhpVU6v5SDA95SOeQl8GKDbMv0CVKhciymd0RlcemKIm8dwmtjqslR9Fd_nAV3ccQc5FhfkYRDcOjMUGtptOxbzg6eqU4ISGcogOpEuE-TfFZ5dAh809y51jvMb510qtCOSCv9_IVP3eh15Povq5vYUdjq6zCaYCXEGeZwbOswDvABRLLJNqEPMt-7Ns0yjIGdU7k5L-_teNNb5PCHbUSIp3svxDmjICZ3oC694Glx-ATk3mlJO27uQPFGOAGWHzzjWp0bpRSiKbW7gMYw7SlkYQZzIMPXc-XVtjtdebZtmT7C69LAxNenlIc3IeavaNKTkcDCGXdolPmXp1sDEMuEnko20mqPW4t4rVaCJWyoduoWKefX5cGUUKhoHIsdUp49yyu3S77PRomNM5h8Tk9kWXioCwV9_EVZfoO_IkVrjKzJZLDZr2ImpWVmzbQqyXbWN0fBhS90ybu8gfZLlCNtrseTotuXI05pnWWXjgsfWiJZNqn-DVSk7QZbZo5Pxgv_3c4lxVOaoca_Gkesromd7bXMmWEOjmzR33UlJE3TvWjdNm136DGmSR4ZjD_h56msU7wBDO2V4wsKQzRMaHVe9IsQ-VRSjgGCygtixQ1gEOxi6N7Rc-tqY9Za86iMfVKFTnScgEiKtml-IJfKWX-pVpk9IsNxJbcq25uHxWiHrSPyucFyIHw_Ti2SDQuGOC7aTJcFpCOVVESriMy-8aYWsc_DL1zZI1He1NvpXGc0QTOyyCBxYFHwWhaSM9Cb8-RBjR-jKKT39KEdg4Ltst7rxDC2nNqJ3Nrc8xuepzOydvUaBgh-iznYfHHshpGi6-MfVAkviFTvVhpjjNHoEZiY0DTAkVB2gcnBzOs0CPbdbjvSga3XdHHzfv8_edi3DZRnwmbtnZuLUHc6maksVc45A-xrRTL7GYbUgrXKnam50cFnI_D5qBlXYuP3iPhGZrt3XpM3ooETT_J31AW-9pjkso2UMerht35nNJnJ9oHIOUwcvrHWYEMfJPxnyT5jGml4ECQ-NkDAXv_IKD_8FHEdqhKi3wtFZqSZo96MH8bbUvPTJqR-F7Uyqh0gmh4hmI4mF7VM_ixGCkTnxw19cgpwmPS4mmNJSWQrZcmrF4z_WwQrF6s1-0BRhoKn_Ya_b27UPujuKrvAuJCJ9kijdQXpM3Fne07qZdjpY-abYliFA-QpMp0Dmw9tUdGSDV0F0LBCVVM-prJ-Q19unYWNMcM0ueL76UxcInU_PRhmBtDox3Bq0SwFhVTiGopC1ApoUOkWa0EavFTnve1Oh7vCdIr6buW2XBsuNvHN4ft7v8cvW5R22XslLi0E_tBnWpt-zhNNh4J3OLSEbSDVdmTRSQVuXWSZkq7bCopY9lvZNBhYzSHd0dVWvoRDiLd1FMHx-S0QPUAZ9Vlc6fDXhC-hFj07Hz4Rm3WGYVr6kNhZHNpWWubMpVx_vEkTvxv7Iv7ac7g_yhRfc9RVTD_MPn_MTQHqw_crQb5Ug7buPnLLYSYn0JanP7hpPMMfnybuFxUoGypZJMs2mtQB9BmwoBh7iZlj_swTEbI9D2ajuc-IxkvJmYW16J6erYY_doW-I5xCurCQ-N06VTRdL6m8JhGuMVIfXRvwC7YCvUAvFMq3B5Rn8QmeK2mBF3jRa3Iv8LpYga1B9IJXJA_Sow1GGSDb8d_AVEmhqCpWkiameZ2KA9hqcTYBJLfR_CkrHi_EAni6eMQcChs2Pok88oj-tMGAVV08puG-VeL-DsMTx_8oEXrqr8VPdzw2nhNpGXswm-nE4CJxVzNOrMBYew3c0mJQhRP8_fcl78nlbq5TzhvfQkCUG2GnshAJHNUB6wH7y7bWm2fcFi9qHwwf5hcxfYukeCVS8zZqWkzP_bWJwN6ZSnOLyci4lBxYE-c9iZD1WwkSCHOax-YpSESvlXZrMyG5_E2189kLUulVYzNJ6PlNH8uFR4lECGLkoK5A8D1b_fl6ZgLBMrF6_DnmSvOtFRgJKFIOYMc0Lq48DVATa2DuwyQtA0RQI3rt2Tu1DLH6hKJX2M46iAcOeauQcV3HCSGrPARVIW2qSKe0bhBb7MXwoS4Jh5_AEK6rQ0NOEOLfgaavoseNuGYBaqnMGiib_60IWmFaKe5Ce1Ssv8grAukZGT-kfa65a232_eVrGJ0QVjFYMHRL7b0J0rs5ZXNgLrYdvkN4xZvhccNFelpJ-gghB69xm2Psb2DVboq0OlkXgzH0gKcj-oTreSn6xZs0uAKRDibpj7OiYcqhU5hPp7CZyUG7K_i7kEzqtDVr3tfgMflb_Z-cmDg45NKkZd4nEf98TrZPof1saR4QLvT6pvkxl3IF7I-v1cvPaXORRXYx2ONfhXW3rDejWILWJR6MeonSWgXd5_0FIWwK6f2-LWh8MK0Zl9sT5xclkEbZ58MMLVpiUrDzntzlMcHOSOINyl6GqOMCywNw38LBkjsvwL4QeNveFpYqPpkTVfoad41cPbQvxaxl7_NyUtu2qb5yyYTtssy98kxIj1r1SOCooN61RoAlzCL5H2Qjwmjo5bApQvjSXLNMS6Y6LugXrvJfI6FRYBeGBUhL6WoNPejgFM4Aq_r07jF4rTgXb1RlYtS7FSNgmKZYrBvTkmdvuMqe5NF0Vwy3lmJwQNhdz5FFuqPPIsVxNRCeY9L_UCKbcFIIBiEHooiOWsjE7uqh0dHmykVTK3mTtCikymhflGg4qgdvhmIic2S-XPErZyhdhl9WS-8RwiBqj6xv4cX0Vk8K-wBakjNi0qxKynewXJqwEwpa71Zuj1je5-iBiBeHTF2a9MYtR_gwoFmzJAXeLfwPE6wrFDTMpUWJv3nGwf34lOXMyhpcAlE1PbBLZO-g1d0ya6EkKcCchXwi9x98baderhq5qt2RwVeaXDcSwus51VetZLU1_9hlq5qQaLKtINC9u7wnYPm5vpAxw7BjgGZXQZTEFhdP8inAwRKG1I6oVSDgOI0wReX_LWDhUCUq5ZRbyogjsXtJW2BcZ6S8i55vunhSkTXeSxmJUb6sMpg03idZNB5SL1vyApCFyDUfJYIhzHgwRVwYtrhPHnN9GLDK5UHNUNeGQ9IbTSb95Epxl5wx-BZaoF0ms7qnbu4F1jyM0mcOep_I85oiF6_DAJdPS26gw5x6UhQNbbJHvpHT8qZTCIddlV6gOlVZY3LS5mx1V1GW5x4OYcuCFkmJpUggqcucZb8qsXl-m2IXADin-xRskbNoIGa1Erj1Mkyafh9vpLKsqW1hiiFLsNu-845ErEEBX9a6uOpF82Bsx94YXiBqqhSJz7FhPxff-Tx1OInsZ1Qzf_ZVXp98r9jWXOSoZPnRBckhoMgoRA0sWLLuYZk3OSMDIFDidWf7igGXCFlDZy4y7tOF0SyMaLtGaC_rQ2I8_ZgFB0TuzHCMa9pTgefeYYzCzgww4UMMr4iZz1k-qUEZO7ftiUVVi68vr6bkbU8XokV4oFR1dmMJcMGH1ptwyOAVLwVmlhCoHcK5qu2eAHlRDh-2-_--QtNkiXZybBSmtX4M6DyoUTHW49Ams0_wQ0Dos_BZg6YZluX9_I9eouzSnpOZ2vsRfwDeu56r2ggF6tQwbrYaQhB8-4Qikw3UXbGLZo6iUq7oGRjAQO3HMDC0IiHf3Z0dOwSOLvXbEuMwK6_tafALPgJhCrhPrU2LH277n3ikGsnobKPeWza4DsDVjeeJuIfsHSJUb-6SzqUiJafQxFJUh9YhCcLpW8Ll2d59LxZ8Ao7gPA9T6J_Xa215VOM_4B40rmOXeKwuT9v1NRYfB40TwaEKav6dg0Grq-YDZaHVzr_9qjfKxooJwqGFLnbsO2YF5wRZreLnCXKgD6Gb1HYyXnt2MxYiEDHJrJOqZGU8xdgQiTvaV7iZgXGDr52XgJlqRTk9fUN68wJFi6H8ycYlWaSRHNB6b7TNc940u0p8nvtqSLa9POydCiF8ztp7urFMlGEAl-XHY7hRFGvznwu9oHLTYrVbJj6tN1JvmHkdAiz8qbS3Gud8tqXFDpJEN9xOKCDYi-MEqWXIoGZ6NQtNi5WenDNmkaZZbBwI9XRGCWlh2NZ9Bc_KRvGreTBC0wWk5W4pHwCmqV4GuU-5B3q42vxUe1UawYgESt11ywKw8EjqfoQXexVISVGg5yEmDuN41E2rkpgJYNTeXpAH3jniVcGr5bt-sPKT9FDvDdl2ZoNQ4Wqf-PAO87uENogGQ79eqyun9yMi0O-9BTO29AeAd1u0QRuq1CIV7yszWMpqUut-tTKxR6OLoT6w0F7ASuovMdZOHm_OYN3n4EPS_yk8-5bykjz6_E-i-zrkXe5P-iZ0TtchSgtBAtZEXe3OfBPXTIoTRdMP4Qqy_wpbN-KgR9KRVEtXTnis6gVYcQuRQMUwR5p1-kmh2GIbAVpC3FcOqJ8flZb7Q3pGKCbyYi9zdGaRntbeCxA5Bc1EWIdMDOIqTIO9v-TRcIZt6UyWEECImjv0VoOJYCPBBO_4wP-Dvf7sfVqhahu9IQeTJP1uFULWrY_w75LaEvbr8PXVGxzdydjSK_AJqniMySAb6be-K1wbKhfV24TTGdCbKNvRM9_S9v1QVCPu_CAvxnCnnYSUxY9Y5js-srZlZuEgvMc40KTpe4h-192rQrwcfLaJy5Je4AmeMXCD-oRHVlxtpIZjS3BB3rf_MN14UU8RwA-49oP3JZsGYIoUKqjxPDiu0qLu1oUdX0Rrg1C_ojmLfZn1LBDpqpPUY5Eas41JnQP9DNCiVscpVHfo-CmV9kSGMP6oM9bS0033PkZWXuPTltLiWywKJKpxR3Tk5sDXm5FBTDCKRQQE6HnyR_sjmjKhd7BLl6kO8YzwwLrFRxRg2asK0_UKV8P9jrqg-HA7F3x8qi3879BCAr8S0H6a6mWpC0p7T-thdRc1LI6z5gcNNwdx8eg1vbOjir7WnM0U_bef7ltdz9u3EY7BYfJCqs_FVRBdJ1QM6ilNsTffyWZgoN1fvALHM7x2jZrRq_GbdEJdw4gpzYLsknDYURIj4Js4J3NsCTJZtrL9LwbqfXBQjmlHr0i8O_vq5k8tJ38uVylo-rFiSpgM_7kMVYwustIr1Z9XY-NACaUUBHMu1zblWK27BmhRgig180qzK2sVtZOp2qZArIddkoA4QQhbLuTw09JQwKXgMUQ6ih0gZLiTNXB_2bsmog-UrjLUw4IYUykmhXnk-yjZj8deeUKF7Fz4zSccrWhiozGS9JbTdTLgUNZBhKiUSqPGM4wjmp8Bq2nbaBtK-UTc3p88PuVBlX4Nd_uHp40ziZGbl8h028FGFEeQqr06BcMBY-E0OYWhOOpSxx183MAJrrMZlRSSOvOewv6i3HmWxpWYgpD-CRUESh8-ljEvAHCOMvJOo_aUeTzkQaNUx43Rzdv88F3lRJYUlf1yDlSJAh7gA02Yr6Z0i4QXKukWLtgF2oxcW098izHH7b4mqHaDw--qfziW08xRBVdqWnEXt9oF3fXP-bkgIrD1zbBgce_8FnNnIurncVH62M5WEoZFGUV-ECAeapwR49e0iZyamqwnpwrzCcGA2ssXO1F3byidJcFQUkfwUTmu_8M0vyu97wgmmXhxr33Panl0q9w2HdUfNC02t_yox1_e8cKJg-4qrfRuWwmjW53SkoShVzQ9fTRGbYTP0jZ2oIU6SSyndW2Z85sTlmVIlQ8ZOUUC0NYAxasyeKEkFI8Lh_7HGTzLwFlxpi7MrtvpZkRODr_Np3HYUQ9kqvWzcAkzlg9YEaq1tVnmDT3F8bX60xBB_jDSzvvYbMpjtiai7ti51nMvJaUBnn1efrBiMkJQ5AqufQTWLqzTjemVCq_q6cYQn7Ei5aTARXI2-xjOo7cGBWduWRX2abC0hKBIsZsp537diBj20YEoVXcYK4KnI7x7oIaiaVY4MsbxaXGJyUQbKZw1m4_U5IKlCy_pNIYNVh9EnUIUTT4Ike8Q0zjToROqs6pj8sRYw_d6kGNGhmxeWlxTH0Ttqfx_qwp5srKT8RxiMCfSKHgdvLhlemmAlHT6AIgdFURouIscJXfoctyHWUKgvTx-bz3ettWiCmebT5CiI4_oRsS5Volu1ULrIpz_UN5ABbJdzrH4nLlL91Pl_7--RDhanqq7qwvh4JjuvLFtl5ZlGO9s-Z6iYSOlB2DKf5jbD1ZvbN_-wU76DSE86MuvffvJqBdsgf-PLQzNE0rH3Y-gHmbHBKgwwQj9K6mOzWSHs-ZaFU0fe0FKlYH9bDqxzdczJGxW41_k8_yXygnaCzd5gC9-jwqhlutt5Tf1FlB7-I5d3zmJn3vPVa56C4JJK3VpbOo4umxKHS9HaMwS8q1P-XRpMN5w1-CG9BqDnphNfoaNzTeqCVO3jqGBbSXknzZJutBUO8wAUzgFW7yjwYqyBZKj_oyaNN6e6JCrOGvnlEx8OwSRCDXGHz6NrgZH9EiNUvjU1lJPbKLMmUoyeWGVV8voHIWCI5taiq5l-ufiC0mjOIgX794AvNiLxXw1JM6hqLt7LSEVHZwWb83Np-BvAB8nChSt0QrF3ACyj7D6AEuTDU6nooGjcmVZgcuiYBn6vsh7f1JSIZ_b4xGEtjB438BdKt3RI6FjNurxIEM-QsFMryO7WHCBnv5FMBp45Iaw55GvDfT5-Q3PAscXXjO_RTYiurzjxD9a5tO5gIOCQYHCkzJffzSuA1ezqdeHlMatdBoy0bTwEAc3x0lGm6BQ2K7jgygOXKCZica3fdzvzdO_XKZxXjHH4FybbDNwhJZ839OnEOV9NiGzw4xeyI1B0_F2c1Z_eQuV3stxtaWqCV0J4A7kO-DIBs-xMkHbW6rErKu22X_dqhGqUvoeZ4q1Y9TOze6ef4qVFzh7_X3vf7QC5uzAk68owLMYLFGq95j4jHxWxlkCG_JS2ZBZBQC-N9PRNJ0C49tVxI_v_KGq2fN7bL8asNgjBFvSoRuQXscYg05lD2ivesTC5lQIWGHk4OE0izb2NDG5i5Q-X639c4wpqzCaD49x58GY-8xrF2RtrPrYtpjVf38BOlReA5TV-C4cxo30m5-f2Ms6GFp6IqDFGCdyUItg2RRwSkIX2DEySSNqd6EIHofZ-iaj8RroEFwDg6SmWIGFBDPXcWS4IciQC5kVEbe5k-KsCERmGslaI9pL6OH3oBHJY5OwP2g1vSM8CS03g21aIpfOZtoC1kxau24k7uDUQPkMmx1PQBNJlIaIuubprj1ioQqm9_ix3De8iirPYFxYyVxOPjX8Tkpb86or1dueva6GI36e-e0HMQZ3rNQOEt7fLnZjn2AVxSXq5yX5_r-Y-vXeemtAd6gXRb59_a9MLiLefavChCeofzHoci3m175meAIgLebnTy_BDU5ZgLaDztejl-f1fdRwJ_WazIieKpbYQE78wR-X5tkeJOrcjYL6bWK6ifrYf9rSOo9WR3N7lzJnCma5voMP2hS18OSzyOt5psay4DTb4aCsU7_lFMlUnizfKxS6FMdk1R5_R6sUYHHzi02q-2VtsA4gY1woOb78Rj9vV7-wN-3Rw02W88h8dUudYqsjNozVvOH9_G_CIA_9hn-YvchNdvi9ou7G08yKF6JnzJhuOFheNmbec5hheMJ9eRwI3mSd8EQD6Bt_jjv7WDWM0bHWPq2_FyNj860C6qNiOxkIhT432oBNfL9Uf6eUpSvpuzH9RIkKOLHRoG8YM9VKSVKgSaYOeSHOIyy1_DeWebPFcq-Ncm_QQ2EIH-XoIi7zZUxKU91CqWnvxgHNdcPZLbC_hfpolXzR93xXNEE90HO5sirlvju7myCGECe1t_FXvts57MWgpaQmViZfu29Ht6ErZ9pXnAZrV6oU8Y2tTo658uFL80cN_mjJEtnvZ5MxqxJsc1LN9kk6VXGSPBt7UneBBTbyUUMxa2z-Y4hrWNaT1ShLWsfkNAkbkE5V5k44phJamIABwhrva6RUXsBGW0AGN7Bmm_V47zO7uJHtHADBbnVtMxOyTARRPfZsJCXRpp-H6NN8I_FMCeGbA5JidiLDfPWdhTF2cAns9VZ6754t5Bvag-7Tu1bQDZ4omT0DgB0SZTVNoC6sMkI55wANkqt3JYkBzFbdl5aIrqMK_e0J6UjsHMeESlGUWPMQHu2-8ziNuIoQ3iZfnhK9VL3TBg47AloSDAi9xtliFWppjmQAxVpy39erG2zXueWLFFclL7mXDLYlL_0qBV9tlnVez5lDAJ9AUxRwPWSpxniDQ6qa2ZdNr6xajbsU6RfI-VFoaXa0HiVE3VOWLHqQ-wsBN91KbBJp74e4FXlpQ01YXu5UcNe5eNNPuXruDxTkaRsLlqMF2UPKroQX_5BgOiooU_qE1MbxtIrqBqbZbCe9OcxuYYgUxfr0FVefmz2zVysPpJZkHuuUSYmUg61PeoRKLMWQ7tkaQRiey0TpWe1iQ7pL0Ym6Me97EiI3ubB1HtmVmVJ1Qj8IbFm7IdMCFhT5M9TKtCtJgOw0w_cYma02mrVPnQSetKPCg_PM_GEHVDipVId1cpITELywoio3Cx_fzWjB4QiZZqNcrNZ-IVRrH05E6lfYWKchzc-St_AtYuBeQT7KT5Yh1JfCG3x1IedYg_-dm-5uhthzCX4u-ODXJAtjFIRDrt3NPo-28TcI1wN6ItgJ-CWfGCl25skJMYcnElrFH0t0K7eroV-bB9nX9v1b29OWocG8FGH9ulnqiSE6szf5lIUA9InIXoOxWr__W3PepTXGqefOU59gSYQ_5t5z-qjBGbfkicn7a37RLoAS2bEZIHxFfsY9-FX5e9RZxbMHq4zxCjz92b2CFF2YAOUyk7oUOTOxehT1N8ukdierOim_Libpo3sJf3KdLvmjIRn4Rfgo4vH-UaJIo-BVa3A6mJgb7BV-Mha2FpogGOwG64cSpX0lUxuRVAPn-6ayFhu-suBwgtLcjfTfP40zpqfIdhdlotuDnBiChDa0Q1Z_xmOnbVh48G51KyJ-hwSQhXRNVDzZURwGNimpIv1PpYJRuOCumKwxs7IpAM-aYKhOmERo5PHGNpaeVCQEYd1BJLYGc1YtbppG_YFbLOnzt5QwfIZf7kaLx_diY8oDo7BsEq7CcnKb7U2bpTPu2ZqTji3e_u2LuAMaMQVGcaEdlhGR59PzQcexueTUx1yrPF0Aqt7LZ-B6Yv3eJcBk4Hg8jhdCXFX4u-HKNNkuvuLVBRTmWhpAckgoJl8IHAhTjqSfqRSt8uXPp_-jE3RbdvODCMMiZuRlxPiYepIDwVhT1hyBjRzvmy3WzsEwIGQG6HPnfP7J2odMr-aRGY7VxmEzjj8i3uQTl_n1-pozNKbYEaTY-j4xUxwGoKsJlyjG5tOWapeL4Qva1RYOqXrelrw1Obqor6Dvn20RbJNjOqFqeD6mlZInGnTPxFcfIH9wnxs2-CstPdHw9IB1rpD2C7eo3X906xOJBZUN3rre3dIunI2uAjvFYIUIXbAwptB3V2nbdugx64b1inPr2ntZbzVAtteEjwjeus1--UqFV5Koju9FlT9NmM6-q29KjiGhwzId5_8pBUttXb3uowNKDb0et4pYfBNOkNEXsu4nTu2ZMNFgpr_xOr_syH5cxahktysDf5PhTYVuF757xqjtdVpwbiQjitTBzkaYayDXm2XyFORv859d6jY1t3MlFLaTW88xEPlkxxqpL8AMjSYnsX299oNErJLAMI7RfkwOeC7Jjrd3LdrhpIjX4T4I_-MCxzVB6G5IlY4HXrHkrsXsTZqYp0_SXuIVZb6VmwTRndSR7YYMqyDn8pQk4xNmk8ZSaBjakSwKOpK68H1z0l25CDyCDa0bphz8GQAEXjcXRw5mhseLkO_Kdwafn5d3FjTx7-jxFD0nOOcibCa3CYOgif5owOcLs9Nm984ydSI9UZnp7INUPJqkGlGX7lD5sF5cdYgPaK9Z_SEnJiCbylzq1g105QPW_kEQp6pB2pzjG08hBu4KHo8nHZ9SoD38DEZVZCd8pvwi_3ijMtmZ26jX3oXOuURy7z4dOrRmi9V-LFTxfPZo15KVna7erGo3SlgoFuYkRx7dAP5MQs5fN3mcM145TQk55an-0LcEdLM2hMG8T9oZ1rOh4iXN-W0siHhOt_dfx11T5xsBwzfjgzvd-7Pzd4lAgX5aE0Wj4X_atgG06VxADt8clq1ogBJ_8Vg84V87hWKHmL_Gc-XG0Fc9HsmPsd15sm_JlIyDEHNIBYnlrTR0eS1eHsOqazwpJ1LTA0M0Htq1OcaWrhe3e5MTMtJrvmAZ5ZEjTiZjdZFIMr7nCVofiOk5RxtE7lsNK60TPkQb3ZIvk4YFE4VdGobteanpqF-Z3ZVsqZD23cKC6oJm11JM01kssQx1mCSKjsG_4GSEUqtFYXRrdKv_eFsErb7IFdl8DwKUJYtHbyWUoGo2uqdy1fToYv7CpCxciiQfxFOeHiuOGg7vAL7bS8cz56A8ocWGQsCSTJE_dO_cGXCuyU2IjwGzM3-rdNc2I1zKJzuWyy6mI1GP1KUXqPrVIliyIyVXmFt8irVWtxF7Bv3-qhL2Mvf5CcZvPgH1m7D7AMaNmMMV79UbkJ9_rBraEO1CjWUb2nrpe2Kso0kWpqmwYn0Trg92ct2GTRjAK__EgR9aun2NgDfvhL_AdanJzBCcoD3dvFFJTJONZiWS9JRCqocGiabIgOgbo6oHdkPFzWHoCbmcycEdfMacd1RxI03dB_25OfLsCAiYsGdO8BCInvthI4YILjy52hNkhQYPaGEXlIEVN1STmQzDqZIDgzpu9zL_5ihBxO0KdqKbjklTWF_hbCcUzy-ud4yrC-BUexKKV0rzIDUZ31vahgTEYRzywclCU3PZNYlcE9APvi7rNT0Ng_3qxUjN6GDcjPlAuHmkeGWoZlirvKoNgoRXCYMrqXj0YgiVZ0R9ftJARU-_Vpolo_QxXQ_8cvesWRGzEHjdWU9LZef_-JsYlKj91GmUv91ogtGoYK-RRIiB52v45fEX58R--gZplWHZbr5eaHf43NLw4W1jwJeteYq3M82HfTtpmVk96oOf0-F3FCYwZTguDmV1cv0VZqLIuz70jd006YW4ESrFZtlCw-ZfocmGaJ9zg8SLv32JqPNHCgA9poDtdNThN7Ud2AD1-EXVZD4VrVX83G8a-uBkWFjmrbgA8ANJVnnNDj6eS5kow6K8ZSeZ73PNMr1CksHMJd7xuGTm07iff_eCAVOac5z-4MZqBHylDoqYiD7g6nb8Zx4cjERF6JUld7erIjW0r_9o8wAg3adtP0s2CWmrttjcjVHeBwDmuWGytfrY_nSLeByZmTDfOCQGVKyAsBQy12gx9GmV2che7AdMpqxi7gOe8eDyB26Dh-9I7YeLFm3kK2P-jyaOpVxzVyL50WHsU2akXzbsX_UBJwMnX95bfM3zjQfbe5pK7gpxFe2PKgelwOemUTxJ4hen_oi1RrYi56ORZAbisGIdsI-YScNk6x1jIb0v5-pFlB2HKNAho_yIeC_NHVc-pyTcwI7QWM8fWilxalhDeOmFCeJ0ccYhluyprHjCQQfYRJpOteAzgUNY3-81e4xZk_9Oo_7zNSSYSkVoZDlUSP6uX4Px1Zzgizy31p9cUImN03mC30Nwjw5ztzQtAQ4_9m9ywKJ-IPZQxExBPm1zPjdRTp-utWrY_VfN5L3UkAoMbQD8_XzfUq3P2AnKQ8EckrdT6UNqLW24ONSjvHuW4eupmnog6FxGfBnk3HM68HpDf_yyRgq3nIe4pzFlnCsDTtvEjqJaoNIR4RjjR-gUI_28zxReyEH9zOhOJALqZAPCVwCCSRS74zL2Wiw-TwQWCWjRsaR5WgYX55pXwQwHNsdm_MuK-mvxvPjEifyHBIv6Regb0IdTojBYwU51Xruv1wVQajbkjXRYZOPHuSI6CMJwCYgALN39Fc5C4Ds8pte6_ehBCn9g6aQHcq_tEwfqo-xYFXvbBbVBRQ9gMnE0XgTM4KHKRX6H0XUKFYvSCYJMcknq643pfxrIPGowNX_2ulhiJItnJBj8Id7YBzAyJwGpcKX13uS5guLX6mNdNF18xD1VpaUZj-raxQ73Z-Ze95Emw836cw8dzgPnz7P_b-1UdVUL42UrOMvRaqEMy5RDA57XcRp7COYwH5petPieLoVovkD45J5DmtdW1wsCLltFsCCDnvwtpBexPvIgXrBPhxkvkpvOKuJ2AXgryWqW42BipygschKLMQVEYAhKVQc8Rctxpb1daII-flt6A0IYRQHhJD7nZdRPif9ik0t9sFSOFG37XRjkTxR2NoIb3wsE21e3EXyPAKyTbJ9fm2QPsv-R4gzqsXOKK9TvUH6NKN0fnOoQ_DJN8rAc8t05GzW7ghlJnCTesJ0X3w8bayZ-X2WJXn3C83lTN-sdpfUQks0sj8lRoijMyBhdQph9xF_d2FDoMUD6WrIaklOLROX4nJ_8rJG31xEXLBH8z0I3x9XKpSYA97s7UnN63jJUjlwahUbqP5UIVOEp81rFzrzv6LeEu1Fi58fmiRlopqpdI50EOg3_o1xOCXDvT0wf85cesjkFMLkPJWCJkWJ9B1xfFBPM6H2eThRcYZZOerNVdfQsSKbcEMen8eFmfOT0z0vWXsyuUTVMZT6Un6s5uYtYydrMb5TEILh9fmKEyNtku4bQAj8ae312CAayW0_jVKgJIAu2nD_l0-gZR29fmmHOe2RrF43zbOxUSA_IfmaM295D_DhldR7RSnXQqimSFJG38pXMEeJelLfz5-rkDa-DsQI-qGnusHMJNeOFFv23gIfyGjxs8BrB6aFhZM2FoNF3kDGEAXu_NuOHx5z6pXA5016BoldB5WTACzANpVUx3tJSjkK5t7PklWl3ZA4UQLjONvG-7jSzU16IrxtiGMdiM3-nz_YCzTdJ-lL0TcjajF1Er8172KuaLobTqhEFVRmetbVe6QMochpEn4QJU2HarQ11xvEYren4FDbrecLYA95BChisjvQ2mMVq6jBDau60zXY-uvpkzhxzBfJn8WRolzP1JV2q_SLFtYSTG3WG1DdjcCZT6EW2yQesUZEbGhAWFid9ZkJnadXDscDKnaC_0c1qhW4hbXYL5eLe7u4_fzmRq0i3-QWpJp2ztXMRX2gqs9mpJd7ihymUCdr5n30QPzsNLq4HAlHAoFoQqumgnm-uX_leSXcDTxt1TcjSoeRpsU2kYKAuA1ebdOhjHPYQUcbjGerq7K17IH1Oz4BsGdllrdgscKILxuo5Ej6VegxXt9IJRgN6lxx85wQtWrJluUryvP3Qs-FlZj9fc5xpKsPjDLiGmbI-i4KcwKMzmMa-fieTroIXjiuXNPFdiouOMLearvPv7Zfid5MeyDUNOSmMoftczpIju09V7DbNSvpRMK7Cbo9iE61JgZ-rAA1T2Q9VzSK1Xo2zYx7pNZiBY-MqiWTlFMo4xBpbdkArf7WojqjKpYlIwKgtp8sG7CsPP0y43FH1Yxgtm-_G_rVanOqux2TYeZwnyxxamVkwcvcyyVdd2mUv5Z5ly-U7igF_mQrT-rjaxEsfO1X4WuhLbcWLllemvyvjxY4yV7fJqmhMkP5WNIBpga7osqokUd8qFkpE4L2jWEix5A_qekdnVVxkTq_2q9jZ-u7Um6BaxDNb-lwmWyRnATe9zSNmZPhEcEHIHcJE4g1_1C2EchZGeeNOr3TBsFNZ44-nTTgP8uwBxjQ2eaJGAmXkEiGsVssqfZlVTxqUE-CgFAhI4IEXuhReh1yFfi76sFr9t_pptfwgvnowO-VB_q1Uol8deiCg_K4EuW0JMOvAY-Rpfu786jrh7-vnGryH5Q1S9bSV-KCN9asDpv8Qg_Vff-wYi1JsCsuGlg_7mr4EP8UZ65c0am3O61-rCc4eXxYyJrpg-tJFSOLo3ACcjzv82RckNZ01YysXHF3y22Mr3GaNhqAaVz2NCrud4Y_SRBxnX77dw99TBFdjuJYIqM7FQSqv17p2_J7ocYzscgztLv-9mtUK2duKgh6p6z0_DDJugqWWsue5h9TJQ59FO8e8FqhkrepEgUegm5R8Ck2HHjTD3xJ75xjjF4xpHT-QTMe9sECkdPK0-7HVM-pUUDNgNuPGJ7VXDZt0kbrf0aeAxzoXytx-6Hl4Z-91EzDKT-TWBvAE1XvZA6mie9e0k-sBzy2g-N7cematjVTKVw6LS-e2EFH42ZX4iho58bhEW_J8x5QVmsmUgBfzQgmMYazcugNPf38ix34WDCOlGWubGAkcRQS5sEsY7oewCDkHDs2w6b-NvpqdaHkJr8pBso2-27EhWx163hxvOeaPfrTGlC9-5nYSL1H9ibrAEcq4bbCWhcpU4j0-T-2NsZrQgXbxDS6HHEjC4OfisdOtXMh7zxQx1R_VLSwDLjozfeoCyozx1mj2BnibUVaQF-PHGsEC90Yb220GrJztOEr1jeMthOQW-Ij6co6dUi2lnpAje-VAIxvOZMCk8Ih9AbARaWtnHJwgstNpI79eVQmEiSpgCVG9HlgONE4M8t6tZv_QWRbQiUvHTMSW9oP0thGBghUmdXkkI0Xo1IlCcj2kj0-MdodQnHqEHiONQ67c-xdryl514Zlr7eqRM7w4Bn-a7y_ejauEa57Gw1kk1uQZr-EtgBrlXcYNgGiaUq6kjId5gHD7djVbmq-1Kg08uErLxZP6qiAVIS19ScG5lmE1XRrDwwcKJ6fhwsgi7AmxeMeyDsIRLluINe7rQdyf5Ee_Nj2_CgJDVCau8g7qaGwo5I6jqFiPOutwnlB48J7mR0cppW9PPIUQmKh906fEM7vjaJVfcIUsZkLgofEbBo7tXva4QdQcouGs0tK78cNf2nLjnAUOlyA-ER2eLtdlXR3GIAcZ9vjUnTQq2lBrQbiwPkKLBYbanA8eJNhGZLog3j6RxwTDdr7McCDC3QUbIF7rr-CepJJwBf73jlt279dMhomhEjJBVeAnottCVqBZdtqT8dGNCibp_pTPslH6dBa8_NrSVjMK-dxRDmD8wTvNJL437KznWAwEfRLd885pb6aKzH5F1xEnD2eDXZXghdSSJ8Zgv37q8AXzfZ9WVbblqwaq7wLkqCbynYThcNgpaL-qJM1LIYqg7BtiTQHP1_9R2bEnW6Xx2AuKTqWvgpUbUHn7jD1efZ_j3Ce5GZkkNnn3bQ27OxgL9TOH3hlNUAxmXEHeTv6yH6MKjbOnEApsWLipVHc95B-E5vx_F9_FMnJV6LQaUiflkusTMQK99dAC_A37T4N8bMyXSEjHWq1P8nxd59NDcenKJPuF71XC6uxJIOttlbDMA-u_idA7Ih5pZhSglkQM8VgDEQBvc3I8o-N7fU1YlppnKo-QpXQarG6i0285MoF5NBBTa01k5rTOnXvOlKPt2I9R12TqxcJvHY0dw5zLv-bmbJcdD_y-X24t_0Y1L3m3Rx3kqHcLaPwqhAc16PqNktLFQ2Tfh7f0i_paehJ7JGktpdGkfRk4dYe5zjeDqSXFRcKzCWr2_dPEFJvKldJ39KL0ry3iKKh30XF2Ujd5Fn2Kg4M1km5L_dozo4aqgiclcdj3okb_a_NepGWHqPekvXP9mnOO-HVGdXm0wKIuJMQQRaA2f9TUw6DslAnp2BxIovBerbK2A8gaapDeSiaIDNb6R-rW3Qdx0Tr9uGW9QpDPh4in8OGKYBEOPJ11JUHlDnOUa7EglLgbaPKjfETuY3Y3a5Cf5bFcrus9NjUBSzAVUA8u0zQ3Bn1bQkuEIWvXPj-aiQ0kKy_GOzpZvwCY0ZmdMo2yF9prpnVd3frl5avpwxLzKYHAbNUqb7W-ZiX0WAZOrZCw9Z4KExozlsa2gzzlbRV9c91XJ86I5QgT0Hfh39UyLULXlbGgSlzlWQtOi724CkFXZ_zX5fCSjfvYeE1E-_GtRID0pvdVe03RzafVQtyEflEV25YveE9nrS0WC6l4MyybjIhV0C7ucsxcq1ngwXhO68IlTVGiV1JScjQ4pw0iEZRbOteFuPEOB_Fs5d6eh5JH8GAX3hF4SRv9sQ_EhKpocCee29sgjgJ9cEfDivGujh2qAUXNP-Ic3kc7Im4l77o_fppR0NT6utkLr6P-Ukj614L9OFjCZ1Cin9TGTmqWaRXo3l1_-fuj0EWVpznnc4zZ_SYF1woww6U04MM5rK3mwD-WfESj6ZPY2fAJVaAYQbbZBfmC52L6rDgHBUXHKppFrmX5Vm6RIC0N-9fg9rk-2W1QRVPoChAWy9X4lOtWV4LphI1Cs9CW1DiMT0dpSHfig214uMDZDDQXNCv2zuC_NQ776pcyB58mNpxqY9BYQYNewo3C7E5lZv2kfceoEBNqGRiGq4YWv--GvlNrGLtMjT2K8fcMwPQro9_PBb8mGN70vmim-I5D4FyOFuWUtZ9jJ67kn6Ol6x8dCERutbwpy7pW8eLK7EyVnfuZyDVygtAbHjZOfFxiiICt_EPx8zdIsaaWAywC4s5WV9LjVyVNNA7qFxU2gYbisGcpkxdvxoPhutP-tqbczRbM3fGfBprFxM0Q5lUE5CT94qu72nXdVN08FTL_9DyA884e55ZbOvgN7sMhxfPjDJ8vuGJQ8vGUl1G5InH-fZycHPYvoSUe7eYtrssgpISnkMyZuO-usdP_vD9BlRk9gvbTx-nk2Z1Q6C-xvRwVnbu2K76Xmei4vG_xXLjo5pqew-66oaa6QeqM8uqktmkW9-Z3-azaQR3BL3S4aP0a6DjP1H6267Uoumi9ksKMh-VTRIYCGWpEgZ2PKrQeEPs4S86xp4kTxfhVPPGOFGbGLSTwp4ZGd4oCy2UpJK0Zv8Og2Hgg2HQ6jKd1SKR_GaLYpCObnYXeBGknGCyQbCx-NqvHXBwcZ3GQSSOLdWV2JtYQXLakZsn8SKnZuAYRyrKbCBLP81ACKhwMpXwmdABCuvRk1ihllH6tOMWqPlPOpTLLte20ejNVh7cvruMAh68yQ4uVua93ldY6v6ms54v_PE0yVBJmZEODAfZnzP5ITo53TyTGjGcPqGgXwpktOpe48BCMGPV9H81GYABoIRTf_JbG6CG-ELJ_dSUYI_bJ7EPizIABt4eHsZqxs2JDP-Ye8rb50pYANlaOvWk4vRYBM8edbGwC68uZln1Ap1ZKCf6Tuul00X0uxuR_mHXJMifZnTJHbHPBWWs_E3bXHgjBD8YEiA4XQMRrlyYIx5s8Q2sTdsCJshbK8B1CRWj7Pbm2UGkThhw4A-iy5M9Ls9RNvYbSOJMco61PVwfddDhEALBQj8TR5mQW3EhkvkIUJ3jym7dGvDXib7IfPOAite0kvPShrE1RN7I2Jxht1Hva5F8axTOZiBkQ-mcBZErdnwT1I7huImT2WsZPc4DMSHWD-BKh18t_e3zukHwGniyRCt4yJ3T3UpXopexkpQKqR9IcSBRGNANxikWeWUAR64l61jVPRgArj6B8ID1Jp60eIVzljOcg6FI8SwUNVpb5uq-XmKwlEV8F3av_kkIbXsmDufgYQEEyZs0_yS5DbsAsyTTtwSAoTJ8_PXBDu_TfCcWSEtVKCmGQV3jnAyPso6EG_-hSkHuIybYpItQ3YnSMpefSUw49nk7stEfgKiFHtyfWnDVvmc-pTKW4D3A043z8XoaXATMRiGGPc6dm4XpAjyGWKLeSOVkvISTJwpuSCF-MwZ5aNi2MqEKs0ehFtvyaM6U8pRuDTwf000elzaPTvVPN5Hm6RgjpuV6b6aiTJtNy_cSHLaBBRnKaZFzuY9MRTpISrs13jFWmGZBWUxNkT77e3lqcSxQ_bsJzS4rgkWv7fE3tcOzaD7nce33IL9y0hn5DSbMxhknGZEsbtHYX11mU8sU2jt5eBiYsp3RilL5OycHY0rltwboZD7l1ETUZsKtKUCq67p5pAeZGQItL8Rvu2ET8HsCvg1Yn3-jvvaQRnTwfQiPmqsdh1z_wxJofI04RtiBNT7mo-NNr8he2gbFDaP29i-a0X9_FF6uvH3gHBLlH_zx1q1frtWcPS29ZYSk2ubnXuIcZ-5CwodF0ahAdkfenHPQbPsV0jy7WVj612zmsx5V36KixVRTyCIoQ8GpWXh7zEOwy1sj5MbUjMBiFhJTsa2g-l7JVlL-hTEcpEFIvAVjkavia30VY4I7W394Q8U7mxxPjf6suyNkC7fUy34lzckMVaQsh1zShgB1FFikX18PhS65WQ_3W3ovIqEag0uxEOqnKjmNuB5ZL9rmU4UdWM-zDG-WgfYSXjggcmXu-0R6A9XV6IdqD852ICaSzR7IbVzICZKbXn2fVG93ClJ4GCk2HGraa-9e1JhHznz2yG4WKxVjrvD59-XEHXHCOrx7jqIPhpLHmv92SR8jQdHss_ZuBXgHnsbAubGbl3Ok_Xv61eiafjK3ihSI9VxKl_T0Y3KzptcLJlUouWN4SgOeMrN5cEl6-2VAKw29Xp-WvWAsdWDKguJciznvRL1kLLvWh7aJSG9zcNZ4KLGgXZsNBoNv9iUaAeOLowLEAnOt4ueeYGYDXc_ICFwa9pYoh9QT7iu2r-5A2zUUqkhxDYDdYW0qLrpcBW7S4AW1za4qat3yEdbeHlt4hGyvg3FulW4e5OY6qICQgdkx6dG17-lFuIFnIu3xkshMB5EWL-LMWOqbnoy10e84z9lq6jx3GC3EFIhS8WlkyirqfLU0VoXpc1AdM-Exjyrz2T0m4rrCGBcw2r37ChOQYN164aLLrZGFtk7nZ2fUnIlyXAPCGsDXENdTyEk1pYpPwh-FXgJxxbayyrLIpUjEtSzrLV7K5S0PRCrd4GgpeLPtW4Jn7Xdn4Thl3Y_b1VxSKzKKfZ6y62ZAv7tdt0WKRwuqy8jEEgB87eNq5rwGgsGkptW8q-DGtYdRsqFPdag71pglDvDOwWcFYAnESoKIipWUzhMubVPZYOPxxm6-83EBqvqM3FWI6W-12jHY4mHTGkPXVx853Qpc42RpqG1ApX1wFE12R1go40xtKD7dH5yZrzJFCD1bf8jziUsJ2ywvTiv25o9WlQOiUt7J37mBOfXCK-e2-DRXeoYVVyjLVMm_d0aj4AddEcf6s3XpIyshDss5gLAWQ_Xu_mic0XyOQd-zqL92BsNUdUCZkUGYiggrLxhblbH3D4i9io03z7aAwoMPWM8FQrm8CoXKeVyvr6dCcUFIjwFWuokHHyzV1vY5UulAWytLC2ZPK7c8yy5dryqeFVtKr_Hlh7x41MQBWCeZVP7I-fqmPSx32alA6fxk0Kakpz0-rH5K3pM0Q7FMpBA0YRvEoM82cNjpCZuYYmQn6vt_v38xQK6hWeWarvPmq9XUBCB6BbzhA6DMAZZ2RWmgg6pdCE8GrydnSTRo3pGvvaTZs8iZYoIuQDgaH7kn992J8iRfflU0AJPP6zlkTdob_s64W4IhYrQ0X0TmquEfOzHRjAg-kDCyhiHzkIcKJeRte2qB8yfl3xfciooSQv_LEM5BKZ48XeEV3Y1-khND0GOEJiO5SPRquhYO9MDaAxaCt4HBZg09cRNNFuzrV6ZG2MHbRsccgiAOBJBafbDMZ0hQYXQ0BKFGwukJwwujxAYqvNXJDiO47LlnSdGAodTQ3Ta1-e0NLt1IM1X5SA5Ap3nJfT0QVDICmvvYuAXVM_O8CRs1rbIbnf08y0v3yG7jf3n-ExjY0Z9tCccLPTGQQuUsQhTnb_Lh7_xLuh8gu1pXzMkaEI5wMDWKn-0UotJbuf5F02m5FmS1IqtIfy5sQSH90QQogGkyJdfF_wk4CBZKommUwFJfG4arxIL-36s366QsTSEkN2KQjvXjWSYwQ9LHWl8lkko0qbyo8Ef8aIJ20MdT6Say8a_fkZ_ROsrnjGCtZZp0teoosuzYyrks5j8O17ShCgJBwjf9Ifovqnwsfe3h-9Figmb4c5W8dqsREhOtPMRcg_81IXZx9xmxePlod6sih16WCWV3fNfkZPDWh9hHDuJAsv_rKUOErn-wil31U6lPhqBGR2G5afhbTmwhfY4fhriaGGtzIPkiF5XatjEel2TNRI0NL4_fOpCHerD5m8gExPsu-KBCh3JlDaV6pH2THS6fIS_aycpImO7pmDfWm_QkoUHVGJ01iPYy3FcOLP4GWyQIASqGUULmBg5xoZDcpKzbcfqQJ1FANrGhy-hxkF5nNNxDYVJq7-SUcwbBN--CYIG6GsSNTT1KQY33eEej8tNHAzqDCMLF951Ta8rDaAj4Q-ARte_c_OWnrbQzWAsBZsFFuctsshU3jQW3wsZR7_gQQNQ-jd_upNUBcO-bQjEqXhMzm-FjliKSGp17PO-weoLbnUZfkaI0YYgkhL3CYeMyeLlOfLbRRBFmCXxO6iJ316PSulG10M3NBAjsc7sffX31am6uTMRtcV95rKjScZq1V6dKh2eUcQlD8x_xoMp7qwrBpcf-zfPE2HlbUXY6EQrYOISqUzx0RUw3mtL0cyE2eu6LcXShLXM9ZHVB4m8n-9Cif4J1eeS-ZnKJB7_uNS_Jr6QNWgDecFe5zDueS3HJYFHGOrjAkx1blwAuPahqVCOOepvS1kakGJskNdEhdKMhKgydhnE0PA3_8Bsl6Vi9ok7lQguvBmyn-rzINRPRE070H-lNdTCYt_9OG00WOVa1YsIV4B6InUlwp7B2IwDZllZpg9mgtTTW6kBvwFrrAP0tx7VYLoS3RZrRefeDxTMXynmu-tCYn8Cve982oL9CYV7zxW7qxuMzUA-tWfo3KOk-K8w3K0V4t7WeUOLCkDhvQfQdYVfLLBKrlT5fqhEmQKzAueuRjfCpELzVrRiJzawpzOWNoWhS4AaQ-X-kUzGleiu9qEJc9TXiYzLlmqPHVO5PmFqn6_VnPl583q7AFzUD_77LbBsCFLXyNX-mBnjI9slAfgfkA3eWOP4MaZqgBwiwIjgqTgFaZGCl2V-fVG6_C8meNpnuCRqqlL08C1m6fvLyZgIBW_BrSiyoqAsv1T9WTq2e5jomw4FvYjSbAXJpFZ0Wn5Q9hoAJ8JrEIRq8YwLFJf7t-rQsoMmsVuqpZJsmbXrsWnMNGOIt9NTI35cu80vQGt0jF-KmI-ZOFEIZitR5G_Adbu-UIFDc4Maykh8TsHLFjIlv2Fnk1dU_3cl5Jz4oWidOPUtDAaiHtmAAotECaMsaT6q-hhgsYLGxhmDQQhJqlwCLxZdKEbx9v7V1-ZKzRjCXQ1eCd8Bfz2qQm7kfkIcrmXcqkB88TIdQantQPUESjAJL82BVGJs6d3QloOE6qr-0MNjHJXMaY11-oqcNtDs4x_RgJXUJgkMPMMqQXSPVEWt3byXQ8FniUe6KonyEP6J5673NLJARJF_Uxi8ifqETRIcI5zeXKKGB1Ft6YRHQ0fFsQTylhvsAclmHB-85EDvaAuWueN1zVfy6YaprXm3T7JoThQHeigYY6duiJJwC66WsY4im57poCBqgF5jNTlPp4FqRtB4gUrrEUn4SHfz_xre-1aFfcmX8bxY7Xkh6wn6NbteNcjX1-_whW1rvmv6DdVtCeNY9W6TElSI77rzhDa0u81aDZO7iEVWcMbqZdhLxJMuTIeh7p5xaZhBUAUDpyQ3ikUqr_mq_V8znT6fRsbYrFUjyBLnL57yWuH5LSu_rB51YOwLlb1GG6yQym75ejiQSdYBnN9fyOtZTteEaI9TnRlh2f0LQOQoIbqJpDrdXmqX5TvtU3Fj9ATNVWnKpCVBXAlhLUMn_SWmzn-JU0wrYQdtAspF3czoVUtwlbKjWbtCz-Odq4IneAnAA_xKosG3GZL1aLdCTOMIWwMdXjX6o8qLjwvTg2a8XCbj8gMSkTws7aOxGP9bmgzmv3LM9VkaqOAFF73UU_YlaUW6jarvBO6E4derULvYK3i-Y8AiJ4maZYXmMPz0TnIHg-MA3DRqvzKqFls1iFvTsKRFo9GdvomUo1QJ6_bgldg-OLB4in1I_FIbVufKhbSkJN9n7FRkeUJxTGYL730kFgOpkYShH_BZ2Tt-_nFfG-yFfUMS3oykmY01t1nuOJiXQJrhC8dYC0lD24y6bypp5-duWIeq6Nh5Tn7JOAmqMrJC8iQdkVkWlx1gJXfjN36eBQrTeeDl3bAMp9I9LNsbaYv1VnYO-LrLM7kpzb-Ilx6030Oj44X-nDxjB7UyfmzmarI77_p4UuE8GmeiJuIGwyx2VAbPWtVNoz0bKODNt-glH8NkuULc57eg_TOZ-PsCQp0Z7PO4g-xJZbGiCkvSO_9azCou0GQCTw6LJCNin9HV5OQK4z_42KRoTssd4se_ugYkT6mUx0D51vftFhYTRzfhwosljxMV-ls1A_8zP9W_dSgcwgneSYnGnN2BmnRs6hYXFUzxiixoVU5oGA3uVKKHijr5tRDJgM69r14WEgeNSH3ZbQ13bGTTgKnjfqhWlv9JLEv-aaU7lfHWV-x5RhiIUc-Y5E5HJs7UtwdH8dXMG3LfgzuSlJZXWT1LfTwek-BIg1SbNP1hGwA8N-ft9R83RPAd5JdaedB2ewPSbyiG-hD7gV1LsSBMA8-pWlg3A2XAJT2ujb5-WMlH71W4ScWPU1uHQ3CmDH9rR3EBp0qA84UMr6jEirIzkL_cLNAq7ilP5Uo95w6q2Vho_aFNeW0niz7chqlx19ABZ5ZmNlU3ZHKxWt7ApSfSQhTOcjZE7cw8XLy4JvI0-7pnP3J8MgVh3VfE5yHZi0TXmZPgDMG5A7kvF5AyV1by6TIs9MYrRqDpgYGvlQ4-dhGsI1TfixocTJmZ1quuTRJo8YUmaSFXY3Dn_iP4mM34xd5VOtpOdudjWANaDRQJusIP69eGAK1cCQu-M-j1IXIHCdNSmSfTFqFmqKQGhUSI2vbbo_T5xLSix-77nprQleuff1RYUKQVXNjgf7EoaVwGehcMc52lJH71wP4o8QpJfnqH2eaqgtu-Fbxb2tWQ-nfDx7wB_FmLO8qs6xsIy7KjXKjTTBcAffidvx0-2uFLkWFzZpmDd49XbpMlS-Mvu4v-IJU3K4Gt7jFBNaDAudFGCIo212Fx1tkEY-tc5-vAnNKUYAFISlYvqGnnRP8nhmXdEWuphndDeAItRAaTaX3ufUk-2hr9TcayTWJDCYSBcIUFMwZkTSNxtYBJc_bM-2CoCAhCLXXOHdMQgq5wTHFhXGcF85Gsb3Jp6t5uhVZpyPGbobLaVbt3qsYkfQf4RTbBuSmxLxoPWCkVeDw2bDiyUaO9xjXW2ex7d5h4gzJJly7fLRBukcejgTEJRQSCquF4d-CL3kC7PFm0-qTMNNaCaj0lkvEZTpFygW6-4wtmUXbaeT0OgJL9Q-3exo5nI9NLD7Tq8otnyC7D5XJ4-KMRNp3ue6yKsOq3AK8mCMMpLDe5hqyr5AZm0TiHEhokbz7UG6qTPMnanieMCWbe0GTymgIQWgXBeSKCnRNifqqi4_4P2IQnpXLO2P3cx_rWpXcHTm4dL_ob2yY3QKt-O5lWFBqoTrKao8IhbKnOn2DptSIahRAzXEnKoBYKz8mEWFL_t-Y8xJH8BvlRcMIbH1zL2mK445_qzQa8F7F7pvTrdxXR50Qr5ANQ0pnmDqgcgSwOwc5FUuyy2UOe2vZPQzDaNL0d17YkZCC3-wNjOTLitILAI2bKKqzuNfxDw6amsUSfGzjMU2sKZCUfUmsLUVSvcQKdiExkF7fZJJcQMX-6B6VoOP_uui2O3Ypcas12zdRK34Y0XK2mAz05CJXS01GrrS5VYlKozaivV4hthPSU3VlBGzltTFAQgNQrbGrEmPurRaPuozndzZAq2L5cwpiS-h-WAwfhL8vVynmA6d10euDdNDlve5rGBYc4nEGejNKhYfgZcf0bg5MZbDfsQXhXzm9vUFddP4LUy-z10fnSF6HnnnbkJskuLzXBQSnSaVhd2FAMf5OdjctEKO4_V0yoT9Sqsq1XnE3NyoweXexsZle1Jzo8WLemNVt7fe524lkuGrDCerel2iAe39U9xL8drU8x0zFbmL0A4Xu0QwnmNWykZRxbFMDzz9J7gb1Cdf9sHQR4-wF0n6wBdkNNXLjqmvPJVfCknQIkyPrw0PVC8WJ8A_nuYSu41RhI6gYtMpMz2sDtTUPL6PFpRvGJ3GTxt6-lFNGnBtZ--1J3NTYYemBzaHkzDTTbB_oBFu629B88Bob51W_JPrB1zcYLxdfK_j90PfwX43ZT-Fz4a9jahe2M0ptfoabl6Q24aa3dxuUd90XWKIMHWwVxBjrzdDMqqqHNb3pCUq3ehcVYxgOxNHQOTtUi1V_q9es30883X9q4WpE_BnmFhEDBDVuyasjQq8QBnND0EciFcu4s8eVR5ebYb6HYS02i6PSqQSkKjUaCXnSYvcajxKPVxT3Hj1hdkr51iQ8Qg2kxGTzT4GD0yjqAYWf11mVhg7XaoUqJHTPVFMK3DzEGDJbf-CzDCpm7cTvfKPou-p49-kYRw501e8s30OlqlZS4c_KzYScUjLAxBtqlE8eIFVO1n9JTVXlqJnCo8wIlDiQWRD4hsc15ZIFgRI39yJTPHRi9UynXbfJ0HfCVRVW5Q_YwFYCPYEMchHw8M9_ICo2McUhgLCggj7TC42BHnPpFtQAbMhLII0_fe8laOeB1sDXlE_gfDiv_hOFTfE_quTFAiTQTxI2DFzUsVYpTbRo65P4mPkKYZCJPyxShJc1yW6eTqsA_0RvmlWKph2NB4Kx-Qy7paoONDLqyzDp7y6gmFG1RYPdwvmQSPXsiyVOaUnRUKr4XFWR1H4bKmfqElUKrSeuklS2gLvWuBCX-QwW2njV6iWoEMxRmH-OPBNt_2k6SZVlord4yMKX4rJPUDy0kPugvStdwdwexIH_7EflhwWvqImoVl4TH___meBPUQBLkH7QdKNX5QvWxpbBkB3hz-w-KvNz3D-TD0WDjCASXy9acY8qTbP4_w2lKhJvBe95nCVWmzs0eD3TbFTL0GIdwYoYqQKT4bjqAZnppFMOSJ77B5-9XfZZ4TJHbS9D5W4K0yB9LodZJ7V0AQkGyMB9gcjxNL1GxvaXoG6W9IIw5jH9Qsyepodm4CDvd4BVCNfmv6PQ6_-VaKXHs5Wei66ABhGNhh3_khPkgxa37Du6vFPgB1dahrHnFBv5OZSUqgiOB7Gc6GpmVrGX4n8uK18iexePbMAw6T7s6kOK9I7ByJQnjq5ip9ss7DtJmHV3bql4bmeKjK0zysbDcwKWGneUZAlYXRptzFKe9ceO3P2kp8-40PP4lsZ7b_DiS-s9zbtmI7F_OhcmNVALy8cr2ZPvDftHFTqt0EfLKvDBu2XLADqo2JDcqieDgsOPjQN31Pqu4hocIewwJbidOhid3iff-G14iXnHQKntunD9ck-m2B3HZ78mgQOIARpLnnGSQzvrCgAfbPQJ-Rzo23A8Q6ErQOSZPYIlEjH-1CMzNAYnGkTP2H2ybDqS542dgk7_TFLfaqk-ywXNL9ahyOndavkuO4V7PKpHaDMqBLn5VRil73VIywFX3htZL_t__npiyNAwANdPmiivbMmdnBYAQ74kzI3Dq9FFkJLrzU5MQ1qJXLC0zfhQ6GjgZ-G9a_5b_aeNRoC3tX4Yh-lm0gwn2WxQuJ3rpkHH72M4oWQBvQ1Izi-4OnrAlDUiiv4urIXJbLK4AD6_ZYRhF3OxMsD3DfK5srN4czHbw4BtbE_o6vDDhaSvsaqK7daz1b2p7uWSSoIYg901NAZ_oJ1porPFrTjP8p4VKYAPeFJ0ke1rl3-nIuMi5P7uyQg9OWIpJRfeZXOkZ_Ye-hBtc-wcIQY6tV-KWSrxU6W33Gx5TP0amINHaSpzONLlqv1foA75mV7uz5b0hQfX6fhO9XXQpxuZna0drOx9d6Jyo5K0qIFkrBK2FlDEiqPc1Qr06QQv26TL8OU8tcQ8kFKaDkWLCaUBZEbjPnqcOKwWumImSgvVlso_PG4APKmMKqSA6f9X9bksbdUW4CFmuWVEj1fHXm9HG-OkjOx8XpbSKtAmX-vbpBnjXUQ1NnskiXJgvEi3-XiQ9_ozEEBjnFoXDSEjrtay-o9aWIRflf2p_QLckLrd5cLstaB7bfiZ-70Fd-WOECwciESOGXMVbF6BKUB6ia4ew1u9144W61zVaNQ1aCEmHXcjgnMMm3GyfVVlMR5H1bvfmf5ZWYxhGtgASnFoJHWvw17vRlJYAnjZ9zFwTQvnhUWYKpAoVDPnQcBW6EjhK-wI4IGVEBEaeswm5EEgpn2OeV9YzV1WNshpPGoHX8Gcja0HE3b7BuFNX-lnifVnP4vU5hNUK04oyHlpyjVR5aFR0tpF-O6YSNWVEKh9OWrua-jKAWmyuhVSIfBoWYYsRfNnVSG1gug5DujawU8wWrrW22XCmJDJdfCcZGeb4-cCfrf_ONdiWmCxvIdFNyewJgqoXtZH722aXjPc0ws2W04VkTGqO_Ong4f4qnoqcdXUJApE3ss5eyMjZHVD8LM3wBUOIcg8S2UVgXl6b3Zzcm161Fi5va0jH6UizbFi-3gUjNrWmP8jExJKvCLwjERw57nqppNlkx-aNV4FTcS6Xb8A3n-cX0RbJj-O4C5Rn6geYWkVbrZbYZlM4oSqKlcEz5rT0dlpaMAwVx9zrTV8AlZwjXi6tpYPXS7TqJOEentSbP-pTHjBYNduFgmLHWXU8ymecW4WJBjSN0hsw6HejFbFNnEwPxLB55pe1NunIhDsLC0GtOoBNv6RbbuiPGFhBCLWnqWb5HC_lYPNDeTj4P5oACf2nT734XbXNAsNEjxdou3h3LFQ2T2KKkZULOqOhdCtCUQJcKLFWahkFCw03Gr9k65NVvyYM33YxX0Kdvqqf2qgJWvHWiZllATYOJbUgirSnz26avg5-bFgdXDJB5-yfvzFyz5pqeP82npsanYfshqynLMbSccWfDZqblz-Ir7JG1JhN4wEX40nUWfmAn5RTOfkFYCiug9rRgAV30R0MQzk7EQ775PjDze5FlAHGwN1GCuMLZ1HOZtoFJMwirQOfahoP4x1NRPlc0SPOG0wnjDWoIMRYbXHrXWe9sjap9DhinpIpbAhvJSCLVz0Ga9VYmp_ERZQ5J7VxOSg415o0X0-1V78JNeazkYzs09iInHTEVffj_OFe3Crn5aNBVefO-dFmz1CeVN9nhqfuAAVSvROq5Rv5AAq49HIR811-mIBOCZH7ghxU3Y7p9FxJgeZ9gpQXOPnLZK-eLchIWbmeaX2rAWQOpXrvC8ifiCiJ1fSKSOk8CaqpQIIK3of80ZDQQwatdKOZfc6dIIT_OrAA-dYNi6xHKCX0gx7aK_FkChHqWothsU0-js1mRaLaZ6GjbOZ904tY1dhReb5ammbWMLkk4LUxKTik3qouDrnX9XBpf_hKpRh_q5olfDIOxNJO3KReCfaaJi56VkwyZWXgRvEX4DVHazoFZrVAHMVBFnNcAaMGRN2GzEJByXWheFucTNnwSTv6kxckqHVT9I_IsPNDYGSxkY3uKdouHI_DIZPmHU4-XrN0G1POcRSSSZGwWTnNhwDhE7k2P9zuHzYl0xtAge_R7fL76erk-X-RDE93V1O5WXhGqxfmB0vVjmKeZ83o41ZNhSL-M0Opqv8pIYjLhkRcw0X12hgZBWaeSgUeReTVvzq_NEgrmb1yLTJDvQDIUiVYOjiHSCIMAWcxWjPg6BzEp8hXfLGIe_K2vCYGxaoarJrlSMV7Fak0jYwptcExzFzD5vR-8FoX1hVsqxz__KlMIPfz4MOGMs4RvHNJwYdWjEh5T_kcrbUck9rpLMTHtCYvlRkE0MYOnqhA";if(!e)return null;if(Pt&&Pt.sealed===e)return Pt;let t=null;try{t=Sr.parse(JSON.parse(un(e,Xm)))}catch{t=null}return Pt={sealed:e,bundle:t},Pt}function fn(){let e=Vi();if(!e?.bundle)return null;if(e.runtime===void 0){let t=Date.now();try{e.runtime=Tr(e.bundle,{signedAt:t,fetchedAt:t})}catch{e.runtime=null}}return e.runtime}function eh(){let e=Vi();return e?.bundle?(e.keys??=new Set(e.bundle.filters.map(t=>te(t.slug))),e.keys):null}function dn(e,t=!1){if(t||!e||e.length===0){let n=eh();return n?new Set(n):null}return new Set(e.map(n=>Qm.test(n)?n:te(n)))}var qi=null;function $r(e){qi=e}async function th(e,t){let n=await Ro();if(n.size>0)return ft(e,n.values(),t,n);let r=fn();return r?r.selectFor(e,"free",t?[...t]:void 0):null}var nh=/^(?:grep|rg|find|eslint|ruff|flake8|mypy|prettier|biome|black|stylelint)(?:\s|$)|^git\s+(?:diff|grep)\b/,rh=2048,sh=2048,oh=32*1024;function ih(e,t,n){let r=nn(e,{...t,keep_failures:!0,fold_passing:!1,mask_abs_paths:!1,transform:void 0,truncate_lines_at:void 0,max_lines:void 0,on_empty:void 0},{verbosity:"normal",smartCode:!1});if(r.trim().length===0)return ue(e);if(n!=="compact"&&n!=="minimal")return r;let s=r.endsWith(`
78
78
  `)?`
79
79
  `:"";return tn((s?r.slice(0,-1):r).split(`
80
80
  `)).join(`
81
- `)+s}async function pn(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=ke(vi(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&Xm.test(_r(c)??c)),f=xi(a??qi??Ym),d=null;for(let A of Si(e))if(d=await f(A,n),d)break;!d&&s>=Qm&&!br.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=Rt(e.startsWith("bash-tool: ")?e.slice(11):e),k=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(ke(m)),g=o==null&&(k?/^(?:fatal|error):/im.test(ue(t)):wi(t)),p=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
81
+ `)+s}async function pn(e,t,n,r={}){let s=Buffer.byteLength(t,"utf8"),{exitCode:o,yolo:i=!1,resolver:a,...l}=r,c=ke(vi(e.startsWith("bash-tool: ")?e.slice(11):e)),u=o!=null&&o!==0&&!(o===1&&nh.test(_r(c)??c)),f=xi(a??qi??th),d=null;for(let A of Si(e))if(d=await f(A,n),d)break;!d&&s>=rh&&!br.test(e)&&(d=await f(`bash-tool: ${e}`,n));let m=At(e.startsWith("bash-tool: ")?e.slice(11):e),k=d?.slug==="git-log"&&m!=null&&/^git\s+log(?:\s|$)/.test(ke(m)),g=o==null&&(k?/^(?:fatal|error):/im.test(ue(t)):wi(t)),p=d?.transform==="smart-read"&&s<=2048&&(t.endsWith(`
82
82
  `)?t.slice(0,-1):t).split(`
83
- `).length<=60,_=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(ke(m)),w=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,$=d?.slug==="read-tool"&&s<th;if(!i&&(w||$||_||p&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||g,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||g)&&Fi.test(c)){let A=Bi(t,l.verbosity??"normal"),j=A===null?s:Buffer.byteLength(A,"utf8");if(A!==null&&j<s)return{output:A,filterId:d.slug,rawBytes:s,filteredBytes:j,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||g)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||g,...i?{droppedTail:null}:{}};let I=A=>{if(!i)return A.output!==t&&!A.droppedTail?{...A,droppedTail:t}:A;let j=A.filteredBytes>s||s>0&&A.output.length===0?t:A.output,J=!A.debugBypass&&!d?.preserve_exact?Er(j,"minimal",A.filterId??""):j,xe=xr(J)===J?J:xr(j);return{...A,output:xe,filteredBytes:Buffer.byteLength(xe,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!g&&!Pi(e)){let A=Ni(t);if(A!==null)return I({output:A,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(A,"utf8"),debugBypass:!1,droppedTail:null})}if(u||g){let A=i?nn(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?nh(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?ue(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(A=hr(d.transform,A.split(`
83
+ `).length<=60,_=s<=16384&&m!=null&&/^(?:head|tail)(?:\s|$)|^sed\s+(?:(?:-[Eru]+|--(?:regexp-extended|unbuffered|sandbox))\s+)*(?:-[Enruse]*n[Enruse]*(?:\s|$)|--(?:quiet|silent)(?:\s|$))/.test(ke(m)),w=d?.transform==="smart-read"&&s<=16384&&(l.verbosity??"normal")==="normal"&&l.smartCode!==!0,$=d?.slug==="read-tool"&&s<oh;if(!i&&(w||$||_||p&&l.smartCode!==!0))return{output:t,filterId:d?.slug??null,rawBytes:s,filteredBytes:s,debugBypass:u||g,droppedTail:null};if(!i&&d&&!d.preserve_exact&&(u||g)&&Fi.test(c)){let A=Bi(t,l.verbosity??"normal"),H=A===null?s:Buffer.byteLength(A,"utf8");if(A!==null&&H<s)return{output:A,filterId:d.slug,rawBytes:s,filteredBytes:H,debugBypass:!0,droppedTail:t,failureSummary:!0}}if(!d||(u||g)&&d.preserve_exact&&!i)return{output:t,filterId:null,rawBytes:s,filteredBytes:s,debugBypass:u||g,...i?{droppedTail:null}:{}};let I=A=>{if(!i)return A.output!==t&&!A.droppedTail?{...A,droppedTail:t}:A;let H=A.filteredBytes>s||s>0&&A.output.length===0?t:A.output,J=!A.debugBypass&&!d?.preserve_exact?Er(H,"minimal",A.filterId??""):H,we=xr(J)===J?J:xr(H);return{...A,output:we,filteredBytes:Buffer.byteLength(we,"utf8"),droppedTail:null}};if(d.slug==="tsc"&&!u&&!g&&!Pi(e)){let A=Ni(t);if(A!==null)return I({output:A,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(A,"utf8"),debugBypass:!1,droppedTail:null})}if(u||g){let A=i?nn(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?ih(t,d,l.verbosity):d.strip_ansi&&!d.preserve_exact?ue(t):t;!i&&d.transform&&d.transform_on_failure&&!d.preserve_exact&&(A=hr(d.transform,A.split(`
84
84
  `),e).join(`
85
- `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(A=Oi(A)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(A)&&/^={3,} FAILURES ={3,}\r?$/m.test(A)&&(A=A.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let j=!i&&!d.preserve_exact&&s>=eh?Go(A.split(`
85
+ `)),!i&&l.verbosity==="minimal"&&d.transform!=="smart-read"&&(A=Oi(A)),!i&&d.slug==="pytest"&&(l.verbosity==="compact"||l.verbosity==="minimal")&&/^={3,} test session starts ={3,}\r?$/m.test(A)&&/^={3,} FAILURES ={3,}\r?$/m.test(A)&&(A=A.replace(/^([=_])\1{2,} (.+?) \1{3,}(\r?)$/gm,"$2$3"));let H=!i&&!d.preserve_exact&&s>=sh?Go(A.split(`
86
86
  `)).join(`
87
- `):A,J=j.length<A.length;return I({output:j,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(j,"utf8"),debugBypass:!0,...J?{droppedTail:t}:{}})}let N={...l,cmd:e,exitCode:o},{text:D,droppedTail:M}=gr(t,d,i?{...N,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:N),H=!i&&!d.preserve_exact?Er(D,l.verbosity,d.slug):D,B=d.on_empty&&H===d.on_empty&&!H.endsWith(`
88
- `)?`${H}
89
- `:H,Qe=Buffer.byteLength(B,"utf8"),_e=B.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||mr(e));return t.trim().length>0&&(Qe>=s||_e)?I({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):I({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Qe,debugBypass:!1,droppedTail:M})}function rh(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function Yi(e,t=Date.now()){let n=e.lastHeartbeatOkAt;return typeof n=="number"&&t-n>rh()}var sh=[[/(\baws_(?:secret_access_key|session_token|access_key_id)\s+)\S+/gi,"$1[REDACTED]"],[/(\bsshpass\b[^;&|\n]{0,200}?\s-p\s*)\S+/g,"$1[REDACTED]"],[/(\bredis-cli\b[^;&|\n]{0,200}?\s(?:-a|--pass)\s+)\S+/g,"$1[REDACTED]"],[/(\bopenssl\b[^;&|\n]{0,200}?\s-k\s+)\S+/g,"$1[REDACTED]"],[/(\s-pass(?:in|out)?\s+(?:pass|env|file):)\S+/g,"$1[REDACTED]"],[/(https?:\/\/hooks\.slack\.com\/(?:services|workflows|triggers)\/)\S+/gi,"$1[REDACTED]"],[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function qe(e){let t=e;for(let[n,r]of sh)t=t.replace(n,r);return t}var ie="[tkr: secret masked]",oh=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${ie}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${ie}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${ie}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${ie}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${ie}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${ie}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${ie}`],[/(?<![A-Za-z0-9_-])(sk-(?:ant-|proj-))[A-Za-z0-9_-]{20,}/g,`$1${ie}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${ie}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${ie}$2`]],ih=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,ah=/^[A-Za-z0-9+/=]{16,}\r?$/;function lh(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
90
- `),n=[];for(let r of t){if(ih.test(r)){let s=n.length;for(;s>0&&ah.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${ie}${r}`);continue}}n.push(r)}return n.join(`
91
- `)}function mn(e){let t=e;for(let[n,r]of oh)t=t.replace(n,r);return lh(t)}import{join as Ar}from"node:path";import{appendFileSync as ta,chmodSync as mh,existsSync as na,mkdirSync as hh,readFileSync as mE,renameSync as hE,rmdirSync as gE,statSync as ra,unlinkSync as yE,utimesSync as kE,writeFileSync as bE}from"node:fs";import{createHash as Bw,randomUUID as ch}from"node:crypto";import{readFile as Xi,writeFile as Qi,mkdir as uh}from"node:fs/promises";async function Rr(){try{let n=(await Xi($t(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await uh(R(),{recursive:!0,mode:448});let e=ch();try{return await Qi($t(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Xi($t(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Qi($t(),e,{mode:384}),e}}import{readFile as fh,writeFile as Kw,mkdir as Jw,chmod as Ww,rm as Vw,rename as qw,readdir as Yw}from"node:fs/promises";import{join as dh}from"node:path";var ph="settings-cache.json",ea=vt.parse({}),tE=vt.partial().extend({filters:vt.shape.filters.removeDefault().partial().optional()});async function Ye(){let e=null;try{let t=JSON.parse(await fh(dh(R(),ph),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?vt.parse({...ea,...e}):ea}var gh=512*1024;function Cr(){return Ar(R(),"spool")}function yh(e){return Ar(Cr(),`${e}.jsonl`)}var kh=1024*1024;function bh(e){return Ar(Cr(),`${e}.dropped`)}function _h(e){try{let t=bh(e);if(na(t)&&ra(t).size>=kh)return;ta(t,".",{mode:384})}catch{return}}function hn(e,t){if(It())try{hh(Cr(),{recursive:!0,mode:448});let n=yh(e);if(na(n)&&ra(n).size>=gh){_h(e);return}ta(n,JSON.stringify(t)+`
92
- `,{mode:384}),mh(n,384)}catch{return}}var wh=/^[a-z0-9][a-z0-9._-]*$/i,Eh=/^[a-z][a-z-]+$/,vh=/^[A-Za-z_][A-Za-z0-9_]*=/,Sh=new Set(["gh","glab","gup","hub","gist"]),Th=/^(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,$h=24,oa=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"]),ia=new Set([...oa,"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"]),Rh=new Set([...ia,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),Ah=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"])]]),Ch=new Set(["-C","-c"]);function Ih(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 ia.has(n.toLowerCase())?n:""}function Oh(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Ch.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function sa(e){let t=e.toLowerCase();return t.startsWith("git")||Sh.has(t)}function Ir(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&vh.test(t[n]??"");)n+=1;let r=Ih(t[n]??"");if(!r||!wh.test(r)||r.length>$h)return"";let s=Ah.get(r.toLowerCase());if(s)return Oh(r.toLowerCase(),s,t.slice(n+1));if(sa(r)||Th.test(r)||qe(r)!==r)return"";let o=t[n+1];return o&&sa(o)?"":(o&&oa.has(r.toLowerCase())&&Eh.test(o)?`${r} ${o}`:r).slice(0,64)}function Ph(e){return Rh.has((e.split(" ")[0]??"").toLowerCase())}async function aa(e){if(!e.telemetryOptIn)return;let t=Ir(e.cmd),n=t&&qe(t)===t&&Ph(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";hn("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}async function la(e){if(_i(e.filterId)||!(await Ye()).telemetryOptIn)return;let t=Ir(e.cmd);!t||qe(t)!==t||hn("learn",{cmd:t,filterId:e.filterId==null?null:te(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as Dh,chmodSync as Mh,mkdirSync as Lh,readFileSync as ma,realpathSync as Fh,renameSync as ha,rmSync as ga,statSync as ya,writeFileSync as Or}from"node:fs";import{basename as ua,dirname as ka,join as gn,resolve as jh,sep as zE}from"node:path";var Nh={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function ca(e){return e?Nh[e]??"anthropic":"anthropic"}var Hh="stats.jsonl",Bh="stats-ledger.json",fa=2*1024*1024,zh=3e4,Uh=3e4,Zh=new Set(["n","g","e"]),Gh=256;function ba(){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 Kh(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"&&Zh.has(n.o)?{o:n.o}:{}}}catch{return null}}function Jh(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function Wh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Vh(e,t){let n=Wh(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 qh(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>Uh){e.ox+=1;return}if(Jh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Vh(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=ca(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function Yh(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function _a(e){return gn(ka(e),Bh)}function Xh(e){let t=_a(e),n;try{n=ma(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]={...ba(),...i});return s}catch{try{ha(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function da(e,t){let n=`${e}.tmp-${process.pid}`;Or(n,t,{mode:384}),ha(n,e)}function Qh(e){try{return Or(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-ya(e).mtimeMs<zh?!1:(ga(e,{force:!0}),Or(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function eg(e,t=fa,n=fa/2){try{if(ya(e).size<=t)return}catch{return}let r=`${e}.lock`;if(Qh(r))try{let s=ma(e,"utf8").split(`
93
- `).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=Xh(e);for(let c of s.slice(0,o)){let u=Kh(c);if(!u)continue;let f=Yh(u.t),d=a[f]??ba();qh(d,u),a[f]=d}let l=s.slice(o);da(e,l.length?`${l.join(`
87
+ `):A,J=H.length<A.length;return I({output:H,filterId:d.slug,rawBytes:s,filteredBytes:Buffer.byteLength(H,"utf8"),debugBypass:!0,...J?{droppedTail:t}:{}})}let N={...l,cmd:e,exitCode:o},{text:M,droppedTail:D}=gr(t,d,i?{...N,verbosity:"minimal",...d.transform==="smart-read"?{smartCode:!0}:{}}:N),j=!i&&!d.preserve_exact?Er(M,l.verbosity,d.slug):M,B=d.on_empty&&j===d.on_empty&&!j.endsWith(`
88
+ `)?`${j}
89
+ `:j,Qe=Buffer.byteLength(B,"utf8"),xe=B.trim().length===0&&t.trim().length>0&&(o!=null&&o!==0||mr(e));return t.trim().length>0&&(Qe>=s||xe)?I({output:t,filterId:d.slug,rawBytes:s,filteredBytes:s,debugBypass:!1,droppedTail:null}):I({output:B,filterId:d.slug,rawBytes:s,filteredBytes:Qe,debugBypass:!1,droppedTail:D})}function ah(){let e=Number(process.env.TOKMIZER_OFFLINE_GRACE_MS);return Number.isFinite(e)&&e>0?e:6048e5}function Yi(e,t=Date.now()){let n=e.lastHeartbeatOkAt;return typeof n=="number"&&t-n>ah()}var lh=[[/(\baws_(?:secret_access_key|session_token|access_key_id)\s+)\S+/gi,"$1[REDACTED]"],[/(\bsshpass\b[^;&|\n]{0,200}?\s-p\s*)\S+/g,"$1[REDACTED]"],[/(\bredis-cli\b[^;&|\n]{0,200}?\s(?:-a|--pass)\s+)\S+/g,"$1[REDACTED]"],[/(\bopenssl\b[^;&|\n]{0,200}?\s-k\s+)\S+/g,"$1[REDACTED]"],[/(\s-pass(?:in|out)?\s+(?:pass|env|file):)\S+/g,"$1[REDACTED]"],[/(https?:\/\/hooks\.slack\.com\/(?:services|workflows|triggers)\/)\S+/gi,"$1[REDACTED]"],[/(authorization\s*:\s*)([A-Za-z][A-Za-z0-9._-]*)\s+[^\s'"]+/gi,"$1$2 [REDACTED]"],[/(authorization\s*:\s*)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/(bearer\s+)[A-Za-z0-9._\-+/=]{8,}/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-b|--cookie)[=\s]+['"]?)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'";=]+=[^\s'";]+(?:\s*;\s*[^\s'";=]+=[^\s'";]+)*/gi,"$1[REDACTED]"],[/(--?(?:password|passwd|passphrase|apipass|pass|pwd|token|api[-_]?key|secret|bearer|cookie|jwt)(?:-[a-z0-9]+)*[=\s]+)\S+/gi,"$1[REDACTED]"],[/((?:^|\s)-b[=\s]?['"]?)[^\s'"=]+=[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*:)(\/[^/\s'"][^\s'"]*|[^\s/'"0-9][^\s'"]*|[0-9][^\s'"]*[^\s'"0-9][^\s'"]*)/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?[^\s:/'"]*[^\s:/'"0-9][^\s:/'"]*:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:^|\s)(?:-u[=\s]?|(?:--user|-a)[=\s])['"]?:)(?:\/[^/\s'"]|[^\s/'"])[^\s'"]*/gi,"$1[REDACTED]"],[/((?:[A-Za-z0-9]+-){0,8}(?:X-Api-Key|Private-Token|[A-Za-z0-9]+-(?:Token|Key|Auth|Secret))\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/((?:^|[\s'"])(?:Set-)?Cookie\s*:\s*)[^\s'"]+/gi,"$1[REDACTED]"],[/(-i\s+)(\/[^\s]+|~\/[^\s]+|[A-Z]:\\[^\s]+)/g,"$1[REDACTED]"],[/([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^:/\s@]*:)[^\s@]+(@[^@/\s]+)/g,"$1[REDACTED]$2"],[/(AWS_(?:ACCESS_KEY_ID|SECRET_ACCESS_KEY|SESSION_TOKEN)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(GOOGLE_APPLICATION_CREDENTIALS\s*=\s*)\S+/g,"$1[REDACTED]"],[/(AZURE_(?:CLIENT_SECRET|TENANT_ID|CLIENT_ID)\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-(?:proj-)?[A-Za-z0-9_-]{20,})/g,"sk-[REDACTED]"],[/\b(OPENAI_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(ANTHROPIC_API_KEY\s*=\s*)\S+/g,"$1[REDACTED]"],[/(sk-ant-[A-Za-z0-9_-]{20,})/g,"sk-ant-[REDACTED]"],[/\b(GH(?:_|ITHUB_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(GITLAB_TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/\b(SLACK_(?:BOT_)?TOKEN\s*=\s*)\S+/g,"$1[REDACTED]"],[/(xox[bpsoa]-[A-Za-z0-9-]{10,})/g,"xox[REDACTED]"],[/(xapp-[A-Za-z0-9-]{10,})/g,"[REDACTED]"],[/(sk_(?:test|live)_[A-Za-z0-9]{16,})/g,"sk_[REDACTED]"],[/(gh[a-z])_[A-Za-z0-9]{20,}/g,"$1_[REDACTED]"],[/(github_pat)_[A-Za-z0-9_]{20,}/g,"$1_[REDACTED]"],[/(gl(?:pat|rt|soat|imt|dt|ft|agent|oas|cbt|ptt))-[A-Za-z0-9_-]{16,}/g,"$1-[REDACTED]"],[/(npm_[A-Za-z0-9_-]{20,})/g,"npm_[REDACTED]"],[/(?:AKIA|ASIA|AGPA|AIDA|AROA|ANPA)[0-9A-Z]{16,}/g,"[REDACTED_AWS_KEY]"],[/AIza[A-Za-z0-9_-]{35}/g,"[REDACTED_GOOGLE_KEY]"],[/hv[sb]\.[A-Za-z0-9_-]{20,}/g,"[REDACTED_VAULT_TOKEN]"],[/dop_v1_[A-Za-z0-9]{40,}/g,"[REDACTED]"],[/dckr_pat_[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/pypi-[A-Za-z0-9_-]{16,}/g,"[REDACTED]"],[/rk_(?:live|test)_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/whsec_[A-Za-z0-9]{16,}/g,"[REDACTED]"],[/SG\.[A-Za-z0-9_-]{20,}\.[A-Za-z0-9_-]{20,}/g,"[REDACTED]"],[/(eyJ[A-Za-z0-9_-]{6,}(?:\.[A-Za-z0-9_-]{4,}){1,2})/g,"[REDACTED_JWT]"],[/-----BEGIN [A-Z ]*PRIVATE KEY-----(?:[\s\S]*?-----END[^\n]*-----|\r?\n[A-Za-z0-9+/=][A-Za-z0-9+/=\r\n]*)?/g,"[REDACTED_PEM]"],[/\b((?:--?)?[A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|AUTH|_PWD)[A-Za-z0-9_]*['"]?\s*=\s*)(?:"[^"]*"|'[^']*'|[^"'\s]\S*)/gi,"$1[REDACTED]"],[/\b([A-Za-z0-9_]*(?:TOKEN|SECRET|PASSWORD|PASSWD|PASS|APIKEY|KEY|CRED|CREDS|CREDENTIAL|CREDENTIALS|_PWD)[A-Za-z0-9_]*['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/((?:^|[\s'"{,])['"]?(?:[A-Za-z0-9_]+_)?auth['"]?\s*:\s*)(?:"[^"]*"|'[^']*'|[^\s'",}]+)/gi,"$1[REDACTED]"],[/(\bpwd\s*[=:]\s*)(?:"[^"]*"|'[^']*'|[^/~\s][^\s;'"]*)/gi,"$1[REDACTED]"],[/([=:]\s*["']?)[A-Za-z0-9_\-+/=]{40,}/g,"$1[REDACTED]"]];function qe(e){let t=e;for(let[n,r]of lh)t=t.replace(n,r);return t}var ie="[tkr: secret masked]",ch=[[/(-----BEGIN [A-Z0-9 ]*PRIVATE KEY-----)(?:\r?\n(?:[A-Za-z0-9+/=]{16,}|[A-Za-z-]+: [^\r\n]*|\r?(?=\n)))*(?:(?:\r?\n[A-Za-z0-9+/=]{1,15})?\r?\n-----END [A-Z0-9 ]*PRIVATE KEY-----)?/g,`$1${ie}`],[/(?<![A-Za-z0-9_])(gh[pousr])_[A-Za-z0-9]{36,255}(?![A-Za-z0-9])/g,`$1_${ie}`],[/(?<![A-Za-z0-9_])github_pat_[A-Za-z0-9_]{22,255}/g,`github_pat_${ie}`],[/(?<![A-Za-z0-9_])npm_[A-Za-z0-9]{36}(?![A-Za-z0-9])/g,`npm_${ie}`],[/(?<![A-Z0-9])(AKIA|ASIA)[A-Z0-9]{16}(?![A-Z0-9])/g,`$1${ie}`],[/(?<![A-Za-z0-9])(xox[abpors]-)[A-Za-z0-9-]{10,}/g,`$1${ie}`],[/(?<![A-Za-z0-9])((?:sk|rk)_live_)[A-Za-z0-9]{16,}/g,`$1${ie}`],[/(?<![A-Za-z0-9_-])(sk-(?:ant-|proj-))[A-Za-z0-9_-]{20,}/g,`$1${ie}`],[/(authorization["']?\s*[:=]\s*["']?bearer\s+)[A-Za-z0-9._~+/=-]{8,}/gi,`$1${ie}`],[/(?<![A-Za-z0-9+.-])([a-zA-Z][a-zA-Z0-9+.-]{0,31}:\/\/[^\s:/@]*:)[^\s@/]+(@[^\s@/]+)/g,`$1${ie}$2`]],uh=/^-----END [A-Z0-9 ]*PRIVATE KEY-----/,fh=/^[A-Za-z0-9+/=]{16,}\r?$/;function dh(e){if(!e.includes("PRIVATE KEY-----"))return e;let t=e.split(`
90
+ `),n=[];for(let r of t){if(uh.test(r)){let s=n.length;for(;s>0&&fh.test(n[s-1]);)s-=1;if(s<n.length){n.length=s,n.push(`${ie}${r}`);continue}}n.push(r)}return n.join(`
91
+ `)}function mn(e){let t=e;for(let[n,r]of ch)t=t.replace(n,r);return dh(t)}import{join as Ar}from"node:path";import{appendFileSync as ta,chmodSync as kh,existsSync as na,mkdirSync as bh,readFileSync as kE,renameSync as bE,rmdirSync as _E,statSync as ra,unlinkSync as xE,utimesSync as wE,writeFileSync as EE}from"node:fs";import{createHash as Gw,randomUUID as ph}from"node:crypto";import{readFile as Xi,writeFile as Qi,mkdir as mh}from"node:fs/promises";async function Rr(){try{let n=(await Xi(Rt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(n))return n}catch{}await mh(R(),{recursive:!0,mode:448});let e=ph();try{return await Qi(Rt(),e,{mode:384,flag:"wx"}),e}catch{try{let t=(await Xi(Rt(),"utf8")).trim();if(/^[0-9a-f-]{36}$/i.test(t))return t}catch{}return await Qi(Rt(),e,{mode:384}),e}}import{readFile as hh,writeFile as qw,mkdir as Yw,chmod as Xw,rm as Qw,rename as eE,readdir as tE}from"node:fs/promises";import{join as gh}from"node:path";var yh="settings-cache.json",ea=St.parse({}),oE=St.partial().extend({filters:St.shape.filters.removeDefault().partial().optional()});async function Ye(){let e=null;try{let t=JSON.parse(await hh(gh(R(),yh),"utf8"));typeof t=="object"&&t!==null&&!Array.isArray(t)&&(e=t)}catch{}return e?St.parse({...ea,...e}):ea}var _h=512*1024;function Cr(){return Ar(R(),"spool")}function xh(e){return Ar(Cr(),`${e}.jsonl`)}var wh=1024*1024;function Eh(e){return Ar(Cr(),`${e}.dropped`)}function vh(e){try{let t=Eh(e);if(na(t)&&ra(t).size>=wh)return;ta(t,".",{mode:384})}catch{return}}function hn(e,t){if(Ot())try{bh(Cr(),{recursive:!0,mode:448});let n=xh(e);if(na(n)&&ra(n).size>=_h){vh(e);return}ta(n,JSON.stringify(t)+`
92
+ `,{mode:384}),kh(n,384)}catch{return}}var Th=/^[a-z0-9][a-z0-9._-]*$/i,$h=/^[a-z][a-z-]+$/,Rh=/^[A-Za-z_][A-Za-z0-9_]*=/,Ah=new Set(["gh","glab","gup","hub","gist"]),Ch=/^(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,Ih=24,oa=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"]),ia=new Set([...oa,"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"]),Oh=new Set([...ia,"cd","cat","head","tail","ls","tree","find","grep","wc","nl","sort","cut","uniq","tr","diff","stat","file","du","df","ps","yq","pwd","which","echo","printf","seq","sed","awk","gawk","xargs","sleep","tar","zip","unzip","rsync","scp","ssh","curl","wget","dig","host","nslookup","ping","lsof","journalctl","iptables","ip6tables","open","md5","md5sum","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shasum","sudo","env","command","time","nodejs","bunx","pytest","mypy","dmypy","pyright","basedpyright","ruff","black","ty","gradlew","mvnw","mvnd","ninja","cmake","bazel","bazelisk","sbt","gcc","clang","gmake","swift","xcodebuild","pod","flutter","nx","turbo","next","eslint","prettier","biome","oxlint","golangci-lint","shellcheck","hadolint","yamllint","markdownlint","mdl","sqlfluff","rubocop","rspec","bundler","php","artisan","composer","phpunit","phpstan","pest","paratest","pint","mix","javap","jar","docker-compose","skopeo","oc","ecs","nomad","consul","packer","pulumi","tofu","ansible","ansible-playbook","vault","sops","vercel","netlify","wrangler","firebase","supabase","stripe","shopify","theme-check","redis-cli","liquibase","ollama","ast-grep","just","task","mise","trunk","pre-commit","jj","yadm","gt","quarto","act","jira","fail2ban-client","ctest","pio","platformio","reducer","restore","read-tool","grep-tool","glob-tool","bash-tool"]),Ph=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"])]]),Nh=new Set(["-C","-c"]);function Dh(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 ia.has(n.toLowerCase())?n:""}function Mh(e,t,n){let r=0;for(;e==="git"&&r<n.length&&n[r].startsWith("-");)r+=Nh.has(n[r])?2:1;let s=(n[r]??"").toLowerCase();return t.has(s)?`${e} ${s}`:e}function sa(e){let t=e.toLowerCase();return t.startsWith("git")||Ah.has(t)}function Ir(e){let t=e.trim().split(/\s+/).filter(l=>l.length>0),n=0;for(;n<t.length&&Rh.test(t[n]??"");)n+=1;let r=Dh(t[n]??"");if(!r||!Th.test(r)||r.length>Ih)return"";let s=Ph.get(r.toLowerCase());if(s)return Mh(r.toLowerCase(),s,t.slice(n+1));if(sa(r)||Ch.test(r)||qe(r)!==r)return"";let o=t[n+1];return o&&sa(o)?"":(o&&oa.has(r.toLowerCase())&&$h.test(o)?`${r} ${o}`:r).slice(0,64)}function Lh(e){return Oh.has((e.split(" ")[0]??"").toLowerCase())}async function aa(e){if(!e.telemetryOptIn)return;let t=Ir(e.cmd),n=t&&qe(t)===t&&Lh(t)?t:"other",r=e.sessionId?e.sessionId.replace(/[^A-Za-z0-9._-]/g,"").slice(0,64):"";hn("telemetry",{cmd:n,tokensSaved:Math.max(0,Math.round(e.tokensSaved)),...e.tokensRestored?{tokensRestored:Math.max(0,Math.round(e.tokensRestored))}:{},...e.rawTokens!=null?{rawTokens:Math.max(0,Math.round(e.rawTokens))}:{},optimized:e.optimized,...r?{sessionId:r}:{},...e.host?{host:e.host}:{}})}async function la(e){if(_i(e.filterId)||!(await Ye()).telemetryOptIn)return;let t=Ir(e.cmd);!t||qe(t)!==t||hn("learn",{cmd:t,filterId:e.filterId==null?null:te(e.filterId),rawBytes:e.rawBytes,filteredBytes:e.filteredBytes})}import{appendFileSync as jh,chmodSync as Hh,mkdirSync as Bh,readFileSync as ma,realpathSync as zh,renameSync as ha,rmSync as ga,statSync as ya,writeFileSync as Or}from"node:fs";import{basename as ua,dirname as ka,join as gn,resolve as Uh,sep as KE}from"node:path";var Fh={"claude-code":"anthropic",codex:"openai",copilot:"openai","gemini-cli":"google",cursor:"anthropic",windsurf:"anthropic",cline:"anthropic",aider:"anthropic",shell:"anthropic"};function ca(e){return e?Fh[e]??"anthropic":"anthropic"}var Zh="stats.jsonl",Gh="stats-ledger.json",fa=2*1024*1024,Kh=3e4,Jh=3e4,Wh=new Set(["n","g","e"]),Vh=256;function ba(){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 qh(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"&&Wh.has(n.o)?{o:n.o}:{}}}catch{return null}}function Yh(e,t){if(!t.c)return;let n=e.cmds[t.c]??{n:0,nc:0,r:0,f:0,sh:!1};n.n+=1,t.f<t.r&&(n.nc+=1,n.rr=(n.rr??0)+t.r,n.rf=(n.rf??0)+t.f),(t.k==="sh"||t.k==="restore")&&(n.sh=!0),t.h==="shell"&&t.k!=="restore"&&(n.tn=(n.tn??0)+1,n.tr=(n.tr??0)+t.r,n.tf=(n.tf??0)+t.f,t.f<t.r&&(n.tnc=(n.tnc??0)+1,n.trr=(n.trr??0)+t.r,n.trf=(n.trf??0)+t.f)),n.r+=t.r,n.f+=t.f,e.cmds[t.c]=n}function Xh(e){return e.s==="b"?`b:${(e.c??"").split(" ")[0]||"other"}`:e.s?.startsWith("u:")?e.s:e.o==="n"?"n":"?"}function Qh(e,t){let n=Xh(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 eg(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>Jh){e.ox+=1;return}if(Yh(e,t),t.k==="restore"?(e.rn+=1,e.rb+=t.f):Qh(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=ca(t.h),r=e.prov[n]??{r:0,f:0};r.r+=t.r,r.f+=t.f,e.prov[n]=r}}function tg(e){let t=new Date(e*1e3);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`}function _a(e){return gn(ka(e),Gh)}function ng(e){let t=_a(e),n;try{n=ma(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]={...ba(),...i});return s}catch{try{ha(t,`${t}.corrupt-${Date.now()}`)}catch{}return{}}}function da(e,t){let n=`${e}.tmp-${process.pid}`;Or(n,t,{mode:384}),ha(n,e)}function rg(e){try{return Or(e,String(process.pid),{flag:"wx",mode:384}),!0}catch{}try{return Date.now()-ya(e).mtimeMs<Kh?!1:(ga(e,{force:!0}),Or(e,String(process.pid),{flag:"wx",mode:384}),!0)}catch{return!1}}function sg(e,t=fa,n=fa/2){try{if(ya(e).size<=t)return}catch{return}let r=`${e}.lock`;if(rg(r))try{let s=ma(e,"utf8").split(`
93
+ `).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=ng(e);for(let c of s.slice(0,o)){let u=qh(c);if(!u)continue;let f=tg(u.t),d=a[f]??ba();eg(d,u),a[f]=d}let l=s.slice(o);da(e,l.length?`${l.join(`
94
94
  `)}
95
- `:""),da(_a(e),JSON.stringify({v:1,days:a}))}catch{return}finally{ga(r,{force:!0})}}function tg(e){let t=jh(e),n=t,r="";for(;;){try{return gn(Fh(n),r)}catch{}let s=ka(n);if(s===n)return t;r=r?gn(ua(n),r):ua(n),n=s}}var ng=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),rg=new Set(["-u","-g","-n","-s","-k"]),sg=/^[a-z0-9][a-z0-9._-]*$/i,og=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"]),xa=/^[A-Za-z_][A-Za-z0-9_]*=/;function pa(e){return e.length===0||e[0]==="cd"||e.every(t=>xa.test(t))}function ig(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(`|;&<>
96
- `.includes(i)){if(o(),pa(t)){t=[];continue}return t}n+=i,r=!0}return o(),pa(t)?[]:t}function Pt(e){let t=ig(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(xa.test(a)){n+=1;continue}if(ng.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=rg.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("-")&&sg.test(o)&&og.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function ag(){return gn(R(),Hh)}function wa(e,t,n=ag(),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?tg(a):"",m=d&&d.length<=Gh?`,"p":${JSON.stringify(d)}`:"",k=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",g=l.o?`,"o":${JSON.stringify(l.o)}`:"",p=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${k}${g}}
97
- `;try{Lh(R(),{recursive:!0,mode:448}),Dh(n,p,{mode:384}),Mh(n,384),eg(n)}catch{return}}function Ea(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 va(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}import{appendFileSync as lg,mkdirSync as cg,readFileSync as ug,writeFileSync as fg,renameSync as dg,statSync as pg,readdirSync as WE,rmSync as VE,chmodSync as mg}from"node:fs";import{join as Ta}from"node:path";var hg=96*1024,gg=500,QE=168*3600*1e3,Sa=120;function $a(){return Ta(R(),"sessions")}function yg(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ta($a(),`${t}.jsonl`)}function kg(e){let t=qe(e.slice(0,Sa*32)).replace(/(^|\s)(-p)(?:'[^']*'|"[^"]*"|(?=\S)\S+)/g,"$1$2[REDACTED]");return mn(t).slice(0,Sa)}function Ra(e,t){try{let n=yg(e);cg($a(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:kg(t.target),...t.fail?{fail:1}:{}});if(lg(n,`${r}
98
- `,{mode:384}),mg(n,384),pg(n).size>hg){let s=ug(n,"utf8").split(`
99
- `).filter(a=>a.trim()!==""),o=s.slice(s.length-gg),i=`${n}.tmp-${process.pid}`;fg(i,`${o.join(`
95
+ `:""),da(_a(e),JSON.stringify({v:1,days:a}))}catch{return}finally{ga(r,{force:!0})}}function og(e){let t=Uh(e),n=t,r="";for(;;){try{return gn(zh(n),r)}catch{}let s=ka(n);if(s===n)return t;r=r?gn(ua(n),r):ua(n),n=s}}var ig=new Set(["sudo","command","time","nice","nohup","env","stdbuf","timeout"]),ag=new Set(["-u","-g","-n","-s","-k"]),lg=/^[a-z0-9][a-z0-9._-]*$/i,cg=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"]),xa=/^[A-Za-z_][A-Za-z0-9_]*=/;function pa(e){return e.length===0||e[0]==="cd"||e.every(t=>xa.test(t))}function ug(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(`|;&<>
96
+ `.includes(i)){if(o(),pa(t)){t=[];continue}return t}n+=i,r=!0}return o(),pa(t)?[]:t}function mt(e){let t=ug(e).map(a=>a.replace(/^[({]+/,"")).filter(Boolean),n=0;for(;n<t.length;){let a=t[n];if(xa.test(a)){n+=1;continue}if(ig.has(a)){for(n+=1;n<t.length;){let l=t[n];if(l.startsWith("-")){n+=ag.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("-")&&lg.test(o)&&cg.has(s.toLowerCase())?`${s} ${o}`:s).slice(0,24)}function fg(){return gn(R(),Zh)}function wa(e,t,n=fg(),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?og(a):"",m=d&&d.length<=Vh?`,"p":${JSON.stringify(d)}`:"",k=l.s?`,"s":${JSON.stringify(l.s.slice(0,66))}`:"",g=l.o?`,"o":${JSON.stringify(l.o)}`:"",p=`{"t":${Math.floor(Date.now()/1e3)},"r":${e},"f":${t}${r?',"m":1':""}${c}${u}${f}${m}${k}${g}}
97
+ `;try{Bh(R(),{recursive:!0,mode:448}),jh(n,p,{mode:384}),Hh(n,384),sg(n)}catch{return}}function Ea(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 va(e,t,n){let r=n!=null?Math.min(e,n):e,s=n!=null?Math.min(t,n):t;return{raw:r,filtered:s}}import{appendFileSync as dg,mkdirSync as pg,readFileSync as mg,writeFileSync as hg,renameSync as gg,statSync as yg,readdirSync as XE,rmSync as QE,chmodSync as kg}from"node:fs";import{join as Ta}from"node:path";var bg=96*1024,_g=500,rv=168*3600*1e3,Sa=120;function $a(){return Ta(R(),"sessions")}function xg(e){let t=e.replace(/[^A-Za-z0-9._-]/g,"-").replace(/\.\./g,"-").slice(0,80)||"default";return Ta($a(),`${t}.jsonl`)}function wg(e){let t=qe(e.slice(0,Sa*32)).replace(/(^|\s)(-p)(?:'[^']*'|"[^"]*"|(?=\S)\S+)/g,"$1$2[REDACTED]");return mn(t).slice(0,Sa)}function Ra(e,t){try{let n=xg(e);pg($a(),{recursive:!0,mode:448});let r=JSON.stringify({t:t.t??Math.floor(Date.now()/1e3),tool:t.tool,target:wg(t.target),...t.fail?{fail:1}:{}});if(dg(n,`${r}
98
+ `,{mode:384}),kg(n,384),yg(n).size>bg){let s=mg(n,"utf8").split(`
99
+ `).filter(a=>a.trim()!==""),o=s.slice(s.length-_g),i=`${n}.tmp-${process.pid}`;hg(i,`${o.join(`
100
100
  `)}
101
- `,{mode:384}),dg(i,n)}}catch{}}import{existsSync as jv,readFileSync as Yg}from"node:fs";function bg(e){return e.charCodeAt(0)===65279?e.slice(1):e}function fe(e){return JSON.parse(bg(e))}import{join as Xg}from"node:path";import Qg from"node:os";import{readFile as Fg,writeFile as jg,rename as Hg,mkdir as Ua,chmod as Bg,stat as zg,unlink as Ug}from"node:fs/promises";import{existsSync as Za,lstatSync as Zg,readlinkSync as Gg,realpathSync as Ha}from"node:fs";import{basename as Kg,dirname as xn,join as Jg,resolve as Ba}from"node:path";import{basename as _g}from"node:path";var xg={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},wg={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 mt(e){let t=_g(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(xg))if(r===t)return[n];for(let[n,r]of Object.entries(wg))if(r===t)return["hook",n];return null}function Re(){return!1}function Nt(e,t=process.execPath){let n=Re()?mt(e):null;return n?[process.execPath,...n]:[t,e]}import{rmSync as Eg,statSync as vg}from"node:fs";import{join as Aa}from"node:path";function yn(){return Aa(R(),"shims")}function Pr(){return Aa(R(),"fail-open")}var Sg=24*36e5;function Ca(e=Date.now()){try{if(e-vg(Pr()).mtimeMs<Sg)return!0;Eg(Pr(),{force:!0})}catch{}return!1}function kn(e){return`'${e.replace(/'/g,"'\\''")}'`}import{chmod as Ag,lstat as Oa,mkdir as Cg,readFile as Dr,rename as Ig,rm as xv,unlink as Pa,writeFile as Og}from"node:fs/promises";import{createHash as Na}from"node:crypto";import{basename as Pg,join as Da}from"node:path";var Ng=".tkr-bak";function Ma(){return Da(R(),"backup","config")}function Nr(e){let t=Lr(e),n=Na("sha256").update(t).digest("hex").slice(0,16),r=Pg(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Da(Ma(),`${n}-${r}`)}function La(e){return`${Nr(e)}.written`}function Fa(e){return Na("sha256").update(e).digest("hex")}async function Dg(e){try{return await Oa(e),!0}catch{return!1}}async function Mr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Cg(Ma(),{recursive:!0,mode:448}),await Og(n,t,{mode:384}),await Ag(n,384),await Ig(n,e),!0}catch{return await Pa(n).catch(()=>{}),!1}}async function Mg(e,t){let n=`${e}${Ng}`;try{if(!(await Oa(n)).isFile())return!1}catch{return!1}let r=!await Dg(t);if(r&&!await Mr(t,await Dr(n,"utf8")))throw new Error("backup");return await Pa(n).catch(()=>{}),r}async function Lg(e,t){try{return(await Dr(La(e),"utf8")).trim()===Fa(t)}catch{return!1}}async function ja(e,t){let n=t;try{n===void 0&&(n=await Dr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Mg(e,Nr(e)))return!0}catch{return!1}return await Lg(e,n)?!0:Mr(Nr(e),n)}async function bn(e,t,n){return!await ja(e,n)||!await _n(e,t)?!1:(await Mr(La(e),`${Fa(t)}
102
- `),!0)}function F(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ae(e){if(!Za(e))return{};try{let t=fe(await Fg(e,"utf8"));return F(t)?t:null}catch{return null}}function Lr(e){let t=Ba(e);for(let n=0;n<32;n++){try{return Ha(t)}catch{}try{if(!Zg(t).isSymbolicLink())break;t=Ba(xn(t),Gg(t))}catch{break}}try{return Jg(Ha(xn(t)),Kg(t))}catch{return t}}async function _n(e,t){let n=Lr(e),r=`${n}.tmp-${process.pid}`;try{await Ua(xn(n),{recursive:!0});let s=384;try{s=(await zg(n)).mode&511}catch{}return process.platform!=="win32"&&Za(n)&&(s&128)===0?!1:(await jg(r,t,{mode:s}),await Bg(r,s),await Hg(r,n),!0)}catch{try{await Ug(r)}catch{}return!1}}async function Ce(e,t){try{await Ua(xn(e),{recursive:!0})}catch{return!1}return bn(e,`${JSON.stringify(t,null,2)}
103
- `)}function Wg(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
104
- `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}var Vg=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,za=/^[A-Za-z_][A-Za-z0-9_]*=/;function Fr(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function qg(e){if(typeof e!="string")return null;let t=e.replace(Vg,""),n=Wg(t);if(!n)return null;let r=0;for(;r<n.length&&za.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||za.test(n[r]))return null;let s=Fr(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?Fr(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?Fr(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function ht(e,t){let n=qg(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=mt(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function wn(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!F(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var ey="tkr-cursor-hook",Ga="preToolUse";function ty(){return Xg(Qg.homedir(),".cursor","hooks.json")}function ny(e){return F(e)&&ht(e.command,ey)}function ry(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[Ga])?t[Ga]:[];return{hooks:t,entries:n}}function Ka(){try{let e=fe(Yg(ty(),"utf8"));return ry(e).entries.some(ny)}catch{return!1}}import{existsSync as Kv,readFileSync as sy}from"node:fs";import{join as oy}from"node:path";import iy from"node:os";var ay="tkr-gemini-hook",Ja="BeforeTool";function ly(){return oy(process.env.GEMINI_CLI_HOME||iy.homedir(),".gemini","settings.json")}function cy(e){return F(e)&&ht(e.command,ay)}function uy(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(cy)}function fy(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[Ja])?t[Ja]:[];return{hooks:t,groups:n}}function Wa(){try{let e=fe(sy(ly(),"utf8"));return fy(e).groups.some(t=>uy(t)!=null)}catch{return!1}}import{dirname as xS,join as re}from"node:path";import by from"node:os";import{existsSync as eS,accessSync as tS,constants as nS,readFileSync as dy}from"node:fs";var py='"rewrite", "--host"';function my(e){return e.includes(py)}function Va(e){try{return my(dy(e,"utf8"))}catch{return!1}}import{readFile as Ya,mkdir as hy}from"node:fs/promises";import{existsSync as Br,readFileSync as Xa}from"node:fs";import{dirname as gy,join as Hr}from"node:path";import Qa from"node:os";var el="tokmizer-rewrite",Dt="tokmizer-rewrite";function Mt(){return Hr(process.env.VIBE_HOME||Hr(Qa.homedir(),".vibe"),"hooks.toml")}function qa(e){return JSON.stringify(e)}function yy(e){return["[[hooks]]",`name = ${qa(el)}`,'type = "pre_tool"','match = "bash"',`command = ${qa(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
105
- `)}function zr(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 En(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${el}"\\s*$`,"m").test(e)}function tl(e){if(!En(e))return e;let t=e.split(/(?<=\n)/),n=1;for(;n<t.length&&!/^\s*(?:#.*)?\r?\n?$/.test(t[n]);)n++;for(;n<t.length&&/^\s*\r?\n?$/.test(t[n]);)n++;return t.slice(n).join("")}async function nl(e,t){try{await hy(gy(e),{recursive:!0})}catch{return!1}return bn(e,t)}function rl(){try{return zr(Xa(Mt(),"utf8")).some(En)}catch{return!1}}async function sl(e){let t=Mt(),n="";try{Br(t)&&(n=await Ya(t,"utf8"))}catch{return"error"}let r=yy(e),s=zr(n),o=s.filter(En);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.map(tl).join("").trimEnd(),a=i?`${i}
101
+ `,{mode:384}),gg(i,n)}}catch{}}import{existsSync as Uv,readFileSync as ty}from"node:fs";function Eg(e){return e.charCodeAt(0)===65279?e.slice(1):e}function fe(e){return JSON.parse(Eg(e))}import{join as ny}from"node:path";import ry from"node:os";import{readFile as zg,writeFile as Ug,rename as Zg,mkdir as Ua,chmod as Gg,stat as Kg,unlink as Jg}from"node:fs/promises";import{existsSync as Za,lstatSync as Wg,readlinkSync as Vg,realpathSync as Ha}from"node:fs";import{basename as qg,dirname as xn,join as Yg,resolve as Ba}from"node:path";import{basename as vg}from"node:path";var Sg={exec:"tkr-exec",processor:"tkr-processor",daemon:"tkr-daemon","shim-run":"tkr-shim"},Tg={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 ht(e){let t=vg(e).replace(/\.(m?js|ts)$/,"");if(t==="tkr")return[];for(let[n,r]of Object.entries(Sg))if(r===t)return[n];for(let[n,r]of Object.entries(Tg))if(r===t)return["hook",n];return null}function Ae(){return!1}function Nt(e,t=process.execPath){let n=Ae()?ht(e):null;return n?[process.execPath,...n]:[t,e]}import{rmSync as $g,statSync as Rg}from"node:fs";import{join as Aa}from"node:path";function yn(){return Aa(R(),"shims")}function Pr(){return Aa(R(),"fail-open")}var Ag=24*36e5;function Ca(e=Date.now()){try{if(e-Rg(Pr()).mtimeMs<Ag)return!0;$g(Pr(),{force:!0})}catch{}return!1}function kn(e){return`'${e.replace(/'/g,"'\\''")}'`}import{chmod as Pg,lstat as Oa,mkdir as Ng,readFile as Dr,rename as Dg,rm as Sv,unlink as Pa,writeFile as Mg}from"node:fs/promises";import{createHash as Na}from"node:crypto";import{basename as Lg,join as Da}from"node:path";var Fg=".tkr-bak";function Ma(){return Da(R(),"backup","config")}function Nr(e){let t=Lr(e),n=Na("sha256").update(t).digest("hex").slice(0,16),r=Lg(t).replace(/[^A-Za-z0-9._-]/g,"_").slice(0,80);return Da(Ma(),`${n}-${r}`)}function La(e){return`${Nr(e)}.written`}function Fa(e){return Na("sha256").update(e).digest("hex")}async function jg(e){try{return await Oa(e),!0}catch{return!1}}async function Mr(e,t){let n=`${e}.tmp-${process.pid}`;try{return await Ng(Ma(),{recursive:!0,mode:448}),await Mg(n,t,{mode:384}),await Pg(n,384),await Dg(n,e),!0}catch{return await Pa(n).catch(()=>{}),!1}}async function Hg(e,t){let n=`${e}${Fg}`;try{if(!(await Oa(n)).isFile())return!1}catch{return!1}let r=!await jg(t);if(r&&!await Mr(t,await Dr(n,"utf8")))throw new Error("backup");return await Pa(n).catch(()=>{}),r}async function Bg(e,t){try{return(await Dr(La(e),"utf8")).trim()===Fa(t)}catch{return!1}}async function ja(e,t){let n=t;try{n===void 0&&(n=await Dr(e,"utf8"))}catch(r){return r.code==="ENOENT"}try{if(await Hg(e,Nr(e)))return!0}catch{return!1}return await Bg(e,n)?!0:Mr(Nr(e),n)}async function bn(e,t,n){return!await ja(e,n)||!await _n(e,t)?!1:(await Mr(La(e),`${Fa(t)}
102
+ `),!0)}function F(e){return e!=null&&typeof e=="object"&&!Array.isArray(e)}async function Ce(e){if(!Za(e))return{};try{let t=fe(await zg(e,"utf8"));return F(t)?t:null}catch{return null}}function Lr(e){let t=Ba(e);for(let n=0;n<32;n++){try{return Ha(t)}catch{}try{if(!Wg(t).isSymbolicLink())break;t=Ba(xn(t),Vg(t))}catch{break}}try{return Yg(Ha(xn(t)),qg(t))}catch{return t}}async function _n(e,t){let n=Lr(e),r=`${n}.tmp-${process.pid}`;try{await Ua(xn(n),{recursive:!0});let s=384;try{s=(await Kg(n)).mode&511}catch{}return process.platform!=="win32"&&Za(n)&&(s&128)===0?!1:(await Ug(r,t,{mode:s}),await Gg(r,s),await Zg(r,n),!0)}catch{try{await Jg(r)}catch{}return!1}}async function Ie(e,t){try{await Ua(xn(e),{recursive:!0})}catch{return!1}return bn(e,`${JSON.stringify(t,null,2)}
103
+ `)}function Xg(e){let t=[],n="",r=!1;for(let s=0;s<e.length;s++){let o=e[s];if(o==="'"){let i=e.indexOf("'",s+1);if(i<0)return null;n+=e.slice(s+1,i),r=!0,s=i}else if(o==='"'){let i=e.indexOf('"',s+1);if(i<0)return null;let a=e.slice(s+1,i);if(/`|\$\(/.test(a))return null;n+=a,r=!0,s=i}else if(o==="\\"&&e[s+1]==="'")n+="'",r=!0,s++;else if(o===" "||o===" ")r&&t.push(n),n="",r=!1;else{if(o===";"||o==="&"||o==="|"||o==="`"||o===`
104
+ `||o==="\r"||o==="$"&&e[s+1]==="(")return null;n+=o,r=!0}}return r&&t.push(n),t}var Qg=/^\s*\[ ! -[a-z] (?:'(?:[^']|'\\'')*'|"[^"]*") \] \|\| /,za=/^[A-Za-z_][A-Za-z0-9_]*=/;function Fr(e){return(e.split(/[\\/]/).pop()??"").toLowerCase().replace(/\.(?:exe|cmd|bat|ps1|m?js|sh)$/,"")}function ey(e){if(typeof e!="string")return null;let t=e.replace(Qg,""),n=Xg(t);if(!n)return null;let r=0;for(;r<n.length&&za.test(n[r]);)r++;if(n[r]==="exec"&&r++,r>=n.length||za.test(n[r]))return null;let s=Fr(n[r]),o=n.slice(r+1);if(s==="sh"||s==="bash"){let i=o[0]!==void 0?Fr(o[0]):"";return/^tkr-hook(?:-launch)?$/.test(i)?{program:i,args:o.slice(2),launcherMark:o[1]??""}:{program:s,args:o}}return s==="node"?{program:o[0]!==void 0?Fr(o[0]):"node",args:o.slice(1)}:{program:s,args:o}}function gt(e,t){let n=ey(e);if(!n)return!1;if(n.launcherMark!==void 0)return n.launcherMark===t;if(n.program===t)return!0;if(n.program!=="tkr")return!1;let r=ht(t);return r?.length?r.every((s,o)=>n.args[o]===s):!1}function wn(e,t,n,r){let s=i=>i!==n&&t(i),o=!1;for(let i=e.length-1;i>=0;i--){let a=e[i];if(!r){s(a)&&(e.splice(i,1),o=!0);continue}if(!F(a)||!Array.isArray(a.hooks))continue;let l=a.hooks.filter(c=>!s(c));l.length!==a.hooks.length&&(o=!0,l.length?a.hooks=l:e.splice(i,1))}return o}var sy="tkr-cursor-hook",Ga="preToolUse";function oy(){return ny(ry.homedir(),".cursor","hooks.json")}function iy(e){return F(e)&&gt(e.command,sy)}function ay(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[Ga])?t[Ga]:[];return{hooks:t,entries:n}}function Ka(){try{let e=fe(ty(oy(),"utf8"));return ay(e).entries.some(iy)}catch{return!1}}import{existsSync as qv,readFileSync as ly}from"node:fs";import{join as cy}from"node:path";import uy from"node:os";var fy="tkr-gemini-hook",Ja="BeforeTool";function dy(){return cy(process.env.GEMINI_CLI_HOME||uy.homedir(),".gemini","settings.json")}function py(e){return F(e)&&gt(e.command,fy)}function my(e){return(Array.isArray(e.hooks)?e.hooks:[]).find(py)}function hy(e){let t=F(e.hooks)?e.hooks:{},n=Array.isArray(t[Ja])?t[Ja]:[];return{hooks:t,groups:n}}function Wa(){try{let e=fe(ly(dy(),"utf8"));return hy(e).groups.some(t=>my(t)!=null)}catch{return!1}}import{dirname as SS,join as re}from"node:path";import Ey from"node:os";import{existsSync as sS,accessSync as oS,constants as iS,readFileSync as gy}from"node:fs";var yy='"rewrite", "--host"';function ky(e){return e.includes(yy)}function Va(e){try{return ky(gy(e,"utf8"))}catch{return!1}}import{readFile as Ya,mkdir as by}from"node:fs/promises";import{existsSync as Br,readFileSync as Xa}from"node:fs";import{dirname as _y,join as Hr}from"node:path";import Qa from"node:os";var el="tokmizer-rewrite",Dt="tokmizer-rewrite";function Mt(){return Hr(process.env.VIBE_HOME||Hr(Qa.homedir(),".vibe"),"hooks.toml")}function qa(e){return JSON.stringify(e)}function xy(e){return["[[hooks]]",`name = ${qa(el)}`,'type = "pre_tool"','match = "bash"',`command = ${qa(e)}`,"timeout = 10.0","strict = false",'description = "Route shell commands through tokmizer."',""].join(`
105
+ `)}function zr(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 En(e){return/^\s*\[\[hooks\]\]/.test(e)&&new RegExp(`^\\s*name\\s*=\\s*"${el}"\\s*$`,"m").test(e)}function tl(e){if(!En(e))return e;let t=e.split(/(?<=\n)/),n=1;for(;n<t.length&&!/^\s*(?:#.*)?\r?\n?$/.test(t[n]);)n++;for(;n<t.length&&/^\s*\r?\n?$/.test(t[n]);)n++;return t.slice(n).join("")}async function nl(e,t){try{await by(_y(e),{recursive:!0})}catch{return!1}return bn(e,t)}function rl(){try{return zr(Xa(Mt(),"utf8")).some(En)}catch{return!1}}async function sl(e){let t=Mt(),n="";try{Br(t)&&(n=await Ya(t,"utf8"))}catch{return"error"}let r=xy(e),s=zr(n),o=s.filter(En);if(o.length===1&&o[0].trimEnd()===r.trimEnd())return"present";let i=s.map(tl).join("").trimEnd(),a=i?`${i}
106
106
 
107
107
  ${r}`:r;return await nl(t,a)?o.length?"updated":"added":"error"}async function ol(){let e=Mt();if(!Br(e))return"absent";let t;try{t=await Ya(e,"utf8")}catch{return"error"}let n=zr(t);if(!n.some(En))return"absent";let r=n.map(tl).join("").trimEnd(),s=r?`${r}
108
- `:"";return await nl(e,s)?"removed":"error"}function Lt(){return Hr(Qa.homedir(),".gemini","config","hooks.json")}function ky(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function il(){try{let e=fe(Xa(Lt(),"utf8"));return F(e)&&F(e[Dt])}catch{return!1}}async function al(e){let t=Lt(),n=await Ae(t);if(!n)return"error";let r=ky(e),s=n[Dt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Dt]=r,await Ce(t,n)?s===void 0?"added":"updated":"error")}async function ll(){let e=Lt();if(!Br(e))return"absent";let t=await Ae(e);return t?Dt in t?(delete t[Dt],await Ce(e,t)?"removed":"error"):"absent":"error"}var Ft=()=>by.homedir(),Ur=()=>process.env.XDG_CONFIG_HOME||re(Ft(),".config"),cl=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:re(Ur(),"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:re(Ur(),"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:re(Ur(),"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:Mt,installed:rl,ensure:sl,remove:ol,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Lt,installed:il,ensure:al,remove:ll,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=re(Ft(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:re(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:re(process.env.PI_CODING_AGENT_DIR||re(Ft(),".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:re(Ft(),".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=re(process.env.HERMES_HOME||re(Ft(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:re(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function ul(e){return e.kind==="hook"?e.installed():Va(e.files()[0].target)}import{existsSync as Jr,readFileSync as Sy}from"node:fs";import{join as Z}from"node:path";import Ty from"node:os";import{existsSync as _y,readFileSync as xy}from"node:fs";function vn(e,t){return F(e)&&ht(e.command,t)}function fl(e){return e.path??(e.nested?["hooks"]:[])}function dl(e,t){let n=e;for(let r of fl(t))F(n[r])||(n[r]={}),n=n[r];return n}function pl(e,t){let n=e;for(let s of fl(t))n=F(n)?n[s]:void 0;if(!F(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function wy(e){return F(e)&&Array.isArray(e.hooks)?e.hooks:[]}function ml(e,t){return(t.matcher===void 0?e:e.flatMap(wy)).filter(r=>vn(r,t.mark))}function hl(e,t){return ml(pl(e,t),t).length>0}function Zr(e,t){try{let n=fe(xy(e,"utf8"));return F(n)&&hl(n,t)}catch{return!1}}function Ey(e,t,n){let r=dl(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=ml(s,t)[0],i=t.entry(n);if(o){let a=wn(s,c=>vn(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 vy(e,t){if(!hl(e,t))return!1;let n=dl(e,t),r=pl(e,t),s=t.matcher===void 0?r.filter(o=>!vn(o,t.mark)):r.map(o=>F(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!vn(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 Gr(e,t,n){let r=await Ae(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=Ey(r,t,n);return s==="present"||await Ce(e,r)?s:"error"}async function Sn(e,t){if(!_y(e))return"absent";let n=await Ae(e);return n?vy(n,t)?await Ce(e,n)?"removed":"error":"absent":"error"}function de(){return Ty.homedir()}function bl(e){return e.version===void 0&&(e.version=1),e.version===1}function $y(e,t,n){return Promise.all(e.map(r=>Gr(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Ry(e,t){return Promise.all(e.map(n=>Sn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Xe(e,t){return{...e,installed:()=>e.files().some(n=>Zr(n,t)),ensure:n=>$y(e.files(),t,n),remove:()=>Ry(e.files(),t)}}var Ay={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:bl};function Cy(){return Z(process.env.COPILOT_HOME||Z(de(),".copilot"),"hooks","tokmizer.json")}var Iy={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:bl};function Oy(){let e=[Z(de(),".trae","hooks.json")];return Jr(Z(de(),".trae-cn"))&&e.push(Z(de(),".trae-cn","hooks.json")),e}var Py={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function Ny(){return Z(process.env.QWEN_HOME||Z(de(),".qwen"),"settings.json")}var Dy={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function My(){return Z(process.env.XDG_CONFIG_HOME||Z(de(),".config"),"crush","crush.json")}var Ly={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function Fy(){return Z(de(),".junie","config.json")}function jy(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}var Hy={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:jy};function By(){return Z(de(),".zcode","cli","config.json")}var zy={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function Uy(){return Z(de(),".grok","hooks","tokmizer.json")}var Zy="tkr-droid-hook",Wr={mark:Zy,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Gy={...Wr,nested:!0};function Kr(){return Z(de(),".factory")}function Tn(){return[{file:Z(Kr(),"hooks.json"),spec:Wr},{file:Z(Kr(),"hooks","hooks.json"),spec:Wr},{file:Z(Kr(),"settings.json"),spec:Gy}]}function gl(e){try{let t=JSON.parse(Sy(e,"utf8"));return F(t)?t:null}catch{return null}}function yl(e,t){let n=t?e?.hooks:e;return F(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function kl(){let[e,t,n]=Tn(),r=Jr(e.file)?e:Jr(t.file)?t:null;return r&&yl(gl(r.file),!1)?r:yl(gl(n.file),!0)?n:r??e}var Ky={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[kl().file],installed:()=>Tn().some(e=>Zr(e.file,e.spec)),ensure:async e=>{let t=kl(),n=await Gr(t.file,t.spec,e);return n==="error"||await Promise.all(Tn().filter(r=>r.file!==t.file).map(r=>Sn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Tn().map(t=>Sn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},_l=[Xe({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[Cy()]},Ay),Ky,Xe({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:Oy},Iy),Xe({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Ny()]},Py),Xe({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[My()]},Dy),Xe({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[Fy()]},Ly),Xe({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[By()]},Hy),Xe({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[Uy()]},zy)];var wl=[{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:[]}],Jy=[...wl.map(e=>e.host),"shell"],Wy=new Set(["claude-code","codex"]),Vy={cursor:{installed:Ka,setup:"tkr setup-cursor"},"gemini-cli":{installed:Wa,setup:"tkr setup-gemini"},...Object.fromEntries(cl.map(e=>[e.host,{installed:()=>ul(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(_l.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function xl(e){return Wy.has(e)||(Vy[e]?.installed()??!1)}function El(e){return null}function vl(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&&Jy.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!xl(o)}}for(let o of wl)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!xl(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}import{existsSync as WS,realpathSync as qy}from"node:fs";import{basename as qS,delimiter as Sl,join as YS,dirname as XS}from"node:path";function Tl(e){try{return qy(e)}catch{return e}}function $l(){let e=yn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Tl(e),o=r.split(Sl).filter(i=>i&&i!==e&&Tl(i)!==s);return t[n]=o.join(Sl),n==="Path"&&(t.PATH=t[n]),t}import{createConnection as u0}from"node:net";import{spawn as f0}from"node:child_process";import{existsSync as Nl,openSync as Xr,closeSync as Ol,unlinkSync as es,writeFileSync as ts,mkdirSync as ns,readFileSync as Dl,appendFileSync as d0,rmSync as p0,statSync as Ml}from"node:fs";import{dirname as m0,join as rs}from"node:path";import{fileURLToPath as h0}from"node:url";var Yy=y.object({id:y.string().min(1).max(64),op:y.literal("filter"),cmd:y.string().min(1).max(2048),plan:y.enum(["trial","smart","pro"]),allowed:y.array(y.string().min(1).max(64)).max(512).optional(),installId:y.string().min(1).max(64).optional()}),Xy=y.object({id:y.string().min(1).max(64),op:y.literal("ping")}),Qy=y.object({id:y.string().min(1).max(64),op:y.literal("shutdown"),installId:y.string().min(1).max(64)}),e0=y.object({id:y.string().min(1).max(64),op:y.literal("reload"),installId:y.string().min(1).max(64).optional()}),cT=y.discriminatedUnion("op",[Yy,Xy,Qy,e0]),uT=y.object({id:y.string(),ok:y.literal(!0),data:y.unknown()}),fT=y.object({id:y.string(),ok:y.literal(!1),err:y.string(),retryAfterMs:y.number().int().nonnegative().optional()}),Rl=y.object({filter:$e.nullable(),cacheHit:y.boolean().optional()}),$n=`
109
- `,dT=64*1024;function Vr(e){return JSON.stringify(e)+$n}function*Al(e){let t=0;for(;;){let n=e.indexOf($n,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function jt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import t0 from"node:os";import{join as Ht}from"node:path";import{existsSync as n0,statSync as r0,lstatSync as Cl,unlinkSync as s0,mkdirSync as o0,chmodSync as i0}from"node:fs";import{createHash as a0}from"node:crypto";var qr=100;function l0(e){let t=a0("sha256").update(R()).digest("hex").slice(0,8),n=Ht(t0.tmpdir(),`tkr-${e}-${t}`),r=Ht(n,"d.sock");if(Buffer.byteLength(r)>qr)throw new Error("Temporary directory path is too long for IPC");return Il(n,e),r}function c0(e,t){try{let n=Cl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Il(e,t){o0(e,{recursive:!0,mode:448});let n=Cl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");i0(e,448)}function Bt(){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&&c0(t,e)){let s=Ht(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=qr)return{path:s,isPipe:!1}}let n=Ht(R(),"run"),r=Ht(n,"daemon.sock");return Buffer.byteLength(r)>qr?{path:l0(e),isPipe:!1}:(Il(n,e),{path:r,isPipe:!1})}async function Yr(){let{path:e,isPipe:t}=Bt();if(t||!n0(e))return;try{if(!r0(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{s0(e)}catch{}}var bT=5*6e4;var Ll=500,g0=3e3,Pl=1,y0=6e4,k0=256*1024;function ss(){return rs(R(),"daemon.spawn.fail")}function os(){return rs(R(),"daemon.log")}function b0(){try{let e=Number(Dl(ss(),"utf8"));return Number.isFinite(e)&&Date.now()-e<y0}catch{return!1}}function _0(e){try{ns(R(),{recursive:!0,mode:448});let t=os();try{Ml(t).size>k0&&es(t)}catch{}d0(t,`${new Date().toISOString()} ${e}
110
- `,{mode:384})}catch{}}function x0(e){try{ns(R(),{recursive:!0,mode:448}),ts(ss(),String(Date.now()),{mode:384})}catch{}_0(`spawn failed: ${e.message}`)}function w0(){try{p0(ss(),{force:!0})}catch{}}async function Rn(e,t){return new Promise((n,r)=>{let s=u0(e),o=a=>{if(s.removeAllListeners("connect"),s.removeAllListeners("error"),clearTimeout(i),a){try{s.destroy()}catch{}r(a)}else n(s)},i=setTimeout(()=>o(new Error("connect timeout")),t);s.once("connect",()=>o(null)),s.once("error",a=>o(a))})}function E0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:h0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Qr(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 Rn(e,75)).destroy(),!0}catch{}else if(Nl(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}function v0(e,t=Date.now()){try{if(t-Ml(e).mtimeMs>1e4)return!0;let r=Number(Dl(e,"utf8").trim());if(!Number.isInteger(r)||r<=0)return!1;try{return process.kill(r,0),!1}catch(s){return s.code==="ESRCH"}}catch{return!1}}async function S0(e){let t=E0();if(!Re()&&!Nl(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Bt(),r=process.platform==="win32"?R():m0(n);try{ns(r,{recursive:!0,mode:448})}catch{}let s=rs(r,"daemon.spawn.lock"),o=null;try{o=Xr(s,"wx"),ts(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(!v0(s)&&await Qr(n,5e3))return;try{es(s)}catch{}try{o=Xr(s,"wx"),ts(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Qr(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Xr(os(),"a",384)}catch{}let[a,...l]=Nt(t);if(f0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Ol(i)}catch{}if(!await Qr(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Ol(o)}catch{}try{es(s)}catch{}}}}async function T0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Bt(),n=await Rr();try{let r=await Rn(t,Ll);r.write(Vr({id:jt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function $0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Rn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function is(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Bt(),n=await Rr(),r=null,s=0,o=!1;for(;s<=Pl;)try{r=await Rn(t,Ll),w0();break}catch{if(s+=1,s>Pl)throw new Error(`tkr-daemon unreachable at ${t}`);if(b0())throw new Error(`tkr-daemon spawn on cooldown (see ${os()})`);await Yr();try{await S0(n),o=!0}catch(u){throw x0(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]===$n&&(f=m);if(f<0)return;let d=[];for(let m of Al(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let k=JSON.parse(m),g=i.get(k.id);if(!g)continue;clearTimeout(g.timer),i.delete(k.id),g.resolve(k)}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})`))},g0);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Vr(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:jt(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!m.ok)throw new Error(m.err);let k=Rl.safeParse(m.data);return k.success?k.data.filter:null},ping:async()=>{let u=await l({id:jt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:jt(),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&&zi(Ct,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==Ct}catch(f){throw c.close(),f}if(u){try{await T0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await $0(t,2e3);if(await Yr(),!f)throw new Error("stale daemon still running after shutdown request");return is({...e,skipVersionCheck:!0})}}return c}var gt=null,zt=null;async function R0(){if(gt)return gt;if(zt)return zt;let e=is().then(t=>{if(zt===e)return gt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return zt=e,e}var as=null,ls=!1;async function A0(){return ls||(ls=!0,as=await Wi()??fn()),as}async function Fl(e,t,n){let r=await A0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(te(s.slug))?null:s}function C0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function jl(){$r(async(e,t)=>{let r=t??dn(void 0),s=await R0();if(!s)return Fl(e,"pro",r);try{let o=await s.filter(e,"pro",r?[...r]:void 0);return!o||r&&!r.has(te(o.slug))?null:C0(o)}catch{return Fl(e,"pro",r)}})}function Hl(){if($r(null),gt)try{gt.close()}catch{}gt=null,zt=null,as=null,ls=!1}import{chmod as Jl,mkdir as P0,readFile as KT,writeFile as Bl,stat as JT,readdir as WT,rm as zl,rename as N0}from"node:fs/promises";import{existsSync as D0,readFileSync as M0,realpathSync as L0}from"node:fs";import{createHash as F0}from"node:crypto";import{dirname as Ul,join as j0,resolve as Zl}from"node:path";var An="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";import{readFileSync as I0}from"node:fs";import{join as O0}from"node:path";function be(){try{return I0(O0(R(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Wl=1440*60*1e3,H0=30*Wl,B0=200*1024*1024,Vl=8*1024*1024,z0=/^[0-9a-f]{8,64}$/i;var U0=".meta";var n$=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
111
- `);function ql(){try{let e=JSON.parse(M0(pi(),"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 Z0(){let e=ql().maxAgeDays;return e?e*Wl:H0}function Cn(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Yl(e=process.env){return{maxAgeMs:Cn("TOKMIZER_CCR_MAX_AGE_MS",Z0(),e),maxBytes:Cn("TOKMIZER_CCR_DIR_CAP_BYTES",B0,e),entryMaxBytes:Cn("TOKMIZER_CCR_ENTRY_MAX_BYTES",Vl,e)}}function G0(e){return`${kr(e)}${U0}`}async function Gl(e){await P0(e,{recursive:!0,mode:448});try{await Jl(e,448)}catch{}}function K0(e=process.cwd()){let t;try{t=L0(Zl(e))}catch{t=Zl(e)}for(let n=t;;n=Ul(n)){if(D0(j0(n,".git")))return n;if(Ul(n)===n)return t}}function J0(e){return e===""?[]:(e.endsWith(`
108
+ `:"";return await nl(e,s)?"removed":"error"}function Lt(){return Hr(Qa.homedir(),".gemini","config","hooks.json")}function wy(e){return{enabled:!0,PreToolUse:[{matcher:"run_command",hooks:[{type:"command",command:e,timeout:10}]}]}}function il(){try{let e=fe(Xa(Lt(),"utf8"));return F(e)&&F(e[Dt])}catch{return!1}}async function al(e){let t=Lt(),n=await Ce(t);if(!n)return"error";let r=wy(e),s=n[Dt];return s!==void 0&&JSON.stringify(s)===JSON.stringify(r)?"present":(n[Dt]=r,await Ie(t,n)?s===void 0?"added":"updated":"error")}async function ll(){let e=Lt();if(!Br(e))return"absent";let t=await Ce(e);return t?Dt in t?(delete t[Dt],await Ie(e,t)?"removed":"error"):"absent":"error"}var Ft=()=>Ey.homedir(),Ur=()=>process.env.XDG_CONFIG_HOME||re(Ft(),".config"),cl=[{host:"opencode",label:"OpenCode",command:"setup-opencode",kind:"shim",files:()=>[{template:"opencode.js",target:re(Ur(),"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:re(Ur(),"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:re(Ur(),"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:Mt,installed:rl,ensure:sl,remove:ol,next:"Restart Vibe so it reads hooks.toml."},{host:"antigravity",label:"Antigravity",command:"setup-antigravity",kind:"hook",file:Lt,installed:il,ensure:al,remove:ll,next:"Restart Antigravity, then check it with /hooks."},{host:"openclaw",label:"OpenClaw",command:"setup-openclaw",kind:"shim",files:()=>{let e=re(Ft(),".openclaw","extensions","tokmizer");return["index.js","openclaw.plugin.json","package.json"].map(t=>({template:`openclaw/${t}`,target:re(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:re(process.env.PI_CODING_AGENT_DIR||re(Ft(),".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:re(Ft(),".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=re(process.env.HERMES_HOME||re(Ft(),".hermes"),"plugins","tokmizer");return["__init__.py","plugin.yaml"].map(t=>({template:`hermes/${t}`,target:re(e,t)}))},next:"Run: hermes plugins enable tokmizer, then restart Hermes (needs Hermes v2026.8.16 or newer)."}];function ul(e){return e.kind==="hook"?e.installed():Va(e.files()[0].target)}import{existsSync as Jr,readFileSync as Ay}from"node:fs";import{join as G}from"node:path";import Cy from"node:os";import{existsSync as vy,readFileSync as Sy}from"node:fs";function vn(e,t){return F(e)&&gt(e.command,t)}function fl(e){return e.path??(e.nested?["hooks"]:[])}function dl(e,t){let n=e;for(let r of fl(t))F(n[r])||(n[r]={}),n=n[r];return n}function pl(e,t){let n=e;for(let s of fl(t))n=F(n)?n[s]:void 0;if(!F(n))return[];let r=n[t.event];return Array.isArray(r)?r:[]}function Ty(e){return F(e)&&Array.isArray(e.hooks)?e.hooks:[]}function ml(e,t){return(t.matcher===void 0?e:e.flatMap(Ty)).filter(r=>vn(r,t.mark))}function hl(e,t){return ml(pl(e,t),t).length>0}function Zr(e,t){try{let n=fe(Sy(e,"utf8"));return F(n)&&hl(n,t)}catch{return!1}}function $y(e,t,n){let r=dl(e,t),s=Array.isArray(r[t.event])?r[t.event]:[];r[t.event]=s;let o=ml(s,t)[0],i=t.entry(n);if(o){let a=wn(s,c=>vn(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 Ry(e,t){if(!hl(e,t))return!1;let n=dl(e,t),r=pl(e,t),s=t.matcher===void 0?r.filter(o=>!vn(o,t.mark)):r.map(o=>F(o)&&Array.isArray(o.hooks)?{...o,hooks:o.hooks.filter(i=>!vn(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 Gr(e,t,n){let r=await Ce(e);if(!r||t.prepare&&!t.prepare(r))return"error";let s=$y(r,t,n);return s==="present"||await Ie(e,r)?s:"error"}async function Sn(e,t){if(!vy(e))return"absent";let n=await Ce(e);return n?Ry(n,t)?await Ie(e,n)?"removed":"error":"absent":"error"}function de(){return Cy.homedir()}function bl(e){return e.version===void 0&&(e.version=1),e.version===1}function Iy(e,t,n){return Promise.all(e.map(r=>Gr(r,t,n))).then(r=>r.includes("error")?"error":r.includes("updated")?"updated":r.includes("added")?"added":"present")}function Oy(e,t){return Promise.all(e.map(n=>Sn(n,t))).then(n=>n.includes("error")?"error":n.includes("removed")?"removed":"absent")}function Xe(e,t){return{...e,installed:()=>e.files().some(n=>Zr(n,t)),ensure:n=>Iy(e.files(),t,n),remove:()=>Oy(e.files(),t)}}var Py={mark:"tkr-copilot-hook",event:"PreToolUse",nested:!0,entry:e=>({type:"command",command:e,bash:e,powershell:e,timeout:10,timeoutSec:10}),prepare:bl};function Ny(){return G(process.env.COPILOT_HOME||G(de(),".copilot"),"hooks","tokmizer.json")}var Dy={mark:"tkr-trae-hook",event:"PreToolUse",nested:!0,matcher:"RunCommand",entry:e=>({type:"command",command:e,timeout:30}),prepare:bl};function My(){let e=[G(de(),".trae","hooks.json")];return Jr(G(de(),".trae-cn"))&&e.push(G(de(),".trae-cn","hooks.json")),e}var Ly={mark:"tkr-qwen-hook",event:"PreToolUse",nested:!0,matcher:"run_shell_command",entry:e=>({name:"tokmizer",type:"command",command:e,timeout:10})};function Fy(){return G(process.env.QWEN_HOME||G(de(),".qwen"),"settings.json")}var jy={mark:"tkr-crush-hook",event:"PreToolUse",nested:!0,entry:e=>({name:"tokmizer",matcher:"^bash$",command:e,timeout:10})};function Hy(){return G(process.env.XDG_CONFIG_HOME||G(de(),".config"),"crush","crush.json")}var By={mark:"tkr-junie-hook",event:"PreToolUse",nested:!0,matcher:"^Bash$",entry:e=>({type:"command",command:e,timeout:10})};function zy(){return G(de(),".junie","config.json")}function Uy(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}var Zy={mark:"tkr-zcode-hook",event:"PreToolUse",nested:!0,path:["hooks","events"],matcher:"Bash",entry:e=>({type:"command",command:e,timeoutMs:1e4}),prepare:Uy};function Gy(){return G(de(),".zcode","cli","config.json")}var Ky={mark:"tkr-grok-hook",event:"PreToolUse",nested:!0,matcher:"Bash",entry:e=>({type:"command",command:e,timeout:10})};function Jy(){return G(de(),".grok","hooks","tokmizer.json")}var Wy="tkr-droid-hook",Wr={mark:Wy,event:"PreToolUse",nested:!1,matcher:"Execute",entry:e=>({type:"command",command:e,timeout:10})},Vy={...Wr,nested:!0};function Kr(){return G(de(),".factory")}function Tn(){return[{file:G(Kr(),"hooks.json"),spec:Wr},{file:G(Kr(),"hooks","hooks.json"),spec:Wr},{file:G(Kr(),"settings.json"),spec:Vy}]}function gl(e){try{let t=JSON.parse(Ay(e,"utf8"));return F(t)?t:null}catch{return null}}function yl(e,t){let n=t?e?.hooks:e;return F(n)&&Array.isArray(n.PreToolUse)&&n.PreToolUse.length>0}function kl(){let[e,t,n]=Tn(),r=Jr(e.file)?e:Jr(t.file)?t:null;return r&&yl(gl(r.file),!1)?r:yl(gl(n.file),!0)?n:r??e}var qy={id:"droid",label:"Factory Droid",setup:"tkr setup-droid",bin:"tkr-droid-hook",restart:"Restart Droid, then check it with /hooks.",files:()=>[kl().file],installed:()=>Tn().some(e=>Zr(e.file,e.spec)),ensure:async e=>{let t=kl(),n=await Gr(t.file,t.spec,e);return n==="error"||await Promise.all(Tn().filter(r=>r.file!==t.file).map(r=>Sn(r.file,r.spec))),n},remove:async()=>{let e=await Promise.all(Tn().map(t=>Sn(t.file,t.spec)));return e.includes("error")?"error":e.includes("removed")?"removed":"absent"}},_l=[Xe({id:"copilot",label:"GitHub Copilot",setup:"tkr setup-copilot",bin:"tkr-copilot-hook",restart:"Restart VS Code or Copilot CLI so they load the new hook.",files:()=>[Ny()]},Py),qy,Xe({id:"trae",label:"Trae",setup:"tkr setup-trae",bin:"tkr-trae-hook",restart:"Restart Trae so it loads the new hook.",files:My},Dy),Xe({id:"qwen-code",label:"Qwen Code",setup:"tkr setup-qwen",bin:"tkr-qwen-hook",restart:"Restart Qwen Code, then check it with /hooks.",files:()=>[Fy()]},Ly),Xe({id:"crush",label:"Crush",setup:"tkr setup-crush",bin:"tkr-crush-hook",restart:"Restart Crush so it loads the new hook.",files:()=>[Hy()]},jy),Xe({id:"junie",label:"Junie CLI",setup:"tkr setup-junie",bin:"tkr-junie-hook",restart:"Restart Junie CLI so it loads the new hook.",files:()=>[zy()]},By),Xe({id:"zcode",label:"ZCode",setup:"tkr setup-zcode",bin:"tkr-zcode-hook",restart:"Restart ZCode so it loads the new hook.",files:()=>[Gy()]},Zy),Xe({id:"grok",label:"Grok Build",setup:"tkr setup-grok",bin:"tkr-grok-hook",restart:"Restart Grok Build (1.0.4 or newer) so it loads the new hook.",files:()=>[Jy()]},Ky)];var wl=[{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:[]}],Yy=[...wl.map(e=>e.host),"shell"],Xy=new Set(["claude-code","codex"]),Qy={cursor:{installed:Ka,setup:"tkr setup-cursor"},"gemini-cli":{installed:Wa,setup:"tkr setup-gemini"},...Object.fromEntries(cl.map(e=>[e.host,{installed:()=>ul(e),setup:`tkr ${e.command}`}])),...Object.fromEntries(_l.map(e=>[e.id,{installed:e.installed,setup:e.setup}]))};function xl(e){return Xy.has(e)||(Qy[e]?.installed()??!1)}function El(e){return null}function vl(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&&Yy.includes(s)){let o=s;return{host:o,source:"env",os:n,arch:r,shimRecommended:!xl(o)}}for(let o of wl)if(o.vars.some(i=>e[i]))return{host:o.host,source:"env",os:n,arch:r,shimRecommended:!xl(o.host)};return{host:"shell",source:"fallback",os:n,arch:r,shimRecommended:!0}}import{existsSync as XS,realpathSync as e0}from"node:fs";import{basename as eT,delimiter as Sl,join as tT,dirname as nT}from"node:path";function Tl(e){try{return e0(e)}catch{return e}}function $l(){let e=yn(),t={...process.env},n=process.platform==="win32"?"Path":"PATH",r=t[n]??t.PATH??"",s=Tl(e),o=r.split(Sl).filter(i=>i&&i!==e&&Tl(i)!==s);return t[n]=o.join(Sl),n==="Path"&&(t.PATH=t[n]),t}import{createConnection as m0}from"node:net";import{spawn as h0}from"node:child_process";import{existsSync as Nl,openSync as Xr,closeSync as Ol,unlinkSync as es,writeFileSync as ts,mkdirSync as ns,readFileSync as Dl,appendFileSync as g0,rmSync as y0,statSync as Ml}from"node:fs";import{dirname as k0,join as rs}from"node:path";import{fileURLToPath as b0}from"node:url";var t0=y.object({id:y.string().min(1).max(64),op:y.literal("filter"),cmd:y.string().min(1).max(2048),plan:y.enum(["trial","smart","pro"]),allowed:y.array(y.string().min(1).max(64)).max(512).optional(),installId:y.string().min(1).max(64).optional()}),n0=y.object({id:y.string().min(1).max(64),op:y.literal("ping")}),r0=y.object({id:y.string().min(1).max(64),op:y.literal("shutdown"),installId:y.string().min(1).max(64)}),s0=y.object({id:y.string().min(1).max(64),op:y.literal("reload"),installId:y.string().min(1).max(64).optional()}),pT=y.discriminatedUnion("op",[t0,n0,r0,s0]),mT=y.object({id:y.string(),ok:y.literal(!0),data:y.unknown()}),hT=y.object({id:y.string(),ok:y.literal(!1),err:y.string(),retryAfterMs:y.number().int().nonnegative().optional()}),Rl=y.object({filter:Re.nullable(),cacheHit:y.boolean().optional()}),$n=`
109
+ `,gT=64*1024;function Vr(e){return JSON.stringify(e)+$n}function*Al(e){let t=0;for(;;){let n=e.indexOf($n,t);if(n<0)return;yield e.slice(t,n),t=n+1}}function jt(){return`${process.pid}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}import o0 from"node:os";import{join as Ht}from"node:path";import{existsSync as i0,statSync as a0,lstatSync as Cl,unlinkSync as l0,mkdirSync as c0,chmodSync as u0}from"node:fs";import{createHash as f0}from"node:crypto";var qr=100;function d0(e){let t=f0("sha256").update(R()).digest("hex").slice(0,8),n=Ht(o0.tmpdir(),`tkr-${e}-${t}`),r=Ht(n,"d.sock");if(Buffer.byteLength(r)>qr)throw new Error("Temporary directory path is too long for IPC");return Il(n,e),r}function p0(e,t){try{let n=Cl(e);return n.isDirectory()&&n.uid===t&&(n.mode&63)===0}catch{return!1}}function Il(e,t){c0(e,{recursive:!0,mode:448});let n=Cl(e);if(!n.isDirectory()||n.uid!==t)throw new Error("Unsafe IPC directory");u0(e,448)}function Bt(){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&&p0(t,e)){let s=Ht(t,`tokmizer-${e}.sock`);if(Buffer.byteLength(s)<=qr)return{path:s,isPipe:!1}}let n=Ht(R(),"run"),r=Ht(n,"daemon.sock");return Buffer.byteLength(r)>qr?{path:d0(e),isPipe:!1}:(Il(n,e),{path:r,isPipe:!1})}async function Yr(){let{path:e,isPipe:t}=Bt();if(t||!i0(e))return;try{if(!a0(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{l0(e)}catch{}}var ET=5*6e4;var Ll=500,_0=3e3,Pl=1,x0=6e4,w0=256*1024;function ss(){return rs(R(),"daemon.spawn.fail")}function os(){return rs(R(),"daemon.log")}function E0(){try{let e=Number(Dl(ss(),"utf8"));return Number.isFinite(e)&&Date.now()-e<x0}catch{return!1}}function v0(e){try{ns(R(),{recursive:!0,mode:448});let t=os();try{Ml(t).size>w0&&es(t)}catch{}g0(t,`${new Date().toISOString()} ${e}
110
+ `,{mode:384})}catch{}}function S0(e){try{ns(R(),{recursive:!0,mode:448}),ts(ss(),String(Date.now()),{mode:384})}catch{}v0(`spawn failed: ${e.message}`)}function T0(){try{y0(ss(),{force:!0})}catch{}}async function Rn(e,t){return new Promise((n,r)=>{let s=m0(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 $0(){return process.env.TOKMIZER_DAEMON_BIN?process.env.TOKMIZER_DAEMON_BIN:b0(new URL("../bin/tkr-daemon.js",import.meta.url))}async function Qr(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 Rn(e,75)).destroy(),!0}catch{}else if(Nl(e))return!0;await new Promise(o=>setTimeout(o,75))}return!1}function R0(e,t=Date.now()){try{if(t-Ml(e).mtimeMs>1e4)return!0;let r=Number(Dl(e,"utf8").trim());if(!Number.isInteger(r)||r<=0)return!1;try{return process.kill(r,0),!1}catch(s){return s.code==="ESRCH"}}catch{return!1}}async function A0(e){let t=$0();if(!Ae()&&!Nl(t))throw new Error(`tkr-daemon binary not found at ${t}`);let{path:n}=Bt(),r=process.platform==="win32"?R():k0(n);try{ns(r,{recursive:!0,mode:448})}catch{}let s=rs(r,"daemon.spawn.lock"),o=null;try{o=Xr(s,"wx"),ts(o,String(process.pid))}catch(i){if(i.code==="EEXIST"){if(!R0(s)&&await Qr(n,5e3))return;try{es(s)}catch{}try{o=Xr(s,"wx"),ts(o,String(process.pid))}catch(l){if(l.code==="EEXIST"){await Qr(n,5e3);return}throw l}}else throw i}try{let i=null;try{i=Xr(os(),"a",384)}catch{}let[a,...l]=Nt(t);if(h0(a,l,{detached:!0,stdio:["ignore","ignore",i??"ignore"],env:{...process.env,TOKMIZER_DAEMON_INSTALL_ID:e}}).unref(),i!==null)try{Ol(i)}catch{}if(!await Qr(n,3e3))throw new Error("tkr-daemon failed to bind socket within 3s")}finally{if(o!==null){try{Ol(o)}catch{}try{es(s)}catch{}}}}async function C0(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Bt(),n=await Rr();try{let r=await Rn(t,Ll);r.write(Vr({id:jt(),op:"shutdown",installId:n})),await new Promise(s=>setTimeout(s,150));try{r.destroy()}catch{}return!0}catch{return!1}}async function I0(e,t){let n=Date.now()+t;for(;Date.now()<n;){try{(await Rn(e,250)).destroy()}catch{return!0}await new Promise(r=>setTimeout(r,100))}return!1}async function is(e={}){let{path:t}=e.socketPath?{path:e.socketPath}:Bt(),n=await Rr(),r=null,s=0,o=!1;for(;s<=Pl;)try{r=await Rn(t,Ll),T0();break}catch{if(s+=1,s>Pl)throw new Error(`tkr-daemon unreachable at ${t}`);if(E0())throw new Error(`tkr-daemon spawn on cooldown (see ${os()})`);await Yr();try{await A0(n),o=!0}catch(u){throw S0(u),u}}if(!r)throw new Error("tkr-daemon: socket setup failed");let i=new Map,a="";r.setEncoding("utf8"),r.on("data",u=>{a+=u;let f=-1;for(let m=0;m<a.length;m++)a[m]===$n&&(f=m);if(f<0)return;let d=[];for(let m of Al(a.slice(0,f+1)))d.push(m);a=a.slice(f+1);for(let m of d)if(m)try{let k=JSON.parse(m),g=i.get(k.id);if(!g)continue;clearTimeout(g.timer),i.delete(k.id),g.resolve(k)}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})`))},_0);i.set(u.id,{resolve:f,reject:d,timer:m}),r.write(Vr(u))})}let c={filter:async(u,f,d)=>{let m=await l({id:jt(),op:"filter",cmd:u.slice(0,2048),plan:f,...d&&d.length>0?{allowed:d.slice(0,512)}:{},installId:n});if(!m.ok)throw new Error(m.err);let k=Rl.safeParse(m.data);return k.success?k.data.filter:null},ping:async()=>{let u=await l({id:jt(),op:"ping"});if(!u.ok)throw new Error(u.err);return u.data},reload:async()=>{let u=await l({id:jt(),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&&zi(It,f.version))throw new Error(`newer daemon ${f.version} already running`);u=f.version!==It}catch(f){throw c.close(),f}if(u){try{await C0(e.socketPath?{socketPath:e.socketPath}:{})}catch{}c.close();let f=await I0(t,2e3);if(await Yr(),!f)throw new Error("stale daemon still running after shutdown request");return is({...e,skipVersionCheck:!0})}}return c}var yt=null,zt=null;async function O0(){if(yt)return yt;if(zt)return zt;let e=is().then(t=>{if(zt===e)return yt=t,t;try{t.close()}catch{}return null}).catch(()=>null);return zt=e,e}var as=null,ls=!1;async function P0(){return ls||(ls=!0,as=await Wi()??fn()),as}async function Fl(e,t,n){let r=await P0();if(!r)return null;let s=r.selectFor(e,t,n?[...n]:void 0);return!s||n&&!n.has(te(s.slug))?null:s}function N0(e){return e?{...e,matchRegex:new RegExp(e.match_command)}:null}function jl(){$r(async(e,t)=>{let r=t??dn(void 0),s=await O0();if(!s)return Fl(e,"pro",r);try{let o=await s.filter(e,"pro",r?[...r]:void 0);return!o||r&&!r.has(te(o.slug))?null:N0(o)}catch{return Fl(e,"pro",r)}})}function Hl(){if($r(null),yt)try{yt.close()}catch{}yt=null,zt=null,as=null,ls=!1}import{chmod as Jl,mkdir as L0,readFile as qT,writeFile as Bl,stat as YT,readdir as XT,rm as zl,rename as F0}from"node:fs/promises";import{existsSync as j0,readFileSync as H0,realpathSync as B0}from"node:fs";import{createHash as z0}from"node:crypto";import{dirname as Ul,join as U0,resolve as Zl}from"node:path";var An="[tkr: partial view; folded or omitted lines are not file text. Read with offset/limit for the exact lines before Edit or Write]";import{readFileSync as D0}from"node:fs";import{join as M0}from"node:path";function be(){try{return D0(M0(R(),"yolo-mode"),"utf8")==="on"}catch{return!1}}var Wl=1440*60*1e3,Z0=30*Wl,G0=200*1024*1024,Vl=8*1024*1024,K0=/^[0-9a-f]{8,64}$/i;var J0=".meta";var i$=["usage: tkr restore <hash> [--lines a:b] [--grep pattern]"," tkr restore --list [--all-projects]"," tkr restore --grep <pattern> [--all-projects]",""].join(`
111
+ `);function ql(){try{let e=JSON.parse(H0(pi(),"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(){let e=ql().maxAgeDays;return e?e*Wl:Z0}function Cn(e,t,n=process.env){let r=Number(n[e]);return Number.isFinite(r)&&r>0?r:t}function Yl(e=process.env){return{maxAgeMs:Cn("TOKMIZER_CCR_MAX_AGE_MS",W0(),e),maxBytes:Cn("TOKMIZER_CCR_DIR_CAP_BYTES",G0,e),entryMaxBytes:Cn("TOKMIZER_CCR_ENTRY_MAX_BYTES",Vl,e)}}function V0(e){return`${kr(e)}${J0}`}async function Gl(e){await L0(e,{recursive:!0,mode:448});try{await Jl(e,448)}catch{}}function q0(e=process.cwd()){let t;try{t=B0(Zl(e))}catch{t=Zl(e)}for(let n=t;;n=Ul(n)){if(j0(U0(n,".git")))return n;if(Ul(n)===n)return t}}function Y0(e){return e===""?[]:(e.endsWith(`
112
112
  `)?e.slice(0,-1):e).split(`
113
- `)}async function W0(e,t,n=process.env,r={}){if(be()||!z0.test(e))return!1;t=mn(t);let s=Buffer.byteLength(t,"utf8");if(s>Cn("TOKMIZER_CCR_ENTRY_MAX_BYTES",Vl,n))return!1;let o=kr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Gl(R()),await Gl(yr()),be())return!1;if(await Bl(i,t,{mode:384}),await Jl(i,384),be())return await zl(i,{force:!0}),!1;await N0(i,o)}catch{try{await zl(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:J0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:K0(r.cwd)};try{await Bl(G0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Xl(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||be()||ql().disabled===!0}var V0=/^(?=\[tkr |\[tokmizer\])/gm,Kl=/^\[(?:tkr:|same output as )/,q0=[e=>e===An,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)];function Ie(e,t){let n=e.replace(V0,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
114
- `).map(o=>o.replace(/\r$/,"")).filter(o=>Kl.test(o)),s=o=>{if(r==null)return!1;let i=q0.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
113
+ `)}async function X0(e,t,n=process.env,r={}){if(be()||!K0.test(e))return!1;t=mn(t);let s=Buffer.byteLength(t,"utf8");if(s>Cn("TOKMIZER_CCR_ENTRY_MAX_BYTES",Vl,n))return!1;let o=kr(e),i=`${o}.tmp-${process.pid}-${process.hrtime.bigint()}`;try{if(await Gl(R()),await Gl(yr()),be())return!1;if(await Bl(i,t,{mode:384}),await Jl(i,384),be())return await zl(i,{force:!0}),!1;await F0(i,o)}catch{try{await zl(i)}catch{}return!1}let a={at:Date.now(),bytes:s,lines:Y0(t).length,partial:r.partial===!0,...r.label?{label:r.label.slice(0,40)}:{},project:q0(r.cwd)};try{await Bl(V0(e),JSON.stringify(a),{mode:384})}catch{}return!0}function Xl(e){let t=e.TOKMIZER_CCR_DISABLED;return t==="1"||t==="true"||be()||ql().disabled===!0}var Q0=/^(?=\[tkr |\[tokmizer\])/gm,Kl=/^\[(?:tkr:|same output as )/,ek=[e=>e===An,e=>/^\[tkr: previous log line repeated \d+ additional times\]$/.test(e),e=>/^\[same output as `.*` earlier in this session, unchanged, ~\d+ tokens\]$/.test(e)];function _e(e,t){let n=e.replace(Q0,"> ");if(!n.includes("[tkr:")&&!n.includes("[same output as "))return n;let r=t==null?null:t.split(`
114
+ `).map(o=>o.replace(/\r$/,"")).filter(o=>Kl.test(o)),s=o=>{if(r==null)return!1;let i=ek.find(a=>a(o));return i!=null&&!r.some(i)};return n.split(`
115
115
  `).map(o=>Kl.test(o)&&!s(o)?`> ${o}`:o).join(`
116
116
  `)}function Ql(e,t,n){let r=Yl(n).entryMaxBytes,s=e===""||e.endsWith(`
117
117
  `)?"":`
118
118
  `,o=i=>`${Math.ceil(i/(1024*1024))} MB`;return`${s}[tkr: full output too large to keep (${o(t)} > ${o(r)} limit), no restore available]
119
- `}function Y0(e){return`${e===""||e.endsWith(`
119
+ `}function tk(e){return`${e===""||e.endsWith(`
120
120
  `)?"":`
121
121
  `}[tkr: the full output could not be saved, no restore available]
122
- `}function ec(e,t){let n=Buffer.byteLength(e,"utf8");return n>Yl(t).entryMaxBytes?n:null}async function cs(e,t,n,r){let s=F0("sha256").update(e).digest("hex").slice(0,16);return await W0(s,e,r,{partial:t,label:n})?s:null}function tc(e,t){return`${e===""||e.endsWith(`
122
+ `}function ec(e,t){let n=Buffer.byteLength(e,"utf8");return n>Yl(t).entryMaxBytes?n:null}async function cs(e,t,n,r){let s=z0("sha256").update(e).digest("hex").slice(0,16);return await X0(s,e,r,{partial:t,label:n})?s:null}function tc(e,t){return`${e===""||e.endsWith(`
123
123
  `)?"":`
124
124
  `}[tkr restore ${t}]
125
- `}async function In(e,t,n=process.env,r={}){if(t=Ie(t,r.raw),Xl(n)||!e)return t;let s=a=>tc(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await cs(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await cs(e,!0,r.label,n);if(o)return`${t}${s(o)}`;if(be())return t;let i=ec(r.raw||e,n);return i?`${t}${Ql(t,i,n)}`:r.raw??`${t}${Y0(t)}`}async function nc(e,t,n=process.env,r={}){if(t=Ie(t,e),Xl(n)||!e)return t;let s=await cs(e,!1,r.label,n);if(s)return`${t}${tc(t,s)}`;if(be())return t;let o=ec(e,n);return o?`${t}${Ql(t,o,n)}`:e}var yt=10*1024*1024,sc=1024,ok=6e4,ik=200,ak=1e3,ic="TOKMIZER_EXEC_CAPTURING";function ac(e=process.env){return e[ic]==="1"}function oc(e,t){let n=new sk("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function lk(){try{if(!It()||!rc(Gi()))return;let e=process.env.TOKMIZER_TKR_BIN||rk(new URL("../bin/tkr.js",import.meta.url));if(!Re()&&!rc(e))return;let t=tk(R(),"enroll-kick");try{let o=Number(X0(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<ok)return}catch{}ek(R(),{recursive:!0,mode:448}),Q0(t,String(Date.now()));let[n,...r]=Nt(e);(0,us.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function ck(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}var uk=ck(process.env),fk={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};function On(e){return nk.signals[e]??fk[e]??15}var dk=/^[A-Za-z0-9_@%+=:,./-]+$/;function pk(e){return e.map(t=>dk.test(t)?t:kn(t)).join(" ")}function mk(e){let t=Rt(e);if(t===null)return!1;let[n,...r]=ke(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function lc(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=be(),s={...$l(),[ic]:"1"},o=(0,us.default)(Gt(t,s),n,{stdio:["inherit","pipe","pipe"],env:s,windowsHide:!0}),i=!1;o.on("spawn",()=>{i=!0});let a=M=>{try{o.kill(M)}catch{}},l=()=>a("SIGINT"),c=()=>a("SIGTERM");process.on("SIGINT",l),process.on("SIGTERM",c);let u=[],f=[],d=0,m=0,k=!1,g=!1;o.stdout?.on("data",M=>{if(d>=yt){k=!0;return}let H=yt-d,B=M.length>H?M.subarray(0,H):M;u.push(B),d+=B.length,M.length>H&&(k=!0)}),o.stderr?.on("data",M=>{if(m>=yt){g=!0;return}let H=yt-m,B=M.length>H?M.subarray(0,H):M;f.push(B),m+=B.length,M.length>H&&(g=!0)});let p,_,w,$,I;try{I=await new Promise((M,H)=>{o.on("error",j=>{p&&clearTimeout(p),i?M(1):H(j)});let B=null,Qe=()=>{B!=null&&(p&&clearTimeout(p),w&&clearTimeout(w),$&&clearTimeout($),M(B))},_e=()=>{o.stdout?.destroy(),o.stderr?.destroy(),Qe()},A=()=>{w&&clearTimeout(w),w=setTimeout(_e,ik)};o.on("exit",(j,J)=>{p&&clearTimeout(p),_&&clearTimeout(_),B=j??(J?128+On(J):0),A(),$=setTimeout(_e,ak),o.stdout?.on("data",A),o.stderr?.on("data",A)}),o.on("close",(j,J)=>{B==null&&(B=j??(J?128+On(J):0)),Qe()}),p=setTimeout(()=>{o.kill("SIGTERM"),_=setTimeout(()=>o.kill("SIGKILL"),2e3)},uk),p.unref?.()})}finally{p&&clearTimeout(p),_&&clearTimeout(_),w&&clearTimeout(w),$&&clearTimeout($),process.off("SIGINT",l),process.off("SIGTERM",c)}let N=oc(u,k),D=oc(f,g);return hk({argv:e,stdout:N,stderr:D,exitCode:I,truncated:k,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:lk})}async function hk({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?`
126
- \u2026 (output truncated at ${yt/1048576}MB)`:"",m=o?`
127
- \u2026 (stderr truncated at ${yt/(1024*1024)}MB)`:"",k=()=>{let g=t+d,p=Buffer.byteLength(g,"utf8");return{stdout:g,stderr:n+m,code:r??0,filterId:null,rawBytes:p,filteredBytes:p,truncated:s}};try{let g=await At();g||c?.();let p=await Ye();if(!p.enabled)return k();let _=a.CLAUDE_CODE_SESSION_ID;_&&g?.token&&Ra(_,{tool:"Bash",target:e.join(" "),...r!=null&&r!==0?{fail:1}:{}});let w=g?dn(g.allowedFilters,Yi(g)):null,$=new Set(p.filters.disabled.map(te)),I=w&&$.size>0?new Set([...w].filter(G=>!$.has(G))):w,N=pk(e);g&&!l&&jl();let D=await pn(N,t,I,{verbosity:p.outputVerbosity,resolver:l,yolo:i,exitCode:r}),M=Ie(n,n),H=0,B=0;if((i||r===0||r==null)&&Buffer.byteLength(n,"utf8")>=(i?1:sc)){let G=await pn(N,n,I,{verbosity:p.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(M=Ie(G.output,n),!i&&G.output!==n)try{M=await In(G.droppedTail??null,G.output,a,{raw:o?null:n,label:Pt(N)})}catch{}H=G.rawBytes,B=G.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=sc){let G=await pn(N,n,I,{verbosity:p.outputVerbosity,resolver:l,exitCode:r});if(G.failureSummary){try{M=await In(G.droppedTail??null,G.output,a)}catch{M=Ie(G.output,n)}H=G.rawBytes,B=G.filteredBytes}}let _e=!i&&D.output!==t&&mk(N)?`${D.output}${D.output.endsWith(`
125
+ `}async function In(e,t,n=process.env,r={}){if(t=_e(t,r.raw),Xl(n)||!e)return t;let s=a=>tc(t,a);if(Buffer.byteLength(e,"utf8")<=Buffer.byteLength(s("0".repeat(16)),"utf8"))return t;if(r.raw){let a=await cs(r.raw,!1,r.label,n);if(a)return`${t}${s(a)}`}let o=await cs(e,!0,r.label,n);if(o)return`${t}${s(o)}`;if(be())return t;let i=ec(r.raw||e,n);return i?`${t}${Ql(t,i,n)}`:r.raw??`${t}${tk(t)}`}async function nc(e,t,n=process.env,r={}){if(t=_e(t,e),Xl(n)||!e)return t;let s=await cs(e,!1,r.label,n);if(s)return`${t}${tc(t,s)}`;if(be())return t;let o=ec(e,n);return o?`${t}${Ql(t,o,n)}`:e}var kt=10*1024*1024,sc=1024,ck=6e4;function oc(e,t){return e.length<t.length&&Buffer.byteLength(e,"utf8")<Buffer.byteLength(t,"utf8")}var uk=200,fk=1e3,ac="TOKMIZER_EXEC_CAPTURING";function lc(e=process.env){return e[ac]==="1"}function ic(e,t){let n=new lk("utf8"),r=n.write(Buffer.concat(e));return t?r:r+n.end()}function dk(){try{if(!Ot()||!rc(Gi()))return;let e=process.env.TOKMIZER_TKR_BIN||ak(new URL("../bin/tkr.js",import.meta.url));if(!Ae()&&!rc(e))return;let t=ok(R(),"enroll-kick");try{let o=Number(nk(t,"utf8"));if(Number.isFinite(o)&&Date.now()-o<ck)return}catch{}sk(R(),{recursive:!0,mode:448}),rk(t,String(Date.now()));let[n,...r]=Nt(e);(0,us.default)(n,[...r,"heartbeat"],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()}catch{}}function pk(e){let t=Number(e.TOKMIZER_EXEC_TIMEOUT_MS);if(Number.isFinite(t)&&t>0)return t;let n=Number(e.BASH_MAX_TIMEOUT_MS);return Number.isFinite(n)&&n>6e5?n:6e5}var mk=pk(process.env),hk={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGILL:4,SIGTRAP:5,SIGABRT:6,SIGBUS:7,SIGFPE:8,SIGKILL:9,SIGUSR1:10,SIGSEGV:11,SIGUSR2:12,SIGPIPE:13,SIGALRM:14,SIGTERM:15};function On(e){return ik.signals[e]??hk[e]??15}var gk=/^[A-Za-z0-9_@%+=:,./-]+$/;function yk(e){return e.map(t=>gk.test(t)?t:kn(t)).join(" ")}function kk(e){let t=At(e);if(t===null)return!1;let[n,...r]=ke(t).split(/\s+/);return/^(?:cat|head|nl)(?:\.exe)?$/i.test(n?.split(/[\\/]/).pop()??"")&&r.some(s=>s!==""&&!s.startsWith("-"))}async function cc(e){let[t,...n]=e;if(!t)throw new Error("tkr-exec: missing command");let r=be(),s={...$l(),[ac]:"1"},o=(0,us.default)(Gt(t,s),n,{stdio:["inherit","pipe","pipe"],env:s,windowsHide:!0}),i=!1;o.on("spawn",()=>{i=!0});let a=D=>{try{o.kill(D)}catch{}},l=()=>a("SIGINT"),c=()=>a("SIGTERM");process.on("SIGINT",l),process.on("SIGTERM",c);let u=[],f=[],d=0,m=0,k=!1,g=!1;o.stdout?.on("data",D=>{if(d>=kt){k=!0;return}let j=kt-d,B=D.length>j?D.subarray(0,j):D;u.push(B),d+=B.length,D.length>j&&(k=!0)}),o.stderr?.on("data",D=>{if(m>=kt){g=!0;return}let j=kt-m,B=D.length>j?D.subarray(0,j):D;f.push(B),m+=B.length,D.length>j&&(g=!0)});let p,_,w,$,I;try{I=await new Promise((D,j)=>{o.on("error",H=>{p&&clearTimeout(p),i?D(1):j(H)});let B=null,Qe=()=>{B!=null&&(p&&clearTimeout(p),w&&clearTimeout(w),$&&clearTimeout($),D(B))},xe=()=>{o.stdout?.destroy(),o.stderr?.destroy(),Qe()},A=()=>{w&&clearTimeout(w),w=setTimeout(xe,uk)};o.on("exit",(H,J)=>{p&&clearTimeout(p),_&&clearTimeout(_),B=H??(J?128+On(J):0),A(),$=setTimeout(xe,fk),o.stdout?.on("data",A),o.stderr?.on("data",A)}),o.on("close",(H,J)=>{B==null&&(B=H??(J?128+On(J):0)),Qe()}),p=setTimeout(()=>{o.kill("SIGTERM"),_=setTimeout(()=>o.kill("SIGKILL"),2e3)},mk),p.unref?.()})}finally{p&&clearTimeout(p),_&&clearTimeout(_),w&&clearTimeout(w),$&&clearTimeout($),process.off("SIGINT",l),process.off("SIGTERM",c)}let N=ic(u,k),M=ic(f,g);return bk({argv:e,stdout:N,stderr:M,exitCode:I,truncated:k,stderrTruncated:g},{yolo:r,env:process.env,onMissingState:dk})}async function bk({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?`
126
+ \u2026 (output truncated at ${kt/1048576}MB)`:"",m=o?`
127
+ \u2026 (stderr truncated at ${kt/(1024*1024)}MB)`:"",k=()=>{let g=t+d,p=Buffer.byteLength(g,"utf8");return{stdout:g,stderr:n+m,code:r??0,filterId:null,rawBytes:p,filteredBytes:p,truncated:s}};try{let g=await Ct();g||c?.();let p=await Ye();if(!p.enabled)return k();let _=a.CLAUDE_CODE_SESSION_ID;_&&g?.token&&Ra(_,{tool:"Bash",target:e.join(" "),...r!=null&&r!==0?{fail:1}:{}});let w=g?dn(g.allowedFilters,Yi(g)):null,$=new Set(p.filters.disabled.map(te)),I=w&&$.size>0?new Set([...w].filter(z=>!$.has(z))):w,N=yk(e);g&&!l&&jl();let M=await pn(N,t,I,{verbosity:p.outputVerbosity,resolver:l,yolo:i,exitCode:r}),D=_e(n,n),j=0,B=0;if((i||r===0||r==null)&&Buffer.byteLength(n,"utf8")>=(i?1:sc)){let z=await pn(N,n,I,{verbosity:p.outputVerbosity,resolver:l,yolo:i,exitCode:r});if(D=_e(z.output,n),!i&&z.output!==n)try{D=await In(z.droppedTail??null,z.output,a,{raw:o?null:n,label:mt(N)})}catch{}j=z.rawBytes,B=z.filteredBytes}else if(!i&&r!==0&&Buffer.byteLength(n,"utf8")>=sc){let z=await pn(N,n,I,{verbosity:p.outputVerbosity,resolver:l,exitCode:r});if(z.failureSummary||z.output!==n){try{D=await In(z.droppedTail??null,z.output,a,z.failureSummary?{}:{raw:o?null:n,label:mt(N)})}catch{D=_e(z.output,n)}j=z.rawBytes,B=z.filteredBytes}}!o&&n.length>0&&!oc(D,n)&&(D=_e(n,n),j=0,B=0);let xe=!i&&M.output!==t&&kk(N)?`${M.output}${M.output.endsWith(`
128
128
  `)?"":`
129
- `}${An}`:D.output,A=Ie(_e,t);if(!i&&D.filteredBytes<D.rawBytes)try{A=new RegExp(Mo.source,"m").test(D.output)?await nc(t,_e,a,{label:Pt(N)}):await In(D.droppedTail??null,_e,a,{raw:s?null:t,label:Pt(N)})}catch{}!s&&t.length>0&&Buffer.byteLength(A,"utf8")>=Buffer.byteLength(t,"utf8")&&(A=Ie(t,t));let j=A+d,J=M+m,Ut=vl(a).host,xe=va(D.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(j,"utf8")+Buffer.byteLength(J,"utf8"),El(Ut)),fs=!1,ds=async()=>{if(!fs){fs=!0;try{wa(xe.raw,xe.filtered,void 0,!1,Ut,"sh",Pt(N),"cwd"in f?f.cwd:process.cwd(),Ea(D)),g&&await la({cmd:N,filterId:D.filterId,rawBytes:D.rawBytes,filteredBytes:D.filteredBytes}),await aa({cmd:N,tokensSaved:Math.max(0,Math.round((xe.raw-xe.filtered)/4)),rawTokens:Math.round(xe.raw/4),optimized:D.filterId!=null,telemetryOptIn:p.telemetryOptIn&&(!u||(await Ye()).telemetryOptIn),sessionId:_,host:Ut})}catch{}}};return u?u(ds):await ds(),{stdout:j,stderr:J,code:r??0,filterId:D.filterId,rawBytes:D.rawBytes+H,filteredBytes:D.filteredBytes+B,truncated:s}}catch{return k()}finally{l||Hl()}}function cc(e=process.stdout,t=r=>process.exit(r),n=r=>{try{process.stderr.write(r)}catch{}}){let r=!1;e.on("error",s=>{if(s.code==="EPIPE"){t(141);return}r||(r=!0,n(`tkr: stdout write failed (${s.code??s.message}); output dropped
130
- `))})}cc();async function uc(e){let[t,...n]=e;t||process.exit(2);let r=(0,fc.default)(Gt(t,process.env),n,{stdio:"inherit"}),s=await new Promise(o=>{r.on("error",()=>o(127)),r.on("close",(i,a)=>o(i??(a?128+On(a):0)))});process.exit(s)}async function gk(){let e=process.argv.slice(2);if(e.length===0&&(process.stderr.write(`tkr-exec: missing command
131
- `),process.exit(2)),ac()||Ca())return uc(e);let t;try{t=await lc(e)}catch(n){return process.stderr.write(`tkr-exec: ${n.message??n}
132
- `),uc(e)}t.stdout&&process.stdout.write(t.stdout),t.stderr&&process.stderr.write(t.stderr),process.exitCode=t.code}gk().catch(e=>{process.stderr.write(`${e.message??e}
129
+ `}${An}`:M.output,A=_e(xe,t);if(!i&&M.filteredBytes<M.rawBytes)try{A=new RegExp(Mo.source,"m").test(M.output)?await nc(t,xe,a,{label:mt(N)}):await In(M.droppedTail??null,xe,a,{raw:s?null:t,label:mt(N)})}catch{}!s&&t.length>0&&!oc(A,t)&&(A=_e(t,t));let H=A+d,J=D+m,Ut=vl(a).host,we=va(M.rawBytes+Buffer.byteLength(n,"utf8"),Buffer.byteLength(H,"utf8")+Buffer.byteLength(J,"utf8"),El(Ut)),fs=!1,ds=async()=>{if(!fs){fs=!0;try{wa(we.raw,we.filtered,void 0,!1,Ut,"sh",mt(N),"cwd"in f?f.cwd:process.cwd(),Ea(M)),g&&await la({cmd:N,filterId:M.filterId,rawBytes:M.rawBytes,filteredBytes:M.filteredBytes}),await aa({cmd:N,tokensSaved:Math.max(0,Math.round((we.raw-we.filtered)/4)),rawTokens:Math.round(we.raw/4),optimized:M.filterId!=null,telemetryOptIn:p.telemetryOptIn&&(!u||(await Ye()).telemetryOptIn),sessionId:_,host:Ut})}catch{}}};return u?u(ds):await ds(),{stdout:H,stderr:J,code:r??0,filterId:M.filterId,rawBytes:M.rawBytes+j,filteredBytes:M.filteredBytes+B,truncated:s}}catch{return k()}finally{l||Hl()}}function uc(e=process.stdout,t=r=>process.exit(r),n=r=>{try{process.stderr.write(r)}catch{}}){let r=!1;e.on("error",s=>{if(s.code==="EPIPE"){t(141);return}r||(r=!0,n(`tkr: stdout write failed (${s.code??s.message}); output dropped
130
+ `))})}uc();async function fc(e){let[t,...n]=e;t||process.exit(2);let r=(0,dc.default)(Gt(t,process.env),n,{stdio:"inherit"}),s=await new Promise(o=>{r.on("error",()=>o(127)),r.on("close",(i,a)=>o(i??(a?128+On(a):0)))});process.exit(s)}async function _k(){let e=process.argv.slice(2);if(e.length===0&&(process.stderr.write(`tkr-exec: missing command
131
+ `),process.exit(2)),lc()||Ca())return fc(e);let t;try{t=await cc(e)}catch(n){return process.stderr.write(`tkr-exec: ${n.message??n}
132
+ `),fc(e)}t.stdout&&process.stdout.write(t.stdout),t.stderr&&process.stderr.write(t.stderr),process.exitCode=t.code}_k().catch(e=>{process.stderr.write(`${e.message??e}
133
133
  `),process.exit(1)});
134
134
  /*! Bundled license information:
135
135