updates 19.2.2 → 19.3.0

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 (2) hide show
  1. package/dist/shared.js +1 -1
  2. package/package.json +1 -1
package/dist/shared.js CHANGED
@@ -2,7 +2,7 @@ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o
2
2
  `)}return i}const Pe={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Fe(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?Pe[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function Ie(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Le(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}var B=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function Re(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function ze(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function Be(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Re(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function V(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=ze(e,s,e[s],o?`}`:`)`);if(c===-1)r(z(a));else{let r=e.slice(s+1,c),l=(o?Be(r):Re(r)).map(V),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(z(a))}return{source:t,tokens:n}}function Ve(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=U(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function He(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new B(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=V(e.slice(n));return new B(`^${i}$`,e=>r!==Ve(a,e),`i`)}async function Ue(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function We(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function H(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function U(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function Ge(e){let t=/* @__PURE__ */ new Map;return n=>U(t,n,()=>e(n))}const Ke=`0|[1-9]\\d*`,qe=/^(?:0|[1-9]\d*)$/,Je=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Ye=RegExp(`^v?(${Ke})\\.(${Ke})\\.(${Ke})(?:-((?:${Je})(?:\\.(?:${Je}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Xe=/* @__PURE__ */ new Map;function W(e){return typeof e==`string`?U(Xe,e,()=>{let t=Ye.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function Ze(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function Qe(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function $e(e,t){let n=Qe(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=Ze(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function et(e){return W(e)?.version??null}const tt=/* @__PURE__ */ new Map,nt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function rt(e){return typeof e==`string`?U(tt,e,()=>{let t=nt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function it(e,t){let n=$e(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(Qe(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function at(e,t){let n=W(e),r=W(t);return!!(n&&r&&$e(n,r)>0)}function ot(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!qe.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!W(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function st(e,t,n,r,i=``){let a=W(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function ct(...e){return e.every(e=>e!==null)?e:null}function lt(e,t){let n=$e(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function ut(e,t,n){return st(`<`,e,t,n,`-0`)}function dt(e,t){if(e.major===null)return t===`>`||t===`<`?ct(ut(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=st(`>=`,n,i,a,r);return t===`^`&&n!==0?ct(c,ut(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?ct(c,ut(0,0,a+1)):ct(c,ut(o,s,0))}return e.patch===null?!t||t===`=`?ct(st(`>=`,n,i,0),ut(o,s,0)):ct(t===`>`?st(`>=`,o,s,0):t===`<=`?ut(o,s,0):t===`<`?ut(n,i,0):st(`>=`,n,i,0)):ct(st(t||`=`,n,i,a,r))}function ft(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=ot(t[1]),n=ot(t[2]),r=e&&dt(e,`>=`),i=n&&dt(n,`<=`);return r&&i?[...r,...i]:null}let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&ot(t[2]),i=n?dt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const pt=/* @__PURE__ */ new Map;function mt(e){return U(pt,e,()=>{let t=e.split(`||`).map(e=>ft(e.trim()));return t.every(e=>e!==null)?t:null})}function ht(e,t){return t.some(t=>!lt(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function gt(e,t){return!!mt(t)?.some(t=>ht(e,t))}function G(e,t){let n=W(e);return!!(n&&gt(n,t))}function K(e){return typeof e==`string`&&mt(e)?e:null}const _t=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,vt=RegExp(`^${_t}$`,`i`),yt=RegExp(_t,`i`),bt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},xt=/* @__PURE__ */ new Map;function q(e){return typeof e==`string`?U(xt,e,()=>{let t=vt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[bt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function St(e){return q(e)??q(yt.exec(e)?.[0]??``)}const Ct=e=>!!e.pre||e.dev!==null;function wt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Tt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?wt(e.local,t.local):a<o?-1:1}function Et(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function Dt(e,t){let n=Tt(e,t);if(n===0)return null;let r=Et(e,t);return Ct(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Ot=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,J={parse:W,parseRange:e=>W(Ot.exec(e)?.[0]??``)??W(rt(e)?.version??``),compare:$e,diff:it,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:gt},kt=/* @__PURE__ */ new Map;function At(e){return U(kt,e,()=>{let t=e.trim().replace(/^v/i,``);return W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?W(rt(t)?.version??``):null)})}const jt={...J,parse:At,parseRange:At,isRangePrerelease:e=>!!At(e)?.prerelease.length},Mt={parse:q,parseRange:St,compare:Tt,diff:Dt,isPrerelease:Ct,isRangePrerelease:e=>{let t=St(e);return!!(t&&Ct(t))},satisfiesRange:({release:e},t)=>G(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Nt=/[A-Za-z_$][A-Za-z0-9_$]*/y;function Pt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
3
3
  `&&e[t]!==`\r`;)t++;return t}let n=e.indexOf(`*/`,t+2);if(n===-1)throw SyntaxError(`Unterminated block comment`);return n+2}function a(t){for(;t<r;)if(/\s/.test(e[t]))t++;else if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`))t=i(t);else break;return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let r=e[n];if(r===`\\`)e[n+1]===`'`?t+=`'`:e[n+1]!==`
4
4
  `&&(t+=e.slice(n,n+2)),n+=2;else{if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}Nt.lastIndex=n;let s=Nt.exec(e);s?(n=Nt.lastIndex,t+=e[a(n)]===`:`?`"${s[0]}"`:s[0]):(t+=o,n++)}return JSON.parse(t.trim())}function Ft(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const It=m(i===`win32`?t.LOCALAPPDATA||m(P(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(P(),`.cache`),`updates`),Lt=/* @__PURE__ */ new Map,Rt=(e,t)=>m(t,`${N(`sha256`).update(e).digest(`hex`)}.cache`),zt=6048e5;async function Bt(e,t=It){try{let n=Rt(e,t);if(Date.now()-(await oe(n)).mtimeMs>zt)return await j(n),null;let r=await Ft(n),i=r.indexOf(`
5
- `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await R(se(n,s,s)),{etag:a,body:o}}catch{return null}}const Vt=/* @__PURE__ */ new Set;let Ht=0;function Ut(e,t,n,i=It){let a=(async()=>{let a;try{await U(Lt,i,()=>k(i,{recursive:!0}));let o=Rt(e,i);a=`${o}.${r}-${Ht++}.tmp`,await M(a,`${t}\n${n}`),await ae(a,o)}catch{a?await R(j(a)):Lt.delete(i)}})();Vt.add(a),(async()=>{await a,Vt.delete(a)})()}async function Wt(e=It,t=4096){for(;Vt.size;)await Promise.all(Vt);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await oe(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-zt;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>R(j(e.path))))}catch{}}const Gt=/* @__PURE__ */ new Map;function Kt(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(P(),`AppData`,`Roaming`):m(P(),`.config`));return m(e,`updates`,`tokens.json`)}async function qt(e){let t;try{t=await re(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function Jt(){let e=Kt();return U(Gt,e,()=>qt(e))}async function Yt(e){let t=Kt();await k(f(t),{recursive:!0,mode:448}),await M(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await ae(`${t}.tmp`,t),Gt.set(t,Promise.resolve(e))}async function Xt(e,t){await Yt({...await Jt(),[e]:t})}async function Zt(e){let t={...await Jt()};return Object.hasOwn(t,e)?(delete t[e],await Yt(t),!0):!1}var Qt=`19.2.2`;function Y(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const $t=Qt,en=`https://api.github.com`,X={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:en,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,tn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function nn(e,t){return{headers:{"user-agent":`updates/${$t}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const rn=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function an(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&rn.has(t)}const on=e=>e.replace(/([a-z][a-z\d+.-]*:\/\/)[^/?#\s]*@/gi,`$1`);async function sn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=an(t),n}}async function cn(e,t,n={}){let r=_n(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim()??``,s=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await ue(u)}catch(e){if(i>=2||!e?.transient)throw e}}const ln=e=>t=>JSON.stringify(e(JSON.parse(t))),un=/* @__PURE__ */ new WeakMap;function dn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=U(un,t,()=>/* @__PURE__ */ new Map);return U(s,o,async()=>{try{let o=t.noCache?null:await Bt(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await cn(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&Ut(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function fn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!1)}function pn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!0)}async function Q(e,t,n,r,i=!0){let a=U(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const mn=new ce,hn=e=>Math.max(e.concurrency||50,1),gn=/* @__PURE__ */ new WeakMap;function _n(e){return U(gn,e,()=>{let t=hn(e),n=0,r=0,i=[];return async e=>{if(mn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await mn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function vn(e,t=J){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const yn=/* @__PURE__ */ new WeakMap,bn=/* @__PURE__ */ new WeakMap;function xn(e,t,n,r,i=J){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?U(t?yn:bn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Sn(e){return rt(e)?.version??``}function Cn(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=J}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=xn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!Y(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function wn(e){return/\d{14}-[0-9a-f]{12}(?:\+incompatible)?$/.test(e)}function Tn({pinnedRange:e,pinNoDowngrade:t},n){let r=Sn(n);return!(!e||t||!r||G(r,e))}const En=/* @__PURE__ */ new Map;function Dn({range:e,usePre:t,useRel:n,semvers:r,pinnedRange:i,pinNoDowngrade:a,allowDowngrade:o},s=e){let c=JSON.stringify([e,s,[...r].sort(),t,n,i||``,a,o]);return U(En,c,()=>{let c=J.parse(Sn(e));if(!c)return()=>!1;let{effectiveSemvers:l,skipsPrerelease:u}=xn(e,t,n,r),d=J.parse(s),f=d||J.parseRange(s),p=!!o||Tn({pinnedRange:i,pinNoDowngrade:a},s);return e=>{let t=J.parse(Sn(e)),n=J.parse(e),r=wn(e);if(!t||!r&&u(n))return!1;let a=(d&&n?J.diff(d,n):null)??J.diff(c,t),o=r?a===`prerelease`?`patch`:a?.replace(/^pre/,``):a;return!o||!l.has(o)||!p&&n&&f&&J.compare(n,f)<0?!1:!i||G(t.version,i)}})}function On(e){return e.reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=t&&!t.yanked&&typeof n==`string`?Date.parse(n):NaN;return r<e.time?{date:n,time:r}:e},{time:1/0}).date}function kn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d,acceptsGoVersion:f}){if(n===`*`)return null;let p=t===`pypi`?Mt:J,m=n.includes(`||`)?n.split(`||`).pop().trim():n,h=[],g=``,_;if(t===`pypi`){let t=e?.releases;if(!t)return null;h=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),_=e=>On(t[e]),g=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(h=Object.keys(e.versions),g=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Sn(m)]?.deprecated){let t=h.filter(t=>!e.versions[t]?.deprecated);h=t.length?t:h}}else if(t===`go`){let t=f||Dn({range:m,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d},e.old||m);return t(e.new)&&Y(e.Time,l,u)?e.new:t(e.sameMajorNew)&&Y(e.sameMajorTime,l,u)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Cn(e,h,{range:m,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:g,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:_,versioning:p})}function An(e){try{return new URL(e).host}catch{return``}}let jn;function Mn(){return jn??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const Nn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],Pn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Fn(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=Pn.exec(n);if(!e)continue;let r=An(e[1]),i=le.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let In;function Ln(){return In??=(async()=>{try{let{stdout:e}=await(await Mn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Fn(e)}catch{return/* @__PURE__ */ new Map}})()}const Rn=/* @__PURE__ */ new Map,zn=/* @__PURE__ */ new Set;function Bn(e){return e===`api.github.com`?`github.com`:e}async function Vn(e,n){if(!e)return[];let r=je(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=Bn(e),a=(await Jt())[i],o=i===`github.com`||e===An(n)?Nn.map(e=>t[e]):[],s=(await Ln()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function Hn(e,t,n=en){let r=await sn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...nn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Un=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,reset:i})}};async function Wn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${Bn(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=(await Vn(r,t.forgeApiUrl)).filter(e=>!zn.has(e)),a=async a=>{let o=nn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await cn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Rn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Rn.set(r,t),n;if(n.status===401&&!zn.has(t)){zn.add(t);let e=Bn(r);(await Jt())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&Rn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=J.parse(Z(t));if(!n)return null;let r=``;for(let t of e){let e=J.parse(Z(t));e&&J.compare(e,n)>0&&(r=t,n=e)}return r||null}function Jn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=/^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$/i,Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(e,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const er=/* @__PURE__ */ new WeakMap;function tr(e,t,n,r){let i=`${n}${e}`;return Q(er,t,i,async()=>{let n=t.noCache?null:await Bt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return er.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&Ut(e,s,o),o})}function nr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0,i=t?e?.releaseTimestamp:e?.published_at;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r,...i&&{releaseTimestamp:i}}})}async function rr(e,t,n,r){let i=await tr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,total:Number(e.headers.get(`x-total-count`))||0,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link,total:Number(a.total)||0}}function ir(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function ar(e,t,n,r,i){let a=await rr(e(1),t,n,r);if(!a)return;let o=a.total>0?Math.min(Math.ceil(a.total/(a.entries.length||1)),100):ir(a.link),s=hn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>rr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function or(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await ar(r=>`${e}/repos/${t}/${n}/tags?${e.endsWith(`/api/v1`)?`limit`:`per_page`}=100&page=${r}`,r,`tags`,$n,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function sr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return or(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([or(e,t,n,r,i),ar(e=>`${en}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,nr,e=>{for(let t of e)o.set(t.name,t);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof Un))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value){let t=o.get(e.name);t&&(e.isStable=t.isStable,t.releaseTimestamp&&(e.releaseTimestamp=t.releaseTimestamp))}return s.value}function $(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function cr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function lr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const ur=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function dr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=ur.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=Jn(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${lr(a)}/${e.directory}`:a||t||``}const fr=/^\[\[([^\]]+)\]\]$/,pr=/^\[([^[\]]+)\]$/,mr=()=>Object.create(null);function hr(e){let t=mr(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=xr(r[e]).trim();if(!i)continue;let a=fr.exec(i);if(a){let e=t,r=br(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:Cr(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=mr(),e[i].push(n);continue}let o=pr.exec(i);if(o){n=Cr(t,br(o[1]));continue}let s=Sr(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=br(i.slice(0,s)),u=l.pop(),d=Cr(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!vr(c,p)){let t=[c];for(e++;e<r.length;e++){let n=xr(r[e]);if(t.push(n),vr(n,p))break}d[u]=gr(t.join(`
5
+ `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await R(se(n,s,s)),{etag:a,body:o}}catch{return null}}const Vt=/* @__PURE__ */ new Set;let Ht=0;function Ut(e,t,n,i=It){let a=(async()=>{let a;try{await U(Lt,i,()=>k(i,{recursive:!0}));let o=Rt(e,i);a=`${o}.${r}-${Ht++}.tmp`,await M(a,`${t}\n${n}`),await ae(a,o)}catch{a?await R(j(a)):Lt.delete(i)}})();Vt.add(a),(async()=>{await a,Vt.delete(a)})()}async function Wt(e=It,t=4096){for(;Vt.size;)await Promise.all(Vt);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await oe(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-zt;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>R(j(e.path))))}catch{}}const Gt=/* @__PURE__ */ new Map;function Kt(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(P(),`AppData`,`Roaming`):m(P(),`.config`));return m(e,`updates`,`tokens.json`)}async function qt(e){let t;try{t=await re(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function Jt(){let e=Kt();return U(Gt,e,()=>qt(e))}async function Yt(e){let t=Kt();await k(f(t),{recursive:!0,mode:448}),await M(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await ae(`${t}.tmp`,t),Gt.set(t,Promise.resolve(e))}async function Xt(e,t){await Yt({...await Jt(),[e]:t})}async function Zt(e){let t={...await Jt()};return Object.hasOwn(t,e)?(delete t[e],await Yt(t),!0):!1}var Qt=`19.3.0`;function Y(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const $t=Qt,en=`https://api.github.com`,X={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:en,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,tn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function nn(e,t){return{headers:{"user-agent":`updates/${$t}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const rn=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function an(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&rn.has(t)}const on=e=>e.replace(/([a-z][a-z\d+.-]*:\/\/)[^/?#\s]*@/gi,`$1`);async function sn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=an(t),n}}async function cn(e,t,n={}){let r=_n(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim()??``,s=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await ue(u)}catch(e){if(i>=2||!e?.transient)throw e}}const ln=e=>t=>JSON.stringify(e(JSON.parse(t))),un=/* @__PURE__ */ new WeakMap;function dn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=U(un,t,()=>/* @__PURE__ */ new Map);return U(s,o,async()=>{try{let o=t.noCache?null:await Bt(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await cn(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&Ut(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function fn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!1)}function pn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!0)}async function Q(e,t,n,r,i=!0){let a=U(e,t,()=>/* @__PURE__ */ new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const mn=new ce,hn=e=>Math.max(e.concurrency||50,1),gn=/* @__PURE__ */ new WeakMap;function _n(e){return U(gn,e,()=>{let t=hn(e),n=0,r=0,i=[];return async e=>{if(mn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await mn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function vn(e,t=J){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const yn=/* @__PURE__ */ new WeakMap,bn=/* @__PURE__ */ new WeakMap;function xn(e,t,n,r,i=J){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?U(t?yn:bn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Sn(e){return rt(e)?.version??``}function Cn(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=J}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=xn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!Y(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function wn(e){return/\d{14}-[0-9a-f]{12}(?:\+incompatible)?$/.test(e)}function Tn({pinnedRange:e,pinNoDowngrade:t},n){let r=Sn(n);return!(!e||t||!r||G(r,e))}const En=/* @__PURE__ */ new Map;function Dn({range:e,usePre:t,useRel:n,semvers:r,pinnedRange:i,pinNoDowngrade:a,allowDowngrade:o},s=e){let c=JSON.stringify([e,s,[...r].sort(),t,n,i||``,a,o]);return U(En,c,()=>{let c=J.parse(Sn(e));if(!c)return()=>!1;let{effectiveSemvers:l,skipsPrerelease:u}=xn(e,t,n,r),d=J.parse(s),f=d||J.parseRange(s),p=!!o||Tn({pinnedRange:i,pinNoDowngrade:a},s);return e=>{let t=J.parse(Sn(e)),n=J.parse(e),r=wn(e);if(!t||!r&&u(n))return!1;let a=(d&&n?J.diff(d,n):null)??J.diff(c,t),o=r?a===`prerelease`?`patch`:a?.replace(/^pre/,``):a;return!o||!l.has(o)||!p&&n&&f&&J.compare(n,f)<0?!1:!i||G(t.version,i)}})}function On(e){return e.reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=t&&!t.yanked&&typeof n==`string`?Date.parse(n):NaN;return r<e.time?{date:n,time:r}:e},{time:1/0}).date}function kn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d,acceptsGoVersion:f}){if(n===`*`)return null;let p=t===`pypi`?Mt:J,m=n.includes(`||`)?n.split(`||`).pop().trim():n,h=[],g=``,_;if(t===`pypi`){let t=e?.releases;if(!t)return null;h=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),_=e=>On(t[e]),g=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(h=Object.keys(e.versions),g=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Sn(m)]?.deprecated){let t=h.filter(t=>!e.versions[t]?.deprecated);h=t.length?t:h}}else if(t===`go`){let t=f||Dn({range:m,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d},e.old||m);return t(e.new)&&Y(e.Time,l,u)?e.new:t(e.sameMajorNew)&&Y(e.sameMajorTime,l,u)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Cn(e,h,{range:m,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:g,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:_,versioning:p})}function An(e){try{return new URL(e).host}catch{return``}}let jn;function Mn(){return jn??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const Nn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],Pn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Fn(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=Pn.exec(n);if(!e)continue;let r=An(e[1]),i=le.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let In;function Ln(){return In??=(async()=>{try{let{stdout:e}=await(await Mn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Fn(e)}catch{return/* @__PURE__ */ new Map}})()}const Rn=/* @__PURE__ */ new Map,zn=/* @__PURE__ */ new Set;function Bn(e){return e===`api.github.com`?`github.com`:e}async function Vn(e,n){if(!e)return[];let r=je(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=Bn(e),a=(await Jt())[i],o=i===`github.com`||e===An(n)?Nn.map(e=>t[e]):[],s=(await Ln()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function Hn(e,t,n=en){let r=await sn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...nn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Un=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,reset:i})}};async function Wn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS or run "updates --login ${Bn(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=(await Vn(r,t.forgeApiUrl)).filter(e=>!zn.has(e)),a=async a=>{let o=nn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await cn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Rn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Rn.set(r,t),n;if(n.status===401&&!zn.has(t)){zn.add(t);let e=Bn(r);(await Jt())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&Rn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=J.parse(Z(t));if(!n)return null;let r=``;for(let t of e){let e=J.parse(Z(t));e&&J.compare(e,n)>0&&(r=t,n=e)}return r||null}function Jn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=/^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$/i,Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(e,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const er=/* @__PURE__ */ new WeakMap;function tr(e,t,n,r){let i=`${n}${e}`;return Q(er,t,i,async()=>{let n=t.noCache?null:await Bt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return er.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&Ut(e,s,o),o})}function nr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0,i=t?e?.releaseTimestamp:e?.published_at;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r,...i&&{releaseTimestamp:i}}})}async function rr(e,t,n,r){let i=await tr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,total:Number(e.headers.get(`x-total-count`))||0,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link,total:Number(a.total)||0}}function ir(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function ar(e,t,n,r,i){let a=await rr(e(1),t,n,r);if(!a)return;let o=a.total>0?Math.min(Math.ceil(a.total/(a.entries.length||1)),100):ir(a.link),s=hn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>rr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function or(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await ar(r=>`${e}/repos/${t}/${n}/tags?${e.endsWith(`/api/v1`)?`limit`:`per_page`}=100&page=${r}`,r,`tags`,$n,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function sr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return or(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([or(e,t,n,r,i),ar(e=>`${en}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,nr,e=>{for(let t of e)o.set(t.name,t);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof Un))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value){let t=o.get(e.name);t&&(e.isStable=t.isStable,t.releaseTimestamp&&(e.releaseTimestamp=t.releaseTimestamp))}return s.value}function $(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function cr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function lr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const ur=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function dr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=ur.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=Jn(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${lr(a)}/${e.directory}`:a||t||``}const fr=/^\[\[([^\]]+)\]\]$/,pr=/^\[([^[\]]+)\]$/,mr=()=>Object.create(null);function hr(e){let t=mr(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=xr(r[e]).trim();if(!i)continue;let a=fr.exec(i);if(a){let e=t,r=br(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:Cr(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=mr(),e[i].push(n);continue}let o=pr.exec(i);if(o){n=Cr(t,br(o[1]));continue}let s=Sr(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=br(i.slice(0,s)),u=l.pop(),d=Cr(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!vr(c,p)){let t=[c];for(e++;e<r.length;e++){let n=xr(r[e]);if(t.push(n),vr(n,p))break}d[u]=gr(t.join(`
6
6
  `))}else if(f){let t=c.slice(3);for(e++;e<r.length;e++){let n=r[e].indexOf(f);if(t+=(t?`
7
7
  `:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=gr(f+t+f)}else d[u]=gr(c)}return t}function gr(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of yr(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(gr(e))}return t}return e.startsWith(`{`)?_r(e):e.startsWith(`"""`)?Tr(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?Tr(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function _r(e){let t=mr();for(let n of yr(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=gr(n.slice(e+1).trim()))}return t}function vr(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function yr(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`{`||o===`[`?n++:o===`}`||o===`]`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function br(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=Tr(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function xr(e){let t=Sr(e,`#`);return t<0?e:e.slice(0,t)}function Sr(e,t,n){let r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function Cr(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=mr()),e=e[n];return e}const wr={b:`\b`,f:`\f`,n:`
8
8
  `,r:`\r`,t:` `};function Tr(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):wr[t]??t)}const Er=/[-_.]+/g,Dr=/* @__PURE__ */ new WeakMap;function Or(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function kr(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(Er,`-`)}/json`;return[{...await Q(Dr,t,n,async()=>{let r=await fn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},ln(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Or(e.releases)}}));`body`in r||$(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:Or(i.releases)}}),name:e},null]}function Ar(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=q(n.slice(0,-2));if(!r||r.dev!==null||r.local||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=q(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Tt(e.local?{...e,local:null}:e,r),a=r.local?Tt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function jr(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function Mr(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function Nr(e){let t=ve(`x${e.trim()}`);return!!(q(e.trim())||t?.specifiers?.length&&!t.extras&&!t.marker&&t.specifiers.every(({op:e,version:t})=>{let n=q(t.replace(/\.\*$/,``));return n?t.endsWith(`.*`)?(e===`==`||e===`!=`)&&n.dev===null&&!n.local:(e!==`~=`||n.release.length>1)&&(!n.local||[`==`,`!=`,`===`].includes(e)):!1}))}function Pr(e,t){let n=q(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=q(r);if(i)return Tt(n,i)===0;let a=ve(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>Ar(n,e))}function Fr(e,t,n){let r=ve(e),i=q(t),a=q(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=be(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:jr(a,t)}else if(Ar(a,e))continue;else{let t=q(e.version);if(e.op===`<`&&t)e.version=Mr(t,i,a);else if(e.op===`<=`)e.version=jr(a);else if(e.op===`~=`&&t?.epoch===a.epoch)e.version=jr(a,t.release.length);else return null}if(!Ar(a,e))return null}return ye(r,o)}function Ir(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function Lr(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "19.2.2",
3
+ "version": "19.3.0",
4
4
  "description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
5
5
  "author": "silverwind",
6
6
  "repository": {