From 34ddee6aef5e21f1e4bfa992ff333031b7552c35 Mon Sep 17 00:00:00 2001 From: Damien Retzinger Date: Thu, 19 Feb 2026 10:30:29 -0500 Subject: [PATCH] fix: using `latest` accidentally output two versions for Magento Open Source --- supported-version/dist/index.js | 2 +- .../src/matrix/get-matrix-for-kind.spec.ts | 30 ++++++++++++++++++- .../magento-open-source/composite.json | 4 +-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/supported-version/dist/index.js b/supported-version/dist/index.js index fb783bb..14a0a26 100644 --- a/supported-version/dist/index.js +++ b/supported-version/dist/index.js @@ -58,7 +58,7 @@ ${e.format(t)} Error Message: ${n.message}`)})).result)===null||t===void 0?void 0:t.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return ru(this,void 0,void 0,function*(){try{let t=A.getIDTokenUrl();if(e){let s=encodeURIComponent(e);t=`${t}&audience=${s}`}(0,su.debug)(`ID token url is ${t}`);let r=yield A.getCall(t);return(0,su.setSecret)(r),r}catch(t){throw new Error(`Error message: ${t.message}`)}})}};Gr.OidcClient=Ic});var fc=B(_A=>{"use strict";var lc=_A&&_A.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(_A,"__esModule",{value:!0});_A.summary=_A.markdownSummary=_A.SUMMARY_DOCS_URL=_A.SUMMARY_ENV_VAR=void 0;var xS=require("os"),uc=require("fs"),{access:MS,appendFile:TS,writeFile:YS}=uc.promises;_A.SUMMARY_ENV_VAR="GITHUB_STEP_SUMMARY";_A.SUMMARY_DOCS_URL="https://docs.github.com/actions/using-workflows/workflow-commands-for-github-actions#adding-a-job-summary";var dc=class{constructor(){this._buffer=""}filePath(){return lc(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[_A.SUMMARY_ENV_VAR];if(!e)throw new Error(`Unable to find environment variable for $${_A.SUMMARY_ENV_VAR}. Check if your runtime environment supports job summaries.`);try{yield MS(e,uc.constants.R_OK|uc.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,t,r={}){let s=Object.entries(r).map(([i,n])=>` ${i}="${n}"`).join("");return t?`<${e}${s}>${t}`:`<${e}${s}>`}write(e){return lc(this,void 0,void 0,function*(){let t=!!e?.overwrite,r=yield this.filePath();return yield(t?YS:TS)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return lc(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,t=!1){return this._buffer+=e,t?this.addEOL():this}addEOL(){return this.addRaw(xS.EOL)}addCodeBlock(e,t){let r=Object.assign({},t&&{lang:t}),s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,t=!1){let r=t?"ol":"ul",s=e.map(n=>this.wrap("li",n)).join(""),i=this.wrap(r,s);return this.addRaw(i).addEOL()}addTable(e){let t=e.map(s=>{let i=s.map(n=>{if(typeof n=="string")return this.wrap("td",n);let{header:o,data:a,colspan:g,rowspan:c}=n,E=o?"th":"td",Q=Object.assign(Object.assign({},g&&{colspan:g}),c&&{rowspan:c});return this.wrap(E,a,Q)}).join("");return this.wrap("tr",i)}).join(""),r=this.wrap("table",t);return this.addRaw(r).addEOL()}addDetails(e,t){let r=this.wrap("details",this.wrap("summary",e)+t);return this.addRaw(r).addEOL()}addImage(e,t,r){let{width:s,height:i}=r||{},n=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),o=this.wrap("img",null,Object.assign({src:e,alt:t},n));return this.addRaw(o).addEOL()}addHeading(e,t){let r=`h${t}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,t){let r=Object.assign({},t&&{cite:t}),s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,t){let r=this.wrap("a",e,{href:t});return this.addRaw(r).addEOL()}},nu=new dc;_A.markdownSummary=nu;_A.summary=nu});var ou=B(jA=>{"use strict";var qS=jA&&jA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),vS=jA&&jA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),GS=jA&&jA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&qS(e,A,t);return vS(e,A),e};Object.defineProperty(jA,"__esModule",{value:!0});jA.toPlatformPath=jA.toWin32Path=jA.toPosixPath=void 0;var JS=GS(require("path"));function VS(A){return A.replace(/[\\]/g,"/")}jA.toPosixPath=VS;function HS(A){return A.replace(/[/]/g,"\\")}jA.toWin32Path=HS;function OS(A){return A.replace(/[/\\]/g,JS.sep)}jA.toPlatformPath=OS});var mc=B(D=>{"use strict";var WS=D&&D.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),PS=D&&D.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),gu=D&&D.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&WS(e,A,t);return PS(e,A),e},pc=D&&D.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},XA;Object.defineProperty(D,"__esModule",{value:!0});D.getCmdPath=D.tryGetExecutablePath=D.isRooted=D.isDirectory=D.exists=D.READONLY=D.UV_FS_O_EXLOCK=D.IS_WINDOWS=D.unlink=D.symlink=D.stat=D.rmdir=D.rm=D.rename=D.readlink=D.readdir=D.open=D.mkdir=D.lstat=D.copyFile=D.chmod=void 0;var cu=gu(require("fs")),vn=gu(require("path"));XA=cu.promises,D.chmod=XA.chmod,D.copyFile=XA.copyFile,D.lstat=XA.lstat,D.mkdir=XA.mkdir,D.open=XA.open,D.readdir=XA.readdir,D.readlink=XA.readlink,D.rename=XA.rename,D.rm=XA.rm,D.rmdir=XA.rmdir,D.stat=XA.stat,D.symlink=XA.symlink,D.unlink=XA.unlink;D.IS_WINDOWS=process.platform==="win32";D.UV_FS_O_EXLOCK=268435456;D.READONLY=cu.constants.O_RDONLY;function _S(A){return pc(this,void 0,void 0,function*(){try{yield D.stat(A)}catch(e){if(e.code==="ENOENT")return!1;throw e}return!0})}D.exists=_S;function jS(A,e=!1){return pc(this,void 0,void 0,function*(){return(e?yield D.stat(A):yield D.lstat(A)).isDirectory()})}D.isDirectory=jS;function XS(A){if(A=KS(A),!A)throw new Error('isRooted() parameter "p" cannot be empty');return D.IS_WINDOWS?A.startsWith("\\")||/^[A-Z]:/i.test(A):A.startsWith("/")}D.isRooted=XS;function ZS(A,e){return pc(this,void 0,void 0,function*(){let t;try{t=yield D.stat(A)}catch(s){s.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${s}`)}if(t&&t.isFile()){if(D.IS_WINDOWS){let s=vn.extname(A).toUpperCase();if(e.some(i=>i.toUpperCase()===s))return A}else if(au(t))return A}let r=A;for(let s of e){A=r+s,t=void 0;try{t=yield D.stat(A)}catch(i){i.code!=="ENOENT"&&console.log(`Unexpected error attempting to determine if executable file exists '${A}': ${i}`)}if(t&&t.isFile()){if(D.IS_WINDOWS){try{let i=vn.dirname(A),n=vn.basename(A).toUpperCase();for(let o of yield D.readdir(i))if(n===o.toUpperCase()){A=vn.join(i,o);break}}catch(i){console.log(`Unexpected error attempting to determine the actual case of the file '${A}': ${i}`)}return A}else if(au(t))return A}}return""})}D.tryGetExecutablePath=ZS;function KS(A){return A=A||"",D.IS_WINDOWS?(A=A.replace(/\//g,"\\"),A.replace(/\\\\+/g,"\\")):A.replace(/\/\/+/g,"/")}function au(A){return(A.mode&1)>0||(A.mode&8)>0&&A.gid===process.getgid()||(A.mode&64)>0&&A.uid===process.getuid()}function zS(){var A;return(A=process.env.COMSPEC)!==null&&A!==void 0?A:"cmd.exe"}D.getCmdPath=zS});var lu=B(aA=>{"use strict";var $S=aA&&aA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),A2=aA&&aA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Eu=aA&&aA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&$S(e,A,t);return A2(e,A),e},wt=aA&&aA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(aA,"__esModule",{value:!0});aA.findInPath=aA.which=aA.mkdirP=aA.rmRF=aA.mv=aA.cp=void 0;var e2=require("assert"),Oe=Eu(require("path")),W=Eu(mc());function t2(A,e,t={}){return wt(this,void 0,void 0,function*(){let{force:r,recursive:s,copySourceDirectory:i}=s2(t),n=(yield W.exists(e))?yield W.stat(e):null;if(n&&n.isFile()&&!r)return;let o=n&&n.isDirectory()&&i?Oe.join(e,Oe.basename(A)):e;if(!(yield W.exists(A)))throw new Error(`no such file or directory: ${A}`);if((yield W.stat(A)).isDirectory())if(s)yield Iu(A,o,0,r);else throw new Error(`Failed to copy. ${A} is a directory, but tried to copy without recursive flag.`);else{if(Oe.relative(A,o)==="")throw new Error(`'${o}' and '${A}' are the same file`);yield hu(A,o,r)}})}aA.cp=t2;function r2(A,e,t={}){return wt(this,void 0,void 0,function*(){if(yield W.exists(e)){let r=!0;if((yield W.isDirectory(e))&&(e=Oe.join(e,Oe.basename(A)),r=yield W.exists(e)),r)if(t.force==null||t.force)yield Qu(e);else throw new Error("Destination already exists")}yield yc(Oe.dirname(e)),yield W.rename(A,e)})}aA.mv=r2;function Qu(A){return wt(this,void 0,void 0,function*(){if(W.IS_WINDOWS&&/[*"<>|]/.test(A))throw new Error('File path must not contain `*`, `"`, `<`, `>` or `|` on Windows');try{yield W.rm(A,{force:!0,maxRetries:3,recursive:!0,retryDelay:300})}catch(e){throw new Error(`File was unable to be removed ${e}`)}})}aA.rmRF=Qu;function yc(A){return wt(this,void 0,void 0,function*(){e2.ok(A,"a path argument must be provided"),yield W.mkdir(A,{recursive:!0})})}aA.mkdirP=yc;function Cu(A,e){return wt(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");if(e){let r=yield Cu(A,!1);if(!r)throw W.IS_WINDOWS?new Error(`Unable to locate executable file: ${A}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also verify the file has a valid extension for an executable file.`):new Error(`Unable to locate executable file: ${A}. Please verify either the file path exists or the file can be found within a directory specified by the PATH environment variable. Also check the file mode to verify the file is executable.`);return r}let t=yield Bu(A);return t&&t.length>0?t[0]:""})}aA.which=Cu;function Bu(A){return wt(this,void 0,void 0,function*(){if(!A)throw new Error("parameter 'tool' is required");let e=[];if(W.IS_WINDOWS&&process.env.PATHEXT)for(let s of process.env.PATHEXT.split(Oe.delimiter))s&&e.push(s);if(W.isRooted(A)){let s=yield W.tryGetExecutablePath(A,e);return s?[s]:[]}if(A.includes(Oe.sep))return[];let t=[];if(process.env.PATH)for(let s of process.env.PATH.split(Oe.delimiter))s&&t.push(s);let r=[];for(let s of t){let i=yield W.tryGetExecutablePath(Oe.join(s,A),e);i&&r.push(i)}return r})}aA.findInPath=Bu;function s2(A){let e=A.force==null?!0:A.force,t=!!A.recursive,r=A.copySourceDirectory==null?!0:!!A.copySourceDirectory;return{force:e,recursive:t,copySourceDirectory:r}}function Iu(A,e,t,r){return wt(this,void 0,void 0,function*(){if(t>=255)return;t++,yield yc(e);let s=yield W.readdir(A);for(let i of s){let n=`${A}/${i}`,o=`${e}/${i}`;(yield W.lstat(n)).isDirectory()?yield Iu(n,o,t,r):yield hu(n,o,r)}yield W.chmod(e,(yield W.stat(A)).mode)})}function hu(A,e,t){return wt(this,void 0,void 0,function*(){if((yield W.lstat(A)).isSymbolicLink()){try{yield W.lstat(e),yield W.unlink(e)}catch(s){s.code==="EPERM"&&(yield W.chmod(e,"0666"),yield W.unlink(e))}let r=yield W.readlink(A);yield W.symlink(r,e,W.IS_WINDOWS?"junction":null)}else(!(yield W.exists(e))||t)&&(yield W.copyFile(A,e))})}});var pu=B(ZA=>{"use strict";var i2=ZA&&ZA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),n2=ZA&&ZA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),Jr=ZA&&ZA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&i2(e,A,t);return n2(e,A),e},uu=ZA&&ZA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(ZA,"__esModule",{value:!0});ZA.argStringToArray=ZA.ToolRunner=void 0;var Gn=Jr(require("os")),fu=Jr(require("events")),o2=Jr(require("child_process")),a2=Jr(require("path")),g2=Jr(lu()),du=Jr(mc()),c2=require("timers"),Jn=process.platform==="win32",wc=class extends fu.EventEmitter{constructor(e,t,r){if(super(),!e)throw new Error("Parameter 'toolPath' cannot be null or empty.");this.toolPath=e,this.args=t||[],this.options=r||{}}_debug(e){this.options.listeners&&this.options.listeners.debug&&this.options.listeners.debug(e)}_getCommandString(e,t){let r=this._getSpawnFileName(),s=this._getSpawnArgs(e),i=t?"":"[command]";if(Jn)if(this._isCmdFile()){i+=r;for(let n of s)i+=` ${n}`}else if(e.windowsVerbatimArguments){i+=`"${r}"`;for(let n of s)i+=` ${n}`}else{i+=this._windowsQuoteCmdArg(r);for(let n of s)i+=` ${this._windowsQuoteCmdArg(n)}`}else{i+=r;for(let n of s)i+=` ${n}`}return i}_processLineBuffer(e,t,r){try{let s=t+e.toString(),i=s.indexOf(Gn.EOL);for(;i>-1;){let n=s.substring(0,i);r(n),s=s.substring(i+Gn.EOL.length),i=s.indexOf(Gn.EOL)}return s}catch(s){return this._debug(`error processing line. Failed with error ${s}`),""}}_getSpawnFileName(){return Jn&&this._isCmdFile()?process.env.COMSPEC||"cmd.exe":this.toolPath}_getSpawnArgs(e){if(Jn&&this._isCmdFile()){let t=`/D /S /C "${this._windowsQuoteCmdArg(this.toolPath)}`;for(let r of this.args)t+=" ",t+=e.windowsVerbatimArguments?r:this._windowsQuoteCmdArg(r);return t+='"',[t]}return this.args}_endsWith(e,t){return e.endsWith(t)}_isCmdFile(){let e=this.toolPath.toUpperCase();return this._endsWith(e,".CMD")||this._endsWith(e,".BAT")}_windowsQuoteCmdArg(e){if(!this._isCmdFile())return this._uvQuoteCmdArg(e);if(!e)return'""';let t=[" "," ","&","(",")","[","]","{","}","^","=",";","!","'","+",",","`","~","|","<",">",'"'],r=!1;for(let n of e)if(t.some(o=>o===n)){r=!0;break}if(!r)return e;let s='"',i=!0;for(let n=e.length;n>0;n--)s+=e[n-1],i&&e[n-1]==="\\"?s+="\\":e[n-1]==='"'?(i=!0,s+='"'):i=!1;return s+='"',s.split("").reverse().join("")}_uvQuoteCmdArg(e){if(!e)return'""';if(!e.includes(" ")&&!e.includes(" ")&&!e.includes('"'))return e;if(!e.includes('"')&&!e.includes("\\"))return`"${e}"`;let t='"',r=!0;for(let s=e.length;s>0;s--)t+=e[s-1],r&&e[s-1]==="\\"?t+="\\":e[s-1]==='"'?(r=!0,t+="\\"):r=!1;return t+='"',t.split("").reverse().join("")}_cloneExecOptions(e){e=e||{};let t={cwd:e.cwd||process.cwd(),env:e.env||process.env,silent:e.silent||!1,windowsVerbatimArguments:e.windowsVerbatimArguments||!1,failOnStdErr:e.failOnStdErr||!1,ignoreReturnCode:e.ignoreReturnCode||!1,delay:e.delay||1e4};return t.outStream=e.outStream||process.stdout,t.errStream=e.errStream||process.stderr,t}_getSpawnOptions(e,t){e=e||{};let r={};return r.cwd=e.cwd,r.env=e.env,r.windowsVerbatimArguments=e.windowsVerbatimArguments||this._isCmdFile(),e.windowsVerbatimArguments&&(r.argv0=`"${t}"`),r}exec(){return uu(this,void 0,void 0,function*(){return!du.isRooted(this.toolPath)&&(this.toolPath.includes("/")||Jn&&this.toolPath.includes("\\"))&&(this.toolPath=a2.resolve(process.cwd(),this.options.cwd||process.cwd(),this.toolPath)),this.toolPath=yield g2.which(this.toolPath,!0),new Promise((e,t)=>uu(this,void 0,void 0,function*(){this._debug(`exec tool: ${this.toolPath}`),this._debug("arguments:");for(let g of this.args)this._debug(` ${g}`);let r=this._cloneExecOptions(this.options);!r.silent&&r.outStream&&r.outStream.write(this._getCommandString(r)+Gn.EOL);let s=new Dc(r,this.toolPath);if(s.on("debug",g=>{this._debug(g)}),this.options.cwd&&!(yield du.exists(this.options.cwd)))return t(new Error(`The cwd: ${this.options.cwd} does not exist!`));let i=this._getSpawnFileName(),n=o2.spawn(i,this._getSpawnArgs(r),this._getSpawnOptions(this.options,i)),o="";n.stdout&&n.stdout.on("data",g=>{this.options.listeners&&this.options.listeners.stdout&&this.options.listeners.stdout(g),!r.silent&&r.outStream&&r.outStream.write(g),o=this._processLineBuffer(g,o,c=>{this.options.listeners&&this.options.listeners.stdline&&this.options.listeners.stdline(c)})});let a="";if(n.stderr&&n.stderr.on("data",g=>{s.processStderr=!0,this.options.listeners&&this.options.listeners.stderr&&this.options.listeners.stderr(g),!r.silent&&r.errStream&&r.outStream&&(r.failOnStdErr?r.errStream:r.outStream).write(g),a=this._processLineBuffer(g,a,c=>{this.options.listeners&&this.options.listeners.errline&&this.options.listeners.errline(c)})}),n.on("error",g=>{s.processError=g.message,s.processExited=!0,s.processClosed=!0,s.CheckComplete()}),n.on("exit",g=>{s.processExitCode=g,s.processExited=!0,this._debug(`Exit code ${g} received from tool '${this.toolPath}'`),s.CheckComplete()}),n.on("close",g=>{s.processExitCode=g,s.processExited=!0,s.processClosed=!0,this._debug(`STDIO streams have closed for tool '${this.toolPath}'`),s.CheckComplete()}),s.on("done",(g,c)=>{o.length>0&&this.emit("stdline",o),a.length>0&&this.emit("errline",a),n.removeAllListeners(),g?t(g):e(c)}),this.options.input){if(!n.stdin)throw new Error("child process missing stdin");n.stdin.end(this.options.input)}}))})}};ZA.ToolRunner=wc;function E2(A){let e=[],t=!1,r=!1,s="";function i(n){r&&n!=='"'&&(s+="\\"),s+=n,r=!1}for(let n=0;n0&&(e.push(s),s="");continue}i(o)}return s.length>0&&e.push(s.trim()),e}ZA.argStringToArray=E2;var Dc=class A extends fu.EventEmitter{constructor(e,t){if(super(),this.processClosed=!1,this.processError="",this.processExitCode=0,this.processExited=!1,this.processStderr=!1,this.delay=1e4,this.done=!1,this.timeout=null,!t)throw new Error("toolPath must not be empty");this.options=e,this.toolPath=t,e.delay&&(this.delay=e.delay)}CheckComplete(){this.done||(this.processClosed?this._setResult():this.processExited&&(this.timeout=c2.setTimeout(A.HandleTimeout,this.delay,this)))}_debug(e){this.emit("debug",e)}_setResult(){let e;this.processExited&&(this.processError?e=new Error(`There was an error when attempting to execute the process '${this.toolPath}'. This may indicate the process failed to start. Error: ${this.processError}`):this.processExitCode!==0&&!this.options.ignoreReturnCode?e=new Error(`The process '${this.toolPath}' failed with exit code ${this.processExitCode}`):this.processStderr&&this.options.failOnStdErr&&(e=new Error(`The process '${this.toolPath}' failed because one or more lines were written to the STDERR stream`))),this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.done=!0,this.emit("done",e,this.processExitCode)}static HandleTimeout(e){if(!e.done){if(!e.processClosed&&e.processExited){let t=`The STDIO streams did not close within ${e.delay/1e3} seconds of the exit event from process '${e.toolPath}'. This may indicate a child process inherited the STDIO streams and has not yet exited.`;e._debug(t)}e._setResult()}}}});var Ru=B(KA=>{"use strict";var Q2=KA&&KA.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t),Object.defineProperty(A,r,{enumerable:!0,get:function(){return e[t]}})}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),C2=KA&&KA.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),B2=KA&&KA.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.hasOwnProperty.call(A,t)&&Q2(e,A,t);return C2(e,A),e},wu=KA&&KA.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(KA,"__esModule",{value:!0});KA.getExecOutput=KA.exec=void 0;var mu=require("string_decoder"),yu=B2(pu());function Du(A,e,t){return wu(this,void 0,void 0,function*(){let r=yu.argStringToArray(A);if(r.length===0)throw new Error("Parameter 'commandLine' cannot be null or empty.");let s=r[0];return e=r.slice(1).concat(e||[]),new yu.ToolRunner(s,e,t).exec()})}KA.exec=Du;function I2(A,e,t){var r,s;return wu(this,void 0,void 0,function*(){let i="",n="",o=new mu.StringDecoder("utf8"),a=new mu.StringDecoder("utf8"),g=(r=t?.listeners)===null||r===void 0?void 0:r.stdout,c=(s=t?.listeners)===null||s===void 0?void 0:s.stderr,E=u=>{n+=a.write(u),c&&c(u)},Q=u=>{i+=o.write(u),g&&g(u)},C=Object.assign(Object.assign({},t?.listeners),{stdout:Q,stderr:E}),I=yield Du(A,e,Object.assign(Object.assign({},t),{listeners:C}));return i+=o.end(),n+=a.end(),{exitCode:I,stdout:i,stderr:n}})}KA.getExecOutput=I2});var Nu=B(J=>{"use strict";var h2=J&&J.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),l2=J&&J.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),u2=J&&J.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&h2(e,A,t);return l2(e,A),e},Hn=J&&J.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})},d2=J&&J.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(J,"__esModule",{value:!0});J.getDetails=J.isLinux=J.isMacOS=J.isWindows=J.arch=J.platform=void 0;var bu=d2(require("os")),Vn=u2(Ru()),f2=()=>Hn(void 0,void 0,void 0,function*(){let{stdout:A}=yield Vn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Version"',void 0,{silent:!0}),{stdout:e}=yield Vn.getExecOutput('powershell -command "(Get-CimInstance -ClassName Win32_OperatingSystem).Caption"',void 0,{silent:!0});return{name:e.trim(),version:A.trim()}}),p2=()=>Hn(void 0,void 0,void 0,function*(){var A,e,t,r;let{stdout:s}=yield Vn.getExecOutput("sw_vers",void 0,{silent:!0}),i=(e=(A=s.match(/ProductVersion:\s*(.+)/))===null||A===void 0?void 0:A[1])!==null&&e!==void 0?e:"";return{name:(r=(t=s.match(/ProductName:\s*(.+)/))===null||t===void 0?void 0:t[1])!==null&&r!==void 0?r:"",version:i}}),m2=()=>Hn(void 0,void 0,void 0,function*(){let{stdout:A}=yield Vn.getExecOutput("lsb_release",["-i","-r","-s"],{silent:!0}),[e,t]=A.trim().split(` `);return{name:e,version:t}});J.platform=bu.default.platform();J.arch=bu.default.arch();J.isWindows=J.platform==="win32";J.isMacOS=J.platform==="darwin";J.isLinux=J.platform==="linux";function y2(){return Hn(this,void 0,void 0,function*(){return Object.assign(Object.assign({},yield J.isWindows?f2():J.isMacOS?p2():m2()),{platform:J.platform,arch:J.arch,isWindows:J.isWindows,isMacOS:J.isMacOS,isLinux:J.isLinux})})}J.getDetails=y2});var hc=B(w=>{"use strict";var w2=w&&w.__createBinding||(Object.create?(function(A,e,t,r){r===void 0&&(r=t);var s=Object.getOwnPropertyDescriptor(e,t);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(A,r,s)}):(function(A,e,t,r){r===void 0&&(r=t),A[r]=e[t]})),D2=w&&w.__setModuleDefault||(Object.create?(function(A,e){Object.defineProperty(A,"default",{enumerable:!0,value:e})}):function(A,e){A.default=e}),bc=w&&w.__importStar||function(A){if(A&&A.__esModule)return A;var e={};if(A!=null)for(var t in A)t!=="default"&&Object.prototype.hasOwnProperty.call(A,t)&&w2(e,A,t);return D2(e,A),e},ku=w&&w.__awaiter||function(A,e,t,r){function s(i){return i instanceof t?i:new t(function(n){n(i)})}return new(t||(t=Promise))(function(i,n){function o(c){try{g(r.next(c))}catch(E){n(E)}}function a(c){try{g(r.throw(c))}catch(E){n(E)}}function g(c){c.done?i(c.value):s(c.value).then(o,a)}g((r=r.apply(A,e||[])).next())})};Object.defineProperty(w,"__esModule",{value:!0});w.platform=w.toPlatformPath=w.toWin32Path=w.toPosixPath=w.markdownSummary=w.summary=w.getIDToken=w.getState=w.saveState=w.group=w.endGroup=w.startGroup=w.info=w.notice=w.warning=w.error=w.debug=w.isDebug=w.setFailed=w.setCommandEcho=w.setOutput=w.getBooleanInput=w.getMultilineInput=w.getInput=w.addPath=w.setSecret=w.exportVariable=w.ExitCode=void 0;var pe=sE(),Pt=oE(),Vr=Os(),Fu=bc(require("os")),R2=bc(require("path")),b2=iu(),Rc;(function(A){A[A.Success=0]="Success",A[A.Failure=1]="Failure"})(Rc||(w.ExitCode=Rc={}));function N2(A,e){let t=(0,Vr.toCommandValue)(e);if(process.env[A]=t,process.env.GITHUB_ENV||"")return(0,Pt.issueFileCommand)("ENV",(0,Pt.prepareKeyValueMessage)(A,e));(0,pe.issueCommand)("set-env",{name:A},t)}w.exportVariable=N2;function k2(A){(0,pe.issueCommand)("add-mask",{},A)}w.setSecret=k2;function F2(A){process.env.GITHUB_PATH||""?(0,Pt.issueFileCommand)("PATH",A):(0,pe.issueCommand)("add-path",{},A),process.env.PATH=`${A}${R2.delimiter}${process.env.PATH}`}w.addPath=F2;function Nc(A,e){let t=process.env[`INPUT_${A.replace(/ /g,"_").toUpperCase()}`]||"";if(e&&e.required&&!t)throw new Error(`Input required and not supplied: ${A}`);return e&&e.trimWhitespace===!1?t:t.trim()}w.getInput=Nc;function S2(A,e){let t=Nc(A,e).split(` `).filter(r=>r!=="");return e&&e.trimWhitespace===!1?t:t.map(r=>r.trim())}w.getMultilineInput=S2;function U2(A,e){let t=["true","True","TRUE"],r=["false","False","FALSE"],s=Nc(A,e);if(t.includes(s))return!0;if(r.includes(s))return!1;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${A} -Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}w.getBooleanInput=U2;function L2(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Pt.issueFileCommand)("OUTPUT",(0,Pt.prepareKeyValueMessage)(A,e));process.stdout.write(Fu.EOL),(0,pe.issueCommand)("set-output",{name:A},(0,Vr.toCommandValue)(e))}w.setOutput=L2;function x2(A){(0,pe.issue)("echo",A?"on":"off")}w.setCommandEcho=x2;function M2(A){process.exitCode=Rc.Failure,Su(A)}w.setFailed=M2;function T2(){return process.env.RUNNER_DEBUG==="1"}w.isDebug=T2;function Y2(A){(0,pe.issueCommand)("debug",{},A)}w.debug=Y2;function Su(A,e={}){(0,pe.issueCommand)("error",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.error=Su;function q2(A,e={}){(0,pe.issueCommand)("warning",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.warning=q2;function v2(A,e={}){(0,pe.issueCommand)("notice",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.notice=v2;function G2(A){process.stdout.write(A+Fu.EOL)}w.info=G2;function Uu(A){(0,pe.issue)("group",A)}w.startGroup=Uu;function Lu(){(0,pe.issue)("endgroup")}w.endGroup=Lu;function J2(A,e){return ku(this,void 0,void 0,function*(){Uu(A);let t;try{t=yield e()}finally{Lu()}return t})}w.group=J2;function V2(A,e){if(process.env.GITHUB_STATE||"")return(0,Pt.issueFileCommand)("STATE",(0,Pt.prepareKeyValueMessage)(A,e));(0,pe.issueCommand)("save-state",{name:A},(0,Vr.toCommandValue)(e))}w.saveState=V2;function H2(A){return process.env[`STATE_${A}`]||""}w.getState=H2;function O2(A){return ku(this,void 0,void 0,function*(){return yield b2.OidcClient.getIDToken(A)})}w.getIDToken=O2;var W2=fc();Object.defineProperty(w,"summary",{enumerable:!0,get:function(){return W2.summary}});var P2=fc();Object.defineProperty(w,"markdownSummary",{enumerable:!0,get:function(){return P2.markdownSummary}});var kc=ou();Object.defineProperty(w,"toPosixPath",{enumerable:!0,get:function(){return kc.toPosixPath}});Object.defineProperty(w,"toWin32Path",{enumerable:!0,get:function(){return kc.toWin32Path}});Object.defineProperty(w,"toPlatformPath",{enumerable:!0,get:function(){return kc.toPlatformPath}});w.platform=bc(Nu())});var qu=B((y1,j2)=>{j2.exports={"mage-os/project-community-edition:1.0.0":{magento:"mage-os/project-community-edition:1.0.0",upstream:"2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2023-10-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.1":{magento:"mage-os/project-community-edition:1.0.1",upstream:"2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-11T00:00:00+0000",eol:"2024-07-17T00:00:00+0000"},"mage-os/project-community-edition:1.0.2":{magento:"mage-os/project-community-edition:1.0.2",upstream:"2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-18T00:00:00+0000",eol:"2024-07-22T00:00:00+0000"},"mage-os/project-community-edition:1.0.3":{magento:"mage-os/project-community-edition:1.0.3",upstream:"2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-23T00:00:00+0000",eol:"2024-08-19T00:00:00+0000"},"mage-os/project-community-edition:1.0.4":{magento:"mage-os/project-community-edition:1.0.4",upstream:"2.4.7-p2",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-20T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"mage-os/project-community-edition:1.0.5":{magento:"mage-os/project-community-edition:1.0.5",upstream:"2.4.7-p3",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-09T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.6":{magento:"mage-os/project-community-edition:1.0.6",upstream:"2.4.7-p4",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-12T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",upstream:"2.4.8-p1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:1.3.0":{magento:"mage-os/project-community-edition:1.3.0",upstream:"2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-09-08T00:00:00+0000"},"mage-os/project-community-edition:1.3.1":{magento:"mage-os/project-community-edition:1.3.1",upstream:"2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-09-09T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:2.0.0":{magento:"mage-os/project-community-edition:2.0.0",upstream:"2.4.8-p3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"}}});var vu=B((w1,X2)=>{X2.exports={"magento/project-community-edition:2.3.7-p3":{magento:"magento/project-community-edition:2.3.7-p3",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.3.7-p4":{magento:"magento/project-community-edition:2.3.7-p4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2020-10-15T00:00:00+0000"},"magento/project-community-edition:2.4.0-p1":{magento:"magento/project-community-edition:2.4.0-p1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2021-02-09T00:00:00+0000"},"magento/project-community-edition:2.4.1-p1":{magento:"magento/project-community-edition:2.4.1-p1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.2":{magento:"magento/project-community-edition:2.4.2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2021-05-11T00:00:00+0000"},"magento/project-community-edition:2.4.2-p1":{magento:"magento/project-community-edition:2.4.2-p1",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-05-11T00:00:00+0000",eol:"2021-08-10T00:00:00+0000"},"magento/project-community-edition:2.4.2-p2":{magento:"magento/project-community-edition:2.4.2-p2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.3":{magento:"magento/project-community-edition:2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2021-10-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p1":{magento:"magento/project-community-edition:2.4.3-p1",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-10-12T00:00:00+0000",eol:"2022-04-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p2":{magento:"magento/project-community-edition:2.4.3-p2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.3-p3":{magento:"magento/project-community-edition:2.4.3-p3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.4":{magento:"magento/project-community-edition:2.4.4",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p1":{magento:"magento/project-community-edition:2.4.4-p1",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p2":{magento:"magento/project-community-edition:2.4.4-p2",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.4-p3":{magento:"magento/project-community-edition:2.4.4-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p4":{magento:"magento/project-community-edition:2.4.4-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p5":{magento:"magento/project-community-edition:2.4.4-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.4-p6":{magento:"magento/project-community-edition:2.4.4-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.4-p7":{magento:"magento/project-community-edition:2.4.4-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p8":{magento:"magento/project-community-edition:2.4.4-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p9":{magento:"magento/project-community-edition:2.4.4-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p10":{magento:"magento/project-community-edition:2.4.4-p10",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p11":{magento:"magento/project-community-edition:2.4.4-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p12":{magento:"magento/project-community-edition:2.4.4-p12",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:2.4.5":{magento:"magento/project-community-edition:2.4.5",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p1":{magento:"magento/project-community-edition:2.4.5-p1",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.5-p2":{magento:"magento/project-community-edition:2.4.5-p2",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p3":{magento:"magento/project-community-edition:2.4.5-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p4":{magento:"magento/project-community-edition:2.4.5-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p5":{magento:"magento/project-community-edition:2.4.5-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p6":{magento:"magento/project-community-edition:2.4.5-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.5-p7":{magento:"magento/project-community-edition:2.4.5-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p8":{magento:"magento/project-community-edition:2.4.5-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p9":{magento:"magento/project-community-edition:2.4.5-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p10":{magento:"magento/project-community-edition:2.4.5-p10",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p11":{magento:"magento/project-community-edition:2.4.5-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p13":{magento:"magento/project-community-edition:2.4.5-p13",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p14":{magento:"magento/project-community-edition:2.4.5-p14",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6":{magento:"magento/project-community-edition:2.4.6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p1":{magento:"magento/project-community-edition:2.4.6-p1",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p2":{magento:"magento/project-community-edition:2.4.6-p2",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p3":{magento:"magento/project-community-edition:2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p4":{magento:"magento/project-community-edition:2.4.6-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p5":{magento:"magento/project-community-edition:2.4.6-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p6":{magento:"magento/project-community-edition:2.4.6-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p7":{magento:"magento/project-community-edition:2.4.6-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p8":{magento:"magento/project-community-edition:2.4.6-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p9":{magento:"magento/project-community-edition:2.4.6-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p11":{magento:"magento/project-community-edition:2.4.6-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p12":{magento:"magento/project-community-edition:2.4.6-p12",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.6-p13":{magento:"magento/project-community-edition:2.4.6-p13",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.7":{magento:"magento/project-community-edition:2.4.7",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p1":{magento:"magento/project-community-edition:2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.7-p2":{magento:"magento/project-community-edition:2.4.7-p2",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p3":{magento:"magento/project-community-edition:2.4.7-p3",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p4":{magento:"magento/project-community-edition:2.4.7-p4",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.7-p6":{magento:"magento/project-community-edition:2.4.7-p6",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.7-p7":{magento:"magento/project-community-edition:2.4.7-p7",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.7-p8":{magento:"magento/project-community-edition:2.4.7-p8",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.8-p1":{magento:"magento/project-community-edition:2.4.8-p1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.8-p2":{magento:"magento/project-community-edition:2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.8-p3":{magento:"magento/project-community-edition:2.4.8-p3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var Gu=B((D1,Z2)=>{Z2.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"},"mage-os/project-community-edition:>=1.0 <1.1":{magento:"mage-os/project-community-edition:>=1.0 <1.1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:>=1.3 <1.4":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:>=2.0 <2.1":{magento:"mage-os/project-community-edition:>=2.0 <2.1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"}}});var Ju=B((R1,K2)=>{K2.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:>=2.4.5 <2.4.6":{magento:"magento/project-community-edition:>=2.4.5 <2.4.6",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-08-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.6 <2.4.7":{magento:"magento/project-community-edition:>=2.4.6 <2.4.7",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"magento/project-community-edition:>=2.4.7 <2.4.8":{magento:"magento/project-community-edition:>=2.4.7 <2.4.8",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",valkey:"valkey/valkey:8.0",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var xs=B((T1,Xu)=>{"use strict";var AU="2.0.0",eU=Number.MAX_SAFE_INTEGER||9007199254740991,tU=16,rU=250,sU=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Xu.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:tU,MAX_SAFE_BUILD_LENGTH:rU,MAX_SAFE_INTEGER:eU,RELEASE_TYPES:sU,SEMVER_SPEC_VERSION:AU,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ms=B((Y1,Zu)=>{"use strict";var iU=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};Zu.exports=iU});var Hr=B((Pe,Ku)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Uc,MAX_SAFE_BUILD_LENGTH:nU,MAX_LENGTH:oU}=xs(),aU=Ms();Pe=Ku.exports={};var gU=Pe.re=[],cU=Pe.safeRe=[],p=Pe.src=[],EU=Pe.safeSrc=[],m=Pe.t={},QU=0,Lc="[a-zA-Z0-9-]",CU=[["\\s",1],["\\d",oU],[Lc,nU]],BU=A=>{for(let[e,t]of CU)A=A.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return A},x=(A,e,t)=>{let r=BU(e),s=QU++;aU(A,s,e),m[A]=s,p[s]=e,EU[s]=r,gU[s]=new RegExp(e,t?"g":void 0),cU[s]=new RegExp(r,t?"g":void 0)};x("NUMERICIDENTIFIER","0|[1-9]\\d*");x("NUMERICIDENTIFIERLOOSE","\\d+");x("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Lc}*`);x("MAINVERSION",`(${p[m.NUMERICIDENTIFIER]})\\.(${p[m.NUMERICIDENTIFIER]})\\.(${p[m.NUMERICIDENTIFIER]})`);x("MAINVERSIONLOOSE",`(${p[m.NUMERICIDENTIFIERLOOSE]})\\.(${p[m.NUMERICIDENTIFIERLOOSE]})\\.(${p[m.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASEIDENTIFIER",`(?:${p[m.NONNUMERICIDENTIFIER]}|${p[m.NUMERICIDENTIFIER]})`);x("PRERELEASEIDENTIFIERLOOSE",`(?:${p[m.NONNUMERICIDENTIFIER]}|${p[m.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASE",`(?:-(${p[m.PRERELEASEIDENTIFIER]}(?:\\.${p[m.PRERELEASEIDENTIFIER]})*))`);x("PRERELEASELOOSE",`(?:-?(${p[m.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${p[m.PRERELEASEIDENTIFIERLOOSE]})*))`);x("BUILDIDENTIFIER",`${Lc}+`);x("BUILD",`(?:\\+(${p[m.BUILDIDENTIFIER]}(?:\\.${p[m.BUILDIDENTIFIER]})*))`);x("FULLPLAIN",`v?${p[m.MAINVERSION]}${p[m.PRERELEASE]}?${p[m.BUILD]}?`);x("FULL",`^${p[m.FULLPLAIN]}$`);x("LOOSEPLAIN",`[v=\\s]*${p[m.MAINVERSIONLOOSE]}${p[m.PRERELEASELOOSE]}?${p[m.BUILD]}?`);x("LOOSE",`^${p[m.LOOSEPLAIN]}$`);x("GTLT","((?:<|>)?=?)");x("XRANGEIDENTIFIERLOOSE",`${p[m.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);x("XRANGEIDENTIFIER",`${p[m.NUMERICIDENTIFIER]}|x|X|\\*`);x("XRANGEPLAIN",`[v=\\s]*(${p[m.XRANGEIDENTIFIER]})(?:\\.(${p[m.XRANGEIDENTIFIER]})(?:\\.(${p[m.XRANGEIDENTIFIER]})(?:${p[m.PRERELEASE]})?${p[m.BUILD]}?)?)?`);x("XRANGEPLAINLOOSE",`[v=\\s]*(${p[m.XRANGEIDENTIFIERLOOSE]})(?:\\.(${p[m.XRANGEIDENTIFIERLOOSE]})(?:\\.(${p[m.XRANGEIDENTIFIERLOOSE]})(?:${p[m.PRERELEASELOOSE]})?${p[m.BUILD]}?)?)?`);x("XRANGE",`^${p[m.GTLT]}\\s*${p[m.XRANGEPLAIN]}$`);x("XRANGELOOSE",`^${p[m.GTLT]}\\s*${p[m.XRANGEPLAINLOOSE]}$`);x("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Uc}})(?:\\.(\\d{1,${Uc}}))?(?:\\.(\\d{1,${Uc}}))?`);x("COERCE",`${p[m.COERCEPLAIN]}(?:$|[^\\d])`);x("COERCEFULL",p[m.COERCEPLAIN]+`(?:${p[m.PRERELEASE]})?(?:${p[m.BUILD]})?(?:$|[^\\d])`);x("COERCERTL",p[m.COERCE],!0);x("COERCERTLFULL",p[m.COERCEFULL],!0);x("LONETILDE","(?:~>?)");x("TILDETRIM",`(\\s*)${p[m.LONETILDE]}\\s+`,!0);Pe.tildeTrimReplace="$1~";x("TILDE",`^${p[m.LONETILDE]}${p[m.XRANGEPLAIN]}$`);x("TILDELOOSE",`^${p[m.LONETILDE]}${p[m.XRANGEPLAINLOOSE]}$`);x("LONECARET","(?:\\^)");x("CARETTRIM",`(\\s*)${p[m.LONECARET]}\\s+`,!0);Pe.caretTrimReplace="$1^";x("CARET",`^${p[m.LONECARET]}${p[m.XRANGEPLAIN]}$`);x("CARETLOOSE",`^${p[m.LONECARET]}${p[m.XRANGEPLAINLOOSE]}$`);x("COMPARATORLOOSE",`^${p[m.GTLT]}\\s*(${p[m.LOOSEPLAIN]})$|^$`);x("COMPARATOR",`^${p[m.GTLT]}\\s*(${p[m.FULLPLAIN]})$|^$`);x("COMPARATORTRIM",`(\\s*)${p[m.GTLT]}\\s*(${p[m.LOOSEPLAIN]}|${p[m.XRANGEPLAIN]})`,!0);Pe.comparatorTrimReplace="$1$2$3";x("HYPHENRANGE",`^\\s*(${p[m.XRANGEPLAIN]})\\s+-\\s+(${p[m.XRANGEPLAIN]})\\s*$`);x("HYPHENRANGELOOSE",`^\\s*(${p[m.XRANGEPLAINLOOSE]})\\s+-\\s+(${p[m.XRANGEPLAINLOOSE]})\\s*$`);x("STAR","(<|>)?=?\\s*\\*");x("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");x("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var On=B((q1,zu)=>{"use strict";var IU=Object.freeze({loose:!0}),hU=Object.freeze({}),lU=A=>A?typeof A!="object"?IU:A:hU;zu.exports=lU});var xc=B((v1,e0)=>{"use strict";var $u=/^[0-9]+$/,A0=(A,e)=>{if(typeof A=="number"&&typeof e=="number")return A===e?0:AA0(e,A);e0.exports={compareIdentifiers:A0,rcompareIdentifiers:uU}});var kA=B((G1,r0)=>{"use strict";var Wn=Ms(),{MAX_LENGTH:t0,MAX_SAFE_INTEGER:Pn}=xs(),{safeRe:_n,t:jn}=Hr(),dU=On(),{compareIdentifiers:Mc}=xc(),Tc=class A{constructor(e,t){if(t=dU(t),e instanceof A){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>t0)throw new TypeError(`version is longer than ${t0} characters`);Wn("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?_n[jn.LOOSE]:_n[jn.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Pn||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Pn||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Pn||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&ie.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(e){if(e instanceof A||(e=new A(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],s=e.prerelease[t];if(Wn("prerelease compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}compareBuild(e){e instanceof A||(e=new A(e,this.options));let t=0;do{let r=this.build[t],s=e.build[t];if(Wn("build compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?_n[jn.PRERELEASELOOSE]:_n[jn.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];r===!1&&(i=[t]),Mc(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};r0.exports=Tc});var _t=B((J1,i0)=>{"use strict";var s0=kA(),fU=(A,e,t=!1)=>{if(A instanceof s0)return A;try{return new s0(A,e)}catch(r){if(!t)return null;throw r}};i0.exports=fU});var o0=B((V1,n0)=>{"use strict";var pU=_t(),mU=(A,e)=>{let t=pU(A,e);return t?t.version:null};n0.exports=mU});var g0=B((H1,a0)=>{"use strict";var yU=_t(),wU=(A,e)=>{let t=yU(A.trim().replace(/^[=v]+/,""),e);return t?t.version:null};a0.exports=wU});var Q0=B((O1,E0)=>{"use strict";var c0=kA(),DU=(A,e,t,r,s)=>{typeof t=="string"&&(s=r,r=t,t=void 0);try{return new c0(A instanceof c0?A.version:A,t).inc(e,r,s).version}catch{return null}};E0.exports=DU});var I0=B((W1,B0)=>{"use strict";var C0=_t(),RU=(A,e)=>{let t=C0(A,null,!0),r=C0(e,null,!0),s=t.compare(r);if(s===0)return null;let i=s>0,n=i?t:r,o=i?r:t,a=!!n.prerelease.length;if(!!o.prerelease.length&&!a){if(!o.patch&&!o.minor)return"major";if(o.compareMain(n)===0)return o.minor&&!o.patch?"minor":"patch"}let c=a?"pre":"";return t.major!==r.major?c+"major":t.minor!==r.minor?c+"minor":t.patch!==r.patch?c+"patch":"prerelease"};B0.exports=RU});var l0=B((P1,h0)=>{"use strict";var bU=kA(),NU=(A,e)=>new bU(A,e).major;h0.exports=NU});var d0=B((_1,u0)=>{"use strict";var kU=kA(),FU=(A,e)=>new kU(A,e).minor;u0.exports=FU});var p0=B((j1,f0)=>{"use strict";var SU=kA(),UU=(A,e)=>new SU(A,e).patch;f0.exports=UU});var y0=B((X1,m0)=>{"use strict";var LU=_t(),xU=(A,e)=>{let t=LU(A,e);return t&&t.prerelease.length?t.prerelease:null};m0.exports=xU});var me=B((Z1,D0)=>{"use strict";var w0=kA(),MU=(A,e,t)=>new w0(A,t).compare(new w0(e,t));D0.exports=MU});var b0=B((K1,R0)=>{"use strict";var TU=me(),YU=(A,e,t)=>TU(e,A,t);R0.exports=YU});var k0=B((z1,N0)=>{"use strict";var qU=me(),vU=(A,e)=>qU(A,e,!0);N0.exports=vU});var Xn=B(($1,S0)=>{"use strict";var F0=kA(),GU=(A,e,t)=>{let r=new F0(A,t),s=new F0(e,t);return r.compare(s)||r.compareBuild(s)};S0.exports=GU});var L0=B((AY,U0)=>{"use strict";var JU=Xn(),VU=(A,e)=>A.sort((t,r)=>JU(t,r,e));U0.exports=VU});var M0=B((eY,x0)=>{"use strict";var HU=Xn(),OU=(A,e)=>A.sort((t,r)=>HU(r,t,e));x0.exports=OU});var Ts=B((tY,T0)=>{"use strict";var WU=me(),PU=(A,e,t)=>WU(A,e,t)>0;T0.exports=PU});var Zn=B((rY,Y0)=>{"use strict";var _U=me(),jU=(A,e,t)=>_U(A,e,t)<0;Y0.exports=jU});var Yc=B((sY,q0)=>{"use strict";var XU=me(),ZU=(A,e,t)=>XU(A,e,t)===0;q0.exports=ZU});var qc=B((iY,v0)=>{"use strict";var KU=me(),zU=(A,e,t)=>KU(A,e,t)!==0;v0.exports=zU});var Kn=B((nY,G0)=>{"use strict";var $U=me(),AL=(A,e,t)=>$U(A,e,t)>=0;G0.exports=AL});var zn=B((oY,J0)=>{"use strict";var eL=me(),tL=(A,e,t)=>eL(A,e,t)<=0;J0.exports=tL});var vc=B((aY,V0)=>{"use strict";var rL=Yc(),sL=qc(),iL=Ts(),nL=Kn(),oL=Zn(),aL=zn(),gL=(A,e,t,r)=>{switch(e){case"===":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A===t;case"!==":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A!==t;case"":case"=":case"==":return rL(A,t,r);case"!=":return sL(A,t,r);case">":return iL(A,t,r);case">=":return nL(A,t,r);case"<":return oL(A,t,r);case"<=":return aL(A,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};V0.exports=gL});var O0=B((gY,H0)=>{"use strict";var cL=kA(),EL=_t(),{safeRe:$n,t:Ao}=Hr(),QL=(A,e)=>{if(A instanceof cL)return A;if(typeof A=="number"&&(A=String(A)),typeof A!="string")return null;e=e||{};let t=null;if(!e.rtl)t=A.match(e.includePrerelease?$n[Ao.COERCEFULL]:$n[Ao.COERCE]);else{let a=e.includePrerelease?$n[Ao.COERCERTLFULL]:$n[Ao.COERCERTL],g;for(;(g=a.exec(A))&&(!t||t.index+t[0].length!==A.length);)(!t||g.index+g[0].length!==t.index+t[0].length)&&(t=g),a.lastIndex=g.index+g[1].length+g[2].length;a.lastIndex=-1}if(t===null)return null;let r=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",o=e.includePrerelease&&t[6]?`+${t[6]}`:"";return EL(`${r}.${s}.${i}${n}${o}`,e)};H0.exports=QL});var P0=B((cY,W0)=>{"use strict";var Gc=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};W0.exports=Gc});var ye=B((EY,Z0)=>{"use strict";var CL=/\s+/g,Jc=class A{constructor(e,t){if(t=IL(t),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof Vc)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(CL," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!j0(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&mL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&fL)|(this.options.loose&&pL))+":"+e,s=_0.get(r);if(s)return s;let i=this.options.loose,n=i?qA[FA.HYPHENRANGELOOSE]:qA[FA.HYPHENRANGE];e=e.replace(n,UL(this.options.includePrerelease)),tA("hyphen replace",e),e=e.replace(qA[FA.COMPARATORTRIM],lL),tA("comparator trim",e),e=e.replace(qA[FA.TILDETRIM],uL),tA("tilde trim",e),e=e.replace(qA[FA.CARETTRIM],dL),tA("caret trim",e);let o=e.split(" ").map(E=>yL(E,this.options)).join(" ").split(/\s+/).map(E=>SL(E,this.options));i&&(o=o.filter(E=>(tA("loose invalid filter",E,this.options),!!E.match(qA[FA.COMPARATORLOOSE])))),tA("range list",o);let a=new Map,g=o.map(E=>new Vc(E,this.options));for(let E of g){if(j0(E))return[E];a.set(E.value,E)}a.size>1&&a.has("")&&a.delete("");let c=[...a.values()];return _0.set(r,c),c}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>X0(r,t)&&e.set.some(s=>X0(s,t)&&r.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new hL(e,this.options)}catch{return!1}for(let t=0;tA.value==="<0.0.0-0",mL=A=>A.value==="",X0=(A,e)=>{let t=!0,r=A.slice(),s=r.pop();for(;t&&r.length;)t=r.every(i=>s.intersects(i,e)),s=r.pop();return t},yL=(A,e)=>(A=A.replace(qA[FA.BUILD],""),tA("comp",A,e),A=RL(A,e),tA("caret",A),A=wL(A,e),tA("tildes",A),A=NL(A,e),tA("xrange",A),A=FL(A,e),tA("stars",A),A),vA=A=>!A||A.toLowerCase()==="x"||A==="*",wL=(A,e)=>A.trim().split(/\s+/).map(t=>DL(t,e)).join(" "),DL=(A,e)=>{let t=e.loose?qA[FA.TILDELOOSE]:qA[FA.TILDE];return A.replace(t,(r,s,i,n,o)=>{tA("tilde",A,r,s,i,n,o);let a;return vA(s)?a="":vA(i)?a=`>=${s}.0.0 <${+s+1}.0.0-0`:vA(n)?a=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(tA("replaceTilde pr",o),a=`>=${s}.${i}.${n}-${o} <${s}.${+i+1}.0-0`):a=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,tA("tilde return",a),a})},RL=(A,e)=>A.trim().split(/\s+/).map(t=>bL(t,e)).join(" "),bL=(A,e)=>{tA("caret",A,e);let t=e.loose?qA[FA.CARETLOOSE]:qA[FA.CARET],r=e.includePrerelease?"-0":"";return A.replace(t,(s,i,n,o,a)=>{tA("caret",A,s,i,n,o,a);let g;return vA(i)?g="":vA(n)?g=`>=${i}.0.0${r} <${+i+1}.0.0-0`:vA(o)?i==="0"?g=`>=${i}.${n}.0${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.0${r} <${+i+1}.0.0-0`:a?(tA("replaceCaret pr",a),i==="0"?n==="0"?g=`>=${i}.${n}.${o}-${a} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}-${a} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o}-${a} <${+i+1}.0.0-0`):(tA("no pr"),i==="0"?n==="0"?g=`>=${i}.${n}.${o}${r} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o} <${+i+1}.0.0-0`),tA("caret return",g),g})},NL=(A,e)=>(tA("replaceXRanges",A,e),A.split(/\s+/).map(t=>kL(t,e)).join(" ")),kL=(A,e)=>{A=A.trim();let t=e.loose?qA[FA.XRANGELOOSE]:qA[FA.XRANGE];return A.replace(t,(r,s,i,n,o,a)=>{tA("xRange",A,r,s,i,n,o,a);let g=vA(i),c=g||vA(n),E=c||vA(o),Q=E;return s==="="&&Q&&(s=""),a=e.includePrerelease?"-0":"",g?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&Q?(c&&(n=0),o=0,s===">"?(s=">=",c?(i=+i+1,n=0,o=0):(n=+n+1,o=0)):s==="<="&&(s="<",c?i=+i+1:n=+n+1),s==="<"&&(a="-0"),r=`${s+i}.${n}.${o}${a}`):c?r=`>=${i}.0.0${a} <${+i+1}.0.0-0`:E&&(r=`>=${i}.${n}.0${a} <${i}.${+n+1}.0-0`),tA("xRange return",r),r})},FL=(A,e)=>(tA("replaceStars",A,e),A.trim().replace(qA[FA.STAR],"")),SL=(A,e)=>(tA("replaceGTE0",A,e),A.trim().replace(qA[e.includePrerelease?FA.GTE0PRE:FA.GTE0],"")),UL=A=>(e,t,r,s,i,n,o,a,g,c,E,Q)=>(vA(r)?t="":vA(s)?t=`>=${r}.0.0${A?"-0":""}`:vA(i)?t=`>=${r}.${s}.0${A?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${A?"-0":""}`,vA(g)?a="":vA(c)?a=`<${+g+1}.0.0-0`:vA(E)?a=`<${g}.${+c+1}.0-0`:Q?a=`<=${g}.${c}.${E}-${Q}`:A?a=`<${g}.${c}.${+E+1}-0`:a=`<=${a}`,`${t} ${a}`.trim()),LL=(A,e,t)=>{for(let r=0;r0){let s=A[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var Ys=B((QY,td)=>{"use strict";var qs=Symbol("SemVer ANY"),Wc=class A{static get ANY(){return qs}constructor(e,t){if(t=K0(t),e instanceof A){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Oc("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===qs?this.value="":this.value=this.operator+this.semver.version,Oc("comp",this)}parse(e){let t=this.options.loose?z0[$0.COMPARATORLOOSE]:z0[$0.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new Ad(r[2],this.options.loose):this.semver=qs}toString(){return this.value}test(e){if(Oc("Comparator.test",e,this.options.loose),this.semver===qs||e===qs)return!0;if(typeof e=="string")try{e=new Ad(e,this.options)}catch{return!1}return Hc(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new ed(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new ed(this.value,t).test(e.semver):(t=K0(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Hc(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Hc(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};td.exports=Wc;var K0=On(),{safeRe:z0,t:$0}=Hr(),Hc=vc(),Oc=Ms(),Ad=kA(),ed=ye()});var vs=B((CY,rd)=>{"use strict";var xL=ye(),ML=(A,e,t)=>{try{e=new xL(e,t)}catch{return!1}return e.test(A)};rd.exports=ML});var id=B((BY,sd)=>{"use strict";var TL=ye(),YL=(A,e)=>new TL(A,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));sd.exports=YL});var od=B((IY,nd)=>{"use strict";var qL=kA(),vL=ye(),GL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new vL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===-1)&&(r=n,s=new qL(r,t))}),r};nd.exports=GL});var gd=B((hY,ad)=>{"use strict";var JL=kA(),VL=ye(),HL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new VL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===1)&&(r=n,s=new JL(r,t))}),r};ad.exports=HL});var Qd=B((lY,Ed)=>{"use strict";var Pc=kA(),OL=ye(),cd=Ts(),WL=(A,e)=>{A=new OL(A,e);let t=new Pc("0.0.0");if(A.test(t)||(t=new Pc("0.0.0-0"),A.test(t)))return t;t=null;for(let r=0;r{let o=new Pc(n.semver.version);switch(n.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||cd(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||cd(t,i))&&(t=i)}return t&&A.test(t)?t:null};Ed.exports=WL});var Bd=B((uY,Cd)=>{"use strict";var PL=ye(),_L=(A,e)=>{try{return new PL(A,e).range||"*"}catch{return null}};Cd.exports=_L});var eo=B((dY,ud)=>{"use strict";var jL=kA(),ld=Ys(),{ANY:XL}=ld,ZL=ye(),KL=vs(),Id=Ts(),hd=Zn(),zL=zn(),$L=Kn(),Ax=(A,e,t,r)=>{A=new jL(A,r),e=new ZL(e,r);let s,i,n,o,a;switch(t){case">":s=Id,i=zL,n=hd,o=">",a=">=";break;case"<":s=hd,i=$L,n=Id,o="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(KL(A,e,r))return!1;for(let g=0;g{C.semver===XL&&(C=new ld(">=0.0.0")),E=E||C,Q=Q||C,s(C.semver,E.semver,r)?E=C:n(C.semver,Q.semver,r)&&(Q=C)}),E.operator===o||E.operator===a||(!Q.operator||Q.operator===o)&&i(A,Q.semver))return!1;if(Q.operator===a&&n(A,Q.semver))return!1}return!0};ud.exports=Ax});var fd=B((fY,dd)=>{"use strict";var ex=eo(),tx=(A,e,t)=>ex(A,e,">",t);dd.exports=tx});var md=B((pY,pd)=>{"use strict";var rx=eo(),sx=(A,e,t)=>rx(A,e,"<",t);pd.exports=sx});var Dd=B((mY,wd)=>{"use strict";var yd=ye(),ix=(A,e,t)=>(A=new yd(A,t),e=new yd(e,t),A.intersects(e,t));wd.exports=ix});var bd=B((yY,Rd)=>{"use strict";var nx=vs(),ox=me();Rd.exports=(A,e,t)=>{let r=[],s=null,i=null,n=A.sort((c,E)=>ox(c,E,t));for(let c of n)nx(c,e,t)?(i=c,s||(s=c)):(i&&r.push([s,i]),i=null,s=null);s&&r.push([s,null]);let o=[];for(let[c,E]of r)c===E?o.push(c):!E&&c===n[0]?o.push("*"):E?c===n[0]?o.push(`<=${E}`):o.push(`${c} - ${E}`):o.push(`>=${c}`);let a=o.join(" || "),g=typeof e.raw=="string"?e.raw:String(e);return a.length{"use strict";var Nd=ye(),jc=Ys(),{ANY:_c}=jc,Gs=vs(),Xc=me(),ax=(A,e,t={})=>{if(A===e)return!0;A=new Nd(A,t),e=new Nd(e,t);let r=!1;A:for(let s of A.set){for(let i of e.set){let n=cx(s,i,t);if(r=r||n!==null,n)continue A}if(r)return!1}return!0},gx=[new jc(">=0.0.0-0")],kd=[new jc(">=0.0.0")],cx=(A,e,t)=>{if(A===e)return!0;if(A.length===1&&A[0].semver===_c){if(e.length===1&&e[0].semver===_c)return!0;t.includePrerelease?A=gx:A=kd}if(e.length===1&&e[0].semver===_c){if(t.includePrerelease)return!0;e=kd}let r=new Set,s,i;for(let C of A)C.operator===">"||C.operator===">="?s=Fd(s,C,t):C.operator==="<"||C.operator==="<="?i=Sd(i,C,t):r.add(C.semver);if(r.size>1)return null;let n;if(s&&i){if(n=Xc(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let C of r){if(s&&!Gs(C,String(s),t)||i&&!Gs(C,String(i),t))return null;for(let I of e)if(!Gs(C,String(I),t))return!1;return!0}let o,a,g,c,E=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,Q=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;E&&E.prerelease.length===1&&i.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let C of e){if(c=c||C.operator===">"||C.operator===">=",g=g||C.operator==="<"||C.operator==="<=",s){if(Q&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===Q.major&&C.semver.minor===Q.minor&&C.semver.patch===Q.patch&&(Q=!1),C.operator===">"||C.operator===">="){if(o=Fd(s,C,t),o===C&&o!==s)return!1}else if(s.operator===">="&&!Gs(s.semver,String(C),t))return!1}if(i){if(E&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===E.major&&C.semver.minor===E.minor&&C.semver.patch===E.patch&&(E=!1),C.operator==="<"||C.operator==="<="){if(a=Sd(i,C,t),a===C&&a!==i)return!1}else if(i.operator==="<="&&!Gs(i.semver,String(C),t))return!1}if(!C.operator&&(i||s)&&n!==0)return!1}return!(s&&g&&!i&&n!==0||i&&c&&!s&&n!==0||Q||E)},Fd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r>0?A:r<0||e.operator===">"&&A.operator===">="?e:A},Sd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r<0?A:r>0||e.operator==="<"&&A.operator==="<="?e:A};Ud.exports=ax});var Yd=B((DY,Td)=>{"use strict";var Zc=Hr(),xd=xs(),Ex=kA(),Md=xc(),Qx=_t(),Cx=o0(),Bx=g0(),Ix=Q0(),hx=I0(),lx=l0(),ux=d0(),dx=p0(),fx=y0(),px=me(),mx=b0(),yx=k0(),wx=Xn(),Dx=L0(),Rx=M0(),bx=Ts(),Nx=Zn(),kx=Yc(),Fx=qc(),Sx=Kn(),Ux=zn(),Lx=vc(),xx=O0(),Mx=Ys(),Tx=ye(),Yx=vs(),qx=id(),vx=od(),Gx=gd(),Jx=Qd(),Vx=Bd(),Hx=eo(),Ox=fd(),Wx=md(),Px=Dd(),_x=bd(),jx=Ld();Td.exports={parse:Qx,valid:Cx,clean:Bx,inc:Ix,diff:hx,major:lx,minor:ux,patch:dx,prerelease:fx,compare:px,rcompare:mx,compareLoose:yx,compareBuild:wx,sort:Dx,rsort:Rx,gt:bx,lt:Nx,eq:kx,neq:Fx,gte:Sx,lte:Ux,cmp:Lx,coerce:xx,Comparator:Mx,Range:Tx,satisfies:Yx,toComparators:qx,maxSatisfying:vx,minSatisfying:Gx,minVersion:Jx,validRange:Vx,outside:Hx,gtr:Ox,ltr:Wx,intersects:Px,simplifyRange:_x,subset:jx,SemVer:Ex,re:Zc.re,src:Zc.src,tokens:Zc.t,SEMVER_SPEC_VERSION:xd.SEMVER_SPEC_VERSION,RELEASE_TYPES:xd.RELEASE_TYPES,compareIdentifiers:Md.compareIdentifiers,rcompareIdentifiers:Md.rcompareIdentifiers}});var zx={};rf(zx,{run:()=>Zd});module.exports=sf(zx);var _e=AE(hc());var xu=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var Fc={"currently-supported":!0,latest:!0,custom:!0,usable:!0,nightly:!0,recent:!0,all:!0};var Mu=A=>{if(!(A in Fc))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Fc).join(", ")}`);return!0};var Tu=(A,e=null)=>_2.reduce((t,r)=>r(A,e),!0),_2=[Mu,xu];var Sc={"mage-os":!0,"magento-open-source":!0};var Yu=A=>{if(!(A in Sc))throw new Error(`Invalid project provided, supported projects are: ${Object.keys(Sc).join(", ")}`);return!0};var Ls=A=>Yu(A);var Vu={"mage-os":qu(),"magento-open-source":vu()},Hu={"mage-os":Gu(),"magento-open-source":Ju()},We=A=>{if(Ls(A),Vu[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return Vu[A]},Ou=A=>{if(Ls(A),Hu[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Hu[A]};var Dt=(A,e)=>{let t={...We(A),...Ou(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,t[s]]}},{magento:[],include:[]})};var Wu={"mage-os":["mage-os/project-community-edition"],"magento-open-source":["magento/project-community-edition"]};var Pu={"mage-os":["mage-os/project-community-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var _u=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var ju=(A,e)=>{let t=We(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Kc=AE(Yd()),qd=A=>{let e=We(A);return Object.entries(e).filter(([t,r])=>{let s=Kc.default.coerce(r.composer.toString());return!(s&&Kc.default.lt(s,"2.0.0"))}).map(([t,r])=>t)};var vd=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var zc=(A,e,t)=>A.replace(/(?!:)next$/,vd(e,t));var Xx="next",Gd=(A,e,t=new Date)=>{let r=new RegExp(Xx+"$");return A.magento=A.magento.map(s=>s.match(r)?zc(s,e,t):s),A.include=A.include.map(s=>s.magento.match(r)?{...s,magento:zc(s.magento,e,t)}:s),A};var Jd=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=We(A);return Object.entries(a).filter(([g,c])=>{let E=new Date(c.release);E.setSeconds(E.getSeconds()+1);let Q=new Date(c.release);return Q.setFullYear(Q.getFullYear()+i),Q.setMonth(Q.getMonth()+n),Q.setDate(Q.getDate()+o),e>=E&&e<=Q}).map(([g,c])=>g)};var Vd=(A,e,t="",r="2y")=>{switch(A){case"latest":return Dt(e,Wu[e]);case"currently-supported":return Dt(e,ju(e,new Date));case"usable":return Dt(e,qd(e));case"nightly":return Gd(Dt(e,Pu[e]),"https://upstream-nightly.mage-os.org",_u());case"all":return Dt(e,Object.keys(We(e)));case"custom":return Dt(e,t.split(","));case"recent":return Dt(e,Jd(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};var Hd={getConfig(A){return{image:A,env:{MYSQL_DATABASE:"magento_integration_tests",MYSQL_USER:"user",MYSQL_PASSWORD:"password",MYSQL_ROOT_PASSWORD:"rootpassword"},ports:["3306:3306"],options:'--health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3'}}},Od={getConfig(A){return{image:A,env:{"discovery.type":"single-node","xpack.security.enabled":"false","xpack.security.http.ssl.enabled":"false","xpack.security.transport.ssl.enabled":"false"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Wd={getConfig(A){return{image:A,env:{"discovery.type":"single-node",DISABLE_INSTALL_DEMO_CONFIG:"true",DISABLE_SECURITY_PLUGIN:"true"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Pd={getConfig(A){return{image:A,env:{RABBITMQ_DEFAULT_USER:"guest",RABBITMQ_DEFAULT_PASS:"guest"},ports:["5672:5672"]}}},_d={getConfig(A){return{image:A,ports:["6379:6379"]}}},jd={getConfig(A){return{image:A,ports:["6379:6379"]}}};function Zx(A){return A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null}function Kx(A){return A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null}function Xd(A){let e={};A.mysql&&A.mysql.trim()!==""&&(e.mysql=Hd.getConfig(A.mysql));let t=Zx(A);t&&(t.type==="opensearch"?e.opensearch=Wd.getConfig(t.image):e.elasticsearch=Od.getConfig(t.image)),A.rabbitmq&&A.rabbitmq.trim()!==""&&(e.rabbitmq=Pd.getConfig(A.rabbitmq));let r=Kx(A);return r&&(r.type==="valkey"?e.valkey=jd.getConfig(r.image):e.redis=_d.getConfig(r.image)),e}async function Zd(){try{let A=_e.getInput("kind"),e=_e.getInput("custom_versions"),t=_e.getInput("project"),r=_e.getInput("recent_time_frame"),s=_e.getInput("include_services")==="true";Ls(t),Tu(A,e?e.split(","):void 0);let i=Vd(A,t,e,r);s&&(i={magento:i.magento,include:i.include.map(n=>({...n,services:Xd(n)}))}),_e.setOutput("matrix",i)}catch(A){_e.setFailed(A.message)}}Zd();0&&(module.exports={run}); +Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}w.getBooleanInput=U2;function L2(A,e){if(process.env.GITHUB_OUTPUT||"")return(0,Pt.issueFileCommand)("OUTPUT",(0,Pt.prepareKeyValueMessage)(A,e));process.stdout.write(Fu.EOL),(0,pe.issueCommand)("set-output",{name:A},(0,Vr.toCommandValue)(e))}w.setOutput=L2;function x2(A){(0,pe.issue)("echo",A?"on":"off")}w.setCommandEcho=x2;function M2(A){process.exitCode=Rc.Failure,Su(A)}w.setFailed=M2;function T2(){return process.env.RUNNER_DEBUG==="1"}w.isDebug=T2;function Y2(A){(0,pe.issueCommand)("debug",{},A)}w.debug=Y2;function Su(A,e={}){(0,pe.issueCommand)("error",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.error=Su;function q2(A,e={}){(0,pe.issueCommand)("warning",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.warning=q2;function v2(A,e={}){(0,pe.issueCommand)("notice",(0,Vr.toCommandProperties)(e),A instanceof Error?A.toString():A)}w.notice=v2;function G2(A){process.stdout.write(A+Fu.EOL)}w.info=G2;function Uu(A){(0,pe.issue)("group",A)}w.startGroup=Uu;function Lu(){(0,pe.issue)("endgroup")}w.endGroup=Lu;function J2(A,e){return ku(this,void 0,void 0,function*(){Uu(A);let t;try{t=yield e()}finally{Lu()}return t})}w.group=J2;function V2(A,e){if(process.env.GITHUB_STATE||"")return(0,Pt.issueFileCommand)("STATE",(0,Pt.prepareKeyValueMessage)(A,e));(0,pe.issueCommand)("save-state",{name:A},(0,Vr.toCommandValue)(e))}w.saveState=V2;function H2(A){return process.env[`STATE_${A}`]||""}w.getState=H2;function O2(A){return ku(this,void 0,void 0,function*(){return yield b2.OidcClient.getIDToken(A)})}w.getIDToken=O2;var W2=fc();Object.defineProperty(w,"summary",{enumerable:!0,get:function(){return W2.summary}});var P2=fc();Object.defineProperty(w,"markdownSummary",{enumerable:!0,get:function(){return P2.markdownSummary}});var kc=ou();Object.defineProperty(w,"toPosixPath",{enumerable:!0,get:function(){return kc.toPosixPath}});Object.defineProperty(w,"toWin32Path",{enumerable:!0,get:function(){return kc.toWin32Path}});Object.defineProperty(w,"toPlatformPath",{enumerable:!0,get:function(){return kc.toPlatformPath}});w.platform=bc(Nu())});var qu=B((y1,j2)=>{j2.exports={"mage-os/project-community-edition:1.0.0":{magento:"mage-os/project-community-edition:1.0.0",upstream:"2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2023-10-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.1":{magento:"mage-os/project-community-edition:1.0.1",upstream:"2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-11T00:00:00+0000",eol:"2024-07-17T00:00:00+0000"},"mage-os/project-community-edition:1.0.2":{magento:"mage-os/project-community-edition:1.0.2",upstream:"2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-18T00:00:00+0000",eol:"2024-07-22T00:00:00+0000"},"mage-os/project-community-edition:1.0.3":{magento:"mage-os/project-community-edition:1.0.3",upstream:"2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-07-23T00:00:00+0000",eol:"2024-08-19T00:00:00+0000"},"mage-os/project-community-edition:1.0.4":{magento:"mage-os/project-community-edition:1.0.4",upstream:"2.4.7-p2",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-20T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"mage-os/project-community-edition:1.0.5":{magento:"mage-os/project-community-edition:1.0.5",upstream:"2.4.7-p3",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-09T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"mage-os/project-community-edition:1.0.6":{magento:"mage-os/project-community-edition:1.0.6",upstream:"2.4.7-p4",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-12T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:1.1.0":{magento:"mage-os/project-community-edition:1.1.0",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-04-21T00:00:00+0000"},"mage-os/project-community-edition:1.1.1":{magento:"mage-os/project-community-edition:1.1.1",upstream:"2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-22T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:1.2.0":{magento:"mage-os/project-community-edition:1.2.0",upstream:"2.4.8-p1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:1.3.0":{magento:"mage-os/project-community-edition:1.3.0",upstream:"2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-09-08T00:00:00+0000"},"mage-os/project-community-edition:1.3.1":{magento:"mage-os/project-community-edition:1.3.1",upstream:"2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-09-09T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:2.0.0":{magento:"mage-os/project-community-edition:2.0.0",upstream:"2.4.8-p3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"}}});var vu=B((w1,X2)=>{X2.exports={"magento/project-community-edition:2.3.7-p3":{magento:"magento/project-community-edition:2.3.7-p3",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.3.7-p4":{magento:"magento/project-community-edition:2.3.7-p4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:2.4.0":{magento:"magento/project-community-edition:2.4.0",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2020-10-15T00:00:00+0000"},"magento/project-community-edition:2.4.0-p1":{magento:"magento/project-community-edition:2.4.0-p1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.1":{magento:"magento/project-community-edition:2.4.1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2021-02-09T00:00:00+0000"},"magento/project-community-edition:2.4.1-p1":{magento:"magento/project-community-edition:2.4.1-p1",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.2":{magento:"magento/project-community-edition:2.4.2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2021-05-11T00:00:00+0000"},"magento/project-community-edition:2.4.2-p1":{magento:"magento/project-community-edition:2.4.2-p1",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-05-11T00:00:00+0000",eol:"2021-08-10T00:00:00+0000"},"magento/project-community-edition:2.4.2-p2":{magento:"magento/project-community-edition:2.4.2-p2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.3":{magento:"magento/project-community-edition:2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2021-10-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p1":{magento:"magento/project-community-edition:2.4.3-p1",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-10-12T00:00:00+0000",eol:"2022-04-12T00:00:00+0000"},"magento/project-community-edition:2.4.3-p2":{magento:"magento/project-community-edition:2.4.3-p2",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.3-p3":{magento:"magento/project-community-edition:2.4.3-p3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2022-08-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:2.4.4":{magento:"magento/project-community-edition:2.4.4",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-04-12T00:00:00+0000",eol:"2022-08-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p1":{magento:"magento/project-community-edition:2.4.4-p1",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p2":{magento:"magento/project-community-edition:2.4.4-p2",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.4-p3":{magento:"magento/project-community-edition:2.4.4-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p4":{magento:"magento/project-community-edition:2.4.4-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p5":{magento:"magento/project-community-edition:2.4.4-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.4-p6":{magento:"magento/project-community-edition:2.4.4-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.4-p7":{magento:"magento/project-community-edition:2.4.4-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.4-p8":{magento:"magento/project-community-edition:2.4.4-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p9":{magento:"magento/project-community-edition:2.4.4-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.4-p10":{magento:"magento/project-community-edition:2.4.4-p10",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p11":{magento:"magento/project-community-edition:2.4.4-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.4-p12":{magento:"magento/project-community-edition:2.4.4-p12",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.4-p13":{magento:"magento/project-community-edition:2.4.4-p13",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:2.4.5":{magento:"magento/project-community-edition:2.4.5",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-08-09T00:00:00+0000",eol:"2022-10-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p1":{magento:"magento/project-community-edition:2.4.5-p1",php:8.1,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.0",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2022-10-11T00:00:00+0000",eol:"2023-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.5-p2":{magento:"magento/project-community-edition:2.4.5-p2",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p3":{magento:"magento/project-community-edition:2.4.5-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p4":{magento:"magento/project-community-edition:2.4.5-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p5":{magento:"magento/project-community-edition:2.4.5-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p6":{magento:"magento/project-community-edition:2.4.5-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.5-p7":{magento:"magento/project-community-edition:2.4.5-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p8":{magento:"magento/project-community-edition:2.4.5-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.5-p9":{magento:"magento/project-community-edition:2.4.5-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p10":{magento:"magento/project-community-edition:2.4.5-p10",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.5-p11":{magento:"magento/project-community-edition:2.4.5-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.5-p12":{magento:"magento/project-community-edition:2.4.5-p12",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.5-p13":{magento:"magento/project-community-edition:2.4.5-p13",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.5-p14":{magento:"magento/project-community-edition:2.4.5-p14",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.11-management",redis:"redis:6.2",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6":{magento:"magento/project-community-edition:2.4.6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.1",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-03-14T00:00:00+0000",eol:"2023-06-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p1":{magento:"magento/project-community-edition:2.4.6-p1",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-06-13T00:00:00+0000",eol:"2023-08-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p2":{magento:"magento/project-community-edition:2.4.6-p2",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-08-08T00:00:00+0000",eol:"2023-10-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p3":{magento:"magento/project-community-edition:2.4.6-p3",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2024-02-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p4":{magento:"magento/project-community-edition:2.4.6-p4",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-02-12T00:00:00+0000",eol:"2024-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.6-p5":{magento:"magento/project-community-edition:2.4.6-p5",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p6":{magento:"magento/project-community-edition:2.4.6-p6",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.6-p7":{magento:"magento/project-community-edition:2.4.6-p7",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p8":{magento:"magento/project-community-edition:2.4.6-p8",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.6-p9":{magento:"magento/project-community-edition:2.4.6-p9",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.0",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.6-p10":{magento:"magento/project-community-edition:2.4.6-p10",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.6-p11":{magento:"magento/project-community-edition:2.4.6-p11",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.6-p12":{magento:"magento/project-community-edition:2.4.6-p12",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.6-p13":{magento:"magento/project-community-edition:2.4.6-p13",php:8.1,composer:"2.2.21",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.5.3",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.3",nginx:"nginx:1.22",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"magento/project-community-edition:2.4.7":{magento:"magento/project-community-edition:2.4.7",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-04-09T00:00:00+0000",eol:"2024-06-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p1":{magento:"magento/project-community-edition:2.4.7-p1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-06-11T00:00:00+0000",eol:"2024-08-13T00:00:00+0000"},"magento/project-community-edition:2.4.7-p2":{magento:"magento/project-community-edition:2.4.7-p2",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-08-13T00:00:00+0000",eol:"2024-10-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p3":{magento:"magento/project-community-edition:2.4.7-p3",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2024-10-08T00:00:00+0000",eol:"2025-02-11T00:00:00+0000"},"magento/project-community-edition:2.4.7-p4":{magento:"magento/project-community-edition:2.4.7-p4",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-02-11T00:00:00+0000",eol:"2025-04-08T00:00:00+0000"},"magento/project-community-edition:2.4.7-p5":{magento:"magento/project-community-edition:2.4.7-p5",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.7-p6":{magento:"magento/project-community-edition:2.4.7-p6",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.7-p7":{magento:"magento/project-community-edition:2.4.7-p7",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.7-p8":{magento:"magento/project-community-edition:2.4.7-p8",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:2.4.8":{magento:"magento/project-community-edition:2.4.8",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-06-10T00:00:00+0000"},"magento/project-community-edition:2.4.8-p1":{magento:"magento/project-community-edition:2.4.8-p1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-10T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"magento/project-community-edition:2.4.8-p2":{magento:"magento/project-community-edition:2.4.8-p2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-12T00:00:00+0000",eol:"2025-10-14T00:00:00+0000"},"magento/project-community-edition:2.4.8-p3":{magento:"magento/project-community-edition:2.4.8-p3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-14T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var Gu=B((D1,Z2)=>{Z2.exports={"mage-os/project-community-edition":{magento:"mage-os/project-community-edition",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"},"mage-os/project-community-edition:next":{magento:"mage-os/project-community-edition:next",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"},"mage-os/project-community-edition:>=1.0 <1.1":{magento:"mage-os/project-community-edition:>=1.0 <1.1",php:8.3,composer:"2.7.4",mysql:"mariadb:10.6",elasticsearch:"elasticsearch:8.11.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.5",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2023-10-10T00:00:00+0000",eol:"2025-04-07T00:00:00+0000"},"mage-os/project-community-edition:>=1.1 <1.2":{magento:"mage-os/project-community-edition:>=1.1 <1.2",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-15T00:00:00+0000",eol:"2025-06-16T00:00:00+0000"},"mage-os/project-community-edition:>=1.2 <1.3":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-06-17T00:00:00+0000",eol:"2025-08-12T00:00:00+0000"},"mage-os/project-community-edition:>=1.3 <1.4":{magento:"mage-os/project-community-edition:>=1.2 <1.3",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-08-13T00:00:00+0000",eol:"2025-10-16T00:00:00+0000"},"mage-os/project-community-edition:>=2.0 <2.1":{magento:"mage-os/project-community-edition:>=2.0 <2.1",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-10-16T00:00:00+0000",eol:"2028-10-17T00:00:00+0000"}}});var Ju=B((R1,K2)=>{K2.exports={"magento/project-community-edition:>=2.3 <2.4":{magento:"magento/project-community-edition:>=2.3 <2.4",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2018-11-28T00:00:00+0000",eol:"2022-09-30T00:00:00+0000"},"magento/project-community-edition:>=2.4.0 <2.4.1":{magento:"magento/project-community-edition:>=2.4.0 <2.4.1",php:7.4,composer:1,mysql:"mysql:5.7.30",elasticsearch:"elasticsearch:7.6.2",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-07-28T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.1 <2.4.2":{magento:"magento/project-community-edition:>=2.4.1 <2.4.2",php:7.4,composer:1,mysql:"mysql:8.0.20",elasticsearch:"elasticsearch:7.7.1",rabbitmq:"rabbitmq:3.8-management",redis:"redis:5.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2020-10-15T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.2 <2.4.3":{magento:"magento/project-community-edition:>=2.4.2 <2.4.3",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.9.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-02-09T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.3 <2.4.4":{magento:"magento/project-community-edition:>=2.4.3 <2.4.4",php:7.4,composer:2,mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.16.3",rabbitmq:"rabbitmq:3.8-management",redis:"redis:6.0",varnish:"varnish:6.0",nginx:"nginx:1.18",os:"ubuntu-20.04",release:"2021-08-10T00:00:00+0000",eol:"2022-11-28T00:00:00+0000"},"magento/project-community-edition:>=2.4.4 <2.4.5":{magento:"magento/project-community-edition:>=2.4.4 <2.4.5",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.5",rabbitmq:"rabbitmq:3.9-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-04-24T00:00:00+0000"},"magento/project-community-edition:>=2.4.5 <2.4.6":{magento:"magento/project-community-edition:>=2.4.5 <2.4.6",php:8.1,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:7.17.28",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2025-08-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.6 <2.4.7":{magento:"magento/project-community-edition:>=2.4.6 <2.4.7",php:8.2,composer:"2.2.25",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2026-03-14T00:00:00+0000"},"magento/project-community-edition:>=2.4.7 <2.4.8":{magento:"magento/project-community-edition:>=2.4.7 <2.4.8",php:8.3,composer:"2.8.8",mysql:"mysql:8.0",elasticsearch:"elasticsearch:8.17.4",rabbitmq:"rabbitmq:3.13-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2027-04-09T00:00:00+0000"},"magento/project-community-edition:>=2.4.8 <2.4.9":{magento:"magento/project-community-edition:>=2.4.8 <2.4.9",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition":{magento:"magento/project-community-edition",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",valkey:"valkey/valkey:8.0",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"},"magento/project-community-edition:next":{magento:"magento/project-community-edition:@alpha",php:8.4,composer:"2.8.8",mysql:"mysql:8.4",elasticsearch:"elasticsearch:8.17.4",valkey:"valkey/valkey:8.0",opensearch:"opensearchproject/opensearch:2.19.1",rabbitmq:"rabbitmq:4.0-management",redis:"redis:7.2",varnish:"varnish:7.6",nginx:"nginx:1.26",os:"ubuntu-latest",release:"2025-04-08T00:00:00+0000",eol:"2028-04-09T00:00:00+0000"}}});var xs=B((T1,Xu)=>{"use strict";var AU="2.0.0",eU=Number.MAX_SAFE_INTEGER||9007199254740991,tU=16,rU=250,sU=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Xu.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:tU,MAX_SAFE_BUILD_LENGTH:rU,MAX_SAFE_INTEGER:eU,RELEASE_TYPES:sU,SEMVER_SPEC_VERSION:AU,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var Ms=B((Y1,Zu)=>{"use strict";var iU=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...A)=>console.error("SEMVER",...A):()=>{};Zu.exports=iU});var Hr=B((Pe,Ku)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Uc,MAX_SAFE_BUILD_LENGTH:nU,MAX_LENGTH:oU}=xs(),aU=Ms();Pe=Ku.exports={};var gU=Pe.re=[],cU=Pe.safeRe=[],p=Pe.src=[],EU=Pe.safeSrc=[],m=Pe.t={},QU=0,Lc="[a-zA-Z0-9-]",CU=[["\\s",1],["\\d",oU],[Lc,nU]],BU=A=>{for(let[e,t]of CU)A=A.split(`${e}*`).join(`${e}{0,${t}}`).split(`${e}+`).join(`${e}{1,${t}}`);return A},x=(A,e,t)=>{let r=BU(e),s=QU++;aU(A,s,e),m[A]=s,p[s]=e,EU[s]=r,gU[s]=new RegExp(e,t?"g":void 0),cU[s]=new RegExp(r,t?"g":void 0)};x("NUMERICIDENTIFIER","0|[1-9]\\d*");x("NUMERICIDENTIFIERLOOSE","\\d+");x("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Lc}*`);x("MAINVERSION",`(${p[m.NUMERICIDENTIFIER]})\\.(${p[m.NUMERICIDENTIFIER]})\\.(${p[m.NUMERICIDENTIFIER]})`);x("MAINVERSIONLOOSE",`(${p[m.NUMERICIDENTIFIERLOOSE]})\\.(${p[m.NUMERICIDENTIFIERLOOSE]})\\.(${p[m.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASEIDENTIFIER",`(?:${p[m.NONNUMERICIDENTIFIER]}|${p[m.NUMERICIDENTIFIER]})`);x("PRERELEASEIDENTIFIERLOOSE",`(?:${p[m.NONNUMERICIDENTIFIER]}|${p[m.NUMERICIDENTIFIERLOOSE]})`);x("PRERELEASE",`(?:-(${p[m.PRERELEASEIDENTIFIER]}(?:\\.${p[m.PRERELEASEIDENTIFIER]})*))`);x("PRERELEASELOOSE",`(?:-?(${p[m.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${p[m.PRERELEASEIDENTIFIERLOOSE]})*))`);x("BUILDIDENTIFIER",`${Lc}+`);x("BUILD",`(?:\\+(${p[m.BUILDIDENTIFIER]}(?:\\.${p[m.BUILDIDENTIFIER]})*))`);x("FULLPLAIN",`v?${p[m.MAINVERSION]}${p[m.PRERELEASE]}?${p[m.BUILD]}?`);x("FULL",`^${p[m.FULLPLAIN]}$`);x("LOOSEPLAIN",`[v=\\s]*${p[m.MAINVERSIONLOOSE]}${p[m.PRERELEASELOOSE]}?${p[m.BUILD]}?`);x("LOOSE",`^${p[m.LOOSEPLAIN]}$`);x("GTLT","((?:<|>)?=?)");x("XRANGEIDENTIFIERLOOSE",`${p[m.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);x("XRANGEIDENTIFIER",`${p[m.NUMERICIDENTIFIER]}|x|X|\\*`);x("XRANGEPLAIN",`[v=\\s]*(${p[m.XRANGEIDENTIFIER]})(?:\\.(${p[m.XRANGEIDENTIFIER]})(?:\\.(${p[m.XRANGEIDENTIFIER]})(?:${p[m.PRERELEASE]})?${p[m.BUILD]}?)?)?`);x("XRANGEPLAINLOOSE",`[v=\\s]*(${p[m.XRANGEIDENTIFIERLOOSE]})(?:\\.(${p[m.XRANGEIDENTIFIERLOOSE]})(?:\\.(${p[m.XRANGEIDENTIFIERLOOSE]})(?:${p[m.PRERELEASELOOSE]})?${p[m.BUILD]}?)?)?`);x("XRANGE",`^${p[m.GTLT]}\\s*${p[m.XRANGEPLAIN]}$`);x("XRANGELOOSE",`^${p[m.GTLT]}\\s*${p[m.XRANGEPLAINLOOSE]}$`);x("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Uc}})(?:\\.(\\d{1,${Uc}}))?(?:\\.(\\d{1,${Uc}}))?`);x("COERCE",`${p[m.COERCEPLAIN]}(?:$|[^\\d])`);x("COERCEFULL",p[m.COERCEPLAIN]+`(?:${p[m.PRERELEASE]})?(?:${p[m.BUILD]})?(?:$|[^\\d])`);x("COERCERTL",p[m.COERCE],!0);x("COERCERTLFULL",p[m.COERCEFULL],!0);x("LONETILDE","(?:~>?)");x("TILDETRIM",`(\\s*)${p[m.LONETILDE]}\\s+`,!0);Pe.tildeTrimReplace="$1~";x("TILDE",`^${p[m.LONETILDE]}${p[m.XRANGEPLAIN]}$`);x("TILDELOOSE",`^${p[m.LONETILDE]}${p[m.XRANGEPLAINLOOSE]}$`);x("LONECARET","(?:\\^)");x("CARETTRIM",`(\\s*)${p[m.LONECARET]}\\s+`,!0);Pe.caretTrimReplace="$1^";x("CARET",`^${p[m.LONECARET]}${p[m.XRANGEPLAIN]}$`);x("CARETLOOSE",`^${p[m.LONECARET]}${p[m.XRANGEPLAINLOOSE]}$`);x("COMPARATORLOOSE",`^${p[m.GTLT]}\\s*(${p[m.LOOSEPLAIN]})$|^$`);x("COMPARATOR",`^${p[m.GTLT]}\\s*(${p[m.FULLPLAIN]})$|^$`);x("COMPARATORTRIM",`(\\s*)${p[m.GTLT]}\\s*(${p[m.LOOSEPLAIN]}|${p[m.XRANGEPLAIN]})`,!0);Pe.comparatorTrimReplace="$1$2$3";x("HYPHENRANGE",`^\\s*(${p[m.XRANGEPLAIN]})\\s+-\\s+(${p[m.XRANGEPLAIN]})\\s*$`);x("HYPHENRANGELOOSE",`^\\s*(${p[m.XRANGEPLAINLOOSE]})\\s+-\\s+(${p[m.XRANGEPLAINLOOSE]})\\s*$`);x("STAR","(<|>)?=?\\s*\\*");x("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");x("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var On=B((q1,zu)=>{"use strict";var IU=Object.freeze({loose:!0}),hU=Object.freeze({}),lU=A=>A?typeof A!="object"?IU:A:hU;zu.exports=lU});var xc=B((v1,e0)=>{"use strict";var $u=/^[0-9]+$/,A0=(A,e)=>{if(typeof A=="number"&&typeof e=="number")return A===e?0:AA0(e,A);e0.exports={compareIdentifiers:A0,rcompareIdentifiers:uU}});var kA=B((G1,r0)=>{"use strict";var Wn=Ms(),{MAX_LENGTH:t0,MAX_SAFE_INTEGER:Pn}=xs(),{safeRe:_n,t:jn}=Hr(),dU=On(),{compareIdentifiers:Mc}=xc(),Tc=class A{constructor(e,t){if(t=dU(t),e instanceof A){if(e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>t0)throw new TypeError(`version is longer than ${t0} characters`);Wn("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let r=e.trim().match(t.loose?_n[jn.LOOSE]:_n[jn.FULL]);if(!r)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+r[1],this.minor=+r[2],this.patch=+r[3],this.major>Pn||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Pn||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Pn||this.patch<0)throw new TypeError("Invalid patch version");r[4]?this.prerelease=r[4].split(".").map(s=>{if(/^[0-9]+$/.test(s)){let i=+s;if(i>=0&&ie.major?1:this.minore.minor?1:this.patche.patch?1:0}comparePre(e){if(e instanceof A||(e=new A(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let t=0;do{let r=this.prerelease[t],s=e.prerelease[t];if(Wn("prerelease compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}compareBuild(e){e instanceof A||(e=new A(e,this.options));let t=0;do{let r=this.build[t],s=e.build[t];if(Wn("build compare",t,r,s),r===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(r===void 0)return-1;if(r===s)continue;return Mc(r,s)}while(++t)}inc(e,t,r){if(e.startsWith("pre")){if(!t&&r===!1)throw new Error("invalid increment argument: identifier is empty");if(t){let s=`-${t}`.match(this.options.loose?_n[jn.PRERELEASELOOSE]:_n[jn.PRERELEASE]);if(!s||s[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,r);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,r);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,r),this.inc("pre",t,r);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",t,r),this.inc("pre",t,r);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let s=Number(r)?1:0;if(this.prerelease.length===0)this.prerelease=[s];else{let i=this.prerelease.length;for(;--i>=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(t===this.prerelease.join(".")&&r===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(s)}}if(t){let i=[t,s];r===!1&&(i=[t]),Mc(this.prerelease[0],t)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};r0.exports=Tc});var _t=B((J1,i0)=>{"use strict";var s0=kA(),fU=(A,e,t=!1)=>{if(A instanceof s0)return A;try{return new s0(A,e)}catch(r){if(!t)return null;throw r}};i0.exports=fU});var o0=B((V1,n0)=>{"use strict";var pU=_t(),mU=(A,e)=>{let t=pU(A,e);return t?t.version:null};n0.exports=mU});var g0=B((H1,a0)=>{"use strict";var yU=_t(),wU=(A,e)=>{let t=yU(A.trim().replace(/^[=v]+/,""),e);return t?t.version:null};a0.exports=wU});var Q0=B((O1,E0)=>{"use strict";var c0=kA(),DU=(A,e,t,r,s)=>{typeof t=="string"&&(s=r,r=t,t=void 0);try{return new c0(A instanceof c0?A.version:A,t).inc(e,r,s).version}catch{return null}};E0.exports=DU});var I0=B((W1,B0)=>{"use strict";var C0=_t(),RU=(A,e)=>{let t=C0(A,null,!0),r=C0(e,null,!0),s=t.compare(r);if(s===0)return null;let i=s>0,n=i?t:r,o=i?r:t,a=!!n.prerelease.length;if(!!o.prerelease.length&&!a){if(!o.patch&&!o.minor)return"major";if(o.compareMain(n)===0)return o.minor&&!o.patch?"minor":"patch"}let c=a?"pre":"";return t.major!==r.major?c+"major":t.minor!==r.minor?c+"minor":t.patch!==r.patch?c+"patch":"prerelease"};B0.exports=RU});var l0=B((P1,h0)=>{"use strict";var bU=kA(),NU=(A,e)=>new bU(A,e).major;h0.exports=NU});var d0=B((_1,u0)=>{"use strict";var kU=kA(),FU=(A,e)=>new kU(A,e).minor;u0.exports=FU});var p0=B((j1,f0)=>{"use strict";var SU=kA(),UU=(A,e)=>new SU(A,e).patch;f0.exports=UU});var y0=B((X1,m0)=>{"use strict";var LU=_t(),xU=(A,e)=>{let t=LU(A,e);return t&&t.prerelease.length?t.prerelease:null};m0.exports=xU});var me=B((Z1,D0)=>{"use strict";var w0=kA(),MU=(A,e,t)=>new w0(A,t).compare(new w0(e,t));D0.exports=MU});var b0=B((K1,R0)=>{"use strict";var TU=me(),YU=(A,e,t)=>TU(e,A,t);R0.exports=YU});var k0=B((z1,N0)=>{"use strict";var qU=me(),vU=(A,e)=>qU(A,e,!0);N0.exports=vU});var Xn=B(($1,S0)=>{"use strict";var F0=kA(),GU=(A,e,t)=>{let r=new F0(A,t),s=new F0(e,t);return r.compare(s)||r.compareBuild(s)};S0.exports=GU});var L0=B((AY,U0)=>{"use strict";var JU=Xn(),VU=(A,e)=>A.sort((t,r)=>JU(t,r,e));U0.exports=VU});var M0=B((eY,x0)=>{"use strict";var HU=Xn(),OU=(A,e)=>A.sort((t,r)=>HU(r,t,e));x0.exports=OU});var Ts=B((tY,T0)=>{"use strict";var WU=me(),PU=(A,e,t)=>WU(A,e,t)>0;T0.exports=PU});var Zn=B((rY,Y0)=>{"use strict";var _U=me(),jU=(A,e,t)=>_U(A,e,t)<0;Y0.exports=jU});var Yc=B((sY,q0)=>{"use strict";var XU=me(),ZU=(A,e,t)=>XU(A,e,t)===0;q0.exports=ZU});var qc=B((iY,v0)=>{"use strict";var KU=me(),zU=(A,e,t)=>KU(A,e,t)!==0;v0.exports=zU});var Kn=B((nY,G0)=>{"use strict";var $U=me(),AL=(A,e,t)=>$U(A,e,t)>=0;G0.exports=AL});var zn=B((oY,J0)=>{"use strict";var eL=me(),tL=(A,e,t)=>eL(A,e,t)<=0;J0.exports=tL});var vc=B((aY,V0)=>{"use strict";var rL=Yc(),sL=qc(),iL=Ts(),nL=Kn(),oL=Zn(),aL=zn(),gL=(A,e,t,r)=>{switch(e){case"===":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A===t;case"!==":return typeof A=="object"&&(A=A.version),typeof t=="object"&&(t=t.version),A!==t;case"":case"=":case"==":return rL(A,t,r);case"!=":return sL(A,t,r);case">":return iL(A,t,r);case">=":return nL(A,t,r);case"<":return oL(A,t,r);case"<=":return aL(A,t,r);default:throw new TypeError(`Invalid operator: ${e}`)}};V0.exports=gL});var O0=B((gY,H0)=>{"use strict";var cL=kA(),EL=_t(),{safeRe:$n,t:Ao}=Hr(),QL=(A,e)=>{if(A instanceof cL)return A;if(typeof A=="number"&&(A=String(A)),typeof A!="string")return null;e=e||{};let t=null;if(!e.rtl)t=A.match(e.includePrerelease?$n[Ao.COERCEFULL]:$n[Ao.COERCE]);else{let a=e.includePrerelease?$n[Ao.COERCERTLFULL]:$n[Ao.COERCERTL],g;for(;(g=a.exec(A))&&(!t||t.index+t[0].length!==A.length);)(!t||g.index+g[0].length!==t.index+t[0].length)&&(t=g),a.lastIndex=g.index+g[1].length+g[2].length;a.lastIndex=-1}if(t===null)return null;let r=t[2],s=t[3]||"0",i=t[4]||"0",n=e.includePrerelease&&t[5]?`-${t[5]}`:"",o=e.includePrerelease&&t[6]?`+${t[6]}`:"";return EL(`${r}.${s}.${i}${n}${o}`,e)};H0.exports=QL});var P0=B((cY,W0)=>{"use strict";var Gc=class{constructor(){this.max=1e3,this.map=new Map}get(e){let t=this.map.get(e);if(t!==void 0)return this.map.delete(e),this.map.set(e,t),t}delete(e){return this.map.delete(e)}set(e,t){if(!this.delete(e)&&t!==void 0){if(this.map.size>=this.max){let s=this.map.keys().next().value;this.delete(s)}this.map.set(e,t)}return this}};W0.exports=Gc});var ye=B((EY,Z0)=>{"use strict";var CL=/\s+/g,Jc=class A{constructor(e,t){if(t=IL(t),e instanceof A)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new A(e.raw,t);if(e instanceof Vc)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e.trim().replace(CL," "),this.set=this.raw.split("||").map(r=>this.parseRange(r.trim())).filter(r=>r.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let r=this.set[0];if(this.set=this.set.filter(s=>!j0(s[0])),this.set.length===0)this.set=[r];else if(this.set.length>1){for(let s of this.set)if(s.length===1&&mL(s[0])){this.set=[s];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e0&&(this.formatted+="||");let t=this.set[e];for(let r=0;r0&&(this.formatted+=" "),this.formatted+=t[r].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let r=((this.options.includePrerelease&&fL)|(this.options.loose&&pL))+":"+e,s=_0.get(r);if(s)return s;let i=this.options.loose,n=i?qA[FA.HYPHENRANGELOOSE]:qA[FA.HYPHENRANGE];e=e.replace(n,UL(this.options.includePrerelease)),tA("hyphen replace",e),e=e.replace(qA[FA.COMPARATORTRIM],lL),tA("comparator trim",e),e=e.replace(qA[FA.TILDETRIM],uL),tA("tilde trim",e),e=e.replace(qA[FA.CARETTRIM],dL),tA("caret trim",e);let o=e.split(" ").map(E=>yL(E,this.options)).join(" ").split(/\s+/).map(E=>SL(E,this.options));i&&(o=o.filter(E=>(tA("loose invalid filter",E,this.options),!!E.match(qA[FA.COMPARATORLOOSE])))),tA("range list",o);let a=new Map,g=o.map(E=>new Vc(E,this.options));for(let E of g){if(j0(E))return[E];a.set(E.value,E)}a.size>1&&a.has("")&&a.delete("");let c=[...a.values()];return _0.set(r,c),c}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Range is required");return this.set.some(r=>X0(r,t)&&e.set.some(s=>X0(s,t)&&r.every(i=>s.every(n=>i.intersects(n,t)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new hL(e,this.options)}catch{return!1}for(let t=0;tA.value==="<0.0.0-0",mL=A=>A.value==="",X0=(A,e)=>{let t=!0,r=A.slice(),s=r.pop();for(;t&&r.length;)t=r.every(i=>s.intersects(i,e)),s=r.pop();return t},yL=(A,e)=>(A=A.replace(qA[FA.BUILD],""),tA("comp",A,e),A=RL(A,e),tA("caret",A),A=wL(A,e),tA("tildes",A),A=NL(A,e),tA("xrange",A),A=FL(A,e),tA("stars",A),A),vA=A=>!A||A.toLowerCase()==="x"||A==="*",wL=(A,e)=>A.trim().split(/\s+/).map(t=>DL(t,e)).join(" "),DL=(A,e)=>{let t=e.loose?qA[FA.TILDELOOSE]:qA[FA.TILDE];return A.replace(t,(r,s,i,n,o)=>{tA("tilde",A,r,s,i,n,o);let a;return vA(s)?a="":vA(i)?a=`>=${s}.0.0 <${+s+1}.0.0-0`:vA(n)?a=`>=${s}.${i}.0 <${s}.${+i+1}.0-0`:o?(tA("replaceTilde pr",o),a=`>=${s}.${i}.${n}-${o} <${s}.${+i+1}.0-0`):a=`>=${s}.${i}.${n} <${s}.${+i+1}.0-0`,tA("tilde return",a),a})},RL=(A,e)=>A.trim().split(/\s+/).map(t=>bL(t,e)).join(" "),bL=(A,e)=>{tA("caret",A,e);let t=e.loose?qA[FA.CARETLOOSE]:qA[FA.CARET],r=e.includePrerelease?"-0":"";return A.replace(t,(s,i,n,o,a)=>{tA("caret",A,s,i,n,o,a);let g;return vA(i)?g="":vA(n)?g=`>=${i}.0.0${r} <${+i+1}.0.0-0`:vA(o)?i==="0"?g=`>=${i}.${n}.0${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.0${r} <${+i+1}.0.0-0`:a?(tA("replaceCaret pr",a),i==="0"?n==="0"?g=`>=${i}.${n}.${o}-${a} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}-${a} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o}-${a} <${+i+1}.0.0-0`):(tA("no pr"),i==="0"?n==="0"?g=`>=${i}.${n}.${o}${r} <${i}.${n}.${+o+1}-0`:g=`>=${i}.${n}.${o}${r} <${i}.${+n+1}.0-0`:g=`>=${i}.${n}.${o} <${+i+1}.0.0-0`),tA("caret return",g),g})},NL=(A,e)=>(tA("replaceXRanges",A,e),A.split(/\s+/).map(t=>kL(t,e)).join(" ")),kL=(A,e)=>{A=A.trim();let t=e.loose?qA[FA.XRANGELOOSE]:qA[FA.XRANGE];return A.replace(t,(r,s,i,n,o,a)=>{tA("xRange",A,r,s,i,n,o,a);let g=vA(i),c=g||vA(n),E=c||vA(o),Q=E;return s==="="&&Q&&(s=""),a=e.includePrerelease?"-0":"",g?s===">"||s==="<"?r="<0.0.0-0":r="*":s&&Q?(c&&(n=0),o=0,s===">"?(s=">=",c?(i=+i+1,n=0,o=0):(n=+n+1,o=0)):s==="<="&&(s="<",c?i=+i+1:n=+n+1),s==="<"&&(a="-0"),r=`${s+i}.${n}.${o}${a}`):c?r=`>=${i}.0.0${a} <${+i+1}.0.0-0`:E&&(r=`>=${i}.${n}.0${a} <${i}.${+n+1}.0-0`),tA("xRange return",r),r})},FL=(A,e)=>(tA("replaceStars",A,e),A.trim().replace(qA[FA.STAR],"")),SL=(A,e)=>(tA("replaceGTE0",A,e),A.trim().replace(qA[e.includePrerelease?FA.GTE0PRE:FA.GTE0],"")),UL=A=>(e,t,r,s,i,n,o,a,g,c,E,Q)=>(vA(r)?t="":vA(s)?t=`>=${r}.0.0${A?"-0":""}`:vA(i)?t=`>=${r}.${s}.0${A?"-0":""}`:n?t=`>=${t}`:t=`>=${t}${A?"-0":""}`,vA(g)?a="":vA(c)?a=`<${+g+1}.0.0-0`:vA(E)?a=`<${g}.${+c+1}.0-0`:Q?a=`<=${g}.${c}.${E}-${Q}`:A?a=`<${g}.${c}.${+E+1}-0`:a=`<=${a}`,`${t} ${a}`.trim()),LL=(A,e,t)=>{for(let r=0;r0){let s=A[r].semver;if(s.major===e.major&&s.minor===e.minor&&s.patch===e.patch)return!0}return!1}return!0}});var Ys=B((QY,td)=>{"use strict";var qs=Symbol("SemVer ANY"),Wc=class A{static get ANY(){return qs}constructor(e,t){if(t=K0(t),e instanceof A){if(e.loose===!!t.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),Oc("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===qs?this.value="":this.value=this.operator+this.semver.version,Oc("comp",this)}parse(e){let t=this.options.loose?z0[$0.COMPARATORLOOSE]:z0[$0.COMPARATOR],r=e.match(t);if(!r)throw new TypeError(`Invalid comparator: ${e}`);this.operator=r[1]!==void 0?r[1]:"",this.operator==="="&&(this.operator=""),r[2]?this.semver=new Ad(r[2],this.options.loose):this.semver=qs}toString(){return this.value}test(e){if(Oc("Comparator.test",e,this.options.loose),this.semver===qs||e===qs)return!0;if(typeof e=="string")try{e=new Ad(e,this.options)}catch{return!1}return Hc(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new ed(e.value,t).test(this.value):e.operator===""?e.value===""?!0:new ed(this.value,t).test(e.semver):(t=K0(t),t.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||Hc(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||Hc(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};td.exports=Wc;var K0=On(),{safeRe:z0,t:$0}=Hr(),Hc=vc(),Oc=Ms(),Ad=kA(),ed=ye()});var vs=B((CY,rd)=>{"use strict";var xL=ye(),ML=(A,e,t)=>{try{e=new xL(e,t)}catch{return!1}return e.test(A)};rd.exports=ML});var id=B((BY,sd)=>{"use strict";var TL=ye(),YL=(A,e)=>new TL(A,e).set.map(t=>t.map(r=>r.value).join(" ").trim().split(" "));sd.exports=YL});var od=B((IY,nd)=>{"use strict";var qL=kA(),vL=ye(),GL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new vL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===-1)&&(r=n,s=new qL(r,t))}),r};nd.exports=GL});var gd=B((hY,ad)=>{"use strict";var JL=kA(),VL=ye(),HL=(A,e,t)=>{let r=null,s=null,i=null;try{i=new VL(e,t)}catch{return null}return A.forEach(n=>{i.test(n)&&(!r||s.compare(n)===1)&&(r=n,s=new JL(r,t))}),r};ad.exports=HL});var Qd=B((lY,Ed)=>{"use strict";var Pc=kA(),OL=ye(),cd=Ts(),WL=(A,e)=>{A=new OL(A,e);let t=new Pc("0.0.0");if(A.test(t)||(t=new Pc("0.0.0-0"),A.test(t)))return t;t=null;for(let r=0;r{let o=new Pc(n.semver.version);switch(n.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!i||cd(o,i))&&(i=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${n.operator}`)}}),i&&(!t||cd(t,i))&&(t=i)}return t&&A.test(t)?t:null};Ed.exports=WL});var Bd=B((uY,Cd)=>{"use strict";var PL=ye(),_L=(A,e)=>{try{return new PL(A,e).range||"*"}catch{return null}};Cd.exports=_L});var eo=B((dY,ud)=>{"use strict";var jL=kA(),ld=Ys(),{ANY:XL}=ld,ZL=ye(),KL=vs(),Id=Ts(),hd=Zn(),zL=zn(),$L=Kn(),Ax=(A,e,t,r)=>{A=new jL(A,r),e=new ZL(e,r);let s,i,n,o,a;switch(t){case">":s=Id,i=zL,n=hd,o=">",a=">=";break;case"<":s=hd,i=$L,n=Id,o="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(KL(A,e,r))return!1;for(let g=0;g{C.semver===XL&&(C=new ld(">=0.0.0")),E=E||C,Q=Q||C,s(C.semver,E.semver,r)?E=C:n(C.semver,Q.semver,r)&&(Q=C)}),E.operator===o||E.operator===a||(!Q.operator||Q.operator===o)&&i(A,Q.semver))return!1;if(Q.operator===a&&n(A,Q.semver))return!1}return!0};ud.exports=Ax});var fd=B((fY,dd)=>{"use strict";var ex=eo(),tx=(A,e,t)=>ex(A,e,">",t);dd.exports=tx});var md=B((pY,pd)=>{"use strict";var rx=eo(),sx=(A,e,t)=>rx(A,e,"<",t);pd.exports=sx});var Dd=B((mY,wd)=>{"use strict";var yd=ye(),ix=(A,e,t)=>(A=new yd(A,t),e=new yd(e,t),A.intersects(e,t));wd.exports=ix});var bd=B((yY,Rd)=>{"use strict";var nx=vs(),ox=me();Rd.exports=(A,e,t)=>{let r=[],s=null,i=null,n=A.sort((c,E)=>ox(c,E,t));for(let c of n)nx(c,e,t)?(i=c,s||(s=c)):(i&&r.push([s,i]),i=null,s=null);s&&r.push([s,null]);let o=[];for(let[c,E]of r)c===E?o.push(c):!E&&c===n[0]?o.push("*"):E?c===n[0]?o.push(`<=${E}`):o.push(`${c} - ${E}`):o.push(`>=${c}`);let a=o.join(" || "),g=typeof e.raw=="string"?e.raw:String(e);return a.length{"use strict";var Nd=ye(),jc=Ys(),{ANY:_c}=jc,Gs=vs(),Xc=me(),ax=(A,e,t={})=>{if(A===e)return!0;A=new Nd(A,t),e=new Nd(e,t);let r=!1;A:for(let s of A.set){for(let i of e.set){let n=cx(s,i,t);if(r=r||n!==null,n)continue A}if(r)return!1}return!0},gx=[new jc(">=0.0.0-0")],kd=[new jc(">=0.0.0")],cx=(A,e,t)=>{if(A===e)return!0;if(A.length===1&&A[0].semver===_c){if(e.length===1&&e[0].semver===_c)return!0;t.includePrerelease?A=gx:A=kd}if(e.length===1&&e[0].semver===_c){if(t.includePrerelease)return!0;e=kd}let r=new Set,s,i;for(let C of A)C.operator===">"||C.operator===">="?s=Fd(s,C,t):C.operator==="<"||C.operator==="<="?i=Sd(i,C,t):r.add(C.semver);if(r.size>1)return null;let n;if(s&&i){if(n=Xc(s.semver,i.semver,t),n>0)return null;if(n===0&&(s.operator!==">="||i.operator!=="<="))return null}for(let C of r){if(s&&!Gs(C,String(s),t)||i&&!Gs(C,String(i),t))return null;for(let I of e)if(!Gs(C,String(I),t))return!1;return!0}let o,a,g,c,E=i&&!t.includePrerelease&&i.semver.prerelease.length?i.semver:!1,Q=s&&!t.includePrerelease&&s.semver.prerelease.length?s.semver:!1;E&&E.prerelease.length===1&&i.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let C of e){if(c=c||C.operator===">"||C.operator===">=",g=g||C.operator==="<"||C.operator==="<=",s){if(Q&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===Q.major&&C.semver.minor===Q.minor&&C.semver.patch===Q.patch&&(Q=!1),C.operator===">"||C.operator===">="){if(o=Fd(s,C,t),o===C&&o!==s)return!1}else if(s.operator===">="&&!Gs(s.semver,String(C),t))return!1}if(i){if(E&&C.semver.prerelease&&C.semver.prerelease.length&&C.semver.major===E.major&&C.semver.minor===E.minor&&C.semver.patch===E.patch&&(E=!1),C.operator==="<"||C.operator==="<="){if(a=Sd(i,C,t),a===C&&a!==i)return!1}else if(i.operator==="<="&&!Gs(i.semver,String(C),t))return!1}if(!C.operator&&(i||s)&&n!==0)return!1}return!(s&&g&&!i&&n!==0||i&&c&&!s&&n!==0||Q||E)},Fd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r>0?A:r<0||e.operator===">"&&A.operator===">="?e:A},Sd=(A,e,t)=>{if(!A)return e;let r=Xc(A.semver,e.semver,t);return r<0?A:r>0||e.operator==="<"&&A.operator==="<="?e:A};Ud.exports=ax});var Yd=B((DY,Td)=>{"use strict";var Zc=Hr(),xd=xs(),Ex=kA(),Md=xc(),Qx=_t(),Cx=o0(),Bx=g0(),Ix=Q0(),hx=I0(),lx=l0(),ux=d0(),dx=p0(),fx=y0(),px=me(),mx=b0(),yx=k0(),wx=Xn(),Dx=L0(),Rx=M0(),bx=Ts(),Nx=Zn(),kx=Yc(),Fx=qc(),Sx=Kn(),Ux=zn(),Lx=vc(),xx=O0(),Mx=Ys(),Tx=ye(),Yx=vs(),qx=id(),vx=od(),Gx=gd(),Jx=Qd(),Vx=Bd(),Hx=eo(),Ox=fd(),Wx=md(),Px=Dd(),_x=bd(),jx=Ld();Td.exports={parse:Qx,valid:Cx,clean:Bx,inc:Ix,diff:hx,major:lx,minor:ux,patch:dx,prerelease:fx,compare:px,rcompare:mx,compareLoose:yx,compareBuild:wx,sort:Dx,rsort:Rx,gt:bx,lt:Nx,eq:kx,neq:Fx,gte:Sx,lte:Ux,cmp:Lx,coerce:xx,Comparator:Mx,Range:Tx,satisfies:Yx,toComparators:qx,maxSatisfying:vx,minSatisfying:Gx,minVersion:Jx,validRange:Vx,outside:Hx,gtr:Ox,ltr:Wx,intersects:Px,simplifyRange:_x,subset:jx,SemVer:Ex,re:Zc.re,src:Zc.src,tokens:Zc.t,SEMVER_SPEC_VERSION:xd.SEMVER_SPEC_VERSION,RELEASE_TYPES:xd.RELEASE_TYPES,compareIdentifiers:Md.compareIdentifiers,rcompareIdentifiers:Md.rcompareIdentifiers}});var zx={};rf(zx,{run:()=>Zd});module.exports=sf(zx);var _e=AE(hc());var xu=(A,e)=>{if(e&&A!=="custom")throw new Error("`custom_versions` can only be used with kind `custom`");return!0};var Fc={"currently-supported":!0,latest:!0,custom:!0,usable:!0,nightly:!0,recent:!0,all:!0};var Mu=A=>{if(!(A in Fc))throw new Error(`Invalid kind provided, supported kinds are: ${Object.keys(Fc).join(", ")}`);return!0};var Tu=(A,e=null)=>_2.reduce((t,r)=>r(A,e),!0),_2=[Mu,xu];var Sc={"mage-os":!0,"magento-open-source":!0};var Yu=A=>{if(!(A in Sc))throw new Error(`Invalid project provided, supported projects are: ${Object.keys(Sc).join(", ")}`);return!0};var Ls=A=>Yu(A);var Vu={"mage-os":qu(),"magento-open-source":vu()},Hu={"mage-os":Gu(),"magento-open-source":Ju()},We=A=>{if(Ls(A),Vu[A]===void 0)throw new Error(`Project "${A}" has no individual version specifications`);return Vu[A]},Ou=A=>{if(Ls(A),Hu[A]===void 0)throw new Error(`Project "${A}" has no composite version specifications`);return Hu[A]};var Dt=(A,e)=>{let t={...We(A),...Ou(A)};return e.reduce((r,s)=>{if(t[s]===void 0)throw new Error(`Unknown "${s}" version while computing matrix`);return{magento:[...r.magento,s],include:[...r.include,t[s]]}},{magento:[],include:[]})};var Wu={"mage-os":["mage-os/project-community-edition"],"magento-open-source":["magento/project-community-edition"]};var Pu={"mage-os":["mage-os/project-community-edition:next"],"magento-open-source":["magento/project-community-edition:next"]};var _u=(A=new Date)=>{let e=new Date(A);return e.setDate(e.getDate()-1),e};var ju=(A,e)=>{let t=We(A);return Object.entries(t).filter(([r,s])=>{let i=new Date(s.release);return i.setSeconds(i.getSeconds()+1),e>=i&&new Date(s.eol)>=e}).map(([r,s])=>r)};var Kc=AE(Yd()),qd=A=>{let e=We(A);return Object.entries(e).filter(([t,r])=>{let s=Kc.default.coerce(r.composer.toString());return!(s&&Kc.default.lt(s,"2.0.0"))}).map(([t,r])=>t)};var vd=(A,e)=>{switch(A){case"https://nightly.mage-os.org":case"https://upstream-nightly.mage-os.org":return"@alpha";default:return"next"}};var zc=(A,e,t)=>A.replace(/(?!:)next$/,vd(e,t));var Xx="next",Gd=(A,e,t=new Date)=>{let r=new RegExp(Xx+"$");return A.magento=A.magento.map(s=>s.match(r)?zc(s,e,t):s),A.include=A.include.map(s=>s.magento.match(r)?{...s,magento:zc(s.magento,e,t)}:s),A};var Jd=(A,e,t)=>{let r=/(?:(\d+)\s*y)?\s*(?:(\d+)\s*m)?\s*(?:(\d+)\s*d)?/i,s=t.match(r);if(!s)throw new Error(`Invalid duration string: ${t}`);let i=parseInt(s[1]||"0",10),n=parseInt(s[2]||"0",10),o=parseInt(s[3]||"0",10),a=We(A);return Object.entries(a).filter(([g,c])=>{let E=new Date(c.release);E.setSeconds(E.getSeconds()+1);let Q=new Date(c.release);return Q.setFullYear(Q.getFullYear()+i),Q.setMonth(Q.getMonth()+n),Q.setDate(Q.getDate()+o),e>=E&&e<=Q}).map(([g,c])=>g)};var Vd=(A,e,t="",r="2y")=>{switch(A){case"latest":return Dt(e,Wu[e]);case"currently-supported":return Dt(e,ju(e,new Date));case"usable":return Dt(e,qd(e));case"nightly":return Gd(Dt(e,Pu[e]),"https://upstream-nightly.mage-os.org",_u());case"all":return Dt(e,Object.keys(We(e)));case"custom":return Dt(e,t.split(","));case"recent":return Dt(e,Jd(e,new Date,r));default:throw new Error(`Unreachable kind: ${A} discovered, please report to the maintainers.`)}};var Hd={getConfig(A){return{image:A,env:{MYSQL_DATABASE:"magento_integration_tests",MYSQL_USER:"user",MYSQL_PASSWORD:"password",MYSQL_ROOT_PASSWORD:"rootpassword"},ports:["3306:3306"],options:'--health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3'}}},Od={getConfig(A){return{image:A,env:{"discovery.type":"single-node","xpack.security.enabled":"false","xpack.security.http.ssl.enabled":"false","xpack.security.transport.ssl.enabled":"false"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Wd={getConfig(A){return{image:A,env:{"discovery.type":"single-node",DISABLE_INSTALL_DEMO_CONFIG:"true",DISABLE_SECURITY_PLUGIN:"true"},ports:["9200:9200"],options:'--health-cmd "curl http://localhost:9200/_cluster/health" --health-interval 10s --health-timeout 5s --health-retries 10'}}},Pd={getConfig(A){return{image:A,env:{RABBITMQ_DEFAULT_USER:"guest",RABBITMQ_DEFAULT_PASS:"guest"},ports:["5672:5672"]}}},_d={getConfig(A){return{image:A,ports:["6379:6379"]}}},jd={getConfig(A){return{image:A,ports:["6379:6379"]}}};function Zx(A){return A.opensearch&&A.opensearch.trim()!==""?{type:"opensearch",image:A.opensearch}:A.elasticsearch&&A.elasticsearch.trim()!==""?{type:"elasticsearch",image:A.elasticsearch}:null}function Kx(A){return A.valkey&&A.valkey.trim()!==""?{type:"valkey",image:A.valkey}:A.redis&&A.redis.trim()!==""?{type:"redis",image:A.redis}:null}function Xd(A){let e={};A.mysql&&A.mysql.trim()!==""&&(e.mysql=Hd.getConfig(A.mysql));let t=Zx(A);t&&(t.type==="opensearch"?e.opensearch=Wd.getConfig(t.image):e.elasticsearch=Od.getConfig(t.image)),A.rabbitmq&&A.rabbitmq.trim()!==""&&(e.rabbitmq=Pd.getConfig(A.rabbitmq));let r=Kx(A);return r&&(r.type==="valkey"?e.valkey=jd.getConfig(r.image):e.redis=_d.getConfig(r.image)),e}async function Zd(){try{let A=_e.getInput("kind"),e=_e.getInput("custom_versions"),t=_e.getInput("project"),r=_e.getInput("recent_time_frame"),s=_e.getInput("include_services")==="true";Ls(t),Tu(A,e?e.split(","):void 0);let i=Vd(A,t,e,r);s&&(i={magento:i.magento,include:i.include.map(n=>({...n,services:Xd(n)}))}),_e.setOutput("matrix",i)}catch(A){_e.setFailed(A.message)}}Zd();0&&(module.exports={run}); /*! Bundled license information: undici/lib/fetch/body.js: diff --git a/supported-version/src/matrix/get-matrix-for-kind.spec.ts b/supported-version/src/matrix/get-matrix-for-kind.spec.ts index 7482ccf..83a096a 100644 --- a/supported-version/src/matrix/get-matrix-for-kind.spec.ts +++ b/supported-version/src/matrix/get-matrix-for-kind.spec.ts @@ -11,6 +11,13 @@ describe('getMatrixForKind for mage-os', () => { expect(result.include).toBeDefined(); }); + it('returns a single-element matrix for with a matrix "magento" for `latest`', () => { + const result = getMatrixForKind("latest", project); + expect(result.magento.length).toEqual(1); + expect(result.include.length).toEqual(1); + expect(result.magento[0]).toEqual(result.include[0].magento); + }); + it('returns a matrix for `currently-supported`', () => { const result = getMatrixForKind("currently-supported", project); @@ -46,6 +53,13 @@ describe('getMatrixForKind for mage-os', () => { expect(result.magento).toBeDefined(); expect(result.include).toBeDefined(); }); + + it('returns a single-element matrix for with a matrix "magento" for `nightly`', () => { + const result = getMatrixForKind("nightly", project); + expect(result.magento.length).toEqual(1); + expect(result.include.length).toEqual(1); + expect(result.magento[0]).toEqual(result.include[0].magento); + }); it('errors for invalid `custom``', () => { expect(() => getMatrixForKind("custom", project)).toThrowError(); @@ -64,11 +78,18 @@ describe('getMatrixForKind for magento-open-source', () => { it('returns a matrix for `latest`', () => { const result = getMatrixForKind("latest", project); - + console.log(result); expect(result.magento).toBeDefined(); expect(result.include).toBeDefined(); }); + it('returns a single-element matrix for with a matrix "magento" for `latest`', () => { + const result = getMatrixForKind("latest", project); + expect(result.magento.length).toEqual(1); + expect(result.include.length).toEqual(1); + expect(result.magento[0]).toEqual(result.include[0].magento); + }); + it('returns a matrix for `currently-supported`', () => { const result = getMatrixForKind("currently-supported", project); @@ -97,6 +118,13 @@ describe('getMatrixForKind for magento-open-source', () => { expect(result.include).toBeDefined(); }); + it('returns a single-element matrix for with a matrix "magento" for `nightly`', () => { + const result = getMatrixForKind("nightly", project); + expect(result.magento.length).toEqual(1); + expect(result.include.length).toEqual(1); + expect(result.magento[0]).toEqual(result.include[0].magento); + }); + it('returns a matrix for valid multiple `custom`', () => { const result = getMatrixForKind("custom", project, "magento/project-community-edition:2.4.2,magento/project-community-edition:2.4.3"); diff --git a/supported-version/src/versions/magento-open-source/composite.json b/supported-version/src/versions/magento-open-source/composite.json index 109656b..89201e3 100644 --- a/supported-version/src/versions/magento-open-source/composite.json +++ b/supported-version/src/versions/magento-open-source/composite.json @@ -142,7 +142,7 @@ "eol": "2028-04-09T00:00:00+0000" }, "magento/project-community-edition": { - "magento": "magento/project-community-edition:>=2.4.8 <2.4.9", + "magento": "magento/project-community-edition", "php": 8.4, "composer": "2.8.8", "mysql": "mysql:8.4", @@ -158,7 +158,7 @@ "eol": "2028-04-09T00:00:00+0000" }, "magento/project-community-edition:next": { - "magento": "magento/project-community-edition:>=2.4.8 <2.4.9", + "magento": "magento/project-community-edition:@alpha", "php": 8.4, "composer": "2.8.8", "mysql": "mysql:8.4",